{"version":3,"file":"static/js/chunk-mix1.e231094b.chunk.js","mappings":"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AAQ5Y,UAAW,SAHzC,SAIGoR,EAAOpQ,KAAI,CAACwX,EAAKvN,KAEd,SAAC,SAAD,CAEEvL,UAAY,IAAE4Y,IAAWrN,EAAQ,SAAW,IAC5C1K,QAAU2D,IACRA,EAAEwN,iBACF2G,GAAc,GACdF,EAASK,EAAT,EANJ,SAQGA,GAPIA,SArBnB,ECzCIK,EAAmB,CACvB,OACA,KACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,SACA,KACA,SACA,KACA,UACA,MACA,SACA,eACA,OACA,OACA,MACA,OACA,MACA,SACA,KACA,SACA,KACA,UACA,OACA,MACA,MACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACA,OACA,MACA,KACA,aACA,MACA,MACA,MACA,OACA,SACA,KACA,QACA,MACA,OACA,OACA,MACA,WACA,KACA,MACA,WACA,KACA,SACA,MACA,SACA,aACA,KACA,OACA,QACA,QACA,KACA,SACA,SACA,MACA,MACA,MACA,aACA,UACA,MACA,MACA,KACA,OACA,KACA,MACA,OACA,OACA,OACA,OACA,OACA,eACA,WACA,KACA,SACA,MACA,UACA,IACA,KACA,OACA,UACA,UACA,OACA,MACA,KACA,OACA,QACA,SACA,OACA,QACA,UACA,MACA,QACA,aACA,KACA,OACA,QACA,KACA,OACA,OAGF,IAAIrD,EACJ,MAAMsD,EAAO,KACX,MAAM,EAAEtY,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WAEnDsK,EAAO,CACXM,MAAO,aACP0J,OAAQ,CAAC,UACTH,IAAM,GAAErU,EAAE,0BAGLuY,EAAMC,IAAWlM,EAAAA,EAAAA,UAAS,CAC/BzN,MAAO,GACP0L,WAAW,EACXU,SAAU,MAELxJ,EAASgX,IAAcnM,EAAAA,EAAAA,WAAS,IAChC4L,EAAMQ,IAAWpM,EAAAA,EAAAA,UAAS,IAC3BqM,GAAWC,EAAAA,EAAAA,QAA4B,OAuB7ClT,EAAAA,EAAAA,YAAU,KACJjE,GAAWkX,EAASE,SACtBF,EAASE,QAA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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/table.tsx","components/Editor/ToolBars/ol.tsx","components/Editor/ToolBars/ul.tsx","components/Editor/ToolBars/indent.tsx","components/Editor/ToolBars/outdent.tsx","components/Editor/ToolBars/hr.tsx","components/Editor/ToolBars/heading.tsx","components/Editor/ToolBars/bold.tsx","components/Editor/ToolBars/italic.tsx","components/Editor/Select/index.tsx","components/Editor/ToolBars/code.tsx","components/Editor/ToolBars/link.tsx","components/Editor/ToolBars/blockquote.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabPane.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tabs.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tab.js","components/Editor/ToolBars/image.tsx","components/Editor/ToolBars/help.tsx","components/Editor/utils/extension.ts","components/Editor/utils/index.ts","components/ImgViewer/index.tsx","components/Editor/Viewer.tsx","components/Editor/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Navbar.js","components/Header/components/NavItems/index.tsx","components/Header/index.tsx","components/Footer/index.tsx","components/Icon/svg.tsx","components/TagSelector/index.tsx","components/Unactivate/index.tsx","components/UploadImg/index.tsx","components/Actions/index.tsx","components/Tag/index.tsx","components/Share/index.tsx","components/Operate/index.tsx","components/UserCard/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PageItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Pagination.js","components/Pagination/index.tsx","components/Comment/components/Form/index.tsx","components/Comment/components/ActionBar/index.tsx","components/Comment/components/Reply/index.tsx","components/Comment/index.tsx","components/TextArea/index.tsx","components/Mentions/index.tsx","components/FormatTime/index.tsx","components/Toast/index.tsx","components/AccordionNav/index.tsx","components/Empty/index.tsx","components/BaseUserCard/index.tsx","components/FollowingTags/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/types.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownButton.js","components/QueryGroup/index.tsx","components/DiffContent/index.tsx","components/Customize/index.tsx","components/CustomizeTheme/index.tsx","components/PageTags/index.tsx","components/QuestionListLoader/index.tsx","components/TagsLoader/index.tsx","components/WelcomeTitle/index.tsx","components/Counts/index.tsx","components/HttpErrorContent/index.tsx","components/CustomSidebar/index.tsx","components/SideNav/index.tsx","components/HighlightText/index.tsx","components/CardBadge/index.tsx","pages/Questions/Detail/components/Reactions/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Accordion.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Badge.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Button.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ButtonGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImg.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Card.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Col.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Collapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Container.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Fade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Feedback.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormRange.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Switch.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Form.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormControl.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Modal.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Nav.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Overlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Popover.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Spinner.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Stack.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Toast.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/helpers.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js"],"sourcesContent":["/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ButtonGroup, Button } from 'react-bootstrap';\n\nimport classNames from 'classnames';\n\nimport { Icon, UploadImg } from '@/components';\nimport { UploadType } from '@/common/interface';\n\ninterface Props {\n type: UploadType;\n value: string;\n onChange: (value: string) => void;\n acceptType?: string;\n readOnly?: boolean;\n imgClassNames?: classNames.Argument;\n}\n\nconst Index: FC = ({\n type = 'post',\n value,\n onChange,\n acceptType,\n readOnly = false,\n imgClassNames = '',\n}) => {\n const onUpload = (imgPath: string) => {\n onChange(imgPath);\n };\n\n const onRemove = () => {\n onChange('');\n };\n return (\n
\n
\n \n
\n \n \n \n \n\n \n \n \n \n
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Card, ListGroup, ListGroupItem } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport { Icon } from '@/components';\nimport { useHotQuestions } from '@/services';\n\nconst HotQuestions: FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const { data: questionRes } = useHotQuestions();\n if (!questionRes?.list?.length) {\n return null;\n }\n return (\n \n \n {t('hot_questions')}\n \n \n {questionRes?.list?.map((li) => {\n return (\n \n
{li.title}
\n {li.answer_count > 0 ? (\n 0\n ? 'link-success'\n : 'link-secondary'\n }`}>\n {li.accepted_answer_id >= 1 ? (\n \n ) : (\n \n )}\n \n {t('x_answers', { count: li.answer_count })}\n \n \n ) : null}\n \n );\n })}\n
\n
\n );\n};\nexport default HotQuestions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\n\nimport classNames from 'classnames';\n\ninterface IProps {\n type?: 'br' | 'bi';\n /** icon name */\n name: string;\n className?: string;\n size?: string;\n title?: string;\n onClick?: () => void;\n}\nconst Icon: FC = ({\n type = 'br',\n name,\n className,\n size,\n onClick,\n title,\n}) => {\n return (\n \n );\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Button, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nexport interface Props {\n id?: string;\n /** header title */\n title?: string;\n children?: React.ReactNode;\n /** visible */\n visible?: boolean;\n centered?: boolean;\n onCancel?: () => void;\n onConfirm?: (event: any) => void;\n cancelText?: string;\n showCancel?: boolean;\n cancelBtnVariant?: string;\n confirmText?: string;\n showConfirm?: boolean;\n confirmBtnDisabled?: boolean;\n confirmBtnVariant?: string;\n /** body style */\n bodyClass?: string;\n scrollable?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n id = '',\n title = 'title',\n visible = false,\n centered = true,\n onCancel,\n children,\n onConfirm,\n cancelText = '',\n showCancel = true,\n cancelBtnVariant = 'primary',\n confirmText = '',\n showConfirm = true,\n confirmBtnVariant = 'link',\n confirmBtnDisabled = false,\n bodyClass = '',\n scrollable = false,\n className = '',\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {title || t('title', { keyPrefix: 'modal_confirm' })}\n \n \n {children}\n {(showCancel || showConfirm) && (\n \n {showCancel && (\n \n )}\n {showConfirm && (\n {\n onConfirm?.(event);\n }}\n id=\"ok_button\"\n disabled={confirmBtnDisabled}>\n {confirmText === 'OK'\n ? t('btns.ok')\n : confirmText || t('btns.confirm')}\n \n )}\n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport * as React from 'react';\n\nimport ReactDOM from 'react-dom/client';\n\nimport Modal from './Modal';\nimport type { Props } from './Modal';\n\nconst div = document.createElement('div');\n\nconst root = ReactDOM.createRoot(div);\n\nexport interface Config extends Props {\n content: string;\n}\n\nconst Index = ({\n title = '',\n confirmText = '',\n content,\n onCancel: onClose,\n onConfirm,\n cancelBtnVariant = 'link',\n confirmBtnVariant = 'primary',\n ...props\n}: Config) => {\n const onCancel = () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n render({ visible: false });\n div.remove();\n };\n const onOk = (e) => {\n if (typeof onConfirm === 'function') {\n onConfirm(e);\n }\n onCancel();\n };\n function render({ visible }: { visible: boolean }) {\n root.render(\n \n

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

\n \n

{siteInfo.description}

\n
\n
\n \n {t('login', { keyPrefix: 'btns' })}\n \n \n {t('signup', { keyPrefix: 'btns' })}\n \n
\n \n \n );\n};\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport type * as Type from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { readNotification, useQueryNotificationStatus } from '@/services';\nimport AnimateGift from '@/utils/animateGift';\nimport Icon from '../Icon';\n\nimport Modal from './Modal';\n\ninterface BadgeModalProps {\n badge?: Type.NotificationBadgeAward | null;\n visible: boolean;\n}\n\nlet bg1: AnimateGift;\nlet bg2: AnimateGift;\nlet timeout: NodeJS.Timeout;\nconst BadgeModal: FC = ({ badge, visible }) => {\n const { t } = useTranslation('translation', { keyPrefix: 'badges.modal' });\n const { user } = loggedUserInfoStore();\n const navigate = useNavigate();\n const { data, mutate } = useQueryNotificationStatus();\n\n const handle = async () => {\n if (!data) return;\n await readNotification(badge?.notification_id);\n await mutate({\n ...data,\n badge_award: null,\n });\n clearTimeout(timeout);\n bg1?.destroy();\n bg2?.destroy();\n };\n const handleCancel = async () => {\n await handle();\n };\n const handleConfirm = async () => {\n await handle();\n\n const url = `/badges/${badge?.badge_id}?username=${user.username}`;\n navigate(url);\n };\n\n 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 Table = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'table',\n tip: t('table.text'),\n };\n const tableData = [\n [`${t('table.heading')} A`],\n [`${t('table.heading')} B`],\n [`${t('table.cell')} 1`],\n [`${t('table.cell')} 2`],\n [`${t('table.cell')} 3`],\n [`${t('table.cell')} 4`],\n ];\n\n const makeHeader = (col, data) => {\n let header = '|';\n let border = '|';\n let index = 0;\n\n while (col) {\n if (data) {\n header += ` ${data[index]} |`;\n index += 1;\n } else {\n header += ' |';\n }\n\n border += ' ----- |';\n\n col -= 1;\n }\n\n return `${header}\\n${border}\\n`;\n };\n\n const makeBody = (col, row, data) => {\n let body = '';\n let index = col;\n\n for (let irow = 0; irow < row; irow += 1) {\n body += '|';\n\n for (let icol = 0; icol < col; icol += 1) {\n if (data) {\n body += ` ${data[index]} |`;\n index += 1;\n } else {\n body += ' |';\n }\n }\n\n body += '\\n';\n }\n\n body = body.replace(/\\n$/g, '');\n\n return body;\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor } = context;\n let table = '\\n';\n\n table += makeHeader(2, tableData);\n table += makeBody(2, 2, tableData);\n editor?.replaceSelection(table);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Table);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst OL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ol',\n keyMap: ['Ctrl-o'],\n tip: `${t('ordered_list.text')} (Ctrl+o)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line, i) => {\n const FIND_OL_RX = /^(\\s{0,})(\\d+)\\.\\s/;\n\n if (line.match(FIND_OL_RX)) {\n line = line.replace(FIND_OL_RX, '');\n } else {\n line = `${i + 1}. ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(OL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst UL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ul',\n keyMap: ['Ctrl-u'],\n tip: `${t('unordered_list.text')} (Ctrl+u)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n const FIND_UL_RX = /^(\\s{0,})(-|\\*)\\s/;\n\n if (line.match(FIND_UL_RX)) {\n line = line.replace(FIND_UL_RX, '');\n } else {\n line = `* ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(UL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Indent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-left',\n tip: t('indent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n line = ` ${line}`;\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Indent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Outdent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-right',\n keyMap: ['Shift-Tab'],\n tip: t('outdent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n replaceLines((line) => {\n line = line.replace(/^(\\s{0,})/, (_1, $1) => {\n return $1.length > 4 ? $1.substring(4) : '';\n });\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Outdent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Hr = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'hr',\n keyMap: ['Ctrl-r'],\n tip: `${t('hr.text')} (Ctrl+r)`,\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { appendBlock, editor } = context;\n appendBlock('----------\\n');\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Hr);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, memo } from 'react';\nimport { Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Heading = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const headerList = [\n {\n text: `

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

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

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

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

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

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

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

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

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

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