@veecode-platform/plugin-veecode-homepage-dynamic 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-scalprum/plugin-manifest.json +3 -3
- package/dist-scalprum/static/2235.1e9c55f2.chunk.js +206 -0
- package/dist-scalprum/static/{1675.6d43b5a1.chunk.js.LICENSE.txt → 2235.1e9c55f2.chunk.js.LICENSE.txt} +20 -0
- package/dist-scalprum/static/2235.1e9c55f2.chunk.js.map +1 -0
- package/dist-scalprum/static/2533.3e0d85f9.chunk.js +2 -0
- package/dist-scalprum/static/2533.3e0d85f9.chunk.js.map +1 -0
- package/dist-scalprum/static/3051.47c66b73.chunk.js +2 -0
- package/dist-scalprum/static/3051.47c66b73.chunk.js.map +1 -0
- package/dist-scalprum/static/4576.e773bb92.chunk.js +2 -0
- package/dist-scalprum/static/4576.e773bb92.chunk.js.map +1 -0
- package/dist-scalprum/static/4628.534b666b.chunk.js +2 -0
- package/dist-scalprum/static/4628.534b666b.chunk.js.map +1 -0
- package/dist-scalprum/static/{5689.ba470bd3.chunk.js → 5689.44adcfd6.chunk.js} +1 -1
- package/dist-scalprum/static/{5689.ba470bd3.chunk.js.map → 5689.44adcfd6.chunk.js.map} +1 -1
- package/dist-scalprum/static/7332.c9233bad.chunk.js +2 -0
- package/dist-scalprum/static/7332.c9233bad.chunk.js.map +1 -0
- package/dist-scalprum/static/7645.119794aa.chunk.js +3 -0
- package/dist-scalprum/static/7645.119794aa.chunk.js.map +1 -0
- package/dist-scalprum/static/{8505.bd5ab33a.chunk.js → 8505.9dd864c9.chunk.js} +1 -1
- package/dist-scalprum/static/{8505.bd5ab33a.chunk.js.map → 8505.9dd864c9.chunk.js.map} +1 -1
- package/dist-scalprum/static/{9286.0bf88601.chunk.js → 9286.e13da971.chunk.js} +2 -2
- package/dist-scalprum/static/{9286.0bf88601.chunk.js.map → 9286.e13da971.chunk.js.map} +1 -1
- package/dist-scalprum/static/exposed-PluginRoot.995e7d70.chunk.js +2 -0
- package/dist-scalprum/static/{exposed-PluginRoot.26d32cb5.chunk.js.map → exposed-PluginRoot.995e7d70.chunk.js.map} +1 -1
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.75421414c269ea7d1780.js +2 -0
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.75421414c269ea7d1780.js.map +1 -0
- package/package.json +2 -1
- package/dist-scalprum/static/102.20d7c8a2.chunk.js +0 -3
- package/dist-scalprum/static/102.20d7c8a2.chunk.js.map +0 -1
- package/dist-scalprum/static/1675.6d43b5a1.chunk.js +0 -153
- package/dist-scalprum/static/1675.6d43b5a1.chunk.js.map +0 -1
- package/dist-scalprum/static/1940.8b6f0ddf.chunk.js +0 -2
- package/dist-scalprum/static/1940.8b6f0ddf.chunk.js.map +0 -1
- package/dist-scalprum/static/6481.78e4b3e0.chunk.js +0 -2
- package/dist-scalprum/static/6481.78e4b3e0.chunk.js.map +0 -1
- package/dist-scalprum/static/6513.d56e3826.chunk.js +0 -2
- package/dist-scalprum/static/6513.d56e3826.chunk.js.map +0 -1
- package/dist-scalprum/static/7332.35321cf7.chunk.js +0 -2
- package/dist-scalprum/static/7332.35321cf7.chunk.js.map +0 -1
- package/dist-scalprum/static/8152.5332c671.chunk.js +0 -2
- package/dist-scalprum/static/8152.5332c671.chunk.js.map +0 -1
- package/dist-scalprum/static/avatar.e87ac168..svg +0 -1
- package/dist-scalprum/static/exposed-PluginRoot.26d32cb5.chunk.js +0 -2
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.273ae8ad04cb5360b66f.js +0 -2
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.273ae8ad04cb5360b66f.js.map +0 -1
- /package/dist-scalprum/static/{102.20d7c8a2.chunk.js.LICENSE.txt → 7645.119794aa.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{9286.0bf88601.chunk.js.LICENSE.txt → 9286.e13da971.chunk.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/4576.e773bb92.chunk.js","mappings":"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","sources":["webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/iconButtonComponent/IconButtonComponent.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/toggleTheme/ToggleTheme.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/utils/stringUtils.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/searchComponent/SearchInput.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/searchComponent/SearchResultItem.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/searchComponent/SearchOption.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/searchComponent/SearchBar.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/hooks/useDebouncedCallback.ts","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/searchComponent/SearchComponent.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/userAvatar/UserAvatar.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/logout/Logout.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/menuItems/MenuItems.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/notifications/Notifications.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/profile/Profle.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/headerComponent/HeaderComponent.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/homeGretting/HomeGretting.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/assets/Community.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/assets/Docs.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/assets/Website.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/assets/Support.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/homeContent/VisitedCharts.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/hooks/useVisited.ts","webpack://veecode-platform.plugin-veecode-homepage/./src/utils/generateColor.ts","webpack://veecode-platform.plugin-veecode-homepage/./src/components/homeContent/HomeContent.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/VeeCodeHomePage.tsx"],"sourcesContent":["import IconButton from '@mui/material/IconButton';\nimport Tooltip from '@mui/material/Tooltip';\nimport { Link } from 'react-router-dom';\nimport { ReactElement, MouseEvent } from 'react';\n\ninterface IconButtonProps {\n title: string;\n label: string;\n color: 'warning' | 'error' | 'inherit';\n handleClick?: (e: MouseEvent<HTMLButtonElement>) => void;\n link?: string;\n children: ReactElement;\n}\n\nexport const IconButtonComponent: React.FC<IconButtonProps> = ({\n title,\n label,\n color,\n handleClick,\n link,\n children,\n}) => {\n const button = (\n <IconButton\n size=\"small\"\n aria-label={label}\n color={color}\n aria-controls={`${label}-menu`}\n aria-haspopup=\"true\"\n sx={{\n width: '42px',\n height: '42px',\n borderRadius: '50%',\n }}\n onClick={handleClick}\n >\n {children}\n </IconButton>\n );\n\n return (\n <Tooltip title={title}>\n {link ? <Link to={link}>{button}</Link> : button}\n </Tooltip>\n );\n};\n","import { useTheme } from '@mui/material/styles';\nimport LightModeOutlinedIcon from '@mui/icons-material/LightModeOutlined';\nimport DarkModeOutlinedIcon from '@mui/icons-material/DarkModeOutlined';\nimport { appThemeApiRef, useApi } from '@backstage/core-plugin-api';\nimport { IconButtonComponent } from '../iconButtonComponent/IconButtonComponent';\n\nexport const ToogleTheme = () => {\n const appThemeApi = useApi(appThemeApiRef);\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n const tooltipTitle = isDarkMode\n ? 'Select theme Light Theme'\n : 'Select theme Dark Theme';\n const themeIds = appThemeApi.getInstalledThemes();\n\n const handleSetTheme = (\n e: React.MouseEvent<HTMLButtonElement, MouseEvent>,\n ) => {\n const newThemeId = isDarkMode ? 'light' : 'dark';\n e.preventDefault();\n e.stopPropagation();\n if (themeIds.some(it => it.id === newThemeId)) {\n appThemeApi.setActiveThemeId(newThemeId);\n } else {\n appThemeApi.setActiveThemeId(undefined);\n }\n };\n\n return (\n <IconButtonComponent\n title={tooltipTitle}\n handleClick={handleSetTheme}\n color=\"inherit\"\n label=\"Toggle-theme\"\n >\n {isDarkMode ? <LightModeOutlinedIcon /> : <DarkModeOutlinedIcon />}\n </IconButtonComponent>\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport Typography from '@mui/material/Typography';\n\n/**\n * Highlights the substring that matches the query term.\n * @param text The full text to render.\n * @param query The query term to highlight.\n * @returns JSX.Element with highlighted matching substring.\n */\nexport const highlightMatch = (text: string, query: string) => {\n if (!query) return <>{text}</>;\n\n const escapeRegex = (input: string) =>\n input.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const escapedQuery = escapeRegex(query);\n\n const regex = new RegExp(`(${escapedQuery})`, 'i');\n const parts = text.split(regex);\n\n return (\n <>\n {parts.map((part, index) =>\n regex.test(part) ? (\n <Typography\n key={`${part}-${index}`}\n component=\"span\"\n sx={{ fontWeight: 'normal' }}\n >\n {part}\n </Typography>\n ) : (\n <Typography\n key={`${part}-${index}`}\n component=\"span\"\n sx={{ fontWeight: 'bold' }}\n >\n {part}\n </Typography>\n ),\n )}\n </>\n );\n};\n\nexport const createSearchLink = (searchTerm: string) => {\n return `/search?query=${encodeURIComponent(searchTerm)}`;\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport TextField from '@mui/material/TextField';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport SearchIcon from '@mui/icons-material/Search';\n\ninterface SearchInputProps {\n params: any;\n error: boolean;\n helperText: string;\n}\n\nexport const SearchInput = ({\n params,\n error,\n helperText,\n}: SearchInputProps) => (\n <TextField\n {...params}\n placeholder=\"Search...\"\n variant=\"standard\"\n error={error}\n helperText={helperText}\n InputProps={{\n ...params.InputProps,\n disableUnderline: true,\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon style={{ color: '#ffffff' }} />\n </InputAdornment>\n ),\n }}\n sx={{\n input: { color: '#CDCDCD' },\n button: { color: 'inherit' },\n '& fieldset': { border: 'none' },\n }}\n />\n);\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Link } from '@backstage/core-components';\nimport ListItem from '@mui/material/ListItem';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport { highlightMatch } from '../../../utils/stringUtils';\nimport { SearchResultProps } from '@backstage/plugin-search-react';\nimport { Result, SearchDocument } from '@backstage/plugin-search-common';\nimport { useAnalytics } from '@backstage/core-plugin-api';\n\ninterface SearchResultItemProps {\n option: string;\n query: SearchResultProps['query'];\n result: Result<SearchDocument> | undefined;\n renderProps: any;\n}\n\nexport const SearchResultItem = ({\n option,\n query,\n result,\n renderProps,\n}: SearchResultItemProps) => {\n const isNoResultsFound = option === 'No results found';\n const analytics = useAnalytics();\n\n return (\n <Box\n component={isNoResultsFound ? 'div' : Link}\n to={result?.document.location}\n underline=\"none\"\n sx={{ width: '100%', ...(isNoResultsFound ? {} : { cursor: 'pointer' }) }}\n >\n <ListItem\n {...renderProps}\n sx={{ py: 1 }}\n onClick={(e: any) => {\n analytics.captureEvent('discover', result?.document.title ?? '', {\n attributes: { to: result?.document.location ?? '#' },\n value: result?.rank,\n });\n renderProps?.onClick?.(e);\n }}\n >\n <Typography sx={{ color: 'text.primary', flexGrow: 1 }}>\n {isNoResultsFound\n ? option\n : highlightMatch(option, query?.term ?? '')}\n </Typography>\n </ListItem>\n </Box>\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\nimport { Link } from '@backstage/core-components';\nimport ListItem from '@mui/material/ListItem';\nimport Typography from '@mui/material/Typography';\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport { SearchResultItem } from './SearchResultItem';\nimport { Result, SearchDocument } from '@backstage/plugin-search-common';\nimport { SearchResultProps } from '@backstage/plugin-search-react';\n\ninterface SearchOptionProps {\n option: string;\n index: number;\n options: string[];\n query: SearchResultProps['query'];\n results: Result<SearchDocument>[];\n renderProps: any;\n searchLink: string;\n}\n\nexport const SearchOption = ({\n option,\n index,\n options,\n query,\n results,\n renderProps,\n searchLink,\n}: SearchOptionProps) => {\n if (option === query?.term && index === options.length - 1) {\n return (\n <Box key=\"all-results\" id=\"all-results\">\n <Divider sx={{ my: 0.5 }} />\n <Link to={searchLink} underline=\"none\">\n <ListItem\n {...renderProps}\n sx={{ my: 0 }}\n className=\"allResultsOption\"\n >\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Typography sx={{ flexGrow: 1 }}>All results</Typography>\n <ArrowForwardIcon fontSize=\"small\" />\n </Box>\n </ListItem>\n </Link>\n </Box>\n );\n }\n\n const result = results.find(r => r.document.title === option);\n return (\n <SearchResultItem\n key={index}\n option={option}\n query={query}\n result={result}\n renderProps={renderProps}\n />\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useRef, useState } from 'react';\nimport {\n SearchResultState,\n SearchResultProps,\n useSearch,\n} from '@backstage/plugin-search-react';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport { createSearchLink } from '../../../utils/stringUtils';\nimport { useNavigate } from 'react-router-dom';\nimport { SearchInput } from './SearchInput';\nimport { SearchOption } from './SearchOption';\nimport { useDebouncedCallback } from '../../../hooks/useDebouncedCallback';\nimport { useTheme } from '@mui/material/styles';\n\ninterface SearchBarProps {\n query: SearchResultProps['query'];\n setSearchTerm: (term: string) => void;\n}\nexport const SearchBar = (props: SearchBarProps) => {\n const { query, setSearchTerm } = props;\n const navigate = useNavigate();\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const highlightedIndexRef = useRef(highlightedIndex);\n const { setTerm } = useSearch();\n const theme = useTheme();\n\n const onInputChange = useDebouncedCallback((_, inputValue) => {\n setSearchTerm(inputValue);\n setTerm(inputValue);\n }, 300);\n\n useEffect(() => {\n highlightedIndexRef.current = highlightedIndex;\n }, [highlightedIndex]);\n\n return (\n <SearchResultState {...props}>\n {({ loading, error, value }) => {\n const results = query?.term ? value?.results ?? [] : [];\n let options: string[] = [];\n if (query?.term && results.length === 0) {\n options = ['No results found'];\n }\n if (results.length > 0) {\n options = [\n ...results.map(result => result.document.title),\n `${query?.term}`,\n ];\n }\n const searchLink = createSearchLink(query?.term ?? '');\n\n return (\n <Autocomplete\n freeSolo\n options={options}\n loading={loading}\n value={query?.term ?? ''}\n getOptionLabel={option => option ?? ''}\n onInputChange={onInputChange}\n onHighlightChange={(_, option) =>\n setHighlightedIndex(options.indexOf(option ?? ''))\n }\n componentsProps={{\n paper: {\n sx: {\n borderRadius: '4px',\n outline: 'unset',\n },\n },\n }}\n sx={{\n width: '100%',\n background:\n theme.palette.mode === 'dark' ? '#FFFFFF10' : '#CDCDCD10',\n '& [class*=\"MuiAutocomplete-clearIndicator\"]': {\n visibility: query?.term ? 'visible' : 'hidden',\n },\n padding: '.2rem',\n borderRadius: '8px',\n '&:hover': {\n background:\n theme.palette.mode === 'dark' ? '#FFFFFF25' : '#CDCDCD25',\n },\n }}\n filterOptions={x => x}\n onKeyDown={event => {\n const currentHighlight = highlightedIndexRef.current;\n if (event.key === 'Enter') {\n event.preventDefault();\n if (currentHighlight === -1 && query?.term) {\n navigate(searchLink);\n } else if (currentHighlight !== -1) {\n navigate(\n results[highlightedIndex]?.document?.location ?? searchLink,\n );\n }\n setHighlightedIndex(-1);\n }\n }}\n renderInput={params => (\n <SearchInput\n params={params}\n error={!!error}\n helperText={error ? 'Error fetching results' : ''}\n />\n )}\n renderOption={(renderProps, option, { index }) => (\n <SearchOption\n option={option}\n index={index}\n options={options}\n query={query}\n results={results}\n renderProps={renderProps}\n searchLink={searchLink}\n />\n )}\n ListboxProps={{\n sx: { maxHeight: '60vh' },\n }}\n />\n );\n }}\n </SearchResultState>\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useRef, useEffect, useCallback } from 'react';\n\nexport const useDebouncedCallback = <T extends (...args: any[]) => void>(\n callback: T,\n delay: number,\n) => {\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n return useCallback(\n (...args: Parameters<T>) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n timeoutRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n },\n [callback, delay],\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SearchContextProvider } from '@backstage/plugin-search-react';\nimport { useState } from 'react';\nimport { SearchBar } from './SearchBar';\nimport { Box } from '@material-ui/core';\n\nexport const SearchComponent = () => {\n const [searchTerm, setSearchTerm] = useState<string>('');\n\n return (\n <SearchContextProvider>\n <Box component=\"div\" sx={{ width: '100%', maxWidth: '50vw' }}>\n <SearchBar query={{ term: searchTerm }} setSearchTerm={setSearchTerm} />\n </Box>\n </SearchContextProvider>\n );\n};\n","/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useUserProfile } from '@backstage/plugin-user-settings';\nimport Avatar from '@mui/material/Avatar';\nimport Skeleton from '@mui/material/Skeleton';\n\ninterface UserAvatarProps {\n width?: string;\n height?: string;\n}\n\nexport const UserAvatar: React.FC<UserAvatarProps> = ({ width, height }) => {\n const { profile, loading: profileLoading } = useUserProfile();\n\n return (\n <>\n {profileLoading ? (\n <Skeleton variant=\"circular\" sx={{ width, height }} />\n ) : (\n <Avatar\n src={profile.picture}\n sx={{ width, height, objectFit: 'cover' }}\n alt=\"Profile picture\"\n />\n )}\n </>\n );\n};\n","import { identityApiRef, useApi } from '@backstage/core-plugin-api';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport LogoutIcon from '@mui/icons-material/Logout';\nimport Box from '@mui/material/Box';\n\nexport const Logout = () => {\n const identityApi = useApi(identityApiRef);\n\n return (\n <Box\n component=\"div\"\n onClick={async () => {\n await identityApi.signOut();\n }}\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n }}\n >\n <ListItemIcon>\n <LogoutIcon fontSize=\"small\" />\n </ListItemIcon>\n Log out\n </Box>\n );\n};\n","import { ReactElement, useEffect } from 'react';\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\nimport SettingsIcon from '@mui/icons-material/Settings';\nimport Menu from '@mui/material/Menu';\nimport Box from '@mui/material/Box';\nimport { useUserProfile } from '@backstage/plugin-user-settings';\nimport Typography from '@mui/material/Typography';\nimport { Divider, ListItemIcon, MenuItem } from '@material-ui/core';\nimport { UserAvatar } from '../../userAvatar/UserAvatar';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { catalogApiRef } from '@backstage/plugin-catalog-react';\nimport { configApiRef } from '@backstage/core-plugin-api';\nimport { UserEntity } from '@backstage/catalog-model';\nimport { Link } from 'react-router-dom';\nimport { Logout } from '../logout/Logout';\nimport Chip from '@mui/material/Chip';\nimport { useTheme } from '@mui/material/styles';\n\ninterface MenuItemsProps {\n anchorEl: HTMLElement | null;\n menuId: string;\n isOpen: boolean;\n handleClose: () => void;\n}\n\ninterface MenuItemProps {\n handleClose: () => void;\n link: string;\n children: ReactElement;\n}\n\nconst MenuItemComponent: React.FC<MenuItemProps> = ({\n handleClose,\n link,\n children,\n}) => {\n return (\n <MenuItem onClick={handleClose}>\n <Link to={link}>\n <Box\n component=\"div\"\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n padding: '.1rem 0',\n }}\n >\n {children}\n </Box>\n </Link>\n </MenuItem>\n );\n};\n\nexport const MenuItems: React.FC<MenuItemsProps> = ({\n anchorEl,\n menuId,\n isOpen,\n handleClose,\n}) => {\n const theme = useTheme();\n const { displayName, backstageIdentity } = useUserProfile();\n const catalogApi = useApi(catalogApiRef);\n const config = useApi(configApiRef);\n const supportUrl =\n config.app?.support?.url ??\n // config.getOptionalString('app.support.url') ??\n 'https://github.com/orgs/veecode-platform/discussions';\n\n useEffect(() => {\n const fetchUserEntity = async () => {\n let userProfile;\n try {\n if (backstageIdentity?.userEntityRef) {\n userProfile = (await catalogApi.getEntityByRef(\n backstageIdentity.userEntityRef,\n )) as unknown as UserEntity;\n }\n return userProfile;\n } catch (_err) {\n return null;\n }\n };\n\n fetchUserEntity();\n }, [backstageIdentity, catalogApi]);\n\n const profileDisplayName = () => {\n const name = displayName;\n const regex = /^[^:/]+:[^/]+\\/[^/]+$/;\n if (regex.test(name)) {\n return name\n .charAt(name.indexOf('/') + 1)\n .toLocaleUpperCase('en-US')\n .concat(name.substring(name.indexOf('/') + 2));\n }\n return name;\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n id={menuId}\n keepMounted\n open={isOpen}\n onClose={handleClose}\n slotProps={{\n paper: {\n sx: {\n width: 250,\n borderRadius: 2,\n mt: 0.8,\n mr: -0.5,\n boxShadow: 3,\n background: `${theme.palette.background.default} !important`,\n border: `1px solid ${theme.palette.grey[600]}`,\n },\n },\n }}\n >\n {/* Profile */}\n <Box\n sx={{ px: 2, py: 1.5, display: 'flex', alignItems: 'center', gap: 1.5 }}\n >\n <UserAvatar />\n <Box>\n <Typography variant=\"subtitle1\">{profileDisplayName()}</Typography>\n <Chip\n size=\"small\"\n variant=\"outlined\"\n label={backstageIdentity?.ownershipEntityRefs[0].split('/')[1]}\n />\n </Box>\n </Box>\n\n <Divider />\n\n {/* Support */}\n <MenuItemComponent handleClose={handleClose} link={supportUrl}>\n <>\n <ListItemIcon>\n <HelpOutlineIcon fontSize=\"small\" />\n </ListItemIcon>\n Help\n </>\n </MenuItemComponent>\n {/* Settings */}\n <MenuItemComponent handleClose={handleClose} link=\"/settings\">\n <>\n <ListItemIcon>\n <SettingsIcon fontSize=\"small\" />\n </ListItemIcon>\n Settings\n </>\n </MenuItemComponent>\n <Divider />\n\n {/* Logout */}\n <MenuItem>\n <Logout />\n </MenuItem>\n </Menu>\n );\n};\n","/* eslint-disable no-restricted-syntax */\nimport { useState, useEffect, useMemo } from 'react';\nimport Badge from '@mui/material/Badge';\nimport NotificationsIcon from '@mui/icons-material/Notifications';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport {\n GetNotificationsOptions,\n GetNotificationsResponse,\n GetTopicsResponse,\n useNotificationsApi,\n} from '@backstage/plugin-notifications';\nimport {\n NotificationSeverity,\n NotificationStatus,\n} from '@backstage/plugin-notifications-common';\nimport { useSignal } from '@backstage/plugin-signals-react';\nimport throttle from 'lodash/throttle';\nimport { IconButtonComponent } from '../iconButtonComponent/IconButtonComponent';\n\nconst ThrottleDelayMs = 2000;\n\nexport const Notifications = () => {\n const [unreadOnly] = useState<boolean | undefined>(true);\n const [saved] = useState<boolean | undefined>(undefined);\n const [severity] = useState<NotificationSeverity>('low');\n const [topic] = useState<string>();\n\n const { lastSignal } = useSignal('notifications');\n\n const { error, value, retry, loading } = useNotificationsApi<\n [GetNotificationsResponse, NotificationStatus, GetTopicsResponse]\n >(\n api => {\n const options: GetNotificationsOptions = {\n minimumSeverity: severity,\n };\n\n if (unreadOnly !== undefined) {\n options.read = !unreadOnly;\n }\n if (saved !== undefined) {\n options.saved = saved;\n }\n if (topic !== undefined) {\n options.topic = topic;\n }\n\n return Promise.all([\n api.getNotifications(options),\n api.getStatus(),\n api.getTopics(options),\n ]);\n },\n [unreadOnly, severity, saved, topic],\n );\n\n const throttledRetry = useMemo(\n () => throttle(() => retry(), ThrottleDelayMs),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const totalCount = value?.[1]?.unread ?? 0;\n\n useEffect(() => {\n if (lastSignal?.action) {\n throttledRetry();\n }\n }, [lastSignal, throttledRetry]);\n\n return (\n <IconButtonComponent\n title=\"Notifications\"\n label={`Mostrar ${totalCount} notificações não lidas`}\n color=\"inherit\"\n link=\"/notifications\"\n >\n <Badge\n badgeContent={totalCount}\n color=\"error\"\n invisible={loading || !!error || totalCount === 0}\n >\n {loading ? (\n <CircularProgress size={20} color=\"inherit\" />\n ) : (\n <NotificationsIcon />\n )}\n </Badge>\n </IconButtonComponent>\n );\n};\n","import { IconButtonComponent } from '../iconButtonComponent/IconButtonComponent';\nimport { UserAvatar } from '../../userAvatar/UserAvatar';\n\ninterface ProfileProps {\n handleOpenMenu: (event: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport const Profile: React.FC<ProfileProps> = ({ handleOpenMenu }) => {\n return (\n <IconButtonComponent\n title=\"\"\n label=\"profile-menu\"\n handleClick={handleOpenMenu}\n color=\"inherit\"\n >\n <UserAvatar width=\"42px\" height=\"42px\" />\n </IconButtonComponent>\n );\n};\n","// eslint-disable-next-line no-restricted-syntax\nimport * as React from 'react';\nimport AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Toolbar from '@mui/material/Toolbar';\nimport { ToogleTheme } from './toggleTheme/ToggleTheme';\nimport { SearchComponent } from './searchComponent/SearchComponent';\nimport { MenuItems } from './menuItems/MenuItems';\nimport { Notifications } from './notifications/Notifications';\nimport { Profile } from './profile/Profle';\nimport { useTheme } from '@mui/material/styles';\n\nexport const HeaderComponent = () => {\n const theme = useTheme();\n const [profileAnchorEl, setProfileAnchorEl] =\n React.useState<null | HTMLElement>(null);\n\n const isProfileMenuOpen = Boolean(profileAnchorEl);\n\n const handleProfileMenuOpen = (event: React.MouseEvent<HTMLElement>) => {\n setProfileAnchorEl(event.currentTarget);\n };\n\n const handleProfileMenuClose = () => {\n setProfileAnchorEl(null);\n };\n\n return (\n <Box sx={{ flexGrow: 1, position: 'relative' }}>\n <AppBar\n position=\"sticky\"\n component=\"nav\"\n style={{ zIndex: theme.zIndex.appBar - 1 }}\n >\n <Toolbar>\n <SearchComponent />\n <Box sx={{ flexGrow: 1 }} />\n <Box\n sx={{\n display: {\n xs: 'none',\n md: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n },\n }}\n >\n <Notifications />\n <ToogleTheme />\n <Profile handleOpenMenu={handleProfileMenuOpen} />\n </Box>\n </Toolbar>\n </AppBar>\n\n {/* Profile options */}\n <MenuItems\n anchorEl={profileAnchorEl}\n menuId=\"profile-menu\"\n isOpen={isProfileMenuOpen}\n handleClose={handleProfileMenuClose}\n />\n </Box>\n );\n};\n","import Box from '@mui/material/Box';\nimport { useTheme } from '@mui/material/styles';\nimport { UserAvatar } from '../userAvatar/UserAvatar';\nimport Typography from '@mui/material/Typography';\nimport { useApi, configApiRef } from '@backstage/core-plugin-api';\nimport { useUserProfile } from '@backstage/plugin-user-settings';\nimport Skeleton from '@mui/material/Skeleton';\nimport { useEffect, useState } from 'react';\nimport WavesImg from '../../assets/waves.svg';\n\nexport const HomeGreeting = () => {\n const [loading, setLoading] = useState<boolean>(false);\n const { displayName } = useUserProfile();\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n const configApi = useApi(configApiRef);\n const color1 =\n (isDarkMode\n ? configApi.app?.branding?.theme?.dark?.headerColor1\n : // ? configApi.getOptionalString('app.branding.theme.dark.headerColo1')\n // : configApi.getOptionalString('app.branding.theme.light.headerColo1')) ??\n configApi.app?.branding?.theme?.light?.headerColor1) ?? '#45556D';\n const color2 =\n (isDarkMode\n ? configApi.app?.branding?.theme?.dark?.headerColor2\n : // ? configApi.getOptionalString('app.branding.theme.dark.headerColo2')\n // : configApi.getOptionalString('app.branding.theme.light.headerColo2')) ??\n configApi.app?.branding?.theme?.light?.headerColor2) ?? '#86F4CE';\n\n const profileDisplayName = () => {\n const name = displayName;\n const regex = /^[^:/]+:[^/]+\\/[^/]+$/;\n if (regex.test(name)) {\n return name\n .charAt(name.indexOf('/') + 1)\n .toLocaleUpperCase('en-US')\n .concat(name.substring(name.indexOf('/') + 2));\n }\n return name;\n };\n\n useEffect(() => {\n setLoading(true);\n setTimeout(() => setLoading(false), 1000);\n }, []);\n\n return (\n <Box\n sx={{\n background: `linear-gradient(90deg, ${color1} 0%, ${color2} 100%)`,\n width: '100%',\n minHeight: '210px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n overflow: 'hidden',\n [theme.breakpoints.only('xs')]: {\n height: 'auto',\n },\n }}\n >\n <Box\n sx={{\n width: '90%',\n margin: 'auto',\n display: 'flex',\n alignItems: 'center',\n gap: '2rem',\n [theme.breakpoints.only('xs')]: {\n flexDirection: 'column',\n padding: '1rem 0',\n },\n }}\n >\n <Box>\n <UserAvatar width=\"120px\" height=\"120px\" />\n </Box>\n <Box color={theme.palette.grey[100]}>\n <Typography variant=\"h3\">\n Welcome back\n {loading ? (\n <Skeleton\n variant=\"rectangular\"\n width={130}\n height={60}\n style={{ display: 'inline' }}\n />\n ) : (\n <>, {profileDisplayName()} 👋</>\n )}{' '}\n </Typography>\n <Typography variant=\"h6\">Let's get started.</Typography>\n </Box>\n </Box>\n <img\n src={WavesImg}\n alt=\"\"\n style={{\n width: '100%',\n height: '250px',\n objectFit: 'cover',\n position: 'absolute',\n top: '-20%',\n left: '0',\n opacity: '0.7',\n }}\n />\n </Box>\n );\n};\n","import { useTheme } from '@mui/material/styles';\n\nconst Communitylogo = () => {\n const theme = useTheme();\n return (\n <svg\n height=\"45px\"\n width=\"45px\"\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 502.648 502.648\"\n xmlSpace=\"preserve\"\n style={{ cursor: 'pointer ' }}\n >\n <g>\n <g>\n <g>\n <circle\n style={{ fill: theme.palette.grey[600] }}\n cx=\"250.399\"\n cy=\"91.549\"\n r=\"58.694\"\n />\n <path\n style={{ fill: theme.palette.grey[600] }}\n d=\"M455.861,253.028l-54.703-11.411c-18.637-3.904-37.037,4.638-46.765,19.824\n\t\t\t\tc-9.448-4.853-19.608-9.038-30.415-12.511v-32.529c0.022-24.612-20.126-44.738-44.651-44.738h-55.933\n\t\t\t\tc-24.655,0-44.716,20.126-44.716,44.738v32.701c-10.699,3.408-20.751,7.593-30.264,12.468\n\t\t\t\tc-9.728-15.251-28.15-23.857-46.809-19.953l-54.747,11.411c-24.03,5.026-39.626,28.862-34.6,52.978l13.741,65.64\n\t\t\t\tc4.983,24.051,28.84,39.647,52.892,34.621l17.321-3.624c8.671,12.813,20.665,24.569,36.023,34.621\n\t\t\t\tc31.989,20.967,74.247,32.529,119.092,32.529c68.617,0,127.721-27.589,154.943-67.215l17.602,3.689\n\t\t\t\tc24.03,5.004,47.887-10.57,52.87-34.621l13.762-65.64C495.508,281.89,479.912,258.054,455.861,253.028z M251.305,447.381\n\t\t\t\tc-40.51,0-78.475-10.203-106.797-28.862c-9.707-6.342-17.753-13.395-24.202-20.945l13.266-2.783\n\t\t\t\tc24.073-5.004,39.669-28.84,34.643-52.913l-12.317-59.018c7.183-3.861,14.733-7.248,22.757-10.138v10.764\n\t\t\t\tc0,24.569,20.104,44.695,44.716,44.695h55.933c24.548,0,44.652-20.147,44.652-44.695v-11.325\n\t\t\t\tc8.175,2.912,15.854,6.256,22.973,10.052L334.439,341.9c-4.983,24.073,10.591,47.909,34.664,52.913l13.395,2.804\n\t\t\t\tC357.52,427.191,308.101,447.381,251.305,447.381z\"\n />\n <circle\n style={{ fill: theme.palette.grey[600] }}\n cx=\"443.954\"\n cy=\"168.708\"\n r=\"58.694\"\n />\n <path\n style={{ fill: theme.palette.grey[600] }}\n d=\"M70.736,226.172c31.752-6.644,52.029-37.77,45.471-69.501\n\t\t\t\tc-6.687-31.709-37.749-52.072-69.523-45.428c-31.709,6.622-52.072,37.727-45.428,69.458\n\t\t\t\tC7.879,212.453,38.984,232.795,70.736,226.172z\"\n />\n </g>\n </g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n <g></g>\n </g>\n </svg>\n );\n};\n\nexport default Communitylogo;\n","import { useTheme } from '@mui/material/styles';\n\nconst DocsLogo = () => {\n const theme = useTheme();\n return (\n <svg\n width=\"45px\"\n height=\"45px\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n style={{ cursor: 'pointer ' }}\n >\n <path\n fill={theme.palette.grey[600]}\n fill-rule=\"evenodd\"\n d=\"M4.25 1A2.25 2.25 0 002 3.25v9.5A2.25 2.25 0 004.25 15h8.5c.69 0 1.25-.56 1.25-1.25V2.25C14 1.56 13.44 1 12.75 1h-8.5zM3.5 12.75c0 .414.336.75.75.75h8.25v-2H4.25a.75.75 0 00-.75.75v.5zm0-2.622c.235-.083.487-.128.75-.128h8.25V2.5H4.25a.75.75 0 00-.75.75v6.878z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default DocsLogo;\n","import { useTheme } from '@mui/material/styles';\n\nconst WebsiteLogo = () => {\n const theme = useTheme();\n return (\n <svg\n width=\"45px\"\n height=\"45px\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ cursor: 'pointer ' }}\n >\n <rect x=\"0\" fill=\"none\" width=\"20\" height=\"20\" />\n\n <g fill={theme.palette.grey[600]}>\n <path d=\"M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z\" />\n </g>\n </svg>\n );\n};\n\nexport default WebsiteLogo;\n","import { useTheme } from '@mui/material/styles';\n\nconst SupportLogo = () => {\n const theme = useTheme();\n return (\n <svg\n width=\"45px\"\n height=\"45px\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ cursor: 'pointer ' }}\n >\n <title>support</title>\n <rect width=\"24\" height=\"24\" fill=\"none\" />\n <path\n fill={theme.palette.grey[600]}\n d=\"M12,2a8,8,0,0,0-8,8v1.9A2.92,2.92,0,0,0,3,14a2.88,2.88,0,0,0,1.94,2.61C6.24,19.72,8.85,22,12,22h3V20H12c-2.26,0-4.31-1.7-5.34-4.39l-.21-.55L5.86,15A1,1,0,0,1,5,14a1,1,0,0,1,.5-.86l.5-.29V11a1,1,0,0,1,1-1H17a1,1,0,0,1,1,1v5H13.91a1.5,1.5,0,1,0-1.52,2H20a2,2,0,0,0,2-2V14a2,2,0,0,0-2-2V10A8,8,0,0,0,12,2Z\"\n />\n </svg>\n );\n};\n\nexport default SupportLogo;\n","// eslint-disable-next-line no-restricted-syntax\nimport * as React from 'react';\nimport { PieChart } from '@mui/x-charts/PieChart';\nimport { useDrawingArea } from '@mui/x-charts/hooks';\nimport { styled, useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { CardHeader, Divider } from '@material-ui/core';\nimport { useApi, configApiRef } from '@backstage/core-plugin-api';\nimport { useVisited } from '../../hooks/useVisited';\nimport { generateColorVariants } from '../../utils/generateColor';\nimport TurnedInNotIcon from '@mui/icons-material/TurnedInNot';\n\ninterface StyledTextProps {\n variant: 'primary' | 'secondary';\n}\n\nconst StyledText = styled('text', {\n shouldForwardProp: prop => prop !== 'variant',\n})<StyledTextProps>(({ theme }) => ({\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fill: theme.palette.text.secondary,\n variants: [\n {\n props: {\n variant: 'primary',\n },\n style: {\n fontSize: theme.typography.h5.fontSize,\n },\n },\n {\n props: ({ variant }) => variant !== 'primary',\n style: {\n fontSize: theme.typography.body2.fontSize,\n },\n },\n {\n props: {\n variant: 'primary',\n },\n style: {\n fontWeight: theme.typography.h5.fontWeight,\n },\n },\n {\n props: ({ variant }) => variant !== 'primary',\n style: {\n fontWeight: theme.typography.body2.fontWeight,\n },\n },\n ],\n}));\n\ninterface PieCenterLabelProps {\n primaryText: string;\n secondaryText: string;\n}\n\nfunction PieCenterLabel({ primaryText, secondaryText }: PieCenterLabelProps) {\n const { width, height, left, top } = useDrawingArea();\n const primaryY = top + height / 2 - 10;\n const secondaryY = primaryY + 24;\n\n return (\n <React.Fragment>\n <StyledText variant=\"primary\" x={left + width / 2} y={primaryY}>\n {primaryText}\n </StyledText>\n <StyledText variant=\"secondary\" x={left + width / 2} y={secondaryY}>\n {secondaryText}\n </StyledText>\n </React.Fragment>\n );\n}\n\nexport default function VisitedCharts() {\n const { total, items, visits } = useVisited();\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n const configApi = useApi(configApiRef);\n const color =\n (isDarkMode\n ? configApi.app?.branding?.theme?.dark?.headerColor1\n : // ? configApi.getOptionalString('app.branding.theme.dark.headerColo1')\n // : configApi.getOptionalString('app.branding.theme.light.headerColo1')) ??\n configApi.app?.branding?.theme?.light?.headerColor1) ?? '#45556D';\n const colors = generateColorVariants(color, items.length);\n const calculatePercent = (value: number) => {\n const percent = value / (total / 100);\n return Number(percent.toFixed(2));\n };\n\n return (\n <Card\n variant=\"outlined\"\n sx={{ display: 'flex', flexDirection: 'column', gap: '8px', flexGrow: 1 }}\n >\n <CardHeader title=\"Top Visited\" />\n <Divider />\n <CardContent>\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <PieChart\n colors={colors}\n margin={{\n left: 80,\n right: 80,\n top: 80,\n bottom: 80,\n }}\n series={[\n {\n data: items,\n innerRadius: 75,\n outerRadius: 100,\n paddingAngle: 0,\n highlightScope: { fade: 'global', highlight: 'item' },\n },\n ]}\n height={260}\n width={260}\n hideLegend\n >\n <PieCenterLabel primaryText={`${total}`} secondaryText=\"Total\" />\n </PieChart>\n </Box>\n </CardContent>\n <Box\n sx={{ padding: '2rem', background: theme.palette.background.default }}\n >\n {visits.map(visit => (\n <Stack\n key={visit.id}\n direction=\"row\"\n sx={{ alignItems: 'center', gap: 2, pb: 2 }}\n >\n <TurnedInNotIcon />\n <Stack sx={{ gap: 1, flexGrow: 1 }}>\n <Stack\n direction=\"row\"\n sx={{\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 2,\n }}\n >\n <Typography variant=\"body2\" sx={{ fontWeight: '500' }}>\n {visit.name}\n </Typography>\n <Typography variant=\"body2\" sx={{ color: 'text.secondary' }}>\n {calculatePercent(visit.hits)}%\n </Typography>\n </Stack>\n <LinearProgress\n variant=\"determinate\"\n aria-label=\"Number of users by country\"\n value={calculatePercent(visit.hits)}\n />\n </Stack>\n </Stack>\n ))}\n </Box>\n </Card>\n );\n}\n","import { useApi } from '@backstage/core-plugin-api';\nimport { Visit, visitsApiRef } from '@backstage/plugin-home';\nimport useAsync from 'react-use/esm/useAsync';\n\ntype VisitItem = {\n label: string;\n value: number;\n};\n\ntype VisitData = {\n id: string;\n name: string;\n path: string;\n hits: number;\n};\n\ninterface VisitType {\n total: number;\n items: VisitItem[];\n visits: VisitData[];\n}\n\nexport const useVisited = () => {\n const useVisitedApi = useApi(visitsApiRef);\n\n const { value, loading, error } = useAsync(async (): Promise<VisitType> => {\n const data = (await useVisitedApi.list()) as Visit[];\n const total = data.reduce((acc, item) => acc + item.hits, 0);\n const items = data.map(visit => ({\n label: visit.name,\n value: visit.hits,\n }));\n const visits = data.map(visit => ({\n id: visit.id,\n name: visit.name,\n path: visit.pathname,\n hits: visit.hits,\n }));\n return {\n total,\n items,\n visits,\n };\n }, []);\n\n return {\n loading,\n error,\n total: value?.total ?? 0,\n items: value?.items ?? [],\n visits: value?.visits ?? [],\n };\n};\n","function rgbToHsl(\n rInput: number,\n gInput: number,\n bInput: number,\n): { h: number; s: number; l: number } {\n const r = rInput / 255;\n const g = gInput / 255;\n const b = bInput / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h = 0;\n let s = 0;\n\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n if (max === r) {\n h = (g - b) / d + (g < b ? 6 : 0);\n } else if (max === g) {\n h = (b - r) / d + 2;\n } else {\n h = (r - g) / d + 4;\n }\n\n h *= 60;\n }\n\n return {\n h: Math.round(h),\n s: Math.round(s * 100),\n l: Math.round(l * 100),\n };\n}\n\nexport function parseToHSL(color: string): { h: number; s: number; l: number } {\n const ctx = document.createElement('canvas').getContext('2d');\n if (!ctx) throw new Error('Canvas not supported');\n\n // forces the browser to resolve the color\n ctx.fillStyle = color;\n const resolved = ctx.fillStyle; // will be a hex color like \"#rrggbb\"\n\n const hex = resolved.replace(/^#/, '');\n const normalizedHex =\n hex.length === 3\n ? hex\n .split('')\n .map(c => c + c)\n .join('')\n : hex;\n\n const bigint = parseInt(normalizedHex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return rgbToHsl(r, g, b);\n}\n\nexport function generateColorVariants(\n inputColor: string = 'royalblue',\n count: number,\n startLightness = 70,\n endLightness = 30,\n): string[] {\n const { h, s } = parseToHSL(inputColor);\n const step = (startLightness - endLightness) / Math.max(count - 1, 1);\n\n return Array.from({ length: count }, (_, i) => {\n const l = startLightness - i * step;\n return `hsl(${h}, ${s}%, ${l}%)`;\n });\n}\n","/* eslint-disable no-restricted-syntax */\nimport {\n HomePageStarredEntities,\n HomePageToolkit,\n HomePageRecentlyVisited,\n} from '@backstage/plugin-home';\nimport Grid from '@mui/material/Grid';\nimport { SearchContextProvider } from '@backstage/plugin-search-react';\nimport { Content } from '@backstage/core-components';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport Communitylogo from '../../assets/Community';\nimport DocsLogo from '../../assets/Docs';\nimport WebsiteLogo from '../../assets/Website';\nimport SupportLogo from '../../assets/Support';\nimport BackstageLogo from '../../assets/backstage.png';\nimport PieAnimation from './VisitedCharts';\n\nexport const HomeContent = () => {\n const tools = [\n {\n url: 'https://docs.platform.vee.codes/',\n label: 'Docs',\n icon: <DocsLogo />,\n },\n {\n url: 'https://github.com/orgs/veecode-platform/discussions',\n label: 'Community',\n icon: <Communitylogo />,\n },\n {\n url: 'https://platform.vee.codes/',\n label: 'Website',\n icon: <WebsiteLogo />,\n },\n {\n url: 'https://veecode-suporte.freshdesk.com/support/login',\n label: 'Support',\n icon: <SupportLogo />,\n },\n ];\n\n return (\n <SearchContextProvider>\n <Content stretch>\n <Grid container spacing={2} justifyContent=\"center\">\n {/* Top & Recently Visited */}\n <Grid item xs={12}>\n <Grid container spacing={2}>\n <Grid item xs={12} md={6} lg={8}>\n <Grid container spacing={2} justifyContent=\"center\">\n <Grid item xs={12} md={12} lg={12}>\n <HomePageRecentlyVisited />\n </Grid>\n <Grid item xs={12} md={12} lg={12}>\n <HomePageStarredEntities />\n </Grid>\n <Grid item xs={12} md={12} lg={12}>\n <HomePageToolkit tools={tools} />\n </Grid>\n </Grid>\n </Grid>\n <Grid item xs={12} md={6} lg={4}>\n <PieAnimation />\n </Grid>\n </Grid>\n </Grid>\n {/* Footer */}\n <Grid item xs={12} sx={{ marginTop: '7rem' }}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '1.3em',\n gap: '10px',\n }}\n >\n <Typography\n sx={{\n fontSize: '1.2em',\n fontWeight: 'bold',\n }}\n >\n Powered by\n </Typography>\n <img\n src={BackstageLogo}\n alt=\"backstage logo\"\n style={{ width: '7.5em', height: '1.5em' }}\n />\n </Box>\n </Grid>\n </Grid>\n </Content>\n </SearchContextProvider>\n );\n};\n","import { makeStyles } from '@material-ui/core';\nimport { HeaderComponent } from './headerComponent/HeaderComponent';\nimport { HomeGreeting } from './homeGretting/HomeGretting';\nimport { HomeContent } from './homeContent/HomeContent';\nimport { Page } from '@backstage/core-components';\n\nconst useVeeCodeHomePageStyles = makeStyles(theme => ({\n pageRoot: {\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: theme.palette.background.default,\n },\n}));\n\nexport const VeeCodeHomePage = () => {\n const { pageRoot } = useVeeCodeHomePageStyles();\n return (\n <Page themeId=\"home\" className={pageRoot}>\n <HeaderComponent />\n <HomeGreeting />\n <HomeContent />\n </Page>\n );\n};\n"],"names":["IconButtonComponent","title","label","color","handleClick","link","children","button","IconButton","size","aria-label","aria-controls","aria-haspopup","sx","width","height","borderRadius","onClick","Tooltip","Link","to","ToogleTheme","appThemeApi","useApi","appThemeApiRef","isDarkMode","useTheme","palette","mode","tooltipTitle","themeIds","getInstalledThemes","e","newThemeId","preventDefault","stopPropagation","some","it","id","setActiveThemeId","undefined","LightModeOutlinedIcon","DarkModeOutlinedIcon","highlightMatch","text","query","escapedQuery","replace","regex","RegExp","parts","split","map","part","index","test","Typography","component","fontWeight","SearchInput","params","error","helperText","TextField","placeholder","variant","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","style","input","border","SearchResultItem","option","result","renderProps","isNoResultsFound","analytics","useAnalytics","Box","document","location","underline","cursor","ListItem","py","captureEvent","attributes","value","rank","flexGrow","term","SearchOption","options","results","searchLink","length","Divider","my","className","display","alignItems","ArrowForwardIcon","fontSize","find","r","SearchBar","props","setSearchTerm","navigate","useNavigate","highlightedIndex","setHighlightedIndex","useState","highlightedIndexRef","useRef","setTerm","useSearch","theme","onInputChange","callback","timeoutRef","useEffect","current","clearTimeout","useCallback","args","setTimeout","useDebouncedCallback","_","inputValue","SearchResultState","loading","searchTerm","encodeURIComponent","Autocomplete","freeSolo","getOptionLabel","onHighlightChange","indexOf","componentsProps","paper","outline","background","visibility","padding","filterOptions","x","onKeyDown","event","currentHighlight","key","renderInput","renderOption","ListboxProps","maxHeight","SearchComponent","SearchContextProvider","maxWidth","UserAvatar","profile","profileLoading","useUserProfile","Skeleton","Avatar","src","picture","objectFit","alt","Logout","identityApi","identityApiRef","async","signOut","justifyContent","ListItemIcon","LogoutIcon","MenuItemComponent","handleClose","MenuItem","MenuItems","anchorEl","menuId","isOpen","config","displayName","backstageIdentity","catalogApi","catalogApiRef","supportUrl","configApiRef","app","support","url","userProfile","userEntityRef","getEntityByRef","_err","fetchUserEntity","Menu","anchorOrigin","vertical","horizontal","transformOrigin","keepMounted","open","onClose","slotProps","mt","mr","boxShadow","default","grey","px","gap","name","charAt","toLocaleUpperCase","concat","substring","profileDisplayName","Chip","ownershipEntityRefs","HelpOutlineIcon","SettingsIcon","Notifications","unreadOnly","saved","severity","topic","lastSignal","useSignal","retry","useNotificationsApi","api","minimumSeverity","read","Promise","all","getNotifications","getStatus","getTopics","throttledRetry","useMemo","throttle","totalCount","unread","action","Badge","badgeContent","invisible","CircularProgress","NotificationsIcon","Profile","handleOpenMenu","HeaderComponent","profileAnchorEl","setProfileAnchorEl","React","isProfileMenuOpen","Boolean","AppBar","zIndex","appBar","Toolbar","xs","md","currentTarget","HomeGreeting","configApi","setLoading","color1","branding","dark","headerColor1","light","color2","headerColor2","minHeight","overflow","breakpoints","only","margin","flexDirection","img","WavesImg","top","left","opacity","svg","version","xmlns","xmlnsXlink","viewBox","xmlSpace","g","circle","fill","cx","cy","path","d","fill-rule","clip-rule","rect","StyledText","styled","shouldForwardProp","prop","textAnchor","dominantBaseline","secondary","variants","typography","h5","body2","PieCenterLabel","primaryText","secondaryText","useDrawingArea","primaryY","secondaryY","y","VisitedCharts","total","items","visits","useVisitedApi","visitsApiRef","useAsync","data","list","reduce","acc","item","hits","visit","pathname","useVisited","colors","inputColor","count","startLightness","endLightness","h","s","ctx","createElement","getContext","Error","fillStyle","hex","normalizedHex","c","join","bigint","parseInt","rInput","gInput","bInput","b","max","Math","min","l","round","rgbToHsl","parseToHSL","step","Array","from","i","generateColorVariants","calculatePercent","Number","toFixed","Card","CardHeader","CardContent","PieChart","right","bottom","series","innerRadius","outerRadius","paddingAngle","highlightScope","fade","highlight","hideLegend","Stack","direction","pb","TurnedInNotIcon","LinearProgress","HomeContent","tools","icon","DocsLogo","Communitylogo","WebsiteLogo","SupportLogo","Content","stretch","Grid","container","spacing","lg","HomePageRecentlyVisited","HomePageStarredEntities","HomePageToolkit","PieAnimation","marginTop","BackstageLogo","useVeeCodeHomePageStyles","makeStyles","pageRoot","backgroundColor","VeeCodeHomePage","Page","themeId"],"sourceRoot":""}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[4628],{84628:(e,t,r)=>{r.r(t),r.d(t,{Box:()=>ye,Container:()=>Dt,GlobalStyles:()=>c,RtlProvider:()=>st.A,Stack:()=>Or,StyledEngineProvider:()=>n.StyledEngineProvider,ThemeProvider:()=>ct,Unstable_Grid:()=>gr,alignContent:()=>C,alignItems:()=>$,alignSelf:()=>G,alpha:()=>Xe,backgroundColor:()=>P.oR,bgcolor:()=>P.N_,blend:()=>ot,border:()=>u.PQ,borderBottom:()=>u.I5,borderBottomColor:()=>u.fe,borderColor:()=>u.Cz,borderLeft:()=>u.Kz,borderLeftColor:()=>u.P3,borderRadius:()=>u.Vq,borderRight:()=>u.fo,borderRightColor:()=>u.oK,borderTop:()=>u.Iy,borderTopColor:()=>u.nD,borderTransform:()=>u.t0,borders:()=>u.Ay,bottom:()=>K,boxSizing:()=>D.K,breakpoints:()=>d.Ay,color:()=>P.yW,colorChannel:()=>ze,columnGap:()=>I.Dv,compose:()=>p.A,containerClasses:()=>Ht,createBox:()=>fe,createBreakpoints:()=>Ge.A,createContainer:()=>Bt,createGrid:()=>fr,createSpacing:()=>We.A,createStack:()=>jr,createStyled:()=>_e,createTheme:()=>Se.A,createUnarySpacing:()=>q.LX,createUnaryUnit:()=>q.MA,css:()=>n.css,darken:()=>Ze,decomposeColor:()=>Ke,display:()=>A,emphasize:()=>tt,experimental_sx:()=>Gr,flex:()=>O,flexBasis:()=>b,flexDirection:()=>x,flexGrow:()=>_,flexShrink:()=>M,flexWrap:()=>w,flexbox:()=>E,fontFamily:()=>H,fontSize:()=>U,fontStyle:()=>X,fontWeight:()=>Q,gap:()=>I.rQ,getContainerUtilityClass:()=>qt,getContrastRatio:()=>Ue,getGridUtilityClass:()=>yr,getLuminance:()=>He,getPath:()=>m.Yn,getStackUtilityClass:()=>_r,getStyleFromPropValue:()=>q.qZ,getStyleValue:()=>m.BO,getThemeProps:()=>Ie.A,getValue:()=>q._W,grid:()=>I.Ay,gridArea:()=>I.Iz,gridAutoColumns:()=>I.RK,gridAutoFlow:()=>I.s,gridAutoRows:()=>I.Zh,gridClasses:()=>Ar,gridColumn:()=>I.FB,gridRow:()=>I.lJ,gridTemplateAreas:()=>I.by,gridTemplateColumns:()=>I.y9,gridTemplateRows:()=>I.co,handleBreakpoints:()=>d.NI,height:()=>D.uJ,hexToRgb:()=>Le,hslToRgb:()=>qe,justifyContent:()=>k,justifyItems:()=>W,justifySelf:()=>T,keyframes:()=>n.keyframes,left:()=>z,letterSpacing:()=>Z,lighten:()=>Ye,lineHeight:()=>Y,major:()=>Gt,margin:()=>q.Lc,marginKeys:()=>q.j,maxHeight:()=>D.Kr,maxWidth:()=>D.JX,mergeBreakpointsInOrder:()=>d.iZ,minHeight:()=>D.yO,minWidth:()=>D.bV,minor:()=>Wt,order:()=>j,outline:()=>u.rj,outlineColor:()=>u.C2,padding:()=>q.Ms,paddingKeys:()=>q.Or,palette:()=>P.Ay,paletteTransform:()=>P.Sm,patch:()=>Tt,position:()=>N,positions:()=>F,preReleaseLabel:()=>Et,preReleaseNumber:()=>It,private_safeAlpha:()=>Qe,private_safeColorChannel:()=>Fe,private_safeDarken:()=>Je,private_safeEmphasize:()=>rt,private_safeLighten:()=>et,recomposeColor:()=>Be,responsivePropType:()=>_t,rgbToHex:()=>De,right:()=>L,rowGap:()=>I.pe,shadows:()=>B,shape:()=>Te.A,shouldForwardProp:()=>we,sizeHeight:()=>D.fu,sizeWidth:()=>D.E$,sizing:()=>D.Ay,sizingTransform:()=>D.LL,spacing:()=>q.Ay,stackClasses:()=>Mr,style:()=>m.Ay,styled:()=>Me,systemDefaultTheme:()=>ke,textAlign:()=>ee,textTransform:()=>J,top:()=>V,typography:()=>re,typographyVariant:()=>te,unstable_createCssVarsProvider:()=>vt,unstable_createCssVarsTheme:()=>Ot,unstable_createGetCssVar:()=>St,unstable_createStyleFunctionSx:()=>oe.k,unstable_cssVarsParser:()=>wt,unstable_defaultSxConfig:()=>se.A,unstable_extendSxProp:()=>ne.A,unstable_getThemeValue:()=>ce,unstable_prepareCssVars:()=>Ct,unstable_resolveBreakpointValues:()=>d.kW,unstable_styleFunctionSx:()=>oe.A,unstable_traverseBreakpoints:()=>Xt,useMediaQuery:()=>Ne.A,useRtl:()=>st.I,useTheme:()=>i.A,useThemeProps:()=>Ee.A,useThemeWithoutDefault:()=>Pe.A,version:()=>Mt,width:()=>D.VL,zIndex:()=>R});var o=r(62886),n=r(79096),s=r.n(n),a=r(95478),i=r(55013),l=r(31085);const c=function({styles:e,themeId:t,defaultTheme:r={}}){const o=(0,i.A)(r),s="function"==typeof e?e(t&&o[t]||o):e;return(0,l.jsx)(n.GlobalStyles,{styles:s})};var u=r(86282),d=r(11933),p=r(81605),m=r(61508);const h=(0,m.Ay)({prop:"displayPrint",cssProperty:!1,transform:e=>({"@media print":{display:e}})}),f=(0,m.Ay)({prop:"display"}),g=(0,m.Ay)({prop:"overflow"}),y=(0,m.Ay)({prop:"textOverflow"}),v=(0,m.Ay)({prop:"visibility"}),S=(0,m.Ay)({prop:"whiteSpace"}),A=(0,p.A)(h,f,g,y,v,S),b=(0,m.Ay)({prop:"flexBasis"}),x=(0,m.Ay)({prop:"flexDirection"}),w=(0,m.Ay)({prop:"flexWrap"}),k=(0,m.Ay)({prop:"justifyContent"}),$=(0,m.Ay)({prop:"alignItems"}),C=(0,m.Ay)({prop:"alignContent"}),j=(0,m.Ay)({prop:"order"}),O=(0,m.Ay)({prop:"flex"}),_=(0,m.Ay)({prop:"flexGrow"}),M=(0,m.Ay)({prop:"flexShrink"}),G=(0,m.Ay)({prop:"alignSelf"}),W=(0,m.Ay)({prop:"justifyItems"}),T=(0,m.Ay)({prop:"justifySelf"}),E=(0,p.A)(b,x,w,k,$,C,j,O,_,M,G,W,T);var I=r(92398),P=r(75310);const N=(0,m.Ay)({prop:"position"}),R=(0,m.Ay)({prop:"zIndex",themeKey:"zIndex"}),V=(0,m.Ay)({prop:"top"}),L=(0,m.Ay)({prop:"right"}),K=(0,m.Ay)({prop:"bottom"}),z=(0,m.Ay)({prop:"left"}),F=(0,p.A)(N,R,V,L,K,z),B=(0,m.Ay)({prop:"boxShadow",themeKey:"shadows"});var D=r(29779),q=r(2203);const H=(0,m.Ay)({prop:"fontFamily",themeKey:"typography"}),U=(0,m.Ay)({prop:"fontSize",themeKey:"typography"}),X=(0,m.Ay)({prop:"fontStyle",themeKey:"typography"}),Q=(0,m.Ay)({prop:"fontWeight",themeKey:"typography"}),Z=(0,m.Ay)({prop:"letterSpacing"}),J=(0,m.Ay)({prop:"textTransform"}),Y=(0,m.Ay)({prop:"lineHeight"}),ee=(0,m.Ay)({prop:"textAlign"}),te=(0,m.Ay)({prop:"typography",cssProperty:!1,themeKey:"typography"}),re=(0,p.A)(te,H,U,X,Q,Z,Y,ee,J);var oe=r(42254),ne=r(29724),se=r(75304);const ae={borders:u.Ay.filterProps,display:A.filterProps,flexbox:E.filterProps,grid:I.Ay.filterProps,positions:F.filterProps,palette:P.Ay.filterProps,shadows:B.filterProps,sizing:D.Ay.filterProps,spacing:q.Ay.filterProps,typography:re.filterProps},ie={borders:u.Ay,display:A,flexbox:E,grid:I.Ay,positions:F,palette:P.Ay,shadows:B,sizing:D.Ay,spacing:q.Ay,typography:re},le=Object.keys(ae).reduce(((e,t)=>(ae[t].forEach((r=>{e[r]=ie[t]})),e)),{}),ce=function(e,t,r){const o={[e]:t,theme:r},n=le[e];return n?n(o):{[e]:t}};var ue=r(64636),de=r(89575),pe=r(17502),me=r(54357);const he=["className","component"];function fe(e={}){const{themeId:t,defaultTheme:r,defaultClassName:o="MuiBox-root",generateClassName:n}=e,c=s()("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(oe.A);return a.forwardRef((function(e,s){const a=(0,i.A)(r),u=(0,ne.A)(e),{className:d,component:p="div"}=u,m=(0,pe.A)(u,he);return(0,l.jsx)(c,(0,de.A)({as:p,ref:s,className:(0,me.A)(d,n?n(o):o),theme:t&&a[t]||a},m))}))}var ge=r(86310);const ye=fe({defaultClassName:(0,ge.A)("MuiBox",["root"]).root,generateClassName:ue.A.generate});var ve=r(3134),Se=r(71514);const Ae=["ownerState"],be=["variants"],xe=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function we(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const ke=(0,Se.A)(),$e=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function Ce({defaultTheme:e,theme:t,themeId:r}){return o=t,0===Object.keys(o).length?e:t[r]||t;var o}function je(e){return e?(t,r)=>r[e]:null}function Oe(e,t){let{ownerState:r}=t,o=(0,pe.A)(t,Ae);const n="function"==typeof e?e((0,de.A)({ownerState:r},o)):e;if(Array.isArray(n))return n.flatMap((e=>Oe(e,(0,de.A)({ownerState:r},o))));if(n&&"object"==typeof n&&Array.isArray(n.variants)){const{variants:e=[]}=n;let t=(0,pe.A)(n,be);return e.forEach((e=>{let n=!0;"function"==typeof e.props?n=e.props((0,de.A)({ownerState:r},o,r)):Object.keys(e.props).forEach((t=>{(null==r?void 0:r[t])!==e.props[t]&&o[t]!==e.props[t]&&(n=!1)})),n&&(Array.isArray(t)||(t=[t]),t.push("function"==typeof e.style?e.style((0,de.A)({ownerState:r},o,r)):e.style))})),t}return n}function _e(e={}){const{themeId:t,defaultTheme:r=ke,rootShouldForwardProp:o=we,slotShouldForwardProp:a=we}=e,i=e=>(0,oe.A)((0,de.A)({},e,{theme:Ce((0,de.A)({},e,{defaultTheme:r,themeId:t}))}));return i.__mui_systemSx=!0,(e,l={})=>{(0,n.internal_processStyles)(e,(e=>e.filter((e=>!(null!=e&&e.__mui_systemSx)))));const{name:c,slot:u,skipVariantsResolver:d,skipSx:p,overridesResolver:m=je($e(u))}=l,h=(0,pe.A)(l,xe),f=void 0!==d?d:u&&"Root"!==u&&"root"!==u||!1,g=p||!1;let y=we;"Root"===u||"root"===u?y=o:u?y=a:function(e){return"string"==typeof e&&e.charCodeAt(0)>96}(e)&&(y=void 0);const v=s()(e,(0,de.A)({shouldForwardProp:y,label:void 0},h)),S=e=>"function"==typeof e&&e.__emotion_real!==e||(0,ve.Q)(e)?o=>Oe(e,(0,de.A)({},o,{theme:Ce({theme:o.theme,defaultTheme:r,themeId:t})})):e,A=(o,...n)=>{let s=S(o);const a=n?n.map(S):[];c&&m&&a.push((e=>{const o=Ce((0,de.A)({},e,{defaultTheme:r,themeId:t}));if(!o.components||!o.components[c]||!o.components[c].styleOverrides)return null;const n=o.components[c].styleOverrides,s={};return Object.entries(n).forEach((([t,r])=>{s[t]=Oe(r,(0,de.A)({},e,{theme:o}))})),m(e,s)})),c&&!f&&a.push((e=>{var o;const n=Ce((0,de.A)({},e,{defaultTheme:r,themeId:t}));return Oe({variants:null==n||null==(o=n.components)||null==(o=o[c])?void 0:o.variants},(0,de.A)({},e,{theme:n}))})),g||a.push(i);const l=a.length-n.length;if(Array.isArray(o)&&l>0){const e=new Array(l).fill("");s=[...o,...e],s.raw=[...o.raw,...e]}const u=v(s,...a);return e.muiName&&(u.muiName=e.muiName),u};return v.withConfig&&(A.withConfig=v.withConfig),A}}const Me=_e();var Ge=r(79719),We=r(83918),Te=r(6310),Ee=r(93086),Ie=r(50065),Pe=r(3012),Ne=r(90930),Re=r(51438);function Ve(e,t=0,r=1){return(0,Re.A)(e,t,r)}function Le(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&1===r[0].length&&(r=r.map((e=>e+e))),r?`rgb${4===r.length?"a":""}(${r.map(((e,t)=>t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3)).join(", ")})`:""}function Ke(e){if(e.type)return e;if("#"===e.charAt(0))return Ke(Le(e));const t=e.indexOf("("),r=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(r))throw new Error((0,o.A)(9,e));let n,s=e.substring(t+1,e.length-1);if("color"===r){if(s=s.split(" "),n=s.shift(),4===s.length&&"/"===s[3].charAt(0)&&(s[3]=s[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(n))throw new Error((0,o.A)(10,n))}else s=s.split(",");return s=s.map((e=>parseFloat(e))),{type:r,values:s,colorSpace:n}}const ze=e=>{const t=Ke(e);return t.values.slice(0,3).map(((e,r)=>-1!==t.type.indexOf("hsl")&&0!==r?`${e}%`:e)).join(" ")},Fe=(e,t)=>{try{return ze(e)}catch(t){return e}};function Be(e){const{type:t,colorSpace:r}=e;let{values:o}=e;return-1!==t.indexOf("rgb")?o=o.map(((e,t)=>t<3?parseInt(e,10):e)):-1!==t.indexOf("hsl")&&(o[1]=`${o[1]}%`,o[2]=`${o[2]}%`),o=-1!==t.indexOf("color")?`${r} ${o.join(" ")}`:`${o.join(", ")}`,`${t}(${o})`}function De(e){if(0===e.indexOf("#"))return e;const{values:t}=Ke(e);return`#${t.map(((e,t)=>function(e){const t=e.toString(16);return 1===t.length?`0${t}`:t}(3===t?Math.round(255*e):e))).join("")}`}function qe(e){e=Ke(e);const{values:t}=e,r=t[0],o=t[1]/100,n=t[2]/100,s=o*Math.min(n,1-n),a=(e,t=(e+r/30)%12)=>n-s*Math.max(Math.min(t-3,9-t,1),-1);let i="rgb";const l=[Math.round(255*a(0)),Math.round(255*a(8)),Math.round(255*a(4))];return"hsla"===e.type&&(i+="a",l.push(t[3])),Be({type:i,values:l})}function He(e){let t="hsl"===(e=Ke(e)).type||"hsla"===e.type?Ke(qe(e)).values:e.values;return t=t.map((t=>("color"!==e.type&&(t/=255),t<=.03928?t/12.92:((t+.055)/1.055)**2.4))),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function Ue(e,t){const r=He(e),o=He(t);return(Math.max(r,o)+.05)/(Math.min(r,o)+.05)}function Xe(e,t){return e=Ke(e),t=Ve(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]=`/${t}`:e.values[3]=t,Be(e)}function Qe(e,t,r){try{return Xe(e,t)}catch(t){return e}}function Ze(e,t){if(e=Ke(e),t=Ve(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return Be(e)}function Je(e,t,r){try{return Ze(e,t)}catch(t){return e}}function Ye(e,t){if(e=Ke(e),t=Ve(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return Be(e)}function et(e,t,r){try{return Ye(e,t)}catch(t){return e}}function tt(e,t=.15){return He(e)>.5?Ze(e,t):Ye(e,t)}function rt(e,t,r){try{return tt(e,t)}catch(t){return e}}function ot(e,t,r,o=1){const n=(e,t)=>Math.round((e**(1/o)*(1-r)+t**(1/o)*r)**o),s=Ke(e),a=Ke(t);return Be({type:"rgb",values:[n(s.values[0],a.values[0]),n(s.values[1],a.values[1]),n(s.values[2],a.values[2])]})}var nt=r(89811),st=r(26117),at=r(57416);const it={};function lt(e,t,r,o=!1){return a.useMemo((()=>{const n=e&&t[e]||t;if("function"==typeof r){const s=r(n),a=e?(0,de.A)({},t,{[e]:s}):s;return o?()=>a:a}return e?(0,de.A)({},t,{[e]:r}):(0,de.A)({},t,r)}),[e,t,r,o])}const ct=function(e){const{children:t,theme:r,themeId:o}=e,s=(0,Pe.A)(it),a=(0,nt.useTheme)()||it,i=lt(o,s,r),c=lt(o,a,r,!0),u="rtl"===i.direction;return(0,l.jsx)(nt.ThemeProvider,{theme:c,children:(0,l.jsx)(n.ThemeContext.Provider,{value:i,children:(0,l.jsx)(st.A,{value:u,children:(0,l.jsx)(at.A,{value:null==i?void 0:i.components,children:t})})})})},ut="mode",dt="color-scheme",pt="data-color-scheme";function mt(e){if("undefined"!=typeof window&&"system"===e)return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function ht(e,t){return"light"===e.mode||"system"===e.mode&&"light"===e.systemMode?t("light"):"dark"===e.mode||"system"===e.mode&&"dark"===e.systemMode?t("dark"):void 0}function ft(e,t){if("undefined"==typeof window)return;let r;try{r=localStorage.getItem(e)||void 0,r||localStorage.setItem(e,t)}catch(e){}return r||t}const gt=["colorSchemes","components","generateCssVars","cssVarPrefix"],yt="*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function vt(e){const{themeId:t,theme:r={},attribute:s=pt,modeStorageKey:i=ut,colorSchemeStorageKey:c=dt,defaultMode:u="light",defaultColorScheme:d,disableTransitionOnChange:p=!1,resolveTheme:m,excludeVariablesFromRoot:h}=e;(!r.colorSchemes||"string"==typeof d&&!r.colorSchemes[d]||"object"==typeof d&&!r.colorSchemes[null==d?void 0:d.light]||"object"==typeof d&&!r.colorSchemes[null==d?void 0:d.dark])&&console.error(`MUI: \`${d}\` does not exist in \`theme.colorSchemes\`.`);const f=a.createContext(void 0),g="string"==typeof d?d:d.light,y="string"==typeof d?d:d.dark;return{CssVarsProvider:function(e){const{children:o,theme:g=r,modeStorageKey:y=i,colorSchemeStorageKey:v=c,attribute:S=s,defaultMode:A=u,defaultColorScheme:b=d,disableTransitionOnChange:x=p,storageWindow:w=("undefined"==typeof window?void 0:window),documentNode:k=("undefined"==typeof document?void 0:document),colorSchemeNode:$=("undefined"==typeof document?void 0:document.documentElement),colorSchemeSelector:C=":root",disableNestedContext:j=!1,disableStyleSheetGeneration:O=!1}=e,_=a.useRef(!1),M=(0,nt.useTheme)(),G=a.useContext(f),W=!!G&&!j,T=g[t],E=T||g,{colorSchemes:I={},components:P={},generateCssVars:N=()=>({vars:{},css:{}}),cssVarPrefix:R}=E,V=(0,pe.A)(E,gt),L=Object.keys(I),K="string"==typeof b?b:b.light,z="string"==typeof b?b:b.dark,{mode:F,setMode:B,systemMode:D,lightColorScheme:q,darkColorScheme:H,colorScheme:U,setColorScheme:X}=function(e){const{defaultMode:t="light",defaultLightColorScheme:r,defaultDarkColorScheme:o,supportedColorSchemes:n=[],modeStorageKey:s=ut,colorSchemeStorageKey:i=dt,storageWindow:l=("undefined"==typeof window?void 0:window)}=e,c=n.join(","),[u,d]=a.useState((()=>{const e=ft(s,t),n=ft(`${i}-light`,r),a=ft(`${i}-dark`,o);return{mode:e,systemMode:mt(e),lightColorScheme:n,darkColorScheme:a}})),p=function(e){return ht(e,(t=>"light"===t?e.lightColorScheme:"dark"===t?e.darkColorScheme:void 0))}(u),m=a.useCallback((e=>{d((r=>{if(e===r.mode)return r;const o=null!=e?e:t;try{localStorage.setItem(s,o)}catch(e){}return(0,de.A)({},r,{mode:o,systemMode:mt(o)})}))}),[s,t]),h=a.useCallback((e=>{e?"string"==typeof e?e&&!c.includes(e)?console.error(`\`${e}\` does not exist in \`theme.colorSchemes\`.`):d((t=>{const r=(0,de.A)({},t);return ht(t,(t=>{try{localStorage.setItem(`${i}-${t}`,e)}catch(e){}"light"===t&&(r.lightColorScheme=e),"dark"===t&&(r.darkColorScheme=e)})),r})):d((t=>{const n=(0,de.A)({},t),s=null===e.light?r:e.light,a=null===e.dark?o:e.dark;if(s)if(c.includes(s)){n.lightColorScheme=s;try{localStorage.setItem(`${i}-light`,s)}catch(e){}}else console.error(`\`${s}\` does not exist in \`theme.colorSchemes\`.`);if(a)if(c.includes(a)){n.darkColorScheme=a;try{localStorage.setItem(`${i}-dark`,a)}catch(e){}}else console.error(`\`${a}\` does not exist in \`theme.colorSchemes\`.`);return n})):d((e=>{try{localStorage.setItem(`${i}-light`,r),localStorage.setItem(`${i}-dark`,o)}catch(e){}return(0,de.A)({},e,{lightColorScheme:r,darkColorScheme:o})}))}),[c,i,r,o]),f=a.useCallback((e=>{"system"===u.mode&&d((t=>{const r=null!=e&&e.matches?"dark":"light";return t.systemMode===r?t:(0,de.A)({},t,{systemMode:r})}))}),[u.mode]),g=a.useRef(f);return g.current=f,a.useEffect((()=>{const e=(...e)=>g.current(...e),t=window.matchMedia("(prefers-color-scheme: dark)");return t.addListener(e),e(t),()=>{t.removeListener(e)}}),[]),a.useEffect((()=>{if(l){const e=e=>{const r=e.newValue;"string"!=typeof e.key||!e.key.startsWith(i)||r&&!c.match(r)||(e.key.endsWith("light")&&h({light:r}),e.key.endsWith("dark")&&h({dark:r})),e.key!==s||r&&!["light","dark","system"].includes(r)||m(r||t)};return l.addEventListener("storage",e),()=>{l.removeEventListener("storage",e)}}}),[h,m,s,i,c,t,l]),(0,de.A)({},u,{colorScheme:p,setMode:m,setColorScheme:h})}({supportedColorSchemes:L,defaultLightColorScheme:K,defaultDarkColorScheme:z,modeStorageKey:y,colorSchemeStorageKey:v,defaultMode:A,storageWindow:w});let Q=F,Z=U;W&&(Q=G.mode,Z=G.colorScheme);const J=Z||("dark"===(Q||("system"===A?u:A))?z:K),{css:Y,vars:ee}=N(),te=(0,de.A)({},V,{components:P,colorSchemes:I,cssVarPrefix:R,vars:ee,getColorSchemeSelector:e=>`[${S}="${e}"] &`}),re={},oe={};Object.entries(I).forEach((([e,t])=>{const{css:r,vars:o}=N(e);if(te.vars=(0,ve.A)(te.vars,o),e===J&&(Object.keys(t).forEach((e=>{t[e]&&"object"==typeof t[e]?te[e]=(0,de.A)({},te[e],t[e]):te[e]=t[e]})),te.palette&&(te.palette.colorScheme=e)),e===("string"==typeof b?b:"dark"===A?b.dark:b.light)){if(h){const t={};h(R).forEach((e=>{t[e]=r[e],delete r[e]})),re[`[${S}="${e}"]`]=t}re[`${C}, [${S}="${e}"]`]=r}else oe[`${":root"===C?"":C}[${S}="${e}"]`]=r})),te.vars=(0,ve.A)(te.vars,ee),a.useEffect((()=>{Z&&$&&$.setAttribute(S,Z)}),[Z,S,$]),a.useEffect((()=>{let e;if(x&&_.current&&k){const t=k.createElement("style");t.appendChild(k.createTextNode(yt)),k.head.appendChild(t),window.getComputedStyle(k.body),e=setTimeout((()=>{k.head.removeChild(t)}),1)}return()=>{clearTimeout(e)}}),[Z,x,k]),a.useEffect((()=>(_.current=!0,()=>{_.current=!1})),[]);const ne=a.useMemo((()=>({allColorSchemes:L,colorScheme:Z,darkColorScheme:H,lightColorScheme:q,mode:Q,setColorScheme:X,setMode:B,systemMode:D})),[L,Z,H,q,Q,X,B,D]);let se=!0;(O||W&&(null==M?void 0:M.cssVarPrefix)===R)&&(se=!1);const ae=(0,l.jsxs)(a.Fragment,{children:[se&&(0,l.jsxs)(a.Fragment,{children:[(0,l.jsx)(n.GlobalStyles,{styles:{[C]:Y}}),(0,l.jsx)(n.GlobalStyles,{styles:re}),(0,l.jsx)(n.GlobalStyles,{styles:oe})]}),(0,l.jsx)(ct,{themeId:T?t:void 0,theme:m?m(te):te,children:o})]});return W?ae:(0,l.jsx)(f.Provider,{value:ne,children:ae})},useColorScheme:()=>{const e=a.useContext(f);if(!e)throw new Error((0,o.A)(19));return e},getInitColorSchemeScript:e=>function(e){const{defaultMode:t="light",defaultLightColorScheme:r="light",defaultDarkColorScheme:o="dark",modeStorageKey:n=ut,colorSchemeStorageKey:s=dt,attribute:a=pt,colorSchemeNode:i="document.documentElement",nonce:c}=e||{};return(0,l.jsx)("script",{suppressHydrationWarning:!0,nonce:"undefined"==typeof window?c:"",dangerouslySetInnerHTML:{__html:`(function() {\ntry {\n var mode = localStorage.getItem('${n}') || '${t}';\n var colorScheme = '';\n if (mode === 'system') {\n // handle system mode\n var mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n colorScheme = localStorage.getItem('${s}-dark') || '${o}';\n } else {\n colorScheme = localStorage.getItem('${s}-light') || '${r}';\n }\n }\n if (mode === 'light') {\n colorScheme = localStorage.getItem('${s}-light') || '${r}';\n }\n if (mode === 'dark') {\n colorScheme = localStorage.getItem('${s}-dark') || '${o}';\n }\n if (colorScheme) {\n ${i}.setAttribute('${a}', colorScheme);\n }\n} catch(e){}})();`}},"mui-color-scheme-init")}((0,de.A)({attribute:s,colorSchemeStorageKey:c,defaultMode:u,defaultLightColorScheme:g,defaultDarkColorScheme:y,modeStorageKey:i},e))}}function St(e=""){function t(...r){if(!r.length)return"";const o=r[0];return"string"!=typeof o||o.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, ${o}`:`, var(--${e?`${e}-`:""}${o}${t(...r.slice(1))})`}return(r,...o)=>`var(--${e?`${e}-`:""}${r}${t(...o)})`}const At=(e,t,r,o=[])=>{let n=e;t.forEach(((e,s)=>{s===t.length-1?Array.isArray(n)?n[Number(e)]=r:n&&"object"==typeof n&&(n[e]=r):n&&"object"==typeof n&&(n[e]||(n[e]=o.includes(e)?[]:{}),n=n[e])}))},bt=(e,t,r)=>{!function e(o,n=[],s=[]){Object.entries(o).forEach((([o,a])=>{(!r||r&&!r([...n,o]))&&null!=a&&("object"==typeof a&&Object.keys(a).length>0?e(a,[...n,o],Array.isArray(a)?[...s,o]:s):t([...n,o],a,s))}))}(e)},xt=(e,t)=>"number"==typeof t?["lineHeight","fontWeight","opacity","zIndex"].some((t=>e.includes(t)))||e[e.length-1].toLowerCase().indexOf("opacity")>=0?t:`${t}px`:t;function wt(e,t){const{prefix:r,shouldSkipGeneratingVar:o}=t||{},n={},s={},a={};return bt(e,((e,t,i)=>{if(!("string"!=typeof t&&"number"!=typeof t||o&&o(e,t))){const o=`--${r?`${r}-`:""}${e.join("-")}`;Object.assign(n,{[o]:xt(e,t)}),At(s,e,`var(${o})`,i),At(a,e,`var(${o}, ${t})`,i)}}),(e=>"vars"===e[0])),{css:n,vars:s,varsWithDefaults:a}}var kt=r(11369);const $t=["colorSchemes","components","defaultColorScheme"],Ct=function(e,t){const{colorSchemes:r={},defaultColorScheme:o="light"}=e,n=(0,pe.A)(e,$t),{vars:s,css:a,varsWithDefaults:i}=wt(n,t);let l=i;const c={},{[o]:u}=r,d=(0,pe.A)(r,[o].map(kt.A));if(Object.entries(d||{}).forEach((([e,r])=>{const{vars:o,css:n,varsWithDefaults:s}=wt(r,t);l=(0,ve.A)(l,s),c[e]={css:n,vars:o}})),u){const{css:e,vars:r,varsWithDefaults:n}=wt(u,t);l=(0,ve.A)(l,n),c[o]={css:e,vars:r}}return{vars:l,generateCssVars:e=>{var r;if(!e){var o;const r=(0,de.A)({},a);return{css:r,vars:s,selector:(null==t||null==(o=t.getSelector)?void 0:o.call(t,e,r))||":root"}}const n=(0,de.A)({},c[e].css);return{css:n,vars:c[e].vars,selector:(null==t||null==(r=t.getSelector)?void 0:r.call(t,e,n))||":root"}}}},jt=["cssVarPrefix","shouldSkipGeneratingVar"],Ot=function(e){const{cssVarPrefix:t,shouldSkipGeneratingVar:r}=e,o=(0,pe.A)(e,jt);return(0,de.A)({},e,Ct(o,{prefix:t,shouldSkipGeneratingVar:r}))},_t={},Mt="5.17.1",Gt=Number("5"),Wt=Number("17"),Tt=Number("1"),Et=null,It=Number(void 0)||null;var Pt=r(18526),Nt=r(90028),Rt=r(4456);const Vt=["className","component","disableGutters","fixed","maxWidth","classes"],Lt=(0,Se.A)(),Kt=Me("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[`maxWidth${(0,Rt.A)(String(r.maxWidth))}`],r.fixed&&t.fixed,r.disableGutters&&t.disableGutters]}}),zt=e=>(0,Ee.A)({props:e,name:"MuiContainer",defaultTheme:Lt}),Ft=(e,t)=>{const{classes:r,fixed:o,disableGutters:n,maxWidth:s}=e,a={root:["root",s&&`maxWidth${(0,Rt.A)(String(s))}`,o&&"fixed",n&&"disableGutters"]};return(0,Nt.A)(a,(e=>(0,Pt.Ay)(t,e)),r)};function Bt(e={}){const{createStyledComponent:t=Kt,useThemeProps:r=zt,componentName:o="MuiContainer"}=e,n=t((({theme:e,ownerState:t})=>(0,de.A)({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}})),(({theme:e,ownerState:t})=>t.fixed&&Object.keys(e.breakpoints.values).reduce(((t,r)=>{const o=r,n=e.breakpoints.values[o];return 0!==n&&(t[e.breakpoints.up(o)]={maxWidth:`${n}${e.breakpoints.unit}`}),t}),{})),(({theme:e,ownerState:t})=>(0,de.A)({},"xs"===t.maxWidth&&{[e.breakpoints.up("xs")]:{maxWidth:Math.max(e.breakpoints.values.xs,444)}},t.maxWidth&&"xs"!==t.maxWidth&&{[e.breakpoints.up(t.maxWidth)]:{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`}})));return a.forwardRef((function(e,t){const s=r(e),{className:a,component:i="div",disableGutters:c=!1,fixed:u=!1,maxWidth:d="lg"}=s,p=(0,pe.A)(s,Vt),m=(0,de.A)({},s,{component:i,disableGutters:c,fixed:u,maxWidth:d}),h=Ft(m,o);return(0,l.jsx)(n,(0,de.A)({as:i,ownerState:m,className:(0,me.A)(h.root,a),ref:t},p))}))}const Dt=Bt();function qt(e){return(0,Pt.Ay)("MuiContainer",e)}const Ht=(0,ge.A)("MuiContainer",["root","disableGutters","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl"]);var Ut=r(6878);const Xt=(e,t,r)=>{const o=e.keys[0];var n,s;Array.isArray(t)?t.forEach(((t,o)=>{r(((t,r)=>{o<=e.keys.length-1&&(0===o?Object.assign(t,r):t[e.up(e.keys[o])]=r)}),t)})):t&&"object"==typeof t?(Object.keys(t).length>e.keys.length?e.keys:(n=e.keys,s=Object.keys(t),n.filter((e=>s.includes(e))))).forEach((n=>{if(-1!==e.keys.indexOf(n)){const s=t[n];void 0!==s&&r(((t,r)=>{o===n?Object.assign(t,r):t[e.up(n)]=r}),s)}})):"number"!=typeof t&&"string"!=typeof t||r(((e,t)=>{Object.assign(e,t)}),t)};function Qt(e){return e?`Level${e}`:""}function Zt(e){return e.unstable_level>0&&e.container}function Jt(e){return function(t){return`var(--Grid-${t}Spacing${Qt(e.unstable_level)})`}}function Yt(e){return function(t){return 0===e.unstable_level?`var(--Grid-${t}Spacing)`:`var(--Grid-${t}Spacing${Qt(e.unstable_level-1)})`}}function er(e){return 0===e.unstable_level?"var(--Grid-columns)":`var(--Grid-columns${Qt(e.unstable_level-1)})`}const tr=({theme:e,ownerState:t})=>{const r=Jt(t),o={};return Xt(e.breakpoints,t.gridSize,((e,n)=>{let s={};!0===n&&(s={flexBasis:0,flexGrow:1,maxWidth:"100%"}),"auto"===n&&(s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),"number"==typeof n&&(s={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${n} / ${er(t)}${Zt(t)?` + ${r("column")}`:""})`}),e(o,s)})),o},rr=({theme:e,ownerState:t})=>{const r={};return Xt(e.breakpoints,t.gridOffset,((e,o)=>{let n={};"auto"===o&&(n={marginLeft:"auto"}),"number"==typeof o&&(n={marginLeft:0===o?"0px":`calc(100% * ${o} / ${er(t)})`}),e(r,n)})),r},or=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=Zt(t)?{[`--Grid-columns${Qt(t.unstable_level)}`]:er(t)}:{"--Grid-columns":12};return Xt(e.breakpoints,t.columns,((e,o)=>{e(r,{[`--Grid-columns${Qt(t.unstable_level)}`]:o})})),r},nr=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=Yt(t),o=Zt(t)?{[`--Grid-rowSpacing${Qt(t.unstable_level)}`]:r("row")}:{};return Xt(e.breakpoints,t.rowSpacing,((r,n)=>{var s;r(o,{[`--Grid-rowSpacing${Qt(t.unstable_level)}`]:"string"==typeof n?n:null==(s=e.spacing)?void 0:s.call(e,n)})})),o},sr=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=Yt(t),o=Zt(t)?{[`--Grid-columnSpacing${Qt(t.unstable_level)}`]:r("column")}:{};return Xt(e.breakpoints,t.columnSpacing,((r,n)=>{var s;r(o,{[`--Grid-columnSpacing${Qt(t.unstable_level)}`]:"string"==typeof n?n:null==(s=e.spacing)?void 0:s.call(e,n)})})),o},ar=({theme:e,ownerState:t})=>{if(!t.container)return{};const r={};return Xt(e.breakpoints,t.direction,((e,t)=>{e(r,{flexDirection:t})})),r},ir=({ownerState:e})=>{const t=Jt(e),r=Yt(e);return(0,de.A)({minWidth:0,boxSizing:"border-box"},e.container&&(0,de.A)({display:"flex",flexWrap:"wrap"},e.wrap&&"wrap"!==e.wrap&&{flexWrap:e.wrap},{margin:`calc(${t("row")} / -2) calc(${t("column")} / -2)`},e.disableEqualOverflow&&{margin:`calc(${t("row")} * -1) 0px 0px calc(${t("column")} * -1)`}),(!e.container||Zt(e))&&(0,de.A)({padding:`calc(${r("row")} / 2) calc(${r("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${r("row")} 0px 0px ${r("column")}`}))},lr=e=>{const t=[];return Object.entries(e).forEach((([e,r])=>{!1!==r&&void 0!==r&&t.push(`grid-${e}-${String(r)}`)})),t},cr=(e,t="xs")=>{function r(e){return void 0!==e&&("string"==typeof e&&!Number.isNaN(Number(e))||"number"==typeof e&&e>0)}if(r(e))return[`spacing-${t}-${String(e)}`];if("object"==typeof e&&!Array.isArray(e)){const t=[];return Object.entries(e).forEach((([e,o])=>{r(o)&&t.push(`spacing-${e}-${String(o)}`)})),t}return[]},ur=e=>void 0===e?[]:"object"==typeof e?Object.entries(e).map((([e,t])=>`direction-${e}-${t}`)):[`direction-xs-${String(e)}`],dr=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],pr=(0,Se.A)(),mr=Me("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function hr(e){return(0,Ee.A)({props:e,name:"MuiGrid",defaultTheme:pr})}function fr(e={}){const{createStyledComponent:t=mr,useThemeProps:r=hr,componentName:o="MuiGrid"}=e,n=a.createContext(void 0),s=t(or,sr,nr,tr,ar,ir,rr),c=a.forwardRef((function(e,t){var c,u,d,p,m,h,f,g;const y=(0,i.A)(),v=r(e),S=(0,ne.A)(v),A=a.useContext(n),{className:b,children:x,columns:w=12,container:k=!1,component:$="div",direction:C="row",wrap:j="wrap",spacing:O=0,rowSpacing:_=O,columnSpacing:M=O,disableEqualOverflow:G,unstable_level:W=0}=S,T=(0,pe.A)(S,dr);let E=G;W&&void 0!==G&&(E=e.disableEqualOverflow);const I={},P={},N={};Object.entries(T).forEach((([e,t])=>{void 0!==y.breakpoints.values[e]?I[e]=t:void 0!==y.breakpoints.values[e.replace("Offset","")]?P[e.replace("Offset","")]=t:N[e]=t}));const R=null!=(c=e.columns)?c:W?void 0:w,V=null!=(u=e.spacing)?u:W?void 0:O,L=null!=(d=null!=(p=e.rowSpacing)?p:e.spacing)?d:W?void 0:_,K=null!=(m=null!=(h=e.columnSpacing)?h:e.spacing)?m:W?void 0:M,z=(0,de.A)({},S,{level:W,columns:R,container:k,direction:C,wrap:j,spacing:V,rowSpacing:L,columnSpacing:K,gridSize:I,gridOffset:P,disableEqualOverflow:null!=(f=null!=(g=E)?g:A)&&f,parentDisableEqualOverflow:A}),F=((e,t)=>{const{container:r,direction:n,spacing:s,wrap:a,gridSize:i}=e,l={root:["root",r&&"container","wrap"!==a&&`wrap-xs-${String(a)}`,...ur(n),...lr(i),...r?cr(s,t.breakpoints.keys[0]):[]]};return(0,Nt.A)(l,(e=>(0,Pt.Ay)(o,e)),{})})(z,y);let B=(0,l.jsx)(s,(0,de.A)({ref:t,as:$,ownerState:z,className:(0,me.A)(F.root,b)},N,{children:a.Children.map(x,(e=>{var t,r;return a.isValidElement(e)&&(0,Ut.A)(e,["Grid"])?a.cloneElement(e,{unstable_level:null!=(t=null==(r=e.props)?void 0:r.unstable_level)?t:W+1}):e}))}));return void 0!==E&&E!==(null!=A&&A)&&(B=(0,l.jsx)(n.Provider,{value:E,children:B})),B}));return c.muiName="Grid",c}const gr=fr();function yr(e){return(0,Pt.Ay)("MuiGrid",e)}const vr=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Sr=(0,ge.A)("MuiGrid",["root","container","item",...[0,1,2,3,4,5,6,7,8,9,10].map((e=>`spacing-xs-${e}`)),...["column-reverse","column","row-reverse","row"].map((e=>`direction-xs-${e}`)),...["nowrap","wrap-reverse","wrap"].map((e=>`wrap-xs-${e}`)),...vr.map((e=>`grid-xs-${e}`)),...vr.map((e=>`grid-sm-${e}`)),...vr.map((e=>`grid-md-${e}`)),...vr.map((e=>`grid-lg-${e}`)),...vr.map((e=>`grid-xl-${e}`))]),Ar=Sr,br=["component","direction","spacing","divider","children","className","useFlexGap"],xr=(0,Se.A)(),wr=Me("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function kr(e){return(0,Ee.A)({props:e,name:"MuiStack",defaultTheme:xr})}function $r(e,t){const r=a.Children.toArray(e).filter(Boolean);return r.reduce(((e,o,n)=>(e.push(o),n<r.length-1&&e.push(a.cloneElement(t,{key:`separator-${n}`})),e)),[])}const Cr=({ownerState:e,theme:t})=>{let r=(0,de.A)({display:"flex",flexDirection:"column"},(0,d.NI)({theme:t},(0,d.kW)({values:e.direction,breakpoints:t.breakpoints.values}),(e=>({flexDirection:e}))));if(e.spacing){const o=(0,q.LX)(t),n=Object.keys(t.breakpoints.values).reduce(((t,r)=>(("object"==typeof e.spacing&&null!=e.spacing[r]||"object"==typeof e.direction&&null!=e.direction[r])&&(t[r]=!0),t)),{}),s=(0,d.kW)({values:e.direction,base:n}),a=(0,d.kW)({values:e.spacing,base:n});"object"==typeof s&&Object.keys(s).forEach(((e,t,r)=>{if(!s[e]){const o=t>0?s[r[t-1]]:"column";s[e]=o}}));const i=(t,r)=>{return e.useFlexGap?{gap:(0,q._W)(o,t)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${n=r?s[r]:e.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[n]}`]:(0,q._W)(o,t)}};var n};r=(0,ve.A)(r,(0,d.NI)({theme:t},a,i))}return r=(0,d.iZ)(t.breakpoints,r),r};function jr(e={}){const{createStyledComponent:t=wr,useThemeProps:r=kr,componentName:o="MuiStack"}=e,n=t(Cr),s=a.forwardRef((function(e,t){const s=r(e),a=(0,ne.A)(s),{component:i="div",direction:c="column",spacing:u=0,divider:d,children:p,className:m,useFlexGap:h=!1}=a,f=(0,pe.A)(a,br),g={direction:c,spacing:u,useFlexGap:h},y=(0,Nt.A)({root:["root"]},(e=>(0,Pt.Ay)(o,e)),{});return(0,l.jsx)(n,(0,de.A)({as:i,ownerState:g,ref:t,className:(0,me.A)(y.root,m)},f,{children:d?$r(p,d):p}))}));return s}const Or=jr();function _r(e){return(0,Pt.Ay)("MuiStack",e)}const Mr=(0,ge.A)("MuiStack",["root"]);function Gr(){throw new Error((0,o.A)(20))}}}]);
|
2
|
+
//# sourceMappingURL=4628.534b666b.chunk.js.map
|