menupro 2.0.5 → 2.1.0

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/FUNDING.yml ADDED
@@ -0,0 +1,16 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: passariello
4
+ patreon: passariello
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: passariello
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: passariello
10
+ issuehunt: passariello
11
+ otechie: # Replace with a single Otechie username
12
+ custom:
13
+ [
14
+ "https://dario.passariello.ca",
15
+ "https://www.indiegogo.com/individuals/28513718",
16
+ ]
package/README.md CHANGED
@@ -140,6 +140,10 @@ The `onclick` property supports multiple formats:
140
140
  </html>
141
141
  ```
142
142
 
143
+ ## License
144
+
145
+ MIT License
146
+
143
147
  ## Credits
144
148
 
145
- Created by Dario Passariello. Licensed under MIT.
149
+ Copyrigth (c) [Dario Passariello](https://dario.passariello.ca/)
package/SECURITY.md ADDED
@@ -0,0 +1,3 @@
1
+ # Security
2
+
3
+ Please email [@passariello](https://github.com/passariello) or see <https://dario.passariello.ca/contact/> if you have a potential security vulnerability to report.
package/index.cjs ADDED
@@ -0,0 +1,3 @@
1
+ ;(()=>{const s=document.createElement("style");s.textContent="@layer menupro {.menupro{position:relative;margin:0;padding:0}.menupro ul,.menupro li{background-color:#000;list-style:none;margin:0;padding:0}.menupro img,.menupro svg{max-width:20px}.menupro li:hover{transition:0s;transition-delay:0s}.menupro ul,.menupro ul:hover{transition:0s;transition-delay:.5s}.menupro hr{border:1px solid!important;height:0!important;color:#333!important;background-color:#333!important;margin:0;padding:0}.menupro a{padding:4px 10px;display:block;text-align:left;white-space:nowrap}.menupro:hover{background-color:#0b86bf}.menupro li{float:left;position:relative}.menupro li:hover,.menupro li:active{background-color:#0b86bf}.menupro li:hover>ul,.menupro li:focus-within>ul{opacity:1;visibility:visible;transition-delay:visibility 0s}.menupro li>span.icon{position:absolute;left:5px;top:8px;width:13px;height:auto;filter:invert(.5)}.menupro li>span.arrow:before{content:\"\\203a\";position:absolute;right:5px;top:0;font-size:1.5em;line-height:1em}.menupro li>ul{position:absolute;width:auto;float:left;opacity:0;visibility:hidden;transition-delay:visibility 0s;box-shadow:0 10px 12px -8px #000;padding:0}.menupro li>ul li{float:left;position:relative;width:100%;padding:0}.menupro li>ul li:hover>ul,.menupro li>ul li:focus-within>ul{opacity:1;pointer-events:auto}.menupro li>ul li:not(:visible){pointer-events:none}.menupro li>ul li>ul{position:absolute;margin:0 auto;top:0;left:99%}.menupro li>ul li a{padding:4px 20px 4px 30px}}";document.head.appendChild(s)})();'use strict';
2
+
3
+ Object.defineProperty(window,"menupro",{value:{start:{}},writable:false,configurable:false,enumerable:false});var N=new Set(["eval","Function","exec","spawn","execSync","fetch","XMLHttpRequest","WebSocket","importScripts","setTimeout","setInterval","setImmediate","document.write","document.writeln","innerHTML","outerHTML","location","location.href","location.assign","location.replace","history.pushState","history.replaceState","localStorage","sessionStorage","cookie","postMessage","import","require"]),S=a=>/^[a-zA-Z_$][a-zA-Z0-9_$.]*$/.test(a)&&!N.has(a)&&!a.includes("__");menupro.start=a=>{let{element:d,name:h=a.name||"menupro",nav:T=a.nav||[]}=a,o,g,s=u=>document.createElement(u),k=(u,c="."+h)=>{let b=typeof c=="string"?document.querySelector(c):c;b&&u?.map(t=>{if(t.name){o=s("li");let e=s("a");e.textContent=t.name,o.appendChild(e),b.appendChild(o);}if(t.onclick&&t.sub?.length===0){let e;if(typeof t.onclick=="function")e=t.onclick;else if(typeof t.onclick=="string"){let r=t.onclick.trim();if(r.includes("(")&&r.endsWith(")")){let m=r.match(/^(\w+)\((.*)\)$/);if(m){let[,f,x]=m;if(!S(f))e=()=>{console.warn("menupro: blocked dangerous function:",f);};else {let w=window[f];if(w&&typeof w=="function"){let M=i=>{let n=i.trim();if(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))return n.slice(1,-1);if(!isNaN(Number(n)))return Number(n);if(n==="true")return true;if(n==="false")return false;if(n==="null")return null;n!=="undefined"&&console.warn("menupro: variable reference blocked:",n);},y=[];if(x.trim()){let i="",n=0,p=false,v="";for(let l of x)(l==='"'||l==="'")&&i.slice(-1)!=="\\"&&(p?l===v&&(p=false,v=""):(p=true,v=l)),!p&&l==="("&&n++,!p&&l===")"&&n--,!p&&n===0&&l===","?(y.push(M(i)),i=""):i+=l;i.trim()&&y.push(M(i));}e=()=>{try{w(...y);}catch(i){console.warn("menupro: onclick error:",i);}};}else e=()=>{console.warn("menupro: function not found:",f);};}}else e=()=>{console.warn("menupro: invalid function call:",r);};}else if(!S(r))e=()=>{console.warn("menupro: blocked dangerous function:",r);};else {let m=window[r];e=m||(()=>{console.warn("menupro: function not found:",r);});}}else e=()=>{};o.addEventListener("click",e);}if(t.name===""&&(o=s("hr"),b.appendChild(o)),c!="."+h){if(t.icon){let e=s("span");e.className="icon",e.innerHTML=t.icon,o.appendChild(e);}if(t.sub?.length>0){let e=s("span");e.className="arrow",o.appendChild(e);}}t.sub?.length>0&&(g=s("ul"),o.appendChild(g),k(t.sub,g));});};setTimeout(()=>{let u=s("ul");u.className=h;let c=typeof d=="string"?document.querySelector(d):d;c&&(c.appendChild(u),k(T,u));},0);};
package/index.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.menupro{position:relative;margin:0;padding:0}.menupro ul,.menupro li{background-color:#000;list-style:none;margin:0;padding:0}.menupro img,.menupro svg{max-width:20px}.menupro li:hover{transition:0s;transition-delay:0s}.menupro ul,.menupro ul:hover{transition:0s;transition-delay:.5s}.menupro hr{border:1px solid!important;height:0!important;color:#333!important;background-color:#333!important;margin:0;padding:0}.menupro a{padding:4px 10px;display:block;text-align:left;white-space:nowrap}.menupro :hover{background-color:#0b86bf}.menupro li{float:left;position:relative}.menupro li :hover,.menupro li :active{background-color:#0b86bf}.menupro li:hover>ul,.menupro li:focus-within>ul{opacity:1;visibility:visible;transition-delay:visibility 0s}.menupro li>span.icon{position:absolute;left:5px;top:8px;width:13px;height:auto;filter:invert(.5)}.menupro li>span.arrow:before{content:"\203a";position:absolute;right:5px;top:0;font-size:1.5em;line-height:1em}.menupro li>ul{position:absolute;width:auto;float:left;opacity:0;visibility:hidden;transition-delay:visibility 0s;box-shadow:0 10px 12px -8px #000;padding:0}.menupro li>ul li{float:left;position:relative;width:100%;padding:0}.menupro li>ul li:hover>ul,.menupro li>ul li:focus-within>ul{opacity:1;pointer-events:auto}.menupro li>ul li:not(:visible){pointer-events:none}.menupro li>ul li>ul{position:absolute;margin:0 auto;top:0;left:99%}.menupro li>ul li a{padding:4px 20px 4px 30px}
package/index.d.ts CHANGED
@@ -1,8 +1 @@
1
- /*!
2
- menupro
3
- Copyright (c) 2019 Dario Passariello <dariopassariello@gmail.com>
4
- Licensed under MIT License, see
5
- https://dario.passariello.ca
6
- */
7
-
8
1
  /// <reference path="./types/menupro.d.ts" />
package/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";((d=>{const s=d.createElement('style');s.textContent='@charset "UTF-8";@layer menupro{.menupro{position:relative;margin:0;padding:0}.menupro ul,.menupro li{background-color:#000;list-style:none;margin:0;padding:0}.menupro li:hover{transition:0s;transition-delay:0s}.menupro ul,.menupro ul:hover{transition:0s;transition-delay:.5s}.menupro hr{border:1px solid!important;height:0!important;color:#333!important;background-color:#333!important;margin:0;padding:0}.menupro a{padding:4px 10px;display:block;text-align:left;white-space:nowrap}.menupro :hover{background-color:#0b86bf}.menupro li{float:left;position:relative}.menupro li :hover,.menupro li :active{background-color:#0b86bf}.menupro li:hover>ul,.menupro li:focus-within>ul{opacity:1;visibility:visible;transition-delay:visibility 0s}.menupro li>span.icon{position:absolute;left:5px;top:5px;width:13px;height:auto;filter:invert(.5)}.menupro li>span.arrow:before{content:"\\203a";position:absolute;right:5px;top:0;font-size:1.5em;line-height:1em}.menupro li>ul{position:absolute;width:auto;float:left;opacity:0;visibility:hidden;transition-delay:visibility 0s;box-shadow:0 10px 12px -8px #000;padding:0}.menupro li>ul li{float:left;position:relative;width:100%;padding:0}.menupro li>ul li:hover>ul,.menupro li>ul li:focus-within>ul{opacity:1;pointer-events:auto}.menupro li>ul li:not(:visible){pointer-events:none}.menupro li>ul li>ul{position:absolute;margin:0 auto;top:0;left:99%}.menupro li>ul li a{padding:4px 20px 4px 30px}}\n';d.head.appendChild(s)})(document));(()=>{var L=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var g=(n,r)=>()=>(n&&(r=n(n=0)),r);var z=(n,r,m,v)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of F(r))!O.call(n,o)&&o!==m&&L(n,o,{get:()=>r[o],enumerable:!(v=A(r,o))||v.enumerable});return n};var H=n=>z(L({},"__esModule",{value:!0}),n);var l=g(()=>{});var $=g(()=>{});var U={};var K,I,q=g(()=>{"use strict";l();$();K=new Set(["eval","Function","exec","spawn","execSync","fetch","XMLHttpRequest","WebSocket","importScripts","setTimeout","setInterval","setImmediate","document.write","document.writeln","innerHTML","outerHTML","location","location.href","location.assign","location.replace","history.pushState","history.replaceState","localStorage","sessionStorage","cookie","postMessage","import","require"]),I=n=>/^[a-zA-Z_$][a-zA-Z0-9_$.]*$/.test(n)&&!K.has(n)&&!n.includes("__");menupro.start=n=>{let{element:r,name:m=n.name||"menupro",nav:v=n.nav||[]}=n,o,y,c=p=>document.createElement(p),N=(p,d="."+m)=>{let k=typeof d=="string"?document.querySelector(d):d;k&&p?.map(i=>{if(i.name){o=c("li");let e=c("a");e.textContent=i.name,o.appendChild(e),k.appendChild(o)}if(i.onclick&&i.sub?.length===0){let e;if(typeof i.onclick=="function")e=i.onclick;else if(typeof i.onclick=="string"){let a=i.onclick.trim();if(a.includes("(")&&a.endsWith(")")){let h=a.match(/^(\w+)\((.*)\)$/);if(h){let[,w,E]=h;if(!I(w))e=()=>{console.warn("menupro: blocked dangerous function:",w)};else{let x=window[w];if(x&&typeof x=="function"){let C=s=>{let t=s.trim();if(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))return t.slice(1,-1);if(!isNaN(Number(t)))return Number(t);if(t==="true")return!0;if(t==="false")return!1;if(t==="null")return null;t!=="undefined"&&console.warn("menupro: variable reference blocked:",t)},M=[];if(E.trim()){let s="",t=0,f=!1,S="";for(let u of E)(u==='"'||u==="'")&&s.slice(-1)!=="\\"&&(f?u===S&&(f=!1,S=""):(f=!0,S=u)),!f&&u==="("&&t++,!f&&u===")"&&t--,!f&&t===0&&u===","?(M.push(C(s)),s=""):s+=u;s.trim()&&M.push(C(s))}e=()=>{try{x(...M)}catch(s){console.warn("menupro: onclick error:",s)}}}else e=()=>{console.warn("menupro: function not found:",w)}}}else e=()=>{console.warn("menupro: invalid function call:",a)}}else if(!I(a))e=()=>{console.warn("menupro: blocked dangerous function:",a)};else{let h=window[a];e=h||(()=>{console.warn("menupro: function not found:",a)})}}else e=()=>{};o.addEventListener("click",e)}if(i.name===""&&(o=c("hr"),k.appendChild(o)),d!="."+m){if(i.icon){let e=c("span");e.className="icon",e.innerHTML=i.icon,o.appendChild(e)}if(i.sub?.length>0){let e=c("span");e.className="arrow",o.appendChild(e)}}i.sub?.length>0&&(y=c("ul"),o.appendChild(y)),i.sub?.length>0&&N(i.sub,y)})};setTimeout(()=>{let p=c("ul");p.className=m;let d=typeof r=="string"?document.querySelector(r):r;d&&(d.appendChild(p),N(v,p))},0)}});var b,W=g(()=>{b={port:3002,code:"menupro",proxy:{api:{tst:"http://localhost:5003/",dev:"https://a51.dev/",pro:"https://a51.dev/"}},socket:{url:{tst:"wss://ws.a51.dev/",dev:"wss://ws.a51.dev/",pro:"wss://ws.a51.dev/"}},info:{},cdn:{}}});var D={};var P=g(()=>{"use strict";l();W();Object.defineProperty(menupro,"credits",{value:()=>{console.groupCollapsed(`%c${b.app.code} v0%c`,"color:orange",""),console.debug(`%c${b.app.code} v0%c by Dario Passariello started`,"color:orange",""),console.debug(`%cType ${b.app.code} in this console to see it`,"color:gray",""),console.debug("code: %c"+b.app.code,"color:orange",""),console.groupEnd()},writable:!1,configurable:!1,enumerable:!1})});l();l();var _=()=>{window.menupro||(Object.defineProperty(window,"menupro",{value:{start:{}},writable:!1,configurable:!1,enumerable:!1}),q(),P(),H(D))};_();})();
1
+ ;(()=>{const s=document.createElement("style");s.textContent="@layer menupro {.menupro{position:relative;margin:0;padding:0}.menupro ul,.menupro li{background-color:#000;list-style:none;margin:0;padding:0}.menupro img,.menupro svg{max-width:20px}.menupro li:hover{transition:0s;transition-delay:0s}.menupro ul,.menupro ul:hover{transition:0s;transition-delay:.5s}.menupro hr{border:1px solid!important;height:0!important;color:#333!important;background-color:#333!important;margin:0;padding:0}.menupro a{padding:4px 10px;display:block;text-align:left;white-space:nowrap}.menupro:hover{background-color:#0b86bf}.menupro li{float:left;position:relative}.menupro li:hover,.menupro li:active{background-color:#0b86bf}.menupro li:hover>ul,.menupro li:focus-within>ul{opacity:1;visibility:visible;transition-delay:visibility 0s}.menupro li>span.icon{position:absolute;left:5px;top:8px;width:13px;height:auto;filter:invert(.5)}.menupro li>span.arrow:before{content:\"\\203a\";position:absolute;right:5px;top:0;font-size:1.5em;line-height:1em}.menupro li>ul{position:absolute;width:auto;float:left;opacity:0;visibility:hidden;transition-delay:visibility 0s;box-shadow:0 10px 12px -8px #000;padding:0}.menupro li>ul li{float:left;position:relative;width:100%;padding:0}.menupro li>ul li:hover>ul,.menupro li>ul li:focus-within>ul{opacity:1;pointer-events:auto}.menupro li>ul li:not(:visible){pointer-events:none}.menupro li>ul li>ul{position:absolute;margin:0 auto;top:0;left:99%}.menupro li>ul li a{padding:4px 20px 4px 30px}}";document.head.appendChild(s)})();Object.defineProperty(window,"menupro",{value:{start:{}},writable:false,configurable:false,enumerable:false});var N=new Set(["eval","Function","exec","spawn","execSync","fetch","XMLHttpRequest","WebSocket","importScripts","setTimeout","setInterval","setImmediate","document.write","document.writeln","innerHTML","outerHTML","location","location.href","location.assign","location.replace","history.pushState","history.replaceState","localStorage","sessionStorage","cookie","postMessage","import","require"]),S=a=>/^[a-zA-Z_$][a-zA-Z0-9_$.]*$/.test(a)&&!N.has(a)&&!a.includes("__");menupro.start=a=>{let{element:d,name:h=a.name||"menupro",nav:T=a.nav||[]}=a,o,g,s=u=>document.createElement(u),k=(u,c="."+h)=>{let b=typeof c=="string"?document.querySelector(c):c;b&&u?.map(t=>{if(t.name){o=s("li");let e=s("a");e.textContent=t.name,o.appendChild(e),b.appendChild(o);}if(t.onclick&&t.sub?.length===0){let e;if(typeof t.onclick=="function")e=t.onclick;else if(typeof t.onclick=="string"){let r=t.onclick.trim();if(r.includes("(")&&r.endsWith(")")){let m=r.match(/^(\w+)\((.*)\)$/);if(m){let[,f,x]=m;if(!S(f))e=()=>{console.warn("menupro: blocked dangerous function:",f);};else {let w=window[f];if(w&&typeof w=="function"){let M=i=>{let n=i.trim();if(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))return n.slice(1,-1);if(!isNaN(Number(n)))return Number(n);if(n==="true")return true;if(n==="false")return false;if(n==="null")return null;n!=="undefined"&&console.warn("menupro: variable reference blocked:",n);},y=[];if(x.trim()){let i="",n=0,p=false,v="";for(let l of x)(l==='"'||l==="'")&&i.slice(-1)!=="\\"&&(p?l===v&&(p=false,v=""):(p=true,v=l)),!p&&l==="("&&n++,!p&&l===")"&&n--,!p&&n===0&&l===","?(y.push(M(i)),i=""):i+=l;i.trim()&&y.push(M(i));}e=()=>{try{w(...y);}catch(i){console.warn("menupro: onclick error:",i);}};}else e=()=>{console.warn("menupro: function not found:",f);};}}else e=()=>{console.warn("menupro: invalid function call:",r);};}else if(!S(r))e=()=>{console.warn("menupro: blocked dangerous function:",r);};else {let m=window[r];e=m||(()=>{console.warn("menupro: function not found:",r);});}}else e=()=>{};o.addEventListener("click",e);}if(t.name===""&&(o=s("hr"),b.appendChild(o)),c!="."+h){if(t.icon){let e=s("span");e.className="icon",e.innerHTML=t.icon,o.appendChild(e);}if(t.sub?.length>0){let e=s("span");e.className="arrow",o.appendChild(e);}}t.sub?.length>0&&(g=s("ul"),o.appendChild(g),k(t.sub,g));});};setTimeout(()=>{let u=s("ul");u.className=h;let c=typeof d=="string"?document.querySelector(d):d;c&&(c.appendChild(u),k(T,u));},0);};
package/package.json CHANGED
@@ -1,24 +1,16 @@
1
1
  {
2
2
  "name": "menupro",
3
- "description": "custom menu like OS by Dario Passariello",
4
- "version": "2.0.5",
5
- "copyright": "Dario Passariello",
6
- "keywords": [
7
- "layer",
8
- "popup",
9
- "modal",
10
- "menupro"
11
- ],
3
+ "code": "menupro",
4
+ "version": "2.1.0",
5
+ "description": "Custom menu like OS but better",
6
+ "main": "./index.cjs",
7
+ "browser": "./index.cjs",
8
+ "types": "./index.d.ts",
9
+ "typing": "./types/*",
10
+ "homepage": "https://a51.gitbook.io/menupro",
12
11
  "license": "MIT",
13
- "folder": "/",
14
- "target": "web",
15
- "homepage": "https://a51.dev/npm/menupro",
16
- "main": "./index.js",
17
- "author": {
18
- "name": "Dario Passariello",
19
- "url": "https://github.com/passariello/",
20
- "email": "dariopassariello@gmail.com"
21
- },
12
+ "copyright": "Dario Passariello",
13
+ "author": "Dario Passariello",
22
14
  "contributors": [
23
15
  {
24
16
  "name": "Dario Passariello",
@@ -29,29 +21,50 @@
29
21
  "email": "valeriacalascaglitta@gmail.com"
30
22
  }
31
23
  ],
24
+ "keywords": [
25
+ "layer",
26
+ "popup",
27
+ "modal",
28
+ "menupro",
29
+ "ui",
30
+ "ux",
31
+ "frontend",
32
+ "gui",
33
+ "styles",
34
+ "customization"
35
+ ],
32
36
  "funding": [
33
37
  {
34
38
  "type": "patreon",
35
39
  "url": "https://www.patreon.com/passariello"
36
40
  }
37
41
  ],
38
- "types": "./index.d.ts",
39
- "typings": "./types/*",
40
- "typing": [
41
- "types/*"
42
+ "engines": {
43
+ "node": ">=18.0.0"
44
+ },
45
+ "files": [
46
+ "**/*"
42
47
  ],
43
- "scripts": {
44
- "build": "ts-node esbuild.config.ts",
45
- "watch": "ts-node esbuild.config.ts --watch",
46
- "npm:publish": "npm run build && cd dist && ls -al && npm publish"
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/a51-dev/a51.menupro.git"
51
+ },
52
+ "bugs": {
53
+ "url": "https://github.com/a51-dev/a51.menupro/issues"
54
+ },
55
+ "support": {
56
+ "name": "Dario Passariello",
57
+ "url": "https://dario.passariello.ca/",
58
+ "email": "dariopassariello@gmail.com"
59
+ },
60
+ "module": "./index.js",
61
+ "exports": {
62
+ ".": {
63
+ "import": "./index.js",
64
+ "require": "./index.cjs",
65
+ "types": "./index.d.ts"
66
+ },
67
+ "./types/*": "./types/*"
47
68
  },
48
- "devDependencies": {
49
- "@types/node": "^25.3.3",
50
- "esbuild": "^0.27.3",
51
- "esbuild-sass-plugin": "3.6.0",
52
- "sass": "^1.97.3",
53
- "ts-node": "10.9.2",
54
- "tslib": "2.8.1",
55
- "typescript": "5.9.3"
56
- }
69
+ "typings": "./index.d.ts"
57
70
  }
@@ -0,0 +1,38 @@
1
+ declare module '*.js' {
2
+ const value: any
3
+ export default value
4
+ }
5
+
6
+ ///
7
+
8
+ declare module "*.svg" {
9
+ const value: any
10
+ export default value
11
+ }
12
+
13
+ ///
14
+
15
+ declare module '*.css'
16
+
17
+ declare module '*.scss' {
18
+ const resource: { [key: string]: string }
19
+ export = resource
20
+ }
21
+
22
+ declare module '*.module.scss' {
23
+ const classes: { [key: string]: string }
24
+ export default classes
25
+ }
26
+
27
+ declare module '*.sass' {
28
+ const resource: { [key: string]: string }
29
+ export = resource
30
+ }
31
+
32
+ ///
33
+
34
+ declare module '*.htm'
35
+ declare module '*.html'
36
+ declare module '*.mp3'
37
+ declare module '*.ogg'
38
+ declare module '*.mp3'
@@ -1,11 +1,13 @@
1
- /*
2
- Copyright: © 2019 Dario Passariello <dariopassariello@gmail.com>
3
- License: MIT
4
- */
1
+ interface _menupro {
2
+ [key: string]: any
3
+ }
4
+
5
+ interface Window {
6
+ [key: string]: any
7
+ }
5
8
 
6
- declare module '*.scss' {
7
- const content: Record<string, string>
8
- export default content
9
+ interface globalThis {
10
+ [key: string]: any
9
11
  }
10
12
 
11
13
  declare module 'menupro' {
@@ -13,5 +15,5 @@ declare module 'menupro' {
13
15
  export = resource
14
16
  }
15
17
 
16
- declare var menupro: any
17
- type menupro = {}
18
+ declare var menupro: _menupro
19
+ type menupro = _menupro