{"version":3,"file":"static/js/chunk-mix1.13a2e3aa.chunk.js","mappings":"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","sources":["components/BrandUpload/index.tsx","components/HotQuestions/index.tsx","components/Icon/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/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/ToolBars/link.tsx","components/Editor/ToolBars/blockquote.tsx","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/TabContent.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/TabPane.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Tabs.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Tab.js","components/Editor/ToolBars/image.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.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Navbar.js","components/Header/components/search/searchData.ts","components/Header/components/search/index.tsx","components/constants/index.ts","components/Header/solutionsData.ts","components/Header/ListItem.tsx","components/Header/Solutions.tsx","components/Header/ResourcesData.ts","components/Header/Resources.tsx","components/Header/components/NavItems/index.tsx","components/Header/Help.tsx","components/Header/CreateData.ts","components/Header/Create.tsx","components/Header/ChromeStore.tsx","components/Header/Notifications.tsx","components/Header/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.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/PageItem.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/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.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/types.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/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.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Accordion.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Badge.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Button.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ButtonGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardImg.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardLink.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardText.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Card.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Col.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Collapse.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Fade.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Feedback.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormRange.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormText.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Switch.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Form.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormControl.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/InputGroupText.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Modal.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Nav.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavItem.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavLink.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Overlay.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Popover.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Spinner.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Stack.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Toast.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/helpers.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/.pnpm/react-bootstrap@2.10.7_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/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\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 mainSite = 'https://selfpublishingtitans.com';\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 \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 useEffect(() => {\n const DURATION = 8000;\n const LENGTH = 200;\n const bgNode = document.documentElement || document.body;\n\n if (visible) {\n const paranetNode = document.getElementById('badgeModal')?.parentNode;\n\n bg1 = new AnimateGift({\n elm: paranetNode,\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: paranetNode,\n width: window.innerWidth,\n height: window.innerHeight,\n length: LENGTH,\n duration: DURATION,\n });\n }, DURATION / 2);\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 'hot',\n 'score',\n 'unanswered',\n 'recommend',\n];\ninterface Props {\n source: 'questions' | 'tag';\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';\n/**\n * Note:Please set at least either of the `slug_name` and `type` attributes, otherwise no plugins will be rendered.\n *\n * @field slug_name: The `slug_name` of the plugin needs to be rendered.\n * If this property is set, `PluginRender` will use it first (regardless of whether `type` is set)\n * to find the corresponding plugin and render it.\n * @field type: Used to formulate the rendering of all plugins of this type.\n * (if the `slug_name` attribute is set, it will be ignored)\n * @field prop: Any attribute you want to configure, e.g. `className`\n */\n\ninterface Props {\n slug_name?: string;\n type: PluginType;\n children?: ReactNode;\n [prop: string]: any;\n}\n\nconst Index: FC = ({\n slug_name,\n type,\n children = null,\n className,\n ...props\n}) => {\n const pluginSlice: Plugin[] = [];\n const plugins = PluginKit.getPlugins().filter((plugin) => plugin.activated);\n\n plugins.forEach((plugin) => {\n if (type && slug_name) {\n if (plugin.info.slug_name === slug_name && plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (type) {\n if (plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (slug_name) {\n if (plugin.info.slug_name === slug_name) {\n pluginSlice.push(plugin);\n }\n }\n });\n\n /**\n * TODO: Rendering control for non-builtin plug-ins\n * ps: Logic such as version compatibility determination can be placed here\n */\n if (pluginSlice.length === 0) {\n if (type === 'editor') {\n return
{children}
;\n }\n return null;\n }\n\n if (type === 'editor') {\n const nodes = React.Children.map(children, (child, index) => {\n if (index === 15) {\n return (\n <>\n {child}\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n
\n \n );\n }\n return child;\n });\n\n return
{nodes}
;\n }\n\n return (\n <>\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\n\nimport { IEditorContext } from './types';\n\nexport const EditorContext = React.createContext({});\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useContext, useEffect } from 'react';\nimport { Dropdown, Button } from 'react-bootstrap';\n\nimport { EditorContext } from './EditorContext';\nimport { IEditorContext } from './types';\n\ninterface IProps {\n keyMap?: string[];\n onClick?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n tip?: string;\n className?: string;\n as?: any;\n children?;\n label?: string;\n disable?: boolean;\n isShow?: boolean;\n onBlur?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n}\nconst ToolItem: FC = (props) => {\n const editor = useContext(EditorContext);\n\n const {\n label,\n tip,\n disable = false,\n isShow,\n keyMap,\n onClick,\n className,\n as,\n children,\n onBlur,\n } = props;\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n if (!keyMap) {\n return;\n }\n\n keyMap.forEach((key) => {\n editor?.addKeyMap({\n [key]: () => {\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n },\n });\n });\n }, [editor]);\n\n const btnRender = () => (\n {\n e.preventDefault();\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}\n onBlur={(e) => {\n e.preventDefault();\n onBlur?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}>\n \n \n );\n\n if (!editor) {\n return null;\n }\n return (\n
\n {as === 'dropdown' ? (\n \n \n {btnRender()}\n \n {children}\n \n ) : (\n <>\n {btnRender()}\n {children}\n \n )}\n
\n );\n};\n\nexport default ToolItem;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst OL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ol',\n keyMap: ['Ctrl-o'],\n tip: `${t('ordered_list.text')} (Ctrl+o)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line, i) => {\n const FIND_OL_RX = /^(\\s{0,})(\\d+)\\.\\s/;\n\n if (line.match(FIND_OL_RX)) {\n line = line.replace(FIND_OL_RX, '');\n } else {\n line = `${i + 1}. ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(OL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst UL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ul',\n keyMap: ['Ctrl-u'],\n tip: `${t('unordered_list.text')} (Ctrl+u)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n const FIND_UL_RX = /^(\\s{0,})(-|\\*)\\s/;\n\n if (line.match(FIND_UL_RX)) {\n line = line.replace(FIND_UL_RX, '');\n } else {\n line = `* ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(UL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Indent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-left',\n tip: t('indent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n line = ` ${line}`;\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Indent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Outdent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-right',\n keyMap: ['Shift-Tab'],\n tip: t('outdent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n replaceLines((line) => {\n line = line.replace(/^(\\s{0,})/, (_1, $1) => {\n return $1.length > 4 ? $1.substring(4) : '';\n });\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Outdent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Hr = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'hr',\n keyMap: ['Ctrl-r'],\n tip: `${t('hr.text')} (Ctrl+r)`,\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { appendBlock, editor } = context;\n appendBlock('----------\\n');\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Hr);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, memo } from 'react';\nimport { Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Heading = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const headerList = [\n {\n text: `

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

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

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

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

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

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

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

`,\n level: 4,\n label: t('heading.options.h4'),\n },\n {\n text: `
${t('heading.options.h5')}
`,\n level: 5,\n label: t('heading.options.h5'),\n },\n {\n text: `
${t('heading.options.h6')}
`,\n level: 6,\n label: t('heading.options.h6'),\n },\n ];\n const item = {\n label: 'type',\n keyMap: ['Ctrl-h'],\n tip: `${t('heading.text')} (Ctrl+h)`,\n };\n const [isShow, setShowState] = useState(false);\n const [isLocked, setLockState] = useState(false);\n\n const handleClick = (level = 2, label = '大标题') => {\n const { replaceLines } = context;\n\n replaceLines((line) => {\n line = line.trim().replace(/^#*/, '').trim();\n line = `${'#'.repeat(level)} ${line || label}`;\n return line;\n }, level + 1);\n setShowState(false);\n };\n const onAddHeader = (ctx) => {\n context = ctx;\n if (isLocked) {\n return;\n }\n setShowState(!isShow);\n };\n\n const handleMouseEnter = () => {\n setLockState(true);\n };\n\n const handleMouseLeave = () => {\n setLockState(false);\n };\n return (\n \n \n {headerList.map((header) => {\n return (\n {\n e.preventDefault();\n e.stopPropagation();\n handleClick(header.level, header.label);\n }}\n dangerouslySetInnerHTML={{ __html: header.text }}\n />\n );\n })}\n \n
\n );\n};\n\nexport default memo(Heading);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Bold = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-bold',\n keyMap: ['Ctrl-b'],\n tip: `${t('bold.text')} (Ctrl+b)`,\n };\n const DEFAULTTEXT = t('bold.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n context.wrapText('**', '**', DEFAULTTEXT);\n context.editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Bold);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Italic = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-italic',\n keyMap: ['Ctrl-i'],\n tip: `${t('italic.text')} (Ctrl+i)`,\n };\n const DEFAULTTEXT = t('italic.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, wrapText } = context;\n wrapText('*', '*', DEFAULTTEXT);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Italic);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { 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} 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};\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 { getChildRef } from '@restart/ui/utils';\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: getChildRef(children),\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, 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 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 [showOffcanvas, setShowOffcanvas] = useState(false);\n const handleHide = useEventCallback(onHide);\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 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 || onEnter(node, ...args);\n };\n const handleExited = (node, ...args) => {\n if (node) node.style.visibility = '';\n onExited == null || 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 useEventCallback from '@restart/hooks/useEventCallback';\nimport Offcanvas from './Offcanvas';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarOffcanvas = /*#__PURE__*/React.forwardRef(({\n onHide,\n ...props\n}, ref) => {\n const context = useContext(NavbarContext);\n const handleHide = useEventCallback(() => {\n context == null || context.onToggle == null || context.onToggle();\n onHide == null || onHide();\n });\n return /*#__PURE__*/_jsx(Offcanvas, {\n ref: ref,\n show: !!(context != null && context.expanded),\n ...props,\n renderStaticNode: true,\n onHide: handleHide\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 || onSelect(...args);\n if (collapseOnSelect && expanded) {\n onToggle == null || 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});","export type SectionItem = {\n item: string;\n tag: string;\n flair?: string;\n productLink?: string;\n openInNewTab?: boolean;\n keywords?: string[];\n};\n\nconst ToolSearchData: SectionItem[] = [\n {\n item: 'Titans Pro',\n tag: 'Chrome Extension for finding hot niches & keywords with search suggestions, search volume & more',\n openInNewTab: true,\n productLink:\n 'https://chromewebstore.google.com/detail/titans-pro-amazon-kdp-key/mmdamlknnafgffhlobhlmiljonijdnid',\n },\n {\n item: 'Titans Quick View',\n tag: 'Chrome Extension for niche analysis, BSR data, top keywords, search volume & more.',\n openInNewTab: true,\n productLink:\n 'https://chromewebstore.google.com/detail/titans-quick-view-amazon/eefljgmhgaidffapnppcmmafobefjece',\n },\n {\n flair: 'New',\n item: '7 Backend Keywords Tool',\n tag: 'SEO tool to optimize your 7 backend keyword slots to rank higher with more keywords on Amazon.',\n openInNewTab: false,\n productLink:\n 'https://selfpublishingtitans.com/7-backend-keywords-tool-amazon-kdp',\n },\n {\n item: 'Titans Deep View',\n tag: 'Analyze 100 search result products at once to help you do more in-depth research faster.',\n productLink: 'https://selfpublishingtitans.com/titans-deep-view',\n },\n {\n item: 'Titans Retro View',\n tag: \"Reverse engineer competitors' books and find all their best performing keywords at once.\",\n productLink: 'https://selfpublishingtitans.com/titans-retro-vision',\n },\n\n {\n item: 'Titans Pro Web App ',\n tag: 'Do research anywhere, anytime with Titans Pro without the need for a Chrome Extension.',\n productLink: 'https://selfpublishingtitans.com/titans-pro/on-site',\n },\n {\n item: 'KDP Category Finder',\n tag: 'Find the best categories for your book and improve your SEO.',\n productLink:\n 'https://selfpublishingtitans.com/tools/KDP-Kindle-Category-Finder',\n },\n {\n item: 'Low Content Book Maker',\n tag: 'Create unlimited notebooks, journals, planners, and lots of other printables.',\n productLink:\n 'https://books.selfpublishingtitans.com/FREE-No-Content-Book-Creator-Software',\n },\n {\n item: 'KDP BSR Sales Calculator',\n tag: 'Get monthly sales estimates for any book on Amazon.',\n productLink:\n 'https://selfpublishingtitans.com/tools/KDP-BSR-Sales-Calculator',\n },\n {\n item: 'ACOS Royalty Calculator',\n tag: 'Calculate the profitability and break even for your ad campaigns.',\n productLink:\n 'https://selfpublishingtitans.com/tools/KDP-Royalty-Calculator',\n },\n {\n item: 'Pen Name Generator',\n tag: 'Get pen name inspiration from 13 different countries.',\n productLink: 'https://selfpublishingtitans.com/tools/Pen-Name-Generator',\n },\n {\n item: 'QR Code Generator',\n tag: 'Create QR codes to help drive traffic to your website, social media, etc.',\n productLink:\n 'https://selfpublishingtitans.com/tools/QR-Code-Generator-for-KDP-Books',\n },\n {\n item: 'Word Cloud Tool',\n tag: 'One of our favorite tools. See in seconds the most used words & keywords for titles, suggestions, etc.',\n productLink: 'https://selfpublishingtitans.com/word-cloud',\n },\n {\n item: 'Book Cover Maker',\n tag: ' Create beautiful book covers for Notebooks, Activity Books, Children’s Books, and more.',\n productLink: 'https://selfpublishingtitans.com/book-cover-creator',\n flair: 'New',\n },\n {\n item: 'A+ Content Maker',\n tag: ' Create beautiful A+ Content for your book listing.',\n productLink:\n 'https://selfpublishingtitans.com/A+-content-template-generator',\n flair: 'New',\n },\n {\n item: 'KDP Cover template generator',\n tag: 'Generate KDP cover templates for your book',\n productLink:\n 'https://selfpublishingtitans.com/kdp-cover-template-generator',\n flair: 'New',\n },\n {\n item: 'Puzzle Book Tools',\n tag: 'Create 21 different types of book book interiors including Sudoku, Word Search, Crosswords, & more.',\n productLink: 'https://selfpublishingtitans.com/tools',\n },\n {\n item: 'Activity Book Tools',\n tag: 'Create 13 different types of book interiors including Samurai Sudoku, Math Fractions, Angle Measurement, & Other Math Games.',\n productLink: 'https://selfpublishingtitans.com/tools/v2',\n },\n\n {\n item: 'Coloring Book Maker',\n tag: 'Create coloring books with over 9,250 hand drawn illustrations.',\n productLink: 'https://selfpublishingtitans.com/coloring-book-maker',\n },\n {\n item: 'Titans Keyword Tracker',\n tag: 'Track the ranking for any keyword, for any product, on any marketplace',\n productLink: 'https://selfpublishingtitans.com/titans-keyword-tracker',\n },\n {\n item: 'Titans ASIN Tracker',\n tag: 'Track the performance of any product or competitor on Amazon, on any marketplace',\n productLink: 'https://selfpublishingtitans.com/titans-asin-tracker',\n },\n {\n item: 'KDP Masterclass',\n tag: 'A structured and systematic step by step course with 80 videos, lots of resources, & more',\n productLink: 'https://selfpublishingtitans.com/masterclass',\n },\n {\n item: 'Self-Publishing Simplified',\n tag: 'Our book teaches you all the basics from A-Z about Amazon KDP. Perfect for beginners. Available on Amazon as paperback, Kindle edition and audiobook.',\n productLink:\n 'https://www.amazon.com/Self-Publishing-Simplified-Publish-Amazon-Beginners/dp/B0CMZ92XLG/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1704220990&sr=8-1',\n openInNewTab: true,\n },\n {\n item: 'AudioBook and eBook',\n tag: 'Self-Publishing Simplified is also available on our website as an eBook and audiobook for anyone that prefers to get it on our website.',\n productLink: 'https://selfpublishingtitans.com/spt-book',\n },\n\n {\n item: 'Youtube Channel',\n tag: 'Tutorials on how to use our tools available on our website and general videos about Amazon KDP and self-publishing.',\n openInNewTab: true,\n productLink: 'https://www.youtube.com/@SelfPublishingTitans',\n },\n];\n\nexport default ToolSearchData;\n","import React, { useState, useCallback } from 'react';\nimport { Form, InputGroup, Spinner, ListGroup } from 'react-bootstrap';\n\nimport debounce from 'lodash/debounce';\n\nimport ToolSearchData, { SectionItem } from './searchData';\nimport { MdSearch } from 'react-icons/md';\n\n// import { getRequest } from \"@/api/interface\";\n// import {\n// Search,\n// Tools,\n// ChatDots,\n// FileEarmarkText,\n// } from 'react-bootstrap-icons';\n\nexport const blogsdata: BlogPost[] = [\n {\n title: 'Where To Self-publish A Book',\n link: '/blog/where-to-self-publish-a-book',\n date: '2023-09-28T22:44:35.028Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/9e2dcfe463d85c72e012fdd11168929e.png',\n id: '651601cca2a08d001b89b20d',\n },\n {\n title: 'A Guide to Self-Publishing a Coloring Book',\n link: '/blog/a-guide-to-self-publishing-a-coloring-book',\n date: '2023-09-27T23:17:30.843Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/3fcb1c1afcc510e53954f57b182286e2.png',\n id: '65149afaa2a08d001b89b201',\n },\n {\n title: 'Self-Publishing A Coloring Book',\n link: '/blog/self-publishing-a-coloring-book',\n date: '2023-09-22T19:47:08.029Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/bc5908044dad096d86a9e4676f847299.png',\n id: '650def37a2a08d001b89b1fe',\n },\n {\n title: 'How to Publish Your Book: Navigating the Literary Journey',\n link: '/blog/how-to-publish-your-book-navigating-the-literary-journey',\n date: '2023-09-21T15:17:05.998Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/7a1ef211d30ba2ff2789ccf5b50ba12d.png',\n id: '650c5e6ba2a08d001b89b1fb',\n },\n {\n title: 'Self-Publishing with Amazon',\n link: '/blog/Yo',\n date: '2023-09-20T19:45:30.216Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/e50c0d826621f345fcd9e23802486190.png',\n id: '650a5213a2a08d001b89b1ec',\n },\n {\n title: 'How To Self-Publish A Book',\n link: '/blog/how-to-self-publish-a-book',\n date: '2023-09-19T20:37:44.104Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/b16580a17343a3bda992d3ccf45159ff.png',\n id: '650a0691a2a08d001b89b1e8',\n },\n {\n title: 'Is Kindle Direct Publishing Still Worth It?',\n link: '/blog/is-kindle-direct-publishing-still-worth-it',\n date: '2023-09-13T15:33:38.825Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/64d8a74f0a644911d107761ed9384c4d.png',\n id: '6501d62aa2a08d001b89b1e6',\n },\n {\n title: 'Is Amazon KDP Worth It?',\n link: '/blog/is-amazon-kdp-worth-it',\n date: '2023-09-13T15:02:01.966Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/5c027635d55af9a91903ad57f7a87c7b.png',\n id: '6501cee5a2a08d001b89b1e3',\n },\n {\n title: \"Cleo & Corvin Van Stone Meeting KDP'ers From Around The World\",\n link: '/blog/cleo-and-corvin-van-stone-meeting-kdp-ers-from-around-the-world',\n date: '2023-08-24T01:28:20.165Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/a8877f1e486337e018e5bfb340b67ad1.jpg',\n id: '64e6b1b04c0e78001b318076',\n },\n {\n title: 'Self Publishing Titans KDP Masterclass Reviews',\n link: '/blog/self-publishing-titans-kdp-masterclass-reviews',\n date: '2023-03-22T10:30:11.645Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/0524a1e61f3da99941a6c5e57834384c.jpg',\n id: '641ad73c4c0e78001b31806a',\n },\n {\n title: 'Creating a KDP account on Amazon',\n link: '/blog/creating-a-kdp-account-on-amazon',\n date: '2022-12-12T16:15:58.542Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/e95b05ef9c221f39f9fb0fb9b709bb0b.png',\n id: '639753b84c0e78001b318068',\n },\n {\n title: 'How to Set up a KDP Account on Amazon',\n link: '/blog/how-to-set-up-a-kdp-account-on-amazon',\n date: '2022-12-11T19:05:47.940Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/314600bb4384a074886fe91b09b92491.png',\n id: '63962a094c0e78001b318065',\n },\n {\n title: 'How to Make a Calendar with InDesign',\n link: '/blog/how-to-make-a-calendar-in-in-design',\n date: '2022-12-11T17:52:42.592Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/329e6a33a772411d16f6591324ff28b7.png',\n id: '639618dd4c0e78001b318060',\n },\n {\n title: 'How to Create a Nice Book Cover',\n link: '/blog/how-to-create-a-nice-book-cover',\n date: '2022-12-10T20:56:20.853Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/bdb5bf899f96d3b14c8535af4e3b3d07.png',\n id: '6394f25d4c0e78001b31805d',\n },\n {\n title: '10 Basic Tips for Amazon Kindle Direct Publishing',\n link: '/blog/10-basic-tips-for-amazon-kindle-direct-publishing',\n date: '2022-12-10T18:37:28.048Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/dda1039abcb740379c13b0a25797deb6.png',\n id: '6394d1e24c0e78001b31805a',\n },\n {\n title: 'How to Write a Kids Story Books',\n link: '/blog/how-to-write-kids-story-books',\n date: '2022-12-10T17:08:31.296Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/209c4f014a90c2145c992d19fcbc280a.png',\n id: '6394bd0c4c0e78001b318057',\n },\n {\n title: 'How To Write a Poem',\n link: '/blog/how-to-write-a-poem',\n date: '2022-12-10T15:59:55.783Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/3818cd39f4f98177959745e3c5340a4d.png',\n id: '6394aceb4c0e78001b318054',\n },\n {\n title: 'How to Write a Memoir',\n link: '/blog/how-to-write-a-memoir',\n date: '2022-12-10T15:26:07.061Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/0a15bd6198ec8949e3783c1366a9fe20.png',\n id: '6394a50a4c0e78001b318051',\n },\n {\n title: 'How to Write a Good Book Description for your KDP Books',\n link: '/blog/how-to-write-a-good-book-description-for-your-kdp-books',\n date: '2022-12-10T15:09:25.829Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/8ce5f8534c12a2e5fb0a94b0ed03b3e3.png',\n id: '6394a1004c0e78001b31804c',\n },\n {\n title: 'How to Find the Best Niches for Amazon KDP',\n link: '/blog/how-to-find-the-best-niches-for-amazon-kdp',\n date: '2022-12-10T00:18:40.957Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/5f25e982617c39926f56c3790336e53e.png',\n id: '6393d05a4c0e78001b318047',\n },\n {\n title: 'When do you get Paid Royalties from Amazon KDP',\n link: '/blog/when-do-you-get-paid-royalties-from-amazon-kdp',\n date: '2022-12-09T20:38:46.297Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/dc642809defb81df4e06b73537826a89.png',\n id: '63939c9d4c0e78001b318042',\n },\n {\n title: 'How To Order a Proof or Author Copy of my KDP Book',\n link: '/blog/how-to-order-a-proof-or-author-copy-of-my-kdp-book',\n date: '2022-12-08T20:30:58.992Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/02f74d2ee08ee9e9db8884737f642f44.png',\n id: '639249804c0e78001b31803f',\n },\n {\n title: 'How to Update, Unpublish & Delete Books on your KDP Bookshelf',\n link: '/blog/how-to-update-unpublish-and-delete-books-on-your-kdp-bookshelf',\n date: '2022-12-07T19:20:25.128Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/1e625e0dd3331260e03552640f2b13e2.png',\n id: '6390e7694c0e78001b31803b',\n },\n {\n title: 'How To Link & Unlink Your KDP Books',\n link: '/blog/how-to-link-and-unlink-your-kdp-books',\n date: '2022-12-06T23:24:39.071Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/1f91869b8b2979af11179a2ea77eca1a.png',\n id: '638fcf344c0e78001b318038',\n },\n {\n title: 'KDP Barcodes',\n link: '/blog/barcodes',\n date: '2022-12-06T19:39:37.300Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/8fa533960ab63db0e71762f5801f1a1e.png',\n id: '638f99d74c0e78001b318034',\n },\n {\n title: 'A+ Content Guidelines',\n link: '/blog/a-content-guidelines',\n date: '2022-12-04T18:49:08.364Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/e46032d28ba70cffee2e669549573e81.png',\n id: '638ceaba4c0e78001b318032',\n },\n {\n title: 'How to Create A+ Content',\n link: '/blog/how-to-create-a-content',\n date: '2022-12-04T18:39:03.646Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/21bd47151ed0a01ccaa2bc83faa8cadb.png',\n id: '638ce1074c0e78001b31802f',\n },\n {\n title: 'How to Create an Author Page on Amazon Author Central',\n link: '/blog/how-to-create-an-author-page-on-amazon-author-central',\n date: '2022-12-04T17:39:59.248Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/40cf61eb5e4647df883163b9fb42487f.png',\n id: '638cdb694c0e78001b31802c',\n },\n {\n title: 'Free KDP Interiors, Templates & More',\n link: '/blog/free-kdp-interiors-templates-and-more',\n date: '2022-11-30T16:21:55.804Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/3e4a6fe1798fe1e50bd33fc1781db7f6.jpg',\n id: '638781a64c0e78001b318028',\n },\n {\n title: 'KDP Code of Conduct & Ethics by Self Publishing Titans',\n link: '/blog/kdp-code-of-conduct-and-ethics-by-self-publishing-titans',\n date: '2022-09-17T14:38:42.342Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/76bae3c5dad5fa3762a870f1dc684ec4.png',\n id: '6325dbcf577c41001b770a78',\n },\n {\n title: 'KDP Niche Research Chrome Extension',\n link: '/blog/kdp-niche-research-chrome-extension',\n date: '2022-05-23T04:38:28.440Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/0dcde04251f044c217476a2696123178.png',\n id: '628b0fc0c9bd89001ad13c90',\n },\n {\n title: 'Huge Amazon Search Suggestion Expander',\n link: '/blog/huge-amazon-search-suggestion-expander',\n date: '2022-05-23T04:36:09.534Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/0c1bf3eab655a3e9e08280617b234289.png',\n id: '628b0f35c9bd89001ad13c8c',\n },\n {\n title:\n 'KDP Niche Research 2021: How to Find HOT Niches. Keyword Research Strategy for Q4 & After. Free',\n link: '/blog/kdp-niche-research-2021-how-to-find-hot-niches-keyword-research-strategy-for-q4-and-after-free-1',\n date: '2022-03-06T08:01:43.550Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/9cfdc44fad23c53e835ed0b67253a5f5.jpg',\n id: '62243071501424001b05f413',\n },\n {\n title:\n 'No.1 Amazon and KDP Keyword Search Suggestion Tool: Installation Walkthrough',\n link: '/blog/1-amazon-kdp-keyword-search-suggestion-tool-installation-walkthrough-1',\n date: '2022-03-06T03:53:20.132Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/e795627714018e80dcff9e5cfceac035.jpg',\n id: '62243027501424001b05f411',\n },\n {\n title:\n 'KDP Niche Research Tool for Finding Profitable Low Content Keywords 2021 Installation Walkthrough',\n link: '/blog/kdp-niche-research-tool-for-finding-profitable-low-content-keywords-2021-installation-walkthrough',\n date: '2022-03-05T12:46:30.354Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/b742e416d5cd6b5382d6555186b77875.jpg',\n id: '62235b8593265e00a20dbf4f',\n },\n {\n title: 'Frequently Asked Questions, Things to Avoid and Tips for KDP',\n link: '/blog/frequently-asked-questions-things-to-avoid-and-tips-for-kdp',\n date: '2022-03-05T12:43:44.342Z',\n thumbnail:\n 'https://booksbytitans-bucket.sgp1.digitaloceanspaces.com/selfpublishingtitans-booksbytitans-files/26adb7d518c7dea80c7930a050ded43b.jpeg',\n id: '62235a4793265e00a20dbf4c',\n },\n];\n\nconst Index: React.FC = () => {\n const [showDropdown, setShowDropdown] = useState(false);\n const [searchLoading, setSearchLoading] = useState({\n tools: false,\n community: false,\n });\n\n const [query, setQuery] = useState('');\n const [blogs, setBlogs] = useState([]);\n\n const [toolResults, setToolResults] = useState([]);\n const [communityResults, setCommunityResults] = useState([]);\n\n // eslint-disable-next-line consistent-return\n const filterData = (searchQuery: string) => {\n if (searchQuery === '') return setToolResults([]);\n\n const filteredResults = ToolSearchData.filter((item: SectionItem) =>\n item.item.toLowerCase().includes(query.toLowerCase()),\n ).slice(0, 4);\n\n setToolResults(filteredResults);\n };\n\n let abortController: AbortController | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const simulateApiRequest = async (query: string) => {\n if (query === '') return;\n setCommunityResults([]);\n const params = {\n q: query,\n page: 1,\n order: 'relevance',\n size: 4,\n };\n\n if (abortController) {\n abortController.abort();\n }\n\n abortController = new AbortController();\n const { signal } = abortController;\n\n try {\n const response = await fetch(\n `https://community.selfpublishingtitans.com/answer/api/v1/search?q=${params.q}&page=${params.page}&order=${params.order}&size=${params.size}`,\n {\n method: 'GET',\n signal,\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const data = await response.json();\n const CData = data.data.list as ApiResponse[];\n const results = CData;\n // eslint-disable-next-line consistent-return\n return results;\n } catch (error) {\n console.error(error);\n // eslint-disable-next-line consistent-return\n return [];\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const fetchCommunityResults = async (query: string) => {\n setSearchLoading((prev) => ({ ...prev, community: true }));\n const results = await simulateApiRequest(query);\n setCommunityResults(results || []);\n setSearchLoading((prev) => ({ ...prev, community: false }));\n };\n\n const debouncedFetchCommunityResults = useCallback(\n debounce(fetchCommunityResults, 300),\n [],\n );\n\n const filterBlogData = (searchQuery: string) => {\n const filteredResults = blogsdata\n .filter((item: BlogPost) =>\n item.title.toLowerCase().includes(searchQuery.toLowerCase()),\n )\n .slice(0, 4);\n\n setBlogs(filteredResults);\n };\n\n const handleInputChange = (event) => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const query = event.target.value;\n setQuery(query);\n setShowDropdown(true);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n debouncedFilterData(query);\n debouncedFetchCommunityResults(query);\n filterBlogData(query);\n };\n\n const debouncedFilterData = useCallback(debounce(filterData, 0), []);\n\n function getCommunityLink(item: ApiResponse) {\n const baseUrl = 'https://community.selfpublishingtitans.com/questions/';\n if (item.object_type === 'question') {\n return baseUrl + item.object.id;\n }\n return `${baseUrl + item.object.question_id}/${item.object.id}`;\n }\n\n return (\n \n
      \n setShowDropdown(true)}\n autoComplete=\"off\"\n />\n \n
      \n {showDropdown && query && (\n \n
      \n {searchLoading.tools ? (\n
      \n \n Loading...\n \n
      \n ) : (\n
      \n \n \n Tools\n
      \n
      \n )}\n
      \n \n
      \n \n {toolResults.map((item, index) => (\n \n \n {item.item}\n
\n \n {item.tag}\n \n \n ))}\n {toolResults.length === 0 && query && (\n
No results found
\n )}\n \n \n
\n
\n \n \n Community\n
\n
\n
\n \n
\n \n {communityResults.map((item, index) => (\n \n \n {item.object_type === 'question'\n ? item.object.title.slice(20)\n : item.object.excerpt.slice(20)}\n \n
\n \n Answers: {item.object.vote_count}\n
\n \n Votes: {item.object.answer_count}\n \n \n \n ))}\n {communityResults.length === 0 &&\n query &&\n !searchLoading.community && (\n
No results found
\n )}\n {searchLoading.community &&
loading...
}\n
\n \n
\n
\n \n \n Blog\n
\n
\n
\n \n
\n \n {blogs.map((item, index) => (\n \n \n {item.title}\n \n \n ))}\n {blogs.length === 0 && query && (\n
No results found
\n )}\n
\n \n \n )}\n \n );\n};\n\nexport default Index;\n\ntype BlogPost = {\n title: string;\n link: string;\n date: string;\n thumbnail: string;\n id: string;\n};\n\ninterface UserInfo {\n id: string;\n username: string;\n display_name: string;\n rank: number;\n status: string;\n}\n\ninterface Tag {\n slug_name: string;\n display_name: string;\n main_tag_slug_name: string;\n recommend: boolean;\n reserved: boolean;\n}\n\ninterface AnswerObject {\n id: string;\n question_id: string;\n title: string;\n url_title: string;\n excerpt: string;\n created_at: number;\n vote_count: number;\n accepted: boolean;\n answer_count: number;\n user_info: UserInfo;\n tags: Tag[];\n status: string;\n}\n\nexport interface ApiResponse {\n object_type: string;\n object: AnswerObject;\n}\n","export const domains = {\n main: 'https://selfpublishingtitans.com',\n coloring_book: 'https://editor.selfpublishingtitans.com',\n books: 'https://books.selfpublishingtitans.com',\n // main: process.env.NEXT_PUBLIC_CLIENT_URL,\n};\n","import { domains } from '../constants/index';\nimport {\n BlocksIcon,\n BookAIcon,\n BookHeartIcon,\n BookIcon,\n BookImageIcon,\n BookTextIcon,\n BrushIcon,\n ChartLineIcon,\n CheckIcon,\n ClipboardTypeIcon,\n CloudIcon,\n CopyrightIcon,\n DollarSignIcon,\n FileStackIcon,\n GraduationCap,\n GroupIcon,\n ImageIcon,\n LanguagesIcon,\n LayoutListIcon,\n ListCheckIcon,\n ListEndIcon,\n NotebookPen,\n PenIcon,\n Percent,\n PuzzleIcon,\n QrCode,\n SearchIcon,\n TablePropertiesIcon,\n TextIcon,\n TextSearchIcon,\n TrendingUpDownIcon,\n TriangleAlert,\n VideoIcon,\n} from 'lucide-react';\n\nexport type Item = {\n heading: string;\n tag: string;\n link: string;\n newTab?: boolean;\n flair?: string;\n icon: React.ElementType;\n};\n\nexport type TCategory = {\n Heading?: string;\n Items: Item[];\n};\n\nexport type TSolutionsData = {\n Title: string;\n Categories: TCategory[];\n icon: React.ElementType;\n};\n\nconst SolutionsData: TSolutionsData[] = [\n {\n Title: 'Research Tools',\n icon: SearchIcon,\n Categories: [\n {\n Items: [\n {\n heading: 'Keyword Research - Titans Pro',\n tag: 'Search suggestions, analysis & search vol.',\n link: domains.main + '/titans-pro/on-site',\n icon: SearchIcon,\n },\n {\n flair: 'New',\n heading: '7 Backend Keywords',\n tag: 'Boost SEO rankings and visibility.',\n newTab: false,\n link: domains.main + '/7-backend-keywords-tool-amazon-kdp',\n icon: ListEndIcon,\n },\n {\n heading: 'Reverse ASIN Lookup',\n tag: 'Find top keywords from any top product.',\n link: domains.main + '/titans-retro-vision',\n icon: TablePropertiesIcon,\n },\n {\n heading: 'Titans Pro Chrome Extension',\n tag: 'Search insights directly in Chrome.',\n newTab: true,\n link: 'https://chromewebstore.google.com/detail/titans-pro-amazon-kdp-key/mmdamlknnafgffhlobhlmiljonijdnid',\n icon: BlocksIcon,\n },\n {\n heading: 'Competitor Research - Deep View',\n tag: 'Analyze 100 competitors for any niche.',\n link: domains.main + '/titans-deep-view',\n icon: LayoutListIcon,\n },\n ],\n },\n ],\n },\n {\n Title: 'Book Creation Tools',\n icon: BookIcon,\n Categories: [\n {\n Items: [\n {\n heading: '30+ Puzzle & Activity Tools',\n tag: 'Create puzzles like Sudoku, mazes, etc.',\n link: domains.books + '/Puzzle-Maker-Software',\n icon: PuzzleIcon,\n newTab: true,\n },\n {\n heading: 'Low Content Books',\n tag: 'Create notebooks, journals, and more.',\n link: domains.books + '/FREE-No-Content-Book-Creator-Software',\n icon: FileStackIcon,\n },\n {\n heading: 'Coloring Books',\n tag: 'Create pages with hand drawn illustrations.',\n link: domains.coloring_book + '/',\n icon: BrushIcon,\n newTab: true,\n },\n {\n heading: 'Book Writing & Editing',\n tag: 'Write books easily and efficiently.',\n link: 'https://author.selfpublishingtitans.com',\n icon: PenIcon,\n },\n ],\n },\n ],\n },\n {\n Title: 'Book Listing Tools',\n icon: ListCheckIcon,\n Categories: [\n {\n Items: [\n {\n heading: 'KDP Title Creator',\n tag: 'Create effective book titles that sell.',\n link: domains.main + '/kdp-title-creator',\n icon: ClipboardTypeIcon,\n },\n {\n heading: 'Book Description Generator',\n tag: 'Write great book descriptions.',\n link: domains.main + '/kdp-description-creator',\n icon: TextIcon,\n },\n {\n heading: 'Trademark Checker',\n tag: 'Avoid violations with your books.',\n link: domains.main + '/kdp-trademark-checker',\n icon: CopyrightIcon,\n },\n {\n heading: 'Guidelines Checker',\n tag: 'Follow the rules & regulations better.',\n link: domains.main + '/kdp-guidelines-checker',\n icon: TextIcon,\n },\n {\n heading: 'Book Listing Translations',\n tag: 'Translate your book data instantly.',\n link: domains.main + '/kdp-bookdata-translator',\n icon: LanguagesIcon,\n },\n {\n heading: 'Book Price Suggestions',\n tag: 'Find the perfect price for your book.',\n link: domains.main + '/kdp-price-checker',\n icon: DollarSignIcon,\n },\n {\n heading: 'Grammar Checker',\n tag: 'Fix grammar in book details.',\n link: domains.main + '/grammar-check',\n icon: ListCheckIcon,\n },\n ],\n },\n ],\n },\n {\n Title: 'Design Tools',\n icon: ImageIcon,\n Categories: [\n {\n Items: [\n {\n heading: 'Cover Designer',\n tag: 'Design great book covers with ease.',\n link: domains.main + '/book-cover-creator',\n icon: BookHeartIcon,\n },\n {\n heading: 'A+ Content Maker',\n tag: 'Create A+ content images for your book.',\n link: domains.main + '/A+-content-template-generator',\n flair: 'New',\n icon: BookImageIcon,\n },\n {\n heading: 'Digital Titans Designer',\n tag: 'Create text and letter designs & patterns.',\n link: 'https://design.selfpublishingtitans.com/',\n icon: BookAIcon,\n },\n ],\n },\n ],\n },\n {\n Title: 'General KDP Tools',\n icon: BlocksIcon,\n Categories: [\n {\n Items: [\n {\n heading: 'KDP BSR Sales Calculator',\n tag: 'Estimate book sales via BSR.',\n link: domains.main + '/tools/KDP-BSR-Sales-Calculator',\n icon: ChartLineIcon,\n },\n {\n heading: 'ACOS Royalty Calculator',\n tag: 'Evaluate ad profitability.',\n link: domains.main + '/tools/KDP-Royalty-Calculator',\n icon: Percent,\n },\n {\n heading: 'Pen Name Generator',\n tag: 'Generate creative pen names.',\n link: domains.main + '/tools/Pen-Name-Generator',\n icon: NotebookPen,\n },\n {\n heading: 'QR Code Generator',\n tag: 'Create QR codes for books.',\n link: domains.main + '/tools/QR-Code-Generator-for-KDP-Books',\n icon: QrCode,\n },\n {\n heading: 'Word Cloud Generator',\n tag: 'Visualize keyword usage.',\n link: domains.main + '/word-cloud',\n icon: CloudIcon,\n },\n {\n heading: 'Keyword Tracker',\n tag: 'Track keyword rankings.',\n link: domains.main + '/titans-keyword-tracker',\n icon: TrendingUpDownIcon,\n },\n {\n heading: 'ASIN Tracker',\n tag: 'Monitor product performance.',\n link: domains.main + '/titans-asin-tracker',\n icon: ChartLineIcon,\n },\n {\n heading: 'KDP Category Finder',\n tag: 'Find the best book categories.',\n link: domains.main + '/tools/KDP-Kindle-Category-Finder',\n icon: TextSearchIcon,\n },\n {\n heading: 'KDP Cover Template Generator',\n tag: 'Generate cover templates.',\n link: domains.main + '/kdp-cover-template-generator',\n icon: BookTextIcon,\n },\n ],\n },\n ],\n },\n {\n Title: 'Training',\n icon: GraduationCap,\n Categories: [\n {\n Items: [\n {\n heading: 'KDP Masterclass',\n tag: 'A-Z training, 80+ videos, 100+ resources.',\n link: domains.main + '/masterclass',\n icon: VideoIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Community Forum',\n tag: 'Ask any and all questions, anytime.',\n link: 'https://community.selfpublishingtitans.com/',\n newTab: true,\n icon: GroupIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Self-Publishing Simplified',\n tag: 'Our Book available on Amazon. ',\n link: 'https://www.amazon.com/Self-Publishing-Simplified-Publish-Amazon-Beginners/dp/B0CMZ92XLG/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1704220990&sr=8-1',\n newTab: true,\n icon: BookIcon,\n },\n ],\n },\n ],\n },\n];\n\nexport default SolutionsData;\n","import React, { useState, ElementType } from 'react';\nimport { Link } from 'react-router-dom';\n\ninterface ListItemProps extends React.ComponentPropsWithoutRef<'a'> {\n title: string;\n Icon?: ElementType;\n newTab?: boolean;\n}\n\nconst ListItem = React.forwardRef, ListItemProps>(\n ({ className, title, target, children, Icon, newTab, ...props }, ref) => {\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n target={newTab ? '_blank' : '_self'}\n className={`d-flex align-items-start gap-3 p-3 text-decoration-none text-reset ${className}`}\n {...props}>\n {Icon && (\n
\n \n
\n )}\n
\n
{title}
\n

{children}

\n
\n \n );\n },\n);\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { ArrowRight, ArrowDown, ChevronDown, ChevronRight } from 'lucide-react';\n\nimport SolutionsData, {\n TCategory,\n TSolutionsData,\n Item,\n} from './solutionsData';\nimport { FaChevronRight } from 'react-icons/fa';\nimport ListItem from './ListItem';\nimport { domains } from '../constants';\n\nfunction SolutionsComp() {\n const [selectedCategory, setSelectedCategory] = useState(\n SolutionsData[0],\n );\n\n const handleCategoryClick = (category: TSolutionsData) => {\n setSelectedCategory(category);\n };\n\n const flattenedItems = selectedCategory.Categories.flatMap(\n (category) => category.Items,\n );\n\n return (\n
\n \n \n \n {SolutionsData.map((category: TSolutionsData) => (\n handleCategoryClick(category)}>\n \n \n \n
\n {category.Title}\n \n \n \n ))}\n {/* \n Services\n \n */}\n \n \n {selectedCategory ? (\n // @ts-ignore\n
\n \n {/* {selectedCategory.Categories.map((category: TCategory) => (\n \n \n {category.Heading}\n \n */}\n {flattenedItems.map((item: Item) => (\n // \n // {\n // e.currentTarget.style.backgroundColor = '#c3abff';\n // }}\n // onMouseLeave={(e) => {\n // e.currentTarget.style.backgroundColor = 'white';\n // }}>\n // \n // {item.heading}\n //
\n //
{item.tag}
\n // \n // \n\n \n {' '}\n {item.tag}\n \n ))}\n \n (e.currentTarget.style.backgroundColor = '#e6e6fa')\n }\n onMouseLeave={(e) =>\n (e.currentTarget.style.backgroundColor = '#f7f6f8')\n }>\n
\n
\n \n See & Compare All Tools\n
\n \n See all we provide to find what you need.\n

\n
\n \n \n \n {/* \n \n ))} */}\n \n \n ) : (\n Select a category to view details\n )}\n \n \n \n \n );\n}\ninterface SolutionsDropDownProps {\n show: boolean;\n}\n\nfunction SolutionsDropDown({ show }: SolutionsDropDownProps) {\n return (\n
\n \n Tools{' '}\n \n \n {show && (\n \n \n
\n )}\n \n );\n}\n\nexport default SolutionsDropDown;\n","import {\n GraduationCap,\n HandshakeIcon,\n LetterTextIcon,\n MessageSquareIcon,\n ShapesIcon,\n UserIcon,\n UsersIcon,\n YoutubeIcon,\n} from 'lucide-react';\n\nimport { domains } from '../constants';\n\nexport type Item = {\n heading: string;\n tag: string;\n link: string;\n newTab?: boolean;\n flair?: string;\n icon: React.ElementType;\n};\n\nexport type TCategory = {\n Heading?: string;\n Items: Item[];\n};\n\nexport type TResourcesData = {\n Title: string;\n Categories: TCategory[];\n};\n\nconst ResourcesData: TResourcesData[] = [\n {\n Title: 'Resources',\n Categories: [\n {\n Items: [\n {\n heading: 'Free Resources',\n tag: 'Kickstart your KDP journey with free resources.',\n newTab: true,\n link: domains.main + '/free-resources',\n icon: ShapesIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Community',\n tag: 'Get your questions answered and learn from others.',\n link: 'https://community.selfpublishingtitans.com',\n newTab: true,\n icon: UsersIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'KDP Masterclass',\n tag: 'Learn KDP with 80 videos and helpful resources.',\n link: domains.main + '/masterclass',\n icon: GraduationCap,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Tutorials',\n tag: 'Video tutorials for using our tools effectively.',\n newTab: true,\n link: 'https://www.youtube.com/@SelfPublishingTitans',\n icon: YoutubeIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Blog',\n tag: 'Read articles on self-publishing, design, and ads.',\n link: domains.main + '/en/blog',\n icon: LetterTextIcon,\n },\n ],\n },\n {\n Items: [\n {\n heading: 'Affiliates',\n tag: 'Promote our tools and earn with your audience.',\n link: 'https://affiliates.selfpublishingtitans.com/home',\n icon: HandshakeIcon,\n },\n ],\n },\n ],\n },\n];\n\nexport default ResourcesData;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { ChevronRight, ChevronDown } from 'lucide-react';\nimport ListItem from './ListItem';\n\nimport SolutionsData, {\n TCategory,\n TResourcesData,\n Item,\n} from './ResourcesData';\n\nfunction ResourcesMenu() {\n const handleCategoryClick = (category: TResourcesData) => {\n setSelectedCategory(category);\n };\n\n const [selectedCategory, setSelectedCategory] = useState(\n SolutionsData[0],\n );\n\n const flattenedItems = selectedCategory.Categories.flatMap(\n (category) => category.Items,\n );\n\n return (\n \n \n \n \n {selectedCategory ? (\n // @ts-ignore\n
\n \n {flattenedItems.map((item) => (\n \n {item.tag}\n \n ))}\n
\n \n ) : (\n Select a category to view details\n )}\n \n \n \n \n );\n}\n\ninterface SolutionsDropDownProps {\n show: boolean;\n}\n\nfunction SolutionsDropDown({ show }: SolutionsDropDownProps) {\n return (\n
\n \n Resources{' '}\n \n \n {show && (\n \n \n
\n )}\n \n );\n}\n\nexport default SolutionsDropDown;\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 { 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 { getUserInfo } from '@/utils/next-auth';\nimport { CiUser } from 'react-icons/ci';\nimport { MdOutlineAccountCircle } from 'react-icons/md';\nimport { MdOutlineBook } from 'react-icons/md';\nimport { FaBookmark, FaRegUser } from 'react-icons/fa';\nimport { FaGear } from 'react-icons/fa6';\nimport { Link } from 'react-router-dom';\nimport { FaCrown } from 'react-icons/fa';\nimport { ArrowRight } from 'lucide-react';\n\ninterface Props {\n redDot: Type.NotificationStatus | undefined;\n userInfo: Type.UserInfoRes;\n logOut: (e) => void;\n}\n\ninterface User {\n name: string;\n email: string;\n image: string;\n}\n\ninterface UserInfo {\n user: User;\n expires: string;\n name: string;\n email: string;\n picture: string;\n sub: string;\n verified: boolean;\n type: number;\n source: string;\n is_blocked: boolean;\n _id: string;\n __v: number;\n createdAt: string;\n updatedAt: string;\n google_id: string;\n is_admin: boolean;\n id: string;\n token: string;\n iat: number;\n exp: number;\n jti: string;\n}\n\ninterface Feature {\n _id: string;\n feature_name: string;\n feature_id: string;\n published_at: string;\n createdAt: string;\n updatedAt: string;\n __v: number;\n created_by: string;\n updated_by: string;\n id: string;\n}\n\ninterface PaymentData {\n payment_service: string;\n _id: string;\n account: string;\n feature_id: Feature;\n feature_shop: string;\n payment_intent: string;\n __v: number;\n createdAt: string;\n updatedAt: string;\n id: string;\n}\n\nconst isOwned = (featuresOwned, id) => {\n return featuresOwned?.find((item) => item.feature_id._id === id);\n};\n\nconst Index: FC = ({ redDot, userInfo, logOut }) => {\n const { t } = useTranslation();\n const [info, setInfo] = useState(null);\n\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\n async function fetchUserInfo() {\n const _info = await getUserInfo();\n if (_info) {\n setInfo(_info as UserInfo);\n }\n }\n\n useEffect(() => {\n fetchUserInfo();\n }, []);\n\n function NeedToUpgrade(features): {\n upgradeTo: string;\n currentTier: string;\n show: boolean;\n } {\n try {\n if (!features) {\n console.error('Invalid info structure');\n return {\n upgradeTo: '0',\n currentTier: '',\n show: false,\n };\n }\n\n if (isOwned(features, '64562adce2210da37f2bdb2a')) {\n return {\n upgradeTo: 'Pro Max',\n currentTier: 'Pro',\n show: true,\n };\n }\n if (isOwned(features, '6516aecf8a69c334783b3c27')) {\n return {\n upgradeTo: 'Supreme',\n currentTier: 'Pro Max',\n show: true,\n };\n }\n\n if (isOwned(features, '655ee43f1727b2465e13079b')) {\n return {\n upgradeTo: 'Supreme',\n currentTier: 'Supreme',\n show: false,\n };\n }\n\n return {\n upgradeTo: 'Pro',\n currentTier: 'Free',\n show: true,\n };\n } catch (error) {\n console.error('Error in NeedToUpgrade function:', error);\n return {\n upgradeTo: '',\n currentTier: '',\n show: false,\n };\n }\n }\n\n return (\n <>\n {/* */}\n\n \n \n {info?.user?.name ? (\n \n ) : (\n // @ts-ignore\n \n )}\n \n\n \n \n
\n \n
\n
{info?.user?.name}
\n
{info?.user?.email}
\n
\n
\n \n\n 'dropdown-item d-flex align-items-center'}\n onClick={handleLinkClick}>\n
\n \n {t('header.nav.profile')}\n
\n \n \n 'dropdown-item d-flex align-items-center'}\n onClick={handleLinkClick}>\n
\n \n Notes & Planning\n
\n \n \n 'dropdown-item d-flex align-items-center'}\n onClick={handleLinkClick}>\n
\n \n {t('header.nav.bookmark')}\n
\n \n \n 'dropdown-item d-flex align-items-center'}\n onClick={handleLinkClick}>\n
\n \n {t('header.nav.setting')}\n
\n \n \n {/* */}\n {/* 'dropdown-item'}\n onClick={(e) => 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\ninterface IUpgradeProps {\n info: UserInfo;\n isUpgrade: {\n upgradeTo: string;\n currentTier: string;\n show: boolean;\n };\n}\nfunction Upgrade({ info, isUpgrade }: IUpgradeProps) {\n if (!isUpgrade.show) {\n return null;\n }\n\n return (\n \n Upgrade \n \n );\n}\n","import React, { useRef } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { EDropdown } from './index';\nimport { MessageCircleMore } from 'lucide-react';\n\nimport {\n FaCheckCircle,\n FaQuestionCircle,\n FaSearch,\n FaFacebook,\n FaYoutube,\n FaBug,\n FaPlusSquare,\n FaEnvelope,\n} from 'react-icons/fa';\n\ninterface ICreateProps {\n show: boolean;\n transparentNav?: boolean;\n toggleDropDown: (type: EDropdown) => void;\n isMobile?: boolean;\n setActiveDropDown: (state: any) => void;\n}\n\nconst Create: React.FC = ({\n show,\n transparentNav,\n toggleDropDown,\n isMobile,\n setActiveDropDown,\n}) => {\n const divRef = useRef(null);\n\n const handleClick = () => {\n setActiveDropDown({\n create: false,\n help: true,\n });\n };\n\n const handleClose = () => {\n toggleDropDown(EDropdown.help);\n console.log('closed');\n };\n\n return (\n \n {\n setActiveDropDown({\n create: false,\n help: false,\n });\n }}\n style={{\n border: '1px solid',\n // border: 'none',\n borderColor: transparentNav ? 'white' : '#7449fb',\n display: 'flex',\n padding: '8px 18px',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n borderRadius: '20px',\n backgroundColor: 'transparent',\n boxShadow: '0 1px 2px rgba(0, 0, 0, 0.05)',\n }}>\n \n \n\n {\n setActiveDropDown({\n create: false,\n help: true,\n });\n }}\n style={{\n position: 'absolute',\n top: '40px',\n height: '1.25rem',\n width: '100%',\n }}>\n\n {show && (\n {\n setActiveDropDown({\n create: false,\n help: false,\n });\n }}\n style={{\n border: '1px solid #ccc',\n transform: isMobile ? 'translateX(-50%)' : 'translateX(-70%)',\n position: 'absolute',\n left: '0',\n marginTop: '16px',\n maxHeight: '80vh',\n overflow: 'auto',\n width: '300px',\n padding: '16px',\n borderRadius: '20px',\n boxShadow: '0 10px 15px rgba(0, 0, 0, 0.1)',\n backgroundColor: 'white',\n }}>\n \n Help\n \n \n {\n e.currentTarget.style.backgroundColor = '#c3abff';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Support\n \n {\n e.currentTarget.style.backgroundColor = '#c3abff';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Feature Request\n \n {\n e.currentTarget.style.backgroundColor = '#c3abff';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Bug Report\n \n\n {\n e.currentTarget.style.backgroundColor = '#c3abff';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Community\n \n {\n e.stopPropagation();\n window.open(\n 'https://www.youtube.com/@SelfPublishingTitans',\n '__blank',\n );\n }}\n style={{\n display: 'flex',\n alignItems: 'center',\n padding: '16px',\n borderRadius: '16px',\n fontFamily: 'sans-serif',\n fontWeight: '500',\n fontSize: '14.6px',\n textDecoration: 'none',\n color: 'inherit',\n border: 'none',\n backgroundColor: '#f7f6f8',\n transition: 'background-color 0.3s, color 0.3s',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = '#c3abff';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Tutorials\n \n \n \n )}\n \n );\n};\n\nexport default Create;\n","import {\n ImageIcon,\n BookIcon,\n BookOpenText,\n BookCopy,\n BrushIcon,\n SearchIcon,\n TextSearch,\n ListCheck,\n SearchCheck,\n ListChecks,\n HandCoins,\n Banknote,\n LogsIcon,\n QrCodeIcon,\n PencilIcon,\n CloudIcon,\n GitCompareArrows,\n Youtube,\n TvMinimalPlay,\n ArrowUpNarrowWideIcon,\n ListTodoIcon,\n Languages,\n DollarSignIcon,\n PlusIcon,\n ChartAreaIcon,\n TriangleIcon,\n BookAIcon,\n TextIcon,\n HelpCircle,\n} from 'lucide-react';\n\ntype TOption = {\n name: string;\n Icon: React.ElementType;\n tag?: string;\n link: string;\n\n // link:string\n};\n\nconst booksDomain = process.env.NEXT_PUBLIC_BOOKS_SUBDOMAIN;\n\nconst CreateOptions: TOption[] = [\n {\n name: 'Book Cover',\n Icon: ImageIcon,\n link: '/book-cover-creator',\n },\n {\n name: 'A+ Content',\n Icon: ImageIcon,\n link: '/A+-content-template-generator',\n },\n {\n name: 'Write Book',\n Icon: BookIcon,\n link: 'https://author.selfpublishingtitans.com',\n },\n {\n name: 'Puzzle Pages',\n Icon: BookOpenText,\n link: booksDomain + '/Puzzle-Maker-Software',\n },\n {\n name: 'Low Content Pages',\n Icon: BookCopy,\n link:\n booksDomain +\n '/FREE-No-Content-Book-Creator-Software/start-now?simple=true',\n },\n {\n name: 'Coloring Book',\n Icon: BrushIcon,\n link: 'https://editor.selfpublishingtitans.com',\n },\n {\n name: 'Digital Titans Designer',\n Icon: BookAIcon,\n link: 'https://design.selfpublishingtitans.com/',\n },\n];\n\nconst ResearchOptions: TOption[] = [\n {\n name: 'Titans Pro',\n tag: 'Search Suggestions',\n Icon: SearchIcon,\n link: 'https://chromewebstore.google.com/detail/titans-pro-amazon-kdp-key/mmdamlknnafgffhlobhlmiljonijdnid',\n },\n {\n name: 'Deep View',\n tag: 'Niche Analysis',\n Icon: TextSearch,\n link: '/titans-deep-view',\n },\n {\n name: '7 Backend Keywords',\n tag: 'Book Listing SEO',\n Icon: ListCheck,\n link: '/7-backend-keywords-tool-amazon-kdp',\n },\n {\n name: 'Retro View',\n tag: 'Competetior Analysis',\n Icon: SearchCheck,\n link: '/titans-retro-vision',\n },\n {\n name: 'Quick View',\n tag: 'Quick Analysis',\n Icon: ListChecks,\n link: 'https://chromewebstore.google.com/detail/titans-quick-view-amazon/eefljgmhgaidffapnppcmmafobefjece',\n },\n];\n\nconst GeneralTools: TOption[] = [\n {\n name: 'KDP BSR Sales Calculator',\n tag: \"Estimate anyone's book sales\",\n link: '/tools/KDP-BSR-Sales-Calculator',\n Icon: HandCoins,\n },\n {\n name: 'ACOS Royalty Calculator',\n tag: 'Calculate ad campaign profitability.',\n link: '/tools/KDP-Royalty-Calculator',\n Icon: Banknote,\n },\n {\n name: 'KDP Category Finder',\n tag: 'Find the best categories for your book and improve your SEO.',\n link: '/tools/KDP-Kindle-Category-Finder',\n Icon: LogsIcon,\n },\n {\n name: 'QR Code Generator',\n tag: 'Create QR codes for your books',\n link: '/tools/QR-Code-Generator-for-KDP-Books',\n Icon: QrCodeIcon,\n },\n {\n name: 'Pen Name Generator',\n tag: 'Create pen names for your books',\n link: '/tools/Pen-Name-Generator',\n Icon: PencilIcon,\n },\n {\n name: 'Word Cloud Generator',\n tag: 'View most used words and keywords',\n link: '/word-cloud',\n Icon: CloudIcon,\n },\n {\n name: 'Keyword Tracker',\n tag: 'Track Keyword ranking for any product',\n link: '/titans-keyword-tracker',\n Icon: ChartAreaIcon,\n },\n {\n name: 'ASIN Tracker',\n tag: 'Monitor any products performance',\n link: '/titans-asin-tracker',\n Icon: GitCompareArrows,\n },\n {\n name: 'KDP Cover Template Generator',\n tag: 'Create KDP Cover Templates',\n link: '/kdp-cover-template-generator',\n Icon: BookIcon,\n },\n];\n\nconst LearningTools: TOption[] = [\n {\n name: 'Ask Question In Forum',\n Icon: HelpCircle,\n link: 'https://community.selfpublishingtitans.com/questions/ask',\n },\n {\n name: 'KDP Masterclass',\n Icon: TvMinimalPlay,\n link: 'https://www.selfpublishingtitans.com/masterclass',\n },\n {\n name: 'Youtube Tutorials',\n Icon: Youtube,\n link: 'https://www.youtube.com/@SelfPublishingTitans',\n },\n {\n name: 'Self Publishing Simplified',\n Icon: BookIcon,\n link: 'https://amzn.in/d/fyBNU9g',\n },\n {\n name: 'Blog',\n Icon: TextIcon,\n link: '/en/blog',\n },\n];\n\nconst BookListingTools: TOption[] = [\n {\n name: 'KDP Title Creator',\n Icon: TvMinimalPlay,\n link: '/kdp-title-creator',\n },\n {\n name: 'KDP Description Generator',\n Icon: ArrowUpNarrowWideIcon,\n link: '/kdp-description-creator',\n },\n {\n name: 'KDP Trademark Violation Checker',\n Icon: TriangleIcon,\n link: '/kdp-trademark-checker',\n },\n {\n name: 'KDP Guidelines Checker',\n Icon: ListTodoIcon,\n link: '/kdp-guidelines-checker',\n },\n {\n name: 'KDP Book Data Translator',\n Icon: Languages,\n link: '/kdp-bookdata-translator',\n },\n {\n name: 'Book Price Suggestion Tool',\n Icon: DollarSignIcon,\n link: 'https://www.selfpublishingtitans.com/book-price',\n },\n {\n link: 'https://www.selfpublishingtitans.com/grammar-check',\n name: 'Grammar Checker',\n Icon: ListChecks,\n },\n];\n\nexport {\n CreateOptions,\n ResearchOptions,\n GeneralTools,\n LearningTools,\n BookListingTools,\n};\n","import React, { useRef, useState, useEffect } from 'react';\nimport {\n CreateOptions,\n ResearchOptions,\n BookListingTools,\n LearningTools,\n GeneralTools,\n} from './CreateData';\n\nimport { Link } from 'react-router-dom';\nimport { EDropdown } from './index';\nimport './create.scss';\n\ninterface ICreateProps {\n show: boolean;\n transparentNav?: boolean;\n toggleDropDown: (type: EDropdown) => void;\n isMobile?: boolean;\n setActiveDropDown: (state: any) => void;\n}\n\nconst Create: React.FC = ({\n show,\n transparentNav,\n toggleDropDown,\n isMobile,\n setActiveDropDown,\n}) => {\n const divRef = useRef(null);\n\n const handleClick = () => {\n setActiveDropDown({\n create: true,\n help: false,\n });\n // toggleDropDown(EDropdown.help);\n // console.log(\"handling click\");\n };\n\n const handleClose = () => {\n // setIsOpen(false);\n // toggleDropDown(EDropdown.help);\n // console.log(\"closed\");\n setActiveDropDown({\n create: false,\n help: false,\n });\n };\n\n // const handleClickOutside = (event: MouseEvent) => {\n // if (divRef.current && !divRef.current.contains(event.target as Node)) {\n // setActiveDropDown({\n // create: false,\n // help: false,\n // });\n // }\n // };\n\n // useEffect(() => {\n // if (show) {\n // document.addEventListener(\"mousedown\", handleClickOutside);\n // } else {\n // document.removeEventListener(\"mousedown\", handleClickOutside);\n // }\n\n // return () => {\n // document.removeEventListener(\"mousedown\", handleClickOutside);\n // };\n // }, [show]);\n\n return (\n \n \n \n Start\n \n \n {\n setActiveDropDown({\n create: true,\n help: false,\n });\n }}\n style={{\n position: 'absolute',\n top: '40px',\n height: '1.25rem',\n width: '100%',\n }}>\n {show && (\n \n \n \n
\n \n Research\n \n \n {ResearchOptions.map((option, index) => (\n \n ))}\n
\n \n
\n
\n \n Create\n \n \n {CreateOptions.map((option, index) => (\n \n ))}\n
\n \n\n
\n
\n \n Book Listing\n \n \n {BookListingTools.map((option, index) => (\n \n ))}\n
\n \n
\n
\n \n General\n \n \n {GeneralTools.map((option, index) => (\n \n ))}\n
\n \n
\n
\n \n Education\n \n \n {LearningTools.map((option, index) => (\n \n ))}\n
\n \n \n \n \n )}\n \n );\n};\n\nexport default Create;\n\nfunction LinkItem({ option }) {\n return (\n {\n e.currentTarget.style.backgroundColor = '#e6e6fa';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent';\n e.currentTarget.style.color = 'inherit';\n }}\n role=\"menuitem\">\n \n {option.name}\n \n );\n}\n","import React, { useRef } from 'react';\nimport { Link } from 'react-router-dom';\nimport { MdOutlineSearch } from 'react-icons/md';\nimport { EDropdown } from './index';\nimport { MdOutlineVerified } from 'react-icons/md';\n\ninterface ICreateProps {\n show: boolean;\n transparentNav?: boolean;\n toggleDropDown: (type: EDropdown) => void;\n isMobile?: boolean;\n setActiveDropDown: (state: any) => void;\n}\n\nconst Create: React.FC = ({\n show,\n transparentNav,\n toggleDropDown,\n isMobile,\n setActiveDropDown,\n}) => {\n const divRef = useRef(null);\n\n const handleClick = () => {\n setActiveDropDown({\n create: false,\n help: false,\n chrome: true,\n });\n // toggleDropDown(EDropdown.help);\n // console.log(\"handling click\");\n };\n\n const handleClose = () => {\n // setIsOpen(false);\n toggleDropDown(EDropdown.help);\n console.log('closed');\n };\n\n // const handleClickOutside = (event: MouseEvent) => {\n // if (divRef.current && !divRef.current.contains(event.target as Node)) {\n // setActiveDropDown({\n // create: false,\n // help: false,\n // });\n // }\n // };\n\n // useEffect(() => {\n // if (show) {\n // document.addEventListener(\"mousedown\", handleClickOutside);\n // } else {\n // document.removeEventListener(\"mousedown\", handleClickOutside);\n // }\n\n // return () => {\n // document.removeEventListener(\"mousedown\", handleClickOutside);\n // };\n // }, [show]);\n\n const chromeStoreIcon =\n 'data:image/png;base64,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';\n\n return (\n \n {\n setActiveDropDown({\n create: false,\n help: false,\n chrome: false,\n });\n }}\n style={{\n margin: '0 0.5rem',\n display: 'flex',\n borderRadius: '0.5rem',\n alignItems: 'center',\n border: 'none',\n }}>\n \n \n\n {\n setActiveDropDown({\n create: false,\n help: false,\n chrome: true,\n });\n }}\n style={{\n position: 'absolute',\n top: '20px',\n height: '1.25rem',\n width: '100%',\n }}>\n\n {show && (\n {\n setActiveDropDown({\n create: false,\n help: false,\n chrome: false,\n });\n }}\n style={{\n border: '1px solid #ccc',\n transform: isMobile ? 'translateX(-50%)' : 'translateX(-70%)',\n position: 'absolute',\n padding: '14px',\n left: 0,\n color: 'black',\n marginTop: '0.5rem',\n maxHeight: '80vh',\n overflow: 'auto',\n width: '300px',\n borderRadius: '0.75rem',\n boxShadow: '0 10px 15px rgba(0, 0, 0, 0.1)',\n backgroundColor: 'white',\n }}>\n \n Chrome Extensions\n \n \n {\n e.currentTarget.style.backgroundColor = '#e6e6fa';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Titans Pro - Pro Keyword Suggestions\n \n\n {\n e.currentTarget.style.backgroundColor = '#e6e6fa';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#f7f6f8';\n e.currentTarget.style.color = 'inherit';\n }}>\n \n Titans Quick View - Pro Search Results Data\n \n \n \n )}\n \n );\n};\n\nexport default Create;\n","import React from 'react';\nimport { useState } from 'react';\nimport { useEffect } from 'react';\nimport { formatDistanceToNow } from 'date-fns';\nimport { Badge } from 'react-bootstrap';\n\nimport { EDropdown } from './index';\nimport { MdRefresh, MdNotifications, MdDelete } from 'react-icons/md';\nimport { Card } from 'react-bootstrap';\nimport { BellIcon } from 'lucide-react';\n\ntype TUser = {\n verified: boolean;\n type: number;\n source: string;\n is_blocked: boolean;\n _id: string;\n email: string;\n createdAt: string;\n updatedAt: string;\n __v: number;\n id: string;\n has_past_due: boolean;\n};\n\ninterface INotification {\n id: string;\n user_id: string;\n title: string;\n message: string;\n type: string;\n category: string;\n icon: string;\n link: string;\n is_read: boolean;\n is_deleted: boolean;\n created_at: string;\n notification_id: number;\n}\n\ninterface INotificationsResponse {\n notifications: INotification[];\n current_page: number;\n has_more: boolean;\n next_page: number;\n total_count: number;\n}\n\ninterface INotificationProps {\n info: TUser;\n show: boolean;\n toggleDropDown: (type: EDropdown) => void;\n isMobile?: boolean;\n token?: string;\n transparentNav?: boolean;\n}\n\nconst Notifications: React.FC = ({\n info,\n show,\n toggleDropDown,\n isMobile,\n token = '',\n transparentNav,\n}) => {\n const [notifications, setNotifications] = useState([]);\n const [notificationCount, setNotificationCount] = useState(0);\n const [isOpen, setIsOpen] = useState(false);\n const [page, setPage] = useState(1);\n const [hasMore, setHasMore] = useState(true);\n const [loading, setLoading] = useState(false);\n\n const handleClick = () => {\n setIsOpen(!isOpen);\n toggleDropDown(EDropdown.notification);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n toggleDropDown(EDropdown.notification);\n };\n\n const base = 'https://stingray-app-tx5jj.ondigitalocean.app';\n\n const getNotifications = async () => {\n try {\n setLoading(true);\n const response = await fetch(\n base +\n `/api/notifications?page=${page}&page_size=5&user_id=${info._id}`,\n {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n },\n );\n if (!response.ok) {\n throw new Error('Failed to fetch notifications');\n }\n\n const data: INotificationsResponse = await response.json();\n\n setHasMore(data.has_more);\n // @ts-ignore\n setNotifications((prevNotifications) => {\n try {\n const updatedNotifications =\n page === 1\n ? data.notifications\n : [...prevNotifications, ...data.notifications];\n\n // Sort notifications by created_at in descending order\n const sortedNotifications = updatedNotifications.sort(\n (a, b) =>\n new Date(b.created_at).getTime() -\n new Date(a.created_at).getTime(),\n );\n\n // Update the notification count\n setNotificationCount(sortedNotifications.length);\n\n return sortedNotifications;\n } catch (error) {\n console.error('Error updating notifications:', error);\n return prevNotifications; // Return the previous state in case of an error\n }\n });\n } catch (error) {\n console.error('Error fetching notifications:', error);\n } finally {\n setLoading(false);\n }\n };\n\n // useEffect(() => {\n // const interval = setInterval(() => {\n // getNotifications();\n // }, 60000); // Check for new notifications every 60 seconds\n\n // return () => clearInterval(interval);\n // }, []);\n\n useEffect(() => {\n getNotifications();\n }, [page]);\n\n const DeleteNotification = async (id: number) => {\n try {\n const response = await fetch(\n base + `/api/notifications?notification_id=${id}&user_id=${info._id}`,\n {\n method: 'DELETE',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n },\n );\n\n if (!response.ok) {\n throw new Error('Failed to delete notification');\n }\n\n setNotifications((prevNotifications) =>\n prevNotifications.filter(\n (notification) => notification.notification_id !== id,\n ),\n );\n } catch (error) {\n console.error('Error deleting notification:', error);\n }\n };\n\n async function MarkAsRead(id: number) {\n try {\n const response = await fetch(\n base +\n `/api/notifications/mark-as-read?notification_id=${id}&user_id=${info._id}`,\n {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n },\n );\n\n if (!response.ok) {\n throw new Error('Failed to mark notification as read');\n }\n } catch (error) {\n console.error('Error marking notification as read:', error);\n }\n }\n\n function HandleLoadMore() {\n setPage(page + 1);\n }\n\n function Refresh() {\n setNotifications([]);\n setHasMore(true);\n setPage(1);\n getNotifications();\n }\n return (\n \n \n
\n \n {notificationCount > 0 && (\n \n {notificationCount}\n unread messages\n \n )}\n
\n \n\n {show && (\n \n
\n \n Notifications ({notificationCount})\n \n \n
\n {notifications.length > 0 ? (\n notifications.map((notification, index) => (\n // @ts-ignore\n \n ))\n ) : (\n \n No notifications\n \n )}\n {hasMore && (\n \n {loading ? 'Loading...' : 'Load More'}\n \n )}\n \n )}\n \n );\n};\n\nexport default Notifications;\n\ninterface INotificationProps {\n Notification: INotification;\n index: number;\n user_id: string;\n deleteNotification: (id: number) => void;\n markAsRead: (id: number) => void;\n}\n\nexport const NotificationCard: React.FC = ({\n Notification,\n index,\n user_id,\n deleteNotification,\n markAsRead,\n}) => {\n const notificationDate = new Date(Notification.created_at);\n const displayDate = isNaN(notificationDate.getTime())\n ? new Date()\n : notificationDate;\n\n async function handleClick() {\n markAsRead(Notification.notification_id);\n window.open(Notification.link, '_blank');\n }\n\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className=\"p-2 rounded-lg\"\n onClick={handleClick}>\n \n
\n \n {Notification.title}\n \n \n {Notification.message}\n \n \n {formatDistanceToNow(displayDate)} ago\n \n
\n
\n {\n e.stopPropagation();\n deleteNotification(Notification.notification_id);\n }}\n />\n
\n
\n \n );\n};\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 SearchComp from '@/components/Header/components/search';\n\nimport SolutionsDropDown from './Solutions';\nimport ResourcesDropDown from './Resources';\nimport NavItems from './components/NavItems';\nimport HelpComp from './Help';\n// getTokenFromNextAuth;\nimport { getTokenFromNextAuth } from '@/utils/next-auth';\nimport Create from './Create';\nimport ChromeWebstore from './ChromeStore';\nimport { FaBars } from 'react-icons/fa';\nimport { getUserInfo } from '@/utils/next-auth';\nimport { FaTrophy, FaFire } from 'react-icons/fa6';\nimport Notifications from './Notifications';\n\nimport './index.scss';\n\ninterface User {\n name: string;\n email: string;\n image: string;\n}\n\ninterface UserInfo {\n user: User;\n expires: string;\n name: string;\n email: string;\n picture: string;\n sub: string;\n verified: boolean;\n type: number;\n source: string;\n is_blocked: boolean;\n _id: string;\n __v: number;\n createdAt: string;\n updatedAt: string;\n google_id: string;\n is_admin: boolean;\n id: string;\n token: string;\n iat: number;\n exp: number;\n jti: string;\n}\n\nconst mainSite = 'https://selfpublishingtitans.com';\n\nexport enum EDropdown {\n notification = 'notification',\n create = 'create',\n help = 'help',\n chrome = 'chrome',\n}\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\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 /**\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 const [userRank, setUserRank] = useState(0);\n const [totalXp, setTotalXp] = useState(0);\n const [streak, setStreak] = useState(0);\n\n const base = 'https://stingray-app-tx5jj.ondigitalocean.app';\n\n async function get_user_rank(duration, user_id) {\n try {\n const url = `${base}/api/usage/leaderboard/${duration}/${user_id}`;\n const response = await fetch(url);\n const data = await response.json();\n return { data };\n } catch (error) {}\n }\n\n async function get_total_points(user_id) {\n try {\n const url = base + `/api/usage/xp/total/${user_id}`;\n const response = await fetch(url);\n const data = await response.json();\n return { data };\n } catch (error) {}\n }\n\n async function get_current_streak(user_id) {\n try {\n const url = `${base}/api/usage/streak/${user_id}`;\n const response = await fetch(url);\n const data = await response.json();\n return { data };\n } catch (error) {}\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\n const fetchUserStat = async (user_id: string) => {\n console.log('user id is', user_id);\n\n if (!user_id) {\n return;\n }\n\n try {\n const rankData = await get_user_rank('this_month' as any, user_id);\n console.log('rank data is', rankData);\n // @ts-ignore\n setUserRank(rankData?.data?.rank || 0);\n\n const xpData = await get_total_points(user_id);\n // @ts-ignore\n setTotalXp(xpData?.data?.total_xp || 0);\n\n const streadData = await get_current_streak(user_id);\n // @ts-ignore\n setStreak(streadData?.data?.current_streak || 0);\n } catch (error) {}\n };\n\n const [info, setInfo] = useState(null);\n\n // useEffect(() => {\n // fetchUserStat();\n // }, [user_id]);\n\n async function fetchUserInfo() {\n const _info = await getUserInfo();\n if (_info) {\n setInfo(_info as UserInfo);\n fetchUserStat(_info._id);\n }\n }\n\n useEffect(() => {\n fetchUserInfo();\n }, []);\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 enum DropDownTypes {\n services = 'services',\n resources = 'resources',\n }\n\n const [selectedDropDown, setSelectedDropDown] =\n useState(null);\n\n const toggleDropDown = (type: DropDownTypes) => {\n if (selectedDropDown === type) {\n setSelectedDropDown(null);\n } else {\n setSelectedDropDown(type);\n }\n };\n\n const [activeDropDown, setActiveDropDown] = useState({\n notification: false,\n create: false,\n help: false,\n chrome: false,\n });\n\n const toggleDropDown2 = (type: EDropdown) => {\n setActiveDropDown((prevState) => {\n const newState = Object.keys(prevState).reduce(\n (acc, key) => {\n acc[key as EDropdown] = false;\n return acc;\n },\n {} as { [key in EDropdown]: boolean },\n );\n\n return {\n ...newState,\n [type]: !prevState[type],\n };\n });\n };\n\n return (\n \n \n
\n \n \n \n \n \n \n\n {/* \n \n */}\n\n setSelectedDropDown(null)}\n onMouseEnter={() => toggleDropDown(DropDownTypes.services)}>\n \n
\n\n setSelectedDropDown(null)}\n onMouseEnter={() => toggleDropDown(DropDownTypes.resources)}>\n \n \n \n \n Pricing\n \n \n \n \n Testimonials\n \n \n\n \n \n {t('btns.add_question')}\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 )}\n\n \n \n \n \n {user?.username && info && (\n // {true && (\n \n )}\n\n {user?.username ? (\n // \n <>\n floppyNavigation.storageLoginRedirect()}\n to={mainSite + '/login?next=' + window.location}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\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 { FC } from 'react';\n\nimport { base64ToSvg } from '@/utils';\n\ninterface IProps {\n svgClassName?: string;\n base64: string | undefined;\n}\nconst Icon: FC = ({ base64 = '', svgClassName = '' }) => {\n return base64 ? (\n \n ) : null;\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable no-nested-ternary */\nimport { FC, useState, useEffect, useRef } from 'react';\nimport { Dropdown, Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { marked } from 'marked';\nimport classNames from 'classnames';\n\nimport { useTagModal, useToast } from '@/hooks';\nimport type * as Type from '@/common/interface';\nimport { queryTags, useUserPermission } from '@/services';\n// import { OutsideClickListener } from '@/components';\n\nimport './index.scss';\n\ninterface IProps {\n value?: Type.Tag[];\n onChange?: (tags: Type.Tag[]) => void;\n hiddenDescription?: boolean;\n hiddenCreateBtn?: boolean;\n maxTagLength?: number;\n showRequiredTag?: boolean;\n autoFocus?: boolean;\n isInvalid?: boolean;\n tagStyleMode?: 'default' | 'simple';\n formText?: string;\n errMsg?: string;\n}\n\nlet timer;\n\nconst TagSelector: FC = ({\n value = [],\n onChange,\n hiddenDescription = false,\n hiddenCreateBtn = false,\n maxTagLength = 0,\n showRequiredTag = false,\n autoFocus = false,\n isInvalid = false,\n formText = '',\n tagStyleMode = 'default',\n errMsg = '',\n}) => {\n const containerRef = useRef(null);\n const inputRef = useRef(null);\n const [initialized, setInitialized] = useState(false);\n const [focusState, setFocusState] = useState(autoFocus);\n const [showMenu, setShowMenu] = useState(false);\n const [currentIndex, setCurrentIndex] = useState(0);\n const [repeatIndex, setRepeatIndex] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n const [tags, setTags] = useState(null);\n const [requiredTags, setRequiredTags] = useState(null);\n const { t } = useTranslation('translation', { keyPrefix: 'tag_selector' });\n const { data: userPermission } = useUserPermission('tag.add');\n const canAddTag =\n (maxTagLength > 0 && value?.length < maxTagLength) || maxTagLength === 0;\n const toast = useToast();\n const tagModal = useTagModal({\n onConfirm: (data) => {\n if (!(onChange instanceof Function)) {\n return;\n }\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === data.slug_name.toLowerCase(),\n );\n if (findIndex === -1) {\n onChange([\n ...value,\n {\n ...data,\n parsed_text: marked(data.original_text),\n },\n ]);\n setSearchValue('');\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n },\n });\n\n const filterTags = (result) => {\n const tagArray: Type.Tag[] = [];\n result?.forEach((item) => {\n const findIndex = value.findIndex((v) => {\n const tagName1 = v.slug_name.toLowerCase();\n const tagName2 =\n typeof item === 'string'\n ? item.toLowerCase()\n : item.slug_name.toLowerCase();\n\n return tagName1 === tagName2;\n });\n\n if (findIndex === -1) {\n tagArray.push(typeof item === 'string' ? { slug_name: item } : item);\n }\n });\n return tagArray;\n };\n\n const handleMenuShow = (bol: boolean) => {\n setShowMenu(bol);\n const ele = document.getElementById('a-dropdown-menu');\n if (ele) {\n if (bol) {\n ele.classList.add('show');\n } else {\n ele.classList.remove('show');\n }\n }\n };\n\n const handleTagSelectorFocus = () => {\n setFocusState(true);\n inputRef.current?.focus();\n };\n\n const handleTagSelectorBlur = () => {\n setFocusState(false);\n setCurrentIndex(0);\n handleMenuShow(false);\n };\n\n const fetchTags = (str) => {\n if (!showRequiredTag && !str) {\n setTags([]);\n return;\n }\n queryTags(str).then((res) => {\n const tagArray: Type.Tag[] = filterTags(res || []);\n if (str === '') {\n setRequiredTags(res);\n }\n handleMenuShow(tagArray.length > 0);\n setTags(tagArray);\n });\n };\n\n const resetSearch = () => {\n setCurrentIndex(0);\n setSearchValue('');\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n };\n const handleClick = (val: Type.Tag) => {\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === val.slug_name.toLowerCase(),\n );\n if (onChange instanceof Function && findIndex === -1) {\n onChange([\n ...value,\n {\n original_text: '',\n parsed_text: '',\n ...val,\n },\n ]);\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n resetSearch();\n };\n\n const handleRemove = (val: Type.Tag) => {\n if (onChange instanceof Function) {\n onChange(\n value.filter((v) => {\n if (v instanceof Object) {\n return v.slug_name.toLowerCase() !== val.slug_name.toLowerCase();\n }\n return v !== val;\n }),\n );\n }\n };\n\n const handleSearch = async (e: React.ChangeEvent) => {\n const searchStr = e.currentTarget.value.replace(';', '');\n onChange?.([...value]);\n setSearchValue(searchStr);\n fetchTags(searchStr);\n };\n\n const scrollIntoView = (targetId) => {\n const container = document.getElementById('a-dropdown-menu') as HTMLElement;\n const ele = document.getElementById(targetId) as HTMLElement;\n if (ele?.offsetTop >= 104) {\n container.scrollTo({\n top: ele.offsetTop - 104,\n behavior: 'smooth',\n });\n }\n };\n\n const handleKeyDown = (e) => {\n e.stopPropagation();\n const { keyCode } = e;\n if (keyCode === 9) {\n handleTagSelectorBlur();\n return;\n }\n if (value.length > 0 && keyCode === 8 && !searchValue) {\n handleRemove(value[value.length - 1]);\n }\n\n if (!tags) {\n return;\n }\n\n if (keyCode === 38 && currentIndex > 0) {\n scrollIntoView(tags[currentIndex - 1].slug_name);\n setCurrentIndex(currentIndex - 1);\n }\n if (keyCode === 40 && currentIndex < tags.length - 1) {\n scrollIntoView(tags[currentIndex + 1].slug_name);\n setCurrentIndex(currentIndex + 1);\n }\n\n if (keyCode === 13 && currentIndex > -1) {\n e.preventDefault();\n if (tags.length === 0 && searchValue) {\n tagModal.onShow(searchValue);\n return;\n }\n if (currentIndex <= tags.length - 1) {\n handleClick(tags[currentIndex]);\n // if (currentIndex === tags.length - 1 && currentIndex > 0) {\n // setCurrentIndex(currentIndex - 1);\n // }\n }\n }\n };\n\n const handleCreate = () => {\n const tagAddPermission = userPermission?.['tag.add'];\n if (!tagAddPermission || tagAddPermission?.has_permission) {\n tagModal.onShow(searchValue);\n } else if (tagAddPermission?.no_permission_tip) {\n toast.onShow({\n msg: tagAddPermission.no_permission_tip,\n variant: 'danger',\n });\n }\n };\n\n const handleClickToggle = () => {\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n };\n\n useEffect(() => {\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n }, [value]);\n\n useEffect(() => {\n if (focusState && showRequiredTag) {\n fetchTags(searchValue);\n inputRef.current?.focus();\n }\n }, [focusState]);\n\n useEffect(() => {\n setInitialized(true);\n }, []);\n\n useEffect(() => {\n const handleOutsideClick = (event) => {\n if (\n initialized &&\n containerRef.current &&\n !containerRef.current?.contains(event.target)\n ) {\n handleTagSelectorBlur();\n }\n };\n document.addEventListener('click', handleOutsideClick);\n return () => {\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [initialized]);\n\n useEffect(() => {\n // menu show\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (focusState) {\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n\n if ((tags && tags?.length < 5) || maxTagLength === 0) {\n inputRef.current?.focus();\n }\n }\n }, [focusState, tags, hiddenCreateBtn, searchValue, maxTagLength]);\n\n useEffect(() => {\n // set width of tag Form.Control\n const ele = document.querySelector('.a-input-width') as HTMLElement;\n const elePlaceholder = document.querySelector(\n '.a-placeholder-width',\n ) as HTMLElement;\n if (ele.offsetWidth > 60) {\n inputRef.current?.setAttribute(\n 'style',\n `width:${ele.offsetWidth + 16}px`,\n );\n } else {\n inputRef.current?.setAttribute(\n 'style',\n `width: ${elePlaceholder.offsetWidth + 7}px`,\n );\n }\n }, [searchValue]);\n\n return (\n
\n \n
\n \n {value?.map((item, index) => {\n return (\n \n {item.display_name}\n handleRemove(item)}>\n ×\n \n \n );\n })}\n {canAddTag ? (\n \n ) : (\n \n )}\n {searchValue}\n {t('add_btn')}\n
\n
\n \n {!searchValue &&\n showRequiredTag &&\n tags &&\n tags.filter((v) => v.recommend)?.length > 0 && (\n
{t('tag_required_text')}
\n )}\n\n {tags?.map((item, index) => {\n return (\n handleClick(item)}>\n {item.display_name}\n \n );\n })}\n {searchValue && tags?.length === 0 && (\n \n {t('no_result')}\n \n )}\n {!hiddenCreateBtn && searchValue && (\n \n + {t('create_btn')}\n \n )}\n
\n \n {!hiddenDescription && {formText || t('hint')}}\n {errMsg}\n \n );\n};\n\nexport default TagSelector;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { Button, Col } from 'react-bootstrap';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport type { ImgCodeReq, FormDataType } from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { resendEmail } from '@/services';\nimport { handleFormError } from '@/utils';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\n\ninterface IProps {\n visible?: boolean;\n}\n\nconst Index: React.FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'inactive' });\n const [isSuccess, setSuccess] = useState(false);\n const { e_mail } = loggedUserInfoStore((state) => state.user);\n const [formData, setFormData] = useState({\n captcha_code: {\n value: '',\n isInvalid: false,\n errorMsg: '',\n },\n });\n\n const emailCaptcha = useCaptchaPlugin('email');\n\n const submit = () => {\n let req: ImgCodeReq = {};\n const imgCode = emailCaptcha?.getCaptcha();\n if (imgCode?.verify) {\n req = {\n captcha_code: imgCode.captcha_code,\n captcha_id: imgCode.captcha_id,\n };\n }\n resendEmail(req)\n .then(async () => {\n await emailCaptcha?.close();\n setSuccess(true);\n })\n .catch((err) => {\n if (err.isError) {\n emailCaptcha?.handleCaptchaError(err.list);\n const data = handleFormError(err, formData);\n setFormData({ ...data });\n }\n });\n };\n\n const onSentEmail = (evt) => {\n evt.preventDefault();\n if (!emailCaptcha) {\n submit();\n return;\n }\n emailCaptcha.check(() => {\n submit();\n });\n };\n\n return (\n
\n {isSuccess ? (\n

\n }}\n />\n

\n ) : (\n <>\n

\n }}\n />\n

\n

{t('info')}

\n \n \n {t('change_btn_name')}\n \n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { uploadImage } from '@/services';\nimport * as Type from '@/common/interface';\n\ninterface IProps {\n type: Type.UploadType;\n className?: classnames.Argument;\n children?: React.ReactNode;\n acceptType?: string;\n disabled?: boolean;\n uploadCallback: (img: string) => void;\n}\n\nconst Index: React.FC = ({\n type,\n uploadCallback,\n children,\n acceptType = '',\n className,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [status, setStatus] = useState(false);\n\n const onChange = (e: any) => {\n if (status) {\n return;\n }\n if (e.target.files[0]) {\n // const fileSize = e.target.files[0].size || 0;\n\n // if (maxSize && fileSize / 1024 / 1024 > 2) {\n // Modal.confirm({\n // content: '请上传小于 2M 的图片',\n // });\n // return;\n // }\n setStatus(true);\n uploadImage({ file: e.target.files[0], type })\n .then((res) => {\n uploadCallback(res);\n })\n .finally(() => {\n setStatus(false);\n });\n }\n };\n\n return (\n \n {children || (status ? t('upload_img.loading') : t('upload_img.name'))}\n \n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Button, ButtonGroup } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { loggedUserInfoStore } from '@/stores';\nimport { useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { bookmark, postVote } from '@/services';\nimport * as Types from '@/common/interface';\n\ninterface Props {\n className?: string;\n source: 'question' | 'answer';\n data: {\n id: string;\n votesCount: number;\n isLike: boolean;\n isHate: boolean;\n hideCollect?: boolean;\n collected: boolean;\n collectCount: number;\n username: string;\n };\n}\n\nconst Index: FC = ({ className, data, source }) => {\n const [votes, setVotes] = useState(0);\n const [like, setLike] = useState(false);\n const [hate, setHated] = useState(false);\n const [bookmarkState, setBookmark] = useState({\n state: data?.collected,\n count: data?.collectCount,\n });\n const { username = '' } = loggedUserInfoStore((state) => state.user);\n const toast = useToast();\n const { t } = useTranslation();\n const vCaptcha = useCaptchaPlugin('vote');\n\n useEffect(() => {\n if (data) {\n setVotes(data.votesCount);\n setLike(data.isLike);\n setHated(data.isHate);\n setBookmark({\n state: data?.collected,\n count: data?.collectCount,\n });\n }\n }, []);\n\n const submitVote = (type) => {\n const isCancel = (type === 'up' && like) || (type === 'down' && hate);\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq?.(imgCode);\n\n postVote(\n {\n object_id: data?.id,\n is_cancel: isCancel,\n ...imgCode,\n },\n type,\n )\n .then(async (res) => {\n await vCaptcha?.close();\n setVotes(res.votes);\n setLike(res.vote_status === 'vote_up');\n setHated(res.vote_status === 'vote_down');\n })\n .catch((err) => {\n if (err?.isError) {\n vCaptcha?.handleCaptchaError(err.list);\n }\n const errMsg = err?.value;\n if (errMsg) {\n toast.onShow({\n msg: errMsg,\n variant: 'danger',\n });\n }\n });\n };\n\n const handleVote = (type: 'up' | 'down') => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (data.username === username) {\n toast.onShow({\n msg: t('cannot_vote_for_self'),\n variant: 'danger',\n });\n return;\n }\n\n if (!vCaptcha) {\n submitVote(type);\n return;\n }\n\n vCaptcha.check(() => {\n submitVote(type);\n });\n };\n\n const handleBookmark = () => {\n if (!tryNormalLogged(true)) {\n return;\n }\n bookmark({\n group_id: '0',\n object_id: data?.id,\n bookmark: !bookmarkState.state,\n }).then((res) => {\n setBookmark({\n state: !bookmarkState.state,\n count: res.object_collection_count,\n });\n });\n };\n\n return (\n
\n \n handleVote('up')}>\n \n \n \n handleVote('down')}>\n \n \n \n {!data?.hideCollect && (\n \n \n {bookmarkState.count}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Tag } from '@/common/interface';\nimport { pathFactory } from '@/router/pathFactory';\n\ninterface IProps {\n data: Tag;\n href?: string;\n className?: string;\n textClassName?: string;\n}\n\nconst Index: FC = ({\n data,\n href,\n className = '',\n textClassName = '',\n}) => {\n href ||= pathFactory.tagLanding(data.slug_name);\n\n return (\n \n \n {data.display_name || data.slug_name}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Dropdown, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { FacebookShareButton, TwitterShareButton } from 'next-share';\nimport copy from 'copy-to-clipboard';\n\nimport { BASE_ORIGIN } from '@/router/alias';\nimport { loggedUserInfoStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: any;\n aid?: any;\n title: string;\n // slugTitle: string;\n}\n\nconst Index: FC = ({ type, qid, aid, title }) => {\n const user = loggedUserInfoStore((state) => state.user);\n const [show, setShow] = useState(false);\n const [showTip, setShowTip] = useState(false);\n const [canSystemShare, setSystemShareState] = useState(false);\n const { t } = useTranslation();\n let baseUrl =\n type === 'question'\n ? `${BASE_ORIGIN}/questions/${qid}`\n : `${BASE_ORIGIN}/questions/${qid}/${aid}`;\n if (user.id) {\n baseUrl = `${baseUrl}?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\ninterface Props {\n data;\n i18nKeyPrefix: string;\n currentSort: string;\n sortKey?: string;\n className?: string;\n pathname?: string;\n wrapClassName?: string;\n}\nconst MAX_BUTTON_COUNT = 3;\nconst Index: FC = ({\n data = [],\n currentSort = '',\n sortKey = 'order',\n i18nKeyPrefix = '',\n className = '',\n pathname = '',\n wrapClassName = '',\n}) => {\n const [searchParams, setUrlSearchParams] = useSearchParams();\n const navigate = useNavigate();\n\n const { t } = useTranslation('translation', {\n keyPrefix: i18nKeyPrefix,\n });\n\n const handleParams = (order): string => {\n searchParams.delete('page');\n searchParams.set(sortKey, order);\n const searchStr = searchParams.toString();\n return `?${searchStr}`;\n };\n\n const handleClick = (e, type) => {\n const str = handleParams(type);\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n if (pathname) {\n navigate(`${pathname}${str}`);\n } else {\n setUrlSearchParams(str);\n }\n }\n };\n\n const filteredData = data.filter((_, index) => index > MAX_BUTTON_COUNT - 2);\n const currentBtn = filteredData.find((btn) => {\n return (typeof btn === 'string' ? btn : btn.name) === currentSort;\n });\n return (\n \n {data.map((btn, index) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n MAX_BUTTON_COUNT &&\n index > MAX_BUTTON_COUNT - 2 &&\n 'd-none d-md-block',\n className,\n )}\n style={\n data.length > MAX_BUTTON_COUNT && index === data.length - 1\n ? {\n borderTopRightRadius: '0.25rem',\n borderBottomRightRadius: '0.25rem',\n }\n : {}\n }\n href={\n pathname\n ? `${REACT_BASE_PATH}${pathname}${handleParams(key)}`\n : handleParams(key)\n }\n onClick={(evt) => handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n {data.length > MAX_BUTTON_COUNT && (\n \n {filteredData.map((btn) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Tag } from '@/components';\nimport { diffText } from '@/utils';\n\ninterface Props {\n objectType: string | 'question' | 'answer' | 'tag';\n newData: Record;\n oldData?: Record;\n className?: string;\n opts?: Partial<{\n showTitle: boolean;\n showTagUrlSlug: boolean;\n }>;\n}\n\nconst Index: FC = ({\n objectType,\n newData,\n oldData,\n className = '',\n opts = {\n showTitle: true,\n showTagUrlSlug: true,\n },\n}) => {\n if (!newData) return null;\n\n let tag = newData.tags;\n if (objectType === 'question' && oldData?.tags) {\n const addTags = newData.tags.filter(\n (c) => !oldData?.tags?.find((p) => p.slug_name === c.slug_name),\n );\n\n let deleteTags = oldData?.tags\n .filter((c) => !newData?.tags.find((p) => p.slug_name === c.slug_name))\n .map((v) => ({ ...v, state: 'delete' }));\n\n deleteTags = deleteTags?.map((v) => {\n const index = oldData?.tags?.findIndex(\n (c) => c.slug_name === v.slug_name,\n );\n return {\n ...v,\n pre_index: index,\n };\n });\n\n tag = newData.tags.map((item) => {\n const find = addTags.find((c) => c.slug_name === item.slug_name);\n if (find) {\n return {\n ...find,\n state: 'add',\n };\n }\n return item;\n });\n\n deleteTags.forEach((v) => {\n tag.splice(v.pre_index, 0, v);\n });\n }\n\n return (\n
\n {objectType !== 'answer' && opts?.showTitle && (\n \n )}\n {objectType === 'question' && (\n
\n {tag?.map((item) => {\n return (\n \n );\n })}\n
\n )}\n {objectType === 'tag' && opts?.showTagUrlSlug && (\n \n )}\n \n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst CUSTOM_MARK_HEAD = 'customize_head';\nconst CUSTOM_MARK_HEADER = 'customize_header';\nconst CUSTOM_MARK_FOOTER = 'customize_footer';\n\nconst makeMarker = (mark) => {\n return ``;\n};\n\nconst ActivateScriptNodes = (el, part) => {\n let startMarkNode;\n const scriptList: HTMLScriptElement[] = [];\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n // this is the endMarkNode\n break;\n }\n }\n if (\n startMarkNode &&\n node.nodeType === 1 &&\n node.nodeName.toLowerCase() === 'script'\n ) {\n scriptList.push(node);\n }\n }\n scriptList?.forEach((so) => {\n const script = document.createElement('script');\n script.text = `(() => {${so.text}})();`;\n for (let i = 0; i < so.attributes.length; i += 1) {\n const attr = so.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n el.replaceChild(script, so);\n });\n};\n\ntype pos = 'afterbegin' | 'beforeend';\nconst renderCustomArea = (el, part, pos: pos, content: string = '') => {\n let startMarkNode;\n let endMarkNode;\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n endMarkNode = node;\n break;\n }\n }\n }\n\n if (startMarkNode && endMarkNode) {\n while (\n startMarkNode.nextSibling &&\n startMarkNode.nextSibling !== endMarkNode\n ) {\n el.removeChild(startMarkNode.nextSibling);\n }\n }\n if (startMarkNode) {\n el.removeChild(startMarkNode);\n }\n if (endMarkNode) {\n el.removeChild(endMarkNode);\n }\n el.insertAdjacentHTML(pos, makeMarker(part));\n el.insertAdjacentHTML(pos, content);\n el.insertAdjacentHTML(pos, makeMarker(part));\n ActivateScriptNodes(el, part);\n};\nconst handleCustomHead = (content) => {\n const el = document.head;\n renderCustomArea(el, CUSTOM_MARK_HEAD, 'beforeend', content);\n};\n\nconst handleCustomHeader = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_HEADER, 'afterbegin', content);\n};\n\nconst handleCustomFooter = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_FOOTER, 'beforeend', content);\n};\n\nconst Index: FC = () => {\n const { custom_head, custom_header, custom_footer } = customizeStore(\n (state) => state,\n );\n useEffect(() => {\n const isSeo = document.querySelector('meta[name=\"go-template\"]');\n if (!isSeo) {\n setTimeout(() => {\n handleCustomHead(custom_head);\n }, 1000);\n handleCustomHeader(custom_header);\n handleCustomFooter(custom_footer);\n }\n }, [custom_head, custom_header, custom_footer]);\n return null;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport Color from 'color';\n\nimport { shiftColor, tintColor, shadeColor } from '@/utils';\nimport { themeSettingStore } from '@/stores';\n\nconst Index: FC = () => {\n const { theme, theme_config } = themeSettingStore((_) => _);\n let primaryColor;\n if (theme_config?.[theme]?.primary_color) {\n primaryColor = Color(theme_config[theme].primary_color);\n }\n const setThemeColor = () => {\n const themeMetaNode = document.querySelector('meta[name=\"theme-color\"]');\n if (themeMetaNode) {\n const themeColor = primaryColor ? primaryColor.hex() : '#0033ff';\n themeMetaNode.setAttribute('content', themeColor);\n }\n };\n useLayoutEffect(() => {\n setThemeColor();\n }, [primaryColor]);\n\n return (\n \n {primaryColor && (\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport { REACT_BASE_PATH } from '@/router/alias';\nimport { brandingStore, pageTagStore, siteInfoStore } from '@/stores';\nimport { getCurrentLang } from '@/utils/localize';\n\nconst doInsertCustomCSS = !document.querySelector('link[href*=\"custom.css\"]');\n\nconst Index: FC = () => {\n const { favicon, square_icon } = brandingStore((state) => state.branding);\n const { pageTitle, keywords, description } = pageTagStore(\n (state) => state.items,\n );\n const appVersion = siteInfoStore((_) => _.version);\n const hashVersion = siteInfoStore((_) => _.revision);\n const siteName = siteInfoStore((_) => _.siteInfo).name;\n const setAppGenerator = () => {\n if (!appVersion) {\n return;\n }\n const generatorMetaNode = document.querySelector('meta[name=\"generator\"]');\n if (generatorMetaNode) {\n generatorMetaNode.setAttribute(\n 'content',\n `Answer ${appVersion} - https://github.com/apache/incubator-answer version ${hashVersion}`,\n );\n }\n };\n const setDocTitle = () => {\n try {\n if (pageTitle) {\n document.title = pageTitle;\n }\n // eslint-disable-next-line no-empty\n } catch (ex) {}\n };\n const currentLang = getCurrentLang();\n const setDocLang = () => {\n if (currentLang) {\n document.documentElement.setAttribute(\n 'lang',\n currentLang.replace('_', '-'),\n );\n }\n };\n // properties used for social media tags\n const openGraphType = 'website';\n const twitterType = 'summary';\n const { href } = window.location;\n const { hostname } = new URL(href);\n\n useEffect(() => {\n setDocLang();\n }, [currentLang]);\n useEffect(() => {\n setAppGenerator();\n }, [appVersion]);\n useLayoutEffect(() => {\n setDocTitle();\n }, [pageTitle]);\n return (\n \n \n \n \n {pageTitle}\n {keywords && }\n {description && }\n {doInsertCustomCSS && (\n \n )}\n {/* Social media meta share tags start here */}\n \n \n \n \n {description && }\n \n \n \n {description && }\n \n {/* Social media meta share tags end here */}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { ListGroupItem } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 10 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n\n \n\n \n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Col, Card } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 20 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n \n \n\n \n
\n \n \n
\n
\n
\n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { siteInfoStore } from '@/stores';\n\ninterface Props {\n as?: React.ElementType;\n className?: string;\n}\n\nconst Index: FC = ({ as: Component = 'h3', className = 'mb-5' }) => {\n const { t } = useTranslation();\n const { name: siteName } = siteInfoStore((_) => _.siteInfo);\n return (\n \n {t('website_welcome', { site_name: siteName })}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classname from 'classnames';\n\nimport { Icon } from '@/components';\n\ninterface Props {\n data: {\n votes: number;\n answers: number;\n views: number;\n };\n showVotes?: boolean;\n showAnswers?: boolean;\n showViews?: boolean;\n showAccepted?: boolean;\n isAccepted?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n data,\n showVotes = true,\n showAnswers = true,\n showViews = true,\n isAccepted = false,\n showAccepted = false,\n className = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'counts' });\n\n return (\n
\n {showVotes && (\n
\n \n \n {data.votes} {t('votes')}\n \n
\n )}\n\n {showAccepted && (\n
\n \n {t('accepted')}\n
\n )}\n\n {showAnswers && (\n \n {isAccepted ? (\n \n ) : (\n \n )}\n \n {data.answers} {t('answers')}\n \n
\n )}\n {showViews && (\n \n \n \n {data.views} {t('views')}\n \n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { usePageTags } from '@/hooks';\n\nconst Index = ({\n httpCode = '',\n title = '',\n errMsg = '',\n showErrorCode = true,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'page_error' });\n useEffect(() => {\n // auto height of container\n const pageWrap = document.querySelector('.page-wrap') as HTMLElement;\n if (pageWrap) {\n pageWrap.style.display = 'contents';\n }\n\n return () => {\n if (pageWrap) {\n pageWrap.style.display = 'block';\n }\n };\n }, []);\n\n usePageTags({\n title: t(`http_${httpCode}`, { keyPrefix: 'page_title' }),\n });\n\n return (\n
\n \n (=‘x‘=)\n
\n {showErrorCode && (\n

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

\n )}\n {title &&

{title}

}\n
\n {errMsg || t(`desc_${httpCode}`)}\n
\n
\n \n {t('back_home')}\n \n
\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst Index = () => {\n const { custom_sidebar } = customizeStore((state) => state);\n if (!custom_sidebar) return null;\n return
;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Col, Nav } from 'react-bootstrap';\nimport { NavLink, useLocation, useMatch } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useState } from 'react';\nimport SolutionsData from '../Header/solutionsData';\nimport ResourcesData from '../Header/ResourcesData';\nimport { Link } from 'react-router-dom';\nimport { Collapse } from 'react-bootstrap';\nimport { MdKeyboardArrowDown } from 'react-icons/md';\n\nimport classnames from 'classnames';\n\nimport { loggedUserInfoStore, sideNavStore } from '@/stores';\nimport { Icon } from '@/components';\nimport './index.scss';\n\nconst mainSite = 'https://selfpublishingtitans.com';\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 const [isShowDropDown, setIsShowDropDown] = useState([false, false, false]);\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 const [isShowChildDropDown, setIsShowChildDropDown] = useState({});\n const toggleChildDropdown = (index) => {\n setIsShowChildDropDown((prevState) => {\n const newState = Object.keys(prevState).reduce((acc, key) => {\n acc[key] = false;\n return acc;\n }, {});\n newState[index] = !prevState[index];\n return newState;\n });\n };\n\n function NavLink2({ href, name, refresh, target }) {\n return refresh ? (\n \n \n {name}\n \n \n ) : (\n
  • \n \n {name}\n \n
  • \n );\n }\n\n return (\n \n {/*
    */}\n setIsShowDropDown([!isShowDropDown[0], false, false])}\n className={`d-flex px-3 d-flex d-lg-none mt-4 justify-content-between w-100 `}>\n Tools\n \n
    \n
    \n \n
      \n {SolutionsData.map((dropdownItem, dii) => {\n return (\n \n {\n e.stopPropagation();\n toggleChildDropdown(dii);\n }}>\n

      {dropdownItem.Title}

      \n {/* \n \n */}\n \n
    \n \n \n
      \n {dropdownItem.Categories.map((dropdownItem2, diii) => {\n return (\n
      \n

      \n {dropdownItem2.Heading}\n

      \n {dropdownItem2.Items.map((item, diiii) => {\n return (\n {\n e.stopPropagation();\n }}\n key={diiii}>\n \n
      \n );\n })}\n
    \n );\n })}\n \n \n \n \n );\n })}\n \n \n setIsShowDropDown([false, !isShowDropDown[1], false])}\n className={`d-flex px-3 pb-3 d-lg-none justify-content-between w-100 `}>\n Resources\n \n \n \n
      \n {ResourcesData.map((dropdownItem, dii) => {\n return (\n \n {\n e.stopPropagation();\n toggleChildDropdown(dii);\n }}>\n

      {dropdownItem.Title}

      \n {/* \n \n */}\n \n \n \n \n
        \n {dropdownItem.Categories.map((dropdownItem2, diii) => {\n return (\n
        \n

        \n {dropdownItem2.Heading}\n

        \n {dropdownItem2.Items.map((item, diiii) => {\n return (\n {\n e.stopPropagation();\n }}\n key={diiii}>\n \n
        \n );\n })}\n \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 { 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 || context.onHide();\n onHide == null || 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 || onSelect(eventKeyPassed, e);\n onClick == null || 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 'aria-controls': ariaControls,\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 \"aria-controls\": ariaControls,\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 { getChildRef } from '@restart/ui/utils';\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: getChildRef(children),\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 * 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;\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 || (_meta$originalEvent = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent.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 || 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 || 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 { getChildRef } from '@restart/ui/utils';\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 || onEnter(node, isAppearing);\n }, [onEnter]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: getChildRef(children),\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 || 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 || onHide();\n };\n const handleEscapeKeyDown = e => {\n if (keyboard) {\n onEscapeKeyDown == null || 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 || onEnter(node, isAppearing);\n };\n const handleExit = node => {\n removeStaticModalAnimationRef.current == null || removeStaticModalAnimationRef.current();\n onExit == null || onExit(node);\n };\n const handleEntering = (node, isAppearing) => {\n onEntering == null || 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 || 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 * 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 || popperConfig.onFirstUpdate == null || 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 || 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;\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 || (_popperObj$state = popperObj.state) == null || (_popperObj$state = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state.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 { getChildRef } from '@restart/ui/utils';\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, getChildRef(children));\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 || onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null || onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null || 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 || context.onClose == null || 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 || 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":["Index","type","value","onChange","acceptType","readOnly","imgClassNames","_jsxs","className","children","_jsx","classNames","src","alt","style","maxWidth","maxHeight","ButtonGroup","vertical","UploadImg","uploadCallback","imgPath","disabled","Icon","name","Button","variant","onClick","onRemove","HotQuestions","_questionRes$list","_questionRes$list2","t","useTranslation","keyPrefix","data","questionRes","useHotQuestions","list","length","Card","Header","ListGroup","map","li","ListGroupItem","as","Link","to","pathFactory","questionLanding","id","url_title","action","title","answer_count","accepted_answer_id","count","size","fontSize","onKeyDown","visible","centered","onCancel","onConfirm","cancelText","showCancel","cancelBtnVariant","confirmText","showConfirm","confirmBtnVariant","confirmBtnDisabled","bodyClass","scrollable","Modal","show","onHide","fullscreen","closeButton","Title","Body","Footer","event","React","div","document","createElement","root","ReactDOM","content","onClose","props","render","remove","onOk","e","dangerouslySetInnerHTML","__html","mainSite","update","updateStore","loginToContinueStore","siteInfo","siteInfoStore","_","closeModal","linkClick","evt","stopPropagation","floppyNavigation","storageLoginRedirect","WelcomeTitle","description","window","location","bg1","bg2","timeout","BadgeModal","badge","_badge$icon","user","loggedUserInfoStore","navigate","useNavigate","mutate","useQueryNotificationStatus","handle","async","_bg","_bg2","readNotification","notification_id","badge_award","clearTimeout","destroy","useEffect","DURATION","bgNode","documentElement","body","_document$getElementB","paranetNode","getElementById","parentNode","AnimateGift","elm","width","clientWidth","height","clientHeight","duration","isLoop","setTimeout","innerWidth","innerHeight","url","badge_id","username","icon","startsWith","level","DefaultModal","confirm","QUESTION_ORDER_KEYS","QuestionList","source","order","orderList","isLoading","_data$list","urlSearchParams","useSearchParams","isSkeletonShow","useSkeletonControl","curOrder","get","curPage","Number","orderKeys","QueryGroup","currentSort","pathname","i18nKeyPrefix","QuestionListLoader","Item","pin","NavLink","status","BaseUserCard","operator","showAvatar","FormatTime","time","operated_at","preFix","operation_type","Counts","votes","vote_count","answers","views","view_count","isAccepted","Array","isArray","tags","tag","Tag","slug_name","Empty","Pagination","currentPage","totalSize","pageSize","Form","Label","desc","fieldName","enumValues","enumNames","formData","fieldObject","Select","currentTarget","state","isInvalid","item","index","String","Stack","direction","_fieldObject$value","Check","inline","label","checked","feedback","errorMsg","feedbackType","handleCheck","TIMEZONES","options","option","TimeZonePicker","_Fragment","BrandUpload","handleChange","Control","placeholder","rows","classnames","flex","actionType","formKit","text","iconName","nowrap","clickCallback","_action$loading2","Toast","useToast","setLoading","useState","handleToast","msg","_action$on_complete","on_complete","toast_return_message","onShow","handleAction","request","method","then","resp","message","callback","refresh_form_config","refreshConfig","handleCallback","catch","ex","finally","_action$loading","loading","loadingText","Spinner","animation","InputGroupBtn","formKitWithContext","uiOpt","undefined","prefixText","suffixText","InputGroup","Text","prefixBtnOptions","suffixBtnOptions","SchemaForm","schema","uiSchema","onSubmit","hiddenSubmit","ref","required","properties","excludes","filter","key","console","error","join","keys","Object","forEach","k","_k","_uiSchema$k","_metaProp$enum","fieldVal","metaProp","uiCtrl","_metaProp$enum2","enum","validator","errors","requiredValidator","push","reduce","acc","cur","_uiSchema$cur","_uiSchema$cur$uiOpti","_properties$cur","empty","Function","scrollElementIntoView","syncErrors","syncValidator","promises","_uiSchema$key","_key","promise","Promise","allSettled","results","result","reason","useImperativeHandle","isEmpty","noValidate","preventDefault","widget","fieldState","class_name","uiSimplify","simplify","groupClassName","field_class_name","Group","controlId","hidden","Legend","Switch","Timezone","Upload","imageType","Textarea","Input","inputType","SfButton","Feedback","initFormData","prop","defaultVal","default","mergeFormData","target","origin","oi","forwardRef","avatar","searchStr","includes","gravatar","custom","indexOf","DefaultAvatar","borderRadius","memo","pluginSlice","PluginKit","getPlugins","plugin","activated","info","nodes","child","ps","PluginFC","component","EditorContext","editor","useContext","tip","disable","isShow","keyMap","onBlur","addKeyMap","wrapText","replaceLines","appendBlock","btnRender","tabIndex","Dropdown","Toggle","context","OL","ToolItem","ctx","line","i","FIND_OL_RX","match","replace","focus","UL","FIND_UL_RX","Indent","Outdent","_1","$1","substring","Hr","Heading","headerList","setShowState","isLocked","setLockState","onAddHeader","Menu","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","header","handleClick","trim","repeat","Bold","DEFAULTTEXT","_context$editor","Italic","setVisible","link","setLink","setName","inputRef","useRef","current","setSelectionRange","newStr","replaceSelection","getSelection","onExited","BlockQuote","FIND_BLOCKQUOTE_RX","TabContent","bsPrefix","Component","useBootstrapPrefix","displayName","getTabTransitionComponent","transition","Fade","NoopTransition","TabPane","rest","isActive","onEnter","onEntering","onEntered","onExit","onExiting","mountOnEnter","unmountOnExit","Transition","useTabPanel","prefix","TabContext","Provider","SelectableContext","in","getDefaultActiveKey","defaultActiveKey","eventKey","renderTab","tabClassName","tabAttrs","NavItem","role","Tabs","onSelect","activeKey","controlledProps","useUncontrolled","BaseTabs","Nav","childProps","TabContainer","propTypes","PropTypes","isRequired","Tab","Error","assign","Container","Content","Pane","Image","editorInstance","setEditor","currentTab","setCurrentTab","imageName","setImageName","verifyImageSize","files","from","file","AnswerModal","upload","uploadImage","all","dragenter","dragover","drop","fileList","dataTransfer","startPos","getCursor","endPos","ch","setReadOnly","urls","replaceRange","paste","clipboard","clipboardData","htmlStr","getData","innerText","allPTag","DOMParser","parseFromString","querySelectorAll","p","textContent","endsWith","on","off","tab","_e$target","contentDOM","range","selection","ranges","doc","lineAt","number","array","entries","run","dispatch","effects","StateEffect","appendConfig","of","keymap","sliceDoc","main","changes","insert","EditorSelection","cursor","setSelection","anchor","head","create","change","EditorView","updateListener","docChanged","addEventListener","removeEventListener","getValue","toString","setValue","before","after","defaultText","symbolLen","split","selectionStart","selectionEnd","single","editableCompartment","Compartment","htmlRender","el","innerHTML","str","table","_table$parentNode","_table$parentNode2","classList","contains","add","replaceChild","appendChild","a","base","URL","href","rel","useEditor","editorRef","placeholderText","autoFocus","onFocus","isDark","isDarkTheme","theme","padding","outline","whiteSpace","wordWrap","textDecoration","startState","EditorState","extensions","minimalSetup","markdown","codeLanguages","languages","markdownLanguage","lineWrapping","editable","view","parent","cm","createEditorUtils","reconfigure","newValue","init","imgSrc","setImgSrc","nodeName","toLowerCase","img","naturalWidth","naturalHeight","currentSrc","ret","parentElement","checkIfInLink","contentClassName","renderTimer","scrollTop","html","setHtml","previewRef","markdownToHtml","_previewRef$current","_previewRef$current2","scrollTo","getHtml","element","ImgViewer","MDEditor","editorPlaceholder","_previewRef$current3","useRenderPlugin","PluginRender","PluginType","Editor","previewElement","Italice","LinkItem","Viewer","NavbarBrand","NavbarCollapse","NavbarContext","Collapse","expanded","NavbarToggle","onToggle","useEventCallback","OffcanvasBody","transitionStyles","ENTERING","ENTERED","OffcanvasToggling","inProp","appear","TransitionWrapper","addEndListener","transitionEndListener","childRef","getChildRef","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","handleHide","hideResponsiveOffcanvas","useBreakpoint","modalContext","useMemo","renderBackdrop","useCallback","backdropProps","renderDialog","dialogProps","ModalContext","BaseModal","handleEnter","node","args","visibility","handleExited","BootstrapModalManager","handleContainerOverflow","getSharedManager","backdropTransition","NavbarOffcanvas","NavbarText","Navbar","initialBsPrefix","expand","bg","fixed","sticky","collapseOnSelect","handleCollapse","expandClass","navbarContext","Brand","openInNewTab","productLink","flair","blogsdata","date","thumbnail","showDropdown","setShowDropdown","searchLoading","setSearchLoading","tools","community","query","setQuery","blogs","setBlogs","toolResults","setToolResults","communityResults","setCommunityResults","abortController","debouncedFetchCommunityResults","debounce","prev","params","abort","AbortController","signal","response","fetch","ok","json","simulateApiRequest","debouncedFilterData","searchQuery","filteredResults","ToolSearchData","slice","getCommunityLink","baseUrl","object_type","object","question_id","position","fontFamily","marginRight","border","paddingLeft","filterBlogData","autoComplete","MdSearch","left","top","transform","color","right","marginTop","backgroundColor","boxShadow","zIndex","margin","borderTop","borderBottom","background","excerpt","domains","SearchIcon","Categories","Items","heading","newTab","ListEndIcon","TablePropertiesIcon","BlocksIcon","LayoutListIcon","BookIcon","PuzzleIcon","FileStackIcon","BrushIcon","PenIcon","ListCheckIcon","ClipboardTypeIcon","TextIcon","CopyrightIcon","LanguagesIcon","DollarSignIcon","ImageIcon","BookHeartIcon","BookImageIcon","BookAIcon","ChartLineIcon","Percent","NotebookPen","QrCode","CloudIcon","TrendingUpDownIcon","TextSearchIcon","BookTextIcon","GraduationCap","VideoIcon","GroupIcon","ListItem","isHovered","setIsHovered","strokeWidth","SolutionsComp","selectedCategory","setSelectedCategory","SolutionsData","flattenedItems","flatMap","category","display","flexDirection","overflowY","justifyContent","handleCategoryClick","gap","alignItems","ChevronRight","gridTemplateColumns","ArrowRight","ChevronDown","ShapesIcon","UsersIcon","YoutubeIcon","LetterTextIcon","HandshakeIcon","ResourcesMenu","redDot","userInfo","logOut","_info$user","_info$user2","_info$user3","_info$user4","_info$user5","_ucAgent$agent_info","_ucAgent$agent_info2","_ucAgent$agent_info2$","_ucAgent$agent_info$c","_ucAgent$agent_info$c2","setInfo","agent","ucAgent","userCenterStore","handleLinkClick","shouldProcessLinkClick","getAttribute","handler","_info","getUserInfo","fetchUserInfo","align","marginLeft","Avatar","image","display_name","minWidth","paddingTop","marginBottom","email","FaRegUser","MdOutlineBook","FaBookmark","FaGear","enabled","agent_info","control_center","Divider","ctrl","Create","transparentNav","toggleDropDown","isMobile","setActiveDropDown","divRef","help","textAlign","borderColor","MessageCircleMore","overflow","paddingBottom","fontWeight","FaPlusSquare","FaEnvelope","FaBug","FaFacebook","open","FaYoutube","booksDomain","process","NEXT_PUBLIC_BOOKS_SUBDOMAIN","CreateOptions","BookOpenText","BookCopy","ResearchOptions","TextSearch","ListCheck","SearchCheck","ListChecks","GeneralTools","HandCoins","Banknote","LogsIcon","QrCodeIcon","PencilIcon","ChartAreaIcon","GitCompareArrows","LearningTools","HelpCircle","TvMinimalPlay","Youtube","BookListingTools","ArrowUpNarrowWideIcon","TriangleIcon","ListTodoIcon","Languages","handleClose","chrome","MdOutlineSearch","MdOutlineVerified","Notifications","token","notifications","setNotifications","notificationCount","setNotificationCount","isOpen","setIsOpen","page","setPage","hasMore","setHasMore","EDropdown","notification","getNotifications","_id","headers","Authorization","has_more","prevNotifications","sortedNotifications","sort","b","Date","created_at","getTime","DeleteNotification","MarkAsRead","BellIcon","Badge","pill","paddingRight","MdRefresh","NotificationCard","Notification","user_id","markAsRead","deleteNotification","notificationDate","displayDate","isNaN","is_read","formatDistanceToNow","MdDelete","_theme_config$theme","useLocation","urlSearch","q","clear","clearUserStore","setSearch","loginSetting","brandingStore","branding","loginSettingStore","login","updateReview","updateVisible","sideNavStore","tagMatch","useMatch","askUrl","slugName","encodeURIComponent","userRank","setUserRank","totalXp","setTotalXp","streak","setStreak","can_revision","Boolean","revision","fetchUserStat","log","_rankData$data","_xpData$data","_streadData$data","rankData","get_user_rank","rank","xpData","get_total_points","total_xp","streadData","get_current_streak","current_streak","handleLogout","collapse","querySelector","toggle","click","navbarStyle","theme_config","themeSettingStore","navbar_style","DropDownTypes","selectedDropDown","setSelectedDropDown","activeDropDown","toggleDropDown2","prevState","FaBars","services","SolutionsDropDown","resources","ResourcesDropDown","NavItems","userCenter","allow_new_registrations","Col","lg","SearchComp","ChromeWebstore","HelpComp","FaTrophy","FaFire","base64","svgClassName","base64ToSvg","timer","TagSelector","hiddenDescription","hiddenCreateBtn","maxTagLength","showRequiredTag","formText","tagStyleMode","errMsg","_tags$filter","containerRef","initialized","setInitialized","focusState","setFocusState","showMenu","setShowMenu","currentIndex","setCurrentIndex","repeatIndex","setRepeatIndex","searchValue","setSearchValue","setTags","requiredTags","setRequiredTags","userPermission","useUserPermission","canAddTag","toast","tagModal","useTagModal","findIndex","parsed_text","marked","original_text","filterTags","tagArray","v","handleMenuShow","bol","ele","handleTagSelectorBlur","fetchTags","queryTags","res","val","resetSearch","handleRemove","scrollIntoView","targetId","offsetTop","behavior","_inputRef$current2","handleOutsideClick","_containerRef$current","menuHasContent","_inputRef$current3","elePlaceholder","_inputRef$current4","_inputRef$current5","offsetWidth","setAttribute","handleTagSelectorFocus","_inputRef$current","keyCode","handleClickToggle","reserved","recommend","onMouseUp","active","handleCreate","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","Trans","i18nKey","values","mail","components","bold","check","setStatus","accept","setVotes","like","setLike","hate","setHated","bookmarkState","setBookmark","collected","collectCount","vCaptcha","votesCount","isLike","isHate","submitVote","_vCaptcha$resolveCapt","isCancel","resolveCaptchaReq","call","postVote","object_id","is_cancel","vote_status","handleVote","tryNormalLogged","hideCollect","handleBookmark","bookmark","group_id","object_collection_count","textClassName","tagLanding","qid","aid","setShow","showTip","setShowTip","canSystemShare","setSystemShareState","BASE_ORIGIN","closeShare","_window$navigator","_window$navigator$can","navigator","canShare","lineHeight","OverlayTrigger","trigger","overlay","Tooltip","copyText","copy","FacebookShareButton","TwitterShareButton","systemShare","share","hasAnswer","memberActions","reportModal","useReportModal","dCaptcha","refreshQuestion","editUrl","submitDeleteQuestion","deleteQuestion","submitDeleteAnswer","deleteAnswer","handleCommon","questionOperation","operation","toastStore","getState","unDeleteQuestion","unDeleteAnswer","reopenQuestion","handlOtherActions","firstAction","secondAction","Share","handleEdit","targetUrl","checkObjectId","editCheck","isLogged","timelinePath","formatCount","PageItem","activeLabel","linkStyle","linkClassName","Anchor","createButton","defaultValue","First","Prev","Ellipsis","Next","Last","decoratedBsPrefix","pageArr","path","searchParams","totalPage","Math","ceil","realPage","mapPage","handleParams","pageNum","set","min","fill","initialValue","onSendReply","mode","immData","setImmData","pageUsers","usePageUsers","validationErrorMsg","setValidationErrorMsg","usePromptWithUnload","when","handleSendReply","Mentions","getUsers","onSelected","TextArea","parseEditMentionUser","ActionBar","nickName","createdAt","isVote","voteCount","onReply","onVote","onAction","userStatus","userName","Comment","objectId","commentId","pageIndex","setPageIndex","visibleComment","setVisibleComment","currentReplyId","updateCurrentReplyId","commentReplyStore","useQueryComments","comment_id","page_size","comments","setComments","addCaptcha","useCaptchaModal","editCaptcha","scrollToElementTop","bgFadeOut","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","autoGrow","scrollHeight","FormControl","onInput","_staffUserList$map","menuRef","dropdownRef","setCursor","isRequested","setRequestedState","staffUserList","useSearchUserStaff","mapStaffUsers","searchUser","_dropdownRef$current","lastIndexOf","_dropdownRef$current2","_dropdownRef$current3","filterData","_item$displayName","_item$userName","dateTime","dayjs","tz","toISOString","format","now","floor","valueOf","between","h","formatTime","delay","autohide","MenuNode","menu","expanding","isLeaf","badgeContent","Accordion","leaf","AccordionNav","menus","pathMatch","m","sm","splat","getOpenKey","openKey","find","setOpenKey","menuClick","flush","avatarClass","avatarSize","avatarSearchStr","showReputation","nameMaxWidth","isEdit","setEditState","followingTags","useFollowingTags","newTags","tryLoggedAndActivated","handleFollowTags","followTags","slug_name_list","revalidate","alignDirection","alignPropType","xl","xxl","menuRole","renderMenuOnMount","rootCloseEvent","menuVariant","flip","DropdownButton","DropdownToggle","childBsPrefix","DropdownMenu","renderOnMount","sortKey","wrapClassName","setUrlSearchParams","delete","filteredData","MAX_BUTTON_COUNT","currentBtn","btn","borderTopRightRadius","borderBottomRightRadius","REACT_BASE_PATH","objectType","newData","oldData","opts","showTitle","showTagUrlSlug","_newData$title","_oldData$title","_tag","_deleteTags","addTags","c","_oldData$tags","deleteTags","_oldData$tags2","pre_index","diffText","main_tag_slug_name","makeMarker","mark","renderCustomArea","part","pos","startMarkNode","endMarkNode","childNodes","nodeType","nodeValue","nextSibling","removeChild","insertAdjacentHTML","ActivateScriptNodes","scriptList","so","script","attributes","attr","custom_head","custom_header","custom_footer","customizeStore","handleCustomHead","handleCustomHeader","handleCustomFooter","primaryColor","primary_color","Color","useLayoutEffect","setThemeColor","themeMetaNode","themeColor","hex","Helmet","rgb","shiftColor","round","tintColor","shadeColor","fade","string","doInsertCustomCSS","favicon","square_icon","pageTitle","keywords","pageTagStore","items","appVersion","version","hashVersion","siteName","currentLang","getCurrentLang","hostname","setAppGenerator","generatorMetaNode","setDocTitle","sizes","property","itemProp","xs","site_name","showVotes","showAnswers","showViews","showAccepted","classname","httpCode","showErrorCode","pageWrap","usePageTags","code","custom_sidebar","isShowDropDown","setIsShowDropDown","isShowChildDropDown","setIsShowChildDropDown","toggleChildDropdown","newState","NavLink2","refresh","MdKeyboardArrowDown","dropdownItem","dii","dropdownItem2","diii","diiii","ResourcesData","role_id","regex","RegExp","piece","kw","toLocaleLowerCase","badgePillType","showAwardedCount","earned_count","award_count","emojiMap","reactions","setReactions","reactIsActive","setReactIsActive","queryReactions","reaction_summary","handleSubmit","_reactions$find","updateReaction","reaction","emoji","is_active","Popover","d","_reactions$find2","_reactions$find3","_emojiMap$find","_emojiMap$find2","tooltip","closeVariant","CloseButton","isAccordionItemSelected","activeEventKey","AccordionCollapse","AccordionContext","only","AccordionBody","AccordionItemContext","AccordionButton","accordionOnClick","alwaysOpen","eventKeyPassed","useAccordionButton","AccordionHeader","ariaControls","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","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","createChainedFunction","handleEntering","handleEntered","handleExit","triggerBrowserReflow","handleExiting","DropdownDivider","DropdownHeader","DropdownItem","dropdownItemProps","meta","useDropdownItem","DropdownItemText","pProps","focusFirstItemOnShow","navbar","_4","autoClose","isInputGroup","InputGroupContext","useIsRTL","handleToggle","nextShow","_meta$originalEvent","originalEvent","alignEnd","getDropdownMenuPlacement","directionClasses","down","end","start","DropdownContext","BaseDropdown","itemSelector","ItemText","dropDirection","showProps","popperConfig","isNavbar","contextAlign","alignClasses","menuProps","hasShown","popper","useDropdownMenu","usePopper","useMergedRefs","useWrappedRefWithWarning","useIsomorphicEffect","dropdownContext","toggleProps","useDropdownToggle","func","hasChildOfType","toArray","some","fadeStyles","transitionClasses","isAppearing","FormFloating","FormLabel","column","visuallyHidden","htmlFor","FormContext","columnClass","FormRange","FormSelect","htmlSize","isValid","FormText","muted","FormCheck","FloatingLabel","FormGroup","_ref","validated","Floating","Range","FormCheckLabel","bsSwitchPrefix","reverse","feedbackTooltip","innerFormContext","hasLabel","input","FormCheckInput","plaintext","InputGroupText","hasValidation","Radio","Checkbox","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","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","POPPER_OFFSET","TOOLTIP_OFFSET","useOverlayOffset","actualTransition","handleFirstUpdate","onFirstUpdate","scheduleUpdate","BaseOverlay","concat","overlayProps","arrowProps","popperObj","_popperObj$state","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","bsSpinnerPrefix","createUtilityClassName","utilityValues","DEFAULT_BREAKPOINTS","DEFAULT_MIN_BREAKPOINT","utilName","utilValue","bpValue","ThemeContext","prefixes","Consumer","defaultPrefix","dir","ToastFade","ToastHeader","ToastContext","ToastBody","delayRef","onCloseRef","autohideTimeout","autohideToast","autohideFunc","toastContext","hasAnimation","nodeRef","attachRef","normalize","param","handleAddEndListener","opacity","pointerEvents","componentOrElement","parseDuration","mult","offsetHeight","componentName"],"sourceRoot":""}