dong 7 mesi fa
commit
3e2b494f5e
100 ha cambiato i file con 23725 aggiunte e 0 eliminazioni
  1. 15
    0
      .gitignore
  2. 20
    0
      .hbuilderx/launch.json
  3. 3
    0
      .idea/.gitignore
  4. 14
    0
      .idea/gradle.xml
  5. 9
    0
      .idea/misc.xml
  6. 6
    0
      .idea/vcs.xml
  7. 9
    0
      .vscode/settings.json
  8. 53
    0
      App.vue
  9. 117
    0
      api/api.js
  10. 101
    0
      api/http.js
  11. 1
    0
      app/.gitignore
  12. 46
    0
      app/build.gradle.kts
  13. 21
    0
      app/proguard-rules.pro
  14. 24
    0
      app/src/androidTest/java/com/example/esswisdom_ipad_v2/ExampleInstrumentedTest.kt
  15. 16
    0
      app/src/main/AndroidManifest.xml
  16. 170
    0
      app/src/main/res/drawable/ic_launcher_background.xml
  17. 30
    0
      app/src/main/res/drawable/ic_launcher_foreground.xml
  18. 6
    0
      app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  19. 6
    0
      app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  20. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher.webp
  21. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
  22. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher.webp
  23. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
  24. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher.webp
  25. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
  26. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
  27. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
  28. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
  29. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
  30. 16
    0
      app/src/main/res/values-night/themes.xml
  31. 10
    0
      app/src/main/res/values/colors.xml
  32. 3
    0
      app/src/main/res/values/strings.xml
  33. 16
    0
      app/src/main/res/values/themes.xml
  34. 13
    0
      app/src/main/res/xml/backup_rules.xml
  35. 19
    0
      app/src/main/res/xml/data_extraction_rules.xml
  36. 17
    0
      app/src/test/java/com/example/esswisdom_ipad_v2/ExampleUnitTest.kt
  37. 5
    0
      build.gradle.kts
  38. 558
    0
      components/cmd-progress/cmd-progress.vue
  39. 184
    0
      en.json
  40. 23
    0
      gradle.properties
  41. BIN
      gradle/wrapper/gradle-wrapper.jar
  42. 6
    0
      gradle/wrapper/gradle-wrapper.properties
  43. 185
    0
      gradlew
  44. 89
    0
      gradlew.bat
  45. 22
    0
      index.html
  46. 88
    0
      main.js
  47. 192
    0
      manifest.json
  48. 16
    0
      node_modules/.bin/nanoid
  49. 17
    0
      node_modules/.bin/nanoid.cmd
  50. 28
    0
      node_modules/.bin/nanoid.ps1
  51. 16
    0
      node_modules/.bin/parser
  52. 17
    0
      node_modules/.bin/parser.cmd
  53. 28
    0
      node_modules/.bin/parser.ps1
  54. 360
    0
      node_modules/.package-lock.json
  55. 120
    0
      node_modules/.vue-global-types/vue_3.3_false.d.ts
  56. 22
    0
      node_modules/@babel/helper-string-parser/LICENSE
  57. 19
    0
      node_modules/@babel/helper-string-parser/README.md
  58. 295
    0
      node_modules/@babel/helper-string-parser/lib/index.js
  59. 1
    0
      node_modules/@babel/helper-string-parser/lib/index.js.map
  60. 31
    0
      node_modules/@babel/helper-string-parser/package.json
  61. 22
    0
      node_modules/@babel/helper-validator-identifier/LICENSE
  62. 19
    0
      node_modules/@babel/helper-validator-identifier/README.md
  63. 70
    0
      node_modules/@babel/helper-validator-identifier/lib/identifier.js
  64. 1
    0
      node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
  65. 57
    0
      node_modules/@babel/helper-validator-identifier/lib/index.js
  66. 1
    0
      node_modules/@babel/helper-validator-identifier/lib/index.js.map
  67. 35
    0
      node_modules/@babel/helper-validator-identifier/lib/keyword.js
  68. 1
    0
      node_modules/@babel/helper-validator-identifier/lib/keyword.js.map
  69. 31
    0
      node_modules/@babel/helper-validator-identifier/package.json
  70. 73
    0
      node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js
  71. 1073
    0
      node_modules/@babel/parser/CHANGELOG.md
  72. 19
    0
      node_modules/@babel/parser/LICENSE
  73. 19
    0
      node_modules/@babel/parser/README.md
  74. 15
    0
      node_modules/@babel/parser/bin/babel-parser.js
  75. 5
    0
      node_modules/@babel/parser/index.cjs
  76. 13987
    0
      node_modules/@babel/parser/lib/index.js
  77. 1
    0
      node_modules/@babel/parser/lib/index.js.map
  78. 50
    0
      node_modules/@babel/parser/package.json
  79. 251
    0
      node_modules/@babel/parser/typings/babel-parser.d.ts
  80. 22
    0
      node_modules/@babel/types/LICENSE
  81. 19
    0
      node_modules/@babel/types/README.md
  82. 16
    0
      node_modules/@babel/types/lib/asserts/assertNode.js
  83. 1
    0
      node_modules/@babel/types/lib/asserts/assertNode.js.map
  84. 1235
    0
      node_modules/@babel/types/lib/asserts/generated/index.js
  85. 1
    0
      node_modules/@babel/types/lib/asserts/generated/index.js.map
  86. 3
    0
      node_modules/@babel/types/lib/ast-types/generated/index.js
  87. 1
    0
      node_modules/@babel/types/lib/ast-types/generated/index.js.map
  88. 18
    0
      node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
  89. 1
    0
      node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map
  90. 31
    0
      node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
  91. 1
    0
      node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map
  92. 1991
    0
      node_modules/@babel/types/lib/builders/generated/index.js
  93. 1
    0
      node_modules/@babel/types/lib/builders/generated/index.js.map
  94. 1532
    0
      node_modules/@babel/types/lib/builders/generated/uppercase.js
  95. 1
    0
      node_modules/@babel/types/lib/builders/generated/uppercase.js.map
  96. 12
    0
      node_modules/@babel/types/lib/builders/productions.js
  97. 1
    0
      node_modules/@babel/types/lib/builders/productions.js.map
  98. 24
    0
      node_modules/@babel/types/lib/builders/react/buildChildren.js
  99. 1
    0
      node_modules/@babel/types/lib/builders/react/buildChildren.js.map
  100. 0
    0
      node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js

+ 15
- 0
.gitignore Vedi File

@@ -0,0 +1,15 @@
1
+*.iml
2
+.gradle
3
+/local.properties
4
+/.idea/caches
5
+/.idea/libraries
6
+/.idea/modules.xml
7
+/.idea/workspace.xml
8
+/.idea/navEditor.xml
9
+/.idea/assetWizardSettings.xml
10
+.DS_Store
11
+/build
12
+/captures
13
+.externalNativeBuild
14
+.cxx
15
+local.properties

+ 20
- 0
.hbuilderx/launch.json Vedi File

@@ -0,0 +1,20 @@
1
+{
2
+    // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
3
+    // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
4
+    "version" : "0.0",
5
+    "configurations" : [
6
+        {
7
+            "app-plus" : {
8
+                "launchtype" : "local"
9
+            },
10
+            "default" : {
11
+                "launchtype" : "local"
12
+            },
13
+            "type" : "uniCloud"
14
+        },
15
+        {
16
+            "playground" : "standard",
17
+            "type" : "uni-app:app-android"
18
+        }
19
+    ]
20
+}

+ 3
- 0
.idea/.gitignore Vedi File

@@ -0,0 +1,3 @@
1
+# 默认忽略的文件
2
+/shelf/
3
+/workspace.xml

+ 14
- 0
.idea/gradle.xml Vedi File

@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="GradleMigrationSettings" migrationVersion="1" />
4
+  <component name="GradleSettings">
5
+    <option name="linkedExternalProjectsSettings">
6
+      <GradleProjectSettings>
7
+        <option name="testRunner" value="GRADLE" />
8
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
9
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
10
+        <option name="gradleJvm" value="jbr-17" />
11
+      </GradleProjectSettings>
12
+    </option>
13
+  </component>
14
+</project>

+ 9
- 0
.idea/misc.xml Vedi File

@@ -0,0 +1,9 @@
1
+<project version="4">
2
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
3
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
4
+    <output url="file://$PROJECT_DIR$/build/classes" />
5
+  </component>
6
+  <component name="ProjectType">
7
+    <option name="id" value="Android" />
8
+  </component>
9
+</project>

+ 6
- 0
.idea/vcs.xml Vedi File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="" vcs="Git" />
5
+  </component>
6
+</project>

+ 9
- 0
.vscode/settings.json Vedi File

@@ -0,0 +1,9 @@
1
+{
2
+    "i18n-ally.localesPaths": [
3
+        "uni_modules/uni-table/i18n",
4
+        "uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n",
5
+        "uni_modules/uni-load-more/components/uni-load-more/i18n",
6
+        "uni_modules/uni-pagination/components/uni-pagination/i18n",
7
+        "uni_modules/uni-popup/components/uni-popup/i18n"
8
+    ]
9
+}

+ 53
- 0
App.vue Vedi File

@@ -0,0 +1,53 @@
1
+<script>
2
+	// import {
3
+	// 	login
4
+	// } from "./api/api.js"
5
+	// import {useStore} from 'vuex' //引入
6
+	// import store from "./store/index.js"
7
+	import { mapState } from 'vuex';
8
+	export default {
9
+		data() {
10
+			return {
11
+				// uidatas:''
12
+			}
13
+		},
14
+		computed: {
15
+		
16
+			
17
+		},
18
+		onLaunch: function() {
19
+			
20
+			// 隐藏导航栏
21
+			plus.navigator.setFullscreen(true) //隐藏状态栏
22
+				plus.navigator.hideSystemNavigation() //隐藏虚拟按键
23
+		},
24
+		 mounted() {
25
+	 
26
+		    this.$store.dispatch('startClock');
27
+		    this.$store.dispatch('fetchFaultsList');
28
+		  },
29
+		beforeUnmount() {
30
+			// clearInterval(this.uidatas);
31
+		},
32
+		methods: {
33
+			 
34
+		
35
+		},
36
+		onShow: function() {
37
+			console.log('App Show')
38
+		},
39
+		onHide: function() {
40
+			console.log('App Hide')
41
+		}
42
+	}
43
+</script>
44
+
45
+<style>
46
+	/*每个页面公共css */
47
+	/* .uni-page-head {
48
+	    display: none !important;
49
+	} */
50
+	page {
51
+	  padding-bottom: 0 !important; /* 移除底部的padding,使内容可以填满屏幕 */
52
+	}
53
+</style>

+ 117
- 0
api/api.js Vedi File

@@ -0,0 +1,117 @@
1
+ // 启停接口
2
+ export const control = async (data) => {
3
+   try {
4
+     const response = await uni.$http.post(`/api/v1/items/rt/${data.id}`,data,{'Content-Type': "application/json;charset=utf-8","Authorization":`JWT ${uni.getStorageSync('token')}` });
5
+ 	console.log(response);
6
+     if (response.statusCode != 200||response.data.error=='token过期且未提供刷新令牌') {
7
+       // uni.showToast({
8
+       //   title: '数据请求失败! ',
9
+       //   duration: 1500,
10
+       //   icon: 'none',
11
+       // });
12
+	    uni.removeStorageSync('token');
13
+	 login();
14
+       return response.data;
15
+     }
16
+     return response.data;
17
+   } catch (error) {
18
+	   console.log(error);
19
+     // uni.showToast({
20
+     //   title: '网络请求失败! ',
21
+     //   duration: 1500,
22
+     //   icon: 'none',
23
+     // });
24
+	 login();
25
+     return response.data;
26
+   }
27
+ };
28
+// 二级页面信息
29
+export const getuidatas = async (data) => {
30
+  try {
31
+    const response = await uni.$http.get('/api/v1/uidatas/rt/uis/038f90dc-6e08-4a05-bf1e-7929e02f5fc5',data,{'Content-Type': "application/json;charset=utf-8","Authorization":`JWT ${uni.getStorageSync('token')}` });
32
+	console.log(response);
33
+
34
+    if (response.statusCode != 200||response.data.error=='token过期且未提供刷新令牌') {
35
+      // uni.showToast({
36
+      //   title: '数据请求失败! ',
37
+      //   duration: 1500,
38
+      //   icon: 'none',
39
+      // });
40
+	  uni.removeStorageSync('token');
41
+	  login();
42
+	  
43
+      return response.data;
44
+    }
45
+    return response.data;
46
+  } catch (error) {
47
+    // console.error('Network request failed:', error);
48
+	console.log(error);
49
+    // uni.showToast({
50
+    //   title: '网络请求失败! ',
51
+    //   duration: 1500,
52
+    //   icon: 'none',
53
+    // });
54
+	login();
55
+    return response.data;
56
+  }
57
+};
58
+// 系统故障列表
59
+ export const getfaultsList = async (data) => {
60
+   try {
61
+ 	// console.log(uni.getStorageSync('token'));
62
+     const response = await uni.$http.get('/api/v1/faults',data,{'Content-Type': "application/json;charset=utf-8","Authorization":`JWT ${uni.getStorageSync('token')}` });
63
+ 	console.log(response.data);
64
+     if (response.statusCode != 200||response.data.error=='token过期且未提供刷新令牌') {
65
+       // uni.showToast({
66
+       //   title: '数据请求失败! ',
67
+       //   duration: 1500,
68
+       //   icon: 'none',
69
+       // });
70
+	    uni.removeStorageSync('token');
71
+		login();
72
+       return response.data;
73
+     }
74
+     return response.data;
75
+   } catch (error) {
76
+     console.error('Network request failed:', error);
77
+	 console.log(error);
78
+     // uni.showToast({
79
+     //   title: '网络请求失败! ',
80
+     //   duration: 1500,
81
+     //   icon: 'none',
82
+     // });
83
+	 uni.removeStorageSync('token');
84
+	 login();
85
+     return response.data;
86
+   }
87
+ };
88
+ // 登录接口
89
+export const login = async (start,count) => {
90
+  try {
91
+	console.log('login request');
92
+    const response = await uni.$http.post('/api/v1/login',
93
+	{name: "dexnui", pwd: "dexn1001"},{'Content-Type': 'application/json;charset=utf-8'});
94
+	console.log(response);
95
+    if (response.statusCode != 200||response.data.error=='token过期且未提供刷新令牌') {
96
+      // uni.showToast({
97
+      //   title: '数据请求失败! ',
98
+      //   duration: 1500,
99
+      //   icon: 'none',
100
+      // });
101
+      return response.data;
102
+    }
103
+	console.log(response.data);
104
+	uni.setStorageSync('token', response.data.data.token);
105
+    return response.data;
106
+  } catch (error) {
107
+    // console.error('Network request failed:', error);
108
+    // uni.showToast({
109
+    //   title: '网络请求失败! ',
110
+    //   duration: 1500,
111
+    //   icon: 'none',
112
+    // });
113
+    return response.data;
114
+  }
115
+};
116
+ 
117
+ 

+ 101
- 0
api/http.js Vedi File

@@ -0,0 +1,101 @@
1
+//utils/http.js
2
+class Request {
3
+  constructor(options = {}) {
4
+    // 请求的根路径
5
+    this.baseUrl = options.baseUrl || 'http://10.168.1.100'
6
+    // this.baseUrl = options.baseUrl || 'http://10.168.3.100'
7
+    // this.baseUrl =options.baseUrl || 'http://192.168.137.100'
8
+    // 请求的 url 地址
9
+    this.url = options.url || ''
10
+    // 请求方式
11
+    this.method = 'GET'
12
+    // 请求的参数对象
13
+    this.data = null
14
+    // header 请求头
15
+    this.header = options.header || {}
16
+    this.beforeRequest = null
17
+    this.afterRequest = null
18
+  }
19
+  
20
+   // 添加对header的支持
21
+    _mergeHeaders(customHeader = {}) {
22
+      return Object.assign({}, this.header, customHeader); // 合并默认header和自定义header
23
+    }
24
+ 
25
+  get(url, data = {},header = {}) {
26
+	  // console.log(header);
27
+    this.method = 'GET'
28
+    this.url = this.baseUrl + url
29
+    this.data = data
30
+	this.header = this._mergeHeaders(header) // 合并header
31
+    return this._()
32
+  }
33
+ 
34
+  post(url, data = {},header = {}) {
35
+    this.method = 'POST'
36
+    this.url = this.baseUrl + url
37
+    this.data = data
38
+	this.header = this._mergeHeaders(header) // 合并header
39
+    return this._()
40
+  }
41
+ 
42
+  put(url, data = {}) {
43
+    this.method = 'PUT'
44
+    this.url = this.baseUrl + url
45
+    this.data = data
46
+    return this._()
47
+  }
48
+ 
49
+  delete(url, data = {}) {
50
+    this.method = 'DELETE'
51
+    this.url = this.baseUrl + url
52
+    this.data = data
53
+    return this._()
54
+  }
55
+ 
56
+  _() {
57
+			  if(this.baseUrl==''){
58
+			
59
+			  		 this.url ="http://10.168.1.100"+this.url
60
+			  		 // this.url ="http://192.168.137.100"+this.url
61
+			  }
62
+			 
63
+    // 清空 header 对象
64
+    // this.header = {}
65
+    // 请求之前做一些事
66
+    this.beforeRequest && typeof this.beforeRequest === 'function' && this.beforeRequest(this)
67
+    // 发起请求
68
+    return new Promise((resolve, reject) => {
69
+      let weixin = wx
70
+      // 适配 uniapp
71
+      if ('undefined' !== typeof uni) {
72
+        weixin = uni
73
+      }
74
+      weixin.request({
75
+        url:this.url,
76
+        method: this.method,
77
+        data: this.data,
78
+        header: this.header,
79
+        success: (res) => {
80
+		
81
+			resolve(res)
82
+			 },
83
+        fail: (err) => { 
84
+		
85
+			reject(err)
86
+			 },
87
+        complete: (res) => {
88
+			
89
+          // 请求完成以后做一些事情
90
+          this.afterRequest && typeof this.afterRequest === 'function' && this.afterRequest(res)
91
+        }
92
+      })
93
+    })
94
+  }
95
+}
96
+ 
97
+export const $http = new Request()
98
+
99
+
100
+
101
+ 

+ 1
- 0
app/.gitignore Vedi File

@@ -0,0 +1 @@
1
+/build

+ 46
- 0
app/build.gradle.kts Vedi File

@@ -0,0 +1,46 @@
1
+plugins {
2
+    id("com.android.application")
3
+    id("org.jetbrains.kotlin.android")
4
+}
5
+
6
+android {
7
+    namespace = "com.example.esswisdom_ipad_v2"
8
+    compileSdk = 33
9
+
10
+    defaultConfig {
11
+        applicationId = "com.example.esswisdom_ipad_v2"
12
+        minSdk = 24
13
+        targetSdk = 33
14
+        versionCode = 1
15
+        versionName = "1.0"
16
+
17
+        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
18
+    }
19
+
20
+    buildTypes {
21
+        release {
22
+            isMinifyEnabled = false
23
+            proguardFiles(
24
+                getDefaultProguardFile("proguard-android-optimize.txt"),
25
+                "proguard-rules.pro"
26
+            )
27
+        }
28
+    }
29
+    compileOptions {
30
+        sourceCompatibility = JavaVersion.VERSION_1_8
31
+        targetCompatibility = JavaVersion.VERSION_1_8
32
+    }
33
+    kotlinOptions {
34
+        jvmTarget = "1.8"
35
+    }
36
+}
37
+
38
+dependencies {
39
+
40
+    implementation("androidx.core:core-ktx:1.9.0")
41
+    implementation("androidx.appcompat:appcompat:1.6.1")
42
+    implementation("com.google.android.material:material:1.8.0")
43
+    testImplementation("junit:junit:4.13.2")
44
+    androidTestImplementation("androidx.test.ext:junit:1.1.5")
45
+    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
46
+}

+ 21
- 0
app/proguard-rules.pro Vedi File

@@ -0,0 +1,21 @@
1
+# Add project specific ProGuard rules here.
2
+# You can control the set of applied configuration files using the
3
+# proguardFiles setting in build.gradle.
4
+#
5
+# For more details, see
6
+#   http://developer.android.com/guide/developing/tools/proguard.html
7
+
8
+# If your project uses WebView with JS, uncomment the following
9
+# and specify the fully qualified class name to the JavaScript interface
10
+# class:
11
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12
+#   public *;
13
+#}
14
+
15
+# Uncomment this to preserve the line number information for
16
+# debugging stack traces.
17
+#-keepattributes SourceFile,LineNumberTable
18
+
19
+# If you keep the line number information, uncomment this to
20
+# hide the original source file name.
21
+#-renamesourcefileattribute SourceFile

+ 24
- 0
app/src/androidTest/java/com/example/esswisdom_ipad_v2/ExampleInstrumentedTest.kt Vedi File

@@ -0,0 +1,24 @@
1
+package com.example.esswisdom_ipad_v2
2
+
3
+import androidx.test.platform.app.InstrumentationRegistry
4
+import androidx.test.ext.junit.runners.AndroidJUnit4
5
+
6
+import org.junit.Test
7
+import org.junit.runner.RunWith
8
+
9
+import org.junit.Assert.*
10
+
11
+/**
12
+ * Instrumented test, which will execute on an Android device.
13
+ *
14
+ * See [testing documentation](http://d.android.com/tools/testing).
15
+ */
16
+@RunWith(AndroidJUnit4::class)
17
+class ExampleInstrumentedTest {
18
+    @Test
19
+    fun useAppContext() {
20
+        // Context of the app under test.
21
+        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22
+        assertEquals("com.example.esswisdom_ipad_v2", appContext.packageName)
23
+    }
24
+}

+ 16
- 0
app/src/main/AndroidManifest.xml Vedi File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:tools="http://schemas.android.com/tools">
4
+
5
+    <application
6
+        android:allowBackup="true"
7
+        android:dataExtractionRules="@xml/data_extraction_rules"
8
+        android:fullBackupContent="@xml/backup_rules"
9
+        android:icon="@mipmap/ic_launcher"
10
+        android:label="@string/app_name"
11
+        android:roundIcon="@mipmap/ic_launcher_round"
12
+        android:supportsRtl="true"
13
+        android:theme="@style/Theme.Esswisdom_ipad_V2"
14
+        tools:targetApi="31" />
15
+
16
+</manifest>

+ 170
- 0
app/src/main/res/drawable/ic_launcher_background.xml Vedi File

@@ -0,0 +1,170 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+    android:width="108dp"
4
+    android:height="108dp"
5
+    android:viewportWidth="108"
6
+    android:viewportHeight="108">
7
+    <path
8
+        android:fillColor="#3DDC84"
9
+        android:pathData="M0,0h108v108h-108z" />
10
+    <path
11
+        android:fillColor="#00000000"
12
+        android:pathData="M9,0L9,108"
13
+        android:strokeWidth="0.8"
14
+        android:strokeColor="#33FFFFFF" />
15
+    <path
16
+        android:fillColor="#00000000"
17
+        android:pathData="M19,0L19,108"
18
+        android:strokeWidth="0.8"
19
+        android:strokeColor="#33FFFFFF" />
20
+    <path
21
+        android:fillColor="#00000000"
22
+        android:pathData="M29,0L29,108"
23
+        android:strokeWidth="0.8"
24
+        android:strokeColor="#33FFFFFF" />
25
+    <path
26
+        android:fillColor="#00000000"
27
+        android:pathData="M39,0L39,108"
28
+        android:strokeWidth="0.8"
29
+        android:strokeColor="#33FFFFFF" />
30
+    <path
31
+        android:fillColor="#00000000"
32
+        android:pathData="M49,0L49,108"
33
+        android:strokeWidth="0.8"
34
+        android:strokeColor="#33FFFFFF" />
35
+    <path
36
+        android:fillColor="#00000000"
37
+        android:pathData="M59,0L59,108"
38
+        android:strokeWidth="0.8"
39
+        android:strokeColor="#33FFFFFF" />
40
+    <path
41
+        android:fillColor="#00000000"
42
+        android:pathData="M69,0L69,108"
43
+        android:strokeWidth="0.8"
44
+        android:strokeColor="#33FFFFFF" />
45
+    <path
46
+        android:fillColor="#00000000"
47
+        android:pathData="M79,0L79,108"
48
+        android:strokeWidth="0.8"
49
+        android:strokeColor="#33FFFFFF" />
50
+    <path
51
+        android:fillColor="#00000000"
52
+        android:pathData="M89,0L89,108"
53
+        android:strokeWidth="0.8"
54
+        android:strokeColor="#33FFFFFF" />
55
+    <path
56
+        android:fillColor="#00000000"
57
+        android:pathData="M99,0L99,108"
58
+        android:strokeWidth="0.8"
59
+        android:strokeColor="#33FFFFFF" />
60
+    <path
61
+        android:fillColor="#00000000"
62
+        android:pathData="M0,9L108,9"
63
+        android:strokeWidth="0.8"
64
+        android:strokeColor="#33FFFFFF" />
65
+    <path
66
+        android:fillColor="#00000000"
67
+        android:pathData="M0,19L108,19"
68
+        android:strokeWidth="0.8"
69
+        android:strokeColor="#33FFFFFF" />
70
+    <path
71
+        android:fillColor="#00000000"
72
+        android:pathData="M0,29L108,29"
73
+        android:strokeWidth="0.8"
74
+        android:strokeColor="#33FFFFFF" />
75
+    <path
76
+        android:fillColor="#00000000"
77
+        android:pathData="M0,39L108,39"
78
+        android:strokeWidth="0.8"
79
+        android:strokeColor="#33FFFFFF" />
80
+    <path
81
+        android:fillColor="#00000000"
82
+        android:pathData="M0,49L108,49"
83
+        android:strokeWidth="0.8"
84
+        android:strokeColor="#33FFFFFF" />
85
+    <path
86
+        android:fillColor="#00000000"
87
+        android:pathData="M0,59L108,59"
88
+        android:strokeWidth="0.8"
89
+        android:strokeColor="#33FFFFFF" />
90
+    <path
91
+        android:fillColor="#00000000"
92
+        android:pathData="M0,69L108,69"
93
+        android:strokeWidth="0.8"
94
+        android:strokeColor="#33FFFFFF" />
95
+    <path
96
+        android:fillColor="#00000000"
97
+        android:pathData="M0,79L108,79"
98
+        android:strokeWidth="0.8"
99
+        android:strokeColor="#33FFFFFF" />
100
+    <path
101
+        android:fillColor="#00000000"
102
+        android:pathData="M0,89L108,89"
103
+        android:strokeWidth="0.8"
104
+        android:strokeColor="#33FFFFFF" />
105
+    <path
106
+        android:fillColor="#00000000"
107
+        android:pathData="M0,99L108,99"
108
+        android:strokeWidth="0.8"
109
+        android:strokeColor="#33FFFFFF" />
110
+    <path
111
+        android:fillColor="#00000000"
112
+        android:pathData="M19,29L89,29"
113
+        android:strokeWidth="0.8"
114
+        android:strokeColor="#33FFFFFF" />
115
+    <path
116
+        android:fillColor="#00000000"
117
+        android:pathData="M19,39L89,39"
118
+        android:strokeWidth="0.8"
119
+        android:strokeColor="#33FFFFFF" />
120
+    <path
121
+        android:fillColor="#00000000"
122
+        android:pathData="M19,49L89,49"
123
+        android:strokeWidth="0.8"
124
+        android:strokeColor="#33FFFFFF" />
125
+    <path
126
+        android:fillColor="#00000000"
127
+        android:pathData="M19,59L89,59"
128
+        android:strokeWidth="0.8"
129
+        android:strokeColor="#33FFFFFF" />
130
+    <path
131
+        android:fillColor="#00000000"
132
+        android:pathData="M19,69L89,69"
133
+        android:strokeWidth="0.8"
134
+        android:strokeColor="#33FFFFFF" />
135
+    <path
136
+        android:fillColor="#00000000"
137
+        android:pathData="M19,79L89,79"
138
+        android:strokeWidth="0.8"
139
+        android:strokeColor="#33FFFFFF" />
140
+    <path
141
+        android:fillColor="#00000000"
142
+        android:pathData="M29,19L29,89"
143
+        android:strokeWidth="0.8"
144
+        android:strokeColor="#33FFFFFF" />
145
+    <path
146
+        android:fillColor="#00000000"
147
+        android:pathData="M39,19L39,89"
148
+        android:strokeWidth="0.8"
149
+        android:strokeColor="#33FFFFFF" />
150
+    <path
151
+        android:fillColor="#00000000"
152
+        android:pathData="M49,19L49,89"
153
+        android:strokeWidth="0.8"
154
+        android:strokeColor="#33FFFFFF" />
155
+    <path
156
+        android:fillColor="#00000000"
157
+        android:pathData="M59,19L59,89"
158
+        android:strokeWidth="0.8"
159
+        android:strokeColor="#33FFFFFF" />
160
+    <path
161
+        android:fillColor="#00000000"
162
+        android:pathData="M69,19L69,89"
163
+        android:strokeWidth="0.8"
164
+        android:strokeColor="#33FFFFFF" />
165
+    <path
166
+        android:fillColor="#00000000"
167
+        android:pathData="M79,19L79,89"
168
+        android:strokeWidth="0.8"
169
+        android:strokeColor="#33FFFFFF" />
170
+</vector>

+ 30
- 0
app/src/main/res/drawable/ic_launcher_foreground.xml Vedi File

@@ -0,0 +1,30 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    xmlns:aapt="http://schemas.android.com/aapt"
3
+    android:width="108dp"
4
+    android:height="108dp"
5
+    android:viewportWidth="108"
6
+    android:viewportHeight="108">
7
+    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
8
+        <aapt:attr name="android:fillColor">
9
+            <gradient
10
+                android:endX="85.84757"
11
+                android:endY="92.4963"
12
+                android:startX="42.9492"
13
+                android:startY="49.59793"
14
+                android:type="linear">
15
+                <item
16
+                    android:color="#44000000"
17
+                    android:offset="0.0" />
18
+                <item
19
+                    android:color="#00000000"
20
+                    android:offset="1.0" />
21
+            </gradient>
22
+        </aapt:attr>
23
+    </path>
24
+    <path
25
+        android:fillColor="#FFFFFF"
26
+        android:fillType="nonZero"
27
+        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
28
+        android:strokeWidth="1"
29
+        android:strokeColor="#00000000" />
30
+</vector>

+ 6
- 0
app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml Vedi File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
+    <background android:drawable="@drawable/ic_launcher_background" />
4
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
5
+    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
6
+</adaptive-icon>

+ 6
- 0
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml Vedi File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
+    <background android:drawable="@drawable/ic_launcher_background" />
4
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
5
+    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
6
+</adaptive-icon>

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.webp Vedi File


BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp Vedi File


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.webp Vedi File


BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp Vedi File


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.webp Vedi File


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp Vedi File


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.webp Vedi File


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp Vedi File


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp Vedi File


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp Vedi File


+ 16
- 0
app/src/main/res/values-night/themes.xml Vedi File

@@ -0,0 +1,16 @@
1
+<resources xmlns:tools="http://schemas.android.com/tools">
2
+    <!-- Base application theme. -->
3
+    <style name="Theme.Esswisdom_ipad_V2" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
4
+        <!-- Primary brand color. -->
5
+        <item name="colorPrimary">@color/purple_200</item>
6
+        <item name="colorPrimaryVariant">@color/purple_700</item>
7
+        <item name="colorOnPrimary">@color/black</item>
8
+        <!-- Secondary brand color. -->
9
+        <item name="colorSecondary">@color/teal_200</item>
10
+        <item name="colorSecondaryVariant">@color/teal_200</item>
11
+        <item name="colorOnSecondary">@color/black</item>
12
+        <!-- Status bar color. -->
13
+        <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
14
+        <!-- Customize your theme here. -->
15
+    </style>
16
+</resources>

+ 10
- 0
app/src/main/res/values/colors.xml Vedi File

@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <color name="purple_200">#FFBB86FC</color>
4
+    <color name="purple_500">#FF6200EE</color>
5
+    <color name="purple_700">#FF3700B3</color>
6
+    <color name="teal_200">#FF03DAC5</color>
7
+    <color name="teal_700">#FF018786</color>
8
+    <color name="black">#FF000000</color>
9
+    <color name="white">#FFFFFFFF</color>
10
+</resources>

+ 3
- 0
app/src/main/res/values/strings.xml Vedi File

@@ -0,0 +1,3 @@
1
+<resources>
2
+    <string name="app_name">esswisdom_ipad_V2</string>
3
+</resources>

+ 16
- 0
app/src/main/res/values/themes.xml Vedi File

@@ -0,0 +1,16 @@
1
+<resources xmlns:tools="http://schemas.android.com/tools">
2
+    <!-- Base application theme. -->
3
+    <style name="Theme.Esswisdom_ipad_V2" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
4
+        <!-- Primary brand color. -->
5
+        <item name="colorPrimary">@color/purple_500</item>
6
+        <item name="colorPrimaryVariant">@color/purple_700</item>
7
+        <item name="colorOnPrimary">@color/white</item>
8
+        <!-- Secondary brand color. -->
9
+        <item name="colorSecondary">@color/teal_200</item>
10
+        <item name="colorSecondaryVariant">@color/teal_700</item>
11
+        <item name="colorOnSecondary">@color/black</item>
12
+        <!-- Status bar color. -->
13
+        <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
14
+        <!-- Customize your theme here. -->
15
+    </style>
16
+</resources>

+ 13
- 0
app/src/main/res/xml/backup_rules.xml Vedi File

@@ -0,0 +1,13 @@
1
+<?xml version="1.0" encoding="utf-8"?><!--
2
+   Sample backup rules file; uncomment and customize as necessary.
3
+   See https://developer.android.com/guide/topics/data/autobackup
4
+   for details.
5
+   Note: This file is ignored for devices older that API 31
6
+   See https://developer.android.com/about/versions/12/backup-restore
7
+-->
8
+<full-backup-content>
9
+    <!--
10
+   <include domain="sharedpref" path="."/>
11
+   <exclude domain="sharedpref" path="device.xml"/>
12
+-->
13
+</full-backup-content>

+ 19
- 0
app/src/main/res/xml/data_extraction_rules.xml Vedi File

@@ -0,0 +1,19 @@
1
+<?xml version="1.0" encoding="utf-8"?><!--
2
+   Sample data extraction rules file; uncomment and customize as necessary.
3
+   See https://developer.android.com/about/versions/12/backup-restore#xml-changes
4
+   for details.
5
+-->
6
+<data-extraction-rules>
7
+    <cloud-backup>
8
+        <!-- TODO: Use <include> and <exclude> to control what is backed up.
9
+        <include .../>
10
+        <exclude .../>
11
+        -->
12
+    </cloud-backup>
13
+    <!--
14
+    <device-transfer>
15
+        <include .../>
16
+        <exclude .../>
17
+    </device-transfer>
18
+    -->
19
+</data-extraction-rules>

+ 17
- 0
app/src/test/java/com/example/esswisdom_ipad_v2/ExampleUnitTest.kt Vedi File

@@ -0,0 +1,17 @@
1
+package com.example.esswisdom_ipad_v2
2
+
3
+import org.junit.Test
4
+
5
+import org.junit.Assert.*
6
+
7
+/**
8
+ * Example local unit test, which will execute on the development machine (host).
9
+ *
10
+ * See [testing documentation](http://d.android.com/tools/testing).
11
+ */
12
+class ExampleUnitTest {
13
+    @Test
14
+    fun addition_isCorrect() {
15
+        assertEquals(4, 2 + 2)
16
+    }
17
+}

+ 5
- 0
build.gradle.kts Vedi File

@@ -0,0 +1,5 @@
1
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
2
+plugins {
3
+    id("com.android.application") version "8.1.3" apply false
4
+    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
5
+}

+ 558
- 0
components/cmd-progress/cmd-progress.vue Vedi File

@@ -0,0 +1,558 @@
1
+<template>
2
+  <view class="cmd-progress cmd-progress-default" :class="setStatusClass">
3
+    <block v-if="type == 'circle' || type == 'dashboard'">
4
+      <view class="cmd-progress cmd-progress-default" :class="setStatusClass">
5
+        <view class="cmd-progress-inner" :style="setCircleStyle">
6
+          <!-- 绘制圈 start -->
7
+          <!-- #ifdef H5 -->
8
+          <svg viewBox="0 0 100 100" class="cmd-progress-circle">
9
+            <path :d="setCirclePath" stroke="#f3f3f3" :stroke-linecap="strokeShape" :stroke-width="strokeWidth"
10
+              fill-opacity="0" class="cmd-progress-circle-trail" :style="setCircleTrailStyle"></path>
11
+            <path :d="setCirclePath" :stroke-linecap="strokeShape" :stroke-width="strokeWidth" fill-opacity="0" class="cmd-progress-circle-path"
12
+              :style="setCirclePathStyle"></path>
13
+          </svg>
14
+          <!-- #endif -->
15
+          <!-- #ifndef H5 -->
16
+          <text :style="setCircle"></text>
17
+          <!-- #endif -->
18
+          <!-- 绘制圈 end -->
19
+          <!-- 状态文本 start -->
20
+          <block v-if="showInfo">
21
+            <text class="cmd-progress-text" :title="setFormat">
22
+              <block v-if="status != 'success' && status != 'exception' && setProgress < 100">{{setFormat}}</block>
23
+              <!-- #ifdef H5 -->
24
+              <svg v-if="status == 'exception'" viewBox="64 64 896 896" data-icon="close" width="1em" height="1em" fill="currentColor"
25
+                aria-hidden="true">
26
+                <path d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"></path>
27
+              </svg>
28
+              <svg v-if="status == 'success' || setProgress == 100" viewBox="64 64 896 896" data-icon="check" width="1em"
29
+                height="1em" fill="currentColor" aria-hidden="true" :style="{'color': strokeColor ? strokeColor : ''}">
30
+                <path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"></path>
31
+              </svg>
32
+              <!-- #endif -->
33
+              <!-- #ifndef H5 -->
34
+              <text v-if="status == 'exception' || status == 'success' || setProgress == 100" :style="setCircleIcon"></text>
35
+              <!-- #endif -->
36
+            </text>
37
+          </block>
38
+          <!-- 状态文本 end -->
39
+        </view>
40
+      </view>
41
+    </block>
42
+
43
+    <block v-if="type == 'line'">
44
+      <!-- 进度条 start -->
45
+      <view class="cmd-progress-outer">
46
+        <view class="cmd-progress-inner" :style="{'border-radius': strokeShape == 'square' ? 0 : '100px'}">
47
+          <view class="cmd-progress-bg" :style="setLineStyle"></view>
48
+          <view v-if="successPercent" class="cmd-progress-success-bg" :style="setLineSuccessStyle"></view>
49
+        </view>
50
+      </view>
51
+      <!-- 进度条 end -->
52
+      <!-- 进度条是否显示信息 start -->
53
+      <block v-if="showInfo">
54
+        <text class="cmd-progress-text" :title="setFormat">
55
+          <block v-if="status != 'success' && status != 'exception' && setProgress < 100">{{setFormat}}</block>
56
+          <!-- #ifdef H5 -->
57
+          <svg v-if="status == 'exception'" viewBox="64 64 896 896" data-icon="close-circle" width="1em" height="1em"
58
+            fill="currentColor" aria-hidden="true">
59
+            <path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 0 1-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z"></path>
60
+          </svg>
61
+          <svg v-if="status == 'success' || setProgress == 100" viewBox="64 64 896 896" data-icon="check-circle" width="1em"
62
+            height="1em" fill="currentColor" aria-hidden="true" :style="{'color': strokeColor ? strokeColor : ''}">
63
+            <path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"></path>
64
+          </svg>
65
+          <!-- #endif -->
66
+          <!-- #ifndef H5 -->
67
+          <text v-if="status == 'exception' || status == 'success' || setProgress == 100" :style="setLineStatusIcon"></text>
68
+          <!-- #endif -->
69
+        </text>
70
+      </block>
71
+      <!-- 进度条是否显示信息 end -->
72
+    </block>
73
+  </view>
74
+</template>
75
+
76
+<script>
77
+  /**  
78
+   * 进度条组件  
79
+   * @description 显示一个操作完成的百分比时,为用户显示该操作的当前进度和状态。  
80
+   * @tutorial https://ext.dcloud.net.cn/plugin?id=259  
81
+   * @property {String} type 进度类型 - 线型:line、圆圈形:circle、仪表盘:dashboard,默认线型:line  
82
+   * @property {Number} percent 进度百分比值 - 显示范围0-100 ,可能数比较大就需要自己转成百分比的值  
83
+   * @property {Number} success-percent 进度已完成的百分几 - 仅支持进度线型:line  
84
+   * @property {String} status 进度状态 - 涌动:active(仅支持线型:line)、正常:normal、完成:success、失败:exception,默认正常:normal  
85
+   * @property {Boolean} show-info 进度状态信息 - 是否显示进度数值或状态图标,默认true  
86
+   * @property {Number} stroke-width 进度线条的宽度 - 建议在条线的宽度范围:1-50,与进度条显示宽度有关,默认8  
87
+   * @property {String} stroke-color 进度线条的颜色 - 渐变色仅支持线型:line  
88
+   * @property {String} stroke-shape 进度线条两端的形状 - 圆:round、方块直角:square,默认圆:round  
89
+   * @property {Number} width 进度画布宽度 - 仅支持圆圈形:circle、仪表盘:dashboard,默认80  
90
+   * @property {String} gap-degree 进度圆形缺口角度 - 可取值 0 ~ 360,仅支持圆圈形:circle、仪表盘:dashboard  
91
+   * @property {String} gap-position 进度圆形缺口位置 - 可取值'top', 'bottom', 'left', 'right',仅支持圆圈形:circle、仪表盘:dashboard  
92
+   * @example <cmd-progress :percent="30"></cmd-progress>  
93
+   */
94
+  export default {
95
+    name: 'cmd-progress',
96
+
97
+    props: {
98
+      /**
99
+       * 类型默认:line,可选 line circle dashboard
100
+       */
101
+      type: {
102
+        validator: val => {
103
+          return ['line', 'circle', 'dashboard'].includes(val);
104
+        },
105
+        default: 'line'
106
+      },
107
+      /**
108
+       * 百分比
109
+       */
110
+      percent: {
111
+        type: Number,
112
+        default: 0
113
+      },
114
+      /**
115
+       * 已完成的分段百分,仅支持类型line
116
+       */
117
+      successPercent: {
118
+        type: Number,
119
+        default: 0
120
+      },
121
+      /**
122
+       * 是否显示进度数值或状态图标
123
+       */
124
+      showInfo: {
125
+        type: Boolean,
126
+        default: true
127
+      },
128
+      /**
129
+       * 进度状态,可选:normal success exception (active仅支持类型line
130
+       */
131
+      status: {
132
+        validator: val => {
133
+          return ['normal', 'success', 'exception', 'active'].includes(val);
134
+        },
135
+        default: 'normal'
136
+      },
137
+      /**
138
+       * 条线的宽度1-50,与width有关
139
+       */
140
+      strokeWidth: {
141
+        type: Number,
142
+        default: 6
143
+      },
144
+      /**
145
+       * 条线的颜色,渐变色仅支持类型line
146
+       */
147
+      strokeColor: {
148
+        type: String,
149
+        default: ''
150
+      },
151
+      /**
152
+       * 条线两端的形状 可选:'round', 'square'
153
+       */
154
+      strokeShape: {
155
+        validator: val => {
156
+          return ['round', 'square'].includes(val);
157
+        },
158
+        default: 'round'
159
+      },
160
+      /**
161
+       * 圆形进度条画布宽度,支持类型circle dashboard
162
+       */
163
+      width: {
164
+        type: Number,
165
+        default: 80
166
+      },
167
+      /**
168
+       * 圆形进度条缺口角度,可取值 0 ~ 360,支持类型circle dashboard
169
+       */
170
+      gapDegree: {
171
+        type: Number,
172
+        default: 120
173
+      },
174
+      /**
175
+       * 圆形进度条缺口位置,可取值'top', 'bottom', 'left', 'right' ,支持类型circle dashboard
176
+       */
177
+      gapPosition: {
178
+        validator: val => {
179
+          return ['top', 'bottom', 'left', 'right'].includes(val);
180
+        },
181
+        default: 'top'
182
+      }
183
+    },
184
+
185
+    computed: {
186
+      /**
187
+       * 如果需要自定义格式就在这改
188
+       */
189
+      setFormat() {
190
+        return `${this.setProgress}%`;
191
+      },
192
+      /**
193
+       * 设置显示进度值,禁止小于0和超过100
194
+       */
195
+      setProgress() {
196
+        let percent = this.percent;
197
+        if (!this.percent || this.percent < 0) {
198
+          percent = 0;
199
+        } else if (this.percent >= 100) {
200
+          percent = 100;
201
+        }
202
+        return percent;
203
+      },
204
+      /**
205
+       * 进度圈svg大小
206
+       */
207
+      setCircleStyle() {
208
+        return `width: ${this.width}px;
209
+				height: ${this.width}px;
210
+				fontSize: ${this.width * 0.15 + 6}px;`
211
+      },
212
+      /**
213
+       * 圈底色
214
+       */
215
+      setCircleTrailStyle() {
216
+        const radius = 50 - this.strokeWidth / 2;
217
+        const len = Math.PI * 2 * radius;
218
+        const gapDeg = this.gapDegree || (this.type === 'dashboard' && 75);
219
+        return `stroke-dasharray: ${len - (gapDeg||0)}px, ${len}px;
220
+				stroke-dashoffset: -${(gapDeg||0) / 2}px;
221
+				transition: stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s;`
222
+      },
223
+      /**
224
+       * 圈进度
225
+       */
226
+      setCirclePathStyle() {
227
+        const radius = 50 - this.strokeWidth / 2;
228
+        const len = Math.PI * 2 * radius;
229
+        const gapDeg = this.gapDegree || (this.type === 'dashboard' && 75);
230
+        return `stroke: ${this.strokeColor};
231
+				stroke-dasharray: ${(this.setProgress / 100) * (len - (gapDeg||0))}px, ${len}px;
232
+				stroke-dashoffset: -${(gapDeg||0) / 2}px;
233
+				transition: stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s, stroke-width 0.06s ease 0.3s;`
234
+      },
235
+      /**
236
+       * 绘制圈
237
+       */
238
+      setCirclePath() {
239
+        const radius = 50 - this.strokeWidth / 2;
240
+        let beginPositionX = 0;
241
+        let beginPositionY = -radius;
242
+        let endPositionX = 0;
243
+        let endPositionY = -2 * radius;
244
+        const gapPos = (this.type === 'dashboard' && 'bottom') || this.gapPosition || 'top';
245
+        switch (gapPos) {
246
+          case 'left':
247
+            beginPositionX = -radius;
248
+            beginPositionY = 0;
249
+            endPositionX = 2 * radius;
250
+            endPositionY = 0;
251
+            break;
252
+          case 'right':
253
+            beginPositionX = radius;
254
+            beginPositionY = 0;
255
+            endPositionX = -2 * radius;
256
+            endPositionY = 0;
257
+            break;
258
+          case 'bottom':
259
+            beginPositionY = radius;
260
+            endPositionY = 2 * radius;
261
+            break;
262
+          default:
263
+            break;
264
+        }
265
+        return `M 50,50 m ${beginPositionX},${beginPositionY} a ${radius},${radius} 0 1 1 ${endPositionX},${-endPositionY} a ${radius},${radius} 0 1 1 ${-endPositionX},${endPositionY}`;
266
+      },
267
+      // #ifndef H5
268
+      /**
269
+       * 非H5端,绘制进度圈svg转base URL
270
+       */
271
+      setCircle() {
272
+        const radius = 50 - this.strokeWidth / 2;
273
+        const len = Math.PI * 2 * radius;
274
+        const gapDeg = this.gapDegree || (this.type === 'dashboard' && 75);
275
+        let currentColor = '#108ee9'
276
+        // 异常进度
277
+        if (this.status == 'exception') {
278
+          currentColor = '#f5222d'
279
+        }
280
+        // 完成进度
281
+        if (this.status == 'success' || this.setProgress >= 100 || this.strokeColor) {
282
+          currentColor = this.strokeColor || '#52c41a'
283
+        }
284
+        let svgToBase =
285
+          `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' class='cmd-progress-circle'%3E%3Cpath d='${this.setCirclePath}' stroke='%23f3f3f3' stroke-linecap='${this.strokeShape}' stroke-width='${this.strokeWidth}' fill-opacity='0' class='cmd-progress-circle-trail' style='stroke-dasharray: ${len - (gapDeg||0)}px, ${len}px;stroke-dashoffset: -${(gapDeg||0) / 2}px;transition: stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s;'%3E%3C/path%3E%3Cpath  d='${this.setCirclePath}' stroke-linecap='${this.strokeShape}' stroke-width='${this.strokeWidth}' fill-opacity='0' class='cmd-progress-circle-path' style='stroke: ${escape(currentColor)};stroke-dasharray: ${(this.setProgress / 100) * (len - (gapDeg||0))}px, ${len}px;stroke-dashoffset: -${(gapDeg||0) / 2}px;transition: stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s, stroke-width 0.06s ease 0.3s;'%3E%3C/path%3E%3C/svg%3E`
286
+        return `background-image: url("${svgToBase}");
287
+				background-size: cover;
288
+				display: inline-block;
289
+				${this.setCircleStyle}`;
290
+      },
291
+      /**
292
+       * 设置进度圈状态图标
293
+       */
294
+      setCircleIcon() {
295
+        let currentColor = '#108ee9'
296
+        let svgToBase = ''
297
+        // 异常进度
298
+        if (this.status == 'exception') {
299
+          currentColor = '#f5222d'
300
+          svgToBase =
301
+            `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' data-icon='close' width='1em' height='1em' fill='${escape(currentColor)}' aria-hidden='true'%3E %3Cpath d='M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'%3E%3C/path%3E %3C/svg%3E`;
302
+        }
303
+        // 完成进度
304
+        if (this.status == 'success' || this.setProgress >= 100) {
305
+          currentColor = this.strokeColor || '#52c41a'
306
+          svgToBase =
307
+            `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' data-icon='check' width='1em' height='1em' fill='${escape(currentColor)}' aria-hidden='true'%3E %3Cpath d='M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'%3E%3C/path%3E %3C/svg%3E`;
308
+        }
309
+        return `background-image: url("${svgToBase}");
310
+				background-size: cover;
311
+				display: inline-block;
312
+				width: 1em;
313
+				height: 1em;`;
314
+      },
315
+      // #endif
316
+      /**
317
+       * 设置进度条样式
318
+       */
319
+      setLineStyle() {
320
+        return `width: ${this.setProgress}%;
321
+				height: ${this.strokeWidth}px;
322
+				background: ${this.strokeColor};
323
+				border-radius: ${this.strokeShape === 'square' ? 0 : '100px'};`;
324
+      },
325
+      /**
326
+       * 设置已完成分段进度
327
+       */
328
+      setLineSuccessStyle() {
329
+        let successPercent = this.successPercent;
330
+        if (!this.successPercent || this.successPercent < 0 || this.setProgress < this.successPercent) {
331
+          successPercent = 0;
332
+        } else if (this.successPercent >= 100) {
333
+          successPercent = 100;
334
+        }
335
+        return `width: ${successPercent}%;
336
+				height: ${this.strokeWidth}px;
337
+				border-radius: ${this.strokeShape === 'square' ? 0 : '100px'};`;
338
+      },
339
+      // #ifndef H5
340
+      /**
341
+       * 设置进度条状态图标
342
+       */
343
+      setLineStatusIcon() {
344
+        let currentColor = '#108ee9'
345
+        let svgToBase = ''
346
+        // 异常进度
347
+        if (this.status == 'exception') {
348
+          currentColor = '#f5222d'
349
+          svgToBase =
350
+            `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' data-icon='close-circle' width='1em' height='1em' fill='${escape(currentColor)}' aria-hidden='true'%3E %3Cpath d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 0 1-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z'%3E%3C/path%3E %3C/svg%3E`;
351
+        }
352
+        // 完成进度
353
+        if (this.status == 'success' || this.setProgress >= 100) {
354
+          currentColor = this.strokeColor || '#52c41a'
355
+          svgToBase =
356
+            `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' data-icon='check-circle' width='1em' height='1em' fill='${escape(currentColor)}' aria-hidden='true'%3E %3Cpath d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'%3E%3C/path%3E %3C/svg%3E`;
357
+        }
358
+        return `background-image: url("${svgToBase}");
359
+				background-size: cover;
360
+				display: inline-block;
361
+				width: 1em;
362
+				height: 1em;`;
363
+      },
364
+      // #endif
365
+      /**
366
+       * 状态样式
367
+       */
368
+      setStatusClass() {
369
+        let statusClass = [];
370
+        // 异常进度
371
+        if (this.status == 'exception') {
372
+          statusClass.push('cmd-progress-status-exception')
373
+        }
374
+        // 完成进度
375
+        if (this.status == 'success' || this.setProgress >= 100) {
376
+          statusClass.push('cmd-progress-status-success')
377
+        }
378
+        // 活动进度条
379
+        if (this.status == 'active') {
380
+          statusClass.push('cmd-progress-status-active')
381
+        }
382
+        // 是否显示信息
383
+        if (this.showInfo) {
384
+          statusClass.push('cmd-progress-show-info')
385
+        }
386
+        // 进度条类型
387
+        if (this.type === 'line') {
388
+          statusClass.push('cmd-progress-line')
389
+        }
390
+        // 进度圈、仪表盘类型
391
+        if (this.type === 'circle' || this.type === 'dashboard') {
392
+          statusClass.push('cmd-progress-circle')
393
+        }
394
+        statusClass.push('cmd-progress-status-normal')
395
+        return statusClass;
396
+      }
397
+    }
398
+  }
399
+</script>
400
+
401
+<style>
402
+  .cmd-progress { 
403
+    box-sizing: border-box;
404
+    margin: 0;
405
+    padding: 0;
406
+    list-style: none;
407
+    display: inline-block;
408
+  }
409
+
410
+  .cmd-progress-line {
411
+    width: 100%;
412
+    font-size: 28upx;
413
+    position: relative;
414
+    display: flex;
415
+    flex-direction: row;
416
+    justify-content: center;
417
+    align-items: center;
418
+  }
419
+
420
+  .cmd-progress-outer {
421
+    display: inline-block;
422
+    width: 100%;
423
+    margin-right: 0;
424
+    padding-right: 0;
425
+  }
426
+
427
+  .cmd-progress-show-info .cmd-progress-outer {
428
+    flex: 1;
429
+  }
430
+
431
+  .cmd-progress-inner {
432
+    display: inline-block;
433
+    width: 100%;
434
+    background-color: #f5f5f5;
435
+    border-radius: 200upx;
436
+    vertical-align: middle;
437
+    position: relative;
438
+  }
439
+
440
+  .cmd-progress-circle-trail {
441
+    stroke: #f5f5f5;
442
+  }
443
+
444
+  .cmd-progress-circle-path {
445
+    stroke: #1890ff;
446
+    animation: appear 0.3s;
447
+  }
448
+
449
+  .cmd-progress-success-bg,
450
+  .cmd-progress-bg {
451
+    background-color: #1890ff;
452
+    transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;
453
+    position: relative;
454
+  }
455
+
456
+  .cmd-progress-success-bg {
457
+    background-color: #52c41a;
458
+    position: absolute;
459
+    top: 0;
460
+    left: 0;
461
+  }
462
+
463
+  .cmd-progress-text {
464
+    word-break: normal;
465
+    width: 60upx;
466
+    text-align: left;
467
+    margin-left: 16upx;
468
+    vertical-align: middle;
469
+    display: inline-block;
470
+    white-space: nowrap;
471
+    color: rgba(0, 0, 0, 0.45);
472
+    line-height: 1;
473
+  }
474
+
475
+  .cmd-progress-status-active .cmd-progress-bg:before {
476
+    content: "";
477
+    opacity: 0;
478
+    position: absolute;
479
+    top: 0;
480
+    left: 0;
481
+    right: 0;
482
+    bottom: 0;
483
+    background: #fff;
484
+    border-radius: 20upx;
485
+    -webkit-animation: cmd-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;
486
+    animation: cmd-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;
487
+  }
488
+
489
+  .cmd-progress-status-exception .cmd-progress-bg {
490
+    background-color: #f5222d;
491
+  }
492
+
493
+  .cmd-progress-status-exception .cmd-progress-text {
494
+    color: #f5222d;
495
+  }
496
+
497
+  .cmd-progress-status-exception .cmd-progress-circle-path {
498
+    stroke: #f5222d;
499
+  }
500
+
501
+  .cmd-progress-status-success .cmd-progress-bg {
502
+    background-color: #52c41a;
503
+  }
504
+
505
+  .cmd-progress-status-success .cmd-progress-text {
506
+    color: #52c41a;
507
+  }
508
+
509
+  .cmd-progress-status-success .cmd-progress-circle-path {
510
+    stroke: #52c41a;
511
+  }
512
+
513
+  .cmd-progress-circle .cmd-progress-inner {
514
+    position: relative;
515
+    line-height: 1;
516
+    background-color: transparent;
517
+  }
518
+
519
+  .cmd-progress-circle .cmd-progress-text {
520
+    display: block;
521
+    position: absolute;
522
+    width: 100%;
523
+    text-align: center;
524
+    line-height: 1;
525
+    top: 50%;
526
+    -webkit-transform: translateY(-50%);
527
+    transform: translateY(-50%);
528
+    left: 0;
529
+    margin: 0;
530
+    color: rgba(0, 0, 0, 0.65);
531
+    white-space: normal;
532
+  }
533
+
534
+  .cmd-progress-circle .cmd-progress-status-exception .cmd-progress-text {
535
+    color: #f5222d;
536
+  }
537
+
538
+  .cmd-progress-circle .cmd-progress-status-success .cmd-progress-text {
539
+    color: #52c41a;
540
+  }
541
+
542
+  @keyframes cmd-progress-active {
543
+    0% {
544
+      opacity: 0.1;
545
+      width: 0;
546
+    }
547
+
548
+    20% {
549
+      opacity: 0.5;
550
+      width: 0;
551
+    }
552
+
553
+    100% {
554
+      opacity: 0;
555
+      width: 100%;
556
+    }
557
+  }
558
+</style>

+ 184
- 0
en.json Vedi File

@@ -0,0 +1,184 @@
1
+{
2
+	"MainTitle":"iTrailer",
3
+	// "MainTitle":"Nano Pod T",
4
+	// "MainTitle":"eMove 200",
5
+	"status":"SYS Status:",
6
+	"version":"version",
7
+	"CommunicationRecharge":"AC IN",
8
+	"CommunicationRechargeInput":"AC Input",
9
+	"CommunicationSupply":"AC OUT",
10
+	"CommunicationSupplyOutput":"AC Output",
11
+	"DirectRecharge":"DC IN",
12
+	"DirectRechargeInput":"DC Input",
13
+	"DirectSupply":"DC OUT",
14
+	"DirectSupplyOutput":"DC Output",
15
+	"SystemInformation":"SYS Info",
16
+	// "setup":"设置",
17
+	"state":"Breaker",
18
+	"state163A":"Breaker1 63A",
19
+	"state63A2":"Breaker2 63A",
20
+	"state125A":"Breaker1 125A",
21
+	"state63A":"Breaker2 63A",
22
+	"state16A":"Breaker3 16A",
23
+	"online":"ON Line",
24
+	"offline":"Off Line",
25
+	"connect":"ON",
26
+	"breakoff":"OFF",
27
+	"workingCondition":"Running Status",
28
+	"StandbyMode":"Standby",
29
+	"work":"Running",
30
+	"ChargingCompleted":"Finished",
31
+	"ChargingPause":"Pause",
32
+	
33
+	"BatteryStatus":"BAT Status",
34
+	"fault":"Fault",
35
+	"ChuShiHua":"Available",
36
+	"SystemStatus":"SYS Status",
37
+	"NotupyetVoltage":"Ready",
38
+	"HighVoltageMedium":"Unknown", //Unknown
39
+	"voltagehasbeen":"Connected",
40
+	"Underhighpressure":"Unknown", //lowerVoltage
41
+	// "ChargingStatus":"充电状态",
42
+	"uncharged":"Unavailable", //Discharge
43
+	"Chargingprogress":"Discharge",
44
+	"Chargingmalfunction":"AC Charge",
45
+	"full":"DC Charge",
46
+	// "Chargingstopped":"充电停止",
47
+	"retain":"Retain",
48
+	// "ChargingConnectionStatus":"充电连接状态",
49
+	// "FastChargingConnection":"快充连接",
50
+	// "NoConnection":"无连接",
51
+	"GunAinformation":"A Gun",
52
+	"GunBinformation":"B Gun",
53
+	"exchangeinformation":"AC Info",
54
+	"Batteryinformation":"BAT Info",
55
+	// "ConnectionInformation":"连接信息",
56
+	"statisticalinformation":"Running Info",
57
+	"coolinginformation":"TMS Info",
58
+	"PhaseVoltage":"Phase",
59
+	"PhaseVoltageAV":"Phase A",
60
+	"PhaseVoltageBV":"Phase B",
61
+	"PhaseVoltageCV":"Phase C",
62
+	"PhaseVoltageAA":"Phase A",
63
+	"PhaseVoltageBA":"Phase B",
64
+	"PhaseVoltageCA":"Phase C",
65
+	"powerSupply":"Power Input",
66
+	"DischargeCapacity":"Power Output",
67
+	// "PhaseCurrent":"相电流",
68
+	"PhaseCurrent":"Phase",
69
+	"DischargePower":"Power Output",
70
+	"Supplementarypower":"Power Input",
71
+	// "Batterypower":"电池功率",
72
+	"TotalPressure":"BAT Voltage",
73
+	"AllowChargingPower":"Max Power", 
74
+	"MaximumVoltage":"Max Cell", 
75
+	"MaximumTemperature":"Max Temp", 
76
+	"BatteryCurrent":"BAT Current", 
77
+	// "TotalExternalPressure":"电池外总压",
78
+	"AllowChargingCurrent":"Max Current",
79
+	"MinimumIndividualVoltage":"Min Cell",
80
+	"MinimumMonomerTemperature":"Min Temp",
81
+	// "WorkingModeBatterySystem":"电池系统工作模式",
82
+	"invalid":"Unavailable",
83
+	"DischargeMode":"Discharge",
84
+	"pcsChargingMode":"AC Charge",
85
+	"EuropeanStandardChargingMode":"DC Charge",
86
+	// "BatterySystemStatus":"电池系统状态",
87
+	// "initialization":"初始化",
88
+	// "AccumulatedChargingCapacityCommunication":"交流累计充电电量",
89
+	// "AccumulatedDCChargingCapacity":"直流累计充电电量",
90
+	"WorkingMode":"Running Mode",
91
+	"OffMode":"Standby",
92
+	"CoolingMode":"Cooling",
93
+	"HeatingMode":"Heating",
94
+	"CirculatingMode":"Self Loop",
95
+	"NO":"NO",
96
+	"OutletTemperature":"Outlets",
97
+	// "PowerDemand":"需求功率",
98
+	"HighVoltageRelayStatus":"TMS Relay",
99
+	
100
+	"DisconnectedState":"OFF",
101
+	"ClosedState":"ON",
102
+	"waterTemperature":"Inlets",
103
+	// "FaultLevel":"故障等级",
104
+	// "BatteryFaultLevel":"电池故障等级",
105
+	// "NoMalfunction":"无故障",
106
+	// "LevelLault":"级故障",
107
+	"open":"Start",
108
+	"stopIt":"Stop",
109
+	"power":"AC",
110
+	"given":"IN",
111
+	"powergiven":"Power",
112
+	"ACinputpowergiven":"AC input Power",
113
+	"confirm":"ok",
114
+	"ReturnModeSelection":"Back to Home",
115
+	"Return":"Return",
116
+	"CancelReturn":"Back",
117
+	"ConfirmStart":"ok",
118
+	"ConfirmStop":"ok",
119
+	"popUpTitle":"Tips",
120
+	"popUpTitleStop":"Tips",
121
+	"popUpContent":"Are you sure to START the iTrailer?",
122
+	"popUpContentStop":"Are you sure to STOP the iTrailer?",
123
+	"ACRechargeelectricitytext":"When AC power is replenished, all AC output terminals should be disconnected",
124
+	"ACpowerSupplytext":"When AC power is supplied, all AC input terminals should be disconnected",
125
+	"OperationSuccessful":"Operation successful",
126
+	"operationFailed":"operation failed",
127
+	"ChargingPower":"Input Power",
128
+       "ChargingVoltage":"Charging Voltage",
129
+       "ChargingCurrent":"Charging Current",
130
+       "VehicleSOC":"EV SOC",
131
+	   "ChargingCapacity":"Charging Capacity",
132
+	   "CharingPower":"Charging Power",
133
+	   "ChargingFee":"Charging Fee",
134
+	   "USD":"USD",
135
+	   "ChargingTime":"Charging Time", 
136
+	   "AllowableDischargepower":"Max Power",
137
+	   "AllowDischargeCurrent":"Max Current",
138
+	  "ConnectionStatus":"Link Status",
139
+	  // "RunningStatus":"Running Status",
140
+	  "formNO":"NO",
141
+	  "formFailure":"Failure",
142
+	  "formUnit":"Unit",
143
+	  "formDescription":"Description",
144
+	  "formRecover":"Recover",
145
+	  "FaultRec":"Fault Rec",
146
+	  "WarningRec":"Warning Rec",
147
+	  "RunningRec":"Running Rec",
148
+	  "SYSIfo":"SYS Info",
149
+	  "FaultClearing":"Recover",
150
+	  "LastPage":"Last page",
151
+	  "NextPage":"Next page",
152
+	  "RunningTimes":"Running Times",
153
+	  "InputCapacity":"Input Capacity",
154
+	  "AccumulateInput":"Accumulate Input",
155
+	  "RunningTimesdischarge":"Running Times",
156
+	  "InputCapacitydischarge":"Output Capacity",
157
+	  "AccumulateInputdischarge":"Accumulate Output",
158
+	  "RunningTimesmin":"min",
159
+	  // "sysifoURL":"../../static/enBasicdata3.png",
160
+	  "Tipswarning":"Only one mode can be used at the same time",
161
+	  // 系统设置
162
+	  "configuration":"BAT Configuration",
163
+	  "Batterycapacity":"BAT Energy",
164
+	  "Batterytype":"BAT Type",
165
+	  "Communicationpower":"AC Power",
166
+	  "DCpower":"DC Power",
167
+	  "configurationz":"1P216S",
168
+	  "Batterycapacityz":"200kWh",
169
+	  "Batterytypez":"lithium ion LFP",
170
+	  "Communicationpowerz":"50kW",
171
+	  "DCpowerz":"180kW",
172
+	  "Systemversion":"SYS Ver.",
173
+	  "MCSVer":"MCS Ver.",
174
+	  "CCUVer":"CCU Ver.",
175
+	  "SN":"S/N",
176
+	  "Systemversionz":"V2.0",
177
+	  "MCSVerz":"V2.0",
178
+	  "CCUVerz":"V2.0",
179
+	  "SN1":"S/N",
180
+	  // 功率弹窗
181
+	  "qx":"../../static/qxen.png",
182
+	  "qd":"../../static/qden.png"
183
+}
184
+ 

+ 23
- 0
gradle.properties Vedi File

@@ -0,0 +1,23 @@
1
+# Project-wide Gradle settings.
2
+# IDE (e.g. Android Studio) users:
3
+# Gradle settings configured through the IDE *will override*
4
+# any settings specified in this file.
5
+# For more details on how to configure your build environment visit
6
+# http://www.gradle.org/docs/current/userguide/build_environment.html
7
+# Specifies the JVM arguments used for the daemon process.
8
+# The setting is particularly useful for tweaking memory settings.
9
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10
+# When configured, Gradle will run in incubating parallel mode.
11
+# This option should only be used with decoupled projects. More details, visit
12
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13
+# org.gradle.parallel=true
14
+# AndroidX package structure to make it clearer which packages are bundled with the
15
+# Android operating system, and which are packaged with your app's APK
16
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
17
+android.useAndroidX=true
18
+# Kotlin code style for this project: "official" or "obsolete":
19
+kotlin.code.style=official
20
+# Enables namespacing of each library's R class so that its R class includes only the
21
+# resources declared in the library itself and none from the library's dependencies,
22
+# thereby reducing the size of the R class for that library
23
+android.nonTransitiveRClass=true

BIN
gradle/wrapper/gradle-wrapper.jar Vedi File


+ 6
- 0
gradle/wrapper/gradle-wrapper.properties Vedi File

@@ -0,0 +1,6 @@
1
+#Wed Jun 04 16:44:32 CST 2025
2
+distributionBase=GRADLE_USER_HOME
3
+distributionPath=wrapper/dists
4
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
5
+zipStoreBase=GRADLE_USER_HOME
6
+zipStorePath=wrapper/dists

+ 185
- 0
gradlew Vedi File

@@ -0,0 +1,185 @@
1
+#!/usr/bin/env sh
2
+
3
+#
4
+# Copyright 2015 the original author or authors.
5
+#
6
+# Licensed under the Apache License, Version 2.0 (the "License");
7
+# you may not use this file except in compliance with the License.
8
+# You may obtain a copy of the License at
9
+#
10
+#      https://www.apache.org/licenses/LICENSE-2.0
11
+#
12
+# Unless required by applicable law or agreed to in writing, software
13
+# distributed under the License is distributed on an "AS IS" BASIS,
14
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+# See the License for the specific language governing permissions and
16
+# limitations under the License.
17
+#
18
+
19
+##############################################################################
20
+##
21
+##  Gradle start up script for UN*X
22
+##
23
+##############################################################################
24
+
25
+# Attempt to set APP_HOME
26
+# Resolve links: $0 may be a link
27
+PRG="$0"
28
+# Need this for relative symlinks.
29
+while [ -h "$PRG" ] ; do
30
+    ls=`ls -ld "$PRG"`
31
+    link=`expr "$ls" : '.*-> \(.*\)$'`
32
+    if expr "$link" : '/.*' > /dev/null; then
33
+        PRG="$link"
34
+    else
35
+        PRG=`dirname "$PRG"`"/$link"
36
+    fi
37
+done
38
+SAVED="`pwd`"
39
+cd "`dirname \"$PRG\"`/" >/dev/null
40
+APP_HOME="`pwd -P`"
41
+cd "$SAVED" >/dev/null
42
+
43
+APP_NAME="Gradle"
44
+APP_BASE_NAME=`basename "$0"`
45
+
46
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48
+
49
+# Use the maximum available, or set MAX_FD != -1 to use that value.
50
+MAX_FD="maximum"
51
+
52
+warn () {
53
+    echo "$*"
54
+}
55
+
56
+die () {
57
+    echo
58
+    echo "$*"
59
+    echo
60
+    exit 1
61
+}
62
+
63
+# OS specific support (must be 'true' or 'false').
64
+cygwin=false
65
+msys=false
66
+darwin=false
67
+nonstop=false
68
+case "`uname`" in
69
+  CYGWIN* )
70
+    cygwin=true
71
+    ;;
72
+  Darwin* )
73
+    darwin=true
74
+    ;;
75
+  MINGW* )
76
+    msys=true
77
+    ;;
78
+  NONSTOP* )
79
+    nonstop=true
80
+    ;;
81
+esac
82
+
83
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84
+
85
+
86
+# Determine the Java command to use to start the JVM.
87
+if [ -n "$JAVA_HOME" ] ; then
88
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89
+        # IBM's JDK on AIX uses strange locations for the executables
90
+        JAVACMD="$JAVA_HOME/jre/sh/java"
91
+    else
92
+        JAVACMD="$JAVA_HOME/bin/java"
93
+    fi
94
+    if [ ! -x "$JAVACMD" ] ; then
95
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96
+
97
+Please set the JAVA_HOME variable in your environment to match the
98
+location of your Java installation."
99
+    fi
100
+else
101
+    JAVACMD="java"
102
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103
+
104
+Please set the JAVA_HOME variable in your environment to match the
105
+location of your Java installation."
106
+fi
107
+
108
+# Increase the maximum file descriptors if we can.
109
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110
+    MAX_FD_LIMIT=`ulimit -H -n`
111
+    if [ $? -eq 0 ] ; then
112
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113
+            MAX_FD="$MAX_FD_LIMIT"
114
+        fi
115
+        ulimit -n $MAX_FD
116
+        if [ $? -ne 0 ] ; then
117
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
118
+        fi
119
+    else
120
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121
+    fi
122
+fi
123
+
124
+# For Darwin, add options to specify how the application appears in the dock
125
+if $darwin; then
126
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127
+fi
128
+
129
+# For Cygwin or MSYS, switch paths to Windows format before running java
130
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133
+
134
+    JAVACMD=`cygpath --unix "$JAVACMD"`
135
+
136
+    # We build the pattern for arguments to be converted via cygpath
137
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138
+    SEP=""
139
+    for dir in $ROOTDIRSRAW ; do
140
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
141
+        SEP="|"
142
+    done
143
+    OURCYGPATTERN="(^($ROOTDIRS))"
144
+    # Add a user-defined pattern to the cygpath arguments
145
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147
+    fi
148
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
149
+    i=0
150
+    for arg in "$@" ; do
151
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
153
+
154
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
155
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156
+        else
157
+            eval `echo args$i`="\"$arg\""
158
+        fi
159
+        i=`expr $i + 1`
160
+    done
161
+    case $i in
162
+        0) set -- ;;
163
+        1) set -- "$args0" ;;
164
+        2) set -- "$args0" "$args1" ;;
165
+        3) set -- "$args0" "$args1" "$args2" ;;
166
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172
+    esac
173
+fi
174
+
175
+# Escape application args
176
+save () {
177
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178
+    echo " "
179
+}
180
+APP_ARGS=`save "$@"`
181
+
182
+# Collect all arguments for the java command, following the shell quoting and substitution rules
183
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184
+
185
+exec "$JAVACMD" "$@"

+ 89
- 0
gradlew.bat Vedi File

@@ -0,0 +1,89 @@
1
+@rem
2
+@rem Copyright 2015 the original author or authors.
3
+@rem
4
+@rem Licensed under the Apache License, Version 2.0 (the "License");
5
+@rem you may not use this file except in compliance with the License.
6
+@rem You may obtain a copy of the License at
7
+@rem
8
+@rem      https://www.apache.org/licenses/LICENSE-2.0
9
+@rem
10
+@rem Unless required by applicable law or agreed to in writing, software
11
+@rem distributed under the License is distributed on an "AS IS" BASIS,
12
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+@rem See the License for the specific language governing permissions and
14
+@rem limitations under the License.
15
+@rem
16
+
17
+@if "%DEBUG%" == "" @echo off
18
+@rem ##########################################################################
19
+@rem
20
+@rem  Gradle startup script for Windows
21
+@rem
22
+@rem ##########################################################################
23
+
24
+@rem Set local scope for the variables with windows NT shell
25
+if "%OS%"=="Windows_NT" setlocal
26
+
27
+set DIRNAME=%~dp0
28
+if "%DIRNAME%" == "" set DIRNAME=.
29
+set APP_BASE_NAME=%~n0
30
+set APP_HOME=%DIRNAME%
31
+
32
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
33
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34
+
35
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37
+
38
+@rem Find java.exe
39
+if defined JAVA_HOME goto findJavaFromJavaHome
40
+
41
+set JAVA_EXE=java.exe
42
+%JAVA_EXE% -version >NUL 2>&1
43
+if "%ERRORLEVEL%" == "0" goto execute
44
+
45
+echo.
46
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47
+echo.
48
+echo Please set the JAVA_HOME variable in your environment to match the
49
+echo location of your Java installation.
50
+
51
+goto fail
52
+
53
+:findJavaFromJavaHome
54
+set JAVA_HOME=%JAVA_HOME:"=%
55
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56
+
57
+if exist "%JAVA_EXE%" goto execute
58
+
59
+echo.
60
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61
+echo.
62
+echo Please set the JAVA_HOME variable in your environment to match the
63
+echo location of your Java installation.
64
+
65
+goto fail
66
+
67
+:execute
68
+@rem Setup the command line
69
+
70
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71
+
72
+
73
+@rem Execute Gradle
74
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75
+
76
+:end
77
+@rem End local scope for the variables with windows NT shell
78
+if "%ERRORLEVEL%"=="0" goto mainEnd
79
+
80
+:fail
81
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82
+rem the _cmd.exe /c_ return code!
83
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84
+exit /b 1
85
+
86
+:mainEnd
87
+if "%OS%"=="Windows_NT" endlocal
88
+
89
+:omega

+ 22
- 0
index.html Vedi File

@@ -0,0 +1,22 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+  <head>
4
+    <meta charset="UTF-8" />
5
+    <script>
6
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
7
+        CSS.supports('top: constant(a)'))
8
+      document.write(
9
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
10
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
11
+    </script>
12
+    <title></title>
13
+    <!--preload-links-->
14
+    <!--app-context-->
15
+  </head>
16
+  <body>
17
+    <div id="app"><!--app-html--></div>
18
+    <script type="module" src="/main.js">
19
+		
20
+	</script>
21
+  </body>
22
+</html>

+ 88
- 0
main.js Vedi File

@@ -0,0 +1,88 @@
1
+import App from './App'
2
+import Store from './store'
3
+// #ifndef VUE3
4
+import Vue from 'vue'
5
+import './uni.promisify.adaptor'
6
+Vue.config.productionTip = false
7
+App.mpType = 'app'
8
+const app = new Vue({
9
+  ...App
10
+})
11
+app.$mount()
12
+// #endif
13
+
14
+// #ifdef VUE3
15
+import { createSSRApp } from 'vue'
16
+// 导入你的语言文件
17
+import en from './en.json'
18
+import zhHans from './zh-Hans.json'
19
+import zhHant from './zh-Hant.json'
20
+const messages = {
21
+	en,
22
+	'zh-Hans': zhHans,
23
+	'zh-Hant': zhHant
24
+}
25
+
26
+let i18nConfig = {
27
+  locale: uni.getStorageSync('userLanguage') || 'zh-Hans',// 获取已设置的语言
28
+  messages
29
+}
30
+
31
+
32
+import { createI18n } from 'vue-i18n'// v9.x
33
+const i18n = createI18n(i18nConfig)
34
+export function createApp() {
35
+  const app = createSSRApp(App)
36
+  app.use(i18n)
37
+  app.use(Store) //新增的一行
38
+  return {
39
+    app
40
+  }
41
+}
42
+// #endif
43
+
44
+import { $http } from './api/http.js'
45
+// import { login } from './api/api'
46
+uni.$http = $http
47
+
48
+$http.baseUrl = ''
49
+// uni.$apiKey = 'xxxxxxxxx'
50
+// 请求开始之前
51
+$http.beforeRequest = function (options) {
52
+	// uni.showLoading({
53
+	//   title: '数据加载中...',
54
+	// })
55
+	// if(options.url!="http://10.168.4.100:80/api/v1/login"){
56
+	// console.log(options);
57
+	// 	if (!uni.getStorageSync('token')) {
58
+	// 		login().then(data => {
59
+	// 			// console.log(data);
60
+	// 			if (data.status == 'ok') {
61
+	// 				uni.setStorage({
62
+	// 					key: 'token',
63
+	// 					data: data.data.token,
64
+	// 					success: function(res) {
65
+	// 						console.log(res);
66
+	// 					}
67
+	// 				});
68
+					
69
+	// 			}else{
70
+	// 				uni.showToast({
71
+	// 				  title:data.msg,
72
+	// 				  icon: 'none',
73
+	// 				  duration: 2000, // 显示时长,单位为毫秒
74
+	// 				});
75
+	// 			}
76
+	// 		});
77
+	// 	}
78
+	// }
79
+	
80
+ 
81
+}
82
+ 
83
+// 请求完成之后
84
+$http.afterRequest = function () {
85
+  // uni.hideLoading()
86
+}
87
+
88
+ 

+ 192
- 0
manifest.json Vedi File

@@ -0,0 +1,192 @@
1
+{
2
+    "name" : "移动储能",
3
+    "appid" : "__UNI__8782431",
4
+    "description" : "",
5
+    "versionName" : "V2.0",
6
+    "versionCode" : 101,
7
+    "transformPx" : false,
8
+    /* 5+App特有相关 */
9
+    "app-plus" : {
10
+        "usingComponents" : true,
11
+        "universalApk" : true,
12
+        "nvueStyleCompiler" : "uni-app",
13
+        "renderer" : "auto",
14
+        "compilerVersion" : 3,
15
+        "titleNView" : false,
16
+        "ssl" : {
17
+            "untrustedca" : "refuse" //拒绝此非受信证书,停止访问;
18
+        },
19
+        "compatible" : {
20
+            "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
21
+        },
22
+        "splashscreen" : {
23
+            "alwaysShowBeforeRender" : true,
24
+            "waiting" : true,
25
+            "autoclose" : false,
26
+            "delay" : 0
27
+        },
28
+        "screenOrientation" : [ "landscape-primary" ],
29
+        /* 模块配置 */
30
+        "modules" : {
31
+            "Webview-x5" : {
32
+                "isSupport" : true
33
+            }
34
+        },
35
+        /* 应用发布信息 */
36
+        "distribute" : {
37
+            /* android打包配置 */
38
+            "android" : {
39
+                "permissions" : [
40
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
41
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
42
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
43
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
44
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
45
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
46
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
47
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
48
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
49
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
50
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
51
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
52
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
53
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
54
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
55
+                ],
56
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
57
+                "orientation" : "landscape"
58
+            },
59
+            "screenOrientation" : [ "landscape-primary" ],
60
+            /* ios打包配置 */
61
+            "ios" : {
62
+                "dSYMs" : false,
63
+                "idfa" : false
64
+            },
65
+            /* SDK配置 */
66
+            "sdkConfigs" : {
67
+                "ad" : {}
68
+            },
69
+            "splashscreen" : {
70
+                "androidStyle" : "default",
71
+                "android" : {
72
+                    "hdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green/static/log.png",
73
+                    "xhdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green/static/log.png",
74
+                    "xxhdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green\\static\\log.png"
75
+                }
76
+            },
77
+            "icons" : {
78
+                "android" : {
79
+                    "hdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green\\static\\appicons.png",
80
+                    "xhdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green\\static\\appicons.png",
81
+                    "xxhdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green\\static\\appicons.png",
82
+                    "xxxhdpi" : "D:\\project\\esswisdom_ipad\\esswisdom_ipad_V3M_green\\static\\appicons.png"
83
+                },
84
+                "ios" : {
85
+                    "appstore" : ""
86
+                }
87
+            }
88
+        },
89
+        "fullScreen" : true, // 全屏显示
90
+        "statusbar" : {
91
+            "immersive" : true, // 沉浸式状态栏
92
+            "immersiveStatus" : true, // 隐藏状态栏
93
+            "immersiveNavBar" : true // 隐藏导航栏
94
+        },
95
+        "nativePlugins" : {
96
+            "Fvv-AutoStart" : {
97
+                "__plugin_info__" : {
98
+                    "name" : "安卓开机自启动 Fvv-AutoStart",
99
+                    "description" : "uni-app 安卓开机自启动插件,不保证所有机型和系统都有效",
100
+                    "platforms" : "Android",
101
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=1820",
102
+                    "android_package_name" : "uni.UNI8782431",
103
+                    "ios_bundle_id" : "",
104
+                    "isCloud" : true,
105
+                    "bought" : 1,
106
+                    "pid" : "1820",
107
+                    "parameters" : {}
108
+                }
109
+            }
110
+        },
111
+        "uniStatistics" : {
112
+            "enable" : true
113
+        }
114
+    },
115
+    /* 快应用特有相关 */
116
+    "quickapp" : {},
117
+    /* 小程序特有相关 */
118
+    "mp-weixin" : {
119
+        "appid" : "",
120
+        "setting" : {
121
+            "urlCheck" : false
122
+        },
123
+        "usingComponents" : true
124
+    },
125
+    "mp-alipay" : {
126
+        "usingComponents" : true
127
+    },
128
+    "mp-baidu" : {
129
+        "usingComponents" : true
130
+    },
131
+    "mp-toutiao" : {
132
+        "usingComponents" : true
133
+    },
134
+    "uniStatistics" : {
135
+        "enable" : false,
136
+        "version" : "2"
137
+    },
138
+    "vueVersion" : "3",
139
+    "app" : {
140
+        "distribute" : {
141
+            "syncDebug" : true,
142
+            "android" : {
143
+                "packagename" : "uni.UNI8782431",
144
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
145
+                "minSdkVersion" : "21",
146
+                "targetSdkVersion" : "32",
147
+                "orientation" : "landscape"
148
+            },
149
+            "ios" : {
150
+                "appid" : "iOS Bundle ID"
151
+            }
152
+        }
153
+    },
154
+    "h5" : {
155
+        "devServer" : {
156
+            "port" : 80,
157
+            "proxy" : {
158
+                "/api" : {
159
+                    "target" : "http://10.168.1.100",
160
+                    "changeOrigin" : true,
161
+                    "pathRewrite" : {
162
+                        "^/api" : ""
163
+                    }
164
+                }
165
+            }
166
+        },
167
+        "template" : "index.html",
168
+        "router" : {
169
+            "mode" : "hash",
170
+            "base" : "/index/"
171
+        },
172
+        "unipush" : {
173
+            "enable" : false
174
+        },
175
+        "uniStatistics" : {
176
+            "enable" : true
177
+        }
178
+    },
179
+    "locale" : "zh-Hans",
180
+    "fallbackLocale" : "en"
181
+}
182
+// "port" : 5173,
183
+// "proxy" : {
184
+//     "/api" : {
185
+//         "target" : "http://192.168.137.100",
186
+//         "changeOrigin" : true,
187
+//         "pathRewrite" : {
188
+//             "^/api" : ""
189
+//         }
190
+//     }
191
+// }
192
+

+ 16
- 0
node_modules/.bin/nanoid Vedi File

@@ -0,0 +1,16 @@
1
+#!/bin/sh
2
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+case `uname` in
5
+    *CYGWIN*|*MINGW*|*MSYS*)
6
+        if command -v cygpath > /dev/null 2>&1; then
7
+            basedir=`cygpath -w "$basedir"`
8
+        fi
9
+    ;;
10
+esac
11
+
12
+if [ -x "$basedir/node" ]; then
13
+  exec "$basedir/node"  "$basedir/../nanoid/bin/nanoid.cjs" "$@"
14
+else 
15
+  exec node  "$basedir/../nanoid/bin/nanoid.cjs" "$@"
16
+fi

+ 17
- 0
node_modules/.bin/nanoid.cmd Vedi File

@@ -0,0 +1,17 @@
1
+@ECHO off
2
+GOTO start
3
+:find_dp0
4
+SET dp0=%~dp0
5
+EXIT /b
6
+:start
7
+SETLOCAL
8
+CALL :find_dp0
9
+
10
+IF EXIST "%dp0%\node.exe" (
11
+  SET "_prog=%dp0%\node.exe"
12
+) ELSE (
13
+  SET "_prog=node"
14
+  SET PATHEXT=%PATHEXT:;.JS;=;%
15
+)
16
+
17
+endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%"  "%dp0%\..\nanoid\bin\nanoid.cjs" %*

+ 28
- 0
node_modules/.bin/nanoid.ps1 Vedi File

@@ -0,0 +1,28 @@
1
+#!/usr/bin/env pwsh
2
+$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+$exe=""
5
+if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
+  # Fix case when both the Windows and Linux builds of Node
7
+  # are installed in the same directory
8
+  $exe=".exe"
9
+}
10
+$ret=0
11
+if (Test-Path "$basedir/node$exe") {
12
+  # Support pipeline input
13
+  if ($MyInvocation.ExpectingInput) {
14
+    $input | & "$basedir/node$exe"  "$basedir/../nanoid/bin/nanoid.cjs" $args
15
+  } else {
16
+    & "$basedir/node$exe"  "$basedir/../nanoid/bin/nanoid.cjs" $args
17
+  }
18
+  $ret=$LASTEXITCODE
19
+} else {
20
+  # Support pipeline input
21
+  if ($MyInvocation.ExpectingInput) {
22
+    $input | & "node$exe"  "$basedir/../nanoid/bin/nanoid.cjs" $args
23
+  } else {
24
+    & "node$exe"  "$basedir/../nanoid/bin/nanoid.cjs" $args
25
+  }
26
+  $ret=$LASTEXITCODE
27
+}
28
+exit $ret

+ 16
- 0
node_modules/.bin/parser Vedi File

@@ -0,0 +1,16 @@
1
+#!/bin/sh
2
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+case `uname` in
5
+    *CYGWIN*|*MINGW*|*MSYS*)
6
+        if command -v cygpath > /dev/null 2>&1; then
7
+            basedir=`cygpath -w "$basedir"`
8
+        fi
9
+    ;;
10
+esac
11
+
12
+if [ -x "$basedir/node" ]; then
13
+  exec "$basedir/node"  "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
14
+else 
15
+  exec node  "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
16
+fi

+ 17
- 0
node_modules/.bin/parser.cmd Vedi File

@@ -0,0 +1,17 @@
1
+@ECHO off
2
+GOTO start
3
+:find_dp0
4
+SET dp0=%~dp0
5
+EXIT /b
6
+:start
7
+SETLOCAL
8
+CALL :find_dp0
9
+
10
+IF EXIST "%dp0%\node.exe" (
11
+  SET "_prog=%dp0%\node.exe"
12
+) ELSE (
13
+  SET "_prog=node"
14
+  SET PATHEXT=%PATHEXT:;.JS;=;%
15
+)
16
+
17
+endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%"  "%dp0%\..\@babel\parser\bin\babel-parser.js" %*

+ 28
- 0
node_modules/.bin/parser.ps1 Vedi File

@@ -0,0 +1,28 @@
1
+#!/usr/bin/env pwsh
2
+$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+$exe=""
5
+if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
+  # Fix case when both the Windows and Linux builds of Node
7
+  # are installed in the same directory
8
+  $exe=".exe"
9
+}
10
+$ret=0
11
+if (Test-Path "$basedir/node$exe") {
12
+  # Support pipeline input
13
+  if ($MyInvocation.ExpectingInput) {
14
+    $input | & "$basedir/node$exe"  "$basedir/../@babel/parser/bin/babel-parser.js" $args
15
+  } else {
16
+    & "$basedir/node$exe"  "$basedir/../@babel/parser/bin/babel-parser.js" $args
17
+  }
18
+  $ret=$LASTEXITCODE
19
+} else {
20
+  # Support pipeline input
21
+  if ($MyInvocation.ExpectingInput) {
22
+    $input | & "node$exe"  "$basedir/../@babel/parser/bin/babel-parser.js" $args
23
+  } else {
24
+    & "node$exe"  "$basedir/../@babel/parser/bin/babel-parser.js" $args
25
+  }
26
+  $ret=$LASTEXITCODE
27
+}
28
+exit $ret

+ 360
- 0
node_modules/.package-lock.json Vedi File

@@ -0,0 +1,360 @@
1
+{
2
+    "name": "仪表盘或者环形进度条",
3
+    "version": "1.0.3",
4
+    "lockfileVersion": 3,
5
+    "requires": true,
6
+    "packages": {
7
+        "node_modules/@babel/helper-string-parser": {
8
+            "version": "7.24.8",
9
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
10
+            "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
11
+            "peer": true,
12
+            "engines": {
13
+                "node": ">=6.9.0"
14
+            }
15
+        },
16
+        "node_modules/@babel/helper-validator-identifier": {
17
+            "version": "7.24.7",
18
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
19
+            "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
20
+            "peer": true,
21
+            "engines": {
22
+                "node": ">=6.9.0"
23
+            }
24
+        },
25
+        "node_modules/@babel/parser": {
26
+            "version": "7.25.3",
27
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
28
+            "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
29
+            "peer": true,
30
+            "dependencies": {
31
+                "@babel/types": "^7.25.2"
32
+            },
33
+            "bin": {
34
+                "parser": "bin/babel-parser.js"
35
+            },
36
+            "engines": {
37
+                "node": ">=6.0.0"
38
+            }
39
+        },
40
+        "node_modules/@babel/types": {
41
+            "version": "7.25.2",
42
+            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
43
+            "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
44
+            "peer": true,
45
+            "dependencies": {
46
+                "@babel/helper-string-parser": "^7.24.8",
47
+                "@babel/helper-validator-identifier": "^7.24.7",
48
+                "to-fast-properties": "^2.0.0"
49
+            },
50
+            "engines": {
51
+                "node": ">=6.9.0"
52
+            }
53
+        },
54
+        "node_modules/@intlify/core-base": {
55
+            "version": "9.14.0",
56
+            "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.14.0.tgz",
57
+            "integrity": "sha512-zJn0imh9HIsZZUtt9v8T16PeVstPv6bP2YzlrYJwoF8F30gs4brZBwW2KK6EI5WYKFi3NeqX6+UU4gniz5TkGg==",
58
+            "dependencies": {
59
+                "@intlify/message-compiler": "9.14.0",
60
+                "@intlify/shared": "9.14.0"
61
+            },
62
+            "engines": {
63
+                "node": ">= 16"
64
+            },
65
+            "funding": {
66
+                "url": "https://github.com/sponsors/kazupon"
67
+            }
68
+        },
69
+        "node_modules/@intlify/message-compiler": {
70
+            "version": "9.14.0",
71
+            "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.14.0.tgz",
72
+            "integrity": "sha512-sXNsoMI0YsipSXW8SR75drmVK56tnJHoYbPXUv2Cf9lz6FzvwsosFm6JtC1oQZI/kU+n7qx0qRrEWkeYFTgETA==",
73
+            "dependencies": {
74
+                "@intlify/shared": "9.14.0",
75
+                "source-map-js": "^1.0.2"
76
+            },
77
+            "engines": {
78
+                "node": ">= 16"
79
+            },
80
+            "funding": {
81
+                "url": "https://github.com/sponsors/kazupon"
82
+            }
83
+        },
84
+        "node_modules/@intlify/shared": {
85
+            "version": "9.14.0",
86
+            "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.14.0.tgz",
87
+            "integrity": "sha512-r+N8KRQL7LgN1TMTs1A2svfuAU0J94Wu9wWdJVJqYsoMMLIeJxrPjazihfHpmJqfgZq0ah3Y9Q4pgWV2O90Fyg==",
88
+            "engines": {
89
+                "node": ">= 16"
90
+            },
91
+            "funding": {
92
+                "url": "https://github.com/sponsors/kazupon"
93
+            }
94
+        },
95
+        "node_modules/@jridgewell/sourcemap-codec": {
96
+            "version": "1.5.0",
97
+            "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
98
+            "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
99
+            "peer": true
100
+        },
101
+        "node_modules/@vue/compiler-core": {
102
+            "version": "3.4.37",
103
+            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.37.tgz",
104
+            "integrity": "sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==",
105
+            "peer": true,
106
+            "dependencies": {
107
+                "@babel/parser": "^7.24.7",
108
+                "@vue/shared": "3.4.37",
109
+                "entities": "^5.0.0",
110
+                "estree-walker": "^2.0.2",
111
+                "source-map-js": "^1.2.0"
112
+            }
113
+        },
114
+        "node_modules/@vue/compiler-dom": {
115
+            "version": "3.4.37",
116
+            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.37.tgz",
117
+            "integrity": "sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==",
118
+            "peer": true,
119
+            "dependencies": {
120
+                "@vue/compiler-core": "3.4.37",
121
+                "@vue/shared": "3.4.37"
122
+            }
123
+        },
124
+        "node_modules/@vue/compiler-sfc": {
125
+            "version": "3.4.37",
126
+            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.37.tgz",
127
+            "integrity": "sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==",
128
+            "peer": true,
129
+            "dependencies": {
130
+                "@babel/parser": "^7.24.7",
131
+                "@vue/compiler-core": "3.4.37",
132
+                "@vue/compiler-dom": "3.4.37",
133
+                "@vue/compiler-ssr": "3.4.37",
134
+                "@vue/shared": "3.4.37",
135
+                "estree-walker": "^2.0.2",
136
+                "magic-string": "^0.30.10",
137
+                "postcss": "^8.4.40",
138
+                "source-map-js": "^1.2.0"
139
+            }
140
+        },
141
+        "node_modules/@vue/compiler-ssr": {
142
+            "version": "3.4.37",
143
+            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.37.tgz",
144
+            "integrity": "sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==",
145
+            "peer": true,
146
+            "dependencies": {
147
+                "@vue/compiler-dom": "3.4.37",
148
+                "@vue/shared": "3.4.37"
149
+            }
150
+        },
151
+        "node_modules/@vue/devtools-api": {
152
+            "version": "6.6.3",
153
+            "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
154
+            "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
155
+        },
156
+        "node_modules/@vue/reactivity": {
157
+            "version": "3.4.37",
158
+            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.37.tgz",
159
+            "integrity": "sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==",
160
+            "peer": true,
161
+            "dependencies": {
162
+                "@vue/shared": "3.4.37"
163
+            }
164
+        },
165
+        "node_modules/@vue/runtime-core": {
166
+            "version": "3.4.37",
167
+            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.37.tgz",
168
+            "integrity": "sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==",
169
+            "peer": true,
170
+            "dependencies": {
171
+                "@vue/reactivity": "3.4.37",
172
+                "@vue/shared": "3.4.37"
173
+            }
174
+        },
175
+        "node_modules/@vue/runtime-dom": {
176
+            "version": "3.4.37",
177
+            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.37.tgz",
178
+            "integrity": "sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==",
179
+            "peer": true,
180
+            "dependencies": {
181
+                "@vue/reactivity": "3.4.37",
182
+                "@vue/runtime-core": "3.4.37",
183
+                "@vue/shared": "3.4.37",
184
+                "csstype": "^3.1.3"
185
+            }
186
+        },
187
+        "node_modules/@vue/server-renderer": {
188
+            "version": "3.4.37",
189
+            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.37.tgz",
190
+            "integrity": "sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==",
191
+            "peer": true,
192
+            "dependencies": {
193
+                "@vue/compiler-ssr": "3.4.37",
194
+                "@vue/shared": "3.4.37"
195
+            },
196
+            "peerDependencies": {
197
+                "vue": "3.4.37"
198
+            }
199
+        },
200
+        "node_modules/@vue/shared": {
201
+            "version": "3.4.37",
202
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.37.tgz",
203
+            "integrity": "sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==",
204
+            "peer": true
205
+        },
206
+        "node_modules/csstype": {
207
+            "version": "3.1.3",
208
+            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
209
+            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
210
+            "peer": true
211
+        },
212
+        "node_modules/entities": {
213
+            "version": "5.0.0",
214
+            "resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz",
215
+            "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==",
216
+            "peer": true,
217
+            "engines": {
218
+                "node": ">=0.12"
219
+            },
220
+            "funding": {
221
+                "url": "https://github.com/fb55/entities?sponsor=1"
222
+            }
223
+        },
224
+        "node_modules/estree-walker": {
225
+            "version": "2.0.2",
226
+            "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
227
+            "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
228
+            "peer": true
229
+        },
230
+        "node_modules/magic-string": {
231
+            "version": "0.30.11",
232
+            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
233
+            "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
234
+            "peer": true,
235
+            "dependencies": {
236
+                "@jridgewell/sourcemap-codec": "^1.5.0"
237
+            }
238
+        },
239
+        "node_modules/nanoid": {
240
+            "version": "3.3.7",
241
+            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
242
+            "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
243
+            "funding": [
244
+                {
245
+                    "type": "github",
246
+                    "url": "https://github.com/sponsors/ai"
247
+                }
248
+            ],
249
+            "peer": true,
250
+            "bin": {
251
+                "nanoid": "bin/nanoid.cjs"
252
+            },
253
+            "engines": {
254
+                "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
255
+            }
256
+        },
257
+        "node_modules/picocolors": {
258
+            "version": "1.0.1",
259
+            "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
260
+            "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
261
+            "peer": true
262
+        },
263
+        "node_modules/postcss": {
264
+            "version": "8.4.41",
265
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
266
+            "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
267
+            "funding": [
268
+                {
269
+                    "type": "opencollective",
270
+                    "url": "https://opencollective.com/postcss/"
271
+                },
272
+                {
273
+                    "type": "tidelift",
274
+                    "url": "https://tidelift.com/funding/github/npm/postcss"
275
+                },
276
+                {
277
+                    "type": "github",
278
+                    "url": "https://github.com/sponsors/ai"
279
+                }
280
+            ],
281
+            "peer": true,
282
+            "dependencies": {
283
+                "nanoid": "^3.3.7",
284
+                "picocolors": "^1.0.1",
285
+                "source-map-js": "^1.2.0"
286
+            },
287
+            "engines": {
288
+                "node": "^10 || ^12 || >=14"
289
+            }
290
+        },
291
+        "node_modules/source-map-js": {
292
+            "version": "1.2.0",
293
+            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
294
+            "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
295
+            "engines": {
296
+                "node": ">=0.10.0"
297
+            }
298
+        },
299
+        "node_modules/to-fast-properties": {
300
+            "version": "2.0.0",
301
+            "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
302
+            "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
303
+            "peer": true,
304
+            "engines": {
305
+                "node": ">=4"
306
+            }
307
+        },
308
+        "node_modules/vue": {
309
+            "version": "3.4.37",
310
+            "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.37.tgz",
311
+            "integrity": "sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==",
312
+            "peer": true,
313
+            "dependencies": {
314
+                "@vue/compiler-dom": "3.4.37",
315
+                "@vue/compiler-sfc": "3.4.37",
316
+                "@vue/runtime-dom": "3.4.37",
317
+                "@vue/server-renderer": "3.4.37",
318
+                "@vue/shared": "3.4.37"
319
+            },
320
+            "peerDependencies": {
321
+                "typescript": "*"
322
+            },
323
+            "peerDependenciesMeta": {
324
+                "typescript": {
325
+                    "optional": true
326
+                }
327
+            }
328
+        },
329
+        "node_modules/vue-i18n": {
330
+            "version": "9.14.0",
331
+            "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.14.0.tgz",
332
+            "integrity": "sha512-LxmpRuCt2rI8gqU+kxeflRZMQn4D5+4M3oP3PWZdowW/ePJraHqhF7p4CuaME52mUxdw3Mmy2yAUKgfZYgCRjA==",
333
+            "dependencies": {
334
+                "@intlify/core-base": "9.14.0",
335
+                "@intlify/shared": "9.14.0",
336
+                "@vue/devtools-api": "^6.5.0"
337
+            },
338
+            "engines": {
339
+                "node": ">= 16"
340
+            },
341
+            "funding": {
342
+                "url": "https://github.com/sponsors/kazupon"
343
+            },
344
+            "peerDependencies": {
345
+                "vue": "^3.0.0"
346
+            }
347
+        },
348
+        "node_modules/vuex": {
349
+            "version": "4.1.0",
350
+            "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
351
+            "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
352
+            "dependencies": {
353
+                "@vue/devtools-api": "^6.0.0-beta.11"
354
+            },
355
+            "peerDependencies": {
356
+                "vue": "^3.2.0"
357
+            }
358
+        }
359
+    }
360
+}

+ 120
- 0
node_modules/.vue-global-types/vue_3.3_false.d.ts Vedi File

@@ -0,0 +1,120 @@
1
+// @ts-nocheck
2
+export {};
3
+
4
+; declare module 'vue' {
5
+	export interface GlobalComponents { }
6
+	export interface GlobalDirectives { }
7
+}
8
+; declare global {
9
+	const __VLS_intrinsicElements: __VLS_IntrinsicElements;
10
+	const __VLS_directiveBindingRestFields: { instance: null, oldValue: null, modifiers: any, dir: any };
11
+	const __VLS_unref: typeof import('vue').unref;
12
+
13
+	const __VLS_nativeElements = {
14
+		...{} as SVGElementTagNameMap,
15
+		...{} as HTMLElementTagNameMap,
16
+	};
17
+
18
+	type __VLS_IntrinsicElements = import('vue/jsx-runtime').JSX.IntrinsicElements;
19
+	type __VLS_Element = import('vue/jsx-runtime').JSX.Element;
20
+	type __VLS_GlobalComponents = import('vue').GlobalComponents & Pick<typeof import('vue'), 'Transition' | 'TransitionGroup' | 'KeepAlive' | 'Suspense' | 'Teleport'>;
21
+	type __VLS_GlobalDirectives = import('vue').GlobalDirectives;
22
+	type __VLS_IsAny<T> = 0 extends 1 & T ? true : false;
23
+	type __VLS_PickNotAny<A, B> = __VLS_IsAny<A> extends true ? B : A;
24
+	type __VLS_unknownDirective = (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void;
25
+	type __VLS_WithComponent<N0 extends string, LocalComponents, N1 extends string, N2 extends string, N3 extends string> =
26
+		N1 extends keyof LocalComponents ? N1 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : { [K in N0]: LocalComponents[N1] } :
27
+		N2 extends keyof LocalComponents ? N2 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : { [K in N0]: LocalComponents[N2] } :
28
+		N3 extends keyof LocalComponents ? N3 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : { [K in N0]: LocalComponents[N3] } :
29
+		N1 extends keyof __VLS_GlobalComponents ? N1 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N1] } :
30
+		N2 extends keyof __VLS_GlobalComponents ? N2 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N2] } :
31
+		N3 extends keyof __VLS_GlobalComponents ? N3 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N3] } :
32
+		{ [K in N0]: unknown }
33
+	type __VLS_FunctionalComponentProps<T, K> =
34
+		'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
35
+		: T extends (props: infer P, ...args: any) => any ? P :
36
+		{};
37
+	type __VLS_IsFunction<T, K> = K extends keyof T
38
+		? __VLS_IsAny<T[K]> extends false
39
+		? unknown extends T[K]
40
+		? false
41
+		: true
42
+		: false
43
+		: false;
44
+	// fix https://github.com/vuejs/language-tools/issues/926
45
+	type __VLS_UnionToIntersection<U> = (U extends unknown ? (arg: U) => unknown : never) extends ((arg: infer P) => unknown) ? P : never;
46
+	type __VLS_OverloadUnionInner<T, U = unknown> = U & T extends (...args: infer A) => infer R
47
+		? U extends T
48
+		? never
49
+		: __VLS_OverloadUnionInner<T, Pick<T, keyof T> & U & ((...args: A) => R)> | ((...args: A) => R)
50
+		: never;
51
+	type __VLS_OverloadUnion<T> = Exclude<
52
+		__VLS_OverloadUnionInner<(() => never) & T>,
53
+		T extends () => never ? never : () => never
54
+	>;
55
+	type __VLS_ConstructorOverloads<T> = __VLS_OverloadUnion<T> extends infer F
56
+		? F extends (event: infer E, ...args: infer A) => any
57
+		? { [K in E & string]: (...args: A) => void; }
58
+		: never
59
+		: never;
60
+	type __VLS_NormalizeEmits<T> = __VLS_PrettifyGlobal<
61
+		__VLS_UnionToIntersection<
62
+			__VLS_ConstructorOverloads<T> & {
63
+				[K in keyof T]: T[K] extends any[] ? { (...args: T[K]): void } : never
64
+			}
65
+		>
66
+	>;
67
+	type __VLS_PrettifyGlobal<T> = { [K in keyof T]: T[K]; } & {};
68
+
69
+	function __VLS_getVForSourceType(source: number): [number, number, number][];
70
+	function __VLS_getVForSourceType(source: string): [string, number, number][];
71
+	function __VLS_getVForSourceType<T extends any[]>(source: T): [
72
+		item: T[number],
73
+		key: number,
74
+		index: number,
75
+	][];
76
+	function __VLS_getVForSourceType<T extends { [Symbol.iterator](): Iterator<any> }>(source: T): [
77
+		item: T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never, 
78
+		key: number,
79
+		index: undefined,
80
+	][];
81
+	// #3845
82
+	function __VLS_getVForSourceType<T extends number | { [Symbol.iterator](): Iterator<any> }>(source: T): [
83
+		item: number | (Exclude<T, number> extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never), 
84
+		key: number,
85
+		index: undefined,
86
+	][];
87
+	function __VLS_getVForSourceType<T>(source: T): [
88
+		item: T[keyof T],
89
+		key: keyof T,
90
+		index: number,
91
+	][];
92
+	// @ts-ignore
93
+	function __VLS_getSlotParams<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>;
94
+	// @ts-ignore
95
+	function __VLS_getSlotParam<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>[0];
96
+	function __VLS_directiveAsFunction<T extends import('vue').Directive>(dir: T): T extends (...args: any) => any
97
+		? T | __VLS_unknownDirective
98
+		: NonNullable<(T & Record<string, __VLS_unknownDirective>)['created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted']>;
99
+	function __VLS_withScope<T, K>(ctx: T, scope: K): ctx is T & K;
100
+	function __VLS_makeOptional<T>(t: T): { [K in keyof T]?: T[K] };
101
+	function __VLS_nonNullable<T>(t: T): T extends null | undefined ? never : T;
102
+	function __VLS_asFunctionalComponent<T, K = T extends new (...args: any) => any ? InstanceType<T> : unknown>(t: T, instance?: K):
103
+		T extends new (...args: any) => any
104
+		? (props: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>, ctx?: any) => __VLS_Element & { __ctx?: {
105
+			attrs?: any,
106
+			slots?: K extends { $slots: infer Slots } ? Slots : any,
107
+			emit?: K extends { $emit: infer Emit } ? Emit : any
108
+		} & { props?: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>; expose?(exposed: K): void; } }
109
+		: T extends () => any ? (props: {}, ctx?: any) => ReturnType<T>
110
+		: T extends (...args: any) => any ? T
111
+		: (_: {} & Record<string, unknown>, ctx?: any) => { __ctx?: { attrs?: any, expose?: any, slots?: any, emit?: any, props?: {} & Record<string, unknown> } };
112
+	function __VLS_elementAsFunction<T>(tag: T, endTag?: T): (_: T & Record<string, unknown>) => void;
113
+	function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
114
+	function __VLS_pickFunctionalComponentCtx<T, K>(comp: T, compInstance: K): NonNullable<__VLS_PickNotAny<
115
+		'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? Ctx : never : any
116
+		, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
117
+	>>;
118
+	function __VLS_normalizeSlot<S>(s: S): S extends () => infer R ? (props: {}) => R : S;
119
+	function __VLS_tryAsConstant<const T>(t: T): T;
120
+}

+ 22
- 0
node_modules/@babel/helper-string-parser/LICENSE Vedi File

@@ -0,0 +1,22 @@
1
+MIT License
2
+
3
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining
6
+a copy of this software and associated documentation files (the
7
+"Software"), to deal in the Software without restriction, including
8
+without limitation the rights to use, copy, modify, merge, publish,
9
+distribute, sublicense, and/or sell copies of the Software, and to
10
+permit persons to whom the Software is furnished to do so, subject to
11
+the following conditions:
12
+
13
+The above copyright notice and this permission notice shall be
14
+included in all copies or substantial portions of the Software.
15
+
16
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 19
- 0
node_modules/@babel/helper-string-parser/README.md Vedi File

@@ -0,0 +1,19 @@
1
+# @babel/helper-string-parser
2
+
3
+> A utility package to parse strings
4
+
5
+See our website [@babel/helper-string-parser](https://babeljs.io/docs/babel-helper-string-parser) for more information.
6
+
7
+## Install
8
+
9
+Using npm:
10
+
11
+```sh
12
+npm install --save @babel/helper-string-parser
13
+```
14
+
15
+or using yarn:
16
+
17
+```sh
18
+yarn add @babel/helper-string-parser
19
+```

+ 295
- 0
node_modules/@babel/helper-string-parser/lib/index.js Vedi File

@@ -0,0 +1,295 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.readCodePoint = readCodePoint;
7
+exports.readInt = readInt;
8
+exports.readStringContents = readStringContents;
9
+var _isDigit = function isDigit(code) {
10
+  return code >= 48 && code <= 57;
11
+};
12
+const forbiddenNumericSeparatorSiblings = {
13
+  decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
14
+  hex: new Set([46, 88, 95, 120])
15
+};
16
+const isAllowedNumericSeparatorSibling = {
17
+  bin: ch => ch === 48 || ch === 49,
18
+  oct: ch => ch >= 48 && ch <= 55,
19
+  dec: ch => ch >= 48 && ch <= 57,
20
+  hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
21
+};
22
+function readStringContents(type, input, pos, lineStart, curLine, errors) {
23
+  const initialPos = pos;
24
+  const initialLineStart = lineStart;
25
+  const initialCurLine = curLine;
26
+  let out = "";
27
+  let firstInvalidLoc = null;
28
+  let chunkStart = pos;
29
+  const {
30
+    length
31
+  } = input;
32
+  for (;;) {
33
+    if (pos >= length) {
34
+      errors.unterminated(initialPos, initialLineStart, initialCurLine);
35
+      out += input.slice(chunkStart, pos);
36
+      break;
37
+    }
38
+    const ch = input.charCodeAt(pos);
39
+    if (isStringEnd(type, ch, input, pos)) {
40
+      out += input.slice(chunkStart, pos);
41
+      break;
42
+    }
43
+    if (ch === 92) {
44
+      out += input.slice(chunkStart, pos);
45
+      const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
46
+      if (res.ch === null && !firstInvalidLoc) {
47
+        firstInvalidLoc = {
48
+          pos,
49
+          lineStart,
50
+          curLine
51
+        };
52
+      } else {
53
+        out += res.ch;
54
+      }
55
+      ({
56
+        pos,
57
+        lineStart,
58
+        curLine
59
+      } = res);
60
+      chunkStart = pos;
61
+    } else if (ch === 8232 || ch === 8233) {
62
+      ++pos;
63
+      ++curLine;
64
+      lineStart = pos;
65
+    } else if (ch === 10 || ch === 13) {
66
+      if (type === "template") {
67
+        out += input.slice(chunkStart, pos) + "\n";
68
+        ++pos;
69
+        if (ch === 13 && input.charCodeAt(pos) === 10) {
70
+          ++pos;
71
+        }
72
+        ++curLine;
73
+        chunkStart = lineStart = pos;
74
+      } else {
75
+        errors.unterminated(initialPos, initialLineStart, initialCurLine);
76
+      }
77
+    } else {
78
+      ++pos;
79
+    }
80
+  }
81
+  return {
82
+    pos,
83
+    str: out,
84
+    firstInvalidLoc,
85
+    lineStart,
86
+    curLine,
87
+    containsInvalid: !!firstInvalidLoc
88
+  };
89
+}
90
+function isStringEnd(type, ch, input, pos) {
91
+  if (type === "template") {
92
+    return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
93
+  }
94
+  return ch === (type === "double" ? 34 : 39);
95
+}
96
+function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
97
+  const throwOnInvalid = !inTemplate;
98
+  pos++;
99
+  const res = ch => ({
100
+    pos,
101
+    ch,
102
+    lineStart,
103
+    curLine
104
+  });
105
+  const ch = input.charCodeAt(pos++);
106
+  switch (ch) {
107
+    case 110:
108
+      return res("\n");
109
+    case 114:
110
+      return res("\r");
111
+    case 120:
112
+      {
113
+        let code;
114
+        ({
115
+          code,
116
+          pos
117
+        } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
118
+        return res(code === null ? null : String.fromCharCode(code));
119
+      }
120
+    case 117:
121
+      {
122
+        let code;
123
+        ({
124
+          code,
125
+          pos
126
+        } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
127
+        return res(code === null ? null : String.fromCodePoint(code));
128
+      }
129
+    case 116:
130
+      return res("\t");
131
+    case 98:
132
+      return res("\b");
133
+    case 118:
134
+      return res("\u000b");
135
+    case 102:
136
+      return res("\f");
137
+    case 13:
138
+      if (input.charCodeAt(pos) === 10) {
139
+        ++pos;
140
+      }
141
+    case 10:
142
+      lineStart = pos;
143
+      ++curLine;
144
+    case 8232:
145
+    case 8233:
146
+      return res("");
147
+    case 56:
148
+    case 57:
149
+      if (inTemplate) {
150
+        return res(null);
151
+      } else {
152
+        errors.strictNumericEscape(pos - 1, lineStart, curLine);
153
+      }
154
+    default:
155
+      if (ch >= 48 && ch <= 55) {
156
+        const startPos = pos - 1;
157
+        const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));
158
+        let octalStr = match[0];
159
+        let octal = parseInt(octalStr, 8);
160
+        if (octal > 255) {
161
+          octalStr = octalStr.slice(0, -1);
162
+          octal = parseInt(octalStr, 8);
163
+        }
164
+        pos += octalStr.length - 1;
165
+        const next = input.charCodeAt(pos);
166
+        if (octalStr !== "0" || next === 56 || next === 57) {
167
+          if (inTemplate) {
168
+            return res(null);
169
+          } else {
170
+            errors.strictNumericEscape(startPos, lineStart, curLine);
171
+          }
172
+        }
173
+        return res(String.fromCharCode(octal));
174
+      }
175
+      return res(String.fromCharCode(ch));
176
+  }
177
+}
178
+function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
179
+  const initialPos = pos;
180
+  let n;
181
+  ({
182
+    n,
183
+    pos
184
+  } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
185
+  if (n === null) {
186
+    if (throwOnInvalid) {
187
+      errors.invalidEscapeSequence(initialPos, lineStart, curLine);
188
+    } else {
189
+      pos = initialPos - 1;
190
+    }
191
+  }
192
+  return {
193
+    code: n,
194
+    pos
195
+  };
196
+}
197
+function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
198
+  const start = pos;
199
+  const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
200
+  const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
201
+  let invalid = false;
202
+  let total = 0;
203
+  for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
204
+    const code = input.charCodeAt(pos);
205
+    let val;
206
+    if (code === 95 && allowNumSeparator !== "bail") {
207
+      const prev = input.charCodeAt(pos - 1);
208
+      const next = input.charCodeAt(pos + 1);
209
+      if (!allowNumSeparator) {
210
+        if (bailOnError) return {
211
+          n: null,
212
+          pos
213
+        };
214
+        errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
215
+      } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
216
+        if (bailOnError) return {
217
+          n: null,
218
+          pos
219
+        };
220
+        errors.unexpectedNumericSeparator(pos, lineStart, curLine);
221
+      }
222
+      ++pos;
223
+      continue;
224
+    }
225
+    if (code >= 97) {
226
+      val = code - 97 + 10;
227
+    } else if (code >= 65) {
228
+      val = code - 65 + 10;
229
+    } else if (_isDigit(code)) {
230
+      val = code - 48;
231
+    } else {
232
+      val = Infinity;
233
+    }
234
+    if (val >= radix) {
235
+      if (val <= 9 && bailOnError) {
236
+        return {
237
+          n: null,
238
+          pos
239
+        };
240
+      } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
241
+        val = 0;
242
+      } else if (forceLen) {
243
+        val = 0;
244
+        invalid = true;
245
+      } else {
246
+        break;
247
+      }
248
+    }
249
+    ++pos;
250
+    total = total * radix + val;
251
+  }
252
+  if (pos === start || len != null && pos - start !== len || invalid) {
253
+    return {
254
+      n: null,
255
+      pos
256
+    };
257
+  }
258
+  return {
259
+    n: total,
260
+    pos
261
+  };
262
+}
263
+function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
264
+  const ch = input.charCodeAt(pos);
265
+  let code;
266
+  if (ch === 123) {
267
+    ++pos;
268
+    ({
269
+      code,
270
+      pos
271
+    } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
272
+    ++pos;
273
+    if (code !== null && code > 0x10ffff) {
274
+      if (throwOnInvalid) {
275
+        errors.invalidCodePoint(pos, lineStart, curLine);
276
+      } else {
277
+        return {
278
+          code: null,
279
+          pos
280
+        };
281
+      }
282
+    }
283
+  } else {
284
+    ({
285
+      code,
286
+      pos
287
+    } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
288
+  }
289
+  return {
290
+    code,
291
+    pos
292
+  };
293
+}
294
+
295
+//# sourceMappingURL=index.js.map

+ 1
- 0
node_modules/@babel/helper-string-parser/lib/index.js.map
File diff soppresso perché troppo grande
Vedi File


+ 31
- 0
node_modules/@babel/helper-string-parser/package.json Vedi File

@@ -0,0 +1,31 @@
1
+{
2
+  "name": "@babel/helper-string-parser",
3
+  "version": "7.24.8",
4
+  "description": "A utility package to parse strings",
5
+  "repository": {
6
+    "type": "git",
7
+    "url": "https://github.com/babel/babel.git",
8
+    "directory": "packages/babel-helper-string-parser"
9
+  },
10
+  "homepage": "https://babel.dev/docs/en/next/babel-helper-string-parser",
11
+  "license": "MIT",
12
+  "publishConfig": {
13
+    "access": "public"
14
+  },
15
+  "main": "./lib/index.js",
16
+  "devDependencies": {
17
+    "charcodes": "^0.2.0"
18
+  },
19
+  "engines": {
20
+    "node": ">=6.9.0"
21
+  },
22
+  "author": "The Babel Team (https://babel.dev/team)",
23
+  "exports": {
24
+    ".": {
25
+      "types": "./lib/index.d.ts",
26
+      "default": "./lib/index.js"
27
+    },
28
+    "./package.json": "./package.json"
29
+  },
30
+  "type": "commonjs"
31
+}

+ 22
- 0
node_modules/@babel/helper-validator-identifier/LICENSE Vedi File

@@ -0,0 +1,22 @@
1
+MIT License
2
+
3
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining
6
+a copy of this software and associated documentation files (the
7
+"Software"), to deal in the Software without restriction, including
8
+without limitation the rights to use, copy, modify, merge, publish,
9
+distribute, sublicense, and/or sell copies of the Software, and to
10
+permit persons to whom the Software is furnished to do so, subject to
11
+the following conditions:
12
+
13
+The above copyright notice and this permission notice shall be
14
+included in all copies or substantial portions of the Software.
15
+
16
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 19
- 0
node_modules/@babel/helper-validator-identifier/README.md Vedi File

@@ -0,0 +1,19 @@
1
+# @babel/helper-validator-identifier
2
+
3
+> Validate identifier/keywords name
4
+
5
+See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/babel-helper-validator-identifier) for more information.
6
+
7
+## Install
8
+
9
+Using npm:
10
+
11
+```sh
12
+npm install --save @babel/helper-validator-identifier
13
+```
14
+
15
+or using yarn:
16
+
17
+```sh
18
+yarn add @babel/helper-validator-identifier
19
+```

+ 70
- 0
node_modules/@babel/helper-validator-identifier/lib/identifier.js Vedi File

@@ -0,0 +1,70 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.isIdentifierChar = isIdentifierChar;
7
+exports.isIdentifierName = isIdentifierName;
8
+exports.isIdentifierStart = isIdentifierStart;
9
+let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
10
+let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
11
+const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
12
+const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
13
+nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
14
+const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
15
+const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
16
+function isInAstralSet(code, set) {
17
+  let pos = 0x10000;
18
+  for (let i = 0, length = set.length; i < length; i += 2) {
19
+    pos += set[i];
20
+    if (pos > code) return false;
21
+    pos += set[i + 1];
22
+    if (pos >= code) return true;
23
+  }
24
+  return false;
25
+}
26
+function isIdentifierStart(code) {
27
+  if (code < 65) return code === 36;
28
+  if (code <= 90) return true;
29
+  if (code < 97) return code === 95;
30
+  if (code <= 122) return true;
31
+  if (code <= 0xffff) {
32
+    return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
33
+  }
34
+  return isInAstralSet(code, astralIdentifierStartCodes);
35
+}
36
+function isIdentifierChar(code) {
37
+  if (code < 48) return code === 36;
38
+  if (code < 58) return true;
39
+  if (code < 65) return false;
40
+  if (code <= 90) return true;
41
+  if (code < 97) return code === 95;
42
+  if (code <= 122) return true;
43
+  if (code <= 0xffff) {
44
+    return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
45
+  }
46
+  return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
47
+}
48
+function isIdentifierName(name) {
49
+  let isFirst = true;
50
+  for (let i = 0; i < name.length; i++) {
51
+    let cp = name.charCodeAt(i);
52
+    if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
53
+      const trail = name.charCodeAt(++i);
54
+      if ((trail & 0xfc00) === 0xdc00) {
55
+        cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
56
+      }
57
+    }
58
+    if (isFirst) {
59
+      isFirst = false;
60
+      if (!isIdentifierStart(cp)) {
61
+        return false;
62
+      }
63
+    } else if (!isIdentifierChar(cp)) {
64
+      return false;
65
+    }
66
+  }
67
+  return !isFirst;
68
+}
69
+
70
+//# sourceMappingURL=identifier.js.map

+ 1
- 0
node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
File diff soppresso perché troppo grande
Vedi File


+ 57
- 0
node_modules/@babel/helper-validator-identifier/lib/index.js Vedi File

@@ -0,0 +1,57 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+Object.defineProperty(exports, "isIdentifierChar", {
7
+  enumerable: true,
8
+  get: function () {
9
+    return _identifier.isIdentifierChar;
10
+  }
11
+});
12
+Object.defineProperty(exports, "isIdentifierName", {
13
+  enumerable: true,
14
+  get: function () {
15
+    return _identifier.isIdentifierName;
16
+  }
17
+});
18
+Object.defineProperty(exports, "isIdentifierStart", {
19
+  enumerable: true,
20
+  get: function () {
21
+    return _identifier.isIdentifierStart;
22
+  }
23
+});
24
+Object.defineProperty(exports, "isKeyword", {
25
+  enumerable: true,
26
+  get: function () {
27
+    return _keyword.isKeyword;
28
+  }
29
+});
30
+Object.defineProperty(exports, "isReservedWord", {
31
+  enumerable: true,
32
+  get: function () {
33
+    return _keyword.isReservedWord;
34
+  }
35
+});
36
+Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
37
+  enumerable: true,
38
+  get: function () {
39
+    return _keyword.isStrictBindOnlyReservedWord;
40
+  }
41
+});
42
+Object.defineProperty(exports, "isStrictBindReservedWord", {
43
+  enumerable: true,
44
+  get: function () {
45
+    return _keyword.isStrictBindReservedWord;
46
+  }
47
+});
48
+Object.defineProperty(exports, "isStrictReservedWord", {
49
+  enumerable: true,
50
+  get: function () {
51
+    return _keyword.isStrictReservedWord;
52
+  }
53
+});
54
+var _identifier = require("./identifier.js");
55
+var _keyword = require("./keyword.js");
56
+
57
+//# sourceMappingURL=index.js.map

+ 1
- 0
node_modules/@babel/helper-validator-identifier/lib/index.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_identifier","require","_keyword"],"sources":["../src/index.ts"],"sourcesContent":["export {\n  isIdentifierName,\n  isIdentifierChar,\n  isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n  isReservedWord,\n  isStrictBindOnlyReservedWord,\n  isStrictBindReservedWord,\n  isStrictReservedWord,\n  isKeyword,\n} from \"./keyword.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}

+ 35
- 0
node_modules/@babel/helper-validator-identifier/lib/keyword.js Vedi File

@@ -0,0 +1,35 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.isKeyword = isKeyword;
7
+exports.isReservedWord = isReservedWord;
8
+exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
9
+exports.isStrictBindReservedWord = isStrictBindReservedWord;
10
+exports.isStrictReservedWord = isStrictReservedWord;
11
+const reservedWords = {
12
+  keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
13
+  strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
14
+  strictBind: ["eval", "arguments"]
15
+};
16
+const keywords = new Set(reservedWords.keyword);
17
+const reservedWordsStrictSet = new Set(reservedWords.strict);
18
+const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
19
+function isReservedWord(word, inModule) {
20
+  return inModule && word === "await" || word === "enum";
21
+}
22
+function isStrictReservedWord(word, inModule) {
23
+  return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
24
+}
25
+function isStrictBindOnlyReservedWord(word) {
26
+  return reservedWordsStrictBindSet.has(word);
27
+}
28
+function isStrictBindReservedWord(word, inModule) {
29
+  return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
30
+}
31
+function isKeyword(word) {
32
+  return keywords.has(word);
33
+}
34
+
35
+//# sourceMappingURL=keyword.js.map

+ 1
- 0
node_modules/@babel/helper-validator-identifier/lib/keyword.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["reservedWords","keyword","strict","strictBind","keywords","Set","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword"],"sources":["../src/keyword.ts"],"sourcesContent":["const reservedWords = {\n  keyword: [\n    \"break\",\n    \"case\",\n    \"catch\",\n    \"continue\",\n    \"debugger\",\n    \"default\",\n    \"do\",\n    \"else\",\n    \"finally\",\n    \"for\",\n    \"function\",\n    \"if\",\n    \"return\",\n    \"switch\",\n    \"throw\",\n    \"try\",\n    \"var\",\n    \"const\",\n    \"while\",\n    \"with\",\n    \"new\",\n    \"this\",\n    \"super\",\n    \"class\",\n    \"extends\",\n    \"export\",\n    \"import\",\n    \"null\",\n    \"true\",\n    \"false\",\n    \"in\",\n    \"instanceof\",\n    \"typeof\",\n    \"void\",\n    \"delete\",\n  ],\n  strict: [\n    \"implements\",\n    \"interface\",\n    \"let\",\n    \"package\",\n    \"private\",\n    \"protected\",\n    \"public\",\n    \"static\",\n    \"yield\",\n  ],\n  strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n  return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n  return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n  return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n  word: string,\n  inModule: boolean,\n): boolean {\n  return (\n    isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n  );\n}\n\nexport function isKeyword(word: string): boolean {\n  return keywords.has(word);\n}\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,CACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,QAAQ,CACT;EACDC,MAAM,EAAE,CACN,YAAY,EACZ,WAAW,EACX,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,CACR;EACDC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW;AAClC,CAAC;AACD,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAACL,aAAa,CAACC,OAAO,CAAC;AAC/C,MAAMK,sBAAsB,GAAG,IAAID,GAAG,CAACL,aAAa,CAACE,MAAM,CAAC;AAC5D,MAAMK,0BAA0B,GAAG,IAAIF,GAAG,CAACL,aAAa,CAACG,UAAU,CAAC;AAK7D,SAASK,cAAcA,CAACC,IAAY,EAAEC,QAAiB,EAAW;EACvE,OAAQA,QAAQ,IAAID,IAAI,KAAK,OAAO,IAAKA,IAAI,KAAK,MAAM;AAC1D;AAOO,SAASE,oBAAoBA,CAACF,IAAY,EAAEC,QAAiB,EAAW;EAC7E,OAAOF,cAAc,CAACC,IAAI,EAAEC,QAAQ,CAAC,IAAIJ,sBAAsB,CAACM,GAAG,CAACH,IAAI,CAAC;AAC3E;AAMO,SAASI,4BAA4BA,CAACJ,IAAY,EAAW;EAClE,OAAOF,0BAA0B,CAACK,GAAG,CAACH,IAAI,CAAC;AAC7C;AAOO,SAASK,wBAAwBA,CACtCL,IAAY,EACZC,QAAiB,EACR;EACT,OACEC,oBAAoB,CAACF,IAAI,EAAEC,QAAQ,CAAC,IAAIG,4BAA4B,CAACJ,IAAI,CAAC;AAE9E;AAEO,SAASM,SAASA,CAACN,IAAY,EAAW;EAC/C,OAAOL,QAAQ,CAACQ,GAAG,CAACH,IAAI,CAAC;AAC3B","ignoreList":[]}

+ 31
- 0
node_modules/@babel/helper-validator-identifier/package.json Vedi File

@@ -0,0 +1,31 @@
1
+{
2
+  "name": "@babel/helper-validator-identifier",
3
+  "version": "7.24.7",
4
+  "description": "Validate identifier/keywords name",
5
+  "repository": {
6
+    "type": "git",
7
+    "url": "https://github.com/babel/babel.git",
8
+    "directory": "packages/babel-helper-validator-identifier"
9
+  },
10
+  "license": "MIT",
11
+  "publishConfig": {
12
+    "access": "public"
13
+  },
14
+  "main": "./lib/index.js",
15
+  "exports": {
16
+    ".": {
17
+      "types": "./lib/index.d.ts",
18
+      "default": "./lib/index.js"
19
+    },
20
+    "./package.json": "./package.json"
21
+  },
22
+  "devDependencies": {
23
+    "@unicode/unicode-15.1.0": "^1.5.2",
24
+    "charcodes": "^0.2.0"
25
+  },
26
+  "engines": {
27
+    "node": ">=6.9.0"
28
+  },
29
+  "author": "The Babel Team (https://babel.dev/team)",
30
+  "type": "commonjs"
31
+}

+ 73
- 0
node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js Vedi File

@@ -0,0 +1,73 @@
1
+"use strict";
2
+
3
+// Always use the latest available version of Unicode!
4
+// https://tc39.github.io/ecma262/#sec-conformance
5
+const version = "15.1.0";
6
+
7
+const start = require(
8
+  "@unicode/unicode-" + version + "/Binary_Property/ID_Start/code-points.js"
9
+).filter(function (ch) {
10
+  return ch > 0x7f;
11
+});
12
+let last = -1;
13
+const cont = require(
14
+  "@unicode/unicode-" + version + "/Binary_Property/ID_Continue/code-points.js"
15
+).filter(function (ch) {
16
+  return ch > 0x7f && search(start, ch, last + 1) === -1;
17
+});
18
+
19
+function search(arr, ch, starting) {
20
+  for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) {
21
+    if (arr[i] === ch) return i;
22
+  }
23
+  return -1;
24
+}
25
+
26
+function pad(str, width) {
27
+  while (str.length < width) str = "0" + str;
28
+  return str;
29
+}
30
+
31
+function esc(code) {
32
+  const hex = code.toString(16);
33
+  if (hex.length <= 2) return "\\x" + pad(hex, 2);
34
+  else return "\\u" + pad(hex, 4);
35
+}
36
+
37
+function generate(chars) {
38
+  const astral = [];
39
+  let re = "";
40
+  for (let i = 0, at = 0x10000; i < chars.length; i++) {
41
+    const from = chars[i];
42
+    let to = from;
43
+    while (i < chars.length - 1 && chars[i + 1] === to + 1) {
44
+      i++;
45
+      to++;
46
+    }
47
+    if (to <= 0xffff) {
48
+      if (from === to) re += esc(from);
49
+      else if (from + 1 === to) re += esc(from) + esc(to);
50
+      else re += esc(from) + "-" + esc(to);
51
+    } else {
52
+      astral.push(from - at, to - from);
53
+      at = to;
54
+    }
55
+  }
56
+  return { nonASCII: re, astral: astral };
57
+}
58
+
59
+const startData = generate(start);
60
+const contData = generate(cont);
61
+
62
+console.log("/* prettier-ignore */");
63
+console.log('let nonASCIIidentifierStartChars = "' + startData.nonASCII + '";');
64
+console.log("/* prettier-ignore */");
65
+console.log('let nonASCIIidentifierChars = "' + contData.nonASCII + '";');
66
+console.log("/* prettier-ignore */");
67
+console.log(
68
+  "const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";"
69
+);
70
+console.log("/* prettier-ignore */");
71
+console.log(
72
+  "const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";"
73
+);

+ 1073
- 0
node_modules/@babel/parser/CHANGELOG.md
File diff soppresso perché troppo grande
Vedi File


+ 19
- 0
node_modules/@babel/parser/LICENSE Vedi File

@@ -0,0 +1,19 @@
1
+Copyright (C) 2012-2014 by various contributors (see AUTHORS)
2
+
3
+Permission is hereby granted, free of charge, to any person obtaining a copy
4
+of this software and associated documentation files (the "Software"), to deal
5
+in the Software without restriction, including without limitation the rights
6
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+copies of the Software, and to permit persons to whom the Software is
8
+furnished to do so, subject to the following conditions:
9
+
10
+The above copyright notice and this permission notice shall be included in
11
+all copies or substantial portions of the Software.
12
+
13
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+THE SOFTWARE.

+ 19
- 0
node_modules/@babel/parser/README.md Vedi File

@@ -0,0 +1,19 @@
1
+# @babel/parser
2
+
3
+> A JavaScript parser
4
+
5
+See our website [@babel/parser](https://babeljs.io/docs/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%22+is%3Aopen) associated with this package.
6
+
7
+## Install
8
+
9
+Using npm:
10
+
11
+```sh
12
+npm install --save-dev @babel/parser
13
+```
14
+
15
+or using yarn:
16
+
17
+```sh
18
+yarn add @babel/parser --dev
19
+```

+ 15
- 0
node_modules/@babel/parser/bin/babel-parser.js Vedi File

@@ -0,0 +1,15 @@
1
+#!/usr/bin/env node
2
+/* eslint no-var: 0 */
3
+
4
+var parser = require("..");
5
+var fs = require("fs");
6
+
7
+var filename = process.argv[2];
8
+if (!filename) {
9
+  console.error("no filename specified");
10
+} else {
11
+  var file = fs.readFileSync(filename, "utf8");
12
+  var ast = parser.parse(file);
13
+
14
+  console.log(JSON.stringify(ast, null, "  "));
15
+}

+ 5
- 0
node_modules/@babel/parser/index.cjs Vedi File

@@ -0,0 +1,5 @@
1
+try {
2
+  module.exports = require("./lib/index.cjs");
3
+} catch {
4
+  module.exports = require("./lib/index.js");
5
+}

+ 13987
- 0
node_modules/@babel/parser/lib/index.js
File diff soppresso perché troppo grande
Vedi File


+ 1
- 0
node_modules/@babel/parser/lib/index.js.map
File diff soppresso perché troppo grande
Vedi File


+ 50
- 0
node_modules/@babel/parser/package.json Vedi File

@@ -0,0 +1,50 @@
1
+{
2
+  "name": "@babel/parser",
3
+  "version": "7.25.3",
4
+  "description": "A JavaScript parser",
5
+  "author": "The Babel Team (https://babel.dev/team)",
6
+  "homepage": "https://babel.dev/docs/en/next/babel-parser",
7
+  "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen",
8
+  "license": "MIT",
9
+  "publishConfig": {
10
+    "access": "public"
11
+  },
12
+  "keywords": [
13
+    "babel",
14
+    "javascript",
15
+    "parser",
16
+    "tc39",
17
+    "ecmascript",
18
+    "@babel/parser"
19
+  ],
20
+  "repository": {
21
+    "type": "git",
22
+    "url": "https://github.com/babel/babel.git",
23
+    "directory": "packages/babel-parser"
24
+  },
25
+  "main": "./lib/index.js",
26
+  "types": "./typings/babel-parser.d.ts",
27
+  "files": [
28
+    "bin",
29
+    "lib",
30
+    "typings/babel-parser.d.ts",
31
+    "index.cjs"
32
+  ],
33
+  "engines": {
34
+    "node": ">=6.0.0"
35
+  },
36
+  "# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.",
37
+  "dependencies": {
38
+    "@babel/types": "^7.25.2"
39
+  },
40
+  "devDependencies": {
41
+    "@babel/code-frame": "^7.24.7",
42
+    "@babel/helper-check-duplicate-nodes": "^7.24.7",
43
+    "@babel/helper-fixtures": "^7.24.8",
44
+    "@babel/helper-string-parser": "^7.24.8",
45
+    "@babel/helper-validator-identifier": "^7.24.7",
46
+    "charcodes": "^0.2.0"
47
+  },
48
+  "bin": "./bin/babel-parser.js",
49
+  "type": "commonjs"
50
+}

+ 251
- 0
node_modules/@babel/parser/typings/babel-parser.d.ts Vedi File

@@ -0,0 +1,251 @@
1
+// This file is auto-generated! Do not modify it directly.
2
+/* eslint-disable @typescript-eslint/consistent-type-imports, prettier/prettier */
3
+import * as _babel_types from '@babel/types';
4
+
5
+type Plugin =
6
+  | "asyncDoExpressions"
7
+  | "asyncGenerators"
8
+  | "bigInt"
9
+  | "classPrivateMethods"
10
+  | "classPrivateProperties"
11
+  | "classProperties"
12
+  | "classStaticBlock" // Enabled by default
13
+  | "decimal"
14
+  | "decorators-legacy"
15
+  | "deferredImportEvaluation"
16
+  | "decoratorAutoAccessors"
17
+  | "destructuringPrivate"
18
+  | "doExpressions"
19
+  | "dynamicImport"
20
+  | "explicitResourceManagement"
21
+  | "exportDefaultFrom"
22
+  | "exportNamespaceFrom" // deprecated
23
+  | "flow"
24
+  | "flowComments"
25
+  | "functionBind"
26
+  | "functionSent"
27
+  | "importMeta"
28
+  | "jsx"
29
+  | "logicalAssignment"
30
+  | "importAssertions" // deprecated
31
+  | "importAttributes"
32
+  | "importReflection"
33
+  | "moduleBlocks"
34
+  | "moduleStringNames"
35
+  | "nullishCoalescingOperator"
36
+  | "numericSeparator"
37
+  | "objectRestSpread"
38
+  | "optionalCatchBinding"
39
+  | "optionalChaining"
40
+  | "partialApplication"
41
+  | "placeholders"
42
+  | "privateIn" // Enabled by default
43
+  | "regexpUnicodeSets" // Enabled by default
44
+  | "sourcePhaseImports"
45
+  | "throwExpressions"
46
+  | "topLevelAwait"
47
+  | "v8intrinsic"
48
+  | ParserPluginWithOptions[0];
49
+
50
+type ParserPluginWithOptions =
51
+  | ["decorators", DecoratorsPluginOptions]
52
+  | ["estree", { classFeatures?: boolean }]
53
+  | ["importAttributes", { deprecatedAssertSyntax: boolean }]
54
+  // @deprecated
55
+  | ["moduleAttributes", { version: "may-2020" }]
56
+  | ["optionalChainingAssign", { version: "2023-07" }]
57
+  | ["pipelineOperator", PipelineOperatorPluginOptions]
58
+  | ["recordAndTuple", RecordAndTuplePluginOptions]
59
+  | ["flow", FlowPluginOptions]
60
+  | ["typescript", TypeScriptPluginOptions];
61
+
62
+type PluginConfig = Plugin | ParserPluginWithOptions;
63
+
64
+interface DecoratorsPluginOptions {
65
+  decoratorsBeforeExport?: boolean;
66
+  allowCallParenthesized?: boolean;
67
+}
68
+
69
+interface PipelineOperatorPluginOptions {
70
+  proposal: "minimal" | "fsharp" | "hack" | "smart";
71
+  topicToken?: "%" | "#" | "@@" | "^^" | "^";
72
+}
73
+
74
+interface RecordAndTuplePluginOptions {
75
+  syntaxType: "bar" | "hash";
76
+}
77
+
78
+interface FlowPluginOptions {
79
+  all?: boolean;
80
+  enums?: boolean;
81
+}
82
+
83
+interface TypeScriptPluginOptions {
84
+  dts?: boolean;
85
+  disallowAmbiguousJSXLike?: boolean;
86
+}
87
+
88
+// Type definitions for @babel/parser
89
+// Project: https://github.com/babel/babel/tree/main/packages/babel-parser
90
+// Definitions by: Troy Gerwien <https://github.com/yortus>
91
+//                 Marvin Hagemeister <https://github.com/marvinhagemeister>
92
+//                 Avi Vahl <https://github.com/AviVahl>
93
+// TypeScript Version: 2.9
94
+
95
+/**
96
+ * Parse the provided code as an entire ECMAScript program.
97
+ */
98
+declare function parse(
99
+  input: string,
100
+  options?: ParserOptions
101
+): ParseResult<_babel_types.File>;
102
+
103
+/**
104
+ * Parse the provided code as a single expression.
105
+ */
106
+declare function parseExpression(
107
+  input: string,
108
+  options?: ParserOptions
109
+): ParseResult<_babel_types.Expression>;
110
+
111
+interface ParserOptions {
112
+  /**
113
+   * By default, import and export declarations can only appear at a program's top level.
114
+   * Setting this option to true allows them anywhere where a statement is allowed.
115
+   */
116
+  allowImportExportEverywhere?: boolean;
117
+
118
+  /**
119
+   * By default, await use is not allowed outside of an async function.
120
+   * Set this to true to accept such code.
121
+   */
122
+  allowAwaitOutsideFunction?: boolean;
123
+
124
+  /**
125
+   * By default, a return statement at the top level raises an error.
126
+   * Set this to true to accept such code.
127
+   */
128
+  allowReturnOutsideFunction?: boolean;
129
+
130
+  /**
131
+   * By default, new.target use is not allowed outside of a function or class.
132
+   * Set this to true to accept such code.
133
+   */
134
+  allowNewTargetOutsideFunction?: boolean;
135
+
136
+  allowSuperOutsideMethod?: boolean;
137
+
138
+  /**
139
+   * By default, exported identifiers must refer to a declared variable.
140
+   * Set this to true to allow export statements to reference undeclared variables.
141
+   */
142
+  allowUndeclaredExports?: boolean;
143
+
144
+  /**
145
+   * By default, Babel parser JavaScript code according to Annex B syntax.
146
+   * Set this to `false` to disable such behavior.
147
+   */
148
+  annexB?: boolean;
149
+
150
+  /**
151
+   * By default, Babel attaches comments to adjacent AST nodes.
152
+   * When this option is set to false, comments are not attached.
153
+   * It can provide up to 30% performance improvement when the input code has many comments.
154
+   * @babel/eslint-parser will set it for you.
155
+   * It is not recommended to use attachComment: false with Babel transform,
156
+   * as doing so removes all the comments in output code, and renders annotations such as
157
+   * /* istanbul ignore next *\/ nonfunctional.
158
+   */
159
+  attachComment?: boolean;
160
+
161
+  /**
162
+   * By default, Babel always throws an error when it finds some invalid code.
163
+   * When this option is set to true, it will store the parsing error and
164
+   * try to continue parsing the invalid input file.
165
+   */
166
+  errorRecovery?: boolean;
167
+
168
+  /**
169
+   * Indicate the mode the code should be parsed in.
170
+   * Can be one of "script", "module", or "unambiguous". Defaults to "script".
171
+   * "unambiguous" will make @babel/parser attempt to guess, based on the presence
172
+   * of ES6 import or export statements.
173
+   * Files with ES6 imports and exports are considered "module" and are otherwise "script".
174
+   */
175
+  sourceType?: "script" | "module" | "unambiguous";
176
+
177
+  /**
178
+   * Correlate output AST nodes with their source filename.
179
+   * Useful when generating code and source maps from the ASTs of multiple input files.
180
+   */
181
+  sourceFilename?: string;
182
+
183
+  /**
184
+   * By default, the first line of code parsed is treated as line 1.
185
+   * You can provide a line number to alternatively start with.
186
+   * Useful for integration with other source tools.
187
+   */
188
+  startLine?: number;
189
+
190
+  /**
191
+   * By default, the parsed code is treated as if it starts from line 1, column 0.
192
+   * You can provide a column number to alternatively start with.
193
+   * Useful for integration with other source tools.
194
+   */
195
+  startColumn?: number;
196
+
197
+  /**
198
+   * Array containing the plugins that you want to enable.
199
+   */
200
+  plugins?: ParserPlugin[];
201
+
202
+  /**
203
+   * Should the parser work in strict mode.
204
+   * Defaults to true if sourceType === 'module'. Otherwise, false.
205
+   */
206
+  strictMode?: boolean;
207
+
208
+  /**
209
+   * Adds a ranges property to each node: [node.start, node.end]
210
+   */
211
+  ranges?: boolean;
212
+
213
+  /**
214
+   * Adds all parsed tokens to a tokens property on the File node.
215
+   */
216
+  tokens?: boolean;
217
+
218
+  /**
219
+   * By default, the parser adds information about parentheses by setting
220
+   * `extra.parenthesized` to `true` as needed.
221
+   * When this option is `true` the parser creates `ParenthesizedExpression`
222
+   * AST nodes instead of using the `extra` property.
223
+   */
224
+  createParenthesizedExpressions?: boolean;
225
+
226
+  /**
227
+   * The default is false in Babel 7 and true in Babel 8
228
+   * Set this to true to parse it as an `ImportExpression` node.
229
+   * Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
230
+   */
231
+  createImportExpressions?: boolean;
232
+}
233
+
234
+type ParserPlugin = PluginConfig;
235
+
236
+
237
+declare const tokTypes: {
238
+  // todo(flow->ts) real token type
239
+  [name: string]: any;
240
+};
241
+
242
+interface ParseError {
243
+  code: string;
244
+  reasonCode: string;
245
+}
246
+
247
+type ParseResult<Result> = Result & {
248
+  errors: ParseError[];
249
+};
250
+
251
+export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParseResult, ParserOptions, ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes };

+ 22
- 0
node_modules/@babel/types/LICENSE Vedi File

@@ -0,0 +1,22 @@
1
+MIT License
2
+
3
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining
6
+a copy of this software and associated documentation files (the
7
+"Software"), to deal in the Software without restriction, including
8
+without limitation the rights to use, copy, modify, merge, publish,
9
+distribute, sublicense, and/or sell copies of the Software, and to
10
+permit persons to whom the Software is furnished to do so, subject to
11
+the following conditions:
12
+
13
+The above copyright notice and this permission notice shall be
14
+included in all copies or substantial portions of the Software.
15
+
16
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 19
- 0
node_modules/@babel/types/README.md Vedi File

@@ -0,0 +1,19 @@
1
+# @babel/types
2
+
3
+> Babel Types is a Lodash-esque utility library for AST nodes
4
+
5
+See our website [@babel/types](https://babeljs.io/docs/babel-types) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package.
6
+
7
+## Install
8
+
9
+Using npm:
10
+
11
+```sh
12
+npm install --save-dev @babel/types
13
+```
14
+
15
+or using yarn:
16
+
17
+```sh
18
+yarn add @babel/types --dev
19
+```

+ 16
- 0
node_modules/@babel/types/lib/asserts/assertNode.js Vedi File

@@ -0,0 +1,16 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.default = assertNode;
7
+var _isNode = require("../validators/isNode.js");
8
+function assertNode(node) {
9
+  if (!(0, _isNode.default)(node)) {
10
+    var _node$type;
11
+    const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);
12
+    throw new TypeError(`Not a valid node of type "${type}"`);
13
+  }
14
+}
15
+
16
+//# sourceMappingURL=assertNode.js.map

+ 1
- 0
node_modules/@babel/types/lib/asserts/assertNode.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_isNode","require","assertNode","node","isNode","_node$type","type","JSON","stringify","TypeError"],"sources":["../../src/asserts/assertNode.ts"],"sourcesContent":["import isNode from \"../validators/isNode.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function assertNode(node?: any): asserts node is t.Node {\n  if (!isNode(node)) {\n    const type = node?.type ?? JSON.stringify(node);\n    throw new TypeError(`Not a valid node of type \"${type}\"`);\n  }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGe,SAASC,UAAUA,CAACC,IAAU,EAA0B;EACrE,IAAI,CAAC,IAAAC,eAAM,EAACD,IAAI,CAAC,EAAE;IAAA,IAAAE,UAAA;IACjB,MAAMC,IAAI,IAAAD,UAAA,GAAGF,IAAI,oBAAJA,IAAI,CAAEG,IAAI,YAAAD,UAAA,GAAIE,IAAI,CAACC,SAAS,CAACL,IAAI,CAAC;IAC/C,MAAM,IAAIM,SAAS,CAAC,6BAA6BH,IAAI,GAAG,CAAC;EAC3D;AACF","ignoreList":[]}

+ 1235
- 0
node_modules/@babel/types/lib/asserts/generated/index.js
File diff soppresso perché troppo grande
Vedi File


+ 1
- 0
node_modules/@babel/types/lib/asserts/generated/index.js.map
File diff soppresso perché troppo grande
Vedi File


+ 3
- 0
node_modules/@babel/types/lib/ast-types/generated/index.js Vedi File

@@ -0,0 +1,3 @@
1
+
2
+
3
+//# sourceMappingURL=index.js.map

+ 1
- 0
node_modules/@babel/types/lib/ast-types/generated/index.js.map
File diff soppresso perché troppo grande
Vedi File


+ 18
- 0
node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js Vedi File

@@ -0,0 +1,18 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.default = createFlowUnionType;
7
+var _index = require("../generated/index.js");
8
+var _removeTypeDuplicates = require("../../modifications/flow/removeTypeDuplicates.js");
9
+function createFlowUnionType(types) {
10
+  const flattened = (0, _removeTypeDuplicates.default)(types);
11
+  if (flattened.length === 1) {
12
+    return flattened[0];
13
+  } else {
14
+    return (0, _index.unionTypeAnnotation)(flattened);
15
+  }
16
+}
17
+
18
+//# sourceMappingURL=createFlowUnionType.js.map

+ 1
- 0
node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_index","require","_removeTypeDuplicates","createFlowUnionType","types","flattened","removeTypeDuplicates","length","unionTypeAnnotation"],"sources":["../../../src/builders/flow/createFlowUnionType.ts"],"sourcesContent":["import { unionTypeAnnotation } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/flow/removeTypeDuplicates.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createFlowUnionType<T extends t.FlowType>(\n  types: [T] | Array<T>,\n): T | t.UnionTypeAnnotation {\n  const flattened = removeTypeDuplicates(types);\n\n  if (flattened.length === 1) {\n    return flattened[0] as T;\n  } else {\n    return unionTypeAnnotation(flattened);\n  }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAOe,SAASE,mBAAmBA,CACzCC,KAAqB,EACM;EAC3B,MAAMC,SAAS,GAAG,IAAAC,6BAAoB,EAACF,KAAK,CAAC;EAE7C,IAAIC,SAAS,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOF,SAAS,CAAC,CAAC,CAAC;EACrB,CAAC,MAAM;IACL,OAAO,IAAAG,0BAAmB,EAACH,SAAS,CAAC;EACvC;AACF","ignoreList":[]}

+ 31
- 0
node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js Vedi File

@@ -0,0 +1,31 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.default = void 0;
7
+var _index = require("../generated/index.js");
8
+var _default = exports.default = createTypeAnnotationBasedOnTypeof;
9
+function createTypeAnnotationBasedOnTypeof(type) {
10
+  switch (type) {
11
+    case "string":
12
+      return (0, _index.stringTypeAnnotation)();
13
+    case "number":
14
+      return (0, _index.numberTypeAnnotation)();
15
+    case "undefined":
16
+      return (0, _index.voidTypeAnnotation)();
17
+    case "boolean":
18
+      return (0, _index.booleanTypeAnnotation)();
19
+    case "function":
20
+      return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Function"));
21
+    case "object":
22
+      return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Object"));
23
+    case "symbol":
24
+      return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Symbol"));
25
+    case "bigint":
26
+      return (0, _index.anyTypeAnnotation)();
27
+  }
28
+  throw new Error("Invalid typeof value: " + type);
29
+}
30
+
31
+//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.js.map

+ 1
- 0
node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_index","require","_default","exports","default","createTypeAnnotationBasedOnTypeof","type","stringTypeAnnotation","numberTypeAnnotation","voidTypeAnnotation","booleanTypeAnnotation","genericTypeAnnotation","identifier","anyTypeAnnotation","Error"],"sources":["../../../src/builders/flow/createTypeAnnotationBasedOnTypeof.ts"],"sourcesContent":["import {\n  anyTypeAnnotation,\n  stringTypeAnnotation,\n  numberTypeAnnotation,\n  voidTypeAnnotation,\n  booleanTypeAnnotation,\n  genericTypeAnnotation,\n  identifier,\n} from \"../generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\nexport default createTypeAnnotationBasedOnTypeof as {\n  (type: \"string\"): t.StringTypeAnnotation;\n  (type: \"number\"): t.NumberTypeAnnotation;\n  (type: \"undefined\"): t.VoidTypeAnnotation;\n  (type: \"boolean\"): t.BooleanTypeAnnotation;\n  (type: \"function\"): t.GenericTypeAnnotation;\n  (type: \"object\"): t.GenericTypeAnnotation;\n  (type: \"symbol\"): t.GenericTypeAnnotation;\n  (type: \"bigint\"): t.AnyTypeAnnotation;\n};\n\n/**\n * Create a type annotation based on typeof expression.\n */\nfunction createTypeAnnotationBasedOnTypeof(type: string): t.FlowType {\n  switch (type) {\n    case \"string\":\n      return stringTypeAnnotation();\n    case \"number\":\n      return numberTypeAnnotation();\n    case \"undefined\":\n      return voidTypeAnnotation();\n    case \"boolean\":\n      return booleanTypeAnnotation();\n    case \"function\":\n      return genericTypeAnnotation(identifier(\"Function\"));\n    case \"object\":\n      return genericTypeAnnotation(identifier(\"Object\"));\n    case \"symbol\":\n      return genericTypeAnnotation(identifier(\"Symbol\"));\n    case \"bigint\":\n      // todo: use BigInt annotation when Flow supports BigInt\n      // https://github.com/facebook/flow/issues/6639\n      return anyTypeAnnotation();\n  }\n  throw new Error(\"Invalid typeof value: \" + type);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQ+B,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGhBC,iCAAiC;AAchD,SAASA,iCAAiCA,CAACC,IAAY,EAAc;EACnE,QAAQA,IAAI;IACV,KAAK,QAAQ;MACX,OAAO,IAAAC,2BAAoB,EAAC,CAAC;IAC/B,KAAK,QAAQ;MACX,OAAO,IAAAC,2BAAoB,EAAC,CAAC;IAC/B,KAAK,WAAW;MACd,OAAO,IAAAC,yBAAkB,EAAC,CAAC;IAC7B,KAAK,SAAS;MACZ,OAAO,IAAAC,4BAAqB,EAAC,CAAC;IAChC,KAAK,UAAU;MACb,OAAO,IAAAC,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,UAAU,CAAC,CAAC;IACtD,KAAK,QAAQ;MACX,OAAO,IAAAD,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,QAAQ;MACX,OAAO,IAAAD,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,QAAQ;MAGX,OAAO,IAAAC,wBAAiB,EAAC,CAAC;EAC9B;EACA,MAAM,IAAIC,KAAK,CAAC,wBAAwB,GAAGR,IAAI,CAAC;AAClD","ignoreList":[]}

+ 1991
- 0
node_modules/@babel/types/lib/builders/generated/index.js
File diff soppresso perché troppo grande
Vedi File


+ 1
- 0
node_modules/@babel/types/lib/builders/generated/index.js.map
File diff soppresso perché troppo grande
Vedi File


+ 1532
- 0
node_modules/@babel/types/lib/builders/generated/uppercase.js
File diff soppresso perché troppo grande
Vedi File


+ 1
- 0
node_modules/@babel/types/lib/builders/generated/uppercase.js.map
File diff soppresso perché troppo grande
Vedi File


+ 12
- 0
node_modules/@babel/types/lib/builders/productions.js Vedi File

@@ -0,0 +1,12 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.buildUndefinedNode = buildUndefinedNode;
7
+var _index = require("./generated/index.js");
8
+function buildUndefinedNode() {
9
+  return (0, _index.unaryExpression)("void", (0, _index.numericLiteral)(0), true);
10
+}
11
+
12
+//# sourceMappingURL=productions.js.map

+ 1
- 0
node_modules/@babel/types/lib/builders/productions.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_index","require","buildUndefinedNode","unaryExpression","numericLiteral"],"sources":["../../src/builders/productions.ts"],"sourcesContent":["import { numericLiteral, unaryExpression } from \"./generated/index.ts\";\n\nexport function buildUndefinedNode() {\n  return unaryExpression(\"void\", numericLiteral(0), true);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO,IAAAC,sBAAe,EAAC,MAAM,EAAE,IAAAC,qBAAc,EAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACzD","ignoreList":[]}

+ 24
- 0
node_modules/@babel/types/lib/builders/react/buildChildren.js Vedi File

@@ -0,0 +1,24 @@
1
+"use strict";
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.default = buildChildren;
7
+var _index = require("../../validators/generated/index.js");
8
+var _cleanJSXElementLiteralChild = require("../../utils/react/cleanJSXElementLiteralChild.js");
9
+function buildChildren(node) {
10
+  const elements = [];
11
+  for (let i = 0; i < node.children.length; i++) {
12
+    let child = node.children[i];
13
+    if ((0, _index.isJSXText)(child)) {
14
+      (0, _cleanJSXElementLiteralChild.default)(child, elements);
15
+      continue;
16
+    }
17
+    if ((0, _index.isJSXExpressionContainer)(child)) child = child.expression;
18
+    if ((0, _index.isJSXEmptyExpression)(child)) continue;
19
+    elements.push(child);
20
+  }
21
+  return elements;
22
+}
23
+
24
+//# sourceMappingURL=buildChildren.js.map

+ 1
- 0
node_modules/@babel/types/lib/builders/react/buildChildren.js.map Vedi File

@@ -0,0 +1 @@
1
+{"version":3,"names":["_index","require","_cleanJSXElementLiteralChild","buildChildren","node","elements","i","children","length","child","isJSXText","cleanJSXElementLiteralChild","isJSXExpressionContainer","expression","isJSXEmptyExpression","push"],"sources":["../../../src/builders/react/buildChildren.ts"],"sourcesContent":["import {\n  isJSXText,\n  isJSXExpressionContainer,\n  isJSXEmptyExpression,\n} from \"../../validators/generated/index.ts\";\nimport cleanJSXElementLiteralChild from \"../../utils/react/cleanJSXElementLiteralChild.ts\";\nimport type * as t from \"../../index.ts\";\n\ntype ReturnedChild =\n  | t.JSXSpreadChild\n  | t.JSXElement\n  | t.JSXFragment\n  | t.Expression;\n\nexport default function buildChildren(\n  node: t.JSXElement | t.JSXFragment,\n): ReturnedChild[] {\n  const elements = [];\n\n  for (let i = 0; i < node.children.length; i++) {\n    let child: any = node.children[i];\n\n    if (isJSXText(child)) {\n      cleanJSXElementLiteralChild(child, elements);\n      continue;\n    }\n\n    if (isJSXExpressionContainer(child)) child = child.expression;\n    if (isJSXEmptyExpression(child)) continue;\n\n    elements.push(child);\n  }\n\n  return elements;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,4BAAA,GAAAD,OAAA;AASe,SAASE,aAAaA,CACnCC,IAAkC,EACjB;EACjB,MAAMC,QAAQ,GAAG,EAAE;EAEnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;IAC7C,IAAIG,KAAU,GAAGL,IAAI,CAACG,QAAQ,CAACD,CAAC,CAAC;IAEjC,IAAI,IAAAI,gBAAS,EAACD,KAAK,CAAC,EAAE;MACpB,IAAAE,oCAA2B,EAACF,KAAK,EAAEJ,QAAQ,CAAC;MAC5C;IACF;IAEA,IAAI,IAAAO,+BAAwB,EAACH,KAAK,CAAC,EAAEA,KAAK,GAAGA,KAAK,CAACI,UAAU;IAC7D,IAAI,IAAAC,2BAAoB,EAACL,KAAK,CAAC,EAAE;IAEjCJ,QAAQ,CAACU,IAAI,CAACN,KAAK,CAAC;EACtB;EAEA,OAAOJ,QAAQ;AACjB","ignoreList":[]}

+ 0
- 0
node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js Vedi File


Dato che sono stati cambiati molti file in questo diff, alcuni di essi non verranno mostrati

Loading…
Annulla
Salva