@veecode-platform/plugin-veecode-homepage-dynamic 0.2.2 → 0.2.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.
- package/dist/components/VeeCodeHomePage.esm.js +0 -2
- package/dist/components/VeeCodeHomePage.esm.js.map +1 -1
- package/dist-scalprum/plugin-manifest.json +3 -3
- package/dist-scalprum/static/{1213.412457e8.chunk.js → 1213.aff960fc.chunk.js} +3 -3
- package/dist-scalprum/static/1213.aff960fc.chunk.js.map +1 -0
- package/dist-scalprum/static/2211.f5266f49.chunk.js +29 -0
- package/dist-scalprum/static/2211.f5266f49.chunk.js.map +1 -0
- package/dist-scalprum/static/3837.e9b60659.chunk.js +2 -0
- package/dist-scalprum/static/3837.e9b60659.chunk.js.map +1 -0
- package/dist-scalprum/static/41.53c70bd6.chunk.js +2 -0
- package/dist-scalprum/static/41.53c70bd6.chunk.js.map +1 -0
- package/dist-scalprum/static/{4197.8a8b877f.chunk.js → 4197.0e023080.chunk.js} +2 -2
- package/dist-scalprum/static/{4197.8a8b877f.chunk.js.map → 4197.0e023080.chunk.js.map} +1 -1
- package/dist-scalprum/static/{4864.0a352dc6.chunk.js → 4864.3cede332.chunk.js} +2 -2
- package/dist-scalprum/static/{4864.0a352dc6.chunk.js.map → 4864.3cede332.chunk.js.map} +1 -1
- package/dist-scalprum/static/{5255.21365d93.chunk.js → 5255.31f4471a.chunk.js} +2 -2
- package/dist-scalprum/static/{5255.21365d93.chunk.js.map → 5255.31f4471a.chunk.js.map} +1 -1
- package/dist-scalprum/static/5749.9f83e5fe.chunk.js +179 -0
- package/dist-scalprum/static/5749.9f83e5fe.chunk.js.map +1 -0
- package/dist-scalprum/static/{5888.d5ff87d6.chunk.js → 5888.39088266.chunk.js} +1 -1
- package/dist-scalprum/static/{5888.d5ff87d6.chunk.js.map → 5888.39088266.chunk.js.map} +1 -1
- package/dist-scalprum/static/6123.b8f54e25.chunk.js +2 -0
- package/dist-scalprum/static/6123.b8f54e25.chunk.js.map +1 -0
- package/dist-scalprum/static/{6356.0690b575.chunk.js → 6356.a59d5e2e.chunk.js} +2 -2
- package/dist-scalprum/static/{6356.0690b575.chunk.js.map → 6356.a59d5e2e.chunk.js.map} +1 -1
- package/dist-scalprum/static/{6700.f2dbf122.chunk.js → 6700.8ab31ec1.chunk.js} +1 -1
- package/dist-scalprum/static/{6700.f2dbf122.chunk.js.map → 6700.8ab31ec1.chunk.js.map} +1 -1
- package/dist-scalprum/static/8692.8ab75fef.chunk.js +2 -0
- package/dist-scalprum/static/8692.8ab75fef.chunk.js.map +1 -0
- package/dist-scalprum/static/9541.dde4bd87.chunk.js +3 -0
- package/dist-scalprum/static/9541.dde4bd87.chunk.js.map +1 -0
- package/dist-scalprum/static/{9633.d7b4641e.chunk.js → 9633.47d13d21.chunk.js} +2 -2
- package/dist-scalprum/static/{9633.d7b4641e.chunk.js.map → 9633.47d13d21.chunk.js.map} +1 -1
- package/dist-scalprum/static/{exposed-PluginRoot.bf5e0b03.chunk.js → exposed-PluginRoot.221d8f69.chunk.js} +2 -2
- package/dist-scalprum/static/{exposed-PluginRoot.bf5e0b03.chunk.js.map → exposed-PluginRoot.221d8f69.chunk.js.map} +1 -1
- package/dist-scalprum/{veecode-platform.plugin-veecode-homepage.52a7b0ce89460aa40ee1.js → veecode-platform.plugin-veecode-homepage.ea406b87d3dc1c912550.js} +2 -2
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.ea406b87d3dc1c912550.js.map +1 -0
- package/package.json +1 -1
- package/dist/components/headerComponent/HeaderComponent.esm.js +0 -67
- package/dist/components/headerComponent/HeaderComponent.esm.js.map +0 -1
- package/dist/components/headerComponent/iconButtonComponent/IconButtonComponent.esm.js +0 -35
- package/dist/components/headerComponent/iconButtonComponent/IconButtonComponent.esm.js.map +0 -1
- package/dist/components/headerComponent/logout/Logout.esm.js +0 -30
- package/dist/components/headerComponent/logout/Logout.esm.js.map +0 -1
- package/dist/components/headerComponent/menuItems/MenuItems.esm.js +0 -134
- package/dist/components/headerComponent/menuItems/MenuItems.esm.js.map +0 -1
- package/dist/components/headerComponent/notifications/Notifications.esm.js +0 -72
- package/dist/components/headerComponent/notifications/Notifications.esm.js.map +0 -1
- package/dist/components/headerComponent/profile/Profle.esm.js +0 -19
- package/dist/components/headerComponent/profile/Profle.esm.js.map +0 -1
- package/dist/components/headerComponent/searchComponent/SearchBar.esm.js +0 -113
- package/dist/components/headerComponent/searchComponent/SearchBar.esm.js.map +0 -1
- package/dist/components/headerComponent/searchComponent/SearchComponent.esm.js +0 -13
- package/dist/components/headerComponent/searchComponent/SearchComponent.esm.js.map +0 -1
- package/dist/components/headerComponent/searchComponent/SearchInput.esm.js +0 -32
- package/dist/components/headerComponent/searchComponent/SearchInput.esm.js.map +0 -1
- package/dist/components/headerComponent/searchComponent/SearchOption.esm.js +0 -50
- package/dist/components/headerComponent/searchComponent/SearchOption.esm.js.map +0 -1
- package/dist/components/headerComponent/searchComponent/SearchResultItem.esm.js +0 -44
- package/dist/components/headerComponent/searchComponent/SearchResultItem.esm.js.map +0 -1
- package/dist/components/headerComponent/toggleTheme/ToggleTheme.esm.js +0 -37
- package/dist/components/headerComponent/toggleTheme/ToggleTheme.esm.js.map +0 -1
- package/dist/hooks/useDebouncedCallback.esm.js +0 -26
- package/dist/hooks/useDebouncedCallback.esm.js.map +0 -1
- package/dist/utils/stringUtils.esm.js +0 -35
- package/dist/utils/stringUtils.esm.js.map +0 -1
- package/dist-scalprum/static/1213.412457e8.chunk.js.map +0 -1
- package/dist-scalprum/static/1853.9c4997f9.chunk.js +0 -2
- package/dist-scalprum/static/1853.9c4997f9.chunk.js.map +0 -1
- package/dist-scalprum/static/41.a129355f.chunk.js +0 -2
- package/dist-scalprum/static/41.a129355f.chunk.js.map +0 -1
- package/dist-scalprum/static/5211.b1dc9542.chunk.js +0 -3
- package/dist-scalprum/static/5211.b1dc9542.chunk.js.map +0 -1
- package/dist-scalprum/static/5571.73942ff6.chunk.js +0 -206
- package/dist-scalprum/static/5571.73942ff6.chunk.js.map +0 -1
- package/dist-scalprum/static/6123.94c2f019.chunk.js +0 -2
- package/dist-scalprum/static/6123.94c2f019.chunk.js.map +0 -1
- package/dist-scalprum/static/6460.86145f5a.chunk.js +0 -2
- package/dist-scalprum/static/6460.86145f5a.chunk.js.map +0 -1
- package/dist-scalprum/static/6921.efadb98d.chunk.js +0 -2
- package/dist-scalprum/static/6921.efadb98d.chunk.js.map +0 -1
- package/dist-scalprum/veecode-platform.plugin-veecode-homepage.52a7b0ce89460aa40ee1.js.map +0 -1
- /package/dist-scalprum/static/{1213.412457e8.chunk.js.LICENSE.txt → 1213.aff960fc.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{5571.73942ff6.chunk.js.LICENSE.txt → 5749.9f83e5fe.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{5211.b1dc9542.chunk.js.LICENSE.txt → 9541.dde4bd87.chunk.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[6123],{25098:(t,r,e)=>{var n=e(23305),o=e(39361),a=e(11112),s=e(25276),i=e(57452);function p(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}p.prototype.clear=n,p.prototype.delete=o,p.prototype.get=a,p.prototype.has=s,p.prototype.set=i,t.exports=p},1386:(t,r,e)=>{var n=e(12393),o=e(62049),a=e(7144),s=e(7452),i=e(13964);function p(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}p.prototype.clear=n,p.prototype.delete=o,p.prototype.get=a,p.prototype.has=s,p.prototype.set=i,t.exports=p},19770:(t,r,e)=>{var n=e(94715)(e(78942),"Map");t.exports=n},68250:(t,r,e)=>{var n=e(49753),o=e(5681),a=e(80088),s=e(54732),i=e(59068);function p(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}p.prototype.clear=n,p.prototype.delete=o,p.prototype.get=a,p.prototype.has=s,p.prototype.set=i,t.exports=p},65111:t=>{t.exports=function(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e<n;)o[e]=r(t[e],e,t);return o}},97034:(t,r,e)=>{var n=e(46285);t.exports=function(t,r){for(var e=t.length;e--;)if(n(t[e][0],r))return e;return-1}},57923:(t,r,e)=>{var n=e(93526),o=e(66040);t.exports=function(t,r){for(var e=0,a=(r=n(r,t)).length;null!=t&&e<a;)t=t[o(r[e++])];return e&&e==a?t:void 0}},89624:(t,r,e)=>{var n=e(93655),o=e(64759),a=e(41580),s=e(64066),i=/^\[object .+?Constructor\]$/,p=Function.prototype,u=Object.prototype,c=p.toString,v=u.hasOwnProperty,h=RegExp("^"+c.call(v).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||o(t))&&(n(t)?h:i).test(s(t))}},52291:(t,r,e)=>{var n=e(65650),o=e(65111),a=e(53142),s=e(51187),i=n?n.prototype:void 0,p=i?i.toString:void 0;t.exports=function t(r){if("string"==typeof r)return r;if(a(r))return o(r,t)+"";if(s(r))return p?p.call(r):"";var e=r+"";return"0"==e&&1/r==-1/0?"-0":e}},93526:(t,r,e)=>{var n=e(53142),o=e(65187),a=e(96493),s=e(95243);t.exports=function(t,r){return n(t)?t:o(t,r)?[t]:a(s(t))}},41950:(t,r,e)=>{var n=e(78942)["__core-js_shared__"];t.exports=n},44700:(t,r,e)=>{var n=e(79067);t.exports=function(t,r){var e=t.__data__;return n(r)?e["string"==typeof r?"string":"hash"]:e.map}},94715:(t,r,e)=>{var n=e(89624),o=e(20155);t.exports=function(t,r){var e=o(t,r);return n(e)?e:void 0}},20155:t=>{t.exports=function(t,r){return null==t?void 0:t[r]}},23305:(t,r,e)=>{var n=e(94497);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},39361:t=>{t.exports=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}},11112:(t,r,e)=>{var n=e(94497),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;if(n){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return o.call(r,t)?r[t]:void 0}},25276:(t,r,e)=>{var n=e(94497),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;return n?void 0!==r[t]:o.call(r,t)}},57452:(t,r,e)=>{var n=e(94497);t.exports=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=n&&void 0===r?"__lodash_hash_undefined__":r,this}},65187:(t,r,e)=>{var n=e(53142),o=e(51187),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;t.exports=function(t,r){if(n(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!o(t))||s.test(t)||!a.test(t)||null!=r&&t in Object(r)}},79067:t=>{t.exports=function(t){var r=typeof t;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t}},64759:(t,r,e)=>{var n,o=e(41950),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!a&&a in t}},12393:t=>{t.exports=function(){this.__data__=[],this.size=0}},62049:(t,r,e)=>{var n=e(97034),o=Array.prototype.splice;t.exports=function(t){var r=this.__data__,e=n(r,t);return!(e<0||(e==r.length-1?r.pop():o.call(r,e,1),--this.size,0))}},7144:(t,r,e)=>{var n=e(97034);t.exports=function(t){var r=this.__data__,e=n(r,t);return e<0?void 0:r[e][1]}},7452:(t,r,e)=>{var n=e(97034);t.exports=function(t){return n(this.__data__,t)>-1}},13964:(t,r,e)=>{var n=e(97034);t.exports=function(t,r){var e=this.__data__,o=n(e,t);return o<0?(++this.size,e.push([t,r])):e[o][1]=r,this}},49753:(t,r,e)=>{var n=e(25098),o=e(1386),a=e(19770);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},5681:(t,r,e)=>{var n=e(44700);t.exports=function(t){var r=n(this,t).delete(t);return this.size-=r?1:0,r}},80088:(t,r,e)=>{var n=e(44700);t.exports=function(t){return n(this,t).get(t)}},54732:(t,r,e)=>{var n=e(44700);t.exports=function(t){return n(this,t).has(t)}},59068:(t,r,e)=>{var n=e(44700);t.exports=function(t,r){var e=n(this,t),o=e.size;return e.set(t,r),this.size+=e.size==o?0:1,this}},76853:(t,r,e)=>{var n=e(69011);t.exports=function(t){var r=n(t,function(t){return 500===e.size&&e.clear(),t}),e=r.cache;return r}},94497:(t,r,e)=>{var n=e(94715)(Object,"create");t.exports=n},96493:(t,r,e)=>{var n=e(76853),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=n(function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(o,function(t,e,n,o){r.push(n?o.replace(a,"$1"):e||t)}),r});t.exports=s},66040:(t,r,e)=>{var n=e(51187);t.exports=function(t){if("string"==typeof t||n(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},64066:t=>{var r=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},46285:t=>{t.exports=function(t,r){return t===r||t!=t&&r!=r}},46123:(t,r,e)=>{var n=e(57923);t.exports=function(t,r,e){var o=null==t?void 0:n(t,r);return void 0===o?e:o}},53142:t=>{var r=Array.isArray;t.exports=r},93655:(t,r,e)=>{var n=e(87379),o=e(41580);t.exports=function(t){if(!o(t))return!1;var r=n(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}},69011:(t,r,e)=>{var n=e(68250);function o(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var e=function(){var n=arguments,o=r?r.apply(this,n):n[0],a=e.cache;if(a.has(o))return a.get(o);var s=t.apply(this,n);return e.cache=a.set(o,s)||a,s};return e.cache=new(o.Cache||n),e}o.Cache=n,t.exports=o},95243:(t,r,e)=>{var n=e(52291);t.exports=function(t){return null==t?"":n(t)}}}]);
|
|
2
|
-
//# sourceMappingURL=6123.94c2f019.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/6123.94c2f019.chunk.js","mappings":"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","sources":["webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_Hash.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_ListCache.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_Map.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_MapCache.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_arrayMap.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_assocIndexOf.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_baseGet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_baseIsNative.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_baseToString.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_castPath.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_coreJsData.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_getMapData.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_getNative.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_getValue.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_hashClear.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_hashDelete.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_hashGet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_hashHas.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_hashSet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_isKey.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_isKeyable.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_isMasked.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_listCacheClear.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_listCacheDelete.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_listCacheGet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_listCacheHas.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_listCacheSet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_mapCacheClear.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_mapCacheDelete.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_mapCacheGet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_mapCacheHas.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_mapCacheSet.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_memoizeCapped.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_nativeCreate.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_stringToPath.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_toKey.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/_toSource.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/eq.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/get.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/isArray.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/isFunction.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/memoize.js","webpack://veecode-platform.plugin-veecode-homepage/../../node_modules/lodash/toString.js"],"sourcesContent":["var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n"],"names":["hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","index","length","this","clear","entry","set","prototype","get","has","module","exports","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","getNative","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","array","iteratee","result","Array","eq","key","castPath","toKey","object","path","undefined","isFunction","isMasked","isObject","toSource","reIsHostCtor","funcProto","Function","objectProto","Object","funcToString","toString","hasOwnProperty","reIsNative","RegExp","call","replace","value","test","Symbol","arrayMap","isArray","isSymbol","symbolProto","symbolToString","baseToString","isKey","stringToPath","coreJsData","isKeyable","map","data","__data__","baseIsNative","getValue","nativeCreate","size","reIsDeepProp","reIsPlainProp","type","uid","maskSrcKey","exec","keys","IE_PROTO","func","assocIndexOf","splice","pop","push","getMapData","memoize","cache","memoizeCapped","rePropName","reEscapeChar","string","charCodeAt","match","number","quote","subString","e","other","baseGet","defaultValue","baseGetTag","tag","resolver","TypeError","memoized","args","arguments","apply","Cache"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkveecode_platform_plugin_veecode_homepage=self.webpackChunkveecode_platform_plugin_veecode_homepage||[]).push([[6460],{46373:(e,t,n)=>{n.r(t),n.d(t,{VeeCodeHomePage:()=>Be});var i=n(31085),r=n(95478),l=n(21976),s=n(23630),o=n(75342),a=n(6530),d=n(46121),c=n(13295),u=n(9490),x=n(78722),h=n(47086),p=n(42469);const g=({title:e,label:t,color:n,handleClick:r,link:l,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:r,children:s});return(0,i.jsx)(h.A,{title:e,children:l?(0,i.jsx)(p.Link,{to:l,children:o}):o})},v=()=>{const e=(0,u.useApi)(u.appThemeApiRef),t="dark"===(0,a.A)().palette.mode,n=t?"Select theme Light Theme":"Select theme Dark Theme",r=e.getInstalledThemes();return(0,i.jsx)(g,{title:n,handleClick:n=>{const i=t?"light":"dark";n.preventDefault(),n.stopPropagation(),r.some(e=>e.id===i)?e.setActiveThemeId(i):e.setActiveThemeId(void 0)},color:"inherit",label:"Toggle-theme",children:t?(0,i.jsx)(d.A,{}):(0,i.jsx)(c.A,{})})};var m=n(69385),j=n(62958),f=n(9988),A=n(65990);const y=(e,t)=>{if(!t)return(0,i.jsx)(i.Fragment,{children:e});const n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`(${n})`,"i"),l=e.split(r);return(0,i.jsx)(i.Fragment,{children:l.map((e,t)=>r.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(14538),b=n(17628),C=n(55330);const k=({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)(b.A,{position:"start",children:(0,i.jsx)(C.A,{style:{color:"#ffffff"}})})},sx:{input:{color:"#CDCDCD"},button:{color:"inherit"},"& fieldset":{border:"none"}}});var S=n(27502),I=n(39970),L=n(90606),z=n(50232);const F=({option:e,query:t,result:n,renderProps:r})=>{const l="No results found"===e,o=(0,u.useAnalytics)();var a;return(0,i.jsx)(s.A,{component:l?"div":I.N_,to:null==n?void 0:n.document.location,underline:"none",sx:{width:"100%",...l?{}:{cursor:"pointer"}},children:(0,i.jsx)(L.Ay,{...r,sx:{py:1},onClick:e=>{var t,i,l;o.captureEvent("discover",null!==(i=null==n?void 0:n.document.title)&&void 0!==i?i:"",{attributes:{to:null!==(l=null==n?void 0:n.document.location)&&void 0!==l?l:"#"},value:null==n?void 0:n.rank}),null==r||null===(t=r.onClick)||void 0===t||t.call(r,e)},children:(0,i.jsx)(A.A,{sx:{color:"text.primary",flexGrow:1},children:l?e:y(e,null!==(a=null==t?void 0:t.term)&&void 0!==a?a:"")})})})},T=({option:e,index:t,options:n,query:r,results:l,renderProps:o,searchLink:a})=>{if(e===(null==r?void 0:r.term)&&t===n.length-1)return(0,i.jsxs)(s.A,{id:"all-results",children:[(0,i.jsx)(S.A,{sx:{my:.5}}),(0,i.jsx)(I.N_,{to:a,underline:"none",children:(0,i.jsx)(L.Ay,{...o,sx:{my:0},className:"allResultsOption",children:(0,i.jsxs)(s.A,{sx:{display:"flex",alignItems:"center"},children:[(0,i.jsx)(A.A,{sx:{flexGrow:1},children:"All results"}),(0,i.jsx)(z.A,{fontSize:"small"})]})})})]},"all-results");const d=l.find(t=>t.document.title===e);return(0,i.jsx)(F,{option:e,query:r,result:d,renderProps:o},t)},D=e=>{const{query:t,setSearchTerm:n}=e,l=(0,p.useNavigate)(),[s,o]=(0,r.useState)(-1),d=(0,r.useRef)(s),{setTerm:c}=(0,m.SQ)(),u=(0,a.A)(),x=(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)(()=>{d.current=s},[s]),(0,i.jsx)(j.z1,{...e,children:({loading:e,error:n,value:r})=>{var a;const c=(null==t?void 0:t.term)&&null!==(a=null==r?void 0:r.results)&&void 0!==a?a:[];let h=[];var p;(null==t?void 0:t.term)&&0===c.length&&(h=["No results found"]),c.length>0&&(h=[...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)(f.A,{freeSolo:!0,options:h,loading:e,value:null!==(m=null==t?void 0:t.term)&&void 0!==m?m:"",getOptionLabel:e=>null!=e?e:"",onInputChange:x,onHighlightChange:(e,t)=>o(h.indexOf(null!=t?t:"")),componentsProps:{paper:{sx:{borderRadius:"4px",outline:"unset"}}},sx:{width:"100%",background:"dark"===u.palette.mode?"#FFFFFF10":"#CDCDCD10",'& [class*="MuiAutocomplete-clearIndicator"]':{visibility:(null==t?void 0:t.term)?"visible":"hidden"},padding:".2rem",borderRadius:"8px","&:hover":{background:"dark"===u.palette.mode?"#FFFFFF25":"#CDCDCD25"}},filterOptions:e=>e,onKeyDown:e=>{const n=d.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,a;l(null!==(a=null===(r=c[s])||void 0===r||null===(i=r.document)||void 0===i?void 0:i.location)&&void 0!==a?a:g)}o(-1)}},renderInput:e=>(0,i.jsx)(k,{params:e,error:!!n,helperText:n?"Error fetching results":""}),renderOption:(e,n,{index:r})=>(0,i.jsx)(T,{option:n,index:r,options:h,query:t,results:c,renderProps:e,searchLink:g}),ListboxProps:{sx:{maxHeight:"60vh"}}})}})};var R=n(81270);const M=()=>{const[e,t]=(0,r.useState)("");return(0,i.jsx)(m.Lt,{children:(0,i.jsx)(R.Box,{component:"div",sx:{width:"100%",maxWidth:"50vw"},children:(0,i.jsx)(D,{query:{term:e},setSearchTerm:t})})})};var $=n(49915),E=n(94087),O=n(49446),P=n(36521),H=n(23386),N=n(62142);const W=n.p+"static/avatar.70448f05..svg",B=({width:e,height:t})=>{const{profile:n,loading:r}=(0,P.s)();var l;return(0,i.jsx)(i.Fragment,{children:r?(0,i.jsx)(N.A,{variant:"circular",sx:{width:e,height:t}}):(0,i.jsx)(H.A,{src:null!==(l=n.picture)&&void 0!==l?l:W,sx:{width:e,height:t,objectFit:"cover"},alt:"Profile picture"})})};var _=n(30043),G=n(24640),U=n(57368);const V=()=>{const e=(0,u.useApi)(u.identityApiRef);return(0,i.jsxs)(s.A,{component:"div",onClick:async()=>{await e.signOut()},sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[(0,i.jsx)(G.A,{children:(0,i.jsx)(U.A,{fontSize:"small"})}),"Log out"]})};var q=n(63549);const Y=({handleClose:e,link:t,children:n})=>(0,i.jsx)(R.MenuItem,{onClick:e,children:(0,i.jsx)(p.Link,{to:t,children:(0,i.jsx)(s.A,{component:"div",sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:".1rem 0"},children:n})})}),J=({anchorEl:e,menuId:t,isOpen:n,handleClose:l})=>{var o,d;const c=(0,a.A)(),{displayName:x,backstageIdentity:h}=(0,P.s)(),p=(0,u.useApi)(_.v);var g;const v=null!==(g=null===(d=(0,u.useApi)(u.configApiRef).app)||void 0===d||null===(o=d.support)||void 0===o?void 0:o.url)&&void 0!==g?g:"https://github.com/orgs/veecode-platform/discussions";return(0,r.useEffect)(()=>{(async()=>{let e;try{return(null==h?void 0:h.userEntityRef)&&(e=await p.getEntityByRef(h.userEntityRef)),e}catch(e){return null}})()},[h,p]),(0,i.jsxs)(O.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)(s.A,{sx:{px:2,py:1.5,display:"flex",alignItems:"center",gap:1.5},children:[(0,i.jsx)(B,{}),(0,i.jsxs)(s.A,{children:[(0,i.jsx)(A.A,{variant:"subtitle1",children:(()=>{const e=x;return/^[^:/]+:[^/]+\/[^/]+$/.test(e)?e.charAt(e.indexOf("/")+1).toLocaleUpperCase("en-US").concat(e.substring(e.indexOf("/")+2)):e})()}),(0,i.jsx)(q.A,{size:"small",variant:"outlined",label:null==h?void 0:h.ownershipEntityRefs[0].split("/")[1]})]})]}),(0,i.jsx)(R.Divider,{}),(0,i.jsx)(Y,{handleClose:l,link:v,children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(R.ListItemIcon,{children:(0,i.jsx)($.A,{fontSize:"small"})}),"Help"]})}),(0,i.jsx)(Y,{handleClose:l,link:"/settings",children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(R.ListItemIcon,{children:(0,i.jsx)(E.A,{fontSize:"small"})}),"Settings"]})}),(0,i.jsx)(R.Divider,{}),(0,i.jsx)(R.MenuItem,{children:(0,i.jsx)(V,{})})]})};var K=n(41425),Q=n(52452),X=n(42804),Z=n(87094),ee=n(16294),te=n(97331),ne=n.n(te);const ie=()=>{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,ee.U)("notifications"),{error:a,value:d,retry:c,loading:u}=(0,Z.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]),x=(0,r.useMemo)(()=>ne()(()=>c(),2e3),[]);var h;const p=null!==(h=null==d||null===(e=d[1])||void 0===e?void 0:e.unread)&&void 0!==h?h:0;return(0,r.useEffect)(()=>{(null==o?void 0:o.action)&&x()},[o,x]),(0,i.jsx)(g,{title:"Notifications",label:`Mostrar ${p} notificações não lidas`,color:"inherit",link:"/notifications",children:(0,i.jsx)(K.A,{badgeContent:p,color:"error",invisible:u||!!a||0===p,children:u?(0,i.jsx)(X.A,{size:20,color:"inherit"}):(0,i.jsx)(Q.A,{})})})},re=({handleOpenMenu:e})=>(0,i.jsx)(g,{title:"",label:"profile-menu",handleClick:e,color:"inherit",children:(0,i.jsx)(B,{width:"42px",height:"42px"})}),le=()=>{const e=(0,a.A)(),[t,n]=r.useState(null),d=Boolean(t);return(0,i.jsxs)(s.A,{sx:{position:"relative"},children:[(0,i.jsx)(l.A,{position:"sticky",component:"nav",style:{zIndex:e.zIndex.appBar-1},children:(0,i.jsxs)(o.A,{children:[(0,i.jsx)(M,{}),(0,i.jsx)(s.A,{sx:{flexGrow:1}}),(0,i.jsxs)(s.A,{sx:{display:{xs:"none",md:"flex",alignItems:"center",gap:".5rem"}},children:[(0,i.jsx)(ie,{}),(0,i.jsx)(v,{}),(0,i.jsx)(re,{handleOpenMenu:e=>{n(e.currentTarget)}})]})]})}),(0,i.jsx)(J,{anchorEl:t,menuId:"profile-menu",isOpen:d,handleClose:()=>{n(null)}})]})},se=n.p+"static/waves.6d6cf859..svg",oe=()=>{var e,t,n,l,o,d,c,x,h,p,g,v,m,j,f,y;const[w,b]=(0,r.useState)(!1),{displayName:C}=(0,P.s)(),k=(0,a.A)(),S="dark"===k.palette.mode,I=(0,u.useApi)(u.configApiRef);var L;const z=null!==(L=S?null===(l=I.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===(x=I.app)||void 0===x||null===(c=x.branding)||void 0===c||null===(d=c.theme)||void 0===d||null===(o=d.light)||void 0===o?void 0:o.headerColor1)&&void 0!==L?L:"#45556D";var F;const T=null!==(F=S?null===(v=I.app)||void 0===v||null===(g=v.branding)||void 0===g||null===(p=g.theme)||void 0===p||null===(h=p.dark)||void 0===h?void 0:h.headerColor2:null===(y=I.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)(()=>{b(!0),setTimeout(()=>b(!1),1e3)},[]),(0,i.jsxs)(s.A,{sx:{background:`linear-gradient(90deg, ${z} 0%, ${T} 100%)`,width:"100%",minHeight:"210px",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden",[k.breakpoints.only("xs")]:{height:"380px",padding:"1rem 0"}},children:[(0,i.jsxs)(s.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)(s.A,{children:(0,i.jsx)(B,{width:"120px",height:"120px"})}),(0,i.jsxs)(s.A,{sx:{[k.breakpoints.only("xs")]:{textAlign:"center",color:k.palette.grey[100],maxWidth:"70vw"}},children:[(0,i.jsxs)(A.A,{variant:"h3",color:"#FAFAFA",children:["Welcome back",w?(0,i.jsx)(N.A,{variant:"rectangular",width:150,height:80,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",color:"#FAFAFA",children:"Let's get started."})]})]}),(0,i.jsx)("img",{src:se,alt:"",style:{width:"100%",height:"250px",objectFit:"cover",position:"absolute",top:"-20%",left:"0",opacity:"0.7"}})]})};var ae=n(6505),de=n(82971),ce=n(16454);const ue=()=>{const e=(0,a.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",{})]})})},xe=()=>{const e=(0,a.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],fillRule:"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",clipRule:"evenodd"})})},he=()=>{const e=(0,a.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"})})]})},pe=()=>{const e=(0,a.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"})]})},ge=n.p+"static/backstage.b1940be1..png";var ve=n(36589),me=n(92742),je=n(59193),fe=n(56040),Ae=n(70246),ye=n(97134),we=n(77376),be=n(98590),Ce=n(35015);function ke(e="royalblue",t,n=70,i=30){const{h:r,s:l}=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,r=parseInt(i,16);return function(e,t,n){const i=e/255,r=t/255,l=n/255,s=Math.max(i,r,l),o=Math.min(i,r,l),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?(r-l)/e+(r<l?6:0):s===r?(l-i)/e+2:(i-r)/e+4,d*=60}return{h:Math.round(d),s:Math.round(100*c),l:Math.round(100*a)}}(r>>16&255,r>>8&255,255&r)}(e),s=(n-i)/Math.max(t-1,1);return Array.from({length:t},(e,t)=>`hsl(${r}, ${l}%, ${n-t*s}%)`)}var Se=n(61690);const Ie=(0,je.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 Le({primaryText:e,secondaryText:t}){const{width:n,height:l,left:s,top:o}=(0,me.N)(),a=o+l/2-10,d=a+24;return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)(Ie,{variant:"primary",x:s+n/2,y:a,children:e}),(0,i.jsx)(Ie,{variant:"secondary",x:s+n/2,y:d,children:t})]})}function ze(){var e,t,n,r,l,o,d,c;const{total:x,items:h,visits:p}=(()=>{const e=(0,u.useApi)(be.y),{value:t,loading:n,error:i}=(0,Ce.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 r,l,s;return{loading:n,error:i,total:null!==(r=null==t?void 0:t.total)&&void 0!==r?r:0,items:null!==(l=null==t?void 0:t.items)&&void 0!==l?l:[],visits:null!==(s=null==t?void 0:t.visits)&&void 0!==s?s:[]}})(),g=(0,a.A)(),v="dark"===g.palette.mode,m=(0,u.useApi)(u.configApiRef);var j;const f=ke(null!==(j=v?null===(r=m.app)||void 0===r||null===(n=r.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===(d=c.branding)||void 0===d||null===(o=d.theme)||void 0===o||null===(l=o.light)||void 0===l?void 0:l.headerColor1)&&void 0!==j?j:"#45556D",h.length),y=e=>Number((e/(x/100)).toFixed(2));return(0,i.jsxs)(fe.A,{variant:"outlined",sx:{display:"flex",flexDirection:"column",gap:"8px",flexGrow:1,maxHeight:"900px",overfloyY:"auto"},children:[(0,i.jsx)(R.CardHeader,{title:"Top Visited"}),(0,i.jsx)(R.Divider,{}),(0,i.jsx)(Ae.A,{children:(0,i.jsx)(s.A,{sx:{display:"flex",alignItems:"center"},children:(0,i.jsx)(ve.r,{colors:f,margin:{left:80,right:80,top:80,bottom:80},series:[{data:h,innerRadius:75,outerRadius:100,paddingAngle:0,highlightScope:{fade:"global",highlight:"item"}}],height:260,width:260,hideLegend:!0,children:(0,i.jsx)(Le,{primaryText:`${x}`,secondaryText:"Total"})})})}),(0,i.jsx)(s.A,{sx:{padding:"2rem",background:g.palette.background.default},children:p.map(e=>(0,i.jsxs)(ye.A,{direction:"row",sx:{alignItems:"center",gap:2,pb:2},children:[(0,i.jsx)(Se.A,{}),(0,i.jsxs)(ye.A,{sx:{gap:1,flexGrow:1},children:[(0,i.jsxs)(ye.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)(we.A,{variant:"determinate","aria-label":"Number of users by country",value:y(e.hits)})]})]},e.id))})]})}var Fe=n(54994);function Te({icon:e,title:t,value:n,color:r}){return(0,i.jsx)(fe.A,{variant:"outlined",sx:{width:"100%",height:"100%",flexGrow:1,background:(0,Fe.alpha)(r,.15)},children:(0,i.jsxs)(Ae.A,{children:[(0,i.jsxs)(s.A,{component:"div",sx:{display:"flex",gap:".5rem",padding:".5rem 0"},children:[(0,i.jsx)(e,{color:"secondary",style:{fontSize:"18px"}}),(0,i.jsx)(A.A,{component:"h2",variant:"subtitle1",gutterBottom:!0,children:t})]}),(0,i.jsx)(ye.A,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:(0,i.jsx)(A.A,{variant:"h4",component:"div",sx:{width:"100%",textAlign:"right",padding:"0 .5rem"},children:n})})]})})}var De=n(64811),Re=n(97522),Me=n(87318);function $e(){const e=(0,a.A)();return(0,i.jsx)(fe.A,{variant:"outlined",sx:{width:"100%",height:"100%",flexGrow:1,border:"1px solid transparent",[e.breakpoints.down("lg")]:{justifyContent:"center",background:e.palette.background.default}},children:(0,i.jsxs)(Ae.A,{children:[(0,i.jsxs)(s.A,{component:"div",sx:{display:"flex",gap:".5rem",padding:".5rem 0",[e.breakpoints.down("lg")]:{justifyContent:"center"}},children:[(0,i.jsx)(Re.A,{color:"primary"}),(0,i.jsx)(A.A,{component:"h2",variant:"subtitle2",gutterBottom:!0,sx:{fontWeight:"600"},children:"Add new features"})]}),(0,i.jsx)(s.A,{sx:{[e.breakpoints.down("lg")]:{textAlign:"center"}},children:(0,i.jsxs)(Me.z,{variant:"contained",to:"/create",children:[" ",(0,i.jsx)(De.A,{})," Create"]})})]})})}var Ee=n(27732),Oe=n(97035),Pe=n(3629);function He(){var e,t,n,r,l,o,d,c;const{resources:x,apis:h,components:p}=(()=>{const e=(0,u.useApi)(_.v),{value:t,loading:n,error:i}=(0,Ce.A)(async()=>{const t=await e.getEntities();return{resources:t.items.filter(e=>"api"!==e.kind.toLocaleLowerCase()&&"Component"!==e.kind.toLocaleLowerCase()&&"group"!==e.kind.toLocaleLowerCase()&&"user"!==e.kind.toLocaleLowerCase()&&"location"!==e.kind.toLocaleLowerCase()),apis:t.items.filter(e=>"api"===e.kind.toLocaleLowerCase()),components:t.items.filter(e=>"component"===e.kind.toLocaleLowerCase())}},[]);var r,l,s;return{loading:n,error:i,resources:null!==(r=null==t?void 0:t.resources)&&void 0!==r?r:[],apis:null!==(l=null==t?void 0:t.apis)&&void 0!==l?l:[],components:null!==(s=null==t?void 0:t.components)&&void 0!==s?s:[]}})(),g=(0,a.A)(),v="dark"===g.palette.mode,m=(0,u.useApi)(u.configApiRef),j=[{icon:Ee.A,title:"Resources",value:x.length.toString()},{icon:Oe.A,title:"Components",value:p.length.toString()},{icon:Pe.A,title:"APIs",value:h.length.toString()}];var f;const A=ke(null!==(f=v?null===(r=m.app)||void 0===r||null===(n=r.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===(d=c.branding)||void 0===d||null===(o=d.theme)||void 0===o||null===(l=o.light)||void 0===l?void 0:l.headerColor1)&&void 0!==f?f:"#45556D",j.length);return(0,i.jsxs)(fe.A,{variant:"outlined",sx:{display:"flex",flexDirection:"column",gap:"8px",flexGrow:1,overfloyY:"auto"},children:[(0,i.jsx)(R.CardHeader,{title:"Summary"}),(0,i.jsx)(R.Divider,{}),(0,i.jsx)(Ae.A,{children:(0,i.jsxs)(s.A,{sx:{display:"grid",alignItems:"center",gap:"1rem",gridTemplateColumns:"repeat(4,1fr)",[g.breakpoints.down("lg")]:{gridTemplateColumns:"1fr"}},children:[j.map((e,t)=>(0,i.jsx)(Te,{...e,color:A[t]},t)),(0,i.jsx)($e,{})]})})]})}const Ne=()=>{const e=[{url:"https://docs.platform.vee.codes/",label:"Docs",icon:(0,i.jsx)(xe,{})},{url:"https://github.com/orgs/veecode-platform/discussions",label:"Community",icon:(0,i.jsx)(ue,{})},{url:"https://platform.vee.codes/",label:"Website",icon:(0,i.jsx)(he,{})},{url:"https://veecode-suporte.freshdesk.com/support/login",label:"Support",icon:(0,i.jsx)(pe,{})}];return(0,i.jsx)(m.Lt,{children:(0,i.jsx)(ce.U,{stretch:!0,children:(0,i.jsxs)(de.Ay,{container:!0,spacing:2,justifyContent:"center",children:[(0,i.jsx)(de.Ay,{item:!0,xs:12,children:(0,i.jsxs)(de.Ay,{container:!0,spacing:2,children:[(0,i.jsx)(de.Ay,{item:!0,xs:12,md:6,lg:8,children:(0,i.jsxs)(de.Ay,{container:!0,spacing:2,justifyContent:"center",children:[(0,i.jsx)(de.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(He,{})}),(0,i.jsx)(de.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ae.bv,{})}),(0,i.jsx)(de.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ae.vA,{})})]})}),(0,i.jsx)(de.Ay,{item:!0,xs:12,md:6,lg:4,children:(0,i.jsxs)(de.Ay,{container:!0,spacing:2,justifyContent:"center",children:[(0,i.jsx)(de.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ze,{})}),(0,i.jsx)(de.Ay,{item:!0,xs:12,md:12,lg:12,children:(0,i.jsx)(ae.zJ,{tools:e})})]})})]})}),(0,i.jsx)(de.Ay,{item:!0,xs:12,sx:{marginTop:"7rem"},children:(0,i.jsxs)(s.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:ge,alt:"backstage logo",style:{width:"7.5em",height:"1.5em"}})]})})]})})})};var We=n(82326);const Be=()=>(0,i.jsx)(We.Y,{themeId:"home",children:(0,i.jsxs)(s.A,{sx:{backgroundColor:"background.default",display:"flex",flexDirection:"column",width:"100%",minHeight:"100vh"},children:[(0,i.jsx)(le,{}),(0,i.jsx)(oe,{}),(0,i.jsx)(Ne,{})]})})}}]);
|
|
2
|
-
//# sourceMappingURL=6460.86145f5a.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/6460.86145f5a.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/utils/generateColor.ts","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/components/homeContent/StatCards.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/homeContent/HighLightedCard.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/components/homeContent/Summary.tsx","webpack://veecode-platform.plugin-veecode-homepage/./src/hooks/useCatalog.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 '@mui/material';\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 '@mui/material';\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={{ 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: '380px',\n padding: '1rem 0',\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\n sx={{\n [theme.breakpoints.only('xs')]: {\n textAlign: 'center',\n color: theme.palette.grey[100],\n maxWidth: '70vw',\n },\n }}\n >\n <Typography variant=\"h3\" color=\"#FAFAFA\">\n Welcome back\n {loading ? (\n <Skeleton\n variant=\"rectangular\"\n width={150}\n height={80}\n style={{ display: 'inline' }}\n />\n ) : (\n <>, {profileDisplayName()} 👋</>\n )}{' '}\n </Typography>\n <Typography variant=\"h6\" color=\"#FAFAFA\">\n Let's get started.\n </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 fillRule=\"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 clipRule=\"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","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-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 '@mui/material';\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={{\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n flexGrow: 1,\n maxHeight: '900px',\n overfloyY: 'auto',\n }}\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","import Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport { alpha } from '@mui/material/styles';\n\nexport type StatCardProps = {\n icon: React.ElementType;\n title: string;\n value: string;\n color: string;\n};\n\nexport default function StatCard({\n icon: Icon,\n title,\n value,\n color,\n}: StatCardProps) {\n return (\n <Card\n variant=\"outlined\"\n sx={{\n width: '100%',\n height: '100%',\n flexGrow: 1,\n background: alpha(color, 0.15),\n }}\n >\n <CardContent>\n <Box\n component=\"div\"\n sx={{\n display: 'flex',\n gap: '.5rem',\n padding: '.5rem 0',\n }}\n >\n <Icon color=\"secondary\" style={{ fontSize: '18px' }} />\n <Typography component=\"h2\" variant=\"subtitle1\" gutterBottom>\n {title}\n </Typography>\n </Box>\n\n <Stack\n direction=\"row\"\n sx={{\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Typography\n variant=\"h4\"\n component=\"div\"\n sx={{\n width: '100%',\n textAlign: 'right',\n padding: '0 .5rem',\n }}\n >\n {value}\n </Typography>\n </Stack>\n </CardContent>\n </Card>\n );\n}\n","import Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Typography from '@mui/material/Typography';\nimport AddIcon from '@mui/icons-material/Add';\nimport InsightsRoundedIcon from '@mui/icons-material/InsightsRounded';\nimport Box from '@mui/material/Box';\nimport { LinkButton } from '@backstage/core-components';\nimport { useTheme } from '@mui/material/styles';\n\nexport default function HighlightedCard() {\n const theme = useTheme();\n return (\n <Card\n variant=\"outlined\"\n sx={{\n width: '100%',\n height: '100%',\n flexGrow: 1,\n border: '1px solid transparent',\n [theme.breakpoints.down('lg')]: {\n justifyContent: 'center',\n background: theme.palette.background.default,\n },\n }}\n >\n <CardContent>\n <Box\n component=\"div\"\n sx={{\n display: 'flex',\n gap: '.5rem',\n padding: '.5rem 0',\n [theme.breakpoints.down('lg')]: {\n justifyContent: 'center',\n },\n }}\n >\n <InsightsRoundedIcon color=\"primary\" />\n <Typography\n component=\"h2\"\n variant=\"subtitle2\"\n gutterBottom\n sx={{ fontWeight: '600' }}\n >\n Add new features\n </Typography>\n </Box>\n <Box\n sx={{\n [theme.breakpoints.down('lg')]: {\n textAlign: 'center',\n },\n }}\n >\n <LinkButton variant=\"contained\" to=\"/create\">\n {' '}\n <AddIcon /> Create\n </LinkButton>\n </Box>\n </CardContent>\n </Card>\n );\n}\n","// eslint-disable-next-line no-restricted-syntax\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Box from '@mui/material/Box';\nimport { CardHeader, Divider } from '@mui/material';\nimport StatCard from './StatCards';\nimport HighlightedCard from './HighLightedCard';\nimport { useCatalog } from '../../hooks/useCatalog';\nimport AutoAwesomeMotionIcon from '@mui/icons-material/AutoAwesomeMotion';\nimport FolderCopyIcon from '@mui/icons-material/FolderCopy';\nimport ExtensionIcon from '@mui/icons-material/Extension';\nimport { useTheme } from '@mui/material/styles';\nimport { configApiRef, useApi } from '@backstage/core-plugin-api';\nimport { generateColorVariants } from '../../utils/generateColor';\n\nexport default function Summary() {\n const { resources, apis, components } = useCatalog();\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n const configApi = useApi(configApiRef);\n\n const data = [\n {\n icon: AutoAwesomeMotionIcon,\n title: 'Resources',\n value: resources.length.toString(),\n },\n {\n icon: FolderCopyIcon,\n title: 'Components',\n value: components.length.toString(),\n },\n {\n icon: ExtensionIcon,\n title: 'APIs',\n value: apis.length.toString(),\n },\n ];\n\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, data.length);\n\n return (\n <Card\n variant=\"outlined\"\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n flexGrow: 1,\n overfloyY: 'auto',\n }}\n >\n <CardHeader title=\"Summary\" />\n <Divider />\n <CardContent>\n <Box\n sx={{\n display: 'grid',\n alignItems: 'center',\n gap: '1rem',\n gridTemplateColumns: 'repeat(4,1fr)',\n [theme.breakpoints.down('lg')]: {\n gridTemplateColumns: '1fr',\n },\n }}\n >\n {data.map((card, index) => (\n <StatCard key={index} {...card} color={colors[index]} />\n ))}\n <HighlightedCard />\n </Box>\n </CardContent>\n </Card>\n );\n}\n","import { Entity } from '@backstage/catalog-model';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { catalogApiRef } from '@backstage/plugin-catalog-react';\nimport useAsync from 'react-use/esm/useAsync';\n\n// type VisitItem = {\n// label: string;\n// value: number;\n// };\n\n// type VisitData = {\n// id: string;\n// name: string;\n// path: string;\n// hits: number;\n// };\ninterface GetEntitiesResponse {\n items: Entity[];\n}\ninterface UseCatalogType {\n resources: Entity[];\n apis: Entity[];\n components: Entity[];\n}\n\nexport const useCatalog = () => {\n const useCatalogApi = useApi(catalogApiRef);\n\n const { value, loading, error } =\n useAsync(async (): Promise<UseCatalogType> => {\n const response =\n (await useCatalogApi.getEntities()) as GetEntitiesResponse;\n\n const resources = response.items.filter(\n item =>\n item.kind.toLocaleLowerCase() !== 'api' &&\n item.kind.toLocaleLowerCase() !== 'Component' &&\n item.kind.toLocaleLowerCase() !== 'group' &&\n item.kind.toLocaleLowerCase() !== 'user' &&\n item.kind.toLocaleLowerCase() !== 'location',\n );\n const apis = response.items.filter(\n item => item.kind.toLocaleLowerCase() === 'api',\n );\n const components = response.items.filter(\n item => item.kind.toLocaleLowerCase() === 'component',\n );\n\n return {\n resources,\n apis,\n components,\n };\n }, []);\n\n return {\n loading,\n error,\n resources: value?.resources ?? [],\n apis: value?.apis ?? [],\n components: value?.components ?? [],\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';\nimport Summary from './Summary';\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 <Summary />\n </Grid>\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>\n </Grid>\n <Grid item xs={12} md={6} lg={4}>\n <Grid container spacing={2} justifyContent=\"center\">\n <Grid item xs={12} md={12} lg={12}>\n <PieAnimation />\n </Grid>\n <Grid item xs={12} md={12} lg={12}>\n <HomePageToolkit tools={tools} />\n </Grid>\n </Grid>\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 '@mui/styles';\nimport { HeaderComponent } from './headerComponent/HeaderComponent';\nimport { HomeGreeting } from './homeGretting/HomeGretting';\nimport { HomeContent } from './homeContent/HomeContent';\nimport { Page } from '@backstage/core-components';\nimport Box from '@mui/material/Box';\n\n// const useVeeCodeHomePageStyles = makeStyles(theme => ({\n// pageRoot: {\n// backgroundColor: theme.palette.background.default,\n// },\n// }));\n\nexport const VeeCodeHomePage = () => {\n // const { pageRoot } = useVeeCodeHomePageStyles();\n return (\n <Page themeId=\"home\">\n <Box sx={{ \n backgroundColor: 'background.default',\n display: 'flex', \n flexDirection: 'column', \n width: '100%', \n minHeight: '100vh' \n }}>\n <HeaderComponent />\n <HomeGreeting />\n <HomeContent />\n </Box>\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","textAlign","img","WavesImg","top","left","opacity","svg","version","xmlns","xmlnsXlink","viewBox","xmlSpace","g","circle","fill","cx","cy","path","d","fillRule","clipRule","rect","generateColorVariants","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","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","calculatePercent","Number","toFixed","Card","overfloyY","CardHeader","CardContent","PieChart","right","bottom","series","innerRadius","outerRadius","paddingAngle","highlightScope","fade","highlight","hideLegend","Stack","direction","pb","TurnedInNotIcon","LinearProgress","StatCard","icon","Icon","alpha","gutterBottom","HighlightedCard","down","InsightsRoundedIcon","LinkButton","AddIcon","Summary","resources","apis","components","useCatalogApi","response","getEntities","filter","kind","toLocaleLowerCase","useCatalog","AutoAwesomeMotionIcon","toString","FolderCopyIcon","ExtensionIcon","gridTemplateColumns","card","HomeContent","tools","DocsLogo","Communitylogo","WebsiteLogo","SupportLogo","Content","stretch","Grid","container","spacing","lg","HomePageRecentlyVisited","HomePageStarredEntities","PieAnimation","HomePageToolkit","marginTop","BackstageLogo","VeeCodeHomePage","Page","themeId","backgroundColor"],"sourceRoot":""}
|