@datability/8ui 1.0.0 → 1.1.1

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 (75) hide show
  1. package/README.md +1 -3
  2. package/dist/components/assets/closed.svg +4 -0
  3. package/dist/components/assets/expand-arrow.svg +3 -0
  4. package/dist/components/assets/visibility-off.svg +5 -0
  5. package/dist/components/assets/visibility.svg +5 -0
  6. package/dist/components/blackdrop/index.scss +16 -0
  7. package/dist/components/button/index.scss +40 -0
  8. package/dist/components/chip/index.scss +32 -0
  9. package/dist/components/divider/index.scss +4 -0
  10. package/dist/components/input/extend.scss +19 -0
  11. package/dist/components/input/input-auto-complete/index.scss +53 -0
  12. package/dist/components/input/input-base/index.scss +14 -0
  13. package/dist/components/input/input-basic/index.scss +9 -0
  14. package/dist/components/input/input-checkbox/index.scss +30 -0
  15. package/dist/components/input/input-date/index.scss +102 -0
  16. package/dist/components/input/input-date-range/index.scss +101 -0
  17. package/dist/components/input/input-date-time/index.scss +179 -0
  18. package/dist/components/input/input-number/index.scss +9 -0
  19. package/dist/components/input/input-password/index.scss +22 -0
  20. package/dist/components/input/input-radio/index.scss +35 -0
  21. package/dist/components/input/input-select/index.scss +81 -0
  22. package/dist/components/input/input-switch/index.scss +84 -0
  23. package/dist/components/input/input-textarea/index.scss +10 -0
  24. package/dist/components/menu/index.scss +30 -0
  25. package/dist/components/modal/index.scss +33 -0
  26. package/dist/{assets/index-QxCDX2bt.css → index.css} +1 -1
  27. package/dist/index.es.js +1827 -0
  28. package/dist/index.es.js.map +1 -0
  29. package/dist/index.umd.js +8 -0
  30. package/dist/index.umd.js.map +1 -0
  31. package/dist/types/App.d.ts +2 -0
  32. package/dist/types/components/blackdrop/index.d.ts +4 -0
  33. package/dist/types/components/blackdrop/index.type.d.ts +6 -0
  34. package/dist/types/components/button/index.d.ts +4 -0
  35. package/dist/types/components/button/index.type.d.ts +12 -0
  36. package/dist/types/components/chip/index.d.ts +4 -0
  37. package/dist/types/components/chip/index.type.d.ts +9 -0
  38. package/dist/types/components/context.d.ts +8 -0
  39. package/dist/types/components/divider/index.d.ts +3 -0
  40. package/dist/types/components/index.d.ts +41 -0
  41. package/dist/types/components/input/input-auto-complete/index.d.ts +4 -0
  42. package/dist/types/components/input/input-auto-complete/index.type.d.ts +12 -0
  43. package/dist/types/components/input/input-base/index.d.ts +4 -0
  44. package/dist/types/components/input/input-base/index.type.d.ts +11 -0
  45. package/dist/types/components/input/input-basic/index.d.ts +4 -0
  46. package/dist/types/components/input/input-basic/index.type.d.ts +8 -0
  47. package/dist/types/components/input/input-checkbox/index.d.ts +4 -0
  48. package/dist/types/components/input/input-checkbox/index.type.d.ts +11 -0
  49. package/dist/types/components/input/input-date/index.d.ts +22 -0
  50. package/dist/types/components/input/input-date/index.type.d.ts +11 -0
  51. package/dist/types/components/input/input-date-range/index.d.ts +4 -0
  52. package/dist/types/components/input/input-date-range/index.type.d.ts +11 -0
  53. package/dist/types/components/input/input-date-time/index.d.ts +4 -0
  54. package/dist/types/components/input/input-date-time/index.type.d.ts +11 -0
  55. package/dist/types/components/input/input-number/index.d.ts +4 -0
  56. package/dist/types/components/input/input-number/index.type.d.ts +10 -0
  57. package/dist/types/components/input/input-password/index.d.ts +4 -0
  58. package/dist/types/components/input/input-password/index.type.d.ts +8 -0
  59. package/dist/types/components/input/input-radio/index.d.ts +4 -0
  60. package/dist/types/components/input/input-radio/index.type.d.ts +12 -0
  61. package/dist/types/components/input/input-select/index.d.ts +4 -0
  62. package/dist/types/components/input/input-select/index.type.d.ts +14 -0
  63. package/dist/types/components/input/input-switch/index.d.ts +4 -0
  64. package/dist/types/components/input/input-switch/index.type.d.ts +4 -0
  65. package/dist/types/components/input/input-textarea/index.d.ts +4 -0
  66. package/dist/types/components/input/input-textarea/index.type.d.ts +10 -0
  67. package/dist/types/components/menu/index.d.ts +4 -0
  68. package/dist/types/components/menu/index.type.d.ts +11 -0
  69. package/dist/types/components/modal/index.d.ts +4 -0
  70. package/dist/types/components/modal/index.type.d.ts +7 -0
  71. package/dist/types/index.d.ts +41 -0
  72. package/dist/types/main.d.ts +1 -0
  73. package/package.json +17 -14
  74. package/dist/assets/index-BYmsRLQS.js +0 -48
  75. package/dist/index.html +0 -14
@@ -0,0 +1,2 @@
1
+ declare function App(): import("react/jsx-runtime").JSX.Element;
2
+ export default App;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsBlackdrop } from './index.type';
3
+ declare const Blackdrop: React.FC<PropsBlackdrop>;
4
+ export default Blackdrop;
@@ -0,0 +1,6 @@
1
+ import { JSX } from 'react';
2
+ export type PropsBlackdrop = {
3
+ children: JSX.Element | JSX.Element[];
4
+ open: boolean;
5
+ onClose?: () => void;
6
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsButton } from './index.type';
3
+ declare const Button: React.FC<PropsButton>;
4
+ export default Button;
@@ -0,0 +1,12 @@
1
+ import { CSSProperties, ElementType } from 'react';
2
+ export type PropsButton = {
3
+ name?: string;
4
+ type?: "button" | "submit";
5
+ disabled?: boolean;
6
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
7
+ startIcon?: string | ElementType;
8
+ endIcon?: string | ElementType;
9
+ className?: string;
10
+ style?: CSSProperties;
11
+ isLoading?: boolean;
12
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsChip } from './index.type';
3
+ declare const Chip: React.FC<PropsChip>;
4
+ export default Chip;
@@ -0,0 +1,9 @@
1
+ import { CSSProperties, ElementType } from 'react';
2
+ export type PropsChip = {
3
+ label: string;
4
+ onDelete?: () => void;
5
+ onClick?: () => void;
6
+ icon?: string | ElementType;
7
+ className?: string;
8
+ style?: CSSProperties;
9
+ };
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ type TContext = {
3
+ openModalCount: number;
4
+ setOpenModalCount?: React.Dispatch<React.SetStateAction<number>>;
5
+ };
6
+ export declare const DBuiContext: React.Context<TContext>;
7
+ export declare const DBuiProvider: (props: any) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const Divider: React.FC;
3
+ export default Divider;
@@ -0,0 +1,41 @@
1
+ export { default as Button } from './button';
2
+ export type { PropsButton } from './button/index.type';
3
+ export { default as Blackdrop } from './blackdrop';
4
+ export type { PropsBlackdrop } from './blackdrop/index.type';
5
+ export { default as Chip } from './chip';
6
+ export type { PropsChip } from './chip/index.type';
7
+ export { default as Divider } from './divider';
8
+ export { default as Menu } from './menu';
9
+ export type { PropsMenu } from './menu/index.type';
10
+ export { default as Modal } from './modal';
11
+ export type { PropsModal } from './modal/index.type';
12
+ export { default as Input } from './input/input-basic';
13
+ export type { PropsInputBasic as PropsInput } from './input/input-basic/index.type';
14
+ export { default as InputNumber } from './input/input-number';
15
+ export type { PropsInputNumber } from './input/input-number/index.type';
16
+ export { default as InputDate } from './input/input-date';
17
+ export type { PropsInputDate } from './input/input-date/index.type';
18
+ export { default as InputDateRange } from './input/input-date-range';
19
+ export type { PropsInputDateRange } from './input/input-date-range/index.type';
20
+ export { default as InputDateTime } from './input/input-date-time';
21
+ export type { PropsInputDateTime } from './input/input-date-time/index.type';
22
+ export { default as InputPassword } from './input/input-password';
23
+ export type { PropsInputPassword } from './input/input-password/index.type';
24
+ export { default as InputRadio } from './input/input-radio';
25
+ export type { PropsInputRadio } from './input/input-radio/index.type';
26
+ export { default as InputCheckbox } from './input/input-checkbox';
27
+ export type { PropsInputCheckbox } from './input/input-checkbox/index.type';
28
+ export { default as InputTextarea } from './input/input-textarea';
29
+ export type { PropsInputTextarea } from './input/input-textarea/index.type';
30
+ export { default as InputSelect } from './input/input-select';
31
+ export type { PropsInputSelect } from './input/input-select/index.type';
32
+ export { default as InputAutoComplete } from './input/input-auto-complete';
33
+ export type { PropsInputAutoComplete } from './input/input-auto-complete/index.type';
34
+ export { default as InputSwitch } from './input/input-switch';
35
+ export type { PropsInputSwitch } from './input/input-switch/index.type';
36
+ export type TValueOption = string | number;
37
+ export type TOption = {
38
+ label: string;
39
+ value: TValueOption;
40
+ };
41
+ export { DBuiContext, DBuiProvider } from './context';
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputAutoComplete } from './index.type';
3
+ declare const InputAutoComplete: React.FC<PropsInputAutoComplete>;
4
+ export default InputAutoComplete;
@@ -0,0 +1,12 @@
1
+ import { TOption } from '../..';
2
+ export type PropsInputAutoComplete = {
3
+ name: string;
4
+ label?: string;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ require?: boolean;
8
+ fullWidth?: boolean;
9
+ options: TOption[];
10
+ isMultiple?: boolean;
11
+ isInModal?: boolean;
12
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputBase } from './index.type';
3
+ declare const InputBase: React.FC<PropsInputBase>;
4
+ export default InputBase;
@@ -0,0 +1,11 @@
1
+ import { JSX } from 'react';
2
+ import { FieldError, FieldErrorsImpl, Merge } from 'react-hook-form';
3
+ export type PropsInputBase = {
4
+ name: string;
5
+ label?: string;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ children: JSX.Element | JSX.Element[];
9
+ isInvalid: boolean;
10
+ errorMessage: string | FieldError | Merge<FieldError, FieldErrorsImpl<any>> | undefined;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputBasic } from './index.type';
3
+ declare const Input: React.FC<PropsInputBasic>;
4
+ export default Input;
@@ -0,0 +1,8 @@
1
+ export type PropsInputBasic = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputCheckbox } from './index.type';
3
+ declare const InputCheckbox: React.FC<PropsInputCheckbox>;
4
+ export default InputCheckbox;
@@ -0,0 +1,11 @@
1
+ export type PropsInputCheckbox = {
2
+ name: string;
3
+ label?: string;
4
+ disabled?: boolean;
5
+ require?: boolean;
6
+ fullWidth?: boolean;
7
+ options: {
8
+ label: string;
9
+ value: string | number;
10
+ }[];
11
+ };
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputDate } from './index.type';
3
+ declare const InputDate: React.FC<PropsInputDate>;
4
+ export default InputDate;
5
+ export declare function generateYearOptions(minYear?: number, maxYear?: number): {
6
+ label: string;
7
+ value: number;
8
+ }[];
9
+ export declare function generateMonthOptions(): {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ export declare function updateYearInDateString(dateStr: string, newYear: number): string;
14
+ export declare function updateMonthInDateString(dateStr: string, newMonth: string): string;
15
+ export declare function getYearInDateString(dateStr: string): number;
16
+ export declare function getMonthInDateString(dateStr: string): string;
17
+ export declare function getDayInDateString(dateStr: string): string;
18
+ export declare function getDaysInMonthWithWeekday(year: number, month: string): {
19
+ date: string;
20
+ weekday: string;
21
+ }[];
22
+ export declare function getDateNow(): string;
@@ -0,0 +1,11 @@
1
+ export type PropsInputDate = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ isHideClearIcon?: boolean;
9
+ minYear?: number;
10
+ maxYear?: number;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputDateRange } from './index.type';
3
+ declare const InputDateRange: React.FC<PropsInputDateRange>;
4
+ export default InputDateRange;
@@ -0,0 +1,11 @@
1
+ export type PropsInputDateRange = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ isHideClearIcon?: boolean;
9
+ minYear?: number;
10
+ maxYear?: number;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputDateTime } from './index.type';
3
+ declare const InputDateTime: React.FC<PropsInputDateTime>;
4
+ export default InputDateTime;
@@ -0,0 +1,11 @@
1
+ export type PropsInputDateTime = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ isHideClearIcon?: boolean;
9
+ minYear?: number;
10
+ maxYear?: number;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputNumber } from './index.type';
3
+ declare const InputNumber: React.FC<PropsInputNumber>;
4
+ export default InputNumber;
@@ -0,0 +1,10 @@
1
+ export type PropsInputNumber = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ isPhoneNumber?: boolean;
9
+ isAvailableMinus?: boolean;
10
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputPassword } from './index.type';
3
+ declare const InputPassword: React.FC<PropsInputPassword>;
4
+ export default InputPassword;
@@ -0,0 +1,8 @@
1
+ export type PropsInputPassword = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputRadio } from './index.type';
3
+ declare const InputRadio: React.FC<PropsInputRadio>;
4
+ export default InputRadio;
@@ -0,0 +1,12 @@
1
+ export type PropsInputRadio = {
2
+ name: string;
3
+ label?: string;
4
+ disabled?: boolean;
5
+ require?: boolean;
6
+ fullWidth?: boolean;
7
+ isVertical?: boolean;
8
+ options: {
9
+ label: string;
10
+ value: string | number;
11
+ }[];
12
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputSelect } from './index.type';
3
+ declare const InputSelect: React.FC<PropsInputSelect>;
4
+ export default InputSelect;
@@ -0,0 +1,14 @@
1
+ import { TOption, TValueOption } from '../..';
2
+ export type PropsInputSelect = {
3
+ name: string;
4
+ label?: string;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ require?: boolean;
8
+ fullWidth?: boolean;
9
+ options: TOption[];
10
+ onChange?: (value: TValueOption | null) => void;
11
+ value?: string;
12
+ isHideClearIcon?: boolean;
13
+ isInModal?: boolean;
14
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputSwitch } from './index.type';
3
+ declare const InputSwitch: React.FC<PropsInputSwitch>;
4
+ export default InputSwitch;
@@ -0,0 +1,4 @@
1
+ export type PropsInputSwitch = {
2
+ name: string;
3
+ disabled?: boolean;
4
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsInputTextarea } from './index.type';
3
+ declare const InputTextarea: React.FC<PropsInputTextarea>;
4
+ export default InputTextarea;
@@ -0,0 +1,10 @@
1
+ export type PropsInputTextarea = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ rows?: number;
9
+ cols?: number;
10
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsMenu } from './index.type';
3
+ declare const Menu: React.FC<PropsMenu>;
4
+ export default Menu;
@@ -0,0 +1,11 @@
1
+ import { JSX } from 'react';
2
+ export type PropsMenu = {
3
+ trigger: (props: {
4
+ isOpen: boolean;
5
+ }) => JSX.Element;
6
+ children: (args: {
7
+ close: () => void;
8
+ }) => JSX.Element | JSX.Element[];
9
+ disabled?: boolean;
10
+ isInModal?: boolean;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PropsModal } from './index.type';
3
+ declare const Modal: React.FC<PropsModal>;
4
+ export default Modal;
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'react';
2
+ export type PropsModal = {
3
+ children: JSX.Element | JSX.Element[];
4
+ open: boolean;
5
+ onClose: () => void;
6
+ id: string;
7
+ };
@@ -0,0 +1,41 @@
1
+ export { default as Button } from './components/button';
2
+ export type { PropsButton } from './components/button/index.type';
3
+ export { default as Blackdrop } from './components/blackdrop';
4
+ export type { PropsBlackdrop } from './components/blackdrop/index.type';
5
+ export { default as Chip } from './components/chip';
6
+ export type { PropsChip } from './components/chip/index.type';
7
+ export { default as Divider } from './components/divider';
8
+ export { default as Menu } from './components/menu';
9
+ export type { PropsMenu } from './components/menu/index.type';
10
+ export { default as Modal } from './components/modal';
11
+ export type { PropsModal } from './components/modal/index.type';
12
+ export { default as Input } from './components/input/input-basic';
13
+ export type { PropsInputBasic as PropsInput } from './components/input/input-basic/index.type';
14
+ export { default as InputNumber } from './components/input/input-number';
15
+ export type { PropsInputNumber } from './components/input/input-number/index.type';
16
+ export { default as InputDate } from './components/input/input-date';
17
+ export type { PropsInputDate } from './components/input/input-date/index.type';
18
+ export { default as InputDateRange } from './components/input/input-date-range';
19
+ export type { PropsInputDateRange } from './components/input/input-date-range/index.type';
20
+ export { default as InputDateTime } from './components/input/input-date-time';
21
+ export type { PropsInputDateTime } from './components/input/input-date-time/index.type';
22
+ export { default as InputPassword } from './components/input/input-password';
23
+ export type { PropsInputPassword } from './components/input/input-password/index.type';
24
+ export { default as InputRadio } from './components/input/input-radio';
25
+ export type { PropsInputRadio } from './components/input/input-radio/index.type';
26
+ export { default as InputCheckbox } from './components/input/input-checkbox';
27
+ export type { PropsInputCheckbox } from './components/input/input-checkbox/index.type';
28
+ export { default as InputTextarea } from './components/input/input-textarea';
29
+ export type { PropsInputTextarea } from './components/input/input-textarea/index.type';
30
+ export { default as InputSelect } from './components/input/input-select';
31
+ export type { PropsInputSelect } from './components/input/input-select/index.type';
32
+ export { default as InputAutoComplete } from './components/input/input-auto-complete';
33
+ export type { PropsInputAutoComplete } from './components/input/input-auto-complete/index.type';
34
+ export { default as InputSwitch } from './components/input/input-switch';
35
+ export type { PropsInputSwitch } from './components/input/input-switch/index.type';
36
+ export type TValueOption = string | number;
37
+ export type TOption = {
38
+ label: string;
39
+ value: TValueOption;
40
+ };
41
+ export { DBuiContext, DBuiProvider } from './components/context';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,26 +1,29 @@
1
1
  {
2
2
  "name": "@datability/8ui",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
- "description": "",
6
- "main": "dist/components/index.js",
7
- "types": "dist/components/index.d.ts",
8
- "author": "Datability",
9
- "license": "ISC",
10
- "keywords": [],
5
+ "exports": {
6
+ ".": {
7
+ "types": "./dist/types/index.d.ts",
8
+ "import": "./dist/index.es.js",
9
+ "require": "./dist/index.umd.js"
10
+ },
11
+ "./dist/index.css": "./dist/index.css",
12
+ "./style.css": "./dist/index.css"
13
+ },
14
+ "style": "./dist/index.css",
15
+ "files": [
16
+ "dist"
17
+ ],
11
18
  "scripts": {
12
19
  "dev": "vite",
13
- "prebuild": "rm -rf dist/ && npm run cp-scss && npm run cp-scss-2 && npm run cp-svg",
14
- "build": "tsc -b && vite build",
20
+ "build": "vite build && npm run cp-scss && npm run cp-scss-2 && npm run cp-svg",
15
21
  "lint": "eslint .",
16
22
  "preview": "vite preview",
17
23
  "cp-svg": "copyfiles -u 1 src/components/**/*.svg dist/",
18
24
  "cp-scss": "copyfiles -u 1 src/components/**/*.scss dist/",
19
25
  "cp-scss-2": "copyfiles -u 1 src/components/**/**/*.scss dist/"
20
26
  },
21
- "files": [
22
- "/dist"
23
- ],
24
27
  "peerDependencies": {
25
28
  "@hookform/resolvers": "^5.2.2",
26
29
  "react": "^19.2.0",
@@ -34,7 +37,6 @@
34
37
  "@types/react": "^19.2.5",
35
38
  "@types/react-dom": "^19.2.3",
36
39
  "@vitejs/plugin-react": "^5.1.1",
37
- "babel-plugin-react-compiler": "^1.0.0",
38
40
  "copyfiles": "^2.4.1",
39
41
  "eslint": "^9.39.1",
40
42
  "eslint-plugin-react-hooks": "^7.0.1",
@@ -43,6 +45,7 @@
43
45
  "sass": "^1.97.3",
44
46
  "typescript": "~5.9.3",
45
47
  "typescript-eslint": "^8.46.4",
46
- "vite": "^7.2.4"
48
+ "vite": "^7.2.4",
49
+ "vite-plugin-dts": "^4.5.4"
47
50
  }
48
51
  }