{"version":3,"file":"static/js/chunk-mix1.b4ec5a40.chunk.js","mappings":"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","sources":["components/BrandUpload/index.tsx","components/HotQuestions/index.tsx","components/Modal/Modal.tsx","components/Modal/Confirm.tsx","components/Modal/LoginToContinueModal.tsx","components/Modal/index.tsx","components/QuestionList/index.tsx","components/SchemaForm/components/Legend.tsx","components/SchemaForm/components/Select.tsx","components/SchemaForm/components/Check.tsx","components/SchemaForm/components/Switch.tsx","components/TimeZonePicker/index.tsx","components/SchemaForm/components/Timezone.tsx","components/SchemaForm/components/Upload.tsx","components/SchemaForm/components/Textarea.tsx","components/SchemaForm/components/Input.tsx","components/SchemaForm/components/Button.tsx","components/SchemaForm/components/InputGroup.tsx","components/SchemaForm/index.tsx","components/Avatar/index.tsx","components/PluginRender/index.tsx","components/Editor/EditorContext.ts","components/Editor/toolItem.tsx","components/Editor/ToolBars/table.tsx","components/Editor/ToolBars/ol.tsx","components/Editor/ToolBars/ul.tsx","components/Editor/ToolBars/indent.tsx","components/Editor/ToolBars/outdent.tsx","components/Editor/ToolBars/hr.tsx","components/Editor/ToolBars/heading.tsx","components/Editor/ToolBars/bold.tsx","components/Editor/ToolBars/italic.tsx","components/Editor/Select/index.tsx","components/Editor/ToolBars/code.tsx","components/Editor/ToolBars/link.tsx","components/Editor/ToolBars/blockquote.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabPane.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tabs.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tab.js","components/Editor/ToolBars/image.tsx","components/Editor/ToolBars/help.tsx","components/Editor/utils/extension.ts","components/Editor/utils/index.ts","components/ImgViewer/index.tsx","components/Editor/Viewer.tsx","components/Editor/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Navbar.js","components/Header/components/NavItems/index.tsx","components/Header/index.tsx","components/Footer/index.tsx","components/Icon/index.tsx","components/Icon/svg.tsx","components/TagSelector/index.tsx","components/Unactivate/index.tsx","components/UploadImg/index.tsx","components/Actions/index.tsx","components/Tag/index.tsx","components/Share/index.tsx","components/Operate/index.tsx","components/UserCard/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PageItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Pagination.js","components/Pagination/index.tsx","components/Comment/components/Form/index.tsx","components/Comment/components/ActionBar/index.tsx","components/Comment/components/Reply/index.tsx","components/Comment/index.tsx","components/TextArea/index.tsx","components/Mentions/index.tsx","components/FormatTime/index.tsx","components/Toast/index.tsx","components/AccordionNav/index.tsx","components/Empty/index.tsx","components/BaseUserCard/index.tsx","components/FollowingTags/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/types.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownButton.js","components/QueryGroup/index.tsx","components/DiffContent/index.tsx","components/Customize/index.tsx","components/CustomizeTheme/index.tsx","components/PageTags/index.tsx","components/QuestionListLoader/index.tsx","components/TagsLoader/index.tsx","components/WelcomeTitle/index.tsx","components/Counts/index.tsx","components/HttpErrorContent/index.tsx","components/CustomSidebar/index.tsx","components/SideNav/index.tsx","components/HighlightText/index.tsx","pages/Questions/Detail/components/Reactions/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Accordion.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Button.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ButtonGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImg.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Card.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Col.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Collapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Container.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Fade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Feedback.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormRange.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Switch.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Form.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormControl.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Modal.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Nav.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Overlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Popover.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Spinner.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Stack.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Toast.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/helpers.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js"],"sourcesContent":["/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ButtonGroup, Button } from 'react-bootstrap';\n\nimport classNames from 'classnames';\n\nimport { Icon, UploadImg } from '@/components';\nimport { UploadType } from '@/common/interface';\n\ninterface Props {\n type: UploadType;\n value: string;\n onChange: (value: string) => void;\n acceptType?: string;\n readOnly?: boolean;\n imgClassNames?: classNames.Argument;\n}\n\nconst Index: FC = ({\n type = 'post',\n value,\n onChange,\n acceptType,\n readOnly = false,\n imgClassNames = '',\n}) => {\n const onUpload = (imgPath: string) => {\n onChange(imgPath);\n };\n\n const onRemove = () => {\n onChange('');\n };\n return (\n
\n
\n \n
\n \n \n \n \n\n \n \n \n \n
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Card, ListGroup, ListGroupItem } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport { Icon } from '@/components';\nimport { useHotQuestions } from '@/services';\n\nconst HotQuestions: FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const { data: questionRes } = useHotQuestions();\n if (!questionRes?.list?.length) {\n return null;\n }\n return (\n \n \n {t('hot_questions')}\n \n \n {questionRes?.list?.map((li) => {\n return (\n \n
{li.title}
\n {li.answer_count > 0 ? (\n 0\n ? 'link-success'\n : 'link-secondary'\n }`}>\n {li.accepted_answer_id >= 1 ? (\n \n ) : (\n \n )}\n \n {t('x_answers', { count: li.answer_count })}\n \n \n ) : null}\n \n );\n })}\n
\n
\n );\n};\nexport default HotQuestions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Button, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nexport interface Props {\n /** header title */\n title?: string;\n children?: React.ReactNode;\n /** visible */\n visible?: boolean;\n centered?: boolean;\n onCancel?: () => void;\n onConfirm?: (event: any) => void;\n cancelText?: string;\n showCancel?: boolean;\n cancelBtnVariant?: string;\n confirmText?: string;\n showConfirm?: boolean;\n confirmBtnDisabled?: boolean;\n confirmBtnVariant?: string;\n /** body style */\n bodyClass?: string;\n scrollable?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n title = 'title',\n visible = false,\n centered = true,\n onCancel,\n children,\n onConfirm,\n cancelText = '',\n showCancel = true,\n cancelBtnVariant = 'primary',\n confirmText = '',\n showConfirm = true,\n confirmBtnVariant = 'link',\n confirmBtnDisabled = false,\n bodyClass = '',\n scrollable = false,\n className = '',\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {title || t('title', { keyPrefix: 'modal_confirm' })}\n \n \n {children}\n {(showCancel || showConfirm) && (\n \n {showCancel && (\n \n )}\n {showConfirm && (\n {\n onConfirm?.(event);\n }}\n id=\"ok_button\"\n disabled={confirmBtnDisabled}>\n {confirmText === 'OK'\n ? t('btns.ok')\n : confirmText || t('btns.confirm')}\n \n )}\n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport * as React from 'react';\n\nimport ReactDOM from 'react-dom/client';\n\nimport Modal from './Modal';\nimport type { Props } from './Modal';\n\nconst div = document.createElement('div');\n\nconst root = ReactDOM.createRoot(div);\n\nexport interface Config extends Props {\n content: string;\n}\n\nconst Index = ({\n title = '',\n confirmText = '',\n content,\n onCancel: onClose,\n onConfirm,\n cancelBtnVariant = 'link',\n confirmBtnVariant = 'primary',\n ...props\n}: Config) => {\n const onCancel = () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n render({ visible: false });\n div.remove();\n };\n const onOk = (e) => {\n if (typeof onConfirm === 'function') {\n onConfirm(e);\n }\n onCancel();\n };\n function render({ visible }: { visible: boolean }) {\n root.render(\n \n

\n ,\n );\n }\n render({ visible: true });\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\nimport { Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport { loginToContinueStore, siteInfoStore } from '@/stores';\nimport { floppyNavigation } from '@/utils';\nimport { WelcomeTitle } from '@/components';\n\nimport './login.scss';\n\ninterface IProps {\n visible: boolean;\n}\n\nconst Index: React.FC = ({ visible = false }) => {\n const { t } = useTranslation('translation', { keyPrefix: 'login' });\n const { update: updateStore } = loginToContinueStore();\n const { siteInfo } = siteInfoStore((_) => _);\n const closeModal = () => {\n updateStore({ show: false });\n };\n const linkClick = (evt) => {\n evt.stopPropagation();\n floppyNavigation.storageLoginRedirect();\n closeModal();\n };\n return (\n \n \n {t('login_to_continue')}\n \n \n

\n \n

{siteInfo.description}

\n
\n
\n \n {t('login', { keyPrefix: 'btns' })}\n \n \n {t('signup', { keyPrefix: 'btns' })}\n \n
\n \n \n );\n};\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport DefaultModal from './Modal';\nimport confirm, { Config } from './Confirm';\nimport LoginToContinueModal from './LoginToContinueModal';\n\ntype ModalType = typeof DefaultModal & {\n confirm: (config: Config) => void;\n};\nconst Modal = DefaultModal as ModalType;\n\nModal.confirm = function (props: Config) {\n return confirm(props);\n};\n\nexport default Modal;\n\nexport { LoginToContinueModal };\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ListGroup } from 'react-bootstrap';\nimport { NavLink, useSearchParams } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport {\n Tag,\n Pagination,\n FormatTime,\n Empty,\n BaseUserCard,\n QueryGroup,\n QuestionListLoader,\n Counts,\n Icon,\n} from '@/components';\nimport * as Type from '@/common/interface';\nimport { useSkeletonControl } from '@/hooks';\n\nexport const QUESTION_ORDER_KEYS: Type.QuestionOrderBy[] = [\n 'newest',\n 'active',\n 'hot',\n 'score',\n 'unanswered',\n];\ninterface Props {\n source: 'questions' | 'tag';\n order?: Type.QuestionOrderBy;\n data;\n isLoading: boolean;\n}\n\nconst QuestionList: FC = ({\n source,\n order,\n data,\n isLoading = false,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const [urlSearchParams] = useSearchParams();\n const { isSkeletonShow } = useSkeletonControl(isLoading);\n const curOrder =\n order || urlSearchParams.get('order') || QUESTION_ORDER_KEYS[0];\n const curPage = Number(urlSearchParams.get('page')) || 1;\n const pageSize = 20;\n const count = data?.count || 0;\n\n return (\n
\n
\n
\n {source === 'questions'\n ? t('all_questions')\n : t('x_questions', { count })}\n
\n \n
\n \n {isSkeletonShow ? (\n \n ) : (\n data?.list?.map((li) => {\n return (\n \n
\n {li.pin === 2 && (\n \n )}\n \n {li.title}\n {li.status === 2 ? ` [${t('closed')}]` : ''}\n \n
\n
\n
\n \n •\n \n
\n = 1}\n className=\"mt-2 mt-md-0\"\n />\n
\n
\n {Array.isArray(li.tags)\n ? li.tags.map((tag) => {\n return (\n \n );\n })\n : null}\n
\n \n );\n })\n )}\n
\n {count <= 0 && !isLoading && }\n
\n \n
\n
\n );\n};\nexport default QuestionList;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\ninterface Props {\n title: string;\n className?: string | undefined;\n}\nconst Index: FC = ({ title, className }) => {\n return {title};\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n desc: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n enumValues: (string | boolean | number)[];\n enumNames: string[];\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n desc,\n fieldName,\n onChange,\n enumValues,\n enumNames,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n {enumValues?.map((item, index) => {\n return (\n \n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form, Stack } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n type: 'radio' | 'checkbox';\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n enumValues: (string | boolean | number)[];\n enumNames: string[];\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n type = 'radio',\n fieldName,\n onChange,\n enumValues,\n enumNames,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleCheck = (\n evt: React.ChangeEvent,\n index: number,\n ) => {\n const { name, checked } = evt.currentTarget;\n enumValues[index] = checked;\n\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value: enumValues,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n {enumValues?.map((item, index) => {\n return (\n handleCheck(evt, index)}\n />\n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n label: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n fieldName,\n onChange,\n label,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, checked } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value: checked,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { Form } from 'react-bootstrap';\n\nimport { TIMEZONES } from '@/common/constants';\n\nconst TimeZonePicker = (props) => {\n return (\n \n {TIMEZONES?.map((item) => {\n return (\n \n {item.options.map((option) => {\n return (\n \n );\n })}\n \n );\n })}\n \n );\n};\n\nexport default TimeZonePicker;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\n\nimport type * as Type from '@/common/interface';\nimport TimeZonePicker from '@/components/TimeZonePicker';\n\ninterface Props {\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport classNames from 'classnames';\n\nimport type * as Type from '@/common/interface';\nimport BrandUpload from '@/components/BrandUpload';\n\ninterface Props {\n type: Type.UploadType | undefined;\n acceptType: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n imgClassNames?: classNames.Argument;\n}\nconst Index: FC = ({\n type = 'avatar',\n acceptType = '',\n fieldName,\n onChange,\n formData,\n readOnly = false,\n imgClassNames = '',\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (name: string, value: string) => {\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n <>\n handleChange(fieldName, value)}\n imgClassNames={imgClassNames}\n />\n \n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport classnames from 'classnames';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n placeholder: string | undefined;\n rows: number | undefined;\n className: classnames.Argument;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n placeholder = '',\n rows = 3,\n className,\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n type: string | undefined;\n placeholder: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n type = 'text',\n placeholder = '',\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useState } from 'react';\nimport { Button, ButtonProps, Spinner } from 'react-bootstrap';\n\nimport { request } from '@/utils';\nimport type { UIAction, FormKit } from '../types';\nimport { useToast } from '@/hooks';\nimport { Icon } from '@/components';\n\ninterface Props {\n fieldName: string;\n text: string;\n action: UIAction | undefined;\n actionType?: 'submit' | 'click';\n clickCallback?: () => void;\n formKit: FormKit;\n readOnly: boolean;\n variant?: ButtonProps['variant'];\n size?: ButtonProps['size'];\n iconName?: string;\n nowrap?: boolean;\n title?: string;\n}\nconst Index: FC = ({\n fieldName,\n action,\n actionType = 'submit',\n formKit,\n text = '',\n readOnly = false,\n variant = 'primary',\n size,\n iconName = '',\n nowrap = false,\n clickCallback,\n title,\n}) => {\n const Toast = useToast();\n const [isLoading, setLoading] = useState(false);\n const handleToast = (msg, type: 'success' | 'danger' = 'success') => {\n const tm = action?.on_complete?.toast_return_message;\n if (tm === false || !msg) {\n return;\n }\n Toast.onShow({\n msg,\n variant: type,\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleCallback = (resp) => {\n const callback = action?.on_complete;\n if (callback?.refresh_form_config) {\n formKit.refreshConfig();\n }\n };\n const handleAction = () => {\n if (actionType === 'click') {\n if (typeof clickCallback === 'function') {\n clickCallback();\n }\n return;\n }\n if (!action) {\n return;\n }\n setLoading(true);\n request\n .request({\n method: action.method,\n url: action.url,\n timeout: 0,\n })\n .then((resp) => {\n if ('message' in resp) {\n handleToast(resp.message, 'success');\n }\n handleCallback(resp);\n })\n .catch((ex) => {\n if (ex && 'msg' in ex) {\n handleToast(ex.msg, 'danger');\n }\n })\n .finally(() => {\n setLoading(false);\n });\n };\n useEffect(() => {\n if (action?.loading?.state === 'pending') {\n setLoading(true);\n }\n }, []);\n const loadingText = action?.loading?.text || text;\n const disabled = isLoading || readOnly;\n if (nowrap) {\n return (\n \n {isLoading ? (\n <>\n \n {loadingText}\n \n ) : (\n text\n )}\n {iconName && }\n \n );\n }\n\n return (\n
\n \n {isLoading ? (\n <>\n \n {loadingText}\n \n ) : (\n text\n )}\n {iconName && }\n \n
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { InputGroup } from 'react-bootstrap';\n\nimport type { FormKit, InputGroupOptions } from '../types';\n\nimport Button from './Button';\n\ninterface Props {\n formKitWithContext: FormKit;\n uiOpt: InputGroupOptions;\n prefixText?: string;\n suffixText?: string;\n children: React.ReactNode;\n}\n\nconst InputGroupBtn = ({\n formKitWithContext,\n uiOpt,\n}: {\n formKitWithContext: FormKit;\n uiOpt:\n | InputGroupOptions['prefixBtnOptions']\n | InputGroupOptions['suffixBtnOptions'];\n}) => {\n return (\n \n );\n};\n\nconst Index: FC = ({\n formKitWithContext,\n uiOpt,\n prefixText = null,\n suffixText = null,\n children,\n}) => {\n return (\n \n {prefixText && {prefixText}}\n {uiOpt && 'prefixBtnOptions' in uiOpt && (\n \n )}\n {children}\n {uiOpt && 'suffixBtnOptions' in uiOpt && (\n \n )}\n {suffixText ? {suffixText} : null}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from 'react';\nimport { Form, Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\n\nimport { scrollElementIntoView } from '@/utils';\nimport type * as Type from '@/common/interface';\n\nimport type {\n JSONSchema,\n FormProps,\n FormRef,\n BaseUIOptions,\n FormKit,\n InputGroupOptions,\n} from './types';\nimport {\n Legend,\n Select,\n Check,\n Switch,\n Timezone,\n Upload,\n Textarea,\n Input,\n Button as SfButton,\n InputGroup,\n} from './components';\n\nexport * from './types';\n\n/**\n * TODO:\n * - [!] Standardised `Admin/Plugins/Config/index.tsx` method for generating dynamic form configurations.\n * - Normalize and document `formData[key].hidden && 'd-none'`\n * - Normalize and document `hiddenSubmit`\n * - Improving field hints for `formData`\n * - Optimise form data updates\n * * Automatic field type conversion\n * * Dynamic field generation\n */\n\n/**\n * json schema form\n * @param schema json schema\n * @param uiSchema ui schema\n * @param formData form data\n * @param onChange change event\n * @param onSubmit submit event\n */\nconst SchemaForm: ForwardRefRenderFunction = (\n {\n schema,\n uiSchema = {},\n refreshConfig,\n formData,\n onChange,\n onSubmit,\n hiddenSubmit = false,\n },\n ref,\n) => {\n const { t } = useTranslation('translation', {\n keyPrefix: 'form',\n });\n const { required = [], properties = {} } = schema || {};\n // check required field\n const excludes = required.filter((key) => !properties[key]);\n if (excludes.length > 0) {\n console.error(t('not_found_props', { key: excludes.join(', ') }));\n }\n formData ||= {};\n const keys = Object.keys(properties);\n /**\n * Prevent components such as `select` from having default values,\n * which are not generated on `formData`\n */\n const setDefaultValueAsDomBehaviour = () => {\n keys.forEach((k) => {\n const fieldVal = formData![k]?.value;\n const metaProp = properties[k];\n const uiCtrl = uiSchema[k]?.['ui:widget'];\n if (!metaProp || !uiCtrl || fieldVal !== undefined) {\n return;\n }\n if (uiCtrl === 'select' && metaProp.enum?.[0] !== undefined) {\n formData![k] = {\n errorMsg: '',\n isInvalid: false,\n value: metaProp.enum?.[0],\n };\n }\n });\n };\n useEffect(() => {\n setDefaultValueAsDomBehaviour();\n }, [formData]);\n\n const formKitWithContext: FormKit = {\n refreshConfig() {\n if (typeof refreshConfig === 'function') {\n refreshConfig();\n }\n },\n };\n\n /**\n * Form validation\n * - Currently only dynamic forms are in use, the business form validation has been handed over to the server\n */\n const requiredValidator = () => {\n const errors: string[] = [];\n required.forEach((key) => {\n if (!formData![key] || !formData![key].value) {\n errors.push(key);\n }\n });\n return errors;\n };\n\n const syncValidator = () => {\n const errors: Array<{ key: string; msg: string }> = [];\n const promises: Array<{\n key: string;\n promise;\n }> = [];\n keys.forEach((key) => {\n const { validator } = uiSchema[key]?.['ui:options'] || {};\n if (validator instanceof Function) {\n const value = formData![key]?.value;\n promises.push({\n key,\n promise: validator(value, formData),\n });\n }\n });\n return Promise.allSettled(promises.map((item) => item.promise)).then(\n (results) => {\n results.forEach((result, index) => {\n const { key } = promises[index];\n if (result.status === 'rejected') {\n errors.push({\n key,\n msg: result.reason.message,\n });\n }\n\n if (result.status === 'fulfilled') {\n const msg = result.value;\n if (typeof msg === 'string') {\n errors.push({\n key,\n msg,\n });\n }\n }\n });\n return errors;\n },\n );\n };\n\n const validator = async (): Promise => {\n const errors = requiredValidator();\n if (errors.length > 0) {\n formData = errors.reduce((acc, cur) => {\n acc[cur] = {\n ...formData![cur],\n isInvalid: true,\n errorMsg:\n uiSchema[cur]?.['ui:options']?.empty ||\n `${properties[cur]?.title} ${t('empty')}`,\n };\n return acc;\n }, formData || {});\n if (onChange instanceof Function) {\n onChange({ ...formData });\n }\n scrollElementIntoView(document.getElementById(errors[0]));\n return false;\n }\n const syncErrors = await syncValidator();\n if (syncErrors.length > 0) {\n formData = syncErrors.reduce((acc, cur) => {\n acc[cur.key] = {\n ...formData![cur.key],\n isInvalid: true,\n errorMsg: cur.msg || `${properties[cur.key].title} ${t('invalid')}`,\n };\n return acc;\n }, formData || {});\n if (onChange instanceof Function) {\n onChange({ ...formData });\n }\n scrollElementIntoView(document.getElementById(syncErrors[0].key));\n return false;\n }\n return true;\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n const isValid = await validator();\n if (!isValid) {\n return;\n }\n\n Object.keys(formData!).forEach((key) => {\n formData![key].isInvalid = false;\n formData![key].errorMsg = '';\n });\n if (onChange instanceof Function) {\n onChange(formData!);\n }\n if (onSubmit instanceof Function) {\n onSubmit(e);\n }\n };\n\n useImperativeHandle(ref, () => ({\n validator,\n }));\n if (!formData || !schema || isEmpty(schema.properties)) {\n return null;\n }\n\n return (\n
\n {keys.map((key) => {\n const {\n title,\n description,\n enum: enumValues = [],\n enumNames = [],\n } = properties[key];\n const { 'ui:widget': widget = 'input', 'ui:options': uiOpt } =\n uiSchema?.[key] || {};\n formData ||= {};\n const fieldState = formData[key];\n if (uiOpt?.class_name) {\n uiOpt.className = uiOpt.class_name;\n }\n\n const uiSimplify = widget === 'legend' || uiOpt?.simplify;\n let groupClassName: BaseUIOptions['field_class_name'] = uiOpt?.simplify\n ? 'mb-2'\n : 'mb-3';\n if (widget === 'legend') {\n groupClassName = 'mb-0';\n }\n if (uiOpt?.field_class_name) {\n groupClassName = uiOpt.field_class_name;\n }\n\n const readOnly = uiOpt?.readOnly || false;\n\n return (\n \n {/* Uniform processing `label` */}\n {title && !uiSimplify ? {title} : null}\n {/* Handling of individual specific controls */}\n {widget === 'legend' ? (\n \n ) : null}\n {widget === 'select' ? (\n \n ) : null}\n {widget === 'radio' || widget === 'checkbox' ? (\n \n ) : null}\n {widget === 'switch' ? (\n \n ) : null}\n {widget === 'timezone' ? (\n \n ) : null}\n {widget === 'upload' ? (\n \n ) : null}\n {widget === 'textarea' ? (\n \n ) : null}\n {widget === 'input' ? (\n \n ) : null}\n {widget === 'button' ? (\n \n ) : null}\n {widget === 'input_group' ? (\n \n \n \n ) : null}\n {/* Unified handling of `Feedback` and `Text` */}\n \n {fieldState?.errorMsg}\n \n {description ? (\n \n ) : null}\n \n );\n })}\n {!hiddenSubmit && (\n \n )}\n \n );\n};\n\nexport const initFormData = (schema: JSONSchema): Type.FormDataType => {\n const formData: Type.FormDataType = {};\n const props: JSONSchema['properties'] = schema?.properties || {};\n Object.keys(props).forEach((key) => {\n const prop = props[key];\n let defaultVal: any = '';\n if (Array.isArray(prop.default) && prop.enum && prop.enum.length > 0) {\n // for checkbox default values\n defaultVal = prop.enum;\n } else {\n defaultVal = prop?.default;\n }\n formData[key] = {\n value: defaultVal,\n isInvalid: false,\n errorMsg: '',\n };\n });\n return formData;\n};\n\nexport const mergeFormData = (\n target: Type.FormDataType | null,\n origin: Type.FormDataType | null,\n) => {\n if (!target) {\n return origin;\n }\n if (!origin) {\n return target;\n }\n Object.keys(target).forEach((k) => {\n const oi = origin[k];\n if (oi && oi.value !== undefined) {\n target[k] = {\n value: oi.value,\n isInvalid: false,\n errorMsg: '',\n };\n }\n });\n return target;\n};\n\nexport default forwardRef(SchemaForm);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\n\nimport classNames from 'classnames';\n\nimport DefaultAvatar from '@/assets/images/default-avatar.svg';\n\ninterface IProps {\n /** avatar url */\n avatar: string | { type: string; gravatar: string; custom: string };\n /** size 48 96 128 256 */\n size: string;\n searchStr?: string;\n className?: string;\n alt: string;\n}\n\nconst Index: FC = ({\n avatar,\n size,\n className,\n searchStr = '',\n alt,\n}) => {\n let url = '';\n if (typeof avatar === 'string') {\n if (avatar.length > 1) {\n url = `${avatar}?${searchStr}${\n avatar?.includes('gravatar') ? '&d=identicon' : ''\n }`;\n }\n } else if (avatar?.type === 'gravatar' && avatar.gravatar) {\n url = `${avatar.gravatar}?${searchStr}&d=identicon`;\n } else if (avatar?.type === 'custom' && avatar.custom) {\n url = `${avatar.custom}?${searchStr}`;\n }\n\n const roundedCls =\n className && className.indexOf('rounded') !== -1 ? '' : 'rounded';\n\n return (\n <>\n {/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role,jsx-a11y/control-has-associated-label */}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, ReactNode } from 'react';\n\nimport PluginKit, { Plugin, PluginType } from '@/utils/pluginKit';\n/**\n * Note:Please set at least either of the `slug_name` and `type` attributes, otherwise no plugins will be rendered.\n *\n * @field slug_name: The `slug_name` of the plugin needs to be rendered.\n * If this property is set, `PluginRender` will use it first (regardless of whether `type` is set)\n * to find the corresponding plugin and render it.\n * @field type: Used to formulate the rendering of all plugins of this type.\n * (if the `slug_name` attribute is set, it will be ignored)\n * @field prop: Any attribute you want to configure, e.g. `className`\n */\n\ninterface Props {\n slug_name?: string;\n type: PluginType;\n children?: ReactNode;\n [prop: string]: any;\n}\n\nconst Index: FC = ({\n slug_name,\n type,\n children = null,\n className,\n ...props\n}) => {\n const pluginSlice: Plugin[] = [];\n const plugins = PluginKit.getPlugins().filter((plugin) => plugin.activated);\n\n plugins.forEach((plugin) => {\n if (type && slug_name) {\n if (plugin.info.slug_name === slug_name && plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (type) {\n if (plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (slug_name) {\n if (plugin.info.slug_name === slug_name) {\n pluginSlice.push(plugin);\n }\n }\n });\n\n /**\n * TODO: Rendering control for non-builtin plug-ins\n * ps: Logic such as version compatibility determination can be placed here\n */\n if (pluginSlice.length === 0) {\n if (type === 'editor') {\n return
{children}
;\n }\n return null;\n }\n\n if (type === 'editor') {\n const nodes = React.Children.map(children, (child, index) => {\n if (index === 15) {\n return (\n <>\n {child}\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n
\n \n );\n }\n return child;\n });\n\n return
{nodes}
;\n }\n\n return (\n <>\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\n\nimport { IEditorContext } from './types';\n\nexport const EditorContext = React.createContext({});\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useContext, useEffect } from 'react';\nimport { Dropdown, Button } from 'react-bootstrap';\n\nimport { EditorContext } from './EditorContext';\nimport { IEditorContext } from './types';\n\ninterface IProps {\n keyMap?: string[];\n onClick?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n tip?: string;\n className?: string;\n as?: any;\n children?;\n label?: string;\n disable?: boolean;\n isShow?: boolean;\n onBlur?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n}\nconst ToolItem: FC = (props) => {\n const editor = useContext(EditorContext);\n\n const {\n label,\n tip,\n disable = false,\n isShow,\n keyMap,\n onClick,\n className,\n as,\n children,\n onBlur,\n } = props;\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n if (!keyMap) {\n return;\n }\n\n keyMap.forEach((key) => {\n editor?.addKeyMap({\n [key]: () => {\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n },\n });\n });\n }, [editor]);\n\n const btnRender = () => (\n {\n e.preventDefault();\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}\n onBlur={(e) => {\n e.preventDefault();\n onBlur?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}>\n \n \n );\n\n if (!editor) {\n return null;\n }\n return (\n
\n {as === 'dropdown' ? (\n \n \n {btnRender()}\n \n {children}\n \n ) : (\n <>\n {btnRender()}\n {children}\n \n )}\n
\n );\n};\n\nexport default ToolItem;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Table = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'table',\n tip: t('table.text'),\n };\n const tableData = [\n [`${t('table.heading')} A`],\n [`${t('table.heading')} B`],\n [`${t('table.cell')} 1`],\n [`${t('table.cell')} 2`],\n [`${t('table.cell')} 3`],\n [`${t('table.cell')} 4`],\n ];\n\n const makeHeader = (col, data) => {\n let header = '|';\n let border = '|';\n let index = 0;\n\n while (col) {\n if (data) {\n header += ` ${data[index]} |`;\n index += 1;\n } else {\n header += ' |';\n }\n\n border += ' ----- |';\n\n col -= 1;\n }\n\n return `${header}\\n${border}\\n`;\n };\n\n const makeBody = (col, row, data) => {\n let body = '';\n let index = col;\n\n for (let irow = 0; irow < row; irow += 1) {\n body += '|';\n\n for (let icol = 0; icol < col; icol += 1) {\n if (data) {\n body += ` ${data[index]} |`;\n index += 1;\n } else {\n body += ' |';\n }\n }\n\n body += '\\n';\n }\n\n body = body.replace(/\\n$/g, '');\n\n return body;\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor } = context;\n let table = '\\n';\n\n table += makeHeader(2, tableData);\n table += makeBody(2, 2, tableData);\n editor?.replaceSelection(table);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Table);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst OL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ol',\n keyMap: ['Ctrl-o'],\n tip: `${t('ordered_list.text')} (Ctrl+o)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line, i) => {\n const FIND_OL_RX = /^(\\s{0,})(\\d+)\\.\\s/;\n\n if (line.match(FIND_OL_RX)) {\n line = line.replace(FIND_OL_RX, '');\n } else {\n line = `${i + 1}. ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(OL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst UL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ul',\n keyMap: ['Ctrl-u'],\n tip: `${t('unordered_list.text')} (Ctrl+u)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n const FIND_UL_RX = /^(\\s{0,})(-|\\*)\\s/;\n\n if (line.match(FIND_UL_RX)) {\n line = line.replace(FIND_UL_RX, '');\n } else {\n line = `* ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(UL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Indent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-left',\n tip: t('indent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n line = ` ${line}`;\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Indent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Outdent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-right',\n keyMap: ['Shift-Tab'],\n tip: t('outdent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n replaceLines((line) => {\n line = line.replace(/^(\\s{0,})/, (_1, $1) => {\n return $1.length > 4 ? $1.substring(4) : '';\n });\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Outdent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Hr = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'hr',\n keyMap: ['Ctrl-r'],\n tip: `${t('hr.text')} (Ctrl+r)`,\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { appendBlock, editor } = context;\n appendBlock('----------\\n');\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Hr);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, memo } from 'react';\nimport { Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Heading = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const headerList = [\n {\n text: `

${t('heading.options.h1')}

`,\n level: 1,\n label: t('heading.options.h1'),\n },\n {\n text: `

${t('heading.options.h2')}

`,\n level: 2,\n label: t('heading.options.h2'),\n },\n {\n text: `

${t('heading.options.h3')}

`,\n level: 3,\n label: t('heading.options.h3'),\n },\n {\n text: `

${t('heading.options.h4')}

`,\n level: 4,\n label: t('heading.options.h4'),\n },\n {\n text: `
${t('heading.options.h5')}
`,\n level: 5,\n label: t('heading.options.h5'),\n },\n {\n text: `
${t('heading.options.h6')}
`,\n level: 6,\n label: t('heading.options.h6'),\n },\n ];\n const item = {\n label: 'type',\n keyMap: ['Ctrl-h'],\n tip: `${t('heading.text')} (Ctrl+h)`,\n };\n const [isShow, setShowState] = useState(false);\n const [isLocked, setLockState] = useState(false);\n\n const handleClick = (level = 2, label = '大标题') => {\n const { replaceLines } = context;\n\n replaceLines((line) => {\n line = line.trim().replace(/^#*/, '').trim();\n line = `${'#'.repeat(level)} ${line || label}`;\n return line;\n }, level + 1);\n setShowState(false);\n };\n const onAddHeader = (ctx) => {\n context = ctx;\n if (isLocked) {\n return;\n }\n setShowState(!isShow);\n };\n\n const handleMouseEnter = () => {\n setLockState(true);\n };\n\n const handleMouseLeave = () => {\n setLockState(false);\n };\n return (\n \n \n {headerList.map((header) => {\n return (\n {\n e.preventDefault();\n e.stopPropagation();\n handleClick(header.level, header.label);\n }}\n dangerouslySetInnerHTML={{ __html: header.text }}\n />\n );\n })}\n \n
\n );\n};\n\nexport default memo(Heading);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Bold = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-bold',\n keyMap: ['Ctrl-b'],\n tip: `${t('bold.text')} (Ctrl+b)`,\n };\n const DEFAULTTEXT = t('bold.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n context.wrapText('**', '**', DEFAULTTEXT);\n context.editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Bold);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Italic = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-italic',\n keyMap: ['Ctrl-i'],\n tip: `${t('italic.text')} (Ctrl+i)`,\n };\n const DEFAULTTEXT = t('italic.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, wrapText } = context;\n wrapText('*', '*', DEFAULTTEXT);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Italic);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useState } from 'react';\nimport { Dropdown, FormControl } from 'react-bootstrap';\n\ninterface IProps {\n options;\n value?;\n onChange?;\n placeholder?;\n onSelect?;\n}\nconst Select: FC = ({\n options = [],\n value = '',\n onChange,\n placeholder = '',\n onSelect,\n}) => {\n const [isFocus, setFocusState] = useState(false);\n const [cursor, setCursor] = useState(0);\n\n useEffect(() => {\n setCursor(0);\n }, [value]);\n const handleKeyDown = (e) => {\n const { keyCode } = e;\n\n if (keyCode === 38 && cursor > 0) {\n e.preventDefault();\n setCursor(cursor - 1);\n }\n if (keyCode === 40 && cursor < options.length - 1) {\n e.preventDefault();\n\n setCursor(cursor + 1);\n }\n if (keyCode === 13 && cursor > -1 && cursor <= options.length - 1) {\n const lang = options.filter((opt) =>\n value ? opt.indexOf(value) === 0 : true,\n )[cursor];\n\n setFocusState(false);\n onSelect(lang);\n }\n };\n\n const result = options.filter((opt) =>\n value ? opt.indexOf(value) === 0 : true,\n );\n\n return (\n
\n {\n setFocusState(true);\n if (onChange instanceof Function) {\n onChange(e);\n }\n }}\n />\n {result.length > 0 && (\n \n {result.map((opt, index) => {\n return (\n {\n e.preventDefault();\n setFocusState(false);\n onSelect(opt);\n }}>\n {opt}\n \n );\n })}\n \n )}\n
\n );\n};\n\nexport default Select;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useEffect, useRef, useState, memo } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport Select from '../Select';\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nconst codeLanguageType = [\n 'bash',\n 'sh',\n 'zsh',\n 'c',\n 'h',\n 'cpp',\n 'hpp',\n 'c++',\n 'h++',\n 'cc',\n 'hh',\n 'cxx',\n 'hxx',\n 'c-like',\n 'cs',\n 'csharp',\n 'c#',\n 'clojure',\n 'clj',\n 'coffee',\n 'coffeescript',\n 'cson',\n 'iced',\n 'css',\n 'dart',\n 'erl',\n 'erlang',\n 'go',\n 'golang',\n 'hs',\n 'haskell',\n 'html',\n 'xml',\n 'xsl',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'plist',\n 'wsf',\n 'svg',\n 'http',\n 'https',\n 'ini',\n 'toml',\n 'java',\n 'jsp',\n 'js',\n 'javascript',\n 'jsx',\n 'mjs',\n 'cjs',\n 'json',\n 'kotlin',\n 'kt',\n 'latex',\n 'tex',\n 'less',\n 'lisp',\n 'lua',\n 'makefile',\n 'mk',\n 'mak',\n 'markdown',\n 'md',\n 'mkdown',\n 'mkd',\n 'matlab',\n 'objectivec',\n 'mm',\n 'objc',\n 'obj-c',\n 'ocaml',\n 'ml',\n 'pascal',\n 'delphi',\n 'dpr',\n 'dfm',\n 'pas',\n 'freepascal',\n 'lazarus',\n 'lpr',\n 'lfm',\n 'pl',\n 'perl',\n 'pm',\n 'php',\n 'php3',\n 'php4',\n 'php5',\n 'php6',\n 'php7',\n 'php-template',\n 'protobuf',\n 'py',\n 'python',\n 'gyp',\n 'ipython',\n 'r',\n 'rb',\n 'ruby',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb',\n 'rs',\n 'rust',\n 'scala',\n 'scheme',\n 'scss',\n 'shell',\n 'console',\n 'sql',\n 'swift',\n 'typescript',\n 'ts',\n 'vhdl',\n 'vbnet',\n 'vb',\n 'yaml',\n 'yml',\n];\n\nlet context: IEditorContext;\nconst Code = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n\n const item = {\n label: 'code-slash',\n keyMap: ['Ctrl-k'],\n tip: `${t('code.text')} (Ctrl+k)`,\n };\n\n const [code, setCode] = useState({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n const [visible, setVisible] = useState(false);\n const [lang, setLang] = useState('');\n const inputRef = useRef(null);\n\n const SINGLELINEMAXLENGTH = 40;\n const addCode = (ctx) => {\n context = ctx;\n\n const { wrapText, editor } = context;\n\n const text = context.editor.getSelection();\n\n if (!text) {\n setVisible(true);\n\n return;\n }\n if (text.length > SINGLELINEMAXLENGTH) {\n context.wrapText('```\\n', '\\n```');\n } else {\n wrapText('`', '`');\n }\n editor.focus();\n };\n\n useEffect(() => {\n if (visible && inputRef.current) {\n inputRef.current.focus();\n }\n }, [visible]);\n\n const handleClick = () => {\n if (!code.value.trim()) {\n setCode({\n ...code,\n errorMsg: t('code.form.fields.code.msg.empty'),\n isInvalid: true,\n });\n return;\n }\n\n let value;\n\n if (\n code.value.split('\\n').length > 1 ||\n code.value.length >= SINGLELINEMAXLENGTH\n ) {\n value = `\\n\\`\\`\\`${lang}\\n${code.value}\\n\\`\\`\\`\\n`;\n } else {\n value = `\\`${code.value}\\``;\n }\n context.editor.replaceSelection(value);\n setCode({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n setLang('');\n setVisible(false);\n };\n const onHide = () => setVisible(false);\n const onExited = () => context.editor?.focus();\n\n return (\n \n \n \n
{t('code.add_code')}
\n
\n \n \n {t('code.form.fields.code.label')}\n setCode({ ...code, value: e.target.value })}\n />\n {code.isInvalid && (\n \n {code.errorMsg}\n \n )}\n \n \n {`${t('code.form.fields.language.label')} ${t(\n 'optional',\n {\n keyPrefix: 'form',\n },\n )}`}\n setLang(e.target.value)}\n onSelect={(val) => setLang(val)}\n placeholder={t('code.form.fields.language.placeholder')}\n />\n \n \n \n {\n setVisible(false);\n setCode({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n }}>\n {t('code.btn_cancel')}\n \n \n \n \n
\n );\n};\n\nexport default memo(Code);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useEffect, useRef, useState, memo } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Link = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'link-45deg',\n keyMap: ['Ctrl-l'],\n tip: `${t('link.text')} (Ctrl+l)`,\n };\n const [visible, setVisible] = useState(false);\n const [link, setLink] = useState({\n value: 'https://',\n isInvalid: false,\n errorMsg: '',\n });\n const [name, setName] = useState({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n const inputRef = useRef(null);\n\n useEffect(() => {\n if (visible && inputRef.current) {\n inputRef.current.setSelectionRange(0, inputRef.current.value.length);\n inputRef.current.focus();\n }\n }, [visible]);\n\n const addLink = (ctx) => {\n context = ctx;\n const { editor } = context;\n\n const text = editor.getSelection();\n\n setName({ ...name, value: text });\n\n setVisible(true);\n };\n const handleClick = () => {\n const { editor } = context;\n\n if (!link.value) {\n setLink({ ...link, isInvalid: true });\n return;\n }\n const newStr = name.value\n ? `[${name.value}](${link.value})`\n : `<${link.value}>`;\n\n editor.replaceSelection(newStr);\n\n setVisible(false);\n\n editor.focus();\n setLink({ ...link, value: '' });\n setName({ ...name, value: '' });\n };\n const onHide = () => setVisible(false);\n const onExited = () => {\n const { editor } = context;\n editor.focus();\n };\n\n return (\n <>\n \n \n \n
{t('link.add_link')}
\n
\n \n
\n \n {t('link.form.fields.url.label')}\n setLink({ ...link, value: e.target.value })}\n isInvalid={link.isInvalid}\n />\n \n\n \n {`${t('link.form.fields.name.label')} ${t(\n 'optional',\n {\n keyPrefix: 'form',\n },\n )}`}\n setName({ ...name, value: e.target.value })}\n isInvalid={name.isInvalid}\n />\n \n
\n
\n \n \n \n \n \n \n );\n};\n\nexport default memo(Link);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst BlockQuote = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n\n const item = {\n label: 'quote',\n keyMap: ['Ctrl-q'],\n tip: `${t('blockquote.text')} (Ctrl+Q)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n context.replaceLines((line) => {\n const FIND_BLOCKQUOTE_RX = /^>\\s+?/g;\n\n if (line === `> ${t('blockquote.text')}`) {\n line = '';\n } else if (line.match(FIND_BLOCKQUOTE_RX)) {\n line = line.replace(FIND_BLOCKQUOTE_RX, '');\n } else {\n line = `> ${line || t('blockquote.text')}`;\n }\n return line;\n }, 2);\n context.editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(BlockQuote);\n","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabContent = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tab-content');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nTabContent.displayName = 'TabContent';\nexport default TabContent;","import NoopTransition from '@restart/ui/NoopTransition';\nimport Fade from './Fade';\nexport default function getTabTransitionComponent(transition) {\n if (typeof transition === 'boolean') {\n return transition ? Fade : NoopTransition;\n }\n return transition;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport TabContext from '@restart/ui/TabContext';\nimport { useTabPanel } from '@restart/ui/TabPanel';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Fade from './Fade';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabPane = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n transition,\n ...props\n}, ref) => {\n const [{\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n }, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = Fade\n }] = useTabPanel({\n ...props,\n transition: getTabTransitionComponent(transition)\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'tab-pane');\n\n // We provide an empty the TabContext so `
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n forwardRef,\n useEffect,\n useRef,\n useState,\n memo,\n useImperativeHandle,\n} from 'react';\n\nimport { markdownToHtml } from '@/services';\nimport ImgViewer from '@/components/ImgViewer';\n\nimport { htmlRender } from './utils';\n\nlet scrollTop = 0;\nlet renderTimer;\n\nconst Index = ({ value }, ref) => {\n const [html, setHtml] = useState('');\n const previewRef = useRef(null);\n\n const renderMarkdown = (markdown) => {\n clearTimeout(renderTimer);\n const timeout = renderTimer ? 1000 : 0;\n renderTimer = setTimeout(() => {\n markdownToHtml(markdown).then((resp) => {\n scrollTop = previewRef.current?.scrollTop || 0;\n setHtml(resp);\n });\n }, timeout);\n };\n useEffect(() => {\n renderMarkdown(value);\n }, [value]);\n\n useEffect(() => {\n if (!html) {\n return;\n }\n\n previewRef.current?.scrollTo(0, scrollTop);\n\n htmlRender(previewRef.current);\n }, [html]);\n\n useImperativeHandle(ref, () => {\n return {\n getHtml: () => html,\n element: previewRef.current,\n };\n });\n\n return (\n \n \n \n );\n};\n\nexport default memo(forwardRef(Index));\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n useEffect,\n useRef,\n ForwardRefRenderFunction,\n forwardRef,\n useImperativeHandle,\n} from 'react';\n\nimport classNames from 'classnames';\n\nimport { PluginType } from '@/utils/pluginKit';\nimport PluginRender from '../PluginRender';\n\nimport {\n BlockQuote,\n Bold,\n Code,\n Heading,\n Help,\n Hr,\n Image,\n Indent,\n Italice,\n Link as LinkItem,\n OL,\n Outdent,\n Table,\n UL,\n} from './ToolBars';\nimport { htmlRender, useEditor } from './utils';\nimport Viewer from './Viewer';\nimport { EditorContext } from './EditorContext';\n\nimport './index.scss';\n\nexport interface EditorRef {\n getHtml: () => string;\n}\n\ninterface EventRef {\n onChange?(value: string): void;\n onFocus?(): void;\n onBlur?(): void;\n}\n\ninterface Props extends EventRef {\n editorPlaceholder?;\n className?;\n value;\n autoFocus?: boolean;\n}\n\nconst MDEditor: ForwardRefRenderFunction = (\n {\n editorPlaceholder = '',\n className = '',\n value,\n onChange,\n onFocus,\n onBlur,\n autoFocus = false,\n },\n ref,\n) => {\n const editorRef = useRef(null);\n const previewRef = useRef<{ getHtml; element } | null>(null);\n\n const editor = useEditor({\n editorRef,\n onChange,\n onFocus,\n onBlur,\n placeholder: editorPlaceholder,\n autoFocus,\n });\n\n const getHtml = () => {\n return previewRef.current?.getHtml();\n };\n\n useImperativeHandle(ref, () => ({\n getHtml,\n }));\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n if (editor.getValue() !== value) {\n editor.setValue(value || '');\n }\n }, [editor, value]);\n\n return (\n <>\n
\n \n {editor && (\n \n \n \n \n
\n \n \n
\n \n \n
\n
    \n
      \n \n \n
      \n
      \n \n \n )}\n \n\n
      \n \n
      \n
      \n \n \n );\n};\nexport { htmlRender };\nexport default forwardRef(MDEditor);\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarBrand = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n const Component = as || (props.href ? 'a' : 'span');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix)\n });\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarCollapse = /*#__PURE__*/React.forwardRef(({\n children,\n bsPrefix,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Collapse, {\n in: !!(context && context.expanded),\n ...props,\n children: /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: bsPrefix,\n children: children\n })\n });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n label = 'Toggle navigation',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n const {\n onToggle,\n expanded\n } = useContext(NavbarContext) || {};\n const handleClick = useEventCallback(e => {\n if (onClick) onClick(e);\n if (onToggle) onToggle();\n });\n if (Component === 'button') {\n props.type = 'button';\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n onClick: handleClick,\n \"aria-label\": label,\n className: classNames(className, bsPrefix, !expanded && 'collapsed'),\n children: children || /*#__PURE__*/_jsx(\"span\", {\n className: `${bsPrefix}-icon`\n })\n });\n});\nNavbarToggle.displayName = 'NavbarToggle';\nexport default NavbarToggle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nOffcanvasBody.displayName = 'OffcanvasBody';\nexport default OffcanvasBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ENTERED, ENTERING, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport TransitionWrapper from './TransitionWrapper';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst transitionStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst OffcanvasToggling = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n in: inProp = false,\n mountOnEnter = false,\n unmountOnExit = false,\n appear = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n in: inProp,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n appear: appear,\n ...props,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames(className, children.props.className, (status === ENTERING || status === EXITING) && `${bsPrefix}-toggling`, transitionStyles[status])\n })\n });\n});\nOffcanvasToggling.displayName = 'OffcanvasToggling';\nexport default OffcanvasToggling;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nOffcanvasHeader.displayName = 'OffcanvasHeader';\nexport default OffcanvasHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst OffcanvasTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH5,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nOffcanvasTitle.displayName = 'OffcanvasTitle';\nexport default OffcanvasTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport useBreakpoint from '@restart/hooks/useBreakpoint';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport * as React from 'react';\nimport { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport Fade from './Fade';\nimport OffcanvasBody from './OffcanvasBody';\nimport OffcanvasToggling from './OffcanvasToggling';\nimport ModalContext from './ModalContext';\nimport NavbarContext from './NavbarContext';\nimport OffcanvasHeader from './OffcanvasHeader';\nimport OffcanvasTitle from './OffcanvasTitle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport BootstrapModalManager, { getSharedManager } from './BootstrapModalManager';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(OffcanvasToggling, {\n ...props\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props\n });\n}\nconst Offcanvas = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n 'aria-labelledby': ariaLabelledby,\n placement = 'start',\n responsive,\n /* BaseModal props */\n\n show = false,\n backdrop = true,\n keyboard = true,\n scroll = false,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n renderStaticNode = false,\n ...props\n}, ref) => {\n const modalManager = useRef();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n const {\n onToggle\n } = useContext(NavbarContext) || {};\n const [showOffcanvas, setShowOffcanvas] = useState(false);\n const hideResponsiveOffcanvas = useBreakpoint(responsive || 'xs', 'up');\n useEffect(() => {\n // Handles the case where screen is resized while the responsive\n // offcanvas is shown. If `responsive` not provided, just use `show`.\n setShowOffcanvas(responsive ? show && !hideResponsiveOffcanvas : show);\n }, [show, responsive, hideResponsiveOffcanvas]);\n const handleHide = useEventCallback(() => {\n onToggle == null ? void 0 : onToggle();\n onHide == null ? void 0 : onHide();\n });\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n if (scroll) {\n // Have to use a different modal manager since the shared\n // one handles overflow.\n if (!modalManager.current) modalManager.current = new BootstrapModalManager({\n handleContainerOverflow: false\n });\n return modalManager.current;\n }\n return getSharedManager();\n }\n const handleEnter = (node, ...args) => {\n if (node) node.style.visibility = 'visible';\n onEnter == null ? void 0 : onEnter(node, ...args);\n };\n const handleExited = (node, ...args) => {\n if (node) node.style.visibility = '';\n onExited == null ? void 0 : onExited(...args);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName)\n }), [backdropClassName, bsPrefix]);\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n ...dialogProps,\n ...props,\n className: classNames(className, responsive ? `${bsPrefix}-${responsive}` : bsPrefix, `${bsPrefix}-${placement}`),\n \"aria-labelledby\": ariaLabelledby,\n children: children\n });\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [!showOffcanvas && (responsive || renderStaticNode) && renderDialog({}), /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: showOffcanvas,\n ref: ref,\n backdrop: backdrop,\n container: container,\n keyboard: keyboard,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus && !scroll,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: onEscapeKeyDown,\n onShow: onShow,\n onHide: handleHide,\n onEnter: handleEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: DialogTransition,\n backdropTransition: BackdropTransition,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n })]\n });\n});\nOffcanvas.displayName = 'Offcanvas';\nexport default Object.assign(Offcanvas, {\n Body: OffcanvasBody,\n Header: OffcanvasHeader,\n Title: OffcanvasTitle\n});","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Offcanvas from './Offcanvas';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarOffcanvas = /*#__PURE__*/React.forwardRef((props, ref) => {\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Offcanvas, {\n ref: ref,\n show: !!(context != null && context.expanded),\n ...props,\n renderStaticNode: true\n });\n});\nNavbarOffcanvas.displayName = 'NavbarOffcanvas';\nexport default NavbarOffcanvas;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nNavbarText.displayName = 'NavbarText';\nexport default NavbarText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport { useUncontrolled } from 'uncontrollable';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport NavbarOffcanvas from './NavbarOffcanvas';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport NavbarText from './NavbarText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Navbar = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n bsPrefix: initialBsPrefix,\n expand = true,\n variant = 'light',\n bg,\n fixed,\n sticky,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'nav',\n expanded,\n onToggle,\n onSelect,\n collapseOnSelect = false,\n ...controlledProps\n } = useUncontrolled(props, {\n expanded: 'onToggle'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n const handleCollapse = useCallback((...args) => {\n onSelect == null ? void 0 : onSelect(...args);\n if (collapseOnSelect && expanded) {\n onToggle == null ? void 0 : onToggle(false);\n }\n }, [onSelect, collapseOnSelect, expanded, onToggle]);\n\n // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n if (controlledProps.role === undefined && Component !== 'nav') {\n controlledProps.role = 'navigation';\n }\n let expandClass = `${bsPrefix}-expand`;\n if (typeof expand === 'string') expandClass = `${expandClass}-${expand}`;\n const navbarContext = useMemo(() => ({\n onToggle: () => onToggle == null ? void 0 : onToggle(!expanded),\n bsPrefix,\n expanded: !!expanded,\n expand\n }), [bsPrefix, expanded, expand, onToggle]);\n return /*#__PURE__*/_jsx(NavbarContext.Provider, {\n value: navbarContext,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleCollapse,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, bsPrefix, expand && expandClass, variant && `${bsPrefix}-${variant}`, bg && `bg-${bg}`, sticky && `sticky-${sticky}`, fixed && `fixed-${fixed}`)\n })\n })\n });\n});\nNavbar.displayName = 'Navbar';\nexport default Object.assign(Navbar, {\n Brand: NavbarBrand,\n Collapse: NavbarCollapse,\n Offcanvas: NavbarOffcanvas,\n Text: NavbarText,\n Toggle: NavbarToggle\n});","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Nav, Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport type * as Type from '@/common/interface';\nimport { Avatar, Icon } from '@/components';\nimport { floppyNavigation } from '@/utils';\nimport { userCenterStore } from '@/stores';\n\ninterface Props {\n redDot: Type.NotificationStatus | undefined;\n userInfo: Type.UserInfoRes;\n logOut: (e) => void;\n}\n\nconst Index: FC = ({ redDot, userInfo, logOut }) => {\n const { t } = useTranslation();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const navigate = useNavigate();\n const { agent: ucAgent } = userCenterStore();\n const handleLinkClick = (evt) => {\n if (floppyNavigation.shouldProcessLinkClick(evt)) {\n evt.preventDefault();\n const href = evt.currentTarget.getAttribute('href');\n navigate(href);\n }\n };\n return (\n <>\n \n\n \n \n \n \n\n \n \n {t('header.nav.profile')}\n \n \n {t('header.nav.bookmark')}\n \n \n {t('header.nav.setting')}\n \n \n logOut(e)}>\n {t('header.nav.logout')}\n \n \n \n {/* Dropdown for user center agent info */}\n {ucAgent?.enabled &&\n (ucAgent?.agent_info?.url ||\n ucAgent?.agent_info?.control_center?.length) ? (\n \n \n \n \n\n \n {ucAgent.agent_info.url ? (\n \n {ucAgent.agent_info.name}\n \n ) : null}\n {ucAgent.agent_info.url &&\n ucAgent.agent_info.control_center?.length ? (\n \n ) : null}\n {ucAgent.agent_info.control_center?.map((ctrl) => {\n return (\n \n {ctrl.label}\n \n );\n })}\n \n \n ) : null}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useState, useEffect } from 'react';\nimport {\n Navbar,\n Container,\n Nav,\n Form,\n FormControl,\n Col,\n} from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport {\n useSearchParams,\n Link,\n useNavigate,\n useLocation,\n useMatch,\n} from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { userCenter, floppyNavigation } from '@/utils';\nimport {\n loggedUserInfoStore,\n siteInfoStore,\n brandingStore,\n loginSettingStore,\n themeSettingStore,\n sideNavStore,\n} from '@/stores';\nimport { logout, useQueryNotificationStatus } from '@/services';\nimport { Icon } from '@/components';\n\nimport NavItems from './components/NavItems';\n\nimport './index.scss';\n\nconst Header: FC = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const [urlSearch] = useSearchParams();\n const q = urlSearch.get('q');\n const { user, clear: clearUserStore } = loggedUserInfoStore();\n const { t } = useTranslation();\n const [searchStr, setSearch] = useState('');\n const siteInfo = siteInfoStore((state) => state.siteInfo);\n const brandingInfo = brandingStore((state) => state.branding);\n const loginSetting = loginSettingStore((state) => state.login);\n const { updateReview, updateVisible } = sideNavStore();\n const { data: redDot } = useQueryNotificationStatus();\n /**\n * Automatically append `tag` information when creating a question\n */\n const tagMatch = useMatch('/tags/:slugName');\n let askUrl = '/questions/ask';\n if (tagMatch && tagMatch.params.slugName) {\n askUrl = `${askUrl}?tags=${encodeURIComponent(tagMatch.params.slugName)}`;\n }\n\n useEffect(() => {\n updateReview({\n can_revision: Boolean(redDot?.can_revision),\n revision: Number(redDot?.revision),\n });\n }, [redDot]);\n\n const handleInput = (val) => {\n setSearch(val);\n };\n const handleSearch = (evt) => {\n evt.preventDefault();\n if (!searchStr) {\n return;\n }\n const searchUrl = `/search?q=${encodeURIComponent(searchStr)}`;\n navigate(searchUrl);\n };\n\n const handleLogout = async (evt) => {\n evt.preventDefault();\n await logout();\n clearUserStore();\n window.location.replace(window.location.href);\n };\n\n useEffect(() => {\n if (q && location.pathname === '/search') {\n handleInput(q);\n }\n }, [q]);\n\n useEffect(() => {\n const collapse = document.querySelector('#navBarContent');\n if (collapse && collapse.classList.contains('show')) {\n const toggle = document.querySelector('#navBarToggle') as HTMLElement;\n if (toggle) {\n toggle?.click();\n }\n }\n\n // clear search input when navigate to other page\n if (location.pathname !== '/search' && searchStr) {\n setSearch('');\n }\n }, [location.pathname]);\n\n let navbarStyle = 'theme-colored';\n const { theme, theme_config } = themeSettingStore((_) => _);\n if (theme_config?.[theme]?.navbar_style) {\n navbarStyle = `theme-${theme_config[theme].navbar_style}`;\n }\n\n return (\n \n \n {\n updateVisible();\n }}\n />\n\n
      \n \n {brandingInfo.logo ? (\n <>\n \n\n \n \n ) : (\n {siteInfo.name}\n )}\n \n\n {/* mobile nav */}\n
      \n {user?.username ? (\n handleLogout(e)}\n />\n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n
      \n
      \n\n \n
      \n
\n \n
\n \n
\n handleInput(e.target.value)}\n />\n \n \n\n \n \n {t('btns.add_question')}\n \n \n {/* pc nav */}\n \n {user?.username ? (\n \n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n \n \n \n \n );\n};\n\nexport default memo(Header);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\nimport { Container } from 'react-bootstrap';\nimport { Trans } from 'react-i18next';\n\nimport dayjs from 'dayjs';\n\nimport { siteInfoStore } from '@/stores';\n\nconst Index = () => {\n const fullYear = dayjs().format('YYYY');\n const siteName = siteInfoStore((state) => state.siteInfo.name);\n const cc = `${fullYear} ${siteName}`;\n return (\n
\n \n

\n \n Powered by\n {/* eslint-disable-next-line react/jsx-no-target-blank */}\n \n Apache Answer\n \n - the open-source software that powers Q&A communities.\n
\n Made with love. © 2022 Answer.\n
\n

\n
\n
\n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\n\nimport classNames from 'classnames';\n\ninterface IProps {\n type?: 'br' | 'bi';\n /** icon name */\n name: string;\n className?: string;\n size?: string;\n title?: string;\n onClick?: () => void;\n}\nconst Icon: FC = ({\n type = 'br',\n name,\n className,\n size,\n onClick,\n title,\n}) => {\n return (\n \n );\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\n\nimport { base64ToSvg } from '@/utils';\n\ninterface IProps {\n svgClassName?: string;\n base64: string | undefined;\n}\nconst Icon: FC = ({ base64 = '', svgClassName = '' }) => {\n return base64 ? (\n \n ) : null;\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable no-nested-ternary */\nimport { FC, useState, useEffect, useRef } from 'react';\nimport { Dropdown, Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { marked } from 'marked';\nimport classNames from 'classnames';\n\nimport { useTagModal, useToast } from '@/hooks';\nimport type * as Type from '@/common/interface';\nimport { queryTags, useUserPermission } from '@/services';\n// import { OutsideClickListener } from '@/components';\n\nimport './index.scss';\n\ninterface IProps {\n value?: Type.Tag[];\n onChange?: (tags: Type.Tag[]) => void;\n hiddenDescription?: boolean;\n hiddenCreateBtn?: boolean;\n maxTagLength?: number;\n showRequiredTag?: boolean;\n autoFocus?: boolean;\n isInvalid?: boolean;\n tagStyleMode?: 'default' | 'simple';\n formText?: string;\n errMsg?: string;\n}\n\nlet timer;\n\nconst TagSelector: FC = ({\n value = [],\n onChange,\n hiddenDescription = false,\n hiddenCreateBtn = false,\n maxTagLength = 0,\n showRequiredTag = false,\n autoFocus = false,\n isInvalid = false,\n formText = '',\n tagStyleMode = 'default',\n errMsg = '',\n}) => {\n const containerRef = useRef(null);\n const inputRef = useRef(null);\n const [initialized, setInitialized] = useState(false);\n const [focusState, setFocusState] = useState(autoFocus);\n const [showMenu, setShowMenu] = useState(false);\n const [currentIndex, setCurrentIndex] = useState(0);\n const [repeatIndex, setRepeatIndex] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n const [tags, setTags] = useState(null);\n const [requiredTags, setRequiredTags] = useState(null);\n const { t } = useTranslation('translation', { keyPrefix: 'tag_selector' });\n const { data: userPermission } = useUserPermission('tag.add');\n const canAddTag =\n (maxTagLength > 0 && value?.length < maxTagLength) || maxTagLength === 0;\n const toast = useToast();\n const tagModal = useTagModal({\n onConfirm: (data) => {\n if (!(onChange instanceof Function)) {\n return;\n }\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === data.slug_name.toLowerCase(),\n );\n if (findIndex === -1) {\n onChange([\n ...value,\n {\n ...data,\n parsed_text: marked(data.original_text),\n },\n ]);\n setSearchValue('');\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n },\n });\n\n const filterTags = (result) => {\n const tagArray: Type.Tag[] = [];\n result?.forEach((item) => {\n const findIndex = value.findIndex((v) => {\n const tagName1 = v.slug_name.toLowerCase();\n const tagName2 =\n typeof item === 'string'\n ? item.toLowerCase()\n : item.slug_name.toLowerCase();\n\n return tagName1 === tagName2;\n });\n\n if (findIndex === -1) {\n tagArray.push(typeof item === 'string' ? { slug_name: item } : item);\n }\n });\n return tagArray;\n };\n\n const handleMenuShow = (bol: boolean) => {\n setShowMenu(bol);\n const ele = document.getElementById('a-dropdown-menu');\n if (ele) {\n if (bol) {\n ele.classList.add('show');\n } else {\n ele.classList.remove('show');\n }\n }\n };\n\n const handleTagSelectorFocus = () => {\n setFocusState(true);\n inputRef.current?.focus();\n };\n\n const handleTagSelectorBlur = () => {\n setFocusState(false);\n setCurrentIndex(0);\n handleMenuShow(false);\n };\n\n const fetchTags = (str) => {\n if (!showRequiredTag && !str) {\n setTags([]);\n return;\n }\n queryTags(str).then((res) => {\n const tagArray: Type.Tag[] = filterTags(res || []);\n if (str === '') {\n setRequiredTags(res);\n }\n handleMenuShow(tagArray.length > 0);\n setTags(tagArray);\n });\n };\n\n const resetSearch = () => {\n setCurrentIndex(0);\n setSearchValue('');\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n };\n const handleClick = (val: Type.Tag) => {\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === val.slug_name.toLowerCase(),\n );\n if (onChange instanceof Function && findIndex === -1) {\n onChange([\n ...value,\n {\n original_text: '',\n parsed_text: '',\n ...val,\n },\n ]);\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n resetSearch();\n };\n\n const handleRemove = (val: Type.Tag) => {\n if (onChange instanceof Function) {\n onChange(\n value.filter((v) => {\n if (v instanceof Object) {\n return v.slug_name.toLowerCase() !== val.slug_name.toLowerCase();\n }\n return v !== val;\n }),\n );\n }\n };\n\n const handleSearch = async (e: React.ChangeEvent) => {\n const searchStr = e.currentTarget.value.replace(';', '');\n onChange?.([...value]);\n setSearchValue(searchStr);\n fetchTags(searchStr);\n };\n\n const scrollIntoView = (targetId) => {\n const container = document.getElementById('a-dropdown-menu') as HTMLElement;\n const ele = document.getElementById(targetId) as HTMLElement;\n if (ele?.offsetTop >= 104) {\n container.scrollTo({\n top: ele.offsetTop - 104,\n behavior: 'smooth',\n });\n }\n };\n\n const handleKeyDown = (e) => {\n e.stopPropagation();\n const { keyCode } = e;\n if (keyCode === 9) {\n handleTagSelectorBlur();\n return;\n }\n if (value.length > 0 && keyCode === 8 && !searchValue) {\n handleRemove(value[value.length - 1]);\n }\n\n if (!tags) {\n return;\n }\n\n if (keyCode === 38 && currentIndex > 0) {\n scrollIntoView(tags[currentIndex - 1].slug_name);\n setCurrentIndex(currentIndex - 1);\n }\n if (keyCode === 40 && currentIndex < tags.length - 1) {\n scrollIntoView(tags[currentIndex + 1].slug_name);\n setCurrentIndex(currentIndex + 1);\n }\n\n if (keyCode === 13 && currentIndex > -1) {\n e.preventDefault();\n if (tags.length === 0 && searchValue) {\n tagModal.onShow(searchValue);\n return;\n }\n if (currentIndex <= tags.length - 1) {\n handleClick(tags[currentIndex]);\n // if (currentIndex === tags.length - 1 && currentIndex > 0) {\n // setCurrentIndex(currentIndex - 1);\n // }\n }\n }\n };\n\n const handleCreate = () => {\n const tagAddPermission = userPermission?.['tag.add'];\n if (!tagAddPermission || tagAddPermission?.has_permission) {\n tagModal.onShow(searchValue);\n } else if (tagAddPermission?.no_permission_tip) {\n toast.onShow({\n msg: tagAddPermission.no_permission_tip,\n variant: 'danger',\n });\n }\n };\n\n const handleClickToggle = () => {\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n };\n\n useEffect(() => {\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n }, [value]);\n\n useEffect(() => {\n if (focusState && showRequiredTag) {\n fetchTags(searchValue);\n inputRef.current?.focus();\n }\n }, [focusState]);\n\n useEffect(() => {\n setInitialized(true);\n }, []);\n\n useEffect(() => {\n const handleOutsideClick = (event) => {\n if (\n initialized &&\n containerRef.current &&\n !containerRef.current?.contains(event.target)\n ) {\n handleTagSelectorBlur();\n }\n };\n document.addEventListener('click', handleOutsideClick);\n return () => {\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [initialized]);\n\n useEffect(() => {\n // menu show\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (focusState) {\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n\n if ((tags && tags?.length < 5) || maxTagLength === 0) {\n inputRef.current?.focus();\n }\n }\n }, [focusState, tags, hiddenCreateBtn, searchValue, maxTagLength]);\n\n useEffect(() => {\n // set width of tag Form.Control\n const ele = document.querySelector('.a-input-width') as HTMLElement;\n const elePlaceholder = document.querySelector(\n '.a-placeholder-width',\n ) as HTMLElement;\n if (ele.offsetWidth > 60) {\n inputRef.current?.setAttribute(\n 'style',\n `width:${ele.offsetWidth + 16}px`,\n );\n } else {\n inputRef.current?.setAttribute(\n 'style',\n `width: ${elePlaceholder.offsetWidth + 7}px`,\n );\n }\n }, [searchValue]);\n\n return (\n
\n \n
\n \n {value?.map((item, index) => {\n return (\n \n {item.display_name}\n handleRemove(item)}>\n ×\n \n \n );\n })}\n {canAddTag ? (\n \n ) : (\n \n )}\n {searchValue}\n {t('add_btn')}\n
\n
\n \n {!searchValue &&\n showRequiredTag &&\n tags &&\n tags.filter((v) => v.recommend)?.length > 0 && (\n
{t('tag_required_text')}
\n )}\n\n {tags?.map((item, index) => {\n return (\n handleClick(item)}>\n {item.display_name}\n \n );\n })}\n {searchValue && tags?.length === 0 && (\n \n {t('no_result')}\n \n )}\n {!hiddenCreateBtn && searchValue && (\n \n + {t('create_btn')}\n \n )}\n
\n \n {!hiddenDescription && {formText || t('hint')}}\n {errMsg}\n \n );\n};\n\nexport default TagSelector;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { Button, Col } from 'react-bootstrap';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport type { ImgCodeReq, FormDataType } from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { resendEmail } from '@/services';\nimport { handleFormError } from '@/utils';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\n\ninterface IProps {\n visible?: boolean;\n}\n\nconst Index: React.FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'inactive' });\n const [isSuccess, setSuccess] = useState(false);\n const { e_mail } = loggedUserInfoStore((state) => state.user);\n const [formData, setFormData] = useState({\n captcha_code: {\n value: '',\n isInvalid: false,\n errorMsg: '',\n },\n });\n\n const emailCaptcha = useCaptchaPlugin('email');\n\n const submit = () => {\n let req: ImgCodeReq = {};\n const imgCode = emailCaptcha?.getCaptcha();\n if (imgCode?.verify) {\n req = {\n captcha_code: imgCode.captcha_code,\n captcha_id: imgCode.captcha_id,\n };\n }\n resendEmail(req)\n .then(async () => {\n await emailCaptcha?.close();\n setSuccess(true);\n })\n .catch((err) => {\n if (err.isError) {\n emailCaptcha?.handleCaptchaError(err.list);\n const data = handleFormError(err, formData);\n setFormData({ ...data });\n }\n });\n };\n\n const onSentEmail = (evt) => {\n evt.preventDefault();\n if (!emailCaptcha) {\n submit();\n return;\n }\n emailCaptcha.check(() => {\n submit();\n });\n };\n\n return (\n
\n {isSuccess ? (\n

\n }}\n />\n

\n ) : (\n <>\n

\n }}\n />\n

\n

{t('info')}

\n \n \n {t('change_btn_name')}\n \n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { uploadImage } from '@/services';\nimport * as Type from '@/common/interface';\n\ninterface IProps {\n type: Type.UploadType;\n className?: classnames.Argument;\n children?: React.ReactNode;\n acceptType?: string;\n disabled?: boolean;\n uploadCallback: (img: string) => void;\n}\n\nconst Index: React.FC = ({\n type,\n uploadCallback,\n children,\n acceptType = '',\n className,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [status, setStatus] = useState(false);\n\n const onChange = (e: any) => {\n if (status) {\n return;\n }\n if (e.target.files[0]) {\n // const fileSize = e.target.files[0].size || 0;\n\n // if (maxSize && fileSize / 1024 / 1024 > 2) {\n // Modal.confirm({\n // content: '请上传小于 2M 的图片',\n // });\n // return;\n // }\n setStatus(true);\n uploadImage({ file: e.target.files[0], type })\n .then((res) => {\n uploadCallback(res);\n })\n .finally(() => {\n setStatus(false);\n });\n }\n };\n\n return (\n \n {children || (status ? t('upload_img.loading') : t('upload_img.name'))}\n \n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Button, ButtonGroup } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { loggedUserInfoStore } from '@/stores';\nimport { useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { bookmark, postVote } from '@/services';\nimport * as Types from '@/common/interface';\n\ninterface Props {\n className?: string;\n source: 'question' | 'answer';\n data: {\n id: string;\n votesCount: number;\n isLike: boolean;\n isHate: boolean;\n hideCollect?: boolean;\n collected: boolean;\n collectCount: number;\n username: string;\n };\n}\n\nconst Index: FC = ({ className, data, source }) => {\n const [votes, setVotes] = useState(0);\n const [like, setLike] = useState(false);\n const [hate, setHated] = useState(false);\n const [bookmarkState, setBookmark] = useState({\n state: data?.collected,\n count: data?.collectCount,\n });\n const { username = '' } = loggedUserInfoStore((state) => state.user);\n const toast = useToast();\n const { t } = useTranslation();\n const vCaptcha = useCaptchaPlugin('vote');\n\n useEffect(() => {\n if (data) {\n setVotes(data.votesCount);\n setLike(data.isLike);\n setHated(data.isHate);\n setBookmark({\n state: data?.collected,\n count: data?.collectCount,\n });\n }\n }, []);\n\n const submitVote = (type) => {\n const isCancel = (type === 'up' && like) || (type === 'down' && hate);\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq?.(imgCode);\n\n postVote(\n {\n object_id: data?.id,\n is_cancel: isCancel,\n ...imgCode,\n },\n type,\n )\n .then(async (res) => {\n await vCaptcha?.close();\n setVotes(res.votes);\n setLike(res.vote_status === 'vote_up');\n setHated(res.vote_status === 'vote_down');\n })\n .catch((err) => {\n if (err?.isError) {\n vCaptcha?.handleCaptchaError(err.list);\n }\n const errMsg = err?.value;\n if (errMsg) {\n toast.onShow({\n msg: errMsg,\n variant: 'danger',\n });\n }\n });\n };\n\n const handleVote = (type: 'up' | 'down') => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (data.username === username) {\n toast.onShow({\n msg: t('cannot_vote_for_self'),\n variant: 'danger',\n });\n return;\n }\n\n if (!vCaptcha) {\n submitVote(type);\n return;\n }\n\n vCaptcha.check(() => {\n submitVote(type);\n });\n };\n\n const handleBookmark = () => {\n if (!tryNormalLogged(true)) {\n return;\n }\n bookmark({\n group_id: '0',\n object_id: data?.id,\n bookmark: !bookmarkState.state,\n }).then((res) => {\n setBookmark({\n state: !bookmarkState.state,\n count: res.object_collection_count,\n });\n });\n };\n\n return (\n
\n \n handleVote('up')}>\n \n \n \n handleVote('down')}>\n \n \n \n {!data?.hideCollect && (\n \n \n {bookmarkState.count}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Tag } from '@/common/interface';\nimport { pathFactory } from '@/router/pathFactory';\n\ninterface IProps {\n data: Tag;\n href?: string;\n className?: string;\n textClassName?: string;\n}\n\nconst Index: FC = ({\n data,\n href,\n className = '',\n textClassName = '',\n}) => {\n href ||= pathFactory.tagLanding(data.slug_name);\n\n return (\n \n \n {data.display_name || data.slug_name}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Dropdown, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { FacebookShareButton, TwitterShareButton } from 'next-share';\nimport copy from 'copy-to-clipboard';\n\nimport { BASE_ORIGIN } from '@/router/alias';\nimport { loggedUserInfoStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: any;\n aid?: any;\n title: string;\n // slugTitle: string;\n}\n\nconst Index: FC = ({ type, qid, aid, title }) => {\n const user = loggedUserInfoStore((state) => state.user);\n const [show, setShow] = useState(false);\n const [showTip, setShowTip] = useState(false);\n const [canSystemShare, setSystemShareState] = useState(false);\n const { t } = useTranslation();\n let baseUrl =\n type === 'question'\n ? `${BASE_ORIGIN}/questions/${qid}`\n : `${BASE_ORIGIN}/questions/${qid}/${aid}`;\n if (user.id) {\n baseUrl = `${baseUrl}?shareUserId=${user.username}`;\n }\n\n const closeShare = () => {\n setShowTip(false);\n setShow(false);\n };\n\n const handleCopy = (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n let copyText = baseUrl;\n if (title) {\n copyText = `${title} ${baseUrl}`;\n }\n copy(copyText);\n setShowTip(true);\n setTimeout(closeShare, 1000);\n };\n\n const systemShare = () => {\n navigator.share({\n title,\n text: `${title} - Answer:`,\n url: baseUrl,\n });\n };\n useEffect(() => {\n if (window.navigator?.canShare?.({ text: 'can_share' })) {\n setSystemShareState(true);\n }\n }, []);\n return (\n \n setShow(true)}\n style={{ lineHeight: '23px' }}>\n {t('share.name')}\n \n \n {t('share.copied')}}>\n \n {t('share.copy')}\n \n \n \n \n {t('share.facebook')}\n \n \n \n \n {t('share.twitter')}\n \n \n {canSystemShare && (\n {t('share.via')}\n )}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { Modal } from '@/components';\nimport { useReportModal, useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { QuestionOperationReq } from '@/common/interface';\nimport Share from '../Share';\nimport {\n deleteQuestion,\n deleteAnswer,\n editCheck,\n reopenQuestion,\n questionOperation,\n unDeleteAnswer,\n unDeleteQuestion,\n} from '@/services';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { floppyNavigation } from '@/utils';\nimport { toastStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: string;\n aid?: string;\n title: string;\n hasAnswer?: boolean;\n isAccepted: boolean;\n callback: (type: string) => void;\n memberActions;\n}\nconst Index: FC = ({\n type,\n qid,\n aid = '',\n title,\n isAccepted = false,\n hasAnswer = false,\n memberActions = [],\n callback,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'delete' });\n const toast = useToast();\n const navigate = useNavigate();\n const reportModal = useReportModal();\n const dCaptcha = useCaptchaPlugin('delete');\n\n const refreshQuestion = () => {\n callback?.('default');\n };\n const closeModal = useReportModal(refreshQuestion);\n const editUrl =\n type === 'answer' ? `/posts/${qid}/${aid}/edit` : `/posts/${qid}/edit`;\n\n const handleReport = () => {\n reportModal.onShow({\n type,\n id: type === 'answer' ? aid : qid,\n action: 'flag',\n });\n };\n\n const handleClose = () => {\n closeModal.onShow({\n type,\n id: qid,\n action: 'close',\n });\n };\n\n const submitDeleteQuestion = () => {\n const req = {\n id: qid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteQuestion(req)\n .then(async () => {\n await dCaptcha?.close();\n toast.onShow({\n msg: t('post_deleted', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n callback?.('delete_question');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const submitDeleteAnswer = () => {\n const req = {\n id: aid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteAnswer(req)\n .then(async () => {\n await dCaptcha?.close();\n // refresh page\n toast.onShow({\n msg: t('tip_answer_deleted'),\n variant: 'success',\n });\n callback?.('delete_answer');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = () => {\n if (type === 'question') {\n Modal.confirm({\n title: t('title'),\n content: hasAnswer ? t('question') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteQuestion();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteQuestion();\n });\n },\n });\n }\n\n if (type === 'answer' && aid) {\n Modal.confirm({\n title: t('title'),\n content: isAccepted ? t('answer_accepted') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteAnswer();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteAnswer();\n });\n },\n });\n }\n };\n\n const handleUndelete = () => {\n Modal.confirm({\n title: t('undelete_title'),\n content: t('undelete_desc'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('undelete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (type === 'question') {\n unDeleteQuestion(qid).then(() => {\n callback?.('default');\n });\n }\n\n if (type === 'answer') {\n unDeleteAnswer(aid).then(() => {\n callback?.('all');\n });\n }\n },\n });\n };\n\n const handleEdit = (evt, targetUrl) => {\n if (!floppyNavigation.shouldProcessLinkClick(evt)) {\n return;\n }\n evt.preventDefault();\n let checkObjectId = qid;\n if (type === 'answer') {\n checkObjectId = aid;\n }\n editCheck(checkObjectId).then(() => {\n navigate(targetUrl);\n });\n };\n\n const handleReopen = () => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.reopen' }),\n content: t('content', { keyPrefix: 'question_detail.reopen' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.reopen' }),\n onConfirm: () => {\n reopenQuestion({\n question_id: qid,\n }).then(() => {\n toast.onShow({\n msg: t('post_reopen', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n refreshQuestion();\n });\n },\n });\n };\n\n const handleCommon = async (params) => {\n await questionOperation(params);\n let msg = '';\n if (params.operation === 'pin') {\n msg = t('post_pin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'unpin') {\n msg = t('post_unpin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'hide') {\n msg = t('post_hide_list', { keyPrefix: 'messages' });\n }\n if (params.operation === 'show') {\n msg = t('post_show_list', { keyPrefix: 'messages' });\n }\n toastStore.getState().show({\n msg,\n variant: 'success',\n });\n setTimeout(() => {\n refreshQuestion();\n }, 100);\n };\n\n const handlOtherActions = (action) => {\n const params: QuestionOperationReq = {\n id: qid,\n operation: action,\n };\n\n if (action === 'pin') {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.pin' }),\n content: t('content', { keyPrefix: 'question_detail.pin' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.pin' }),\n onConfirm: () => {\n handleCommon(params);\n },\n });\n } else {\n handleCommon(params);\n }\n };\n\n const handleAction = (action) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'delete') {\n handleDelete();\n }\n\n if (action === 'undelete') {\n handleUndelete();\n }\n\n if (action === 'report') {\n handleReport();\n }\n\n if (action === 'close') {\n handleClose();\n }\n\n if (action === 'reopen') {\n handleReopen();\n }\n\n if (\n action === 'pin' ||\n action === 'unpin' ||\n action === 'hide' ||\n action === 'show'\n ) {\n handlOtherActions(action);\n }\n };\n\n const firstAction =\n memberActions?.filter(\n (v) =>\n v.action === 'report' ||\n v.action === 'edit' ||\n v.action === 'delete' ||\n v.action === 'undelete',\n ) || [];\n const secondAction =\n memberActions?.filter(\n (v) =>\n v.action === 'close' ||\n v.action === 'reopen' ||\n v.action === 'pin' ||\n v.action === 'unpin' ||\n v.action === 'hide' ||\n v.action === 'show',\n ) || [];\n\n return (\n
\n \n {firstAction?.map((item) => {\n if (item.action === 'edit') {\n return (\n handleEdit(evt, editUrl)}\n style={{ lineHeight: '23px' }}>\n {item.name}\n \n );\n }\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n {secondAction.length > 0 && (\n \n \n {t('action', { keyPrefix: 'question_detail' })}\n \n \n {secondAction.map((item) => {\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n \n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { Avatar, FormatTime } from '@/components';\nimport { formatCount } from '@/utils';\n\ninterface Props {\n data: any;\n time: number;\n preFix: string;\n isLogged: boolean;\n timelinePath: string;\n className?: string;\n}\n\nconst Index: FC = ({\n data,\n time,\n preFix,\n isLogged,\n timelinePath,\n className = '',\n}) => {\n return (\n
\n {data?.status !== 'deleted' ? (\n \n \n\n \n \n ) : (\n <>\n \n\n \n \n )}\n
\n
\n {data?.status !== 'deleted' ? (\n \n {data?.display_name}\n \n ) : (\n {data?.display_name}\n )}\n \n {formatCount(data?.rank)}\n \n
\n {time &&\n (isLogged ? (\n \n \n \n ) : (\n \n ))}\n
\n
\n );\n};\n\nexport default memo(Index);\n","/* eslint-disable react/no-multi-comp */\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PageItem = /*#__PURE__*/React.forwardRef(({\n active = false,\n disabled = false,\n className,\n style,\n activeLabel = '(current)',\n children,\n linkStyle,\n linkClassName,\n as = Anchor,\n ...props\n}, ref) => {\n const Component = active || disabled ? 'span' : as;\n return /*#__PURE__*/_jsx(\"li\", {\n ref: ref,\n style: style,\n className: classNames(className, 'page-item', {\n active,\n disabled\n }),\n children: /*#__PURE__*/_jsxs(Component, {\n className: classNames('page-link', linkClassName),\n style: linkStyle,\n ...props,\n children: [children, active && activeLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: activeLabel\n })]\n })\n });\n});\nPageItem.displayName = 'PageItem';\nexport default PageItem;\nfunction createButton(name, defaultValue, label = name) {\n const Button = /*#__PURE__*/React.forwardRef(({\n children,\n ...props\n }, ref) => /*#__PURE__*/_jsxs(PageItem, {\n ...props,\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n children: children || defaultValue\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: label\n })]\n }));\n Button.displayName = name;\n return Button;\n}\nexport const First = createButton('First', '«');\nexport const Prev = createButton('Prev', '‹', 'Previous');\nexport const Ellipsis = createButton('Ellipsis', '…', 'More');\nexport const Next = createButton('Next', '›');\nexport const Last = createButton('Last', '»');","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PageItem, { Ellipsis, First, Last, Next, Prev } from './PageItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Pagination = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n size,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');\n return /*#__PURE__*/_jsx(\"ul\", {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, size && `${decoratedBsPrefix}-${size}`)\n });\n});\nPagination.displayName = 'Pagination';\nexport default Object.assign(Pagination, {\n First,\n Prev,\n Ellipsis,\n Item: PageItem,\n Next,\n Last\n});","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Pagination } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useSearchParams, useNavigate, useLocation } from 'react-router-dom';\n\nimport { floppyNavigation } from '@/utils';\n\ninterface Props {\n currentPage: number;\n pageSize: number;\n totalSize: number;\n pathname?: string;\n}\n\ninterface PageItemProps {\n page: number;\n currentPage: number;\n path: string;\n}\n\nconst pageArr = [\n {\n href: '1',\n page: 1,\n },\n {\n href: '#!',\n page: 2,\n },\n {\n href: '#!',\n page: 3,\n },\n {\n href: '#!',\n page: 4,\n },\n {\n href: '#!',\n page: 5,\n },\n];\n\nconst PageItem = ({ page, currentPage, path }: PageItemProps) => {\n const navigate = useNavigate();\n return (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n e.stopPropagation();\n navigate(path);\n }\n }}>\n {page}\n \n );\n};\n\nconst Index: FC = ({\n currentPage = 1,\n pageSize = 15,\n totalSize = 0,\n pathname = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'pagination' });\n const location = useLocation();\n if (!pathname) {\n pathname = location.pathname;\n }\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const totalPage = Math.ceil(totalSize / pageSize);\n const realPage = currentPage > totalPage ? totalPage : currentPage;\n\n const mapPage = pageArr.filter((i) => i.page <= totalPage);\n\n if (totalPage <= 1) {\n return null;\n }\n\n const handleParams = (pageNum): string => {\n searchParams.set('page', String(pageNum));\n const searchStr = searchParams.toString();\n return `${pathname}?${searchStr}`;\n };\n return (\n \n {currentPage > 1 && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage - 1));\n }\n }}>\n {t('prev')}\n \n )}\n {currentPage >= 1 && currentPage <= 4 && (\n <>\n {mapPage.map((item) => {\n return (\n \n );\n })}\n \n )}\n {currentPage === 4 && totalPage > 6 && (\n \n )}\n\n {currentPage > 4 && (\n <>\n \n\n \n \n )}\n {currentPage >= 5 && (\n <>\n \n \n \n )}\n\n {currentPage > totalPage && (\n \n )}\n\n {currentPage >= 5 &&\n totalPage >= currentPage &&\n new Array(\n totalPage <= 3\n ? totalPage - currentPage + 1\n : Math.min(totalPage - currentPage + 1, 3),\n )\n .fill('')\n .map((v, i) => {\n return (\n \n );\n })}\n {totalPage > 5 && realPage + 2 < totalPage && (\n \n )}\n\n {totalPage > 0 && currentPage < totalPage && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage + 1));\n }\n }}>\n {t('next')}\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect, memo } from 'react';\nimport { Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { TextArea, Mentions } from '@/components';\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\nimport { parseEditMentionUser } from '@/utils';\n\nconst Index = ({\n className = '',\n value: initialValue = '',\n onSendReply,\n type = '',\n onCancel,\n mode,\n}) => {\n const [value, setValue] = useState('');\n const [immData, setImmData] = useState('');\n const pageUsers = usePageUsers();\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\n\n usePromptWithUnload({\n when: type === 'edit' ? immData !== value : Boolean(value),\n });\n useEffect(() => {\n if (!initialValue) {\n return;\n }\n setImmData(initialValue);\n setValue(initialValue);\n }, [initialValue]);\n\n const handleChange = (e) => {\n setValue(e.target.value);\n };\n const handleSelected = (val) => {\n setValue(val);\n };\n const handleSendReply = () => {\n onSendReply(value).catch((ex) => {\n if (ex.isError) {\n setValidationErrorMsg(ex.msg);\n }\n });\n };\n\n return (\n \n
\n \n \n \n \n
{t(`tip_${mode}`)}
\n
\n \n {validationErrorMsg}\n \n \n {type === 'edit' ? (\n
\n handleSendReply()}>\n {t('btn_save_edits')}\n \n \n {t('btn_cancel')}\n \n
\n ) : (\n handleSendReply()}>\n {t('btn_add_comment')}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Icon, FormatTime } from '@/components';\n\nconst ActionBar = ({\n nickName,\n username,\n createdAt,\n isVote,\n voteCount = 0,\n memberActions,\n onReply,\n onVote,\n onAction,\n userStatus = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n return (\n
\n
\n {userStatus !== 'deleted' ? (\n \n {nickName}\n \n ) : (\n {nickName}\n )}\n \n \n \n \n {voteCount > 0 && {voteCount}}\n \n \n {t('btn_reply')}\n \n
\n
\n {memberActions.map((action, index) => {\n return (\n 0 && 'ms-3',\n )}\n onClick={() => onAction(action)}>\n {action.name}\n \n );\n })}\n
\n \n \n \n \n\n \n {memberActions.map((action) => {\n return (\n onAction(action)}>\n {action.name}\n \n );\n })}\n \n \n
\n );\n};\n\nexport default memo(ActionBar);\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { useState, memo } from 'react';\r\nimport { Button, Form } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport classNames from 'classnames';\r\n\r\nimport { TextArea, Mentions } from '@/components';\r\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\r\n\r\nconst Index = ({ userName, onSendReply, onCancel, mode }) => {\r\n const [value, setValue] = useState('');\r\n const pageUsers = usePageUsers();\r\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\r\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\r\n\r\n usePromptWithUnload({\r\n when: Boolean(value),\r\n });\r\n\r\n const handleChange = (e) => {\r\n setValue(e.target.value);\r\n };\r\n const handleSelected = (val) => {\r\n setValue(val);\r\n };\r\n const handleSendReply = () => {\r\n onSendReply(value).catch((ex) => {\r\n if (ex.isError) {\r\n setValidationErrorMsg(ex.msg);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {t('reply_to')} {userName}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
{t(`tip_${mode}`)}
\r\n
\r\n \r\n {validationErrorMsg}\r\n \r\n
\r\n
\r\n handleSendReply()}>\r\n {t('btn_add_comment')}\r\n \r\n \r\n {t('btn_cancel')}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(Index);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect } from 'react';\nimport { Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\nimport unionBy from 'lodash/unionBy';\n\nimport * as Types from '@/common/interface';\nimport { Modal } from '@/components';\nimport { usePageUsers, useReportModal, useCaptchaModal } from '@/hooks';\nimport {\n matchedUsers,\n parseUserInfo,\n scrollToElementTop,\n bgFadeOut,\n} from '@/utils';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport {\n useQueryComments,\n addComment,\n deleteComment,\n updateComment,\n postVote,\n} from '@/services';\nimport { commentReplyStore } from '@/stores';\nimport Reactions from '@/pages/Questions/Detail/components/Reactions';\n\nimport { Form, ActionBar, Reply } from './components';\n\nimport './index.scss';\n\nconst Comment = ({ objectId, mode, commentId }) => {\n const pageUsers = usePageUsers();\n const [pageIndex, setPageIndex] = useState(0);\n const [visibleComment, setVisibleComment] = useState(false);\n const { id: currentReplyId, update: updateCurrentReplyId } =\n commentReplyStore();\n const pageSize = pageIndex === 0 ? 3 : 15;\n const { data, mutate } = useQueryComments({\n object_id: objectId,\n comment_id: commentId,\n page: pageIndex,\n page_size: pageSize,\n });\n const [comments, setComments] = useState([]);\n\n const reportModal = useReportModal();\n\n const addCaptcha = useCaptchaModal('comment');\n const editCaptcha = useCaptchaPlugin('edit');\n const dCaptcha = useCaptchaPlugin('delete');\n const vCaptcha = useCaptchaPlugin('vote');\n\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n useEffect(() => {\n if (pageIndex === 0 && commentId && comments.length !== 0) {\n setTimeout(() => {\n const el = document.getElementById(commentId);\n scrollToElementTop(el);\n bgFadeOut(el);\n }, 100);\n }\n\n return () => {\n updateCurrentReplyId('');\n };\n }, [comments]);\n\n useEffect(() => {\n if (!data) {\n return;\n }\n if (data.count <= 3) {\n data.list.sort((a, b) => a.created_at - b.created_at);\n }\n if (pageIndex === 1 || pageIndex === 0) {\n setComments(data?.list);\n } else {\n setComments([...comments, ...data.list]);\n }\n const user: Types.PageUser[] = [];\n data.list.forEach((item) => {\n user.push({\n id: item.user_id,\n displayName: item.user_display_name,\n userName: item.username,\n });\n user.push({\n id: item.reply_comment_id,\n displayName: item.reply_user_display_name,\n userName: item.username,\n });\n });\n pageUsers.setUsers(user);\n }, [data]);\n\n const handleReply = (id) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n comments.forEach((item) => {\n if (item.comment_id === id) {\n updateCurrentReplyId(id);\n }\n });\n };\n\n const handleEdit = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = !item.showEdit;\n }\n return item;\n }),\n );\n };\n\n const submitUpdateComment = (params, item) => {\n const up = {\n ...params,\n comment_id: item.comment_id,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n editCaptcha?.resolveCaptchaReq(up);\n\n return updateComment(up)\n .then(async (res) => {\n await editCaptcha?.close();\n setComments(\n comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n comment.showEdit = false;\n comment.parsed_text = res.parsed_text;\n comment.original_text = res.original_text;\n }\n return comment;\n }),\n );\n })\n .catch((err) => {\n if (err.isError) {\n const captchaErr = editCaptcha?.handleCaptchaError(err.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && err.list.length === 1)) {\n return Promise.reject(err);\n }\n }\n return Promise.resolve();\n });\n };\n\n const submitAddComment = (params, item) => {\n const req = {\n ...params,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n addCaptcha?.resolveCaptchaReq(req);\n\n return addComment(req)\n .then(async (res) => {\n await addCaptcha?.close();\n if (item.type === 'reply') {\n const index = comments.findIndex(\n (comment) => comment.comment_id === item.comment_id,\n );\n updateCurrentReplyId('');\n comments.splice(index + 1, 0, res);\n setComments([...comments]);\n } else {\n setComments([\n ...comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n updateCurrentReplyId('');\n }\n return comment;\n }),\n res,\n ]);\n }\n\n setVisibleComment(false);\n })\n .catch((ex) => {\n if (ex.isError) {\n const captchaErr = addCaptcha?.handleCaptchaError(ex.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && ex.list.length === 1)) {\n return Promise.reject(ex);\n }\n }\n return Promise.resolve();\n });\n };\n\n const handleSendReply = (item) => {\n const users = matchedUsers(item.value);\n const userNames = unionBy(users.map((user) => user.userName));\n const commentMarkDown = parseUserInfo(item.value);\n\n const params = {\n object_id: objectId,\n original_text: commentMarkDown,\n mention_username_list: userNames,\n ...(item.type === 'reply'\n ? {\n reply_comment_id: item.comment_id,\n }\n : {}),\n };\n\n if (item.type === 'edit') {\n if (!editCaptcha) {\n return submitUpdateComment(params, item);\n }\n return editCaptcha.check(() => submitUpdateComment(params, item));\n }\n\n if (!addCaptcha) {\n return submitAddComment(params, item);\n }\n\n return addCaptcha.check(() => submitAddComment(params, item));\n };\n\n const submitDeleteComment = (id) => {\n const imgCode = { captcha_id: undefined, captcha_code: undefined };\n dCaptcha?.resolveCaptchaReq(imgCode);\n\n deleteComment(id, imgCode)\n .then(async () => {\n await dCaptcha?.close();\n if (pageIndex === 0) {\n mutate();\n }\n setComments(comments.filter((item) => item.comment_id !== id));\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = (id) => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'delete' }),\n content: t('other', { keyPrefix: 'delete' }),\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteComment(id);\n return;\n }\n dCaptcha.check(() => {\n submitDeleteComment(id);\n });\n },\n });\n };\n\n const submitVoteComment = (id, is_cancel) => {\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq(imgCode);\n\n postVote(\n {\n object_id: id,\n is_cancel,\n ...imgCode,\n },\n 'up',\n )\n .then(async () => {\n await vCaptcha?.close();\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.vote_count = is_cancel\n ? item.vote_count - 1\n : item.vote_count + 1;\n item.is_vote = !is_cancel;\n }\n return item;\n }),\n );\n })\n .catch((ex) => {\n if (ex.isError) {\n vCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n const handleVote = (id, is_cancel) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (!vCaptcha) {\n submitVoteComment(id, is_cancel);\n return;\n }\n\n vCaptcha.check(() => {\n submitVoteComment(id, is_cancel);\n });\n };\n\n const handleAction = ({ action }, item) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'report') {\n reportModal.onShow({\n id: item.comment_id,\n type: 'comment',\n action: 'flag',\n });\n } else if (action === 'delete') {\n handleDelete(item.comment_id);\n } else if (action === 'edit') {\n handleEdit(item.comment_id);\n }\n };\n\n const handleCancel = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = false;\n updateCurrentReplyId('');\n }\n return item;\n }),\n );\n };\n\n const handleAddComment = () => {\n if (!tryNormalLogged(true)) {\n setVisibleComment(false);\n return;\n }\n\n setVisibleComment(!visibleComment);\n };\n\n return (\n <>\n \n 0 && 'bg-light px-3 py-2 rounded',\n )}>\n {comments.map((item) => {\n return (\n \n {item.showEdit ? (\n \n handleSendReply({ ...item, value, type: 'edit' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : (\n
\n {item.reply_user_display_name && (\n \n @{item.reply_user_display_name}\n \n )}\n\n \n
\n )}\n\n {currentReplyId === item.comment_id ? (\n \n handleSendReply({ ...item, value, type: 'reply' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : null}\n {item.showEdit || currentReplyId === item.comment_id ? null : (\n {\n handleReply(item.comment_id);\n }}\n onAction={(action) => handleAction(action, item)}\n onVote={(e) => {\n e.preventDefault();\n handleVote(item.comment_id, item.is_vote);\n }}\n />\n )}\n \n );\n })}\n\n
0 && 'py-2')}>\n {comments.length > 0 && (\n \n {t('btn_add_comment')}\n \n )}\n {data &&\n (pageIndex || 1) < Math.ceil((data?.count || 0) / pageSize) && (\n {\n setPageIndex(pageIndex + 1);\n }}>\n {t('show_more', {\n count:\n data.count - (pageIndex === 0 ? 3 : pageIndex * pageSize),\n })}\n \n )}\n
\n\n {visibleComment && (\n handleSendReply({ value, type: 'comment' })}\n onCancel={() => setVisibleComment(!visibleComment)}\n />\n )}\n \n \n );\n};\n\nexport default Comment;\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { FC, useRef, useEffect, memo } from 'react';\r\nimport { FormControl, FormControlProps } from 'react-bootstrap';\r\n\r\nconst TextArea: FC<\r\n FormControlProps & { rows?: number; autoFocus?: boolean }\r\n> = ({\r\n value,\r\n onChange,\r\n size,\r\n rows = 1,\r\n autoFocus = true,\r\n isInvalid,\r\n ...rest\r\n}) => {\r\n const ref = useRef(null);\r\n\r\n const autoGrow = () => {\r\n if (ref.current) {\r\n ref.current.style.height = 'auto';\r\n ref.current.style.height = `${ref.current.scrollHeight}px`;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (ref.current && value) {\r\n autoGrow();\r\n }\r\n }, [ref, value]);\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport default memo(TextArea);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useEffect, useRef, useState, FC } from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { useSearchUserStaff } from '@/services';\nimport * as Types from '@/common/interface';\n\nimport './index.scss';\n\ninterface IProps {\n children: React.ReactNode;\n pageUsers;\n onSelected: (val: string) => void;\n}\n\nconst MAX_RECODE = 5;\n\nconst Mentions: FC = ({ children, pageUsers, onSelected }) => {\n const menuRef = useRef(null);\n const dropdownRef = useRef(null);\n const [val, setValue] = useState('');\n const [users, setUsers] = useState([]);\n const [cursor, setCursor] = useState(0);\n const [isRequested, setRequestedState] = useState(false);\n const { data: staffUserList = [] } = useSearchUserStaff(val);\n const mapStaffUsers =\n staffUserList\n ?.map((item) => ({\n displayName: item.display_name,\n userName: item.username,\n }))\n ?.filter(\n (item) =>\n users.findIndex((user) => user.userName === item.userName) < 0,\n ) || [];\n\n const searchUser = () => {\n const element = dropdownRef.current?.children[0];\n const { value, selectionStart = 0 } = element as HTMLTextAreaElement;\n\n if (value.indexOf('@') < 0) {\n setValue('');\n }\n if (!selectionStart) {\n return;\n }\n\n const str = value.substring(\n value.substring(0, selectionStart).lastIndexOf('@'),\n selectionStart,\n );\n\n if (str.substring(str.lastIndexOf(' '), selectionStart).indexOf('@') < 0) {\n return;\n }\n\n setValue(str.substring(1));\n\n if (!str.substring(1)) {\n return;\n }\n if (isRequested) {\n return;\n }\n setRequestedState(true);\n };\n\n useEffect(() => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n if (element) {\n element.addEventListener('input', searchUser);\n }\n return () => {\n element.removeEventListener('input', searchUser);\n };\n }, [dropdownRef]);\n\n useEffect(() => {\n setUsers(pageUsers);\n }, [pageUsers, val]);\n\n const handleClick = (item) => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n const { value, selectionStart = 0 } = element;\n\n if (!selectionStart) {\n return;\n }\n\n const text = `@${item?.userName} `;\n onSelected(\n `${value.substring(\n 0,\n value.substring(0, selectionStart).lastIndexOf('@'),\n )}${text}${value.substring(selectionStart)}`,\n );\n setUsers([]);\n setValue('');\n };\n const filterData = val\n ? [...users, ...mapStaffUsers].filter(\n (item) =>\n item.displayName?.indexOf(val) === 0 ||\n item.userName?.indexOf(val) === 0,\n )\n : [];\n const handleKeyDown = (e) => {\n const { keyCode } = e;\n\n if (keyCode === 38 && cursor > 0) {\n e.preventDefault();\n setCursor(cursor - 1);\n }\n if (keyCode === 40 && cursor < filterData.length - 1) {\n e.preventDefault();\n\n setCursor(cursor + 1);\n }\n if (keyCode === 13 && cursor > -1 && cursor <= filterData.length - 1) {\n e.preventDefault();\n\n const item = filterData[cursor];\n\n handleClick(item);\n setCursor(0);\n }\n };\n\n return (\n 0}\n onKeyDown={handleKeyDown}>\n {children}\n 0 ? 'visible' : 'invisible'}\n ref={menuRef}>\n {filterData\n .filter((_, index) => index < MAX_RECODE)\n .map((item, index) => {\n return (\n handleClick(item)}>\n {item.displayName}\n @{item.userName}\n \n );\n })}\n \n \n );\n};\n\nexport default Mentions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\n\ninterface Props {\n time: number;\n className?: string;\n preFix?: string;\n}\n\nconst Index: FC = ({ time, preFix, className }) => {\n const { t } = useTranslation();\n const formatTime = (from) => {\n const now = Math.floor(dayjs().valueOf() / 1000);\n const between = now > from ? now - from : 0;\n\n if (between <= 1) {\n return t('dates.now');\n }\n if (between > 1 && between < 60) {\n return t('dates.x_seconds_ago', { count: between });\n }\n\n if (between >= 60 && between < 3600) {\n const min = Math.floor(between / 60);\n return t('dates.x_minutes_ago', { count: min });\n }\n if (between >= 3600 && between < 3600 * 24) {\n const h = Math.floor(between / 3600);\n return t('dates.x_hours_ago', { count: h });\n }\n\n if (\n between >= 3600 * 24 &&\n between < 3600 * 24 * 366 &&\n dayjs.unix(from).format('YYYY') === dayjs.unix(now).format('YYYY')\n ) {\n return dayjs.unix(from).tz().format(t('dates.long_date'));\n }\n\n return dayjs.unix(from).tz().format(t('dates.long_date_with_year'));\n };\n\n if (!time) {\n return null;\n }\n\n return (\n \n {preFix ? `${preFix} ` : ''}\n {formatTime(time)}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Toast } from 'react-bootstrap';\n\ninterface IProps {\n /** main content */\n msg: string;\n /** theme color */\n variant?: 'warning' | 'success' | 'danger';\n /** callback click close */\n onClose: () => void;\n}\n\nconst Index: FC = ({ msg, variant = 'warning', onClose }) => {\n return (\n \n \n
\n \n \n
\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, useEffect, useState } from 'react';\nimport { Accordion, Nav } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { floppyNavigation } from '@/utils';\nimport { Icon } from '@/components';\nimport './index.css';\n\nfunction MenuNode({\n menu,\n callback,\n activeKey,\n expanding = false,\n path = '/',\n}) {\n const { t } = useTranslation('translation', { keyPrefix: 'nav_menus' });\n const isLeaf = !menu.children.length;\n const href = isLeaf ? `${path}${menu.path}` : '#';\n\n return (\n \n {\n callback(evt, menu, href, isLeaf);\n }}\n href={href}\n className={classNames(\n 'text-nowrap d-flex flex-nowrap align-items-center w-100',\n { expanding, 'link-dark': activeKey !== menu.path },\n )}>\n \n {menu.displayName ? menu.displayName : t(menu.name)}\n \n {menu.badgeContent ? (\n {menu.badgeContent}\n ) : null}\n {!isLeaf && (\n \n )}\n \n {menu.children.length ? (\n \n <>\n {menu.children.map((leaf) => {\n return (\n \n );\n })}\n \n \n ) : null}\n \n );\n}\n\ninterface AccordionProps {\n menus: any[];\n path?: string;\n}\nconst AccordionNav: FC = ({ menus = [], path = '/' }) => {\n const navigate = useNavigate();\n const pathMatch = useMatch(`${path}*`);\n // auto set menu fields\n menus.forEach((m) => {\n if (!m.path) {\n m.path = m.name;\n }\n if (!Array.isArray(m.children)) {\n m.children = [];\n }\n m.children.forEach((sm) => {\n if (!sm.path) {\n sm.path = sm.name;\n }\n if (!Array.isArray(sm.children)) {\n sm.children = [];\n }\n });\n });\n\n const splat = pathMatch && pathMatch.params['*'];\n let activeKey = menus[0].path;\n if (splat) {\n activeKey = splat;\n }\n const getOpenKey = () => {\n let openKey = '';\n menus.forEach((li) => {\n if (li.children.length) {\n const matchedChild = li.children.find((el) => {\n return el.path === activeKey;\n });\n if (matchedChild) {\n openKey = li.path;\n }\n }\n });\n return openKey;\n };\n\n const [openKey, setOpenKey] = useState(getOpenKey());\n const menuClick = (evt, menu, href, isLeaf) => {\n evt.stopPropagation();\n if (isLeaf) {\n if (floppyNavigation.shouldProcessLinkClick(evt)) {\n evt.preventDefault();\n navigate(href);\n }\n } else {\n setOpenKey(openKey === menu.path ? '' : menu.path);\n }\n };\n useEffect(() => {\n setOpenKey(getOpenKey());\n }, [activeKey, menus]);\n return (\n \n \n \n );\n};\n\nexport default AccordionNav;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, ReactNode } from 'react';\nimport { Trans } from 'react-i18next';\n\nconst Index: FC<{ children?: ReactNode }> = ({ children }) => {\n return (\n
\n {children || (\n \n We couldn't find anything.
Try different or less specific\n keywords.\n
\n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { Avatar } from '@/components';\nimport { formatCount } from '@/utils';\n\ninterface Props {\n data: any;\n showAvatar?: boolean;\n avatarSize?: string;\n showReputation?: boolean;\n avatarSearchStr?: string;\n className?: string;\n avatarClass?: string;\n nameMaxWidth?: string;\n}\n\nconst Index: FC = ({\n data,\n showAvatar = true,\n avatarClass = '',\n avatarSize = '20px',\n className = 'small',\n avatarSearchStr = 's=48',\n showReputation = true,\n nameMaxWidth = '300px',\n}) => {\n return (\n
\n {data?.status !== 'deleted' ? (\n \n {showAvatar && (\n \n )}\n \n {data?.display_name}\n \n \n ) : (\n <>\n {showAvatar && (\n \n )}\n {data?.display_name}\n \n )}\n\n {showReputation && (\n \n {formatCount(data?.rank)}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useState } from 'react';\nimport { Card, Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { TagSelector, Tag } from '@/components';\nimport { tryLoggedAndActivated } from '@/utils/guard';\nimport { useFollowingTags, followTags } from '@/services';\n\nconst Index: FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const [isEdit, setEditState] = useState(false);\n const { data: followingTags, mutate } = useFollowingTags();\n\n const newTags: any = followingTags?.map((item) => {\n if (item.slug_name) {\n return item.slug_name;\n }\n return item;\n });\n\n const handleFollowTags = () => {\n followTags({\n slug_name_list: newTags,\n });\n setEditState(false);\n };\n\n const handleTagsChange = (value) => {\n mutate([...value], {\n revalidate: false,\n });\n };\n\n if (!tryLoggedAndActivated().ok) {\n return null;\n }\n return isEdit ? (\n \n \n {t('following_tags')}\n \n {t('save')}\n \n \n \n \n \n \n ) : (\n \n \n {t('following_tags')}\n setEditState(true)}>\n {t('edit')}\n \n \n \n {followingTags?.length ? (\n
\n {followingTags.map((item) => {\n const slugName = item?.slug_name;\n return ;\n })}\n
\n ) : (\n <>\n
{t('follow_tag_tip')}
\n setEditState(true)}>\n {t('follow_a_tag')}\n \n \n )}\n
\n
\n );\n};\n\nexport default memo(Index);\n","import PropTypes from 'prop-types';\nconst alignDirection = PropTypes.oneOf(['start', 'end']);\nexport const alignPropType = PropTypes.oneOfType([alignDirection, PropTypes.shape({\n sm: alignDirection\n}), PropTypes.shape({\n md: alignDirection\n}), PropTypes.shape({\n lg: alignDirection\n}), PropTypes.shape({\n xl: alignDirection\n}), PropTypes.shape({\n xxl: alignDirection\n}), PropTypes.object]);","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Dropdown from './Dropdown';\nimport DropdownToggle from './DropdownToggle';\nimport DropdownMenu from './DropdownMenu';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.\n * @type {string}\n */\n id: PropTypes.string,\n /** An `href` passed to the Toggle component */\n href: PropTypes.string,\n /** An `onClick` handler passed to the Toggle component */\n onClick: PropTypes.func,\n /** The content of the non-toggle Button. */\n title: PropTypes.node.isRequired,\n /** Disables both Buttons */\n disabled: PropTypes.bool,\n /**\n * Aligns the dropdown menu.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n *\n * @type {\"start\"|\"end\"|{ sm: \"start\"|\"end\" }|{ md: \"start\"|\"end\" }|{ lg: \"start\"|\"end\" }|{ xl: \"start\"|\"end\"}|{ xxl: \"start\"|\"end\"} }\n */\n align: alignPropType,\n /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */\n menuRole: PropTypes.string,\n /** Whether to render the dropdown menu in the DOM before the first time it is shown */\n renderMenuOnMount: PropTypes.bool,\n /**\n * Which event when fired outside the component will cause it to be closed.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n */\n rootCloseEvent: PropTypes.string,\n /**\n * Menu color variant.\n *\n * Omitting this will use the default light color.\n */\n menuVariant: PropTypes.oneOf(['dark']),\n /**\n * Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to\n * Popper.js's flip [docs](https://popper.js.org/docs/v2/modifiers/flip/).\n *\n */\n flip: PropTypes.bool,\n /** @ignore */\n bsPrefix: PropTypes.string,\n /** @ignore */\n variant: PropTypes.string,\n /** @ignore */\n size: PropTypes.string\n};\n\n/**\n * A convenience component for simple or general use dropdowns. Renders a `Button` toggle and all `children`\n * are passed directly to the default `Dropdown.Menu`. This component accepts all of\n * [`Dropdown`'s props](#dropdown-props).\n *\n * _All unknown props are passed through to the `Dropdown` component._ Only\n * the Button `variant`, `size` and `bsPrefix` props are passed to the toggle,\n * along with menu-related props are passed to the `Dropdown.Menu`\n */\nconst DropdownButton = /*#__PURE__*/React.forwardRef(({\n title,\n children,\n bsPrefix,\n rootCloseEvent,\n variant,\n size,\n menuRole,\n renderMenuOnMount,\n disabled,\n href,\n id,\n menuVariant,\n flip,\n ...props\n}, ref) => /*#__PURE__*/_jsxs(Dropdown, {\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(DropdownToggle, {\n id: id,\n href: href,\n size: size,\n variant: variant,\n disabled: disabled,\n childBsPrefix: bsPrefix,\n children: title\n }), /*#__PURE__*/_jsx(DropdownMenu, {\n role: menuRole,\n renderOnMount: renderMenuOnMount,\n rootCloseEvent: rootCloseEvent,\n variant: menuVariant,\n flip: flip,\n children: children\n })]\n}));\nDropdownButton.displayName = 'DropdownButton';\nDropdownButton.propTypes = propTypes;\nexport default DropdownButton;","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { ButtonGroup, Button, DropdownButton, Dropdown } from 'react-bootstrap';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { floppyNavigation } from '@/utils';\n\ninterface Props {\n data;\n i18nKeyPrefix: string;\n currentSort: string;\n sortKey?: string;\n className?: string;\n pathname?: string;\n wrapClassName?: string;\n}\nconst MAX_BUTTON_COUNT = 3;\nconst Index: FC = ({\n data = [],\n currentSort = '',\n sortKey = 'order',\n i18nKeyPrefix = '',\n className = '',\n pathname = '',\n wrapClassName = '',\n}) => {\n const [searchParams, setUrlSearchParams] = useSearchParams();\n const navigate = useNavigate();\n\n const { t } = useTranslation('translation', {\n keyPrefix: i18nKeyPrefix,\n });\n\n const handleParams = (order): string => {\n searchParams.delete('page');\n searchParams.set(sortKey, order);\n const searchStr = searchParams.toString();\n return `?${searchStr}`;\n };\n\n const handleClick = (e, type) => {\n const str = handleParams(type);\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n if (pathname) {\n navigate(`${pathname}${str}`);\n } else {\n setUrlSearchParams(str);\n }\n }\n };\n\n const filteredData = data.filter((_, index) => index > MAX_BUTTON_COUNT - 2);\n const currentBtn = filteredData.find((btn) => {\n return (typeof btn === 'string' ? btn : btn.name) === currentSort;\n });\n return (\n \n {data.map((btn, index) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n MAX_BUTTON_COUNT &&\n index > MAX_BUTTON_COUNT - 2 &&\n 'd-none d-md-block',\n className,\n )}\n style={\n data.length > MAX_BUTTON_COUNT && index === data.length - 1\n ? {\n borderTopRightRadius: '0.25rem',\n borderBottomRightRadius: '0.25rem',\n }\n : {}\n }\n href={\n pathname ? `${pathname}${handleParams(key)}` : handleParams(key)\n }\n onClick={(evt) => handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n {data.length > MAX_BUTTON_COUNT && (\n \n {filteredData.map((btn) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Tag } from '@/components';\nimport { diffText } from '@/utils';\n\ninterface Props {\n objectType: string | 'question' | 'answer' | 'tag';\n newData: Record;\n oldData?: Record;\n className?: string;\n opts?: Partial<{\n showTitle: boolean;\n showTagUrlSlug: boolean;\n }>;\n}\n\nconst Index: FC = ({\n objectType,\n newData,\n oldData,\n className = '',\n opts = {\n showTitle: true,\n showTagUrlSlug: true,\n },\n}) => {\n if (!newData) return null;\n\n let tag = newData.tags;\n if (objectType === 'question' && oldData?.tags) {\n const addTags = newData.tags.filter(\n (c) => !oldData?.tags?.find((p) => p.slug_name === c.slug_name),\n );\n\n let deleteTags = oldData?.tags\n .filter((c) => !newData?.tags.find((p) => p.slug_name === c.slug_name))\n .map((v) => ({ ...v, state: 'delete' }));\n\n deleteTags = deleteTags?.map((v) => {\n const index = oldData?.tags?.findIndex(\n (c) => c.slug_name === v.slug_name,\n );\n return {\n ...v,\n pre_index: index,\n };\n });\n\n tag = newData.tags.map((item) => {\n const find = addTags.find((c) => c.slug_name === item.slug_name);\n if (find) {\n return {\n ...find,\n state: 'add',\n };\n }\n return item;\n });\n\n deleteTags.forEach((v) => {\n tag.splice(v.pre_index, 0, v);\n });\n }\n\n return (\n
\n {objectType !== 'answer' && opts?.showTitle && (\n \n )}\n {objectType === 'question' && (\n
\n {tag?.map((item) => {\n return (\n \n );\n })}\n
\n )}\n {objectType === 'tag' && opts?.showTagUrlSlug && (\n \n )}\n \n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst CUSTOM_MARK_HEAD = 'customize_head';\nconst CUSTOM_MARK_HEADER = 'customize_header';\nconst CUSTOM_MARK_FOOTER = 'customize_footer';\n\nconst makeMarker = (mark) => {\n return ``;\n};\n\nconst ActivateScriptNodes = (el, part) => {\n let startMarkNode;\n const scriptList: HTMLScriptElement[] = [];\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n // this is the endMarkNode\n break;\n }\n }\n if (\n startMarkNode &&\n node.nodeType === 1 &&\n node.nodeName.toLowerCase() === 'script'\n ) {\n scriptList.push(node);\n }\n }\n scriptList?.forEach((so) => {\n const script = document.createElement('script');\n script.text = `(() => {${so.text}})();`;\n for (let i = 0; i < so.attributes.length; i += 1) {\n const attr = so.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n el.replaceChild(script, so);\n });\n};\n\ntype pos = 'afterbegin' | 'beforeend';\nconst renderCustomArea = (el, part, pos: pos, content: string = '') => {\n let startMarkNode;\n let endMarkNode;\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n endMarkNode = node;\n break;\n }\n }\n }\n\n if (startMarkNode && endMarkNode) {\n while (\n startMarkNode.nextSibling &&\n startMarkNode.nextSibling !== endMarkNode\n ) {\n el.removeChild(startMarkNode.nextSibling);\n }\n }\n if (startMarkNode) {\n el.removeChild(startMarkNode);\n }\n if (endMarkNode) {\n el.removeChild(endMarkNode);\n }\n el.insertAdjacentHTML(pos, makeMarker(part));\n el.insertAdjacentHTML(pos, content);\n el.insertAdjacentHTML(pos, makeMarker(part));\n ActivateScriptNodes(el, part);\n};\nconst handleCustomHead = (content) => {\n const el = document.head;\n renderCustomArea(el, CUSTOM_MARK_HEAD, 'beforeend', content);\n};\n\nconst handleCustomHeader = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_HEADER, 'afterbegin', content);\n};\n\nconst handleCustomFooter = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_FOOTER, 'beforeend', content);\n};\n\nconst Index: FC = () => {\n const { custom_head, custom_header, custom_footer } = customizeStore(\n (state) => state,\n );\n useEffect(() => {\n const isSeo = document.querySelector('meta[name=\"go-template\"]');\n if (!isSeo) {\n setTimeout(() => {\n handleCustomHead(custom_head);\n }, 1000);\n handleCustomHeader(custom_header);\n handleCustomFooter(custom_footer);\n }\n }, [custom_head, custom_header, custom_footer]);\n return null;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport Color from 'color';\n\nimport { shiftColor, tintColor, shadeColor } from '@/utils';\nimport { themeSettingStore } from '@/stores';\n\nconst Index: FC = () => {\n const { theme, theme_config } = themeSettingStore((_) => _);\n let primaryColor;\n if (theme_config?.[theme]?.primary_color) {\n primaryColor = Color(theme_config[theme].primary_color);\n }\n const setThemeColor = () => {\n const themeMetaNode = document.querySelector('meta[name=\"theme-color\"]');\n if (themeMetaNode) {\n const themeColor = primaryColor ? primaryColor.hex() : '#0033ff';\n themeMetaNode.setAttribute('content', themeColor);\n }\n };\n useLayoutEffect(() => {\n setThemeColor();\n }, [primaryColor]);\n\n return (\n \n {primaryColor && (\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport { REACT_BASE_PATH } from '@/router/alias';\nimport { brandingStore, pageTagStore, siteInfoStore } from '@/stores';\nimport { getCurrentLang } from '@/utils/localize';\n\nconst doInsertCustomCSS = !document.querySelector('link[href*=\"custom.css\"]');\n\nconst Index: FC = () => {\n const { favicon, square_icon } = brandingStore((state) => state.branding);\n const { pageTitle, keywords, description } = pageTagStore(\n (state) => state.items,\n );\n const appVersion = siteInfoStore((_) => _.version);\n const hashVersion = siteInfoStore((_) => _.revision);\n const siteName = siteInfoStore((_) => _.siteInfo).name;\n const setAppGenerator = () => {\n if (!appVersion) {\n return;\n }\n const generatorMetaNode = document.querySelector('meta[name=\"generator\"]');\n if (generatorMetaNode) {\n generatorMetaNode.setAttribute(\n 'content',\n `Answer ${appVersion} - https://github.com/apache/incubator-answer version ${hashVersion}`,\n );\n }\n };\n const setDocTitle = () => {\n try {\n if (pageTitle) {\n document.title = pageTitle;\n }\n // eslint-disable-next-line no-empty\n } catch (ex) {}\n };\n const currentLang = getCurrentLang();\n const setDocLang = () => {\n if (currentLang) {\n document.documentElement.setAttribute(\n 'lang',\n currentLang.replace('_', '-'),\n );\n }\n };\n // properties used for social media tags\n const openGraphType = 'website';\n const twitterType = 'summary';\n const { href } = window.location;\n const { hostname } = new URL(href);\n\n useEffect(() => {\n setDocLang();\n }, [currentLang]);\n useEffect(() => {\n setAppGenerator();\n }, [appVersion]);\n useLayoutEffect(() => {\n setDocTitle();\n }, [pageTitle]);\n return (\n \n \n \n \n {pageTitle}\n {keywords && }\n {description && }\n {doInsertCustomCSS && (\n \n )}\n {/* Social media meta share tags start here */}\n \n \n \n \n {description && }\n \n \n \n {description && }\n \n {/* Social media meta share tags end here */}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { ListGroupItem } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 10 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n\n \n\n \n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Col, Card } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 20 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n \n \n\n \n
\n \n \n
\n
\n
\n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { siteInfoStore } from '@/stores';\n\ninterface Props {\n as?: React.ElementType;\n className?: string;\n}\n\nconst Index: FC = ({ as: Component = 'h3', className = 'mb-5' }) => {\n const { t } = useTranslation();\n const { name: siteName } = siteInfoStore((_) => _.siteInfo);\n return (\n \n {t('website_welcome', { site_name: siteName })}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classname from 'classnames';\n\nimport { Icon } from '@/components';\n\ninterface Props {\n data: {\n votes: number;\n answers: number;\n views: number;\n };\n showVotes?: boolean;\n showAnswers?: boolean;\n showViews?: boolean;\n showAccepted?: boolean;\n isAccepted?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n data,\n showVotes = true,\n showAnswers = true,\n showViews = true,\n isAccepted = false,\n showAccepted = false,\n className = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'counts' });\n\n return (\n
\n {showVotes && (\n
\n \n \n {data.votes} {t('votes')}\n \n
\n )}\n\n {showAccepted && (\n
\n \n {t('accepted')}\n
\n )}\n\n {showAnswers && (\n \n {isAccepted ? (\n \n ) : (\n \n )}\n \n {data.answers} {t('answers')}\n \n
\n )}\n {showViews && (\n \n \n \n {data.views} {t('views')}\n \n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { usePageTags } from '@/hooks';\n\nconst Index = ({\n httpCode = '',\n title = '',\n errMsg = '',\n showErrorCode = true,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'page_error' });\n useEffect(() => {\n // auto height of container\n const pageWrap = document.querySelector('.page-wrap') as HTMLElement;\n if (pageWrap) {\n pageWrap.style.display = 'contents';\n }\n\n return () => {\n if (pageWrap) {\n pageWrap.style.display = 'block';\n }\n };\n }, []);\n\n usePageTags({\n title: t(`http_${httpCode}`, { keyPrefix: 'page_title' }),\n });\n\n return (\n
\n \n (=‘x‘=)\n
\n {showErrorCode && (\n

{t('http_error', { code: httpCode })}

\n )}\n {title &&

{title}

}\n
\n {errMsg || t(`desc_${httpCode}`)}\n
\n
\n \n {t('back_home')}\n \n
\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst Index = () => {\n const { custom_sidebar } = customizeStore((state) => state);\n if (!custom_sidebar) return null;\n return
;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Col, Nav } from 'react-bootstrap';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { loggedUserInfoStore, sideNavStore } from '@/stores';\nimport { Icon } from '@/components';\nimport './index.scss';\n\nconst Index: FC = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const { user: userInfo } = loggedUserInfoStore();\n const { visible, can_revision, revision } = sideNavStore();\n\n const handleNavClick = (e, path) => {\n e.preventDefault();\n navigate(path);\n };\n return (\n \n
\n \n
\n
\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\n\nimport './index.scss';\n\ninterface IProps {\n text: string;\n keywords: string[];\n}\n\nconst Index: FC = ({ text = '', keywords = [] }) => {\n const regex = new RegExp(`(${keywords.join('|')})`, 'gi');\n\n return (\n \n {text.split(regex).map((piece: string, index: number) => {\n const key = `${piece.substring(0, 6)}_${index}`;\n return keywords.find(\n (kw: string) => kw.toLocaleLowerCase() === piece.toLocaleLowerCase(),\n ) ? (\n {piece}\n ) : (\n piece\n );\n })}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect, useState } from 'react';\nimport { Button, OverlayTrigger, Popover, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { queryReactions, updateReaction } from '@/services';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { ReactionItem } from '@/common/interface';\n\ninterface Props {\n objectId: string;\n showAddCommentBtn?: boolean;\n handleClickComment: () => void;\n}\n\nconst emojiMap = [\n {\n name: 'heart',\n icon: 'heart-fill',\n className: 'text-danger',\n },\n {\n name: 'smile',\n icon: 'emoji-laughing-fill',\n className: 'text-warning',\n },\n {\n name: 'frown',\n icon: 'emoji-frown-fill',\n className: 'text-warning',\n },\n];\n\nconst Index: FC = ({\n objectId,\n showAddCommentBtn,\n handleClickComment,\n}) => {\n const [reactions, setReactions] = useState();\n const [reactIsActive, setReactIsActive] = useState(false);\n const { t } = useTranslation('translation');\n\n useEffect(() => {\n queryReactions(objectId).then((res) => {\n setReactions(res?.reaction_summary);\n });\n }, []);\n\n const handleSubmit = (params: { object_id: string; emoji: string }) => {\n if (!tryNormalLogged(true)) {\n setReactIsActive(false);\n return;\n }\n updateReaction({\n ...params,\n reaction: reactions?.find((v) => v.emoji === params.emoji)?.is_active\n ? 'deactivate'\n : 'activate',\n }).then((res) => {\n setReactions(res.reaction_summary);\n setReactIsActive(false);\n });\n };\n\n const renderPopover = (props) => (\n \n \n {emojiMap.map((d, index) => (\n v.emoji === d.name)?.is_active\n ? t('reaction.undo_emoji', { emoji: d.name })\n : t(`reaction.${d.name}`)\n }\n key={d.icon}\n variant=\"light\"\n active={reactions?.find((v) => v.emoji === d.name)?.is_active}\n className={`${index !== 0 ? 'ms-1' : ''}`}\n size=\"sm\"\n onClick={() =>\n handleSubmit({ object_id: objectId, emoji: d.name })\n }>\n \n \n ))}\n \n \n );\n\n return (\n \n {showAddCommentBtn && (\n \n \n {t('comment.btn_add_comment')}\n \n )}\n\n setReactIsActive(show)}>\n \n \n +\n \n \n\n {reactions?.map((data) => {\n if (!data.emoji || data?.count <= 0) {\n return null;\n }\n return (\n \n
\n {t(`reaction.${data.emoji}`)}
{data.tooltip}\n
\n \n }>\n \n handleSubmit({ object_id: objectId, emoji: data.emoji })\n }>\n v.name === data.emoji)?.icon)}\n className={\n emojiMap.find((v) => v.name === data.emoji)?.className\n }\n />\n {data.count}\n \n \n );\n })}\n
\n );\n};\n\nexport default memo(Index);\n","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport CloseButton from './CloseButton';\nimport ModalContext from './ModalContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst AbstractModalHeader = /*#__PURE__*/React.forwardRef(({\n closeLabel = 'Close',\n closeVariant,\n closeButton = false,\n onHide,\n children,\n ...props\n}, ref) => {\n const context = useContext(ModalContext);\n const handleClick = useEventCallback(() => {\n context == null ? void 0 : context.onHide();\n onHide == null ? void 0 : onHide();\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick\n })]\n });\n});\nexport default AbstractModalHeader;","\"use client\";\n\nimport * as React from 'react';\nexport function isAccordionItemSelected(activeEventKey, eventKey) {\n return Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : activeEventKey === eventKey;\n}\nconst context = /*#__PURE__*/React.createContext({});\ncontext.displayName = 'AccordionContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Collapse from './Collapse';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * This component accepts all of [`Collapse`'s props](/docs/utilities/transitions#collapse-1).\n */\nconst AccordionCollapse = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n children,\n eventKey,\n ...props\n}, ref) => {\n const {\n activeEventKey\n } = useContext(AccordionContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-collapse');\n return /*#__PURE__*/_jsx(Collapse, {\n ref: ref,\n in: isAccordionItemSelected(activeEventKey, eventKey),\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(Component, {\n children: React.Children.only(children)\n })\n });\n});\nAccordionCollapse.displayName = 'AccordionCollapse';\nexport default AccordionCollapse;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext({\n eventKey: ''\n});\ncontext.displayName = 'AccordionItemContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionBody = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-body');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n return /*#__PURE__*/_jsx(AccordionCollapse, {\n eventKey: eventKey,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionBody.displayName = 'AccordionBody';\nexport default AccordionBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport classNames from 'classnames';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport AccordionItemContext from './AccordionItemContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useAccordionButton(eventKey, onClick) {\n const {\n activeEventKey,\n onSelect,\n alwaysOpen\n } = useContext(AccordionContext);\n return e => {\n /*\n Compare the event key in context with the given event key.\n If they are the same, then collapse the component.\n */\n let eventKeyPassed = eventKey === activeEventKey ? null : eventKey;\n if (alwaysOpen) {\n if (Array.isArray(activeEventKey)) {\n if (activeEventKey.includes(eventKey)) {\n eventKeyPassed = activeEventKey.filter(k => k !== eventKey);\n } else {\n eventKeyPassed = [...activeEventKey, eventKey];\n }\n } else {\n // activeEventKey is undefined.\n eventKeyPassed = [eventKey];\n }\n }\n onSelect == null ? void 0 : onSelect(eventKeyPassed, e);\n onClick == null ? void 0 : onClick(e);\n };\n}\nconst AccordionButton = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n bsPrefix,\n className,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-button');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n const accordionOnClick = useAccordionButton(eventKey, onClick);\n const {\n activeEventKey\n } = useContext(AccordionContext);\n if (Component === 'button') {\n props.type = 'button';\n }\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n onClick: accordionOnClick,\n ...props,\n \"aria-expanded\": Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : eventKey === activeEventKey,\n className: classNames(className, bsPrefix, !isAccordionItemSelected(activeEventKey, eventKey) && 'collapsed')\n });\n});\nAccordionButton.displayName = 'AccordionButton';\nexport default AccordionButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionButton from './AccordionButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionHeader = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'h2',\n bsPrefix,\n className,\n children,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(AccordionButton, {\n onClick: onClick,\n children: children\n })\n });\n});\nAccordionHeader.displayName = 'AccordionHeader';\nexport default AccordionHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n eventKey,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-item');\n const contextValue = useMemo(() => ({\n eventKey\n }), [eventKey]);\n return /*#__PURE__*/_jsx(AccordionItemContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionItem.displayName = 'AccordionItem';\nexport default AccordionItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionBody from './AccordionBody';\nimport AccordionButton from './AccordionButton';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionContext from './AccordionContext';\nimport AccordionHeader from './AccordionHeader';\nimport AccordionItem from './AccordionItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Accordion = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n activeKey,\n bsPrefix,\n className,\n onSelect,\n flush,\n alwaysOpen,\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'accordion');\n const contextValue = useMemo(() => ({\n activeEventKey: activeKey,\n onSelect,\n alwaysOpen\n }), [activeKey, onSelect, alwaysOpen]);\n return /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, prefix, flush && `${prefix}-flush`)\n })\n });\n});\nAccordion.displayName = 'Accordion';\nexport default Object.assign(Accordion, {\n Button: AccordionButton,\n Collapse: AccordionCollapse,\n Item: AccordionItem,\n Header: AccordionHeader,\n Body: AccordionBody\n});","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n};\nclass BootstrapModalManager extends ModalManager {\n adjustAndStore(prop, element, adjust) {\n const actual = element.style[prop];\n // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n // @ts-ignore\n element.dataset[prop] = actual;\n css(element, {\n [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n });\n }\n restore(prop, element) {\n const value = element.dataset[prop];\n if (value !== undefined) {\n delete element.dataset[prop];\n css(element, {\n [prop]: value\n });\n }\n }\n setContainerStyle(containerState) {\n super.setContainerStyle(containerState);\n const container = this.getElement();\n addClass(container, 'modal-open');\n if (!containerState.scrollBarWidth) return;\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n }\n removeContainerStyle(containerState) {\n super.removeContainerStyle(containerState);\n const container = this.getElement();\n removeClass(container, 'modal-open');\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n }\n}\nlet sharedManager;\nexport function getSharedManager(options) {\n if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n return sharedManager;\n}\nexport default BootstrapModalManager;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant = 'primary',\n size,\n active = false,\n disabled = false,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n disabled,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, {\n ...buttonProps,\n ...props,\n ref: ref,\n disabled: disabled,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nexport default Button;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ButtonGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n vertical = false,\n className,\n role = 'group',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn-group');\n let baseClass = prefix;\n if (vertical) baseClass = `${prefix}-vertical`;\n return /*#__PURE__*/_jsx(Component, {\n ...rest,\n ref: ref,\n role: role,\n className: classNames(className, baseClass, size && `${prefix}-${size}`)\n });\n});\nButtonGroup.displayName = 'ButtonGroup';\nexport default ButtonGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardBody.displayName = 'CardBody';\nexport default CardBody;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardFooter.displayName = 'CardFooter';\nexport default CardFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardHeaderContext from './CardHeaderContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-header');\n const contextValue = useMemo(() => ({\n cardHeaderBsPrefix: prefix\n }), [prefix]);\n return /*#__PURE__*/_jsx(CardHeaderContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix)\n })\n });\n});\nCardHeader.displayName = 'CardHeader';\nexport default CardHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImg = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n variant,\n as: Component = 'img',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(variant ? `${prefix}-${variant}` : prefix, className),\n ...props\n });\n});\nCardImg.displayName = 'CardImg';\nexport default CardImg;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImgOverlay = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-img-overlay');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardImgOverlay.displayName = 'CardImgOverlay';\nexport default CardImgOverlay;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardLink = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'a',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-link');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardLink.displayName = 'CardLink';\nexport default CardLink;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH6 = divWithClassName('h6');\nconst CardSubtitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH6,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-subtitle');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardSubtitle.displayName = 'CardSubtitle';\nexport default CardSubtitle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'p',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardText.displayName = 'CardText';\nexport default CardText;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst CardTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH5,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardTitle.displayName = 'CardTitle';\nexport default CardTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardBody from './CardBody';\nimport CardFooter from './CardFooter';\nimport CardHeader from './CardHeader';\nimport CardImg from './CardImg';\nimport CardImgOverlay from './CardImgOverlay';\nimport CardLink from './CardLink';\nimport CardSubtitle from './CardSubtitle';\nimport CardText from './CardText';\nimport CardTitle from './CardTitle';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Card = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n bg,\n text,\n border,\n body = false,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, bg && `bg-${bg}`, text && `text-${text}`, border && `border-${border}`),\n children: body ? /*#__PURE__*/_jsx(CardBody, {\n children: children\n }) : children\n });\n});\nCard.displayName = 'Card';\nexport default Object.assign(Card, {\n Img: CardImg,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Body: CardBody,\n Link: CardLink,\n Text: CardText,\n Header: CardHeader,\n Footer: CardFooter,\n ImgOverlay: CardImgOverlay\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardHeaderContext';\nexport default context;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /** An accessible label indicating the relevant information about the Close Button. */\n 'aria-label': PropTypes.string,\n /** A callback fired after the Close Button is clicked. */\n onClick: PropTypes.func,\n /**\n * Render different color variant for the button.\n *\n * Omitting this will render the default dark color.\n */\n variant: PropTypes.oneOf(['white'])\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n className,\n variant,\n 'aria-label': ariaLabel = 'Close',\n ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n ref: ref,\n type: \"button\",\n className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n \"aria-label\": ariaLabel,\n ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nexport default CloseButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const spans = [];\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{\n ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, {\n ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction(...funcs) {\n return funcs.filter(f => f != null).reduce((acc, f) => {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n if (acc === null) return f;\n return function chainedFunction(...args) {\n // @ts-ignore\n acc.apply(this, args);\n // @ts-ignore\n f.apply(this, args);\n };\n }, null);\n}\nexport default createChainedFunction;","import classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\nfunction getDefaultDimensionValue(dimension, elem) {\n const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;\n const value = elem[offset];\n const margins = MARGINS[dimension];\n return value +\n // @ts-ignore\n parseInt(css(elem, margins[0]), 10) +\n // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\nconst collapseStyles = {\n [EXITED]: 'collapse',\n [EXITING]: 'collapsing',\n [ENTERING]: 'collapsing',\n [ENTERED]: 'collapse show'\n};\nconst Collapse = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n className,\n children,\n dimension = 'height',\n in: inProp = false,\n timeout = 300,\n mountOnEnter = false,\n unmountOnExit = false,\n appear = false,\n getDimensionValue = getDefaultDimensionValue,\n ...props\n}, ref) => {\n /* Compute dimension */\n const computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n\n /* -- Expanding -- */\n const handleEnter = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = '0';\n }, onEnter), [computedDimension, onEnter]);\n const handleEntering = useMemo(() => createChainedFunction(elem => {\n const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;\n elem.style[computedDimension] = `${elem[scroll]}px`;\n }, onEntering), [computedDimension, onEntering]);\n const handleEntered = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onEntered), [computedDimension, onEntered]);\n\n /* -- Collapsing -- */\n const handleExit = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;\n triggerBrowserReflow(elem);\n }, onExit), [onExit, getDimensionValue, computedDimension]);\n const handleExiting = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onExiting), [computedDimension, onExiting]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n \"aria-expanded\": props.role ? inProp : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting,\n childRef: children.ref,\n in: inProp,\n timeout: timeout,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n appear: appear,\n children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')\n })\n });\n});\n\n// @ts-ignore\n\nexport default Collapse;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n fluid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'container');\n const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n });\n});\nContainer.displayName = 'Container';\nexport default Container;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownDivider = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'hr',\n role = 'separator',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-divider');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownDivider.displayName = 'DropdownDivider';\nexport default DropdownDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n role = 'heading',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownHeader.displayName = 'DropdownHeader';\nexport default DropdownHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItemText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-item-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nDropdownItemText.displayName = 'DropdownItemText';\nexport default DropdownItemText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownItem from './DropdownItem';\nimport DropdownItemText from './DropdownItemText';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop = 'down',\n show,\n className,\n align = 'start',\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose = true,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click';\n\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') return source !== 'rootClose';\n\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n const handleToggle = useEventCallback((nextShow, meta) => {\n var _meta$originalEvent, _meta$originalEvent$t;\n /** Checking if target of event is ToggleButton,\n * if it is then nullify mousedown event\n */\n const isToggleButton = (_meta$originalEvent = meta.originalEvent) == null ? void 0 : (_meta$originalEvent$t = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent$t.classList.contains('dropdown-toggle');\n if (isToggleButton && meta.source === 'mousedown') {\n return;\n }\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n const directionClasses = {\n down: prefix,\n 'down-centered': `${prefix}-center`,\n up: 'dropup',\n 'up-centered': 'dropup-center dropup',\n end: 'dropend',\n start: 'dropstart'\n };\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, show && 'show', directionClasses[drop])\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","\"use client\";\n\nimport * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip = true,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint];\n\n // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n // For custom components provide additional, non-DOM, props;\n if (typeof Component !== 'string') {\n menuProps.show = show;\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n menuProps.align = align;\n }\n let style = props.style;\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = {\n ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...menuProps,\n style: style\n // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","\"use client\";\n\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n onEnter,\n ...rest\n}, ref) => {\n const props = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n ...rest\n };\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n }, [onEnter]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.displayName = 'Fade';\nexport default Fade;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormFloating = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nFormFloating.displayName = 'FormFloating';\nexport default FormFloating;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column = false,\n visuallyHidden = false,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nexport default FormLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", {\n ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", {\n ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, {\n ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", {\n ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n reverse = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n const input = /*#__PURE__*/_jsx(FormCheckInput, {\n ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, plaintext ? `${bsPrefix}-plaintext` : bsPrefix, size && `${bsPrefix}-${size}`, type === 'color' && `${bsPrefix}-color`, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nInputGroupText.displayName = 'InputGroupText';\nexport default InputGroupText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport InputGroupText from './InputGroupText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');\n\n // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n numbered,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n navItemProps.onClick(event);\n });\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n process.env.NODE_ENV !== \"production\" ? warning(as || !(!action && props.href), '`action=false` and `href` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalBody.displayName = 'ModalBody';\nexport default ModalBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalDialog = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n contentClassName,\n centered,\n size,\n fullscreen,\n children,\n scrollable,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const dialogClass = `${bsPrefix}-dialog`;\n const fullScreenClass = typeof fullscreen === 'string' ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;\n return /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(dialogClass, className, size && `${bsPrefix}-${size}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames(`${bsPrefix}-content`, contentClassName),\n children: children\n })\n });\n});\nModalDialog.displayName = 'ModalDialog';\nexport default ModalDialog;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalFooter.displayName = 'ModalFooter';\nexport default ModalFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nModalHeader.displayName = 'ModalHeader';\nexport default ModalHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nconst ModalTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH4,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport removeEventListener from 'dom-helpers/removeEventListener';\nimport getScrollbarSize from 'dom-helpers/scrollbarSize';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport * as React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport { getSharedManager } from './BootstrapModalManager';\nimport Fade from './Fade';\nimport ModalBody from './ModalBody';\nimport ModalContext from './ModalContext';\nimport ModalDialog from './ModalDialog';\nimport ModalFooter from './ModalFooter';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable no-use-before-define, react/no-multi-comp */\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\n\n/* eslint-enable no-use-before-define */\nconst Modal = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n style,\n dialogClassName,\n contentClassName,\n children,\n dialogAs: Dialog = ModalDialog,\n 'data-bs-theme': dataBsTheme,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n /* BaseModal props */\n\n show = false,\n animation = true,\n backdrop = true,\n keyboard = true,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n ...props\n}, ref) => {\n const [modalStyle, setStyle] = useState({});\n const [animateStaticModal, setAnimateStaticModal] = useState(false);\n const waitingForMouseUpRef = useRef(false);\n const ignoreBackdropClickRef = useRef(false);\n const removeStaticModalAnimationRef = useRef(null);\n const [modal, setModalRef] = useCallbackRef();\n const mergedRef = useMergedRefs(ref, setModalRef);\n const handleHide = useEventCallback(onHide);\n const isRTL = useIsRTL();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n return getSharedManager({\n isRTL\n });\n }\n function updateDialogStyle(node) {\n if (!canUseDOM) return;\n const containerIsOverflowing = getModalManager().getScrollbarWidth() > 0;\n const modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;\n setStyle({\n paddingRight: containerIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n paddingLeft: !containerIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n });\n }\n const handleWindowResize = useEventCallback(() => {\n if (modal) {\n updateDialogStyle(modal.dialog);\n }\n });\n useWillUnmount(() => {\n removeEventListener(window, 'resize', handleWindowResize);\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n });\n\n // We prevent the modal from closing during a drag by detecting where the\n // click originates from. If it starts in the modal and then ends outside\n // don't close.\n const handleDialogMouseDown = () => {\n waitingForMouseUpRef.current = true;\n };\n const handleMouseUp = e => {\n if (waitingForMouseUpRef.current && modal && e.target === modal.dialog) {\n ignoreBackdropClickRef.current = true;\n }\n waitingForMouseUpRef.current = false;\n };\n const handleStaticModalAnimation = () => {\n setAnimateStaticModal(true);\n removeStaticModalAnimationRef.current = transitionEnd(modal.dialog, () => {\n setAnimateStaticModal(false);\n });\n };\n const handleStaticBackdropClick = e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n handleStaticModalAnimation();\n };\n const handleClick = e => {\n if (backdrop === 'static') {\n handleStaticBackdropClick(e);\n return;\n }\n if (ignoreBackdropClickRef.current || e.target !== e.currentTarget) {\n ignoreBackdropClickRef.current = false;\n return;\n }\n onHide == null ? void 0 : onHide();\n };\n const handleEscapeKeyDown = e => {\n if (keyboard) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n } else {\n // Call preventDefault to stop modal from closing in @restart/ui.\n e.preventDefault();\n if (backdrop === 'static') {\n // Play static modal animation.\n handleStaticModalAnimation();\n }\n }\n };\n const handleEnter = (node, isAppearing) => {\n if (node) {\n updateDialogStyle(node);\n }\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n };\n const handleExit = node => {\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n onExit == null ? void 0 : onExit(node);\n };\n const handleEntering = (node, isAppearing) => {\n onEntering == null ? void 0 : onEntering(node, isAppearing);\n\n // FIXME: This should work even when animation is disabled.\n addEventListener(window, 'resize', handleWindowResize);\n };\n const handleExited = node => {\n if (node) node.style.display = ''; // RHL removes it sometimes\n onExited == null ? void 0 : onExited(node);\n\n // FIXME: This should work even when animation is disabled.\n removeEventListener(window, 'resize', handleWindowResize);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName, !animation && 'show')\n }), [animation, backdropClassName, bsPrefix]);\n const baseModalStyle = {\n ...style,\n ...modalStyle\n };\n\n // If `display` is not set to block, autoFocus inside the modal fails\n // https://github.com/react-bootstrap/react-bootstrap/issues/5102\n baseModalStyle.display = 'block';\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n role: \"dialog\",\n ...dialogProps,\n style: baseModalStyle,\n className: classNames(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && 'show'),\n onClick: backdrop ? handleClick : undefined,\n onMouseUp: handleMouseUp,\n \"data-bs-theme\": dataBsTheme,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n children: /*#__PURE__*/_jsx(Dialog, {\n ...props,\n onMouseDown: handleDialogMouseDown,\n className: dialogClassName,\n contentClassName: contentClassName,\n children: children\n })\n });\n return /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: show,\n ref: mergedRef,\n backdrop: backdrop,\n container: container,\n keyboard: true // Always set true - see handleEscapeKeyDown\n ,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: handleEscapeKeyDown,\n onShow: onShow,\n onHide: onHide,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: onEntered,\n onExit: handleExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: animation ? DialogTransition : undefined,\n backdropTransition: animation ? BackdropTransition : undefined,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Body: ModalBody,\n Header: ModalHeader,\n Title: ModalTitle,\n Footer: ModalFooter,\n Dialog: ModalDialog,\n TRANSITION_DURATION: 300,\n BACKDROP_TRANSITION_DURATION: 150\n});","\"use client\";\n\nimport * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide() {}\n});\nexport default ModalContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardHeaderContext from './CardHeaderContext';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Nav = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n as = 'div',\n bsPrefix: initialBsPrefix,\n variant,\n fill = false,\n justify = false,\n navbar,\n navbarScroll,\n className,\n activeKey,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n let navbarBsPrefix;\n let cardHeaderBsPrefix;\n let isNavbar = false;\n const navbarContext = useContext(NavbarContext);\n const cardHeaderContext = useContext(CardHeaderContext);\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardHeaderContext) {\n ({\n cardHeaderBsPrefix\n } = cardHeaderContext);\n }\n return /*#__PURE__*/_jsx(BaseNav, {\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, {\n [bsPrefix]: !isNavbar,\n [`${navbarBsPrefix}-nav`]: isNavbar,\n [`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,\n [`${cardHeaderBsPrefix}-${variant}`]: !!cardHeaderBsPrefix,\n [`${bsPrefix}-${variant}`]: !!variant,\n [`${bsPrefix}-fill`]: fill,\n [`${bsPrefix}-justified`]: justify\n }),\n ...props\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem,\n Link: NavLink\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavItem = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavLink = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as: Component = Anchor,\n active,\n eventKey,\n disabled = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n disabled,\n ...props\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...navItemProps,\n ref: ref,\n disabled: disabled,\n className: classNames(className, bsPrefix, disabled && 'disabled', meta.isActive && 'active')\n });\n});\nNavLink.displayName = 'NavLink';\nexport default NavLink;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition = Fade,\n popperConfig = {},\n rootClose = false,\n placement = 'top',\n show: outerShow = false,\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [firstRenderedState, setFirstRenderedState] = useState(null);\n const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n const handleFirstUpdate = useEventCallback(state => {\n setFirstRenderedState(state);\n popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n });\n useIsomorphicEffect(() => {\n if (firstRenderedState && outerProps.target) {\n // Must wait for target element to resolve before updating popper.\n popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n }\n }, [firstRenderedState, outerProps.target]);\n useEffect(() => {\n if (!outerShow) {\n setFirstRenderedState(null);\n }\n }, [outerShow]);\n return /*#__PURE__*/_jsx(BaseOverlay, {\n ...outerProps,\n ref: mergedRef,\n popperConfig: {\n ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || []),\n onFirstUpdate: handleFirstUpdate\n },\n transition: actualTransition,\n rootClose: rootClose,\n placement: placement,\n show: outerShow,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n wrapRefs(overlayProps, arrowProps);\n // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false,\n strategy: popperConfig.strategy\n });\n const hasDoneInitialMeasure = !!firstRenderedState;\n if (typeof overlay === 'function') return overlay({\n ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps,\n hasDoneInitialMeasure\n });\n return /*#__PURE__*/React.cloneElement(overlay, {\n ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n hasDoneInitialMeasure,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: {\n ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","\"use client\";\n\nimport { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover';\nimport Tooltip from './Tooltip';\n\n// This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover or tooltip.\nexport default function useOverlayOffset(customOffset) {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const tooltipClass = useBootstrapPrefix(undefined, 'tooltip');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (customOffset) {\n return customOffset;\n }\n if (overlayRef.current) {\n if (hasClass(overlayRef.current, popoverClass)) {\n return Popover.POPPER_OFFSET;\n }\n if (hasClass(overlayRef.current, tooltipClass)) {\n return Tooltip.TOOLTIP_OFFSET;\n }\n }\n return [0, 0];\n }\n }\n }), [customOffset, popoverClass, tooltipClass]);\n return [overlayRef, [offset]];\n}","\"use client\";\n\nimport contains from 'dom-helpers/contains';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n}\n\n// Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\nfunction handleMouseOverOut(\n// eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\nconst triggerType = PropTypes.oneOf(['click', 'hover', 'focus']);\nconst OverlayTrigger = ({\n trigger = ['hover', 'focus'],\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) => {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n if (!delay.show) {\n setShow(true);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n if (!delay.hide) {\n setShow(false);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, {\n ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n};\nexport default OverlayTrigger;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverHeader.displayName = 'PopoverHeader';\nexport default PopoverHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverBody.displayName = 'PopoverBody';\nexport default PopoverBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Popover = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n body,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n role: \"tooltip\",\n style: computedStyle,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"popover-arrow\",\n ...arrowProps\n }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n children: children\n }) : children]\n });\n});\nexport default Object.assign(Popover, {\n Header: PopoverHeader,\n Body: PopoverBody,\n // Default popover offset.\n // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n POPPER_OFFSET: [0, 8]\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation = 'border',\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import PropTypes from 'prop-types';\nimport { DEFAULT_BREAKPOINTS, DEFAULT_MIN_BREAKPOINT } from './ThemeProvider';\nexport function responsivePropType(propType) {\n return PropTypes.oneOfType([propType, PropTypes.shape({\n xs: propType,\n sm: propType,\n md: propType,\n lg: propType,\n xl: propType,\n xxl: propType\n })]);\n}\nexport default function createUtilityClassName(utilityValues, breakpoints = DEFAULT_BREAKPOINTS, minBreakpoint = DEFAULT_MIN_BREAKPOINT) {\n const classes = [];\n Object.entries(utilityValues).forEach(([utilName, utilValue]) => {\n if (utilValue != null) {\n if (typeof utilValue === 'object') {\n breakpoints.forEach(brkPoint => {\n const bpValue = utilValue[brkPoint];\n if (bpValue != null) {\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n classes.push(`${utilName}${infix}-${bpValue}`);\n }\n });\n } else {\n classes.push(`${utilName}-${utilValue}`);\n }\n }\n });\n return classes;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport createUtilityClassName, { responsivePropType } from './createUtilityClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Stack = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n direction,\n gap,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, direction === 'horizontal' ? 'hstack' : 'vstack');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, ...createUtilityClassName({\n gap\n }, breakpoints, minBreakpoint))\n });\n});\nStack.displayName = 'Stack';\nexport default Stack;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: {\n ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent;\n // If it's a functional component make sure we don't break it with a ref\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({\n ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import * as React from 'react';\nimport { ENTERING, EXITING } from 'react-transition-group/Transition';\nimport Fade from './Fade';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'showing',\n [EXITING]: 'showing show'\n};\nconst ToastFade = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Fade, {\n ...props,\n ref: ref,\n transitionClasses: fadeStyles\n}));\nToastFade.displayName = 'ToastFade';\nexport default ToastFade;","\"use client\";\n\nimport * as React from 'react';\nconst ToastContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose() {}\n});\nexport default ToastContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CloseButton from './CloseButton';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst ToastHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n closeLabel = 'Close',\n closeVariant,\n closeButton = true,\n className,\n children,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');\n const context = useContext(ToastContext);\n const handleClick = useEventCallback(e => {\n context == null ? void 0 : context.onClose == null ? void 0 : context.onClose(e);\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n className: classNames(bsPrefix, className),\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick,\n \"data-dismiss\": \"toast\"\n })]\n });\n});\nToastHeader.displayName = 'ToastHeader';\nexport default ToastHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ToastBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nToastBody.displayName = 'ToastBody';\nexport default ToastBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useMemo, useRef, useCallback } from 'react';\nimport classNames from 'classnames';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport ToastFade from './ToastFade';\nimport ToastHeader from './ToastHeader';\nimport ToastBody from './ToastBody';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Toast = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n transition: Transition = ToastFade,\n show = true,\n animation = true,\n delay = 5000,\n autohide = false,\n onClose,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n bg,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast');\n\n // We use refs for these, because we don't want to restart the autohide\n // timer in case these values change.\n const delayRef = useRef(delay);\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n delayRef.current = delay;\n onCloseRef.current = onClose;\n }, [delay, onClose]);\n const autohideTimeout = useTimeout();\n const autohideToast = !!(autohide && show);\n const autohideFunc = useCallback(() => {\n if (autohideToast) {\n onCloseRef.current == null ? void 0 : onCloseRef.current();\n }\n }, [autohideToast]);\n useEffect(() => {\n // Only reset timer if show or autohide changes.\n autohideTimeout.set(autohideFunc, delayRef.current);\n }, [autohideTimeout, autohideFunc]);\n const toastContext = useMemo(() => ({\n onClose\n }), [onClose]);\n const hasAnimation = !!(Transition && animation);\n const toast = /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(bsPrefix, className, bg && `bg-${bg}`, !hasAnimation && (show ? 'show' : 'hide')),\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n });\n return /*#__PURE__*/_jsx(ToastContext.Provider, {\n value: toastContext,\n children: hasAnimation && Transition ? /*#__PURE__*/_jsx(Transition, {\n in: show,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n unmountOnExit: true,\n children: toast\n }) : toast\n });\n});\nToast.displayName = 'Toast';\nexport default Object.assign(Toast, {\n Body: ToastBody,\n Header: ToastHeader\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n style: computedStyle,\n role: \"tooltip\",\n \"x-placement\": primaryPlacement,\n className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tooltip-arrow\",\n ...arrowProps\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${bsPrefix}-inner`,\n children: children\n })]\n });\n});\nTooltip.displayName = 'Tooltip';\nexport default Object.assign(Tooltip, {\n // Default tooltip offset.\n // https://github.com/twbs/bootstrap/blob/beca2a6c7f6bc88b6449339fc76edcda832c59e5/js/src/tooltip.js#L65\n TOOLTIP_OFFSET: [0, 6]\n});","\"use client\";\n\nimport React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n\n /* eslint-disable react-hooks/exhaustive-deps */\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) =>\n // TODO: Types for RTG missing innerProps, so need to cast.\n children(status, {\n ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", {\n ...p,\n ref: ref,\n className: classNames(p.className, className)\n})));","export default function getInitialPopperStyles(position = 'absolute') {\n return {\n position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n}","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {}\n\n// Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n let bsDirection = placement;\n if (placement === 'left') {\n bsDirection = isRTL ? 'end' : 'start';\n } else if (placement === 'right') {\n bsDirection = isRTL ? 'start' : 'end';\n }\n return bsDirection;\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n return componentOrElement != null ? componentOrElement : null;\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMergedRefs(warningRef, ref);\n}"],"names":["type","value","onChange","acceptType","readOnly","imgClassNames","className","classNames","src","alt","style","maxWidth","maxHeight","vertical","uploadCallback","imgPath","disabled","name","variant","onClick","t","useTranslation","keyPrefix","data","questionRes","useHotQuestions","list","length","map","li","as","Link","to","pathFactory","id","url_title","action","title","answer_count","accepted_answer_id","count","Index","visible","centered","onCancel","children","onConfirm","cancelText","showCancel","cancelBtnVariant","confirmText","showConfirm","confirmBtnVariant","confirmBtnDisabled","bodyClass","scrollable","Modal","show","onHide","fullscreen","closeButton","Button","event","React","div","document","createElement","root","ReactDOM","content","onClose","props","render","remove","onOk","e","dangerouslySetInnerHTML","__html","update","updateStore","loginToContinueStore","siteInfo","siteInfoStore","_","closeModal","linkClick","evt","stopPropagation","floppyNavigation","description","DefaultModal","confirm","QUESTION_ORDER_KEYS","source","order","isLoading","urlSearchParams","useSearchParams","isSkeletonShow","useSkeletonControl","curOrder","get","curPage","Number","currentSort","pathname","i18nKeyPrefix","pin","status","operator","showAvatar","time","operated_at","preFix","operation_type","votes","vote_count","answers","views","view_count","isAccepted","Array","isArray","tags","tag","slug_name","currentPage","totalSize","pageSize","Form","desc","fieldName","enumValues","enumNames","formData","fieldObject","currentTarget","state","isInvalid","item","index","String","Stack","direction","inline","label","checked","feedback","errorMsg","feedbackType","handleCheck","TIMEZONES","options","option","BrandUpload","handleChange","placeholder","rows","classnames","width","flex","actionType","formKit","text","size","iconName","nowrap","clickCallback","Toast","useToast","setLoading","useState","handleToast","msg","on_complete","toast_return_message","onShow","handleAction","request","method","url","timeout","then","resp","message","callback","refresh_form_config","refreshConfig","handleCallback","catch","ex","finally","useEffect","loading","loadingText","Spinner","animation","InputGroupBtn","formKitWithContext","uiOpt","undefined","prefixText","suffixText","InputGroup","prefixBtnOptions","suffixBtnOptions","SchemaForm","schema","uiSchema","onSubmit","hiddenSubmit","ref","required","properties","excludes","filter","key","console","error","join","keys","Object","forEach","k","fieldVal","metaProp","uiCtrl","enum","validator","async","errors","push","requiredValidator","reduce","acc","cur","empty","Function","scrollElementIntoView","getElementById","syncErrors","promises","promise","Promise","allSettled","results","result","reason","syncValidator","useImperativeHandle","isEmpty","noValidate","preventDefault","widget","fieldState","class_name","uiSimplify","simplify","groupClassName","field_class_name","controlId","hidden","Legend","Select","Check","Switch","Timezone","Upload","imageType","Textarea","Input","inputType","initFormData","prop","defaultVal","default","mergeFormData","target","origin","oi","forwardRef","avatar","searchStr","includes","gravatar","custom","roundedCls","indexOf","DefaultAvatar","height","memo","pluginSlice","PluginKit","plugin","activated","info","nodes","child","ps","PluginFC","component","EditorContext","editor","useContext","tip","disable","isShow","keyMap","onBlur","addKeyMap","wrapText","replaceLines","appendBlock","btnRender","tabIndex","context","Table","tableData","ctx","table","col","header","border","makeHeader","row","body","irow","icol","replace","makeBody","replaceSelection","focus","OL","line","i","FIND_OL_RX","match","UL","FIND_UL_RX","Indent","Outdent","_1","$1","substring","Hr","Heading","headerList","level","setShowState","isLocked","setLockState","onAddHeader","onMouseEnter","onMouseLeave","trim","repeat","handleClick","Bold","DEFAULTTEXT","Italic","onSelect","isFocus","setFocusState","cursor","setCursor","opt","onKeyDown","keyCode","lang","FormControl","overflowY","codeLanguageType","Code","code","setCode","setVisible","setLang","inputRef","useRef","current","getSelection","onExited","val","split","link","setLink","setName","setSelectionRange","newStr","BlockQuote","FIND_BLOCKQUOTE_RX","TabContent","bsPrefix","Component","useBootstrapPrefix","_jsx","displayName","getTabTransitionComponent","transition","Fade","NoopTransition","TabPane","rest","isActive","onEnter","onEntering","onEntered","onExit","onExiting","mountOnEnter","unmountOnExit","Transition","useTabPanel","prefix","TabContext","SelectableContext","in","getDefaultActiveKey","defaultActiveKey","eventKey","renderTab","tabClassName","tabAttrs","NavItem","role","NavLink","Tabs","activeKey","controlledProps","useUncontrolled","_jsxs","BaseTabs","Nav","childProps","TabContainer","propTypes","PropTypes","Tab","Error","assign","Container","Content","Pane","Image","editorInstance","setEditor","currentTab","setCurrentTab","imageName","setImageName","verifyImageSize","files","from","file","AnswerModal","upload","uploadImage","all","dragenter","dragover","drop","fileList","dataTransfer","startPos","getCursor","endPos","ch","setReadOnly","urls","replaceRange","paste","clipboard","clipboardData","htmlStr","getData","innerText","allPTag","DOMParser","parseFromString","querySelectorAll","p","textContent","endsWith","on","off","tab","Help","window","open","contentDOM","range","selection","ranges","doc","lineAt","number","array","entries","run","dispatch","effects","StateEffect","keymap","sliceDoc","main","changes","insert","EditorSelection","setSelection","anchor","head","change","EditorView","docChanged","addEventListener","removeEventListener","getValue","toString","setValue","before","after","defaultText","symbolLen","selectionStart","selectionEnd","editableCompartment","Compartment","htmlRender","el","innerHTML","startsWith","str","parentNode","classList","contains","add","replaceChild","appendChild","a","base","location","URL","href","rel","useEditor","editorRef","placeholderText","autoFocus","onFocus","isDark","isDarkTheme","theme","padding","outline","whiteSpace","wordWrap","wordBreak","textDecoration","startState","EditorState","extensions","minimalSetup","markdown","codeLanguages","languages","markdownLanguage","of","view","parent","cm","createEditorUtils","reconfigure","setTimeout","newValue","init","imgSrc","setImgSrc","nodeName","toLowerCase","img","naturalWidth","naturalHeight","currentSrc","ret","parentElement","checkIfInLink","contentClassName","renderTimer","scrollTop","html","setHtml","previewRef","clearTimeout","markdownToHtml","scrollTo","getHtml","element","MDEditor","editorPlaceholder","Provider","PluginRender","PluginType","previewElement","Viewer","NavbarBrand","NavbarCollapse","NavbarContext","Collapse","expanded","NavbarToggle","onToggle","useEventCallback","OffcanvasBody","transitionStyles","ENTERING","ENTERED","OffcanvasToggling","inProp","appear","TransitionWrapper","addEndListener","transitionEndListener","childRef","innerProps","EXITING","OffcanvasHeader","closeLabel","AbstractModalHeader","DivStyledAsH5","divWithClassName","OffcanvasTitle","DialogTransition","BackdropTransition","Offcanvas","ariaLabelledby","placement","responsive","backdrop","keyboard","scroll","onEscapeKeyDown","container","enforceFocus","restoreFocus","restoreFocusOptions","backdropClassName","manager","propsManager","renderStaticNode","modalManager","showOffcanvas","setShowOffcanvas","hideResponsiveOffcanvas","useBreakpoint","handleHide","modalContext","useMemo","renderBackdrop","useCallback","backdropProps","renderDialog","dialogProps","_Fragment","ModalContext","BaseModal","node","args","visibility","BootstrapModalManager","handleContainerOverflow","getSharedManager","backdropTransition","Body","Header","Title","NavbarOffcanvas","NavbarText","Navbar","initialBsPrefix","expand","bg","fixed","sticky","collapseOnSelect","handleCollapse","expandClass","navbarContext","Brand","Text","Toggle","redDot","userInfo","logOut","navigate","useNavigate","agent","ucAgent","userCenterStore","handleLinkClick","getAttribute","inbox","achievement","align","Avatar","display_name","username","enabled","agent_info","control_center","ctrl","useLocation","urlSearch","q","user","clear","clearUserStore","loggedUserInfoStore","setSearch","brandingInfo","brandingStore","branding","loginSetting","loginSettingStore","login","updateReview","updateVisible","sideNavStore","useQueryNotificationStatus","tagMatch","useMatch","askUrl","params","slugName","encodeURIComponent","can_revision","Boolean","revision","handleInput","handleSearch","searchUrl","handleLogout","logout","collapse","querySelector","toggle","click","navbarStyle","theme_config","themeSettingStore","navbar_style","logo","mobile_logo","NavItems","userCenter","allow_new_registrations","marginTop","Col","lg","cc","dayjs","format","Trans","i18nKey","values","fontSize","base64","svgClassName","base64ToSvg","timer","hiddenDescription","hiddenCreateBtn","maxTagLength","showRequiredTag","formText","tagStyleMode","errMsg","containerRef","initialized","setInitialized","focusState","showMenu","setShowMenu","currentIndex","setCurrentIndex","repeatIndex","setRepeatIndex","searchValue","setSearchValue","setTags","requiredTags","setRequiredTags","userPermission","useUserPermission","canAddTag","toast","tagModal","useTagModal","findIndex","parsed_text","marked","original_text","filterTags","tagArray","v","handleMenuShow","bol","ele","handleTagSelectorBlur","fetchTags","queryTags","res","resetSearch","handleRemove","scrollIntoView","targetId","offsetTop","top","behavior","handleOutsideClick","menuHasContent","elePlaceholder","offsetWidth","setAttribute","reserved","recommend","onMouseUp","autoComplete","position","zIndex","active","tagAddPermission","has_permission","no_permission_tip","isSuccess","setSuccess","e_mail","setFormData","captcha_code","emailCaptcha","useCaptchaPlugin","submit","req","imgCode","getCaptcha","verify","captcha_id","resendEmail","close","err","isError","handleCaptchaError","handleFormError","md","mail","components","bold","check","setStatus","accept","setVotes","like","setLike","hate","setHated","bookmarkState","setBookmark","collected","collectCount","vCaptcha","votesCount","isLike","isHate","submitVote","isCancel","resolveCaptchaReq","postVote","object_id","is_cancel","vote_status","handleVote","tryNormalLogged","ButtonGroup","hideCollect","bookmark","group_id","object_collection_count","paddingLeft","textClassName","qid","aid","setShow","showTip","setShowTip","canSystemShare","setSystemShareState","baseUrl","BASE_ORIGIN","closeShare","navigator","canShare","lineHeight","OverlayTrigger","trigger","overlay","Tooltip","copyText","copy","share","hasAnswer","memberActions","reportModal","useReportModal","dCaptcha","refreshQuestion","editUrl","submitDeleteQuestion","deleteQuestion","submitDeleteAnswer","deleteAnswer","handleCommon","questionOperation","operation","toastStore","unDeleteQuestion","unDeleteAnswer","reopenQuestion","question_id","handlOtherActions","firstAction","secondAction","Share","targetUrl","checkObjectId","editCheck","handleEdit","isLogged","timelinePath","formatCount","rank","FormatTime","PageItem","activeLabel","linkStyle","linkClassName","Anchor","createButton","defaultValue","First","Prev","Ellipsis","Next","Last","Pagination","decoratedBsPrefix","Item","pageArr","page","path","searchParams","totalPage","Math","ceil","realPage","mapPage","handleParams","pageNum","set","min","fill","initialValue","onSendReply","mode","immData","setImmData","pageUsers","usePageUsers","validationErrorMsg","setValidationErrorMsg","usePromptWithUnload","when","handleSendReply","getUsers","onSelected","parseEditMentionUser","ActionBar","nickName","createdAt","isVote","voteCount","onReply","onVote","onAction","userStatus","userName","objectId","commentId","pageIndex","setPageIndex","visibleComment","setVisibleComment","currentReplyId","updateCurrentReplyId","commentReplyStore","mutate","useQueryComments","comment_id","page_size","comments","setComments","addCaptcha","useCaptchaModal","editCaptcha","scrollToElementTop","bgFadeOut","sort","b","created_at","user_id","user_display_name","reply_comment_id","reply_user_display_name","setUsers","submitUpdateComment","up","updateComment","comment","showEdit","reject","resolve","submitAddComment","addComment","splice","users","matchedUsers","userNames","unionBy","commentMarkDown","parseUserInfo","mention_username_list","submitDeleteComment","deleteComment","submitVoteComment","is_vote","handleCancel","handleAddComment","Reactions","showAddCommentBtn","handleClickComment","Reply","member_actions","user_status","TextArea","autoGrow","scrollHeight","onInput","menuRef","dropdownRef","isRequested","setRequestedState","staffUserList","useSearchUserStaff","mapStaffUsers","searchUser","lastIndexOf","filterData","dateTime","tz","toISOString","now","floor","valueOf","between","h","formatTime","left","right","margin","delay","autohide","MenuNode","menu","expanding","isLeaf","badgeContent","Accordion","leaf","menus","pathMatch","m","sm","splat","getOpenKey","openKey","find","setOpenKey","menuClick","flush","avatarClass","avatarSize","avatarSearchStr","showReputation","nameMaxWidth","isEdit","setEditState","followingTags","useFollowingTags","newTags","tryLoggedAndActivated","ok","Card","followTags","slug_name_list","revalidate","Tag","alignDirection","alignPropType","xl","xxl","menuRole","renderMenuOnMount","rootCloseEvent","menuVariant","flip","DropdownButton","Dropdown","DropdownToggle","childBsPrefix","DropdownMenu","renderOnMount","sortKey","wrapClassName","setUrlSearchParams","delete","filteredData","MAX_BUTTON_COUNT","currentBtn","btn","borderTopRightRadius","borderBottomRightRadius","objectType","newData","oldData","opts","showTitle","showTagUrlSlug","addTags","c","deleteTags","pre_index","diffText","main_tag_slug_name","makeMarker","mark","renderCustomArea","part","pos","startMarkNode","endMarkNode","childNodes","nodeType","nodeValue","nextSibling","removeChild","insertAdjacentHTML","scriptList","so","script","attributes","attr","ActivateScriptNodes","custom_head","custom_header","custom_footer","customizeStore","handleCustomHead","handleCustomHeader","handleCustomFooter","primaryColor","primary_color","Color","useLayoutEffect","themeMetaNode","themeColor","hex","setThemeColor","rgb","shiftColor","round","tintColor","shadeColor","fade","string","doInsertCustomCSS","favicon","square_icon","pageTitle","keywords","pageTagStore","items","appVersion","version","hashVersion","siteName","currentLang","getCurrentLang","hostname","documentElement","generatorMetaNode","setAppGenerator","setDocTitle","REACT_BASE_PATH","sizes","property","itemProp","ListGroupItem","xs","site_name","showVotes","showAnswers","showViews","showAccepted","classname","httpCode","showErrorCode","pageWrap","display","usePageTags","custom_sidebar","handleNavClick","role_id","regex","RegExp","piece","kw","toLocaleLowerCase","emojiMap","icon","reactions","setReactions","reactIsActive","setReactIsActive","queryReactions","reaction_summary","handleSubmit","updateReaction","reaction","emoji","is_active","d","tooltip","closeVariant","CloseButton","isAccordionItemSelected","activeEventKey","AccordionCollapse","AccordionContext","AccordionBody","AccordionItemContext","AccordionButton","accordionOnClick","alwaysOpen","eventKeyPassed","useAccordionButton","AccordionHeader","AccordionItem","contextValue","Selector","ModalManager","adjustAndStore","adjust","actual","dataset","css","parseFloat","restore","setContainerStyle","containerState","super","this","getElement","addClass","scrollBarWidth","paddingProp","isRTL","marginProp","qsa","removeContainerStyle","removeClass","sharedManager","buttonProps","tagName","useButtonProps","baseClass","CardBody","CardFooter","CardHeader","cardHeaderBsPrefix","CardHeaderContext","CardImg","CardImgOverlay","CardLink","DivStyledAsH6","CardSubtitle","CardText","CardTitle","Img","Subtitle","Footer","ImgOverlay","ariaLabel","colProps","spans","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","classes","brkPoint","propValue","span","offset","infix","useCol","funcs","f","apply","MARGINS","getDefaultDimensionValue","dimension","elem","toUpperCase","slice","margins","parseInt","collapseStyles","EXITED","getDimensionValue","computedDimension","handleEnter","createChainedFunction","handleEntering","handleEntered","handleExit","triggerBrowserReflow","handleExiting","fluid","suffix","DropdownDivider","DropdownHeader","DropdownItem","dropdownItemProps","meta","useDropdownItem","DropdownItemText","pProps","focusFirstItemOnShow","navbar","_4","autoClose","isInputGroup","InputGroupContext","useIsRTL","handleToggle","nextShow","_meta$originalEvent","_meta$originalEvent$t","originalEvent","alignEnd","getDropdownMenuPlacement","directionClasses","down","end","start","DropdownContext","BaseDropdown","itemSelector","Menu","ItemText","Divider","dropDirection","showProps","popperConfig","isNavbar","contextAlign","alignClasses","menuProps","hasShown","popper","useDropdownMenu","usePopper","useMergedRefs","useWrappedRefWithWarning","useIsomorphicEffect","dropdownContext","toggleProps","useDropdownToggle","func","hasChildOfType","some","fadeStyles","transitionClasses","isAppearing","Feedback","FormFloating","FormLabel","column","visuallyHidden","htmlFor","FormContext","columnClass","FormRange","FormSelect","htmlSize","isValid","FormText","muted","FormCheck","Label","FloatingLabel","FormGroup","_ref","validated","Group","Control","Floating","Range","FormCheckLabel","bsSwitchPrefix","reverse","feedbackTooltip","innerFormContext","hasLabel","input","FormCheckInput","plaintext","InputGroupText","hasValidation","Radio","Checkbox","ListGroup","horizontal","numbered","horizontalVariant","BaseNav","navItemProps","useNavItem","makeEventKey","ModalBody","ModalDialog","dialogClass","fullScreenClass","ModalFooter","ModalHeader","DivStyledAsH4","ModalTitle","dialogClassName","dialogAs","Dialog","dataBsTheme","ariaDescribedby","modalStyle","setStyle","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","modal","setModalRef","useCallbackRef","mergedRef","getModalManager","updateDialogStyle","canUseDOM","containerIsOverflowing","getScrollbarWidth","modalIsOverflowing","ownerDocument","clientHeight","paddingRight","getScrollbarSize","handleWindowResize","dialog","useWillUnmount","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","transitionEnd","handleStaticBackdropClick","baseModalStyle","onMouseDown","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","uncontrolledProps","justify","navbarScroll","navbarBsPrefix","cardHeaderContext","Overlay","rootClose","outerShow","outerProps","outerRef","popperRef","firstRenderedState","setFirstRenderedState","modifiers","customOffset","overlayRef","popoverClass","tooltipClass","hasClass","Popover","useOverlayOffset","actualTransition","handleFirstUpdate","onFirstUpdate","scheduleUpdate","BaseOverlay","concat","overlayProps","arrowProps","popperObj","_popperObj$state","_popperObj$state$modi","aRef","__wrapped","r","safeFindDOMNode","wrapRefs","updatedPlacement","outOfBoundaries","modifiersData","hide","isReferenceHidden","strategy","hasDoneInitialMeasure","handleMouseOverOut","handler","relatedNative","related","relatedTarget","nativeEvent","propsShow","defaultShow","propsDelay","triggerNodeRef","useTimeout","hoverStateRef","useUncontrolledProp","normalizeDelay","handleShow","handleFocus","handleBlur","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOver","onMouseOut","cloneElement","PopoverHeader","PopoverBody","primaryPlacement","bsDirection","getOverlayDirection","computedStyle","getInitialPopperStyles","POPPER_OFFSET","bsSpinnerPrefix","createUtilityClassName","utilityValues","DEFAULT_BREAKPOINTS","DEFAULT_MIN_BREAKPOINT","utilName","utilValue","bpValue","gap","ThemeContext","prefixes","Consumer","defaultPrefix","dir","ToastFade","ToastHeader","ToastContext","ToastBody","delayRef","onCloseRef","autohideTimeout","autohideToast","autohideFunc","toastContext","hasAnimation","TOOLTIP_OFFSET","nodeRef","attachRef","normalize","param","handleExited","handleAddEndListener","opacity","pointerEvents","BsPrefixComponent","componentOrElement","parseDuration","mult","duration","offsetHeight","componentName"],"sourceRoot":""}