shared-ritm 1.3.67 → 1.3.69

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 (76) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +4862 -4700
  3. package/dist/shared-ritm.umd.js +190 -190
  4. package/dist/types/api/services/AuthService.d.ts +0 -1
  5. package/dist/types/api/services/MetricsService.d.ts +2 -1
  6. package/dist/types/api/services/PhotoService.d.ts +40 -0
  7. package/dist/types/api/services/UserService.d.ts +1 -2
  8. package/dist/types/api/settings/ApiService.d.ts +2 -7
  9. package/dist/types/api/types/Api_Auth.d.ts +0 -15
  10. package/dist/types/api/types/Api_Metrics.d.ts +18 -0
  11. package/dist/types/api/types/Api_User.d.ts +0 -9
  12. package/dist/types/common/app-checkbox/Checkbox.stories.d.ts +5 -1
  13. package/dist/types/common/app-toggle/Toggle.stories.d.ts +5 -1
  14. package/dist/types/stories/Button.stories.d.ts +13 -0
  15. package/dist/types/stories/Checkbox.stories.d.ts +7 -0
  16. package/dist/types/stories/Confirm.stories.d.ts +8 -0
  17. package/dist/types/stories/DatePicker.stories.d.ts +8 -0
  18. package/dist/types/stories/Dropdown.stories.d.ts +8 -0
  19. package/dist/types/stories/File.stories.d.ts +8 -0
  20. package/dist/types/stories/Icon.stories.d.ts +7 -0
  21. package/dist/types/stories/Input.stories.d.ts +11 -0
  22. package/dist/types/stories/InputNew.stories.d.ts +12 -0
  23. package/dist/types/stories/InputSearch.stories.d.ts +10 -0
  24. package/dist/types/stories/Loader.stories.d.ts +8 -0
  25. package/dist/types/stories/Select.stories.d.ts +7 -0
  26. package/dist/types/stories/Toggle.stories.d.ts +8 -0
  27. package/package.json +70 -70
  28. package/src/App.vue +2461 -2461
  29. package/src/api/services/AuthService.ts +4 -18
  30. package/src/api/services/ControlsService.ts +96 -96
  31. package/src/api/services/EquipmentService.ts +29 -29
  32. package/src/api/services/GanttService.ts +23 -23
  33. package/src/api/services/MetricsService.ts +127 -123
  34. package/src/api/services/RepairsService.ts +111 -111
  35. package/src/api/services/UserService.ts +0 -6
  36. package/src/api/services/VideoService.ts +118 -118
  37. package/src/api/settings/ApiService.ts +10 -73
  38. package/src/api/types/Api_Auth.ts +0 -16
  39. package/src/api/types/Api_Metrics.ts +26 -5
  40. package/src/api/types/Api_Repairs.ts +186 -186
  41. package/src/api/types/Api_Tasks.ts +376 -376
  42. package/src/api/types/Api_User.ts +0 -10
  43. package/src/api/types/Api_Video.ts +244 -244
  44. package/src/common/app-button/Button.stories.ts +369 -369
  45. package/src/common/app-checkbox/AppCheckbox.vue +19 -12
  46. package/src/common/app-checkbox/Checkbox.stories.ts +252 -60
  47. package/src/common/app-date-picker/DatePicker.stories.ts +66 -66
  48. package/src/common/app-datepicker/Datepicker.stories.ts +145 -145
  49. package/src/common/app-dialogs/AppConfirmDialog.vue +109 -109
  50. package/src/common/app-dialogs/Confirm.stories.ts +93 -93
  51. package/src/common/app-dropdown/Dropdown.stories.ts +94 -94
  52. package/src/common/app-file/File.stories.ts +104 -104
  53. package/src/common/app-icon/AppIcon.vue +108 -108
  54. package/src/common/app-icon/Icon.stories.ts +91 -91
  55. package/src/common/app-input/Input.stories.ts +160 -160
  56. package/src/common/app-input-new/InputNew.stories.ts +240 -240
  57. package/src/common/app-input-search/InputSearch.stories.ts +149 -149
  58. package/src/common/app-layout/components/AppLayoutHeader.vue +289 -289
  59. package/src/common/app-loader/Loader.stories.ts +114 -114
  60. package/src/common/app-select/AppSelect.vue +159 -159
  61. package/src/common/app-select/Select.stories.ts +155 -155
  62. package/src/common/app-sidebar/AppSidebar.vue +174 -174
  63. package/src/common/app-table/AppTable.vue +313 -313
  64. package/src/common/app-table/components/ModalSelect.stories.ts +323 -323
  65. package/src/common/app-table/components/ModalSelect.vue +302 -302
  66. package/src/common/app-table/components/TableModal.vue +367 -367
  67. package/src/common/app-table/controllers/useColumnSelector.ts +45 -45
  68. package/src/common/app-table/controllers/useTableModel.ts +97 -97
  69. package/src/common/app-toggle/AppToggle.vue +5 -15
  70. package/src/common/app-toggle/Toggle.stories.ts +245 -69
  71. package/src/common/app-wrapper/AppWrapper.vue +31 -31
  72. package/src/configs/storybook.ts +14 -14
  73. package/src/index.ts +131 -131
  74. package/src/shared/styles/general.css +140 -140
  75. package/src/styles/variables.sass +12 -12
  76. package/src/utils/helpers.ts +59 -59
@@ -8,7 +8,6 @@ declare class AuthService extends ApiService {
8
8
  userInfo(): Promise<any>;
9
9
  configs(): Promise<ConfigResponse>;
10
10
  changePassword(id: string, password: string, password_confirmation: string): Promise<ChangePasswordResponse>;
11
- changePasswordAndActivate(email: string, currentPassword: string, password: string, passwordConfirmation: string): Promise<any>;
12
11
  }
13
12
  export default function useAuthService(): AuthService;
14
13
  export {};
@@ -1,6 +1,6 @@
1
1
  import ApiService from '../settings/ApiService';
2
2
  import { ResponseApi } from '../types/Api_Service';
3
- import { Api_Metrics_Unused_Personnel } from '@/api/types/Api_Metrics';
3
+ import { Api_Metrics_Personnel_Plan, Api_Metrics_Unused_Personnel } from '@/api/types/Api_Metrics';
4
4
  declare class MetricsService extends ApiService {
5
5
  fetchPieProjects(queryString: string): Promise<ResponseApi<any>>;
6
6
  fetchPieTasks(queryString: string): Promise<ResponseApi<any>>;
@@ -30,6 +30,7 @@ declare class MetricsService extends ApiService {
30
30
  fetchWorkZoneInfo(queryString: string): Promise<any>;
31
31
  fetchPieAllTasks(queryString: string): Promise<any>;
32
32
  fetchPieAllTasksInfo(queryString: string): Promise<any>;
33
+ fetchPersonnelPlan(params: any): Promise<Api_Metrics_Personnel_Plan>;
33
34
  }
34
35
  export default function useMetricsService(): MetricsService;
35
36
  export {};
@@ -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 {};
@@ -1,5 +1,5 @@
1
1
  import ApiService from '../settings/ApiService';
2
- import { Api_User, Api_User_Create, Api_User_Delete_Body, Api_User_Delete_Photos_Body, Api_User_Position, Api_User_Role, Api_User_Team, Api_User_Team_Search, Api_User_Warehouse, Api_User_Change_Password_Payload } from '../types/Api_User';
2
+ import { Api_User, Api_User_Create, Api_User_Delete_Body, Api_User_Delete_Photos_Body, Api_User_Position, Api_User_Role, Api_User_Team, Api_User_Team_Search, Api_User_Warehouse } from '../types/Api_User';
3
3
  import { ResponseApi } from '../types/Api_Service';
4
4
  declare class UserService extends ApiService {
5
5
  editUser({ id, model }: {
@@ -7,7 +7,6 @@ declare class UserService extends ApiService {
7
7
  model: any;
8
8
  }): Promise<Api_User>;
9
9
  getUser(id: string): Promise<Api_User>;
10
- changeUserPassword(payload: Api_User_Change_Password_Payload): Promise<Api_User>;
11
10
  getUserWarehouses(params: {
12
11
  user_id: string;
13
12
  page?: number;
@@ -4,15 +4,10 @@ export declare enum ApiServiceType {
4
4
  }
5
5
  export default class ApiService {
6
6
  private axiosInstance;
7
- private refreshSubscribers;
8
7
  constructor();
9
- private setAccessToken;
10
- private getAccessToken;
8
+ private getToken;
11
9
  private removeToken;
12
- private subscribeTokenRefresh;
13
- private refresh;
14
- private onRefreshed;
15
- logoutUser(): any;
10
+ logout(): void;
16
11
  private handleError;
17
12
  protected get<T>(url: string, options?: AxiosRequestConfig): Promise<T>;
18
13
  protected delete<T>(url: string, options?: AxiosRequestConfig): Promise<AxiosResponse<T, any, {}>>;
@@ -64,15 +64,6 @@ export type Api_Auth_User = {
64
64
  roles: Api_Auth_User_Role[];
65
65
  security_warnings: any[];
66
66
  teams: Api_Auth_User_Team[];
67
- avatar: null;
68
- change_password: null;
69
- created_at: string;
70
- deleted_at: null;
71
- face_recognition_id: null;
72
- password_change_available_at: string;
73
- password_change_due_at: string;
74
- password_last_changed_at: string;
75
- updated_at: string;
76
67
  };
77
68
  export type Api_Auth_Login = {
78
69
  token: string;
@@ -82,11 +73,5 @@ export type ChangePasswordPayload = {
82
73
  password: string;
83
74
  password_confirmation: string;
84
75
  };
85
- export type ChangePasswordAndActivatePayload = {
86
- email: string;
87
- currentPassword: string;
88
- password: string;
89
- passwordConfirmation: string;
90
- };
91
76
  export type ChangePasswordResponse = Pick<Api_User, 'id' | 'archiveHistory' | 'assigned_tasks' | 'divisions' | 'email' | 'full_name' | 'passes' | 'personnel_number' | 'phone' | 'photos' | 'positions' | 'responsible_tasks' | 'teams' | 'warehouses'>;
92
77
  export type ConfigResponse = any;
@@ -3,3 +3,21 @@ export type Api_Metrics_Unused_Personnel = {
3
3
  brigade_name: string | null;
4
4
  full_name: string | null;
5
5
  };
6
+ export type Api_Metrics_Personnel_Plan_User = {
7
+ user_id: string;
8
+ full_name: string;
9
+ position_id: string;
10
+ position_name: string;
11
+ position_display_name: string;
12
+ };
13
+ export type Api_Metrics_Personnel_Plan_Position = {
14
+ position_id: string;
15
+ position_name: string;
16
+ position_display_name: string;
17
+ count: number;
18
+ };
19
+ export type Api_Metrics_Personnel_Plan = {
20
+ engaged: Api_Metrics_Personnel_Plan_User[];
21
+ fixed_repair: Api_Metrics_Personnel_Plan_Position[];
22
+ ready: Api_Metrics_Personnel_Plan_User[];
23
+ };
@@ -71,15 +71,6 @@ export type Api_User = {
71
71
  id: string;
72
72
  name: string;
73
73
  }[];
74
- password_change_available_at: string;
75
- password_change_due_at: string;
76
- password_last_changed_at: string;
77
- };
78
- export type Api_User_Change_Password_Payload = {
79
- email: string;
80
- password: string;
81
- currentPassword: string;
82
- passwordConfirmation: string;
83
74
  };
84
75
  export type Api_User_Create = {
85
76
  last_name?: string;
@@ -5,4 +5,8 @@ export default meta;
5
5
  type Story = StoryObj<typeof AppCheckbox>;
6
6
  export declare const Default: Story;
7
7
  export declare const States: Story;
8
- export declare const WithBinding: Story;
8
+ export declare const Sizes: Story;
9
+ export declare const Colors: Story;
10
+ export declare const DarkBg: Story;
11
+ export declare const Icons: Story;
12
+ export declare const ArrayModel: Story;
@@ -5,4 +5,8 @@ export default meta;
5
5
  type Story = StoryObj<typeof AppToggle>;
6
6
  export declare const Default: Story;
7
7
  export declare const States: Story;
8
- export declare const WithBinding: Story;
8
+ export declare const Sizes: Story;
9
+ export declare const Colors: Story;
10
+ export declare const DarkBg: Story;
11
+ export declare const Icons: Story;
12
+ export declare const ArrayModel: Story;
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppButton from '@/common/app-button/AppButton.vue';
3
+ declare const meta: Meta<typeof AppButton>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppButton>;
6
+ export declare const Primary: Story;
7
+ export declare const Size: Story;
8
+ export declare const Icon: Story;
9
+ export declare const Badge: Story;
10
+ export declare const Align: Story;
11
+ export declare const Spacing: Story;
12
+ export declare const Rounding: Story;
13
+ export declare const Other: Story;
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppCheckbox from '@/common/app-checkbox/AppCheckbox.vue';
3
+ declare const meta: Meta<typeof AppCheckbox>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppCheckbox>;
6
+ export declare const Default: Story;
7
+ export declare const States: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppDialog from '@/common/app-dialogs/AppConfirmDialog.vue';
3
+ declare const meta: Meta<typeof AppDialog>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppDialog>;
6
+ export declare const Edit: Story;
7
+ export declare const Delete: Story;
8
+ export declare const CustomMessage: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import DatePicker from '@/common/app-date-picker/AppDatePicker.vue';
3
+ declare const meta: Meta<typeof DatePicker>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof DatePicker>;
6
+ export declare const Default: Story;
7
+ export declare const States: Story;
8
+ export declare const DateRestrictions: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppDropdown from '@/common/app-dropdown/AppDropdown.vue';
3
+ declare const meta: Meta<typeof AppDropdown>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppDropdown>;
6
+ export declare const Default: Story;
7
+ export declare const WithSlots: Story;
8
+ export declare const ContentSize: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppFile from '@/common/app-file/AppFile.vue';
3
+ declare const meta: Meta<typeof AppFile>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppFile>;
6
+ export declare const SingleFile: Story;
7
+ export declare const MultipleFiles: Story;
8
+ export declare const Disabled: Story;
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppIcon from '@/common/app-icon/AppIcon.vue';
3
+ declare const meta: Meta<typeof AppIcon>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppIcon>;
6
+ export declare const Default: Story;
7
+ export declare const Sizes: Story;
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppInput from '@/common/app-input/AppInput.vue';
3
+ declare const meta: Meta<typeof AppInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppInput>;
6
+ export declare const Default: Story;
7
+ export declare const InputTypes: Story;
8
+ export declare const States: Story;
9
+ export declare const Sizes: Story;
10
+ export declare const Password: Story;
11
+ export declare const WithMask: Story;
@@ -0,0 +1,12 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppInputNew from '@/common/app-input-new/AppInputNew.vue';
3
+ declare const meta: Meta<typeof AppInputNew>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppInputNew>;
6
+ export declare const Default: Story;
7
+ export declare const InputTypes: Story;
8
+ export declare const Features: Story;
9
+ export declare const States: Story;
10
+ export declare const WithLabel: Story;
11
+ export declare const Password: Story;
12
+ export declare const WithAppendSlot: Story;
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppInputSearch from '@/common/app-input-search/AppInputSearch.vue';
3
+ declare const meta: Meta<typeof AppInputSearch>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppInputSearch>;
6
+ export declare const Default: Story;
7
+ export declare const InputTypes: Story;
8
+ export declare const States: Story;
9
+ export declare const SizesAndStyles: Story;
10
+ export declare const WithMask: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppLoader from '@/common/app-loader/index.vue';
3
+ declare const meta: Meta<typeof AppLoader>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppLoader>;
6
+ export declare const GlobalLoader: Story;
7
+ export declare const Size: Story;
8
+ export declare const Thickness: Story;
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppSelect from '@/common/app-select/AppSelect.vue';
3
+ declare const meta: Meta<typeof AppSelect>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppSelect>;
6
+ export declare const Default: Story;
7
+ export declare const States: Story;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import AppToggle from '@/common/app-toggle/AppToggle.vue';
3
+ declare const meta: Meta<typeof AppToggle>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AppToggle>;
6
+ export declare const Default: Story;
7
+ export declare const States: Story;
8
+ export declare const WithBinding: Story;
package/package.json CHANGED
@@ -1,70 +1,70 @@
1
- {
2
- "name": "shared-ritm",
3
- "version": "1.3.67",
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
- "types": "./dist/types/index.d.ts",
16
- "import": "./dist/shared-ritm.es.js",
17
- "require": "./dist/shared-ritm.umd.js",
18
- "default": "./dist/shared-ritm.es.js"
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
- "storybook": "storybook dev -p 6006",
29
- "build-storybook": "storybook build"
30
- },
31
- "dependencies": {
32
- "@quasar/extras": "^1.17.0",
33
- "@vueuse/core": "^10.11.1",
34
- "face-api.js": "^0.22.2",
35
- "axios": "^1.13.2",
36
- "vue-router": "^4.6.3"
37
- },
38
- "peerDependencies": {
39
- "quasar": "^2.18.1",
40
- "vue": "^3.5.12"
41
- },
42
- "devDependencies": {
43
- "@quasar/vite-plugin": "^1.10.0",
44
- "@rollup/pluginutils": "^5.3.0",
45
- "@storybook/addon-docs": "^10.0.8",
46
- "@storybook/vue3": "^10.0.8",
47
- "@storybook/vue3-vite": "^10.0.8",
48
- "@types/node": "^22.19.1",
49
- "@vitejs/plugin-vue": "^5.2.4",
50
- "@vue/compiler-sfc": "^3.5.24",
51
- "install": "^0.13.0",
52
- "npm": "^11.6.2",
53
- "prettier": "^3.3.3",
54
- "rollup-plugin-visualizer": "^5.14.0",
55
- "sass": "^1.94.1",
56
- "storybook": "^10.0.8",
57
- "typescript": "^5.9.3",
58
- "vite": "^5.4.21",
59
- "vite-plugin-css-modules": "^0.0.1",
60
- "vue-tsc": "^2.2.12",
61
- "@typescript-eslint/eslint-plugin": "^7.13.1",
62
- "@typescript-eslint/parser": "^7.13.1",
63
- "eslint": "^8.57.0",
64
- "eslint-plugin-prettier": "^5.2.1",
65
- "eslint-plugin-storybook": "^0.12.0",
66
- "eslint-plugin-vue": "^9.26.0",
67
- "@vue/eslint-config-prettier": "^9.0.0",
68
- "@vue/eslint-config-typescript": "^12.0.0"
69
- }
70
- }
1
+ {
2
+ "name": "shared-ritm",
3
+ "version": "1.3.69",
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
+ "types": "./dist/types/index.d.ts",
16
+ "import": "./dist/shared-ritm.es.js",
17
+ "require": "./dist/shared-ritm.umd.js",
18
+ "default": "./dist/shared-ritm.es.js"
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
+ "storybook": "storybook dev -p 6006",
29
+ "build-storybook": "storybook build"
30
+ },
31
+ "dependencies": {
32
+ "@quasar/extras": "^1.17.0",
33
+ "@vueuse/core": "^10.11.1",
34
+ "face-api.js": "^0.22.2",
35
+ "axios": "^1.13.2",
36
+ "vue-router": "^4.6.3"
37
+ },
38
+ "peerDependencies": {
39
+ "quasar": "^2.18.1",
40
+ "vue": "^3.5.12"
41
+ },
42
+ "devDependencies": {
43
+ "@quasar/vite-plugin": "^1.10.0",
44
+ "@rollup/pluginutils": "^5.3.0",
45
+ "@storybook/addon-docs": "^10.0.8",
46
+ "@storybook/vue3": "^10.0.8",
47
+ "@storybook/vue3-vite": "^10.0.8",
48
+ "@types/node": "^22.19.1",
49
+ "@vitejs/plugin-vue": "^5.2.4",
50
+ "@vue/compiler-sfc": "^3.5.24",
51
+ "install": "^0.13.0",
52
+ "npm": "^11.6.2",
53
+ "prettier": "^3.3.3",
54
+ "rollup-plugin-visualizer": "^5.14.0",
55
+ "sass": "^1.94.1",
56
+ "storybook": "^10.0.8",
57
+ "typescript": "^5.9.3",
58
+ "vite": "^5.4.21",
59
+ "vite-plugin-css-modules": "^0.0.1",
60
+ "vue-tsc": "^2.2.12",
61
+ "@typescript-eslint/eslint-plugin": "^7.13.1",
62
+ "@typescript-eslint/parser": "^7.13.1",
63
+ "eslint": "^8.57.0",
64
+ "eslint-plugin-prettier": "^5.2.1",
65
+ "eslint-plugin-storybook": "^0.12.0",
66
+ "eslint-plugin-vue": "^9.26.0",
67
+ "@vue/eslint-config-prettier": "^9.0.0",
68
+ "@vue/eslint-config-typescript": "^12.0.0"
69
+ }
70
+ }