shared-ritm 1.2.130 → 1.2.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +3285 -3222
  4. package/dist/shared-ritm.umd.js +146 -146
  5. package/dist/types/api/services/ControlsService.d.ts +6 -1
  6. package/dist/types/api/services/PhotoService.d.ts +40 -0
  7. package/dist/types/api/services/ScheduleService.d.ts +13 -0
  8. package/dist/types/api/services/VideoService.d.ts +18 -9
  9. package/dist/types/api/types/Api_Controls.d.ts +15 -0
  10. package/dist/types/api/types/Api_Schedule.d.ts +26 -0
  11. package/dist/types/api/types/Api_Video.d.ts +4 -0
  12. package/dist/types/index.d.ts +3 -1
  13. package/package.json +64 -64
  14. package/src/App.vue +2461 -2461
  15. package/src/api/services/AuthService.ts +53 -53
  16. package/src/api/services/BrigadesService.ts +32 -32
  17. package/src/api/services/CommentsService.ts +24 -24
  18. package/src/api/services/ControlsService.ts +92 -73
  19. package/src/api/services/EquipmentService.ts +29 -29
  20. package/src/api/services/FileService.ts +17 -17
  21. package/src/api/services/GanttService.ts +17 -17
  22. package/src/api/services/InstrumentsService.ts +63 -63
  23. package/src/api/services/MetricsService.ts +110 -110
  24. package/src/api/services/ModulesService.ts +27 -27
  25. package/src/api/services/ProjectsService.ts +83 -83
  26. package/src/api/services/RepairsService.ts +123 -123
  27. package/src/api/services/ScheduleService.ts +34 -0
  28. package/src/api/services/SearchService.ts +22 -22
  29. package/src/api/services/TasksService.ts +145 -145
  30. package/src/api/services/UserService.ts +101 -101
  31. package/src/api/services/VideoService.ts +103 -71
  32. package/src/api/settings/ApiService.ts +124 -124
  33. package/src/api/types/Api_Auth.ts +86 -86
  34. package/src/api/types/Api_Brigades.ts +36 -36
  35. package/src/api/types/Api_Comment.ts +40 -40
  36. package/src/api/types/Api_Controls.ts +111 -93
  37. package/src/api/types/Api_Equipment.ts +3 -3
  38. package/src/api/types/Api_Files.ts +7 -7
  39. package/src/api/types/Api_Instruments.ts +136 -136
  40. package/src/api/types/Api_Modules.ts +21 -21
  41. package/src/api/types/Api_Projects.ts +60 -60
  42. package/src/api/types/Api_Repairs.ts +117 -117
  43. package/src/api/types/Api_Schedule.ts +29 -0
  44. package/src/api/types/Api_Search.ts +77 -77
  45. package/src/api/types/Api_Service.ts +9 -9
  46. package/src/api/types/Api_Tasks.ts +319 -319
  47. package/src/api/types/Api_User.ts +117 -117
  48. package/src/api/types/Api_Video.ts +145 -140
  49. package/src/common/app-button/AppButton.vue +173 -173
  50. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  51. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  52. package/src/common/app-datepicker/AppDatepicker.vue +165 -165
  53. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  54. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  55. package/src/common/app-icon/AppIcon.vue +108 -108
  56. package/src/common/app-input/AppInput.vue +148 -148
  57. package/src/common/app-input-new/AppInputNew.vue +175 -175
  58. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  59. package/src/common/app-layout/AppLayout.vue +84 -84
  60. package/src/common/app-layout/components/AppLayoutHeader.vue +273 -273
  61. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  62. package/src/common/app-loader/index.vue +43 -43
  63. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  64. package/src/common/app-select/AppSelect.vue +157 -157
  65. package/src/common/app-sheet/AppSheet.vue +120 -120
  66. package/src/common/app-sheet-new/AppSheetNew.vue +244 -246
  67. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  68. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  69. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  70. package/src/common/app-table/AppTable.vue +308 -308
  71. package/src/common/app-table/AppTableLayout.vue +137 -137
  72. package/src/common/app-table/components/ModalSelect.vue +285 -281
  73. package/src/common/app-table/components/TableModal.vue +356 -356
  74. package/src/common/app-table/components/TablePagination.vue +152 -152
  75. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  76. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  77. package/src/common/app-table/controllers/useTableModel.ts +102 -102
  78. package/src/common/app-toggle/AppToggle.vue +24 -24
  79. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  80. package/src/global.d.ts +1 -1
  81. package/src/icons/components/arrow-down-icon.vue +25 -25
  82. package/src/icons/components/arrow-frame-icon.vue +19 -19
  83. package/src/icons/components/arrow-square.vue +22 -22
  84. package/src/icons/components/table-filter-icon.vue +30 -30
  85. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  86. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  87. package/src/icons/header/NotificationIcon.vue +18 -18
  88. package/src/icons/header/PersonIcon.vue +11 -11
  89. package/src/icons/header/SettingIcon.vue +14 -14
  90. package/src/icons/header/flashIcon.vue +24 -24
  91. package/src/icons/header/searchStatusIcon.vue +24 -24
  92. package/src/icons/header/smallCapsIcon.vue +34 -34
  93. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  94. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  95. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  96. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  97. package/src/icons/sidebar/instruments-icon.vue +45 -45
  98. package/src/icons/sidebar/logo-icon.vue +15 -15
  99. package/src/icons/sidebar/logout-icon.vue +13 -13
  100. package/src/icons/sidebar/modules-icon.vue +16 -16
  101. package/src/icons/sidebar/notifications-icon.vue +24 -24
  102. package/src/icons/sidebar/order-icon.vue +44 -44
  103. package/src/icons/sidebar/pass-icon.vue +38 -38
  104. package/src/icons/sidebar/positions-icon.vue +42 -42
  105. package/src/icons/sidebar/preorder-icon.vue +19 -19
  106. package/src/icons/sidebar/projects-icon.vue +31 -31
  107. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  108. package/src/icons/sidebar/repairs-icon.vue +20 -20
  109. package/src/icons/sidebar/roles-icon.vue +26 -26
  110. package/src/icons/sidebar/status-history-icon.vue +24 -24
  111. package/src/icons/sidebar/tasks-icon.vue +28 -28
  112. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  113. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  114. package/src/icons/sidebar/teams-icon.vue +32 -32
  115. package/src/icons/sidebar/user-icon.vue +18 -18
  116. package/src/icons/sidebar/users-icon.vue +46 -46
  117. package/src/icons/sidebar/videosources-icon.vue +19 -19
  118. package/src/icons/sidebar/videowall-icon.vue +13 -13
  119. package/src/icons/sidebar/videozones-icon.vue +21 -21
  120. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  121. package/src/icons/sidebar/workshop-icon.vue +100 -100
  122. package/src/icons/sidebar/workzones-icon.vue +22 -22
  123. package/src/icons/task/attention-icon.vue +13 -13
  124. package/src/icons/task/clock-icon.vue +10 -10
  125. package/src/icons/task/delete-icon.vue +10 -10
  126. package/src/icons/task/fire-icon.vue +16 -16
  127. package/src/index.ts +126 -123
  128. package/src/main.ts +28 -28
  129. package/src/quasar-user-options.ts +17 -17
  130. package/src/router/index.ts +10 -10
  131. package/src/shared/styles/general.css +124 -124
  132. package/src/shims-vue.d.ts +5 -5
  133. package/src/styles/variables.sass +12 -12
  134. package/src/utils/confirm.ts +12 -12
  135. package/src/utils/faceApiHelper.ts +132 -132
  136. package/src/utils/helpers.ts +59 -59
  137. package/src/utils/notification.ts +9 -9
@@ -1,5 +1,5 @@
1
1
  import ApiService from '../settings/ApiService';
2
- import { Api_ControlLogs_Dto, Api_ControlZones_Dto, Api_Instrument_Type_Search } from '../types/Api_Controls';
2
+ import { Api_ControlLogs_Dto, Api_ControlZones_Dto, Api_Instrument_Category, Api_instrument_Type, Api_instrument_Type_Create, Api_Instrument_Type_Search } from '../types/Api_Controls';
3
3
  import { ResponseApi } from '../types/Api_Service';
4
4
  declare class ControlsService extends ApiService {
5
5
  fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>>;
@@ -15,6 +15,11 @@ declare class ControlsService extends ApiService {
15
15
  manualExit(params: any): Promise<ResponseApi<any>>;
16
16
  deleteControlLogs(params: any): Promise<any>;
17
17
  fetchInstrumentTypeList(params: any): Promise<ResponseApi<Api_Instrument_Type_Search[]>>;
18
+ fetchInstrumentCategoryList(params?: {
19
+ search?: string;
20
+ }): Promise<Api_Instrument_Category[]>;
21
+ createInstrumentType(body: Api_instrument_Type_Create): Promise<Api_instrument_Type>;
22
+ editInstrumentType(id: string, body: Partial<Api_instrument_Type_Create>): Promise<Api_instrument_Type>;
18
23
  deleteInstrumentType(id: string): Promise<any>;
19
24
  fetchRpdzLogList(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>>;
20
25
  }
@@ -0,0 +1,40 @@
1
+ import * as faceapi from 'face-api.js';
2
+ declare class PhotoService {
3
+ getVideoStreamConfig(width: number, height: number): {
4
+ audio: boolean;
5
+ video: {
6
+ width: {
7
+ min: number;
8
+ ideal: number;
9
+ };
10
+ height: {
11
+ min: number;
12
+ ideal: number;
13
+ };
14
+ facingMode: string;
15
+ };
16
+ };
17
+ getContourCoordinate(width: number, height: number): {
18
+ x: number;
19
+ y: number;
20
+ width: number;
21
+ height: number;
22
+ };
23
+ getBoxData(box: any): {
24
+ x: any;
25
+ y: any;
26
+ width: any;
27
+ height: any;
28
+ } | null;
29
+ setStylesForCanvas(canvasContainer: any): void;
30
+ checkFaceInclusion(frame: any, face: any): boolean;
31
+ getFaceDetections(videoRef: any): Promise<faceapi.WithFaceExpressions<faceapi.WithFaceLandmarks<{
32
+ detection: faceapi.FaceDetection;
33
+ }, faceapi.FaceLandmarks68>>[]>;
34
+ getCanvas(videoRef: any): HTMLCanvasElement;
35
+ getResizedAndDetection(canvas: any, detections: any, ctx: any, videoWidth: number, videoHeight: number): void;
36
+ getFaceSnapshot(inputImage: any, box: any): Promise<string | null>;
37
+ initModels(): Promise<void>;
38
+ }
39
+ export default function usePhotoService(): PhotoService;
40
+ export {};
@@ -0,0 +1,13 @@
1
+ import ApiService from '../settings/ApiService';
2
+ import { Api_Schedule_Complete_Brigade, Api_Schedule_Config, Api_Schedule_Table_Brigade } from '@/api/types/Api_Schedule';
3
+ declare class ScheduleService extends ApiService {
4
+ fetchSchedule(id: string): Promise<any>;
5
+ fetchScheduleConfig(): Promise<Api_Schedule_Config>;
6
+ deleteBrigadesFromSchedule(id: string, brigadeIds: string[]): Promise<{
7
+ data: boolean;
8
+ status: number;
9
+ }>;
10
+ completeBrigadeSchedule(id: string, body: Api_Schedule_Complete_Brigade): Promise<Api_Schedule_Table_Brigade>;
11
+ }
12
+ export default function useScheduleService(): ScheduleService;
13
+ export {};
@@ -1,6 +1,6 @@
1
1
  import ApiService from '../settings/ApiService';
2
2
  import { ResponseApi } from '@/api/types/Api_Service';
3
- import { Api_Video_Source_By_Repair, Api_Video_Source_Create, Api_Video_Source_Search, Api_Work_Zone, Api_Work_Zone_Search } from '@/api/types/Api_Video';
3
+ import { Api_Video_Source_By_Repair, Api_Video_Source_Create, Api_Video_Source_Search, Api_Video_Training_Status, Api_Work_Zone, Api_Work_Zone_Search } from '@/api/types/Api_Video';
4
4
  declare class VideoService extends ApiService {
5
5
  startVideoAnalytics(): Promise<boolean>;
6
6
  reloadVideoAnalytics(ids: string[]): Promise<any>;
@@ -18,16 +18,25 @@ declare class VideoService extends ApiService {
18
18
  status: number;
19
19
  }>;
20
20
  fetchVideoSources(params?: any): Promise<ResponseApi<Api_Video_Source_Search[]>>;
21
- createVideoSource(body: Api_Video_Source_Create): Promise<{
22
- data: Api_Video_Source_Search;
23
- status: number;
24
- }>;
25
- editVideoSource(id: string, body: Partial<Api_Video_Source_Create>): Promise<{
26
- data: Api_Video_Source_Search;
27
- status: number;
28
- }>;
21
+ createVideoSource(body: Api_Video_Source_Create): Promise<Api_Video_Source_Search>;
22
+ editVideoSource(id: string, body: Partial<Api_Video_Source_Create>): Promise<Api_Video_Source_Search>;
29
23
  deleteVideoSource(id: string): Promise<void>;
30
24
  fetchListRepairsVideoSource(params?: any): Promise<Api_Video_Source_By_Repair[]>;
25
+ sendCombination(body: {
26
+ cameras_id: string[];
27
+ }): Promise<any>;
28
+ saveCombination(body: any): Promise<any>;
29
+ fetchCombination(params?: Record<string, string>): Promise<any>;
30
+ startTraining(body: {
31
+ cameras_id: string[];
32
+ }): Promise<any>;
33
+ stopTraining(body: {
34
+ cameras_id: string[];
35
+ }): Promise<any>;
36
+ fetchTrainingInfo(params?: Record<string, string>): Promise<any>;
37
+ fetchTrainingStatus(params?: Record<string, string>): Promise<Api_Video_Training_Status>;
38
+ fetchVisualizationDataLink(params?: Record<string, string>): Promise<any>;
39
+ updateVisualizationData(params?: Record<string, string>): Promise<any>;
31
40
  }
32
41
  export default function useVideoService(): VideoService;
33
42
  export {};
@@ -87,3 +87,18 @@ export type Api_Instrument_Type_Search = {
87
87
  };
88
88
  warehouse_statuses: boolean;
89
89
  };
90
+ export type Api_Instrument_Category = {
91
+ id: string;
92
+ title: string[];
93
+ };
94
+ export type Api_instrument_Type_Create = {
95
+ name: string;
96
+ storage_id: string;
97
+ };
98
+ export type Api_instrument_Type = {
99
+ id: string;
100
+ name: string;
101
+ storage_id: string;
102
+ created_at: string;
103
+ updated_at: string;
104
+ };
@@ -0,0 +1,26 @@
1
+ export type Api_Schedule_Shift_Template = {
2
+ id: string;
3
+ name: string;
4
+ from: string;
5
+ to: string;
6
+ };
7
+ export type Api_Schedule_Config = {
8
+ shift_templates: Api_Schedule_Shift_Template[];
9
+ };
10
+ export type Api_Schedule_Complete_Brigade = {
11
+ brigade_id: string;
12
+ initial_first: string;
13
+ initial_last: string;
14
+ shift_template_id: string;
15
+ };
16
+ export type Api_Schedule_Table_Brigade = {
17
+ id: string;
18
+ name: string;
19
+ initial_first: string;
20
+ initial_last: string;
21
+ initial_shift_template: Api_Schedule_Shift_Template;
22
+ assigned_positions: number;
23
+ total_positions: number;
24
+ task_master: unknown | null;
25
+ is_deleted: boolean;
26
+ };
@@ -131,3 +131,7 @@ export type Api_Video_Source_By_Repair = {
131
131
  }[];
132
132
  project: Api_Video_Source_By_Repair_Project;
133
133
  };
134
+ export type Api_Video_Training_Status = {
135
+ 'global+face': string | null;
136
+ 'global+global': string | null;
137
+ };
@@ -41,9 +41,10 @@ import useModulesService from './api/services/ModulesService';
41
41
  import useCommentsService from './api/services/CommentsService';
42
42
  import useEquipmentService from './api/services/EquipmentService';
43
43
  import useBrigadesService from './api/services/BrigadesService';
44
+ import useScheduleService from './api/services/ScheduleService';
44
45
  import useFaceApiHelper from './utils/faceApiHelper';
45
46
  export { AppButton, AppCheckbox, AppDatepicker, AppDatePicker, AppInput, AppInputNew, AppInputSearch, AppLayout, AppLayoutHeader, AppLayoutPage, AppLoader, AppSelect, AppSheet, AppSheetNew, AppSidebar, AppToggle, AppWrapper, AppConfirmDialog, AppDropdown, AppTablePagination, AppTableSearch, AppTableModal, AppTable, AppTableLayout, AppModalSelect, };
46
- export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useUserService, useInstrumentsService, useSearchService, useModulesService, useCommentsService, useFaceApiHelper, useEquipmentService, useBrigadesService, };
47
+ export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useUserService, useInstrumentsService, useSearchService, useModulesService, useCommentsService, useFaceApiHelper, useEquipmentService, useBrigadesService, useScheduleService, };
47
48
  export { useBaseTable } from './common/app-table/controllers/useBaseTable';
48
49
  export { useTableModel } from './common/app-table/controllers/useTableModel';
49
50
  export { useColumnSelector } from './common/app-table/controllers/useColumnSelector';
@@ -66,3 +67,4 @@ export * from './api/types/Api_Video';
66
67
  export * from './api/types/Api_Equipment';
67
68
  export * from './api/types/Api_Brigades';
68
69
  export * from './api/types/Api_Modules';
70
+ export * from './api/types/Api_Schedule';
package/package.json CHANGED
@@ -1,64 +1,64 @@
1
- {
2
- "name": "shared-ritm",
3
- "version": "1.2.130",
4
- "private": false,
5
- "files": [
6
- "dist",
7
- "src"
8
- ],
9
- "main": "dist/shared-ritm.umd.js",
10
- "type": "module",
11
- "module": "./dist/shared-ritm.es.js",
12
- "types": "./dist/types/index.d.ts",
13
- "exports": {
14
- ".": {
15
- "import": "./dist/shared-ritm.es.js",
16
- "require": "./dist/shared-ritm.umd.js",
17
- "default": "./dist/shared-ritm.es.js",
18
- "types": "./dist/types/index.d.ts"
19
- },
20
- "./style": "./dist/index.css"
21
- },
22
- "scripts": {
23
- "dev": "vite",
24
- "build": "vite build && tsc --emitDeclarationOnly",
25
- "typecheck": "vue-tsc --noEmit",
26
- "lint": "eslint --fix",
27
- "format": "prettier -w -u ."
28
- },
29
- "dependencies": {
30
- "@quasar/extras": "^1.16.17",
31
- "@vueuse/core": "^10.1.2",
32
- "face-api.js": "^0.22.2",
33
- "axios": "^1.7.7",
34
- "vue": "^3.5.12",
35
- "vue-router": "^4.0.3"
36
- },
37
- "peerDependencies": {
38
- "quasar": "^2.18.1"
39
- },
40
- "devDependencies": {
41
- "@quasar/vite-plugin": "^1.9.0",
42
- "@rollup/pluginutils": "^5.1.3",
43
- "@types/node": "^22.7.9",
44
- "@typescript-eslint/eslint-plugin": "^4.25.0",
45
- "@typescript-eslint/parser": "^4.25.0",
46
- "@vitejs/plugin-vue": "^5.1.4",
47
- "@vue/compiler-sfc": "^3.0.5",
48
- "@vue/eslint-config-prettier": "^6.0.0",
49
- "@vue/eslint-config-typescript": "^7.0.0",
50
- "eslint": "^7.27.0",
51
- "eslint-plugin-prettier": "^3.4.0",
52
- "eslint-plugin-vue": "^7.10.0",
53
- "install": "^0.13.0",
54
- "npm": "^11.4.0",
55
- "prettier": "^2.3.0",
56
- "quasar": "^2.18.1",
57
- "rollup-plugin-visualizer": "^5.14.0",
58
- "sass": "^1.80.4",
59
- "typescript": "^5.6.3",
60
- "vite": "^5.4.9",
61
- "vite-plugin-css-modules": "^0.0.1",
62
- "vue-tsc": "^2.1.6"
63
- }
64
- }
1
+ {
2
+ "name": "shared-ritm",
3
+ "version": "1.2.132",
4
+ "private": false,
5
+ "files": [
6
+ "dist",
7
+ "src"
8
+ ],
9
+ "main": "dist/shared-ritm.umd.js",
10
+ "type": "module",
11
+ "module": "./dist/shared-ritm.es.js",
12
+ "types": "./dist/types/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/shared-ritm.es.js",
16
+ "require": "./dist/shared-ritm.umd.js",
17
+ "default": "./dist/shared-ritm.es.js",
18
+ "types": "./dist/types/index.d.ts"
19
+ },
20
+ "./style": "./dist/index.css"
21
+ },
22
+ "scripts": {
23
+ "dev": "vite",
24
+ "build": "vite build && tsc --emitDeclarationOnly",
25
+ "typecheck": "vue-tsc --noEmit",
26
+ "lint": "eslint --fix",
27
+ "format": "prettier -w -u ."
28
+ },
29
+ "dependencies": {
30
+ "@quasar/extras": "^1.16.17",
31
+ "@vueuse/core": "^10.1.2",
32
+ "face-api.js": "^0.22.2",
33
+ "axios": "^1.7.7",
34
+ "vue": "^3.5.12",
35
+ "vue-router": "^4.0.3"
36
+ },
37
+ "peerDependencies": {
38
+ "quasar": "^2.18.1"
39
+ },
40
+ "devDependencies": {
41
+ "@quasar/vite-plugin": "^1.9.0",
42
+ "@rollup/pluginutils": "^5.1.3",
43
+ "@types/node": "^22.7.9",
44
+ "@typescript-eslint/eslint-plugin": "^4.25.0",
45
+ "@typescript-eslint/parser": "^4.25.0",
46
+ "@vitejs/plugin-vue": "^5.1.4",
47
+ "@vue/compiler-sfc": "^3.0.5",
48
+ "@vue/eslint-config-prettier": "^6.0.0",
49
+ "@vue/eslint-config-typescript": "^7.0.0",
50
+ "eslint": "^7.27.0",
51
+ "eslint-plugin-prettier": "^3.4.0",
52
+ "eslint-plugin-vue": "^7.10.0",
53
+ "install": "^0.13.0",
54
+ "npm": "^11.4.0",
55
+ "prettier": "^2.3.0",
56
+ "quasar": "^2.18.1",
57
+ "rollup-plugin-visualizer": "^5.14.0",
58
+ "sass": "^1.80.4",
59
+ "typescript": "^5.6.3",
60
+ "vite": "^5.4.9",
61
+ "vite-plugin-css-modules": "^0.0.1",
62
+ "vue-tsc": "^2.1.6"
63
+ }
64
+ }