@veecode-platform/plugin-veecode-homepage-dynamic 0.1.2 → 0.1.3

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.
Files changed (38) hide show
  1. package/dist-scalprum/plugin-manifest.json +3 -3
  2. package/dist-scalprum/static/2235.1e9c55f2.chunk.js +206 -0
  3. package/dist-scalprum/static/{1675.6d43b5a1.chunk.js.LICENSE.txt → 2235.1e9c55f2.chunk.js.LICENSE.txt} +20 -0
  4. package/dist-scalprum/static/2235.1e9c55f2.chunk.js.map +1 -0
  5. package/dist-scalprum/static/2533.3e0d85f9.chunk.js +2 -0
  6. package/dist-scalprum/static/2533.3e0d85f9.chunk.js.map +1 -0
  7. package/dist-scalprum/static/3051.47c66b73.chunk.js +2 -0
  8. package/dist-scalprum/static/3051.47c66b73.chunk.js.map +1 -0
  9. package/dist-scalprum/static/4628.534b666b.chunk.js +2 -0
  10. package/dist-scalprum/static/4628.534b666b.chunk.js.map +1 -0
  11. package/dist-scalprum/static/7332.c9233bad.chunk.js +2 -0
  12. package/dist-scalprum/static/7332.c9233bad.chunk.js.map +1 -0
  13. package/dist-scalprum/static/7499.92139132.chunk.js +2 -0
  14. package/dist-scalprum/static/7499.92139132.chunk.js.map +1 -0
  15. package/dist-scalprum/static/7645.119794aa.chunk.js +3 -0
  16. package/dist-scalprum/static/7645.119794aa.chunk.js.map +1 -0
  17. package/dist-scalprum/static/{exposed-PluginRoot.26d32cb5.chunk.js → exposed-PluginRoot.7c0308e7.chunk.js} +2 -2
  18. package/dist-scalprum/static/{exposed-PluginRoot.26d32cb5.chunk.js.map → exposed-PluginRoot.7c0308e7.chunk.js.map} +1 -1
  19. package/dist-scalprum/veecode-platform.plugin-veecode-homepage.dae22c6ba0f08bd5f5e0.js +2 -0
  20. package/dist-scalprum/veecode-platform.plugin-veecode-homepage.dae22c6ba0f08bd5f5e0.js.map +1 -0
  21. package/package.json +2 -1
  22. package/dist-scalprum/static/102.20d7c8a2.chunk.js +0 -3
  23. package/dist-scalprum/static/102.20d7c8a2.chunk.js.map +0 -1
  24. package/dist-scalprum/static/1675.6d43b5a1.chunk.js +0 -153
  25. package/dist-scalprum/static/1675.6d43b5a1.chunk.js.map +0 -1
  26. package/dist-scalprum/static/1940.8b6f0ddf.chunk.js +0 -2
  27. package/dist-scalprum/static/1940.8b6f0ddf.chunk.js.map +0 -1
  28. package/dist-scalprum/static/6481.78e4b3e0.chunk.js +0 -2
  29. package/dist-scalprum/static/6481.78e4b3e0.chunk.js.map +0 -1
  30. package/dist-scalprum/static/6513.d56e3826.chunk.js +0 -2
  31. package/dist-scalprum/static/6513.d56e3826.chunk.js.map +0 -1
  32. package/dist-scalprum/static/7332.35321cf7.chunk.js +0 -2
  33. package/dist-scalprum/static/7332.35321cf7.chunk.js.map +0 -1
  34. package/dist-scalprum/static/8152.5332c671.chunk.js +0 -2
  35. package/dist-scalprum/static/8152.5332c671.chunk.js.map +0 -1
  36. package/dist-scalprum/veecode-platform.plugin-veecode-homepage.273ae8ad04cb5360b66f.js +0 -2
  37. package/dist-scalprum/veecode-platform.plugin-veecode-homepage.273ae8ad04cb5360b66f.js.map +0 -1
  38. /package/dist-scalprum/static/{102.20d7c8a2.chunk.js.LICENSE.txt → 7645.119794aa.chunk.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/7332.c9233bad.chunk.js","mappings":"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","sources":["webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/colorManipulator.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/withStyles.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/utils/esm/deepmerge.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/zIndex.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createBreakpoints.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createMixins.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/common.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/grey.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/indigo.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/pink.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/red.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/orange.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/blue.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/colors/green.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createPalette.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createTypography.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/shadows.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/shape.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createTheme.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/createSpacing.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/defaultTheme.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/system/esm/memoize.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/system/esm/spacing.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/transitions.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/useTheme.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/makeStyles.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/system/esm/breakpoints.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/core/esm/styles/styled.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@material-ui/system/esm/merge.js"],"sourcesContent":["import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable no-use-before-define */\n\n/**\n * Returns a number whose value is limited to the given range.\n *\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nexport function hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : _formatMuiErrorMessage(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\nexport function recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\nexport function getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\nexport function getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nvar warnedOnce = false;\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n *\n * @deprecated\n * Use `import { alpha } from '@material-ui/core/styles'` instead.\n */\n\nexport function fade(color, value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.', '', \"You should use `import { alpha } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return alpha(color, value);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha value is overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0-1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withStyles as withStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction withStyles(stylesOrCreator, options) {\n return withStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default withStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function isPlainObject(item) {\n return item && _typeof(item) === 'object' && item.constructor === Object;\n}\nexport default function deepmerge(target, source) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n clone: true\n };\n var output = options.clone ? _extends({}, target) : target;\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(function (key) {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n\n if (isPlainObject(source[key]) && key in target) {\n output[key] = deepmerge(target[key], source[key], options);\n } else {\n output[key] = source[key];\n }\n });\n }\n\n return output;\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexport default function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = _objectWithoutProperties(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n var warnedOnce = false;\n\n function width(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.warn([\"Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.\", 'Use the `theme.breakpoints.values` instead.'].join('\\n'));\n }\n }\n\n return values[key];\n }\n\n return _extends({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return _extends({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', \"\\n paddingLeft: theme.spacing(2),\\n paddingRight: theme.spacing(2),\\n [theme.breakpoints.up('sm')]: {\\n paddingLeft: theme.spacing(3),\\n paddingRight: theme.spacing(3),\\n },\\n \"].join('\\n'));\n return _extends({\n paddingLeft: spacing(2),\n paddingRight: spacing(2)\n }, styles, _defineProperty({}, breakpoints.up('sm'), _extends({\n paddingLeft: spacing(3),\n paddingRight: spacing(3)\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, _defineProperty(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), _defineProperty(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}","var common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","var grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#d5d5d5',\n A200: '#aaaaaa',\n A400: '#303030',\n A700: '#616161'\n};\nexport default grey;","var indigo = {\n 50: '#e8eaf6',\n 100: '#c5cae9',\n 200: '#9fa8da',\n 300: '#7986cb',\n 400: '#5c6bc0',\n 500: '#3f51b5',\n 600: '#3949ab',\n 700: '#303f9f',\n 800: '#283593',\n 900: '#1a237e',\n A100: '#8c9eff',\n A200: '#536dfe',\n A400: '#3d5afe',\n A700: '#304ffe'\n};\nexport default indigo;","var pink = {\n 50: '#fce4ec',\n 100: '#f8bbd0',\n 200: '#f48fb1',\n 300: '#f06292',\n 400: '#ec407a',\n 500: '#e91e63',\n 600: '#d81b60',\n 700: '#c2185b',\n 800: '#ad1457',\n 900: '#880e4f',\n A100: '#ff80ab',\n A200: '#ff4081',\n A400: '#f50057',\n A700: '#c51162'\n};\nexport default pink;","var red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","var orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","var blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","var green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\nimport { deepmerge } from '@material-ui/utils';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport indigo from '../colors/indigo';\nimport pink from '../colors/pink';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport green from '../colors/green';\nimport { darken, getContrastRatio, lighten } from './colorManipulator';\nexport var light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: grey[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport var dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: grey[800],\n default: '#303030'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n var tonalOffsetLight = tonalOffset.light || tonalOffset;\n var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\n\nexport default function createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: indigo[300],\n main: indigo[500],\n dark: indigo[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: pink.A200,\n main: pink.A400,\n dark: pink.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: red[300],\n main: red[500],\n dark: red[700]\n } : _palette$error,\n _palette$warning = palette.warning,\n warning = _palette$warning === void 0 ? {\n light: orange[300],\n main: orange[500],\n dark: orange[700]\n } : _palette$warning,\n _palette$info = palette.info,\n info = _palette$info === void 0 ? {\n light: blue[300],\n main: blue[500],\n dark: blue[700]\n } : _palette$info,\n _palette$success = palette.success,\n success = _palette$success === void 0 ? {\n light: green[300],\n main: green[500],\n dark: green[700]\n } : _palette$success,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = _objectWithoutProperties(palette, [\"primary\", \"secondary\", \"error\", \"warning\", \"info\", \"success\", \"type\", \"contrastThreshold\", \"tonalOffset\"]); // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n\n\n function getContrastText(background) {\n var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (process.env.NODE_ENV !== 'production') {\n var contrast = getContrastRatio(background, contrastText);\n\n if (contrast < 3) {\n console.error([\"Material-UI: The contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n\n return contrastText;\n }\n\n var augmentColor = function augmentColor(color) {\n var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;\n color = _extends({}, color);\n\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n if (!color.main) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\nThe color object needs to have a `main` property or a `\".concat(mainShade, \"` property.\") : _formatMuiErrorMessage(4, mainShade));\n }\n\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\n`color.main` should be a string, but `\".concat(JSON.stringify(color.main), \"` was provided instead.\\n\\nDid you intend to use one of the following approaches?\\n\\nimport {\\xA0green } from \\\"@material-ui/core/colors\\\";\\n\\nconst theme1 = createTheme({ palette: {\\n primary: green,\\n} });\\n\\nconst theme2 = createTheme({ palette: {\\n primary: { main: green[500] },\\n} });\") : _formatMuiErrorMessage(5, JSON.stringify(color.main)));\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n\n return color;\n };\n\n var types = {\n dark: dark,\n light: light\n };\n\n if (process.env.NODE_ENV !== 'production') {\n if (!types[type]) {\n console.error(\"Material-UI: The palette type `\".concat(type, \"` is not supported.\"));\n }\n }\n\n var paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: common,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor(primary),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor(error),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor(warning),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor(info),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor(success),\n // The grey colors.\n grey: grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nvar warnedOnce = false;\n\nfunction roundWithDeprecationWarning(value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://mui.com/r/migration-v4/#theme for a migration path.'].join('\\n'));\n warnedOnce = true;\n }\n }\n\n return round(value);\n}\n\nvar caseAllCaps = {\n textTransform: 'uppercase'\n};\nvar defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n/**\n * @see @link{https://material.io/design/typography/the-type-system.html}\n * @see @link{https://material.io/design/typography/understanding-typography.html}\n */\n\nexport default function createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$fontWeightBold = _ref.fontWeightBold,\n fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n allVariants = _ref.allVariants,\n pxToRem2 = _ref.pxToRem,\n other = _objectWithoutProperties(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('Material-UI: `fontSize` is required to be a number.');\n }\n\n if (typeof htmlFontSize !== 'number') {\n console.error('Material-UI: `htmlFontSize` is required to be a number.');\n }\n }\n\n var coef = fontSize / 14;\n\n var pxToRem = pxToRem2 || function (size) {\n return \"\".concat(size / htmlFontSize * coef, \"rem\");\n };\n\n var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {\n return _extends({\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight: lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: \"\".concat(round(letterSpacing / size), \"em\")\n } : {}, casing, allVariants);\n };\n\n var variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)\n };\n return deepmerge(_extends({\n htmlFontSize: htmlFontSize,\n pxToRem: pxToRem,\n round: roundWithDeprecationWarning,\n // TODO v5: remove\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n fontWeightBold: fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n\n });\n}","var shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0,0,0,\").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0,0,0,\").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0,0,0,\").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\n\n\nvar shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","var shape = {\n borderRadius: 4\n};\nexport default shape;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport transitions from './transitions';\nimport zIndex from './zIndex';\n\nfunction createTheme() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _options$breakpoints = options.breakpoints,\n breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints,\n _options$mixins = options.mixins,\n mixinsInput = _options$mixins === void 0 ? {} : _options$mixins,\n _options$palette = options.palette,\n paletteInput = _options$palette === void 0 ? {} : _options$palette,\n spacingInput = options.spacing,\n _options$typography = options.typography,\n typographyInput = _options$typography === void 0 ? {} : _options$typography,\n other = _objectWithoutProperties(options, [\"breakpoints\", \"mixins\", \"palette\", \"spacing\", \"typography\"]);\n\n var palette = createPalette(paletteInput);\n var breakpoints = createBreakpoints(breakpointsInput);\n var spacing = createSpacing(spacingInput);\n var muiTheme = deepmerge({\n breakpoints: breakpoints,\n direction: 'ltr',\n mixins: createMixins(breakpoints, spacing, mixinsInput),\n overrides: {},\n // Inject custom styles\n palette: palette,\n props: {},\n // Provide default props\n shadows: shadows,\n typography: createTypography(palette, typographyInput),\n spacing: spacing,\n shape: shape,\n transitions: transitions,\n zIndex: zIndex\n }, other);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n muiTheme = args.reduce(function (acc, argument) {\n return deepmerge(acc, argument);\n }, muiTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n var traverse = function traverse(node, parentKey) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (key in node) {\n var child = node[key];\n\n if (depth === 1) {\n if (key.indexOf('Mui') === 0 && child) {\n traverse(child, key, depth + 1);\n }\n } else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `\".concat(parentKey, \"` component increases \") + \"the CSS specificity of the `\".concat(key, \"` internal state.\"), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({\n root: _defineProperty({}, \"&$\".concat(key), child)\n }, null, 2), '', 'https://mui.com/r/pseudo-classes-guide'].join('\\n'));\n } // Remove the style to prevent global conflicts.\n\n\n node[key] = {};\n }\n }\n };\n\n traverse(muiTheme.overrides);\n }\n\n return muiTheme;\n}\n\nvar warnedOnce = false;\nexport function createMuiTheme() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return createTheme.apply(void 0, arguments);\n}\nexport default createTheme;","import { createUnarySpacing } from '@material-ui/system';\nvar warnOnce;\nexport default function createSpacing() {\n var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;\n\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.\n // Smaller components, such as icons and type, can align to a 4dp grid.\n // https://material.io/design/layout/understanding-layout.html#usage\n\n\n var transform = createUnarySpacing({\n spacing: spacingInput\n });\n\n var spacing = function spacing() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(args.length <= 4)) {\n console.error(\"Material-UI: Too many arguments provided, expected between 0 and 4, got \".concat(args.length));\n }\n }\n\n if (args.length === 0) {\n return transform(1);\n }\n\n if (args.length === 1) {\n return transform(args[0]);\n }\n\n return args.map(function (argument) {\n if (typeof argument === 'string') {\n return argument;\n }\n\n var output = transform(argument);\n return typeof output === 'number' ? \"\".concat(output, \"px\") : output;\n }).join(' ');\n }; // Backward compatibility, to remove in v5.\n\n\n Object.defineProperty(spacing, 'unit', {\n get: function get() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnOnce || process.env.NODE_ENV === 'test') {\n console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\\n'));\n }\n\n warnOnce = true;\n }\n\n return spacingInput;\n }\n });\n spacing.mui = true;\n return spacing;\n}","import createTheme from './createTheme';\nvar defaultTheme = createTheme();\nexport default defaultTheme;","export default function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n\n return cache[arg];\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport merge from './merge';\nimport memoize from './memoize';\nvar properties = {\n m: 'margin',\n p: 'padding'\n};\nvar directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nvar aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n}; // memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\n\nvar getCssProperties = memoize(function (prop) {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n\n var _prop$split = prop.split(''),\n _prop$split2 = _slicedToArray(_prop$split, 2),\n a = _prop$split2[0],\n b = _prop$split2[1];\n\n var property = properties[a];\n var direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(function (dir) {\n return property + dir;\n }) : [property + direction];\n});\nvar spacingKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY'];\nexport function createUnarySpacing(theme) {\n var themeSpacing = theme.spacing || 8;\n\n if (typeof themeSpacing === 'number') {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(\"Material-UI: Expected spacing argument to be a number, got \".concat(abs, \".\"));\n }\n }\n\n return themeSpacing * abs;\n };\n }\n\n if (Array.isArray(themeSpacing)) {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (abs > themeSpacing.length - 1) {\n console.error([\"Material-UI: The value provided (\".concat(abs, \") overflows.\"), \"The supported values are: \".concat(JSON.stringify(themeSpacing), \".\"), \"\".concat(abs, \" > \").concat(themeSpacing.length - 1, \", you need to add the missing values.\")].join('\\n'));\n }\n }\n\n return themeSpacing[abs];\n };\n }\n\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `theme.spacing` value (\".concat(themeSpacing, \") is invalid.\"), 'It should be a number, an array or a function.'].join('\\n'));\n }\n\n return function () {\n return undefined;\n };\n}\n\nfunction getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n\n var abs = Math.abs(propValue);\n var transformed = transformer(abs);\n\n if (propValue >= 0) {\n return transformed;\n }\n\n if (typeof transformed === 'number') {\n return -transformed;\n }\n\n return \"-\".concat(transformed);\n}\n\nfunction getStyleFromPropValue(cssProperties, transformer) {\n return function (propValue) {\n return cssProperties.reduce(function (acc, cssProperty) {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n };\n}\n\nfunction spacing(props) {\n var theme = props.theme;\n var transformer = createUnarySpacing(theme);\n return Object.keys(props).map(function (prop) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (spacingKeys.indexOf(prop) === -1) {\n return null;\n }\n\n var cssProperties = getCssProperties(prop);\n var styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n var propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n }).reduce(merge, {});\n}\n\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce(function (obj, key) {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport var easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexport var duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nexport default {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = _objectWithoutProperties(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};","import { useTheme as useThemeWithoutDefault } from '@material-ui/styles';\nimport React from 'react';\nimport defaultTheme from './defaultTheme';\nexport default function useTheme() {\n var theme = useThemeWithoutDefault() || defaultTheme;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { makeStyles as makeStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return makeStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default makeStyles;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport PropTypes from 'prop-types';\nimport merge from './merge'; // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n if (process.env.NODE_ENV !== 'production') {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if (_typeof(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return merge(base, extended);\n };\n\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat(_toConsumableArray(styleFunction.filterProps));\n return newStyleFunction;\n}\n\nexport default breakpoints;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { styled as styledWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nvar styled = function styled(Component) {\n var componentCreator = styledWithoutDefault(Component);\n return function (style, options) {\n return componentCreator(style, _extends({\n defaultTheme: defaultTheme\n }, options));\n };\n};\n\nexport default styled;","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@material-ui/utils/macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe iff we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n\n /* eslint-disable prefer-template */\n var url = 'https://mui.com/production-error/?code=' + code;\n\n for (var i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n\n return 'Minified Material-UI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import { deepmerge } from '@material-ui/utils';\n\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n\n });\n}\n\nexport default merge;"],"names":["clamp","value","min","arguments","length","undefined","max","Math","hexToRgb","color","substr","re","RegExp","concat","colors","match","map","n","index","parseInt","round","join","rgbToHex","indexOf","values","decomposeColor","hex","toString","hslToRgb","h","s","l","a","f","k","type","rgb","push","recomposeColor","charAt","marker","substring","Error","split","parseFloat","i","getContrastRatio","foreground","background","lumA","getLuminance","lumB","val","pow","Number","toFixed","emphasize","coefficient","darken","lighten","fade","alpha","stylesOrCreator","options","withStyles","defaultTheme","isPlainObject","item","constructor","Object","deepmerge","target","source","clone","output","keys","forEach","key","mobileStepper","speedDial","appBar","drawer","modal","snackbar","tooltip","createMixins","breakpoints","spacing","mixins","_toolbar","gutters","styles","console","warn","paddingLeft","paddingRight","up","toolbar","minHeight","black","white","A100","A200","A400","A700","light","text","primary","secondary","disabled","hint","divider","paper","default","action","active","hover","hoverOpacity","selected","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","direction","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","hasOwnProperty","main","roundWithDeprecationWarning","caseAllCaps","textTransform","defaultFontFamily","createTypography","palette","typography","_ref","_ref$fontFamily","fontFamily","_ref$fontSize","fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","other","coef","size","buildVariant","fontWeight","lineHeight","letterSpacing","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","createShadow","borderRadius","createTheme","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","spacingInput","_options$typography","typographyInput","_palette$primary","_palette$secondary","_palette$error","error","_palette$warning","warning","_palette$info","info","_palette$success","success","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getContrastText","augmentColor","mainShade","lightShade","darkShade","JSON","stringify","contrastText","types","common","grey","createPalette","_breakpoints$values","xs","sm","md","lg","xl","_breakpoints$unit","unit","_breakpoints$step","step","between","start","end","endIndex","down","upperbound","only","width","createBreakpoints","mui","transform","_len","args","Array","_key","argument","defineProperty","get","createSpacing","muiTheme","overrides","props","shadows","shape","transitions","zIndex","reduce","acc","createMuiTheme","apply","fn","cache","properties","m","p","directions","t","r","b","x","y","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","prop","_prop$split","_prop$split2","property","isArray","dir","arg","spacingKeys","createUnarySpacing","theme","themeSpacing","abs","transformer","styleFromPropValue","cssProperties","propValue","cssProperty","transformed","getValue","getStyleFromPropValue","merge","propTypes","filterProps","_objectWithoutProperties","e","o","getOwnPropertySymbols","propertyIsEnumerable","call","easing","easeInOut","easeOut","easeIn","sharp","duration","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","create","_options$duration","durationOption","_options$easing","easingOption","_options$delay","delay","animatedProp","getAutoHeightDuration","height","constant","useTheme","makeStyles","defaultBreakpoints","handleBreakpoints","themeBreakpoints","_themeBreakpoints","breakpoint","Component","componentCreator","styled","style","formatMuiErrorMessage","code","url","encodeURIComponent","_slicedToArray","arrayWithHoles","Symbol","iterator","u","next","done","unsupportedIterableToArray","nonIterableRest"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[7499],{63561:(e,t,n)=>{n.r(t),n.d(t,{VeeCodeHomePage:()=>Oe});var i=n(31085),l=n(58837),r=n(95478),s=n(81031),o=n(46702),a=n(1659),d=n(6530),c=n(46121),h=n(13295),u=n(22097),x=n(30330),p=n(74892),g=n(42469);const v=({title:e,label:t,color:n,handleClick:l,link:r,children:s})=>{const o=(0,i.jsx)(x.A,{size:"small","aria-label":t,color:n,"aria-controls":`${t}-menu`,"aria-haspopup":"true",sx:{width:"42px",height:"42px",borderRadius:"50%"},onClick:l,children:s});return(0,i.jsx)(p.A,{title:e,children:r?(0,i.jsx)(g.Link,{to:r,children:o}):o})},m=()=>{const e=(0,u.useApi)(u.appThemeApiRef),t="dark"===(0,d.A)().palette.mode,n=t?"Select theme Light Theme":"Select theme Dark Theme",l=e.getInstalledThemes();return(0,i.jsx)(v,{title:n,handleClick:n=>{const i=t?"light":"dark";n.preventDefault(),n.stopPropagation(),l.some((e=>e.id===i))?e.setActiveThemeId(i):e.setActiveThemeId(void 0)},color:"inherit",label:"Toggle-theme",children:t?(0,i.jsx)(c.A,{}):(0,i.jsx)(h.A,{})})};var j=n(531),f=n(21085),y=n(75638),A=n(13674);const b=(e,t)=>{if(!t)return(0,i.jsx)(i.Fragment,{children:e});const n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),l=new RegExp(`(${n})`,"i"),r=e.split(l);return(0,i.jsx)(i.Fragment,{children:r.map(((e,t)=>l.test(e)?(0,i.jsx)(A.A,{component:"span",sx:{fontWeight:"normal"},children:e},`${e}-${t}`):(0,i.jsx)(A.A,{component:"span",sx:{fontWeight:"bold"},children:e},`${e}-${t}`)))})};var w=n(53855),C=n(35648),k=n(55330);const S=({params:e,error:t,helperText:n})=>(0,i.jsx)(w.A,{...e,placeholder:"Search...",variant:"standard",error:t,helperText:n,InputProps:{...e.InputProps,disableUnderline:!0,startAdornment:(0,i.jsx)(C.A,{position:"start",children:(0,i.jsx)(k.A,{style:{color:"#ffffff"}})})},sx:{input:{color:"#CDCDCD"},button:{color:"inherit"},"& fieldset":{border:"none"}}});var z=n(71543),I=n(75202),T=n(89789),F=n(50232);const R=({option:e,query:t,result:n,renderProps:l})=>{const r="No results found"===e,s=(0,u.useAnalytics)();var a;return(0,i.jsx)(o.A,{component:r?"div":I.N_,to:null==n?void 0:n.document.location,underline:"none",sx:{width:"100%",...r?{}:{cursor:"pointer"}},children:(0,i.jsx)(T.Ay,{...l,sx:{py:1},onClick:e=>{var t,i,r;s.captureEvent("discover",null!==(i=null==n?void 0:n.document.title)&&void 0!==i?i:"",{attributes:{to:null!==(r=null==n?void 0:n.document.location)&&void 0!==r?r:"#"},value:null==n?void 0:n.rank}),null==l||null===(t=l.onClick)||void 0===t||t.call(l,e)},children:(0,i.jsx)(A.A,{sx:{color:"text.primary",flexGrow:1},children:r?e:b(e,null!==(a=null==t?void 0:t.term)&&void 0!==a?a:"")})})})},M=({option:e,index:t,options:n,query:l,results:r,renderProps:s,searchLink:a})=>{if(e===(null==l?void 0:l.term)&&t===n.length-1)return(0,i.jsxs)(o.A,{id:"all-results",children:[(0,i.jsx)(z.A,{sx:{my:.5}}),(0,i.jsx)(I.N_,{to:a,underline:"none",children:(0,i.jsx)(T.Ay,{...s,sx:{my:0},className:"allResultsOption",children:(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center"},children:[(0,i.jsx)(A.A,{sx:{flexGrow:1},children:"All results"}),(0,i.jsx)(F.A,{fontSize:"small"})]})})})]},"all-results");const d=r.find((t=>t.document.title===e));return(0,i.jsx)(R,{option:e,query:l,result:d,renderProps:s},t)},$=e=>{const{query:t,setSearchTerm:n}=e,l=(0,g.useNavigate)(),[s,o]=(0,r.useState)(-1),a=(0,r.useRef)(s),{setTerm:c}=(0,j.SQ)(),h=(0,d.A)(),u=(e=>{const t=(0,r.useRef)(null);return(0,r.useEffect)((()=>()=>{t.current&&clearTimeout(t.current)}),[]),(0,r.useCallback)(((...n)=>{t.current&&clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),300)}),[e,300])})(((e,t)=>{n(t),c(t)}));return(0,r.useEffect)((()=>{a.current=s}),[s]),(0,i.jsx)(f.z1,{...e,children:({loading:e,error:n,value:r})=>{var d;const c=(null==t?void 0:t.term)&&null!==(d=null==r?void 0:r.results)&&void 0!==d?d:[];let x=[];var p;(null==t?void 0:t.term)&&0===c.length&&(x=["No results found"]),c.length>0&&(x=[...c.map((e=>e.document.title)),`${null==t?void 0:t.term}`]);const g=(v=null!==(p=null==t?void 0:t.term)&&void 0!==p?p:"",`/search?query=${encodeURIComponent(v)}`);var v,m;return(0,i.jsx)(y.A,{freeSolo:!0,options:x,loading:e,value:null!==(m=null==t?void 0:t.term)&&void 0!==m?m:"",getOptionLabel:e=>null!=e?e:"",onInputChange:u,onHighlightChange:(e,t)=>o(x.indexOf(null!=t?t:"")),componentsProps:{paper:{sx:{borderRadius:"4px",outline:"unset"}}},sx:{width:"100%",background:"dark"===h.palette.mode?"#FFFFFF10":"#CDCDCD10",'& [class*="MuiAutocomplete-clearIndicator"]':{visibility:(null==t?void 0:t.term)?"visible":"hidden"},padding:".2rem",borderRadius:"8px","&:hover":{background:"dark"===h.palette.mode?"#FFFFFF25":"#CDCDCD25"}},filterOptions:e=>e,onKeyDown:e=>{const n=a.current;if("Enter"===e.key){if(e.preventDefault(),-1===n&&(null==t?void 0:t.term))l(g);else if(-1!==n){var i,r,d;l(null!==(d=null===(r=c[s])||void 0===r||null===(i=r.document)||void 0===i?void 0:i.location)&&void 0!==d?d:g)}o(-1)}},renderInput:e=>(0,i.jsx)(S,{params:e,error:!!n,helperText:n?"Error fetching results":""}),renderOption:(e,n,{index:l})=>(0,i.jsx)(M,{option:n,index:l,options:x,query:t,results:c,renderProps:e,searchLink:g}),ListboxProps:{sx:{maxHeight:"60vh"}}})}})};var D=n(10394);const E=()=>{const[e,t]=(0,r.useState)("");return(0,i.jsx)(j.Lt,{children:(0,i.jsx)(D.A,{component:"div",sx:{width:"100%",maxWidth:"50vw"},children:(0,i.jsx)($,{query:{term:e},setSearchTerm:t})})})};var L=n(49915),O=n(94087),P=n(19277),N=n(85770),H=n(26343),W=n(37197),_=n(46423),B=n(55626),U=n(22854);const V=n.p+"static/avatar.e87ac168..svg",q=({width:e,height:t})=>{const{profile:n,loading:l}=(0,N.s)();var r;return(0,i.jsx)(i.Fragment,{children:l?(0,i.jsx)(U.A,{variant:"circular",sx:{width:e,height:t}}):(0,i.jsx)(B.A,{src:null!==(r=n.picture)&&void 0!==r?r:V,sx:{width:e,height:t,objectFit:"cover"},alt:"Profile picture"})})};var G=n(84692),J=n(27018),K=n(57368);const Q=()=>{const e=(0,u.useApi)(u.identityApiRef);return(0,i.jsxs)(o.A,{component:"div",onClick:async()=>{await e.signOut()},sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[(0,i.jsx)(J.A,{children:(0,i.jsx)(K.A,{fontSize:"small"})}),"Log out"]})};var X=n(113);const Y=({handleClose:e,link:t,children:n})=>(0,i.jsx)(H.A,{onClick:e,children:(0,i.jsx)(g.Link,{to:t,children:(0,i.jsx)(o.A,{component:"div",sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:".1rem 0"},children:n})})}),Z=({anchorEl:e,menuId:t,isOpen:n,handleClose:l})=>{var s,a;const c=(0,d.A)(),{displayName:h,backstageIdentity:x}=(0,N.s)(),p=(0,u.useApi)(G.v);var g;const v=null!==(g=null===(a=(0,u.useApi)(u.configApiRef).app)||void 0===a||null===(s=a.support)||void 0===s?void 0:s.url)&&void 0!==g?g:"https://github.com/orgs/veecode-platform/discussions";return(0,r.useEffect)((()=>{(async()=>{let e;try{return(null==x?void 0:x.userEntityRef)&&(e=await p.getEntityByRef(x.userEntityRef)),e}catch(e){return null}})()}),[x,p]),(0,i.jsxs)(P.A,{anchorEl:e,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},id:t,keepMounted:!0,open:n,onClose:l,slotProps:{paper:{sx:{width:250,borderRadius:2,mt:.8,mr:-.5,boxShadow:3,background:`${c.palette.background.default} !important`,border:`1px solid ${c.palette.grey[600]}`}}},children:[(0,i.jsxs)(o.A,{sx:{px:2,py:1.5,display:"flex",alignItems:"center",gap:1.5},children:[(0,i.jsx)(q,{}),(0,i.jsxs)(o.A,{children:[(0,i.jsx)(A.A,{variant:"subtitle1",children:(()=>{const e=h;return/^[^:/]+:[^/]+\/[^/]+$/.test(e)?e.charAt(e.indexOf("/")+1).toLocaleUpperCase("en-US").concat(e.substring(e.indexOf("/")+2)):e})()}),(0,i.jsx)(X.A,{size:"small",variant:"outlined",label:null==x?void 0:x.ownershipEntityRefs[0].split("/")[1]})]})]}),(0,i.jsx)(W.A,{}),(0,i.jsx)(Y,{handleClose:l,link:v,children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.A,{children:(0,i.jsx)(L.A,{fontSize:"small"})}),"Help"]})}),(0,i.jsx)(Y,{handleClose:l,link:"/settings",children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.A,{children:(0,i.jsx)(O.A,{fontSize:"small"})}),"Settings"]})}),(0,i.jsx)(W.A,{}),(0,i.jsx)(H.A,{children:(0,i.jsx)(Q,{})})]})};var ee=n(33265),te=n(52452),ne=n(47566),ie=n(87094),le=n(16294),re=n(97331),se=n.n(re);const oe=()=>{var e;const[t]=(0,r.useState)(!0),[n]=(0,r.useState)(void 0),[l]=(0,r.useState)("low"),[s]=(0,r.useState)(),{lastSignal:o}=(0,le.U)("notifications"),{error:a,value:d,retry:c,loading:h}=(0,ie.s)((e=>{const i={minimumSeverity:l};return void 0!==t&&(i.read=!t),void 0!==n&&(i.saved=n),void 0!==s&&(i.topic=s),Promise.all([e.getNotifications(i),e.getStatus(),e.getTopics(i)])}),[t,l,n,s]),u=(0,r.useMemo)((()=>se()((()=>c()),2e3)),[]);var x;const p=null!==(x=null==d||null===(e=d[1])||void 0===e?void 0:e.unread)&&void 0!==x?x:0;return(0,r.useEffect)((()=>{(null==o?void 0:o.action)&&u()}),[o,u]),(0,i.jsx)(v,{title:"Notifications",label:`Mostrar ${p} notificações não lidas`,color:"inherit",link:"/notifications",children:(0,i.jsx)(ee.A,{badgeContent:p,color:"error",invisible:h||!!a||0===p,children:h?(0,i.jsx)(ne.A,{size:20,color:"inherit"}):(0,i.jsx)(te.A,{})})})},ae=({handleOpenMenu:e})=>(0,i.jsx)(v,{title:"",label:"profile-menu",handleClick:e,color:"inherit",children:(0,i.jsx)(q,{width:"42px",height:"42px"})}),de=()=>{const e=(0,d.A)(),[t,n]=r.useState(null),l=Boolean(t);return(0,i.jsxs)(o.A,{sx:{flexGrow:1,position:"relative"},children:[(0,i.jsx)(s.A,{position:"sticky",component:"nav",style:{zIndex:e.zIndex.appBar-1},children:(0,i.jsxs)(a.A,{children:[(0,i.jsx)(E,{}),(0,i.jsx)(o.A,{sx:{flexGrow:1}}),(0,i.jsxs)(o.A,{sx:{display:{xs:"none",md:"flex",alignItems:"center",gap:".5rem"}},children:[(0,i.jsx)(oe,{}),(0,i.jsx)(m,{}),(0,i.jsx)(ae,{handleOpenMenu:e=>{n(e.currentTarget)}})]})]})}),(0,i.jsx)(Z,{anchorEl:t,menuId:"profile-menu",isOpen:l,handleClose:()=>{n(null)}})]})},ce=n.p+"static/waves.6d6cf859..svg",he=()=>{var e,t,n,l,s,a,c,h,x,p,g,v,m,j,f,y;const[b,w]=(0,r.useState)(!1),{displayName:C}=(0,N.s)(),k=(0,d.A)(),S="dark"===k.palette.mode,z=(0,u.useApi)(u.configApiRef);var I;const T=null!==(I=S?null===(l=z.app)||void 0===l||null===(n=l.branding)||void 0===n||null===(t=n.theme)||void 0===t||null===(e=t.dark)||void 0===e?void 0:e.headerColor1:null===(h=z.app)||void 0===h||null===(c=h.branding)||void 0===c||null===(a=c.theme)||void 0===a||null===(s=a.light)||void 0===s?void 0:s.headerColor1)&&void 0!==I?I:"#45556D";var F;const R=null!==(F=S?null===(v=z.app)||void 0===v||null===(g=v.branding)||void 0===g||null===(p=g.theme)||void 0===p||null===(x=p.dark)||void 0===x?void 0:x.headerColor2:null===(y=z.app)||void 0===y||null===(f=y.branding)||void 0===f||null===(j=f.theme)||void 0===j||null===(m=j.light)||void 0===m?void 0:m.headerColor2)&&void 0!==F?F:"#86F4CE";return(0,r.useEffect)((()=>{w(!0),setTimeout((()=>w(!1)),1e3)}),[]),(0,i.jsxs)(o.A,{sx:{background:`linear-gradient(90deg, ${T} 0%, ${R} 100%)`,width:"100%",minHeight:"210px",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden",[k.breakpoints.only("xs")]:{height:"auto"}},children:[(0,i.jsxs)(o.A,{sx:{width:"90%",margin:"auto",display:"flex",alignItems:"center",gap:"2rem",[k.breakpoints.only("xs")]:{flexDirection:"column",padding:"1rem 0"}},children:[(0,i.jsx)(o.A,{children:(0,i.jsx)(q,{width:"120px",height:"120px"})}),(0,i.jsxs)(o.A,{color:k.palette.grey[100],children:[(0,i.jsxs)(A.A,{variant:"h3",children:["Welcome back",b?(0,i.jsx)(U.A,{variant:"rectangular",width:130,height:60,style:{display:"inline"}}):(0,i.jsxs)(i.Fragment,{children:[", ",(()=>{const e=C;return/^[^:/]+:[^/]+\/[^/]+$/.test(e)?e.charAt(e.indexOf("/")+1).toLocaleUpperCase("en-US").concat(e.substring(e.indexOf("/")+2)):e})()," 👋"]})," "]}),(0,i.jsx)(A.A,{variant:"h6",children:"Let's get started."})]})]}),(0,i.jsx)("img",{src:ce,alt:"",style:{width:"100%",height:"250px",objectFit:"cover",position:"absolute",top:"-20%",left:"0",opacity:"0.7"}})]})};var ue=n(39240),xe=n(19996),pe=n(16454);const ge=()=>{const e=(0,d.A)();return(0,i.jsx)("svg",{height:"45px",width:"45px",version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 502.648 502.648",xmlSpace:"preserve",style:{cursor:"pointer "},children:(0,i.jsxs)("g",{children:[(0,i.jsx)("g",{children:(0,i.jsxs)("g",{children:[(0,i.jsx)("circle",{style:{fill:e.palette.grey[600]},cx:"250.399",cy:"91.549",r:"58.694"}),(0,i.jsx)("path",{style:{fill:e.palette.grey[600]},d:"M455.861,253.028l-54.703-11.411c-18.637-3.904-37.037,4.638-46.765,19.824 c-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 c-24.655,0-44.716,20.126-44.716,44.738v32.701c-10.699,3.408-20.751,7.593-30.264,12.468 c-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 c4.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 c31.989,20.967,74.247,32.529,119.092,32.529c68.617,0,127.721-27.589,154.943-67.215l17.602,3.689 c24.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 c-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 c24.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 c0,24.569,20.104,44.695,44.716,44.695h55.933c24.548,0,44.652-20.147,44.652-44.695v-11.325 c8.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 C357.52,427.191,308.101,447.381,251.305,447.381z"}),(0,i.jsx)("circle",{style:{fill:e.palette.grey[600]},cx:"443.954",cy:"168.708",r:"58.694"}),(0,i.jsx)("path",{style:{fill:e.palette.grey[600]},d:"M70.736,226.172c31.752-6.644,52.029-37.77,45.471-69.501 c-6.687-31.709-37.749-52.072-69.523-45.428c-31.709,6.622-52.072,37.727-45.428,69.458 C7.879,212.453,38.984,232.795,70.736,226.172z"})]})}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{}),(0,i.jsx)("g",{})]})})},ve=()=>{const e=(0,d.A)();return(0,i.jsx)("svg",{width:"45px",height:"45px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:"none",style:{cursor:"pointer "},children:(0,i.jsx)("path",{fill:e.palette.grey[600],"fill-rule":"evenodd",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","clip-rule":"evenodd"})})},me=()=>{const e=(0,d.A)();return(0,i.jsxs)("svg",{width:"45px",height:"45px",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",style:{cursor:"pointer "},children:[(0,i.jsx)("rect",{x:"0",fill:"none",width:"20",height:"20"}),(0,i.jsx)("g",{fill:e.palette.grey[600],children:(0,i.jsx)("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"})})]})},je=()=>{const e=(0,d.A)();return(0,i.jsxs)("svg",{width:"45px",height:"45px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{cursor:"pointer "},children:[(0,i.jsx)("title",{children:"support"}),(0,i.jsx)("rect",{width:"24",height:"24",fill:"none"}),(0,i.jsx)("path",{fill:e.palette.grey[600],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"})]})},fe=n.p+"static/backstage.b1940be1..png";var ye=n(78838),Ae=n(92742),be=n(59193),we=n(12302),Ce=n(80731),ke=n(97134),Se=n(16481),ze=n(45685),Ie=n(98590),Te=n(35015);var Fe=n(61690);const Re=(0,be.Ay)("text",{shouldForwardProp:e=>"variant"!==e})((({theme:e})=>({textAnchor:"middle",dominantBaseline:"central",fill:e.palette.text.secondary,variants:[{props:{variant:"primary"},style:{fontSize:e.typography.h5.fontSize}},{props:({variant:e})=>"primary"!==e,style:{fontSize:e.typography.body2.fontSize}},{props:{variant:"primary"},style:{fontWeight:e.typography.h5.fontWeight}},{props:({variant:e})=>"primary"!==e,style:{fontWeight:e.typography.body2.fontWeight}}]})));function Me({primaryText:e,secondaryText:t}){const{width:n,height:l,left:s,top:o}=(0,Ae.N)(),a=o+l/2-10,d=a+24;return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)(Re,{variant:"primary",x:s+n/2,y:a,children:e}),(0,i.jsx)(Re,{variant:"secondary",x:s+n/2,y:d,children:t})]})}function $e(){var e,t,n,l,r,s,a,c;const{total:h,items:x,visits:p}=(()=>{const e=(0,u.useApi)(Ie.y),{value:t,loading:n,error:i}=(0,Te.A)((async()=>{const t=await e.list();return{total:t.reduce(((e,t)=>e+t.hits),0),items:t.map((e=>({label:e.name,value:e.hits}))),visits:t.map((e=>({id:e.id,name:e.name,path:e.pathname,hits:e.hits})))}}),[]);var l,r,s;return{loading:n,error:i,total:null!==(l=null==t?void 0:t.total)&&void 0!==l?l:0,items:null!==(r=null==t?void 0:t.items)&&void 0!==r?r:[],visits:null!==(s=null==t?void 0:t.visits)&&void 0!==s?s:[]}})(),g=(0,d.A)(),v="dark"===g.palette.mode,m=(0,u.useApi)(u.configApiRef);var j;const f=function(e="royalblue",t,n=70,i=30){const{h:l,s:r}=function(e){const t=document.createElement("canvas").getContext("2d");if(!t)throw new Error("Canvas not supported");t.fillStyle=e;const n=t.fillStyle.replace(/^#/,""),i=3===n.length?n.split("").map((e=>e+e)).join(""):n,l=parseInt(i,16);return function(e,t,n){const i=e/255,l=t/255,r=n/255,s=Math.max(i,l,r),o=Math.min(i,l,r),a=(s+o)/2;let d=0,c=0;if(s!==o){const e=s-o;c=a>.5?e/(2-s-o):e/(s+o),d=s===i?(l-r)/e+(l<r?6:0):s===l?(r-i)/e+2:(i-l)/e+4,d*=60}return{h:Math.round(d),s:Math.round(100*c),l:Math.round(100*a)}}(l>>16&255,l>>8&255,255&l)}(e),s=(n-i)/Math.max(t-1,1);return Array.from({length:t},((e,t)=>`hsl(${l}, ${r}%, ${n-t*s}%)`))}(null!==(j=v?null===(l=m.app)||void 0===l||null===(n=l.branding)||void 0===n||null===(t=n.theme)||void 0===t||null===(e=t.dark)||void 0===e?void 0:e.headerColor1:null===(c=m.app)||void 0===c||null===(a=c.branding)||void 0===a||null===(s=a.theme)||void 0===s||null===(r=s.light)||void 0===r?void 0:r.headerColor1)&&void 0!==j?j:"#45556D",x.length),y=e=>Number((e/(h/100)).toFixed(2));return(0,i.jsxs)(we.A,{variant:"outlined",sx:{display:"flex",flexDirection:"column",gap:"8px",flexGrow:1},children:[(0,i.jsx)(ze.A,{title:"Top Visited"}),(0,i.jsx)(W.A,{}),(0,i.jsx)(Ce.A,{children:(0,i.jsx)(o.A,{sx:{display:"flex",alignItems:"center"},children:(0,i.jsx)(ye.r,{colors:f,margin:{left:80,right:80,top:80,bottom:80},series:[{data:x,innerRadius:75,outerRadius:100,paddingAngle:0,highlightScope:{fade:"global",highlight:"item"}}],height:260,width:260,hideLegend:!0,children:(0,i.jsx)(Me,{primaryText:`${h}`,secondaryText:"Total"})})})}),(0,i.jsx)(o.A,{sx:{padding:"2rem",background:g.palette.background.default},children:p.map((e=>(0,i.jsxs)(ke.A,{direction:"row",sx:{alignItems:"center",gap:2,pb:2},children:[(0,i.jsx)(Fe.A,{}),(0,i.jsxs)(ke.A,{sx:{gap:1,flexGrow:1},children:[(0,i.jsxs)(ke.A,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center",gap:2},children:[(0,i.jsx)(A.A,{variant:"body2",sx:{fontWeight:"500"},children:e.name}),(0,i.jsxs)(A.A,{variant:"body2",sx:{color:"text.secondary"},children:[y(e.hits),"%"]})]}),(0,i.jsx)(Se.A,{variant:"determinate","aria-label":"Number of users by country",value:y(e.hits)})]})]},e.id)))})]})}const De=()=>{const e=[{url:"https://docs.platform.vee.codes/",label:"Docs",icon:(0,i.jsx)(ve,{})},{url:"https://github.com/orgs/veecode-platform/discussions",label:"Community",icon:(0,i.jsx)(ge,{})},{url:"https://platform.vee.codes/",label:"Website",icon:(0,i.jsx)(me,{})},{url:"https://veecode-suporte.freshdesk.com/support/login",label:"Support",icon:(0,i.jsx)(je,{})}];return(0,i.jsx)(j.Lt,{children:(0,i.jsx)(pe.U,{stretch:!0,children:(0,i.jsxs)(xe.Ay,{container:!0,spacing:2,justifyContent:"center",children:[(0,i.jsx)(xe.Ay,{item:!0,xs:12,children:(0,i.jsxs)(xe.Ay,{container:!0,spacing:2,children:[(0,i.jsx)(xe.Ay,{item:!0,xs:12,md:6,lg:8,children:(0,i.jsxs)(xe.Ay,{container:!0,spacing:2,justifyContent:"center",children:[(0,i.jsx)(xe.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ue.bv,{})}),(0,i.jsx)(xe.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ue.vA,{})}),(0,i.jsx)(xe.Ay,{item:!0,xl:12,children:(0,i.jsx)(ue.zJ,{tools:e})})]})}),(0,i.jsx)(xe.Ay,{item:!0,xs:12,md:6,lg:4,children:(0,i.jsx)($e,{})})]})}),(0,i.jsx)(xe.Ay,{item:!0,xs:12,sx:{marginTop:"7rem"},children:(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.3em",gap:"10px"},children:[(0,i.jsx)(A.A,{sx:{fontSize:"1.2em",fontWeight:"bold"},children:"Powered by"}),(0,i.jsx)("img",{src:fe,alt:"backstage logo",style:{width:"7.5em",height:"1.5em"}})]})})]})})})};var Ee=n(82326);const Le=(0,l.A)((e=>({pageRoot:{display:"flex",flexDirection:"column",backgroundColor:e.palette.background.default}}))),Oe=()=>{const{pageRoot:e}=Le();return(0,i.jsxs)(Ee.Y,{themeId:"home",className:e,children:[(0,i.jsx)(de,{}),(0,i.jsx)(he,{}),(0,i.jsx)(De,{})]})}}}]);
2
+ //# sourceMappingURL=7499.92139132.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/7499.92139132.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';\nimport AvatarImg from '../../assets/avatar.svg';\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 ?? AvatarImg}\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 xl={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","AvatarImg","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","xl","HomePageToolkit","PieAnimation","marginTop","BackstageLogo","useVeeCodeHomePageStyles","makeStyles","pageRoot","backgroundColor","VeeCodeHomePage","Page","themeId"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 7645.119794aa.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[1085,7645],{11369:(e,r,o)=>{o.d(r,{A:()=>n});var t=o(17545);function n(e){var r=function(e){if("object"!=(0,t.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=(0,t.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,t.A)(r)?r:r+""}},17545:(e,r,o)=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}o.d(r,{A:()=>t})},31085:(e,r,o)=>{e.exports=o(73335)},73335:(e,r,o)=>{var t=o(95478),n=Symbol.for("react.element"),f=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,u=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function p(e,r,o){var t,f={},p=null,c=null;for(t in void 0!==o&&(p=""+o),void 0!==r.key&&(p=""+r.key),void 0!==r.ref&&(c=r.ref),r)i.call(r,t)&&!l.hasOwnProperty(t)&&(f[t]=r[t]);if(e&&e.defaultProps)for(t in r=e.defaultProps)void 0===f[t]&&(f[t]=r[t]);return{$$typeof:n,type:e,key:p,ref:c,props:f,_owner:u.current}}r.Fragment=f,r.jsx=p,r.jsxs=p}}]);
3
+ //# sourceMappingURL=7645.119794aa.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/7645.119794aa.chunk.js","mappings":";0MAEA,SAASA,EAAcC,GACrB,IAAIC,ECFN,SAAqBD,GACnB,GAAI,WAAY,OAAQA,KAAOA,EAAG,OAAOA,EACzC,IAAIE,EAAIF,EAAEG,OAAOC,aACjB,QAAI,IAAWF,EAAG,CAChB,IAAID,EAAIC,EAAEG,KAAKL,EAAGM,UAClB,GAAI,WAAY,OAAQL,GAAI,OAAOA,EACnC,MAAM,IAAIM,UAAU,+CACtB,CACA,OAAyBC,OAAiBR,EAC5C,CDPUI,CAAYJ,GACpB,MAAO,WAAY,OAAQC,GAAKA,EAAIA,EAAI,EAC1C,mBELA,SAASQ,EAAQC,GAGf,OAAOD,EAAU,mBAAqBN,QAAU,iBAAmBA,OAAOQ,SAAW,SAAUD,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBP,QAAUO,EAAEE,cAAgBT,QAAUO,IAAMP,OAAOU,UAAY,gBAAkBH,CACpH,EAAGD,EAAQC,EACb,mCCLEI,EAAOC,QAAU,EAAjB,wBCMW,IAAIC,EAAE,EAAQ,OAASC,EAAEd,OAAOe,IAAI,iBAAiBC,EAAEhB,OAAOe,IAAI,kBAAkBE,EAAEC,OAAOR,UAAUS,eAAeC,EAAEP,EAAEQ,mDAAmDC,kBAAkBC,EAAE,CAACC,KAAI,EAAGC,KAAI,EAAGC,QAAO,EAAGC,UAAS,GAChP,SAASC,EAAEC,EAAEC,EAAEC,GAAG,IAAIC,EAAEC,EAAE,CAAC,EAAElC,EAAE,KAAKmC,EAAE,KAAiF,IAAIF,UAAhF,IAASD,IAAIhC,EAAE,GAAGgC,QAAG,IAASD,EAAEN,MAAMzB,EAAE,GAAG+B,EAAEN,UAAK,IAASM,EAAEL,MAAMS,EAAEJ,EAAEL,KAAcK,EAAEb,EAAEf,KAAK4B,EAAEE,KAAKT,EAAEJ,eAAea,KAAKC,EAAED,GAAGF,EAAEE,IAAI,GAAGH,GAAGA,EAAEM,aAAa,IAAIH,KAAKF,EAAED,EAAEM,kBAAe,IAASF,EAAED,KAAKC,EAAED,GAAGF,EAAEE,IAAI,MAAM,CAACI,SAAStB,EAAEuB,KAAKR,EAAEL,IAAIzB,EAAE0B,IAAIS,EAAEI,MAAML,EAAEM,OAAOnB,EAAEoB,QAAQ,CAAC5B,EAAQ6B,SAASzB,EAAEJ,EAAQ8B,IAAId,EAAEhB,EAAQ+B,KAAKf","sources":["webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/react/jsx-runtime.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/react/cjs/react-jsx-runtime.production.min.js"],"sourcesContent":["import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n"],"names":["toPropertyKey","t","i","e","Symbol","toPrimitive","call","r","TypeError","String","_typeof","o","iterator","constructor","prototype","module","exports","f","k","for","l","m","Object","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","q","c","a","g","b","d","h","defaultProps","$$typeof","type","props","_owner","current","Fragment","jsx","jsxs"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[879],{1614:(e,t,i)=>{i.r(t),i.d(t,{VeecodeHomepagePage:()=>p,veecodeHomepagePlugin:()=>n});var r=i(22097),a=i(98590),s=i(9353);const o=(0,r.createRouteRef)({id:"veecode-homepage"}),n=(0,r.createPlugin)({id:"veecode-homepage",routes:{root:o},apis:[(0,r.createApiFactory)({api:a.y,deps:{storageApi:r.storageApiRef,identityApi:r.identityApiRef},factory:({storageApi:e,identityApi:t})=>s.s.create({storageApi:e,identityApi:t})})]}),p=n.provide((0,r.createRoutableExtension)({name:"c",component:()=>Promise.all([i.e(5568),i.e(1807),i.e(7332),i.e(6513),i.e(1675),i.e(5478),i.e(7326),i.e(484),i.e(9096),i.e(1942),i.e(4129),i.e(8152)]).then(i.bind(i,86772)).then((e=>e.VeeCodeHomePage)),mountPoint:o}))},9353:(e,t,i)=>{i.d(t,{s:()=>r});class r{limit;storageApi;storageKeyPrefix="@backstage/plugin-home:visits";identityApi;static create(e){return new r(e)}constructor(e){this.limit=Math.abs(e.limit??100),this.storageApi=e.storageApi,this.identityApi=e.identityApi}async list(e){let t=[...await this.retrieveAll()];return(e?.orderBy??[]).reverse().forEach((e=>{"asc"===e.direction?t.sort(((t,i)=>this.compare(e,t,i))):t.sort(((t,i)=>this.compare(e,i,t)))})),(e?.filterBy??[]).reverse().forEach((e=>{t=t.filter((t=>{const i=t[e.field];return">"===e.operator?i>e.value:">="===e.operator?i>=e.value:"<"===e.operator?i<e.value:"<="===e.operator?i<=e.value:"=="===e.operator?i===e.value:"!="===e.operator?i!==e.value:"contains"===e.operator&&`${i}`.includes(`${e.value}`)}))})),t.slice(0,e?.limit??8)}async save(e){const t=[...await this.retrieveAll()],i={...e.visit,id:window.crypto.randomUUID(),hits:1,timestamp:Date.now()},r=t.findIndex((e=>e.pathname===i.pathname));return r>=0?(i.id=t[r].id,i.hits=t[r].hits+1,t[r]=i):t.push(i),t.sort(((e,t)=>t.timestamp-e.timestamp)),await this.persistAll(t.splice(0,this.limit)),i}async persistAll(e){const t=await this.getStorageKey();return this.storageApi.set(t,e)}async retrieveAll(){const e=await this.getStorageKey(),t=this.storageApi.snapshot(e);return"unknown"!==t?.presence?t?.value??[]:new Promise(((t,i)=>{const r=this.storageApi.observe$(e).subscribe({next:e=>{const i=e.value??[];r.unsubscribe(),t(i)},error:e=>{r.unsubscribe(),i(e)}})}))}async getStorageKey(){const{userEntityRef:e}=await this.identityApi.getBackstageIdentity();return`${this.storageKeyPrefix}:${e}`}compare(e,t,i){return"number"==typeof t[e.field]?t[e.field]-i[e.field]:`${t[e.field]}`.localeCompare(`${i[e.field]}`)}}},98590:(e,t,i)=>{i.d(t,{Z:()=>a,y:()=>s});var r=i(18439);const a=e=>["<","<=","==","!=",">",">=","contains"].includes(e),s=(0,r.createApiRef)({id:"homepage.visits"})}}]);
2
- //# sourceMappingURL=exposed-PluginRoot.26d32cb5.chunk.js.map
1
+ "use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[879],{1614:(e,t,i)=>{i.r(t),i.d(t,{VeecodeHomepagePage:()=>p,veecodeHomepagePlugin:()=>n});var r=i(22097),a=i(98590),s=i(9353);const o=(0,r.createRouteRef)({id:"veecode-homepage"}),n=(0,r.createPlugin)({id:"veecode-homepage",routes:{root:o},apis:[(0,r.createApiFactory)({api:a.y,deps:{storageApi:r.storageApiRef,identityApi:r.identityApiRef},factory:({storageApi:e,identityApi:t})=>s.s.create({storageApi:e,identityApi:t})})]}),p=n.provide((0,r.createRoutableExtension)({name:"c",component:()=>Promise.all([i.e(5568),i.e(1807),i.e(2533),i.e(7332),i.e(2235),i.e(5478),i.e(7326),i.e(484),i.e(9096),i.e(1942),i.e(4129),i.e(7499)]).then(i.bind(i,63561)).then((e=>e.VeeCodeHomePage)),mountPoint:o}))},9353:(e,t,i)=>{i.d(t,{s:()=>r});class r{limit;storageApi;storageKeyPrefix="@backstage/plugin-home:visits";identityApi;static create(e){return new r(e)}constructor(e){this.limit=Math.abs(e.limit??100),this.storageApi=e.storageApi,this.identityApi=e.identityApi}async list(e){let t=[...await this.retrieveAll()];return(e?.orderBy??[]).reverse().forEach((e=>{"asc"===e.direction?t.sort(((t,i)=>this.compare(e,t,i))):t.sort(((t,i)=>this.compare(e,i,t)))})),(e?.filterBy??[]).reverse().forEach((e=>{t=t.filter((t=>{const i=t[e.field];return">"===e.operator?i>e.value:">="===e.operator?i>=e.value:"<"===e.operator?i<e.value:"<="===e.operator?i<=e.value:"=="===e.operator?i===e.value:"!="===e.operator?i!==e.value:"contains"===e.operator&&`${i}`.includes(`${e.value}`)}))})),t.slice(0,e?.limit??8)}async save(e){const t=[...await this.retrieveAll()],i={...e.visit,id:window.crypto.randomUUID(),hits:1,timestamp:Date.now()},r=t.findIndex((e=>e.pathname===i.pathname));return r>=0?(i.id=t[r].id,i.hits=t[r].hits+1,t[r]=i):t.push(i),t.sort(((e,t)=>t.timestamp-e.timestamp)),await this.persistAll(t.splice(0,this.limit)),i}async persistAll(e){const t=await this.getStorageKey();return this.storageApi.set(t,e)}async retrieveAll(){const e=await this.getStorageKey(),t=this.storageApi.snapshot(e);return"unknown"!==t?.presence?t?.value??[]:new Promise(((t,i)=>{const r=this.storageApi.observe$(e).subscribe({next:e=>{const i=e.value??[];r.unsubscribe(),t(i)},error:e=>{r.unsubscribe(),i(e)}})}))}async getStorageKey(){const{userEntityRef:e}=await this.identityApi.getBackstageIdentity();return`${this.storageKeyPrefix}:${e}`}compare(e,t,i){return"number"==typeof t[e.field]?t[e.field]-i[e.field]:`${t[e.field]}`.localeCompare(`${i[e.field]}`)}}},98590:(e,t,i)=>{i.d(t,{Z:()=>a,y:()=>s});var r=i(18439);const a=e=>["<","<=","==","!=",">",">=","contains"].includes(e),s=(0,r.createApiRef)({id:"homepage.visits"})}}]);
2
+ //# sourceMappingURL=exposed-PluginRoot.7c0308e7.chunk.js.map