{"version":3,"file":"static/js/chunk-mix1.d5ffa0c8.chunk.js","mappings":"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","sources":["components/BrandUpload/index.tsx","components/HotQuestions/index.tsx","components/Icon/index.tsx","components/InitialLoadingPlaceholder/index.tsx","components/Modal/Modal.tsx","components/Modal/Confirm.tsx","components/Modal/LoginToContinueModal.tsx","components/Modal/BadgeModal.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/ToolBars/file.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/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","components/CardBadge/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/Badge.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 { 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\n// Same as spin in `public/index.html`\n\nimport './index.scss';\n\nfunction InitialLoadingPlaceholder() {\n return (\n
\n
\n
\n
\n
\n );\n}\n\nexport default InitialLoadingPlaceholder;\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 id?: string;\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 id = '',\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 { FC, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport type * as Type from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { readNotification, useQueryNotificationStatus } from '@/services';\nimport AnimateGift from '@/utils/animateGift';\nimport Icon from '../Icon';\n\nimport Modal from './Modal';\n\ninterface BadgeModalProps {\n badge?: Type.NotificationBadgeAward | null;\n visible: boolean;\n}\n\nlet bg1: AnimateGift;\nlet bg2: AnimateGift;\nlet timeout: NodeJS.Timeout;\nconst BadgeModal: FC = ({ badge, visible }) => {\n const { t } = useTranslation('translation', { keyPrefix: 'badges.modal' });\n const { user } = loggedUserInfoStore();\n const navigate = useNavigate();\n const { data, mutate } = useQueryNotificationStatus();\n\n const handle = async () => {\n if (!data) return;\n await readNotification(badge?.notification_id);\n await mutate({\n ...data,\n badge_award: null,\n });\n clearTimeout(timeout);\n bg1?.destroy();\n bg2?.destroy();\n };\n const handleCancel = async () => {\n await handle();\n };\n const handleConfirm = async () => {\n await handle();\n\n const url = `/badges/${badge?.badge_id}?username=${user.username}`;\n navigate(url);\n };\n\n const initAnimation = () => {\n const DURATION = 8000;\n const LENGTH = 200;\n const bgNode = document.documentElement || document.body;\n const badgeModalNode = document.getElementById('badgeModal');\n const parentNode = badgeModalNode?.parentNode;\n\n badgeModalNode?.setAttribute('style', 'z-index: 1');\n\n if (parentNode) {\n bg1 = new AnimateGift({\n elm: parentNode,\n width: bgNode.clientWidth,\n height: bgNode.clientHeight,\n length: LENGTH,\n duration: DURATION,\n isLoop: true,\n });\n\n timeout = setTimeout(() => {\n bg2 = new AnimateGift({\n elm: parentNode,\n width: window.innerWidth,\n height: window.innerHeight,\n length: LENGTH,\n duration: DURATION,\n });\n }, DURATION / 2);\n }\n };\n\n const destroyAnimation = () => {\n clearTimeout(timeout);\n bg1?.destroy();\n bg2?.destroy();\n };\n\n useEffect(() => {\n if (visible) {\n initAnimation();\n } else {\n destroyAnimation();\n }\n\n const handleVisibilityChange = () => {\n if (document.visibilityState === 'visible') {\n initAnimation();\n } else {\n destroyAnimation();\n }\n };\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n destroyAnimation();\n };\n }, [visible]);\n\n return (\n \n {badge && (\n
\n {badge.icon?.startsWith('http') ? (\n {badge.name}\n ) : (\n \n )}\n
{badge?.name}
\n

{t('content')}

\n
\n )}\n \n );\n};\n\nexport default BadgeModal;\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';\nimport BadgeModal from './BadgeModal';\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, BadgeModal };\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ListGroup } from 'react-bootstrap';\nimport { NavLink, useSearchParams } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport {\n Tag,\n Pagination,\n FormatTime,\n Empty,\n BaseUserCard,\n QueryGroup,\n QuestionListLoader,\n Counts,\n Icon,\n} from '@/components';\nimport * as Type from '@/common/interface';\nimport { useSkeletonControl } from '@/hooks';\n\nexport const QUESTION_ORDER_KEYS: Type.QuestionOrderBy[] = [\n 'newest',\n 'active',\n 'unanswered',\n 'recommend',\n 'frequent',\n 'score',\n];\ninterface Props {\n source: 'questions' | 'tag' | 'linked';\n order?: Type.QuestionOrderBy;\n data;\n orderList?: Type.QuestionOrderBy[];\n isLoading: boolean;\n}\n\nconst QuestionList: FC = ({\n source,\n order,\n data,\n orderList,\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 const orderKeys = orderList || QUESTION_ORDER_KEYS;\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';\nimport { writeSettingStore } from '@/stores';\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 const { authorized_attachment_extensions = [] } = writeSettingStore(\n (state) => state.write,\n );\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 showAttachFile = authorized_attachment_extensions?.length > 0;\n const pendIndex = showAttachFile ? 16 : 15;\n const nodes = React.Children.map(children, (child, index) => {\n if (index === pendIndex) {\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 console.log('onClick', e);\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.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-h2',\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, useRenderPlugin } 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 File,\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 useRenderPlugin(previewRef.current?.element);\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 );\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';\nimport { REACT_BASE_PATH } from '@/router/alias';\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 const navigate = useNavigate();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\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 floppyNavigation.navigate(href, {\n handler: navigate,\n });\n }\n };\n return (\n <>\n \n\n \n \n \n \n\n \n \n {t('header.nav.profile')}\n \n \n {t('header.nav.bookmark')}\n \n \n {t('header.nav.setting')}\n \n \n logOut(e)}>\n {t('header.nav.logout')}\n \n \n \n {/* Dropdown for user center agent info */}\n {ucAgent?.enabled &&\n (ucAgent?.agent_info?.url ||\n ucAgent?.agent_info?.control_center?.length) ? (\n \n \n \n \n\n \n {ucAgent.agent_info.url ? (\n \n {ucAgent.agent_info.name}\n \n ) : null}\n {ucAgent.agent_info.url &&\n ucAgent.agent_info.control_center?.length ? (\n \n ) : null}\n {ucAgent.agent_info.control_center?.map((ctrl) => {\n return (\n \n {ctrl.label}\n \n );\n })}\n \n \n ) : null}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useState, useEffect } from 'react';\nimport {\n Navbar,\n Container,\n Nav,\n Form,\n FormControl,\n Col,\n} from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport {\n useSearchParams,\n Link,\n useNavigate,\n useLocation,\n useMatch,\n} from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { userCenter, floppyNavigation } from '@/utils';\nimport {\n loggedUserInfoStore,\n siteInfoStore,\n brandingStore,\n loginSettingStore,\n themeSettingStore,\n sideNavStore,\n} from '@/stores';\nimport { logout, useQueryNotificationStatus } from '@/services';\nimport { Icon } from '@/components';\n\nimport NavItems from './components/NavItems';\n\nimport './index.scss';\n\nconst Header: FC = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const [urlSearch] = useSearchParams();\n const q = urlSearch.get('q');\n const { user, clear: clearUserStore } = loggedUserInfoStore();\n const { t } = useTranslation();\n const [searchStr, setSearch] = useState('');\n const siteInfo = siteInfoStore((state) => state.siteInfo);\n const brandingInfo = brandingStore((state) => state.branding);\n const loginSetting = loginSettingStore((state) => state.login);\n const { updateReview, updateVisible } = sideNavStore();\n const { data: redDot } = useQueryNotificationStatus();\n /**\n * Automatically append `tag` information when creating a question\n */\n const tagMatch = useMatch('/tags/:slugName');\n let askUrl = '/questions/ask';\n if (tagMatch && tagMatch.params.slugName) {\n askUrl = `${askUrl}?tags=${encodeURIComponent(tagMatch.params.slugName)}`;\n }\n\n useEffect(() => {\n updateReview({\n can_revision: Boolean(redDot?.can_revision),\n revision: Number(redDot?.revision),\n });\n }, [redDot]);\n\n const handleInput = (val) => {\n setSearch(val);\n };\n const handleSearch = (evt) => {\n evt.preventDefault();\n if (!searchStr) {\n return;\n }\n const searchUrl = `/search?q=${encodeURIComponent(searchStr)}`;\n navigate(searchUrl);\n };\n\n const handleLogout = async (evt) => {\n evt.preventDefault();\n await logout();\n clearUserStore();\n window.location.replace(window.location.href);\n };\n\n useEffect(() => {\n if (q && location.pathname === '/search') {\n handleInput(q);\n }\n }, [q]);\n\n useEffect(() => {\n const collapse = document.querySelector('#navBarContent');\n if (collapse && collapse.classList.contains('show')) {\n const toggle = document.querySelector('#navBarToggle') as HTMLElement;\n if (toggle) {\n toggle?.click();\n }\n }\n\n // clear search input when navigate to other page\n if (location.pathname !== '/search' && searchStr) {\n setSearch('');\n }\n }, [location.pathname]);\n\n let navbarStyle = 'theme-colored';\n const { theme, theme_config } = themeSettingStore((_) => _);\n if (theme_config?.[theme]?.navbar_style) {\n navbarStyle = `theme-${theme_config[theme].navbar_style}`;\n }\n\n return (\n \n \n {\n updateVisible();\n }}\n />\n\n
      \n \n {brandingInfo.logo ? (\n <>\n \n\n \n \n ) : (\n {siteInfo.name}\n )}\n \n\n {/* mobile nav */}\n
      \n {user?.username ? (\n handleLogout(e)}\n />\n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n
      \n
      \n\n \n
      \n
\n \n
\n \n
\n handleInput(e.target.value)}\n />\n \n \n\n \n \n {t('btns.add_question')}\n \n \n {/* pc nav */}\n \n {user?.username ? (\n \n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n \n \n \n \n );\n};\n\nexport default memo(Header);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\nimport { Container } from 'react-bootstrap';\nimport { Trans } from 'react-i18next';\n\nimport dayjs from 'dayjs';\n\nimport { siteInfoStore } from '@/stores';\n\nconst Index = () => {\n const fullYear = dayjs().format('YYYY');\n const siteName = siteInfoStore((state) => state.siteInfo.name);\n const cc = `${fullYear} ${siteName}`;\n return (\n
\n \n

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

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

\n }}\n />\n

\n ) : (\n <>\n

\n }}\n />\n

\n

{t('info')}

\n \n \n {t('change_btn_name')}\n \n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { uploadImage } from '@/services';\nimport * as Type from '@/common/interface';\n\ninterface IProps {\n type: Type.UploadType;\n className?: classnames.Argument;\n children?: React.ReactNode;\n acceptType?: string;\n disabled?: boolean;\n uploadCallback: (img: string) => void;\n}\n\nconst Index: React.FC = ({\n type,\n uploadCallback,\n children,\n acceptType = '',\n className,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [status, setStatus] = useState(false);\n\n const onChange = (e: any) => {\n if (status) {\n return;\n }\n if (e.target.files[0]) {\n // const fileSize = e.target.files[0].size || 0;\n\n // if (maxSize && fileSize / 1024 / 1024 > 2) {\n // Modal.confirm({\n // content: '请上传小于 2M 的图片',\n // });\n // return;\n // }\n setStatus(true);\n uploadImage({ file: e.target.files[0], type })\n .then((res) => {\n uploadCallback(res);\n })\n .finally(() => {\n setStatus(false);\n });\n }\n };\n\n return (\n \n {children || (status ? t('upload_img.loading') : t('upload_img.name'))}\n \n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Button, ButtonGroup } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { loggedUserInfoStore } from '@/stores';\nimport { useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { bookmark, postVote } from '@/services';\nimport * as Types from '@/common/interface';\n\ninterface Props {\n className?: string;\n source: 'question' | 'answer';\n data: {\n id: string;\n votesCount: number;\n isLike: boolean;\n isHate: boolean;\n hideCollect?: boolean;\n collected: boolean;\n collectCount: number;\n username: string;\n };\n}\n\nconst Index: FC = ({ className, data, source }) => {\n const [votes, setVotes] = useState(0);\n const [like, setLike] = useState(false);\n const [hate, setHated] = useState(false);\n const [bookmarkState, setBookmark] = useState({\n state: data?.collected,\n count: data?.collectCount,\n });\n const { username = '' } = loggedUserInfoStore((state) => state.user);\n const toast = useToast();\n const { t } = useTranslation();\n const vCaptcha = useCaptchaPlugin('vote');\n\n useEffect(() => {\n if (data) {\n setVotes(data.votesCount);\n setLike(data.isLike);\n setHated(data.isHate);\n setBookmark({\n state: data?.collected,\n count: data?.collectCount,\n });\n }\n }, []);\n\n const submitVote = (type) => {\n const isCancel = (type === 'up' && like) || (type === 'down' && hate);\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq?.(imgCode);\n\n postVote(\n {\n object_id: data?.id,\n is_cancel: isCancel,\n ...imgCode,\n },\n type,\n )\n .then(async (res) => {\n await vCaptcha?.close();\n setVotes(res.votes);\n setLike(res.vote_status === 'vote_up');\n setHated(res.vote_status === 'vote_down');\n })\n .catch((err) => {\n if (err?.isError) {\n vCaptcha?.handleCaptchaError(err.list);\n }\n const errMsg = err?.value;\n if (errMsg) {\n toast.onShow({\n msg: errMsg,\n variant: 'danger',\n });\n }\n });\n };\n\n const handleVote = (type: 'up' | 'down') => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (data.username === username) {\n toast.onShow({\n msg: t('cannot_vote_for_self'),\n variant: 'danger',\n });\n return;\n }\n\n if (!vCaptcha) {\n submitVote(type);\n return;\n }\n\n vCaptcha.check(() => {\n submitVote(type);\n });\n };\n\n const handleBookmark = () => {\n if (!tryNormalLogged(true)) {\n return;\n }\n bookmark({\n group_id: '0',\n object_id: data?.id,\n bookmark: !bookmarkState.state,\n }).then((res) => {\n setBookmark({\n state: !bookmarkState.state,\n count: res.object_collection_count,\n });\n });\n };\n\n return (\n
\n \n handleVote('up')}>\n \n \n \n handleVote('down')}>\n \n \n \n {!data?.hideCollect && (\n \n \n {bookmarkState.count}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Tag } from '@/common/interface';\nimport { pathFactory } from '@/router/pathFactory';\n\ninterface IProps {\n data: Tag;\n href?: string;\n className?: string;\n textClassName?: string;\n}\n\nconst Index: FC = ({\n data,\n href,\n className = '',\n textClassName = '',\n}) => {\n href ||= pathFactory.tagLanding(data.slug_name);\n\n return (\n \n \n {data.display_name || data.slug_name}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Dropdown, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { FacebookShareButton, TwitterShareButton } from 'next-share';\nimport copy from 'copy-to-clipboard';\n\nimport { BASE_ORIGIN } from '@/router/alias';\nimport { loggedUserInfoStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: any;\n aid?: any;\n title: string;\n // slugTitle: string;\n}\n\nconst Index: FC = ({ type, qid, aid, title }) => {\n const user = loggedUserInfoStore((state) => state.user);\n const [show, setShow] = useState(false);\n const [showTip, setShowTip] = useState(false);\n const [canSystemShare, setSystemShareState] = useState(false);\n const { t } = useTranslation();\n let baseUrl =\n type === 'question'\n ? `${BASE_ORIGIN}/questions/${qid}`\n : `${BASE_ORIGIN}/questions/${qid}/${aid}`;\n if (user.id) {\n baseUrl = `${baseUrl}?share=${user.username}`;\n }\n\n const closeShare = () => {\n setShowTip(false);\n setShow(false);\n };\n\n const handleCopy = (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n let copyText = baseUrl;\n if (title) {\n copyText = `${title} ${baseUrl}`;\n }\n copy(copyText);\n setShowTip(true);\n setTimeout(closeShare, 1000);\n };\n\n const systemShare = () => {\n navigator.share({\n title,\n text: `${title} - Answer:`,\n url: baseUrl,\n });\n };\n useEffect(() => {\n if (window.navigator?.canShare?.({ text: 'can_share' })) {\n setSystemShareState(true);\n }\n }, []);\n return (\n \n setShow(true)}\n style={{ lineHeight: '23px' }}>\n {t('share.name')}\n \n \n {t('share.copied')}}>\n \n {t('share.copy')}\n \n \n \n \n {t('share.facebook')}\n \n \n \n \n {t('share.twitter')}\n \n \n {canSystemShare && (\n {t('share.via')}\n )}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { Modal } from '@/components';\nimport { useReportModal, useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { QuestionOperationReq } from '@/common/interface';\nimport Share from '../Share';\nimport {\n deleteQuestion,\n deleteAnswer,\n editCheck,\n reopenQuestion,\n questionOperation,\n unDeleteAnswer,\n unDeleteQuestion,\n} from '@/services';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { floppyNavigation } from '@/utils';\nimport { toastStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: string;\n aid?: string;\n title: string;\n hasAnswer?: boolean;\n isAccepted: boolean;\n callback: (type: string) => void;\n memberActions;\n}\nconst Index: FC = ({\n type,\n qid,\n aid = '',\n title,\n isAccepted = false,\n hasAnswer = false,\n memberActions = [],\n callback,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'delete' });\n const toast = useToast();\n const navigate = useNavigate();\n const reportModal = useReportModal();\n const dCaptcha = useCaptchaPlugin('delete');\n\n const refreshQuestion = () => {\n callback?.('default');\n };\n const closeModal = useReportModal(refreshQuestion);\n const editUrl =\n type === 'answer' ? `/posts/${qid}/${aid}/edit` : `/posts/${qid}/edit`;\n\n const handleReport = () => {\n reportModal.onShow({\n type,\n id: type === 'answer' ? aid : qid,\n action: 'flag',\n });\n };\n\n const handleClose = () => {\n closeModal.onShow({\n type,\n id: qid,\n action: 'close',\n });\n };\n\n const submitDeleteQuestion = () => {\n const req = {\n id: qid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteQuestion(req)\n .then(async () => {\n await dCaptcha?.close();\n toast.onShow({\n msg: t('post_deleted', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n callback?.('delete_question');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const submitDeleteAnswer = () => {\n const req = {\n id: aid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteAnswer(req)\n .then(async () => {\n await dCaptcha?.close();\n // refresh page\n toast.onShow({\n msg: t('tip_answer_deleted'),\n variant: 'success',\n });\n callback?.('delete_answer');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = () => {\n if (type === 'question') {\n Modal.confirm({\n title: t('title'),\n content: hasAnswer ? t('question') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteQuestion();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteQuestion();\n });\n },\n });\n }\n\n if (type === 'answer' && aid) {\n Modal.confirm({\n title: t('title'),\n content: isAccepted ? t('answer_accepted') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteAnswer();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteAnswer();\n });\n },\n });\n }\n };\n\n const handleUndelete = () => {\n Modal.confirm({\n title: t('undelete_title'),\n content: t('undelete_desc'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('undelete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (type === 'question') {\n unDeleteQuestion(qid).then(() => {\n callback?.('default');\n });\n }\n\n if (type === 'answer') {\n unDeleteAnswer(aid).then(() => {\n callback?.('all');\n });\n }\n },\n });\n };\n\n const handleEdit = (evt, targetUrl) => {\n if (!floppyNavigation.shouldProcessLinkClick(evt)) {\n return;\n }\n evt.preventDefault();\n let checkObjectId = qid;\n if (type === 'answer') {\n checkObjectId = aid;\n }\n editCheck(checkObjectId).then(() => {\n navigate(targetUrl);\n });\n };\n\n const handleReopen = () => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.reopen' }),\n content: t('content', { keyPrefix: 'question_detail.reopen' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.reopen' }),\n onConfirm: () => {\n reopenQuestion({\n question_id: qid,\n }).then(() => {\n toast.onShow({\n msg: t('post_reopen', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n refreshQuestion();\n });\n },\n });\n };\n\n const handleCommon = async (params) => {\n await questionOperation(params);\n let msg = '';\n if (params.operation === 'pin') {\n msg = t('post_pin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'unpin') {\n msg = t('post_unpin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'hide') {\n msg = t('post_hide_list', { keyPrefix: 'messages' });\n }\n if (params.operation === 'show') {\n msg = t('post_show_list', { keyPrefix: 'messages' });\n }\n toastStore.getState().show({\n msg,\n variant: 'success',\n });\n setTimeout(() => {\n refreshQuestion();\n }, 100);\n };\n\n const handlOtherActions = (action) => {\n const params: QuestionOperationReq = {\n id: qid,\n operation: action,\n };\n\n if (action === 'pin') {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.pin' }),\n content: t('content', { keyPrefix: 'question_detail.pin' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.pin' }),\n onConfirm: () => {\n handleCommon(params);\n },\n });\n } else {\n handleCommon(params);\n }\n };\n\n const handleAction = (action) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'delete') {\n handleDelete();\n }\n\n if (action === 'undelete') {\n handleUndelete();\n }\n\n if (action === 'report') {\n handleReport();\n }\n\n if (action === 'close') {\n handleClose();\n }\n\n if (action === 'reopen') {\n handleReopen();\n }\n\n if (\n action === 'pin' ||\n action === 'unpin' ||\n action === 'hide' ||\n action === 'show'\n ) {\n handlOtherActions(action);\n }\n };\n\n const firstAction =\n memberActions?.filter(\n (v) =>\n v.action === 'report' ||\n v.action === 'edit' ||\n v.action === 'delete' ||\n v.action === 'undelete',\n ) || [];\n const secondAction =\n memberActions?.filter(\n (v) =>\n v.action === 'close' ||\n v.action === 'reopen' ||\n v.action === 'pin' ||\n v.action === 'unpin' ||\n v.action === 'hide' ||\n v.action === 'show',\n ) || [];\n\n return (\n
\n \n {firstAction?.map((item) => {\n if (item.action === 'edit') {\n return (\n handleEdit(evt, editUrl)}\n style={{ lineHeight: '23px' }}>\n {item.name}\n \n );\n }\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n {secondAction.length > 0 && (\n \n \n {t('action', { keyPrefix: 'question_detail' })}\n \n \n {secondAction.map((item) => {\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n \n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { Avatar, FormatTime } from '@/components';\nimport { formatCount } from '@/utils';\n\ninterface Props {\n data: any;\n time: number;\n preFix: string;\n isLogged: boolean;\n timelinePath: string;\n className?: string;\n}\n\nconst Index: FC = ({\n data,\n time,\n preFix,\n isLogged,\n timelinePath,\n className = '',\n}) => {\n return (\n
\n {data?.status !== 'deleted' ? (\n \n \n\n \n \n ) : (\n <>\n \n\n \n \n )}\n
\n
\n {data?.status !== 'deleted' ? (\n \n {data?.display_name}\n \n ) : (\n {data?.display_name}\n )}\n \n {formatCount(data?.rank)}\n \n
\n {time &&\n (isLogged ? (\n \n \n \n ) : (\n \n ))}\n
\n
\n );\n};\n\nexport default memo(Index);\n","/* eslint-disable react/no-multi-comp */\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PageItem = /*#__PURE__*/React.forwardRef(({\n active = false,\n disabled = false,\n className,\n style,\n activeLabel = '(current)',\n children,\n linkStyle,\n linkClassName,\n as = Anchor,\n ...props\n}, ref) => {\n const Component = active || disabled ? 'span' : as;\n return /*#__PURE__*/_jsx(\"li\", {\n ref: ref,\n style: style,\n className: classNames(className, 'page-item', {\n active,\n disabled\n }),\n children: /*#__PURE__*/_jsxs(Component, {\n className: classNames('page-link', linkClassName),\n style: linkStyle,\n ...props,\n children: [children, active && activeLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: activeLabel\n })]\n })\n });\n});\nPageItem.displayName = 'PageItem';\nexport default PageItem;\nfunction createButton(name, defaultValue, label = name) {\n const Button = /*#__PURE__*/React.forwardRef(({\n children,\n ...props\n }, ref) => /*#__PURE__*/_jsxs(PageItem, {\n ...props,\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n children: children || defaultValue\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: label\n })]\n }));\n Button.displayName = name;\n return Button;\n}\nexport const First = createButton('First', '«');\nexport const Prev = createButton('Prev', '‹', 'Previous');\nexport const Ellipsis = createButton('Ellipsis', '…', 'More');\nexport const Next = createButton('Next', '›');\nexport const Last = createButton('Last', '»');","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PageItem, { Ellipsis, First, Last, Next, Prev } from './PageItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Pagination = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n size,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');\n return /*#__PURE__*/_jsx(\"ul\", {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, size && `${decoratedBsPrefix}-${size}`)\n });\n});\nPagination.displayName = 'Pagination';\nexport default Object.assign(Pagination, {\n First,\n Prev,\n Ellipsis,\n Item: PageItem,\n Next,\n Last\n});","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Pagination } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useSearchParams, useNavigate, useLocation } from 'react-router-dom';\n\nimport { floppyNavigation } from '@/utils';\n\ninterface Props {\n currentPage: number;\n pageSize: number;\n totalSize: number;\n pathname?: string;\n}\n\ninterface PageItemProps {\n page: number;\n currentPage: number;\n path: string;\n}\n\nconst pageArr = [\n {\n href: '1',\n page: 1,\n },\n {\n href: '#!',\n page: 2,\n },\n {\n href: '#!',\n page: 3,\n },\n {\n href: '#!',\n page: 4,\n },\n {\n href: '#!',\n page: 5,\n },\n];\n\nconst PageItem = ({ page, currentPage, path }: PageItemProps) => {\n const navigate = useNavigate();\n return (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n e.stopPropagation();\n navigate(path);\n }\n }}>\n {page}\n \n );\n};\n\nconst Index: FC = ({\n currentPage = 1,\n pageSize = 15,\n totalSize = 0,\n pathname = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'pagination' });\n const location = useLocation();\n if (!pathname) {\n pathname = location.pathname;\n }\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const totalPage = Math.ceil(totalSize / pageSize);\n const realPage = currentPage > totalPage ? totalPage : currentPage;\n\n const mapPage = pageArr.filter((i) => i.page <= totalPage);\n\n if (totalPage <= 1) {\n return null;\n }\n\n const handleParams = (pageNum): string => {\n searchParams.set('page', String(pageNum));\n const searchStr = searchParams.toString();\n return `${pathname}?${searchStr}`;\n };\n return (\n \n {currentPage > 1 && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage - 1));\n }\n }}>\n {t('prev')}\n \n )}\n {currentPage >= 1 && currentPage <= 4 && (\n <>\n {mapPage.map((item) => {\n return (\n \n );\n })}\n \n )}\n {currentPage === 4 && totalPage > 6 && (\n \n )}\n\n {currentPage > 4 && (\n <>\n \n\n \n \n )}\n {currentPage >= 5 && (\n <>\n \n \n \n )}\n\n {currentPage > totalPage && (\n \n )}\n\n {currentPage >= 5 &&\n totalPage >= currentPage &&\n new Array(\n totalPage <= 3\n ? totalPage - currentPage + 1\n : Math.min(totalPage - currentPage + 1, 3),\n )\n .fill('')\n .map((v, i) => {\n return (\n \n );\n })}\n {totalPage > 5 && realPage + 2 < totalPage && (\n \n )}\n\n {totalPage > 0 && currentPage < totalPage && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage + 1));\n }\n }}>\n {t('next')}\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect, memo } from 'react';\nimport { Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { TextArea, Mentions } from '@/components';\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\nimport { parseEditMentionUser } from '@/utils';\n\nconst Index = ({\n className = '',\n value: initialValue = '',\n onSendReply,\n type = '',\n onCancel,\n mode,\n}) => {\n const [value, setValue] = useState('');\n const [immData, setImmData] = useState('');\n const pageUsers = usePageUsers();\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\n\n usePromptWithUnload({\n when: type === 'edit' ? immData !== value : Boolean(value),\n });\n useEffect(() => {\n if (!initialValue) {\n return;\n }\n setImmData(initialValue);\n setValue(initialValue);\n }, [initialValue]);\n\n const handleChange = (e) => {\n setValue(e.target.value);\n };\n const handleSelected = (val) => {\n setValue(val);\n };\n const handleSendReply = () => {\n onSendReply(value).catch((ex) => {\n if (ex.isError) {\n setValidationErrorMsg(ex.msg);\n }\n });\n };\n\n return (\n \n
\n \n \n \n \n
{t(`tip_${mode}`)}
\n
\n \n {validationErrorMsg}\n \n \n {type === 'edit' ? (\n
\n handleSendReply()}>\n {t('btn_save_edits')}\n \n \n {t('btn_cancel')}\n \n
\n ) : (\n handleSendReply()}>\n {t('btn_add_comment')}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Icon, FormatTime } from '@/components';\n\nconst ActionBar = ({\n nickName,\n username,\n createdAt,\n isVote,\n voteCount = 0,\n memberActions,\n onReply,\n onVote,\n onAction,\n userStatus = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n return (\n
\n
\n {userStatus !== 'deleted' ? (\n \n {nickName}\n \n ) : (\n {nickName}\n )}\n \n \n \n \n {voteCount > 0 && {voteCount}}\n \n \n {t('btn_reply')}\n \n
\n
\n {memberActions.map((action, index) => {\n return (\n 0 && 'ms-3',\n )}\n onClick={() => onAction(action)}>\n {action.name}\n \n );\n })}\n
\n \n \n \n \n\n \n {memberActions.map((action) => {\n return (\n onAction(action)}>\n {action.name}\n \n );\n })}\n \n \n
\n );\n};\n\nexport default memo(ActionBar);\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { useState, memo } from 'react';\r\nimport { Button, Form } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport classNames from 'classnames';\r\n\r\nimport { TextArea, Mentions } from '@/components';\r\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\r\n\r\nconst Index = ({ userName, onSendReply, onCancel, mode }) => {\r\n const [value, setValue] = useState('');\r\n const pageUsers = usePageUsers();\r\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\r\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\r\n\r\n usePromptWithUnload({\r\n when: Boolean(value),\r\n });\r\n\r\n const handleChange = (e) => {\r\n setValue(e.target.value);\r\n };\r\n const handleSelected = (val) => {\r\n setValue(val);\r\n };\r\n const handleSendReply = () => {\r\n onSendReply(value).catch((ex) => {\r\n if (ex.isError) {\r\n setValidationErrorMsg(ex.msg);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {t('reply_to')} {userName}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
{t(`tip_${mode}`)}
\r\n
\r\n \r\n {validationErrorMsg}\r\n \r\n
\r\n
\r\n handleSendReply()}>\r\n {t('btn_add_comment')}\r\n \r\n \r\n {t('btn_cancel')}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(Index);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect } from 'react';\nimport { Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\nimport unionBy from 'lodash/unionBy';\n\nimport * as Types from '@/common/interface';\nimport { Modal } from '@/components';\nimport { usePageUsers, useReportModal, useCaptchaModal } from '@/hooks';\nimport {\n matchedUsers,\n parseUserInfo,\n scrollToElementTop,\n bgFadeOut,\n} from '@/utils';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport {\n useQueryComments,\n addComment,\n deleteComment,\n updateComment,\n postVote,\n} from '@/services';\nimport { commentReplyStore } from '@/stores';\nimport Reactions from '@/pages/Questions/Detail/components/Reactions';\n\nimport { Form, ActionBar, Reply } from './components';\n\nimport './index.scss';\n\nconst Comment = ({ objectId, mode, commentId }) => {\n const pageUsers = usePageUsers();\n const [pageIndex, setPageIndex] = useState(0);\n const [visibleComment, setVisibleComment] = useState(false);\n const { id: currentReplyId, update: updateCurrentReplyId } =\n commentReplyStore();\n const pageSize = pageIndex === 0 ? 3 : 15;\n const { data, mutate } = useQueryComments({\n object_id: objectId,\n comment_id: commentId,\n page: pageIndex,\n page_size: pageSize,\n });\n const [comments, setComments] = useState([]);\n\n const reportModal = useReportModal();\n\n const addCaptcha = useCaptchaModal('comment');\n const editCaptcha = useCaptchaPlugin('edit');\n const dCaptcha = useCaptchaPlugin('delete');\n const vCaptcha = useCaptchaPlugin('vote');\n\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n useEffect(() => {\n if (pageIndex === 0 && commentId && comments.length !== 0) {\n setTimeout(() => {\n const el = document.getElementById(commentId);\n scrollToElementTop(el);\n bgFadeOut(el);\n }, 100);\n }\n\n return () => {\n updateCurrentReplyId('');\n };\n }, [comments]);\n\n useEffect(() => {\n if (!data) {\n return;\n }\n if (data.count <= 3) {\n data.list.sort((a, b) => a.created_at - b.created_at);\n }\n if (pageIndex === 1 || pageIndex === 0) {\n setComments(data?.list);\n } else {\n setComments([...comments, ...data.list]);\n }\n const user: Types.PageUser[] = [];\n data.list.forEach((item) => {\n user.push({\n id: item.user_id,\n displayName: item.user_display_name,\n userName: item.username,\n });\n user.push({\n id: item.reply_comment_id,\n displayName: item.reply_user_display_name,\n userName: item.username,\n });\n });\n pageUsers.setUsers(user);\n }, [data]);\n\n const handleReply = (id) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n comments.forEach((item) => {\n if (item.comment_id === id) {\n updateCurrentReplyId(id);\n }\n });\n };\n\n const handleEdit = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = !item.showEdit;\n }\n return item;\n }),\n );\n };\n\n const submitUpdateComment = (params, item) => {\n const up = {\n ...params,\n comment_id: item.comment_id,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n editCaptcha?.resolveCaptchaReq(up);\n\n return updateComment(up)\n .then(async (res) => {\n await editCaptcha?.close();\n setComments(\n comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n comment.showEdit = false;\n comment.parsed_text = res.parsed_text;\n comment.original_text = res.original_text;\n }\n return comment;\n }),\n );\n })\n .catch((err) => {\n if (err.isError) {\n const captchaErr = editCaptcha?.handleCaptchaError(err.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && err.list.length === 1)) {\n return Promise.reject(err);\n }\n }\n return Promise.resolve();\n });\n };\n\n const submitAddComment = (params, item) => {\n const req = {\n ...params,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n addCaptcha?.resolveCaptchaReq(req);\n\n return addComment(req)\n .then(async (res) => {\n await addCaptcha?.close();\n if (item.type === 'reply') {\n const index = comments.findIndex(\n (comment) => comment.comment_id === item.comment_id,\n );\n updateCurrentReplyId('');\n comments.splice(index + 1, 0, res);\n setComments([...comments]);\n } else {\n setComments([\n ...comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n updateCurrentReplyId('');\n }\n return comment;\n }),\n res,\n ]);\n }\n\n setVisibleComment(false);\n })\n .catch((ex) => {\n if (ex.isError) {\n const captchaErr = addCaptcha?.handleCaptchaError(ex.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && ex.list.length === 1)) {\n return Promise.reject(ex);\n }\n }\n return Promise.resolve();\n });\n };\n\n const handleSendReply = (item) => {\n const users = matchedUsers(item.value);\n const userNames = unionBy(users.map((user) => user.userName));\n const commentMarkDown = parseUserInfo(item.value);\n\n const params = {\n object_id: objectId,\n original_text: commentMarkDown,\n mention_username_list: userNames,\n ...(item.type === 'reply'\n ? {\n reply_comment_id: item.comment_id,\n }\n : {}),\n };\n\n if (item.type === 'edit') {\n if (!editCaptcha) {\n return submitUpdateComment(params, item);\n }\n return editCaptcha.check(() => submitUpdateComment(params, item));\n }\n\n if (!addCaptcha) {\n return submitAddComment(params, item);\n }\n\n return addCaptcha.check(() => submitAddComment(params, item));\n };\n\n const submitDeleteComment = (id) => {\n const imgCode = { captcha_id: undefined, captcha_code: undefined };\n dCaptcha?.resolveCaptchaReq(imgCode);\n\n deleteComment(id, imgCode)\n .then(async () => {\n await dCaptcha?.close();\n if (pageIndex === 0) {\n mutate();\n }\n setComments(comments.filter((item) => item.comment_id !== id));\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = (id) => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'delete' }),\n content: t('other', { keyPrefix: 'delete' }),\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteComment(id);\n return;\n }\n dCaptcha.check(() => {\n submitDeleteComment(id);\n });\n },\n });\n };\n\n const submitVoteComment = (id, is_cancel) => {\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq(imgCode);\n\n postVote(\n {\n object_id: id,\n is_cancel,\n ...imgCode,\n },\n 'up',\n )\n .then(async () => {\n await vCaptcha?.close();\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.vote_count = is_cancel\n ? item.vote_count - 1\n : item.vote_count + 1;\n item.is_vote = !is_cancel;\n }\n return item;\n }),\n );\n })\n .catch((ex) => {\n if (ex.isError) {\n vCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n const handleVote = (id, is_cancel) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (!vCaptcha) {\n submitVoteComment(id, is_cancel);\n return;\n }\n\n vCaptcha.check(() => {\n submitVoteComment(id, is_cancel);\n });\n };\n\n const handleAction = ({ action }, item) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'report') {\n reportModal.onShow({\n id: item.comment_id,\n type: 'comment',\n action: 'flag',\n });\n } else if (action === 'delete') {\n handleDelete(item.comment_id);\n } else if (action === 'edit') {\n handleEdit(item.comment_id);\n }\n };\n\n const handleCancel = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = false;\n updateCurrentReplyId('');\n }\n return item;\n }),\n );\n };\n\n const handleAddComment = () => {\n if (!tryNormalLogged(true)) {\n setVisibleComment(false);\n return;\n }\n\n setVisibleComment(!visibleComment);\n };\n\n return (\n <>\n \n 0 && 'bg-light px-3 py-2 rounded',\n )}>\n {comments.map((item) => {\n return (\n \n {item.showEdit ? (\n \n handleSendReply({ ...item, value, type: 'edit' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : (\n
\n {item.reply_user_display_name && (\n \n @{item.reply_user_display_name}\n \n )}\n\n \n
\n )}\n\n {currentReplyId === item.comment_id ? (\n \n handleSendReply({ ...item, value, type: 'reply' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : null}\n {item.showEdit || currentReplyId === item.comment_id ? null : (\n {\n handleReply(item.comment_id);\n }}\n onAction={(action) => handleAction(action, item)}\n onVote={(e) => {\n e.preventDefault();\n handleVote(item.comment_id, item.is_vote);\n }}\n />\n )}\n \n );\n })}\n\n
0 && 'py-2')}>\n {comments.length > 0 && (\n \n {t('btn_add_comment')}\n \n )}\n {data &&\n (pageIndex || 1) < Math.ceil((data?.count || 0) / pageSize) && (\n {\n setPageIndex(pageIndex + 1);\n }}>\n {t('show_more', {\n count:\n data.count - (pageIndex === 0 ? 3 : pageIndex * pageSize),\n })}\n \n )}\n
\n\n {visibleComment && (\n handleSendReply({ value, type: 'comment' })}\n onCancel={() => setVisibleComment(!visibleComment)}\n />\n )}\n \n \n );\n};\n\nexport default Comment;\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { FC, useRef, useEffect, memo } from 'react';\r\nimport { FormControl, FormControlProps } from 'react-bootstrap';\r\n\r\nconst TextArea: FC<\r\n FormControlProps & { rows?: number; autoFocus?: boolean }\r\n> = ({\r\n value,\r\n onChange,\r\n size,\r\n rows = 1,\r\n autoFocus = true,\r\n isInvalid,\r\n ...rest\r\n}) => {\r\n const ref = useRef(null);\r\n\r\n const autoGrow = () => {\r\n if (ref.current) {\r\n ref.current.style.height = 'auto';\r\n ref.current.style.height = `${ref.current.scrollHeight}px`;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (ref.current && value) {\r\n autoGrow();\r\n }\r\n }, [ref, value]);\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport default memo(TextArea);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useEffect, useRef, useState, FC } from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { useSearchUserStaff } from '@/services';\nimport * as Types from '@/common/interface';\n\nimport './index.scss';\n\ninterface IProps {\n children: React.ReactNode;\n pageUsers;\n onSelected: (val: string) => void;\n}\n\nconst MAX_RECODE = 5;\n\nconst Mentions: FC = ({ children, pageUsers, onSelected }) => {\n const menuRef = useRef(null);\n const dropdownRef = useRef(null);\n const [val, setValue] = useState('');\n const [users, setUsers] = useState([]);\n const [cursor, setCursor] = useState(0);\n const [isRequested, setRequestedState] = useState(false);\n const { data: staffUserList = [] } = useSearchUserStaff(val);\n const mapStaffUsers =\n staffUserList\n ?.map((item) => ({\n displayName: item.display_name,\n userName: item.username,\n }))\n ?.filter(\n (item) =>\n users.findIndex((user) => user.userName === item.userName) < 0,\n ) || [];\n\n const searchUser = () => {\n const element = dropdownRef.current?.children[0];\n const { value, selectionStart = 0 } = element as HTMLTextAreaElement;\n\n if (value.indexOf('@') < 0) {\n setValue('');\n }\n if (!selectionStart) {\n return;\n }\n\n const str = value.substring(\n value.substring(0, selectionStart).lastIndexOf('@'),\n selectionStart,\n );\n\n if (str.substring(str.lastIndexOf(' '), selectionStart).indexOf('@') < 0) {\n return;\n }\n\n setValue(str.substring(1));\n\n if (!str.substring(1)) {\n return;\n }\n if (isRequested) {\n return;\n }\n setRequestedState(true);\n };\n\n useEffect(() => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n if (element) {\n element.addEventListener('input', searchUser);\n }\n return () => {\n element.removeEventListener('input', searchUser);\n };\n }, [dropdownRef]);\n\n useEffect(() => {\n setUsers(pageUsers);\n }, [pageUsers, val]);\n\n const handleClick = (item) => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n const { value, selectionStart = 0 } = element;\n\n if (!selectionStart) {\n return;\n }\n\n const text = `@${item?.userName} `;\n onSelected(\n `${value.substring(\n 0,\n value.substring(0, selectionStart).lastIndexOf('@'),\n )}${text}${value.substring(selectionStart)}`,\n );\n setUsers([]);\n setValue('');\n };\n const filterData = val\n ? [...users, ...mapStaffUsers].filter(\n (item) =>\n item.displayName?.indexOf(val) === 0 ||\n item.userName?.indexOf(val) === 0,\n )\n : [];\n const handleKeyDown = (e) => {\n const { keyCode } = e;\n\n if (keyCode === 38 && cursor > 0) {\n e.preventDefault();\n setCursor(cursor - 1);\n }\n if (keyCode === 40 && cursor < filterData.length - 1) {\n e.preventDefault();\n\n setCursor(cursor + 1);\n }\n if (keyCode === 13 && cursor > -1 && cursor <= filterData.length - 1) {\n e.preventDefault();\n\n const item = filterData[cursor];\n\n handleClick(item);\n setCursor(0);\n }\n };\n\n return (\n 0}\n onKeyDown={handleKeyDown}>\n {children}\n 0 ? 'visible' : 'invisible'}\n ref={menuRef}>\n {filterData\n .filter((_, index) => index < MAX_RECODE)\n .map((item, index) => {\n return (\n handleClick(item)}>\n {item.displayName}\n @{item.userName}\n \n );\n })}\n \n \n );\n};\n\nexport default Mentions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\n\ninterface Props {\n time: number;\n className?: string;\n preFix?: string;\n}\n\nconst Index: FC = ({ time, preFix, className }) => {\n const { t } = useTranslation();\n const formatTime = (from) => {\n const now = Math.floor(dayjs().valueOf() / 1000);\n const between = now > from ? now - from : 0;\n\n if (between <= 1) {\n return t('dates.now');\n }\n if (between > 1 && between < 60) {\n return t('dates.x_seconds_ago', { count: between });\n }\n\n if (between >= 60 && between < 3600) {\n const min = Math.floor(between / 60);\n return t('dates.x_minutes_ago', { count: min });\n }\n if (between >= 3600 && between < 3600 * 24) {\n const h = Math.floor(between / 3600);\n return t('dates.x_hours_ago', { count: h });\n }\n\n if (\n between >= 3600 * 24 &&\n between < 3600 * 24 * 366 &&\n dayjs.unix(from).format('YYYY') === dayjs.unix(now).format('YYYY')\n ) {\n return dayjs.unix(from).tz().format(t('dates.long_date'));\n }\n\n return dayjs.unix(from).tz().format(t('dates.long_date_with_year'));\n };\n\n if (!time) {\n return null;\n }\n\n return (\n \n {preFix ? `${preFix} ` : ''}\n {formatTime(time)}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Toast } from 'react-bootstrap';\n\ninterface IProps {\n /** main content */\n msg: string;\n /** theme color */\n variant?: 'warning' | 'success' | 'danger';\n /** callback click close */\n onClose: () => void;\n}\n\nconst Index: FC = ({ msg, variant = 'warning', onClose }) => {\n return (\n \n \n
\n \n \n
\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, useEffect, useState } from 'react';\nimport { Accordion, Nav } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate, useMatch, NavLink } 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 return (\n \n {isLeaf ? (\n {\n callback(evt, menu, href, isLeaf);\n }}\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 ) : (\n {\n callback(evt, menu, href, isLeaf);\n }}\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 )}\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 { REACT_BASE_PATH } from '@/router/alias';\nimport { floppyNavigation } from '@/utils';\n\nimport './index.scss';\n\ninterface Props {\n data;\n i18nKeyPrefix: string;\n currentSort: string;\n sortKey?: string;\n className?: string;\n pathname?: string;\n wrapClassName?: string;\n maxBtnCount?: number;\n}\nconst Index: FC = ({\n data = [],\n currentSort = '',\n sortKey = 'order',\n i18nKeyPrefix = '',\n className = '',\n pathname = '',\n wrapClassName = '',\n maxBtnCount = 3,\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 const moreBtnData = data.length > 4 ? data.slice(maxBtnCount) : [];\n const normalBtnData = data.length > 4 ? data.slice(0, maxBtnCount) : data;\n const currentBtn = moreBtnData.find((btn) => {\n return (typeof btn === 'string' ? btn : btn.name) === currentSort;\n });\n\n return (\n <>\n \n {normalBtnData.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 {moreBtnData.length > 0 && (\n \n {moreBtnData.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 {data.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\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Tag } from '@/components';\nimport { diffText } from '@/utils';\n\ninterface Props {\n objectType: string | 'question' | 'answer' | 'tag';\n newData: Record;\n oldData?: Record;\n className?: string;\n opts?: Partial<{\n showTitle: boolean;\n showTagUrlSlug: boolean;\n }>;\n}\n\nconst Index: FC = ({\n objectType,\n newData,\n oldData,\n className = '',\n opts = {\n showTitle: true,\n showTagUrlSlug: true,\n },\n}) => {\n if (!newData) return null;\n\n let tag = newData.tags;\n if (objectType === 'question' && oldData?.tags) {\n const addTags = newData.tags.filter(\n (c) => !oldData?.tags?.find((p) => p.slug_name === c.slug_name),\n );\n\n let deleteTags = oldData?.tags\n .filter((c) => !newData?.tags.find((p) => p.slug_name === c.slug_name))\n .map((v) => ({ ...v, state: 'delete' }));\n\n deleteTags = deleteTags?.map((v) => {\n const index = oldData?.tags?.findIndex(\n (c) => c.slug_name === v.slug_name,\n );\n return {\n ...v,\n pre_index: index,\n };\n });\n\n tag = newData.tags.map((item) => {\n const find = addTags.find((c) => c.slug_name === item.slug_name);\n if (find) {\n return {\n ...find,\n state: 'add',\n };\n }\n return item;\n });\n\n deleteTags.forEach((v) => {\n tag.splice(v.pre_index, 0, v);\n });\n }\n\n return (\n
\n {objectType !== 'answer' && opts?.showTitle && (\n \n )}\n {objectType === 'question' && (\n
\n {tag?.map((item) => {\n return (\n \n );\n })}\n
\n )}\n {objectType === 'tag' && opts?.showTagUrlSlug && (\n \n )}\n \n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst CUSTOM_MARK_HEAD = 'customize_head';\nconst CUSTOM_MARK_HEADER = 'customize_header';\nconst CUSTOM_MARK_FOOTER = 'customize_footer';\n\nconst makeMarker = (mark) => {\n return ``;\n};\n\nconst ActivateScriptNodes = (el, part) => {\n let startMarkNode;\n const scriptList: HTMLScriptElement[] = [];\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n // this is the endMarkNode\n break;\n }\n }\n if (\n startMarkNode &&\n node.nodeType === 1 &&\n node.nodeName.toLowerCase() === 'script'\n ) {\n scriptList.push(node);\n }\n }\n scriptList?.forEach((so) => {\n const script = document.createElement('script');\n script.text = `(() => {${so.text}})();`;\n for (let i = 0; i < so.attributes.length; i += 1) {\n const attr = so.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n el.replaceChild(script, so);\n });\n};\n\ntype pos = 'afterbegin' | 'beforeend';\nconst renderCustomArea = (el, part, pos: pos, content: string = '') => {\n let startMarkNode;\n let endMarkNode;\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n endMarkNode = node;\n break;\n }\n }\n }\n\n if (startMarkNode && endMarkNode) {\n while (\n startMarkNode.nextSibling &&\n startMarkNode.nextSibling !== endMarkNode\n ) {\n el.removeChild(startMarkNode.nextSibling);\n }\n }\n if (startMarkNode) {\n el.removeChild(startMarkNode);\n }\n if (endMarkNode) {\n el.removeChild(endMarkNode);\n }\n el.insertAdjacentHTML(pos, makeMarker(part));\n el.insertAdjacentHTML(pos, content);\n el.insertAdjacentHTML(pos, makeMarker(part));\n ActivateScriptNodes(el, part);\n};\nconst handleCustomHead = (content) => {\n const el = document.head;\n renderCustomArea(el, CUSTOM_MARK_HEAD, 'beforeend', content);\n};\n\nconst handleCustomHeader = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_HEADER, 'afterbegin', content);\n};\n\nconst handleCustomFooter = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_FOOTER, 'beforeend', content);\n};\n\nconst Index: FC = () => {\n const { custom_head, custom_header, custom_footer } = customizeStore(\n (state) => state,\n );\n useEffect(() => {\n const isSeo = document.querySelector('meta[name=\"go-template\"]');\n if (!isSeo) {\n setTimeout(() => {\n handleCustomHead(custom_head);\n }, 1000);\n handleCustomHeader(custom_header);\n handleCustomFooter(custom_footer);\n }\n }, [custom_head, custom_header, custom_footer]);\n return null;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport Color from 'color';\n\nimport { shiftColor, tintColor, shadeColor } from '@/utils';\nimport { themeSettingStore } from '@/stores';\nimport { DEFAULT_THEME_COLOR } from '@/common/constants';\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\n ? primaryColor.hex()\n : DEFAULT_THEME_COLOR;\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/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 } 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 { pathname } = useLocation();\n const { user: userInfo } = loggedUserInfoStore();\n const { visible, can_revision, revision } = sideNavStore();\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 { useTranslation } from 'react-i18next';\nimport { FC } from 'react';\nimport { Card, Badge } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { Icon } from '@/components';\nimport * as Type from '@/common/interface';\nimport { formatCount } from '@/utils';\n\nimport './index.scss';\n\ninterface IProps {\n data: Type.BadgeListItem;\n showAwardedCount?: boolean;\n urlSearchParams?: string;\n badgePillType?: 'earned' | 'count';\n}\n\nconst Index: FC = ({\n data,\n badgePillType = 'earned',\n showAwardedCount = false,\n urlSearchParams,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'badges' });\n return (\n \n \n {Number(data?.earned_count) > 0 && badgePillType === 'earned' && (\n \n {`${t('earned')}${\n Number(data?.earned_count) > 1 ? ` ×${data.earned_count}` : ''\n }`}\n \n )}\n\n {badgePillType === 'count' && Number(data?.earned_count) > 1 && (\n \n ×{data.earned_count}\n \n )}\n {data.icon.startsWith('http') ? (\n {data.name}\n ) : (\n \n )}\n\n
{data.name}
\n {showAwardedCount && (\n
\n {t('×_awarded', { number: formatCount(data.award_count) })}\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, 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});","\"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 Badge = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n bg = 'primary',\n pill = false,\n text,\n className,\n as: Component = 'span',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'badge');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, pill && `rounded-pill`, text && `text-${text}`, bg && `bg-${bg}`)\n });\n});\nBadge.displayName = 'Badge';\nexport default Badge;","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n};\nclass BootstrapModalManager extends ModalManager {\n adjustAndStore(prop, element, adjust) {\n const actual = element.style[prop];\n // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n // @ts-ignore\n element.dataset[prop] = actual;\n css(element, {\n [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n });\n }\n restore(prop, element) {\n const value = element.dataset[prop];\n if (value !== undefined) {\n delete element.dataset[prop];\n css(element, {\n [prop]: value\n });\n }\n }\n setContainerStyle(containerState) {\n super.setContainerStyle(containerState);\n const container = this.getElement();\n addClass(container, 'modal-open');\n if (!containerState.scrollBarWidth) return;\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n }\n removeContainerStyle(containerState) {\n super.removeContainerStyle(containerState);\n const container = this.getElement();\n removeClass(container, 'modal-open');\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n }\n}\nlet sharedManager;\nexport function getSharedManager(options) {\n if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n return sharedManager;\n}\nexport default BootstrapModalManager;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant = 'primary',\n size,\n active = false,\n disabled = false,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n disabled,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, {\n ...buttonProps,\n ...props,\n ref: ref,\n disabled: disabled,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nexport default Button;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ButtonGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n vertical = false,\n className,\n role = 'group',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn-group');\n let baseClass = prefix;\n if (vertical) baseClass = `${prefix}-vertical`;\n return /*#__PURE__*/_jsx(Component, {\n ...rest,\n ref: ref,\n role: role,\n className: classNames(className, baseClass, size && `${prefix}-${size}`)\n });\n});\nButtonGroup.displayName = 'ButtonGroup';\nexport default ButtonGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardBody.displayName = 'CardBody';\nexport default CardBody;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardFooter.displayName = 'CardFooter';\nexport default CardFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardHeaderContext from './CardHeaderContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-header');\n const contextValue = useMemo(() => ({\n cardHeaderBsPrefix: prefix\n }), [prefix]);\n return /*#__PURE__*/_jsx(CardHeaderContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix)\n })\n });\n});\nCardHeader.displayName = 'CardHeader';\nexport default CardHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImg = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n variant,\n as: Component = 'img',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(variant ? `${prefix}-${variant}` : prefix, className),\n ...props\n });\n});\nCardImg.displayName = 'CardImg';\nexport default CardImg;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImgOverlay = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-img-overlay');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardImgOverlay.displayName = 'CardImgOverlay';\nexport default CardImgOverlay;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardLink = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'a',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-link');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardLink.displayName = 'CardLink';\nexport default CardLink;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH6 = divWithClassName('h6');\nconst CardSubtitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH6,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-subtitle');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardSubtitle.displayName = 'CardSubtitle';\nexport default CardSubtitle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'p',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardText.displayName = 'CardText';\nexport default CardText;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst CardTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH5,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardTitle.displayName = 'CardTitle';\nexport default CardTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardBody from './CardBody';\nimport CardFooter from './CardFooter';\nimport CardHeader from './CardHeader';\nimport CardImg from './CardImg';\nimport CardImgOverlay from './CardImgOverlay';\nimport CardLink from './CardLink';\nimport CardSubtitle from './CardSubtitle';\nimport CardText from './CardText';\nimport CardTitle from './CardTitle';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Card = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n bg,\n text,\n border,\n body = false,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, bg && `bg-${bg}`, text && `text-${text}`, border && `border-${border}`),\n children: body ? /*#__PURE__*/_jsx(CardBody, {\n children: children\n }) : children\n });\n});\nCard.displayName = 'Card';\nexport default Object.assign(Card, {\n Img: CardImg,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Body: CardBody,\n Link: CardLink,\n Text: CardText,\n Header: CardHeader,\n Footer: CardFooter,\n ImgOverlay: CardImgOverlay\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardHeaderContext';\nexport default context;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /** An accessible label indicating the relevant information about the Close Button. */\n 'aria-label': PropTypes.string,\n /** A callback fired after the Close Button is clicked. */\n onClick: PropTypes.func,\n /**\n * Render different color variant for the button.\n *\n * Omitting this will render the default dark color.\n */\n variant: PropTypes.oneOf(['white'])\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n className,\n variant,\n 'aria-label': ariaLabel = 'Close',\n ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n ref: ref,\n type: \"button\",\n className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n \"aria-label\": ariaLabel,\n ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nexport default CloseButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const spans = [];\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{\n ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, {\n ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction(...funcs) {\n return funcs.filter(f => f != null).reduce((acc, f) => {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n if (acc === null) return f;\n return function chainedFunction(...args) {\n // @ts-ignore\n acc.apply(this, args);\n // @ts-ignore\n f.apply(this, args);\n };\n }, null);\n}\nexport default createChainedFunction;","import classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\nfunction getDefaultDimensionValue(dimension, elem) {\n const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;\n const value = elem[offset];\n const margins = MARGINS[dimension];\n return value +\n // @ts-ignore\n parseInt(css(elem, margins[0]), 10) +\n // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\nconst collapseStyles = {\n [EXITED]: 'collapse',\n [EXITING]: 'collapsing',\n [ENTERING]: 'collapsing',\n [ENTERED]: 'collapse show'\n};\nconst Collapse = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n className,\n children,\n dimension = 'height',\n in: inProp = false,\n timeout = 300,\n mountOnEnter = false,\n unmountOnExit = false,\n appear = false,\n getDimensionValue = getDefaultDimensionValue,\n ...props\n}, ref) => {\n /* Compute dimension */\n const computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n\n /* -- Expanding -- */\n const handleEnter = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = '0';\n }, onEnter), [computedDimension, onEnter]);\n const handleEntering = useMemo(() => createChainedFunction(elem => {\n const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;\n elem.style[computedDimension] = `${elem[scroll]}px`;\n }, onEntering), [computedDimension, onEntering]);\n const handleEntered = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onEntered), [computedDimension, onEntered]);\n\n /* -- Collapsing -- */\n const handleExit = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;\n triggerBrowserReflow(elem);\n }, onExit), [onExit, getDimensionValue, computedDimension]);\n const handleExiting = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onExiting), [computedDimension, onExiting]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n \"aria-expanded\": props.role ? inProp : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting,\n childRef: children.ref,\n in: inProp,\n timeout: timeout,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n appear: appear,\n children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')\n })\n });\n});\n\n// @ts-ignore\n\nexport default Collapse;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n fluid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'container');\n const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n });\n});\nContainer.displayName = 'Container';\nexport default Container;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownDivider = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'hr',\n role = 'separator',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-divider');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownDivider.displayName = 'DropdownDivider';\nexport default DropdownDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n role = 'heading',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownHeader.displayName = 'DropdownHeader';\nexport default DropdownHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItemText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-item-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nDropdownItemText.displayName = 'DropdownItemText';\nexport default DropdownItemText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownItem from './DropdownItem';\nimport DropdownItemText from './DropdownItemText';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop = 'down',\n show,\n className,\n align = 'start',\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose = true,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click';\n\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') return source !== 'rootClose';\n\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n const handleToggle = useEventCallback((nextShow, meta) => {\n var _meta$originalEvent, _meta$originalEvent$t;\n /** Checking if target of event is ToggleButton,\n * if it is then nullify mousedown event\n */\n const isToggleButton = (_meta$originalEvent = meta.originalEvent) == null ? void 0 : (_meta$originalEvent$t = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent$t.classList.contains('dropdown-toggle');\n if (isToggleButton && meta.source === 'mousedown') {\n return;\n }\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n const directionClasses = {\n down: prefix,\n 'down-centered': `${prefix}-center`,\n up: 'dropup',\n 'up-centered': 'dropup-center dropup',\n end: 'dropend',\n start: 'dropstart'\n };\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, show && 'show', directionClasses[drop])\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","\"use client\";\n\nimport * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip = true,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint];\n\n // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n // For custom components provide additional, non-DOM, props;\n if (typeof Component !== 'string') {\n menuProps.show = show;\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n menuProps.align = align;\n }\n let style = props.style;\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = {\n ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...menuProps,\n style: style\n // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","\"use client\";\n\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n onEnter,\n ...rest\n}, ref) => {\n const props = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n ...rest\n };\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n }, [onEnter]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.displayName = 'Fade';\nexport default Fade;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormFloating = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nFormFloating.displayName = 'FormFloating';\nexport default FormFloating;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column = false,\n visuallyHidden = false,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nexport default FormLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", {\n ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", {\n ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, {\n ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", {\n ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n reverse = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n const input = /*#__PURE__*/_jsx(FormCheckInput, {\n ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, plaintext ? `${bsPrefix}-plaintext` : bsPrefix, size && `${bsPrefix}-${size}`, type === 'color' && `${bsPrefix}-color`, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nInputGroupText.displayName = 'InputGroupText';\nexport default InputGroupText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport InputGroupText from './InputGroupText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');\n\n // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n numbered,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n navItemProps.onClick(event);\n });\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n process.env.NODE_ENV !== \"production\" ? warning(as || !(!action && props.href), '`action=false` and `href` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalBody.displayName = 'ModalBody';\nexport default ModalBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalDialog = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n contentClassName,\n centered,\n size,\n fullscreen,\n children,\n scrollable,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const dialogClass = `${bsPrefix}-dialog`;\n const fullScreenClass = typeof fullscreen === 'string' ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;\n return /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(dialogClass, className, size && `${bsPrefix}-${size}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames(`${bsPrefix}-content`, contentClassName),\n children: children\n })\n });\n});\nModalDialog.displayName = 'ModalDialog';\nexport default ModalDialog;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalFooter.displayName = 'ModalFooter';\nexport default ModalFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nModalHeader.displayName = 'ModalHeader';\nexport default ModalHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nconst ModalTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH4,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport removeEventListener from 'dom-helpers/removeEventListener';\nimport getScrollbarSize from 'dom-helpers/scrollbarSize';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport * as React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport { getSharedManager } from './BootstrapModalManager';\nimport Fade from './Fade';\nimport ModalBody from './ModalBody';\nimport ModalContext from './ModalContext';\nimport ModalDialog from './ModalDialog';\nimport ModalFooter from './ModalFooter';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable no-use-before-define, react/no-multi-comp */\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\n\n/* eslint-enable no-use-before-define */\nconst Modal = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n style,\n dialogClassName,\n contentClassName,\n children,\n dialogAs: Dialog = ModalDialog,\n 'data-bs-theme': dataBsTheme,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n /* BaseModal props */\n\n show = false,\n animation = true,\n backdrop = true,\n keyboard = true,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n ...props\n}, ref) => {\n const [modalStyle, setStyle] = useState({});\n const [animateStaticModal, setAnimateStaticModal] = useState(false);\n const waitingForMouseUpRef = useRef(false);\n const ignoreBackdropClickRef = useRef(false);\n const removeStaticModalAnimationRef = useRef(null);\n const [modal, setModalRef] = useCallbackRef();\n const mergedRef = useMergedRefs(ref, setModalRef);\n const handleHide = useEventCallback(onHide);\n const isRTL = useIsRTL();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n return getSharedManager({\n isRTL\n });\n }\n function updateDialogStyle(node) {\n if (!canUseDOM) return;\n const containerIsOverflowing = getModalManager().getScrollbarWidth() > 0;\n const modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;\n setStyle({\n paddingRight: containerIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n paddingLeft: !containerIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n });\n }\n const handleWindowResize = useEventCallback(() => {\n if (modal) {\n updateDialogStyle(modal.dialog);\n }\n });\n useWillUnmount(() => {\n removeEventListener(window, 'resize', handleWindowResize);\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n });\n\n // We prevent the modal from closing during a drag by detecting where the\n // click originates from. If it starts in the modal and then ends outside\n // don't close.\n const handleDialogMouseDown = () => {\n waitingForMouseUpRef.current = true;\n };\n const handleMouseUp = e => {\n if (waitingForMouseUpRef.current && modal && e.target === modal.dialog) {\n ignoreBackdropClickRef.current = true;\n }\n waitingForMouseUpRef.current = false;\n };\n const handleStaticModalAnimation = () => {\n setAnimateStaticModal(true);\n removeStaticModalAnimationRef.current = transitionEnd(modal.dialog, () => {\n setAnimateStaticModal(false);\n });\n };\n const handleStaticBackdropClick = e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n handleStaticModalAnimation();\n };\n const handleClick = e => {\n if (backdrop === 'static') {\n handleStaticBackdropClick(e);\n return;\n }\n if (ignoreBackdropClickRef.current || e.target !== e.currentTarget) {\n ignoreBackdropClickRef.current = false;\n return;\n }\n onHide == null ? void 0 : onHide();\n };\n const handleEscapeKeyDown = e => {\n if (keyboard) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n } else {\n // Call preventDefault to stop modal from closing in @restart/ui.\n e.preventDefault();\n if (backdrop === 'static') {\n // Play static modal animation.\n handleStaticModalAnimation();\n }\n }\n };\n const handleEnter = (node, isAppearing) => {\n if (node) {\n updateDialogStyle(node);\n }\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n };\n const handleExit = node => {\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n onExit == null ? void 0 : onExit(node);\n };\n const handleEntering = (node, isAppearing) => {\n onEntering == null ? void 0 : onEntering(node, isAppearing);\n\n // FIXME: This should work even when animation is disabled.\n addEventListener(window, 'resize', handleWindowResize);\n };\n const handleExited = node => {\n if (node) node.style.display = ''; // RHL removes it sometimes\n onExited == null ? void 0 : onExited(node);\n\n // FIXME: This should work even when animation is disabled.\n removeEventListener(window, 'resize', handleWindowResize);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName, !animation && 'show')\n }), [animation, backdropClassName, bsPrefix]);\n const baseModalStyle = {\n ...style,\n ...modalStyle\n };\n\n // If `display` is not set to block, autoFocus inside the modal fails\n // https://github.com/react-bootstrap/react-bootstrap/issues/5102\n baseModalStyle.display = 'block';\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n role: \"dialog\",\n ...dialogProps,\n style: baseModalStyle,\n className: classNames(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && 'show'),\n onClick: backdrop ? handleClick : undefined,\n onMouseUp: handleMouseUp,\n \"data-bs-theme\": dataBsTheme,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n children: /*#__PURE__*/_jsx(Dialog, {\n ...props,\n onMouseDown: handleDialogMouseDown,\n className: dialogClassName,\n contentClassName: contentClassName,\n children: children\n })\n });\n return /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: show,\n ref: mergedRef,\n backdrop: backdrop,\n container: container,\n keyboard: true // Always set true - see handleEscapeKeyDown\n ,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: handleEscapeKeyDown,\n onShow: onShow,\n onHide: onHide,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: onEntered,\n onExit: handleExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: animation ? DialogTransition : undefined,\n backdropTransition: animation ? BackdropTransition : undefined,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Body: ModalBody,\n Header: ModalHeader,\n Title: ModalTitle,\n Footer: ModalFooter,\n Dialog: ModalDialog,\n TRANSITION_DURATION: 300,\n BACKDROP_TRANSITION_DURATION: 150\n});","\"use client\";\n\nimport * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide() {}\n});\nexport default ModalContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardHeaderContext from './CardHeaderContext';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Nav = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n as = 'div',\n bsPrefix: initialBsPrefix,\n variant,\n fill = false,\n justify = false,\n navbar,\n navbarScroll,\n className,\n activeKey,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n let navbarBsPrefix;\n let cardHeaderBsPrefix;\n let isNavbar = false;\n const navbarContext = useContext(NavbarContext);\n const cardHeaderContext = useContext(CardHeaderContext);\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardHeaderContext) {\n ({\n cardHeaderBsPrefix\n } = cardHeaderContext);\n }\n return /*#__PURE__*/_jsx(BaseNav, {\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, {\n [bsPrefix]: !isNavbar,\n [`${navbarBsPrefix}-nav`]: isNavbar,\n [`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,\n [`${cardHeaderBsPrefix}-${variant}`]: !!cardHeaderBsPrefix,\n [`${bsPrefix}-${variant}`]: !!variant,\n [`${bsPrefix}-fill`]: fill,\n [`${bsPrefix}-justified`]: justify\n }),\n ...props\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem,\n Link: NavLink\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavItem = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavLink = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as: Component = Anchor,\n active,\n eventKey,\n disabled = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n disabled,\n ...props\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...navItemProps,\n ref: ref,\n disabled: disabled,\n className: classNames(className, bsPrefix, disabled && 'disabled', meta.isActive && 'active')\n });\n});\nNavLink.displayName = 'NavLink';\nexport default NavLink;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition = Fade,\n popperConfig = {},\n rootClose = false,\n placement = 'top',\n show: outerShow = false,\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [firstRenderedState, setFirstRenderedState] = useState(null);\n const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n const handleFirstUpdate = useEventCallback(state => {\n setFirstRenderedState(state);\n popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n });\n useIsomorphicEffect(() => {\n if (firstRenderedState && outerProps.target) {\n // Must wait for target element to resolve before updating popper.\n popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n }\n }, [firstRenderedState, outerProps.target]);\n useEffect(() => {\n if (!outerShow) {\n setFirstRenderedState(null);\n }\n }, [outerShow]);\n return /*#__PURE__*/_jsx(BaseOverlay, {\n ...outerProps,\n ref: mergedRef,\n popperConfig: {\n ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || []),\n onFirstUpdate: handleFirstUpdate\n },\n transition: actualTransition,\n rootClose: rootClose,\n placement: placement,\n show: outerShow,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n wrapRefs(overlayProps, arrowProps);\n // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false,\n strategy: popperConfig.strategy\n });\n const hasDoneInitialMeasure = !!firstRenderedState;\n if (typeof overlay === 'function') return overlay({\n ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps,\n hasDoneInitialMeasure\n });\n return /*#__PURE__*/React.cloneElement(overlay, {\n ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n hasDoneInitialMeasure,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: {\n ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","\"use client\";\n\nimport { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover';\nimport Tooltip from './Tooltip';\n\n// This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover or tooltip.\nexport default function useOverlayOffset(customOffset) {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const tooltipClass = useBootstrapPrefix(undefined, 'tooltip');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (customOffset) {\n return customOffset;\n }\n if (overlayRef.current) {\n if (hasClass(overlayRef.current, popoverClass)) {\n return Popover.POPPER_OFFSET;\n }\n if (hasClass(overlayRef.current, tooltipClass)) {\n return Tooltip.TOOLTIP_OFFSET;\n }\n }\n return [0, 0];\n }\n }\n }), [customOffset, popoverClass, tooltipClass]);\n return [overlayRef, [offset]];\n}","\"use client\";\n\nimport contains from 'dom-helpers/contains';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n}\n\n// Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\nfunction handleMouseOverOut(\n// eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\nconst triggerType = PropTypes.oneOf(['click', 'hover', 'focus']);\nconst OverlayTrigger = ({\n trigger = ['hover', 'focus'],\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) => {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n if (!delay.show) {\n setShow(true);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n if (!delay.hide) {\n setShow(false);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, {\n ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n};\nexport default OverlayTrigger;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverHeader.displayName = 'PopoverHeader';\nexport default PopoverHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverBody.displayName = 'PopoverBody';\nexport default PopoverBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Popover = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n body,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n role: \"tooltip\",\n style: computedStyle,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"popover-arrow\",\n ...arrowProps\n }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n children: children\n }) : children]\n });\n});\nexport default Object.assign(Popover, {\n Header: PopoverHeader,\n Body: PopoverBody,\n // Default popover offset.\n // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n POPPER_OFFSET: [0, 8]\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation = 'border',\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import PropTypes from 'prop-types';\nimport { DEFAULT_BREAKPOINTS, DEFAULT_MIN_BREAKPOINT } from './ThemeProvider';\nexport function responsivePropType(propType) {\n return PropTypes.oneOfType([propType, PropTypes.shape({\n xs: propType,\n sm: propType,\n md: propType,\n lg: propType,\n xl: propType,\n xxl: propType\n })]);\n}\nexport default function createUtilityClassName(utilityValues, breakpoints = DEFAULT_BREAKPOINTS, minBreakpoint = DEFAULT_MIN_BREAKPOINT) {\n const classes = [];\n Object.entries(utilityValues).forEach(([utilName, utilValue]) => {\n if (utilValue != null) {\n if (typeof utilValue === 'object') {\n breakpoints.forEach(brkPoint => {\n const bpValue = utilValue[brkPoint];\n if (bpValue != null) {\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n classes.push(`${utilName}${infix}-${bpValue}`);\n }\n });\n } else {\n classes.push(`${utilName}-${utilValue}`);\n }\n }\n });\n return classes;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport createUtilityClassName, { responsivePropType } from './createUtilityClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Stack = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n direction,\n gap,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, direction === 'horizontal' ? 'hstack' : 'vstack');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, ...createUtilityClassName({\n gap\n }, breakpoints, minBreakpoint))\n });\n});\nStack.displayName = 'Stack';\nexport default Stack;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: {\n ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent;\n // If it's a functional component make sure we don't break it with a ref\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({\n ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import * as React from 'react';\nimport { ENTERING, EXITING } from 'react-transition-group/Transition';\nimport Fade from './Fade';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'showing',\n [EXITING]: 'showing show'\n};\nconst ToastFade = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Fade, {\n ...props,\n ref: ref,\n transitionClasses: fadeStyles\n}));\nToastFade.displayName = 'ToastFade';\nexport default ToastFade;","\"use client\";\n\nimport * as React from 'react';\nconst ToastContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose() {}\n});\nexport default ToastContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CloseButton from './CloseButton';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst ToastHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n closeLabel = 'Close',\n closeVariant,\n closeButton = true,\n className,\n children,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');\n const context = useContext(ToastContext);\n const handleClick = useEventCallback(e => {\n context == null ? void 0 : context.onClose == null ? void 0 : context.onClose(e);\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n className: classNames(bsPrefix, className),\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick,\n \"data-dismiss\": \"toast\"\n })]\n });\n});\nToastHeader.displayName = 'ToastHeader';\nexport default ToastHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ToastBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nToastBody.displayName = 'ToastBody';\nexport default ToastBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useMemo, useRef, useCallback } from 'react';\nimport classNames from 'classnames';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport ToastFade from './ToastFade';\nimport ToastHeader from './ToastHeader';\nimport ToastBody from './ToastBody';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Toast = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n transition: Transition = ToastFade,\n show = true,\n animation = true,\n delay = 5000,\n autohide = false,\n onClose,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n bg,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast');\n\n // We use refs for these, because we don't want to restart the autohide\n // timer in case these values change.\n const delayRef = useRef(delay);\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n delayRef.current = delay;\n onCloseRef.current = onClose;\n }, [delay, onClose]);\n const autohideTimeout = useTimeout();\n const autohideToast = !!(autohide && show);\n const autohideFunc = useCallback(() => {\n if (autohideToast) {\n onCloseRef.current == null ? void 0 : onCloseRef.current();\n }\n }, [autohideToast]);\n useEffect(() => {\n // Only reset timer if show or autohide changes.\n autohideTimeout.set(autohideFunc, delayRef.current);\n }, [autohideTimeout, autohideFunc]);\n const toastContext = useMemo(() => ({\n onClose\n }), [onClose]);\n const hasAnimation = !!(Transition && animation);\n const toast = /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(bsPrefix, className, bg && `bg-${bg}`, !hasAnimation && (show ? 'show' : 'hide')),\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n });\n return /*#__PURE__*/_jsx(ToastContext.Provider, {\n value: toastContext,\n children: hasAnimation && Transition ? /*#__PURE__*/_jsx(Transition, {\n in: show,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n unmountOnExit: true,\n children: toast\n }) : toast\n });\n});\nToast.displayName = 'Toast';\nexport default Object.assign(Toast, {\n Body: ToastBody,\n Header: ToastHeader\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n style: computedStyle,\n role: \"tooltip\",\n \"x-placement\": primaryPlacement,\n className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tooltip-arrow\",\n ...arrowProps\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${bsPrefix}-inner`,\n children: children\n })]\n });\n});\nTooltip.displayName = 'Tooltip';\nexport default Object.assign(Tooltip, {\n // Default tooltip offset.\n // https://github.com/twbs/bootstrap/blob/beca2a6c7f6bc88b6449339fc76edcda832c59e5/js/src/tooltip.js#L65\n TOOLTIP_OFFSET: [0, 6]\n});","\"use client\";\n\nimport React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n\n /* eslint-disable react-hooks/exhaustive-deps */\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) =>\n // TODO: Types for RTG missing innerProps, so need to cast.\n children(status, {\n ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", {\n ...p,\n ref: ref,\n className: classNames(p.className, className)\n})));","export default function getInitialPopperStyles(position = 'absolute') {\n return {\n position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n}","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {}\n\n// Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n let bsDirection = placement;\n if (placement === 'left') {\n bsDirection = isRTL ? 'end' : 'start';\n } else if (placement === 'right') {\n bsDirection = isRTL ? 'start' : 'end';\n }\n return bsDirection;\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n return componentOrElement != null ? componentOrElement : null;\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMergedRefs(warningRef, ref);\n}"],"names":["type","value","onChange","acceptType","readOnly","imgClassNames","className","classNames","src","alt","style","maxWidth","maxHeight","vertical","uploadCallback","imgPath","disabled","name","variant","onClick","t","useTranslation","keyPrefix","data","questionRes","useHotQuestions","list","length","map","li","as","Link","to","pathFactory","id","url_title","action","title","answer_count","accepted_answer_id","count","size","fontSize","onKeyDown","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","bg1","bg2","timeout","badge","user","loggedUserInfoStore","navigate","useNavigate","mutate","useQueryNotificationStatus","handle","async","readNotification","notification_id","badge_award","clearTimeout","destroy","initAnimation","DURATION","bgNode","documentElement","body","badgeModalNode","getElementById","parentNode","setAttribute","AnimateGift","elm","width","clientWidth","height","clientHeight","duration","isLoop","setTimeout","window","innerWidth","innerHeight","destroyAnimation","useEffect","handleVisibilityChange","visibilityState","addEventListener","removeEventListener","url","badge_id","username","icon","startsWith","Icon","level","DefaultModal","confirm","QUESTION_ORDER_KEYS","source","order","orderList","isLoading","urlSearchParams","useSearchParams","isSkeletonShow","useSkeletonControl","curOrder","get","curPage","Number","orderKeys","currentSort","pathname","i18nKeyPrefix","maxBtnCount","pin","status","operator","showAvatar","time","operated_at","created_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","flex","actionType","formKit","text","iconName","nowrap","clickCallback","Toast","useToast","setLoading","useState","handleToast","msg","on_complete","toast_return_message","onShow","handleAction","request","method","then","resp","message","callback","refresh_form_config","refreshConfig","handleCallback","catch","ex","finally","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","errors","push","requiredValidator","reduce","acc","cur","empty","Function","scrollElementIntoView","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","plugins","PluginKit","plugin","activated","authorized_attachment_extensions","writeSettingStore","write","info","pendIndex","nodes","child","ps","PluginFC","component","EditorContext","editor","useContext","tip","disable","isShow","keyMap","onBlur","addKeyMap","wrapText","replaceLines","appendBlock","btnRender","tabIndex","log","context","Table","tableData","ctx","table","col","header","border","makeHeader","row","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","setShowState","isLocked","setLockState","onAddHeader","onMouseEnter","onMouseLeave","trim","repeat","handleClick","Bold","DEFAULTTEXT","Italic","onSelect","isFocus","setFocusState","cursor","setCursor","opt","keyCode","lang","FormControl","overflowY","codeLanguageType","Code","code","setCode","setVisible","setLang","inputRef","useRef","current","getSelection","onExited","val","split","link","setLink","setName","setSelectionRange","newStr","BlockQuote","FIND_BLOCKQUOTE_RX","TabContent","bsPrefix","Component","useBootstrapPrefix","_jsx","displayName","getTabTransitionComponent","transition","Fade","NoopTransition","TabPane","rest","isActive","onEnter","onEntering","onEntered","onExit","onExiting","mountOnEnter","unmountOnExit","Transition","useTabPanel","prefix","TabContext","SelectableContext","in","getDefaultActiveKey","defaultActiveKey","eventKey","renderTab","tabClassName","tabAttrs","NavItem","role","NavLink","Tabs","activeKey","controlledProps","useUncontrolled","_jsxs","BaseTabs","Nav","childProps","TabContainer","propTypes","PropTypes","Tab","Error","assign","Container","Content","Pane","Image","editorInstance","setEditor","max_image_size","max_attachment_size","authorized_image_extensions","currentTab","setCurrentTab","imageName","setImageName","verifyImageSize","files","canUploadAttachment","allowedAllType","unSupportFiles","from","file","fileName","toLowerCase","find","v","endsWith","AnswerModal","file_type","otherFiles","attachmentOverSizeFiles","imageFiles","oversizedImages","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","on","off","tab","accept","Help","open","fileInputRef","click","toLocaleLowerCase","bool","verifyFileSize","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","getValue","toString","setValue","before","after","defaultText","symbolLen","selectionStart","selectionEnd","editableCompartment","Compartment","htmlRender","el","innerHTML","str","classList","contains","add","replaceChild","appendChild","a","base","location","URL","href","rel","useEditor","editorRef","placeholderText","autoFocus","onFocus","isDark","isDarkTheme","theme","padding","outline","whiteSpace","wordWrap","textDecoration","startState","EditorState","extensions","minimalSetup","markdown","codeLanguages","languages","markdownLanguage","of","view","parent","cm","createEditorUtils","reconfigure","newValue","init","imgSrc","setImgSrc","nodeName","img","naturalWidth","naturalHeight","currentSrc","ret","parentElement","checkIfInLink","contentClassName","renderTimer","scrollTop","html","setHtml","previewRef","markdownToHtml","scrollTo","getHtml","element","MDEditor","editorPlaceholder","useRenderPlugin","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","agent","ucAgent","userCenterStore","handleLinkClick","getAttribute","handler","inbox","achievement","align","Avatar","display_name","REACT_BASE_PATH","enabled","agent_info","control_center","ctrl","useLocation","urlSearch","q","clear","clearUserStore","setSearch","brandingInfo","brandingStore","branding","loginSetting","loginSettingStore","login","updateReview","updateVisible","sideNavStore","tagMatch","useMatch","askUrl","params","slugName","encodeURIComponent","can_revision","Boolean","revision","handleInput","handleSearch","searchUrl","handleLogout","logout","collapse","querySelector","toggle","navbarStyle","theme_config","themeSettingStore","navbar_style","logo","mobile_logo","NavItems","userCenter","allow_new_registrations","marginTop","Col","lg","cc","dayjs","format","Trans","i18nKey","values","base64","svgClassName","base64ToSvg","timer","hiddenDescription","hiddenCreateBtn","maxTagLength","showRequiredTag","formText","tagStyleMode","errMsg","containerRef","initialized","setInitialized","focusState","showMenu","setShowMenu","currentIndex","setCurrentIndex","repeatIndex","setRepeatIndex","searchValue","setSearchValue","setTags","requiredTags","setRequiredTags","userPermission","useUserPermission","canAddTag","toast","tagModal","useTagModal","findIndex","parsed_text","marked","original_text","filterTags","tagArray","handleMenuShow","bol","ele","handleTagSelectorBlur","fetchTags","debounce","queryTags","res","resetSearch","handleRemove","scrollIntoView","targetId","offsetTop","top","behavior","handleOutsideClick","menuHasContent","elePlaceholder","offsetWidth","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","setVotes","like","setLike","hate","setHated","bookmarkState","setBookmark","collected","collectCount","vCaptcha","votesCount","isLike","isHate","submitVote","isCancel","resolveCaptchaReq","postVote","object_id","is_cancel","vote_status","handleVote","tryNormalLogged","ButtonGroup","hideCollect","bookmark","group_id","object_collection_count","paddingLeft","textClassName","qid","aid","setShow","showTip","setShowTip","canSystemShare","setSystemShareState","baseUrl","BASE_ORIGIN","closeShare","navigator","canShare","lineHeight","OverlayTrigger","trigger","overlay","Tooltip","copyText","copy","share","hasAnswer","memberActions","reportModal","useReportModal","dCaptcha","refreshQuestion","editUrl","submitDeleteQuestion","deleteQuestion","submitDeleteAnswer","deleteAnswer","handleCommon","questionOperation","operation","toastStore","unDeleteQuestion","unDeleteAnswer","reopenQuestion","question_id","handlOtherActions","firstAction","secondAction","Share","targetUrl","checkObjectId","editCheck","handleEdit","isLogged","timelinePath","formatCount","rank","FormatTime","PageItem","activeLabel","linkStyle","linkClassName","Anchor","createButton","defaultValue","First","Prev","Ellipsis","Next","Last","Pagination","decoratedBsPrefix","Item","pageArr","page","path","searchParams","totalPage","Math","ceil","realPage","mapPage","handleParams","pageNum","set","min","fill","initialValue","onSendReply","mode","immData","setImmData","pageUsers","usePageUsers","validationErrorMsg","setValidationErrorMsg","usePromptWithUnload","when","handleSendReply","getUsers","onSelected","parseEditMentionUser","ActionBar","nickName","createdAt","isVote","voteCount","onReply","onVote","onAction","userStatus","userName","objectId","commentId","pageIndex","setPageIndex","visibleComment","setVisibleComment","currentReplyId","updateCurrentReplyId","commentReplyStore","useQueryComments","comment_id","page_size","comments","setComments","addCaptcha","useCaptchaModal","editCaptcha","scrollToElementTop","bgFadeOut","sort","b","user_id","user_display_name","reply_comment_id","reply_user_display_name","setUsers","submitUpdateComment","up","updateComment","comment","showEdit","reject","resolve","submitAddComment","addComment","splice","users","matchedUsers","userNames","unionBy","commentMarkDown","parseUserInfo","mention_username_list","submitDeleteComment","deleteComment","submitVoteComment","is_vote","handleCancel","handleAddComment","Reactions","showAddCommentBtn","handleClickComment","Reply","member_actions","user_status","TextArea","autoGrow","scrollHeight","onInput","menuRef","dropdownRef","isRequested","setRequestedState","staffUserList","useSearchUserStaff","mapStaffUsers","searchUser","lastIndexOf","filterData","dateTime","tz","toISOString","now","floor","valueOf","between","h","formatTime","left","right","margin","delay","autohide","MenuNode","menu","expanding","isLeaf","badgeContent","Accordion","leaf","menus","pathMatch","m","sm","splat","getOpenKey","openKey","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","moreBtnData","slice","normalBtnData","currentBtn","btn","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","DEFAULT_THEME_COLOR","setThemeColor","rgb","shiftColor","round","tintColor","shadeColor","fade","string","doInsertCustomCSS","favicon","square_icon","pageTitle","keywords","pageTagStore","items","appVersion","version","hashVersion","siteName","currentLang","getCurrentLang","hostname","generatorMetaNode","setAppGenerator","setDocTitle","sizes","property","itemProp","ListGroupItem","xs","site_name","showVotes","showAnswers","showViews","showAccepted","classname","httpCode","showErrorCode","pageWrap","display","usePageTags","custom_sidebar","role_id","regex","RegExp","piece","kw","badgePillType","showAwardedCount","earned_count","Badge","pill","award_count","emojiMap","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","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","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","offsetHeight","componentName"],"sourceRoot":""}