{"version":3,"file":"static/js/chunk-mix1.c9eb7cdd.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 type { QuestionOrderBy } from '@/common/interface';\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 'active',\n 'newest',\n 'frequent',\n 'score',\n 'unanswered',\n];\ninterface Props {\n source: 'questions' | 'tag';\n order?: 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';\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 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 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 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?.length > 5 ? res.slice(0, 5) : res);\n }\n handleMenuShow(tagArray.length > 0);\n setTags(tagArray?.length > 5 ? tagArray.slice(0, 5) : 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 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 setCurrentIndex(currentIndex - 1);\n }\n if (keyCode === 40 && currentIndex < tags.length - 1) {\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 && {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 { scrollToDocTop, 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 scrollToDocTop();\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 scrollToDocTop();\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 scrollToDocTop();\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 = `(() => {\n ${so.text}\n })();`;\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 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 setTimeout(() => {\n handleCustomHead(custom_head);\n }, 1000);\n handleCustomHeader(custom_header);\n handleCustomFooter(custom_footer);\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","height","width","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","style","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","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","maxHeight","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","theme","outline","padding","whiteSpace","wordWrap","wordBreak","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","handleLogout","logout","collapse","querySelector","toggle","click","navbarStyle","theme_config","themeSettingStore","navbar_style","logo","mobile_logo","NavItems","userCenter","allow_new_registrations","marginTop","Col","lg","searchUrl","cc","dayjs","format","Trans","i18nKey","values","fontSize","base64","svgClassName","base64ToSvg","timer","hiddenDescription","hiddenCreateBtn","maxTagLength","showRequiredTag","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","slice","resetSearch","handleRemove","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","maxWidth","formatCount","rank","FormatTime","PageItem","activeLabel","linkStyle","linkClassName","Anchor","createButton","defaultValue","First","Prev","Ellipsis","Next","Last","Pagination","decoratedBsPrefix","Item","pageArr","page","path","scrollToDocTop","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","top","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","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":""}