vibrant-tool 0.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.
- package/README.md +36 -0
- package/dist/App.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/hooks/applyImagePreset.d.ts +3 -0
- package/dist/lib/hooks/fitimagetopage.d.ts +2 -0
- package/dist/lib/hooks/qrUtils.d.ts +2 -0
- package/dist/lib/hooks/useBlackEffect.d.ts +2 -0
- package/dist/lib/hooks/useBlurEffect.d.ts +2 -0
- package/dist/lib/hooks/useBorderEffect.d.ts +2 -0
- package/dist/lib/hooks/useBrightnessEffect.d.ts +2 -0
- package/dist/lib/hooks/useCanvasZoom.d.ts +16 -0
- package/dist/lib/hooks/useContrastEffect.d.ts +2 -0
- package/dist/lib/hooks/useCornerRadiusEffect.d.ts +2 -0
- package/dist/lib/hooks/useDraggable.d.ts +2 -0
- package/dist/lib/hooks/useFabricDrawing.d.ts +1 -0
- package/dist/lib/hooks/useFabricShadow.d.ts +2 -0
- package/dist/lib/hooks/useKeyboardEvents.d.ts +2 -0
- package/dist/lib/hooks/useSaturationEffect.d.ts +2 -0
- package/dist/lib/hooks/useShadowEffect.d.ts +2 -0
- package/dist/lib/hooks/useSocialAuth.d.ts +16 -0
- package/dist/lib/hooks/useTemperatureEffect.d.ts +2 -0
- package/dist/lib/hooks/useVibranceEffect.d.ts +2 -0
- package/dist/lib/hooks/useWhiteEffect.d.ts +2 -0
- package/dist/lib/services/api.d.ts +12 -0
- package/dist/lib/services/crop-image.service.d.ts +23 -0
- package/dist/lib/services/font.service.d.ts +4 -0
- package/dist/lib/services/shape.service.d.ts +9 -0
- package/dist/lib/types/barcode.types.d.ts +12 -0
- package/dist/lib/types/color.types.d.ts +11 -0
- package/dist/lib/types/fabric.types.d.ts +38 -0
- package/dist/lib/types/font.types.d.ts +28 -0
- package/dist/lib/types/shape.types.d.ts +36 -0
- package/dist/lib/utils/background-utils.d.ts +4 -0
- package/dist/lib/utils/barcode-utils.d.ts +6 -0
- package/dist/lib/utils/canvas-handler.d.ts +78 -0
- package/dist/lib/utils/canvas-setup.d.ts +29 -0
- package/dist/lib/utils/color-conversions.utils.d.ts +19 -0
- package/dist/lib/utils/custom-controls.d.ts +5 -0
- package/dist/lib/utils/design-storage-utils.d.ts +4 -0
- package/dist/lib/utils/downloadCanvas.d.ts +7 -0
- package/dist/lib/utils/driver-tour.d.ts +2 -0
- package/dist/lib/utils/event-handlers.d.ts +10 -0
- package/dist/lib/utils/fabric-helper.d.ts +2 -0
- package/dist/lib/utils/gradient-converter-utils.d.ts +8 -0
- package/dist/lib/utils/history-recorder.d.ts +1 -0
- package/dist/lib/utils/icon-effects-utils.d.ts +4 -0
- package/dist/lib/utils/image-utils.d.ts +3 -0
- package/dist/lib/utils/imagePresets.d.ts +2 -0
- package/dist/lib/utils/overlay-manager.d.ts +3 -0
- package/dist/lib/utils/page-manager.d.ts +3 -0
- package/dist/lib/utils/pan-mode.d.ts +10 -0
- package/dist/lib/utils/qr-utils.d.ts +4 -0
- package/dist/lib/utils/svg-utils.d.ts +8 -0
- package/dist/lib/utils/text-utils.d.ts +4 -0
- package/dist/modules/canvas/index.d.ts +1 -0
- package/dist/modules/components/all-elements/index.d.ts +8 -0
- package/dist/modules/components/alpha-slider/index.d.ts +12 -0
- package/dist/modules/components/cmyk-inputs/index.d.ts +12 -0
- package/dist/modules/components/color-picker/index.d.ts +1 -0
- package/dist/modules/components/color-preview-box/index.d.ts +6 -0
- package/dist/modules/components/crop-image-button/index.d.ts +1 -0
- package/dist/modules/components/duplicate-button/index.d.ts +1 -0
- package/dist/modules/components/effect-section/index.d.ts +13 -0
- package/dist/modules/components/flip-button/index.d.ts +1 -0
- package/dist/modules/components/global-loader/index.d.ts +1 -0
- package/dist/modules/components/gradient-selector/index.d.ts +10 -0
- package/dist/modules/components/group-button/index.d.ts +1 -0
- package/dist/modules/components/home/aiimage.d.ts +5 -0
- package/dist/modules/components/home/animate.d.ts +3 -0
- package/dist/modules/components/home/design.d.ts +10 -0
- package/dist/modules/components/home/iconeffect.d.ts +7 -0
- package/dist/modules/components/home/index copy.d.ts +1 -0
- package/dist/modules/components/home/layer.d.ts +16 -0
- package/dist/modules/components/home/quotes.d.ts +6 -0
- package/dist/modules/components/home/shapeeffect.d.ts +7 -0
- package/dist/modules/components/home/size.d.ts +6 -0
- package/dist/modules/components/home/texteffect/components/BackgroundControl/index.d.ts +4 -0
- package/dist/modules/components/home/texteffect/components/CurvedTextControl/index.d.ts +4 -0
- package/dist/modules/components/home/texteffect/components/ShadowControl/index.d.ts +4 -0
- package/dist/modules/components/home/texteffect/components/blurControl/index.d.ts +4 -0
- package/dist/modules/components/home/texteffect/components/strokeControl/index.d.ts +4 -0
- package/dist/modules/components/home/texteffect/effect.d.ts +6 -0
- package/dist/modules/components/home/video.d.ts +6 -0
- package/dist/modules/components/home/videotrim.d.ts +7 -0
- package/dist/modules/components/hue-slider/index.d.ts +9 -0
- package/dist/modules/components/lock-button/index.d.ts +1 -0
- package/dist/modules/components/opacity-picker/index.d.ts +1 -0
- package/dist/modules/components/position-picker/index.d.ts +1 -0
- package/dist/modules/components/remove-button/index.d.ts +1 -0
- package/dist/modules/components/rotate-button/index.d.ts +1 -0
- package/dist/modules/components/shadow-control/index.d.ts +10 -0
- package/dist/modules/components/tour-runner/index.d.ts +1 -0
- package/dist/modules/components/ungroup-button/index.d.ts +1 -0
- package/dist/modules/components/zoom-controls/index.d.ts +1 -0
- package/dist/modules/data/elements.d.ts +6 -0
- package/dist/modules/data/mask.d.ts +4 -0
- package/dist/modules/data/templates.d.ts +126 -0
- package/dist/modules/icons/aiicon/index.d.ts +4 -0
- package/dist/modules/icons/aligncentericon/aligncentericon.d.ts +1 -0
- package/dist/modules/icons/alignlefticon/alignlefticon.d.ts +1 -0
- package/dist/modules/icons/alignrighticon/alignrighticon.d.ts +1 -0
- package/dist/modules/icons/arrowbottomlefticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowbottomrighticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowdownicon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowicon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowlefticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowrighticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowtoplefticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowtoprighticon/inedx.d.ts +1 -0
- package/dist/modules/icons/arrowupicon/inedx.d.ts +1 -0
- package/dist/modules/icons/backgroundicon/index.d.ts +1 -0
- package/dist/modules/icons/colorpickericon/index.d.ts +1 -0
- package/dist/modules/icons/copyicon/index.d.ts +1 -0
- package/dist/modules/icons/cropicon/index.d.ts +1 -0
- package/dist/modules/icons/deleteicon/index.d.ts +1 -0
- package/dist/modules/icons/designicon/index.d.ts +1 -0
- package/dist/modules/icons/disableicon/index.d.ts +1 -0
- package/dist/modules/icons/downloadicon/index.d.ts +1 -0
- package/dist/modules/icons/drawicon/index.d.ts +4 -0
- package/dist/modules/icons/dropboxicon/index.d.ts +1 -0
- package/dist/modules/icons/effecticon/index.d.ts +1 -0
- package/dist/modules/icons/eyeicon/index.d.ts +1 -0
- package/dist/modules/icons/facebookicon/index.d.ts +1 -0
- package/dist/modules/icons/flickricon/index.d.ts +1 -0
- package/dist/modules/icons/fliphorizontalicon/index.d.ts +1 -0
- package/dist/modules/icons/flipicon/index.d.ts +1 -0
- package/dist/modules/icons/flipverticalicon/index.d.ts +1 -0
- package/dist/modules/icons/googledriveicon/index.d.ts +1 -0
- package/dist/modules/icons/googlephotosicon/index.d.ts +1 -0
- package/dist/modules/icons/groupicon/index.d.ts +1 -0
- package/dist/modules/icons/handicon/index.d.ts +1 -0
- package/dist/modules/icons/helpicon/index.d.ts +1 -0
- package/dist/modules/icons/iconsicon/index.d.ts +1 -0
- package/dist/modules/icons/instagramicon/index.d.ts +1 -0
- package/dist/modules/icons/layersicon/index.d.ts +1 -0
- package/dist/modules/icons/lockicon/index.d.ts +1 -0
- package/dist/modules/icons/menuicon/index.d.ts +1 -0
- package/dist/modules/icons/notfoundicon/index.d.ts +1 -0
- package/dist/modules/icons/opacityicon/index.d.ts +1 -0
- package/dist/modules/icons/pexelsicon/index.d.ts +1 -0
- package/dist/modules/icons/photosicon/index.d.ts +1 -0
- package/dist/modules/icons/pixabayicon/index.d.ts +1 -0
- package/dist/modules/icons/pointericon/index.d.ts +1 -0
- package/dist/modules/icons/qrcodeicon/index.d.ts +1 -0
- package/dist/modules/icons/quotesicon/index.d.ts +1 -0
- package/dist/modules/icons/redoicon/index.d.ts +1 -0
- package/dist/modules/icons/rotateicon/index.d.ts +1 -0
- package/dist/modules/icons/shapeicon/index.d.ts +1 -0
- package/dist/modules/icons/sizeicon/index.d.ts +1 -0
- package/dist/modules/icons/strikethroughicon/index.d.ts +1 -0
- package/dist/modules/icons/stylecopyicon/index.d.ts +1 -0
- package/dist/modules/icons/templateicon/index.d.ts +1 -0
- package/dist/modules/icons/texticon/index.d.ts +4 -0
- package/dist/modules/icons/undoicon/index.d.ts +1 -0
- package/dist/modules/icons/ungroupicon/index.d.ts +1 -0
- package/dist/modules/icons/unlockicon/index.d.ts +1 -0
- package/dist/modules/icons/uploadicon/index.d.ts +1 -0
- package/dist/modules/icons/usersicon/index.d.ts +1 -0
- package/dist/modules/icons/videoicon/index.d.ts +4 -0
- package/dist/modules/icons/zoomicon/index.d.ts +1 -0
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/side-panel/background-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/bar-code-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/draw-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/effect-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/elements-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/font-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/index.d.ts +10 -0
- package/dist/modules/side-panel/mask-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/panel/index.d.ts +4 -0
- package/dist/modules/side-panel/photos-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/qr-code-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/quotes-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/templates-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/text-panel/index.d.ts +1 -0
- package/dist/modules/side-panel/upload-panel/index.d.ts +1 -0
- package/dist/modules/toolbar/barcode-toolbar/index.d.ts +1 -0
- package/dist/modules/toolbar/common-toolbar/index.d.ts +1 -0
- package/dist/modules/toolbar/index.d.ts +1 -0
- package/dist/modules/toolbar/picture-toolbar/index.d.ts +1 -0
- package/dist/modules/toolbar/qr-toolbar/index.d.ts +1 -0
- package/dist/modules/toolbar/text-toolbar/index.d.ts +11 -0
- package/dist/modules/topbar/download-popover.d.ts +3 -0
- package/dist/modules/topbar/index.d.ts +1 -0
- package/dist/vibrant-tool.css +3031 -0
- package/dist/vibrant-tool.es.js +123232 -0
- package/dist/vibrant-tool.umd.js +123234 -0
- package/dist/zustand/drawStore.d.ts +13 -0
- package/dist/zustand/editorStore.d.ts +15 -0
- package/dist/zustand/effectStore.d.ts +43 -0
- package/dist/zustand/historyStore.d.ts +20 -0
- package/dist/zustand/loaderStore.d.ts +8 -0
- package/dist/zustand/selectionStore.d.ts +10 -0
- package/dist/zustand/sidePanelStore.d.ts +8 -0
- package/dist/zustand/tourStore.d.ts +19 -0
- package/package.json +72 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type DrawTool = "select" | "brush" | "highlighter";
|
|
2
|
+
interface DrawState {
|
|
3
|
+
drawTool: DrawTool;
|
|
4
|
+
strokeWidth: number;
|
|
5
|
+
opacity: number;
|
|
6
|
+
color: string;
|
|
7
|
+
setDrawTool: (tool: DrawTool) => void;
|
|
8
|
+
setStrokeWidth: (v: number) => void;
|
|
9
|
+
setOpacity: (v: number) => void;
|
|
10
|
+
setColor: (v: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const useDrawStore: import('zustand').UseBoundStore<import('zustand').StoreApi<DrawState>>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as fabric from "fabric";
|
|
2
|
+
interface EditorState {
|
|
3
|
+
canvas: fabric.Canvas | null;
|
|
4
|
+
pages: Record<string, any>;
|
|
5
|
+
history: string[];
|
|
6
|
+
historyIndex: number;
|
|
7
|
+
isCropping: boolean;
|
|
8
|
+
startCropping: () => void;
|
|
9
|
+
stopCropping: () => void;
|
|
10
|
+
setCanvas: (canvas: fabric.Canvas | null) => void;
|
|
11
|
+
setPages: (pages: Record<string, any>) => void;
|
|
12
|
+
saveHistory: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const useEditorStore: import('zustand').UseBoundStore<import('zustand').StoreApi<EditorState>>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type NumericEffectKey = "blur" | "brightness" | "temperature" | "contrast" | "shadows" | "white" | "black" | "vibrance" | "saturation" | "border" | "cornerradius";
|
|
2
|
+
type ToggleEffect = {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
value: number;
|
|
5
|
+
};
|
|
6
|
+
type BorderEffect = {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
value: number;
|
|
9
|
+
color: string;
|
|
10
|
+
};
|
|
11
|
+
export type ShadowEffect = {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
blur: number;
|
|
14
|
+
offsetX: number;
|
|
15
|
+
offsetY: number;
|
|
16
|
+
opacity: number;
|
|
17
|
+
color: string;
|
|
18
|
+
};
|
|
19
|
+
interface EffectStore {
|
|
20
|
+
blur: ToggleEffect;
|
|
21
|
+
brightness: ToggleEffect;
|
|
22
|
+
temperature: ToggleEffect;
|
|
23
|
+
contrast: ToggleEffect;
|
|
24
|
+
shadows: ToggleEffect;
|
|
25
|
+
white: ToggleEffect;
|
|
26
|
+
black: ToggleEffect;
|
|
27
|
+
vibrance: ToggleEffect;
|
|
28
|
+
saturation: ToggleEffect;
|
|
29
|
+
border: BorderEffect;
|
|
30
|
+
cornerradius: ToggleEffect;
|
|
31
|
+
shadow: ShadowEffect;
|
|
32
|
+
toggle: (key: NumericEffectKey) => void;
|
|
33
|
+
setValue: (key: NumericEffectKey, value: number) => void;
|
|
34
|
+
setBorderColor: (color: string) => void;
|
|
35
|
+
toggleShadow: () => void;
|
|
36
|
+
setShadow: (value: Partial<ShadowEffect>) => void;
|
|
37
|
+
reset: () => void;
|
|
38
|
+
setEffect: (key: NumericEffectKey, enabled: boolean, value: number) => void;
|
|
39
|
+
replaceState: (state: Partial<EffectStore>) => void;
|
|
40
|
+
}
|
|
41
|
+
export declare const initialState: Omit<EffectStore, "toggle" | "setValue" | "setBorderColor" | "toggleShadow" | "setShadow" | "reset" | "setEffect" | "replaceState">;
|
|
42
|
+
export declare const useEffectStore: import('zustand').UseBoundStore<import('zustand').StoreApi<EffectStore>>;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Canvas } from 'fabric';
|
|
2
|
+
export type PageSide = "front" | "back";
|
|
3
|
+
interface PageHistory {
|
|
4
|
+
history: any[];
|
|
5
|
+
redo: any[];
|
|
6
|
+
background?: string;
|
|
7
|
+
}
|
|
8
|
+
interface HistoryState {
|
|
9
|
+
canvas: Canvas | null;
|
|
10
|
+
currentPage: PageSide;
|
|
11
|
+
isRestoring: boolean;
|
|
12
|
+
pages: Record<PageSide, PageHistory>;
|
|
13
|
+
setCanvas: (canvas: Canvas) => void;
|
|
14
|
+
setPage: (page: PageSide) => void;
|
|
15
|
+
saveState: () => void;
|
|
16
|
+
undo: () => void;
|
|
17
|
+
redoAction: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare const useHistoryStore: import('zustand').UseBoundStore<import('zustand').StoreApi<HistoryState>>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface LoaderState {
|
|
2
|
+
isLoading: boolean;
|
|
3
|
+
startLoading: () => void;
|
|
4
|
+
stopLoading: () => void;
|
|
5
|
+
setLoading: (value: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const useLoaderStore: import('zustand').UseBoundStore<import('zustand').StoreApi<LoaderState>>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FabricObject } from 'fabric';
|
|
2
|
+
export type SelectionType = "none" | "textbox" | "image" | "qr" | "multiple" | "group";
|
|
3
|
+
interface SelectionStore {
|
|
4
|
+
type: SelectionType;
|
|
5
|
+
objects: FabricObject[];
|
|
6
|
+
setSelection: (objects: FabricObject[]) => void;
|
|
7
|
+
clearSelection: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const useSelectionStore: import('zustand').UseBoundStore<import('zustand').StoreApi<SelectionStore>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type SidePanelState = {
|
|
2
|
+
activePanel: string | null;
|
|
3
|
+
};
|
|
4
|
+
type SidePanelActions = {
|
|
5
|
+
setActivePanel: (data: string | null) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const useSidePanelStore: import('zustand').UseBoundStore<import('zustand').StoreApi<SidePanelState & SidePanelActions>>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface TourState {
|
|
2
|
+
hasSeenStaticTour: boolean;
|
|
3
|
+
markSeen: () => void;
|
|
4
|
+
reset: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const useTourStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<TourState>, "setState" | "persist"> & {
|
|
7
|
+
setState(partial: TourState | Partial<TourState> | ((state: TourState) => TourState | Partial<TourState>), replace?: false | undefined): unknown;
|
|
8
|
+
setState(state: TourState | ((state: TourState) => TourState), replace: true): unknown;
|
|
9
|
+
persist: {
|
|
10
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<TourState, TourState, unknown>>) => void;
|
|
11
|
+
clearStorage: () => void;
|
|
12
|
+
rehydrate: () => Promise<void> | void;
|
|
13
|
+
hasHydrated: () => boolean;
|
|
14
|
+
onHydrate: (fn: (state: TourState) => void) => () => void;
|
|
15
|
+
onFinishHydration: (fn: (state: TourState) => void) => () => void;
|
|
16
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<TourState, TourState, unknown>>;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vibrant-tool",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Vibrant design editor (Vite + React)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/vibrant-tool.umd.js",
|
|
7
|
+
"module": "./dist/vibrant-tool.es.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/vibrant-tool.es.js",
|
|
13
|
+
"require": "./dist/vibrant-tool.umd.js"
|
|
14
|
+
},
|
|
15
|
+
"./dist/vibrant-tool.css": "./dist/vibrant-tool.css"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"build": "vite build --mode lib",
|
|
23
|
+
"preview:build": "vite build",
|
|
24
|
+
"preview": "vite preview",
|
|
25
|
+
"lint": "eslint .",
|
|
26
|
+
"prepare": "npm run build"
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@react-oauth/google": "^0.13.4",
|
|
33
|
+
"bwip-js": "^4.8.0",
|
|
34
|
+
"driver.js": "^1.4.0",
|
|
35
|
+
"dropbox": "^10.34.0",
|
|
36
|
+
"fabric": "^6.9.0",
|
|
37
|
+
"firebase": "^12.9.0",
|
|
38
|
+
"gapi-script": "^1.2.0",
|
|
39
|
+
"pdfmake": "^0.3.3",
|
|
40
|
+
"qrcode": "^1.5.4",
|
|
41
|
+
"qrcode.react": "^4.2.0",
|
|
42
|
+
"react-loader-spinner": "^8.0.2",
|
|
43
|
+
"zustand": "^5.0.10"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"react": ">=18",
|
|
47
|
+
"react-dom": ">=18"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@tailwindcss/vite": "^4.2.1",
|
|
51
|
+
"@types/gapi": "^0.0.47",
|
|
52
|
+
"@types/gapi.auth2": "^0.0.61",
|
|
53
|
+
"@types/gapi.client.drive": "^3.0.15",
|
|
54
|
+
"@types/gapi.client.photoslibrary": "^1.0.0",
|
|
55
|
+
"@types/node": "^22",
|
|
56
|
+
"@types/pdfmake": "^0.3.1",
|
|
57
|
+
"@types/qrcode": "^1.5.6",
|
|
58
|
+
"@types/react": "^19.2.14",
|
|
59
|
+
"@types/react-dom": "^19.2.3",
|
|
60
|
+
"@vitejs/plugin-react": "^5.1.4",
|
|
61
|
+
"cross-env": "^7.0.3",
|
|
62
|
+
"eslint": "^9",
|
|
63
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
64
|
+
"eslint-plugin-react-refresh": "^0.4.14",
|
|
65
|
+
"react": "^19.2.4",
|
|
66
|
+
"react-dom": "^19.2.4",
|
|
67
|
+
"tailwindcss": "^4.2.1",
|
|
68
|
+
"typescript": "^5.9.3",
|
|
69
|
+
"vite": "^7.3.1",
|
|
70
|
+
"vite-plugin-dts": "^4.5.4"
|
|
71
|
+
}
|
|
72
|
+
}
|