adminforth 3.6.4-next.9 → 3.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,7 +48,7 @@
48
48
  "flag-icons": "^7.2.3",
49
49
  "flowbite": "^3.1.2",
50
50
  "i18n-iso-countries": "^7.12.0",
51
- "npm-run-all2": "^9.0.1",
51
+ "npm-run-all2": "^9.0.2",
52
52
  "portfinder": "^1.0.32",
53
53
  "postcss": "^8.4.38",
54
54
  "sass": "^1.77.2",
@@ -4174,9 +4174,9 @@
4174
4174
  }
4175
4175
  },
4176
4176
  "node_modules/npm-run-all2": {
4177
- "version": "9.0.1",
4178
- "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-9.0.1.tgz",
4179
- "integrity": "sha512-ZtK8WXZBUA9x0XD6nxYdFLe86FxpkCTq2LiQxzX0LeXQY/vyAigQZXjjj/xfTwgV4Yqe/vYNIq2W09lrHKTcuQ==",
4177
+ "version": "9.0.2",
4178
+ "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-9.0.2.tgz",
4179
+ "integrity": "sha512-+dd4SO2jAlLE06OzmJKzIe6QvvjXezcbmobnh8usR0a8BzQCABTdqTXqVPji0ICOhSQpIIrkGd7IzNl5iDaRSA==",
4180
4180
  "dev": true,
4181
4181
  "license": "MIT",
4182
4182
  "dependencies": {
@@ -4184,9 +4184,9 @@
4184
4184
  "cross-spawn": "^7.0.6",
4185
4185
  "memorystream": "^0.3.1",
4186
4186
  "picomatch": "^4.0.2",
4187
- "pidtree": "^0.6.0",
4187
+ "pidtree": "^1.0.0",
4188
4188
  "read-package-json-fast": "^6.0.0",
4189
- "shell-quote": "^1.7.3",
4189
+ "shell-quote": "^1.8.4",
4190
4190
  "which": "^7.0.0"
4191
4191
  },
4192
4192
  "bin": {
@@ -4432,16 +4432,16 @@
4432
4432
  }
4433
4433
  },
4434
4434
  "node_modules/pidtree": {
4435
- "version": "0.6.0",
4436
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
4437
- "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
4435
+ "version": "1.0.0",
4436
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-1.0.0.tgz",
4437
+ "integrity": "sha512-avfAvjB9Dd0wdj3rjJX//yS+G79OO0KrS5pJHFJENjYGX6N4SMgEDBBI/yFy0lloOYSaC6XQxzpOAMPfSYFV/Q==",
4438
4438
  "dev": true,
4439
4439
  "license": "MIT",
4440
4440
  "bin": {
4441
4441
  "pidtree": "bin/pidtree.js"
4442
4442
  },
4443
4443
  "engines": {
4444
- "node": ">=0.10"
4444
+ "node": ">=18"
4445
4445
  }
4446
4446
  },
4447
4447
  "node_modules/pify": {
@@ -4977,9 +4977,9 @@
4977
4977
  }
4978
4978
  },
4979
4979
  "node_modules/shell-quote": {
4980
- "version": "1.8.3",
4981
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
4982
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
4980
+ "version": "1.9.0",
4981
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz",
4982
+ "integrity": "sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==",
4983
4983
  "dev": true,
4984
4984
  "license": "MIT",
4985
4985
  "engines": {
@@ -53,7 +53,7 @@
53
53
  "flag-icons": "^7.2.3",
54
54
  "flowbite": "^3.1.2",
55
55
  "i18n-iso-countries": "^7.12.0",
56
- "npm-run-all2": "^9.0.1",
56
+ "npm-run-all2": "^9.0.2",
57
57
  "portfinder": "^1.0.32",
58
58
  "postcss": "^8.4.38",
59
59
  "sass": "^1.77.2",
@@ -124,8 +124,8 @@ importers:
124
124
  specifier: ^7.12.0
125
125
  version: 7.14.0
126
126
  npm-run-all2:
127
- specifier: ^9.0.1
128
- version: 9.0.1
127
+ specifier: ^9.0.2
128
+ version: 9.0.2
129
129
  portfinder:
130
130
  specifier: ^1.0.32
131
131
  version: 1.0.38
@@ -1506,8 +1506,8 @@ packages:
1506
1506
  resolution: {integrity: sha512-tdt4aFn9QamlhdN3HV2D2ccpBwO5/fyjjbXUxYA6uBjyekMZcZvDq0aSj9t5Jo+tih6AYFnt/cuIRn9013e0Uw==}
1507
1507
  engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
1508
1508
 
1509
- npm-run-all2@9.0.1:
1510
- resolution: {integrity: sha512-ZtK8WXZBUA9x0XD6nxYdFLe86FxpkCTq2LiQxzX0LeXQY/vyAigQZXjjj/xfTwgV4Yqe/vYNIq2W09lrHKTcuQ==}
1509
+ npm-run-all2@9.0.2:
1510
+ resolution: {integrity: sha512-+dd4SO2jAlLE06OzmJKzIe6QvvjXezcbmobnh8usR0a8BzQCABTdqTXqVPji0ICOhSQpIIrkGd7IzNl5iDaRSA==}
1511
1511
  engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0, npm: '>= 10'}
1512
1512
  hasBin: true
1513
1513
 
@@ -1580,9 +1580,9 @@ packages:
1580
1580
  resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
1581
1581
  engines: {node: '>=12'}
1582
1582
 
1583
- pidtree@0.6.0:
1584
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
1585
- engines: {node: '>=0.10'}
1583
+ pidtree@1.0.0:
1584
+ resolution: {integrity: sha512-avfAvjB9Dd0wdj3rjJX//yS+G79OO0KrS5pJHFJENjYGX6N4SMgEDBBI/yFy0lloOYSaC6XQxzpOAMPfSYFV/Q==}
1585
+ engines: {node: '>=18'}
1586
1586
  hasBin: true
1587
1587
 
1588
1588
  pify@2.3.0:
@@ -3219,13 +3219,13 @@ snapshots:
3219
3219
 
3220
3220
  npm-normalize-package-bin@6.0.0: {}
3221
3221
 
3222
- npm-run-all2@9.0.1:
3222
+ npm-run-all2@9.0.2:
3223
3223
  dependencies:
3224
3224
  ansi-styles: 6.2.3
3225
3225
  cross-spawn: 7.0.6
3226
3226
  memorystream: 0.3.1
3227
3227
  picomatch: 4.0.4
3228
- pidtree: 0.6.0
3228
+ pidtree: 1.0.0
3229
3229
  read-package-json-fast: 6.0.0
3230
3230
  shell-quote: 1.8.4
3231
3231
  which: 7.0.0
@@ -3285,7 +3285,7 @@ snapshots:
3285
3285
 
3286
3286
  picomatch@4.0.4: {}
3287
3287
 
3288
- pidtree@0.6.0: {}
3288
+ pidtree@1.0.0: {}
3289
3289
 
3290
3290
  pify@2.3.0: {}
3291
3291
 
@@ -5,7 +5,7 @@
5
5
  @dragleave.prevent="dragging = false"
6
6
  @drop.prevent="dragging = false; doEmit(($event.dataTransfer as DataTransfer).files)"
7
7
  >
8
- <label :id="id" class="flex flex-col items-center justify-center w-full border-2 border-dashed rounded-default cursor-pointer
8
+ <label :id="id" class="flex flex-col items-center justify-center w-full border-2 border-dashed rounded-lg cursor-pointer
9
9
  hover:bg-lightDropzoneBackgroundHover hover:border-lightDropzoneBorderHover dark:hover:border-darkDropzoneBorderHover dark:hover:bg-darkDropzoneBackgroundHover"
10
10
  :class="{
11
11
  'border-lightDropzoneBorderDragging dark:border-darkDropzoneBorderDragging': dragging,
@@ -50,7 +50,7 @@
50
50
  >
51
51
  <template v-for="(file, index) in selectedFiles" :key="index">
52
52
  <div
53
- class="text-sm text-lightDropzoneIcon dark:text-darkDropzoneIcon bg-lightDropzoneBackgroundHover dark:bg-darkDropzoneBackgroundHover rounded-default
53
+ class="text-sm text-lightDropzoneIcon dark:text-darkDropzoneIcon bg-lightDropzoneBackgroundHover dark:bg-darkDropzoneBackgroundHover rounded-md
54
54
  flex items-center gap-1 px-2 py-1 group"
55
55
  >
56
56
  <IconFileSolid class="w-4 h-4 flex-shrink-0" />
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
  <div class="relative w-full bg-lightProgressBarUnfilledColor rounded-full h-2.5 dark:bg-darkProgressBarUnfilledColor" :class="props.height ? `h-${props.height}` : ''">
3
- <span v-if="leftLabel" class="absolute -top-6 left-0 text-sm" :class="textClass">{{ leftLabel }}</span>
4
- <span v-if="rightLabel" class="absolute -top-6 right-0 text-sm" :class="textClass">{{ rightLabel }}</span>
5
- <div
3
+ <span v-if="leftLabel" class="absolute -top-6 left-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ leftLabel }}</span>
4
+ <span v-if="rightLabel" class="absolute -top-6 right-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ rightLabel }}</span>
5
+ <div
6
6
  class="bg-lightPrimary dark:bg-darkPrimary h-2.5 rounded-full transition-all duration-300 ease-in-out"
7
- :class="{ 'progress-bar': showAnimation, [`h-${props.height}`]: props.height }"
7
+ :class="{ 'progress-bar': showAnimation, [`h-${props.height}`]: props.height }"
8
8
  :style="{ width: `${percentage}%` }"
9
9
  ></div>
10
10
  <div v-if="showValues || showProgress" class="flex justify-between mt-2">
11
- <span v-if="showValues" class="text-sm" :class="textClass">{{ formatValue(minValue) }}</span>
12
- <span v-if="showProgress" class="text-sm" :class="textClass">{{ progressText }}</span>
13
- <span v-if="showValues" class="text-sm" :class="textClass">{{ formatValue(maxValue) }}</span>
11
+ <span v-if="showValues" class="text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ formatValue(minValue) }}</span>
12
+ <span v-if="showProgress" class="text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ progressText }}</span>
13
+ <span v-if="showValues" class="text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ formatValue(maxValue) }}</span>
14
14
  </div>
15
15
  </div>
16
16
  </template>
@@ -31,7 +31,6 @@ interface Props {
31
31
  showProgress?: boolean
32
32
  showAnimation?: boolean
33
33
  height?: number
34
- textClass?: string
35
34
  }
36
35
 
37
36
  const props = withDefaults(defineProps<Props>(), {
@@ -40,8 +39,7 @@ const props = withDefaults(defineProps<Props>(), {
40
39
  formatter: (value: number) => `${value}`,
41
40
  progressFormatter: (value: number, percentage: number) => `${value}`,
42
41
  showValues: true,
43
- showProgress: true,
44
- textClass: 'text-lightProgressBarText dark:text-darkProgressBarText',
42
+ showProgress: true
45
43
  })
46
44
 
47
45
  const percentage = computed((): number => {
@@ -1,7 +1,6 @@
1
1
  import { ref, watch, type Ref } from 'vue'
2
2
  import { defineStore } from 'pinia'
3
3
  import { useRoute } from 'vue-router';
4
- import { randomBrowserUUID } from '@/utils/browserUuid';
5
4
 
6
5
 
7
6
 
@@ -23,7 +22,7 @@ export const useToastStore = defineStore('toast', () => {
23
22
  buttons?: { value: any; label: string }[];
24
23
  onResolve?: (value?: any) => void;
25
24
  }): string => {
26
- const toastId = randomBrowserUUID();
25
+ const toastId = crypto.randomUUID();
27
26
  toasts.value.push({
28
27
  ...toast,
29
28
  id: toastId,
@@ -46,4 +45,4 @@ export const useToastStore = defineStore('toast', () => {
46
45
  };
47
46
 
48
47
  return { toasts, addToast, removeToast, resolveToast };
49
- });
48
+ });
@@ -1,5 +1,3 @@
1
- import { randomBrowserUUID } from './browserUuid';
2
-
3
1
  const ADMINFORTH_CLIENT_ID_STORAGE_KEY = 'adminforthClientId';
4
2
 
5
3
  export const ADMINFORTH_CLIENT_ID_HEADER = 'x-adminforth-client-id';
@@ -10,7 +8,7 @@ export function getAdminForthClientId(): string {
10
8
  return existingClientId;
11
9
  }
12
10
 
13
- const clientId = randomBrowserUUID();
11
+ const clientId = crypto.randomUUID();
14
12
  sessionStorage.setItem(ADMINFORTH_CLIENT_ID_STORAGE_KEY, clientId);
15
13
  return clientId;
16
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adminforth",
3
- "version": "3.6.4-next.9",
3
+ "version": "3.6.5",
4
4
  "description": "OpenSource Agent-Native forth-generation admin panel",
5
5
  "keywords": [
6
6
  "adminforth",
@@ -1,42 +0,0 @@
1
- const UUID_BYTE_LENGTH = 16;
2
-
3
- const UUID_HEX = Array.from(
4
- { length: 256 },
5
- (_, index) => index.toString(16).padStart(2, '0'),
6
- );
7
-
8
- export function randomBrowserUUID(): string {
9
- if (typeof crypto.randomUUID === 'function') {
10
- return crypto.randomUUID();
11
- }
12
-
13
- const bytes = crypto.getRandomValues(
14
- new Uint8Array(UUID_BYTE_LENGTH),
15
- );
16
-
17
- bytes[6] = (bytes[6] & 0x0f) | 0x40;
18
- bytes[8] = (bytes[8] & 0x3f) | 0x80;
19
-
20
- return [
21
- UUID_HEX[bytes[0]],
22
- UUID_HEX[bytes[1]],
23
- UUID_HEX[bytes[2]],
24
- UUID_HEX[bytes[3]],
25
- '-',
26
- UUID_HEX[bytes[4]],
27
- UUID_HEX[bytes[5]],
28
- '-',
29
- UUID_HEX[bytes[6]],
30
- UUID_HEX[bytes[7]],
31
- '-',
32
- UUID_HEX[bytes[8]],
33
- UUID_HEX[bytes[9]],
34
- '-',
35
- UUID_HEX[bytes[10]],
36
- UUID_HEX[bytes[11]],
37
- UUID_HEX[bytes[12]],
38
- UUID_HEX[bytes[13]],
39
- UUID_HEX[bytes[14]],
40
- UUID_HEX[bytes[15]],
41
- ].join('');
42
- }