import { create } from "zustand"; interface PropertiesState { activeTabPerType: Record; setActiveTab: (args: { elementType: string; tabId: string }) => void; isTransformScaleLocked: boolean; setTransformScaleLocked: (args: { locked: boolean }) => void; selectedTrackId: string | null; selectTrack: ({ trackId }: { trackId: string }) => void; clearTrackSelection: () => void; } export const usePropertiesStore = create()((set) => ({ activeTabPerType: {}, setActiveTab: ({ elementType, tabId }) => set((state) => ({ activeTabPerType: { ...state.activeTabPerType, [elementType]: tabId }, })), isTransformScaleLocked: false, setTransformScaleLocked: ({ locked }) => set({ isTransformScaleLocked: locked }), selectedTrackId: null, selectTrack: ({ trackId }) => set({ selectedTrackId: trackId }), clearTrackSelection: () => set({ selectedTrackId: null }), }));