{"version":3,"file":"index48.cjs","sources":["../src/hooks/useSnackbar.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { SnackbarType } from '../components/snackbar';\n\n// Use a module-level variable to store the snackbar queue\n// This allows access from outside React components\nlet snackbarQueue: (SnackbarType & { id: string })[] = [];\nlet listeners: Function[] = [];\n\n// Function to notify all listeners of queue changes\nconst notifyListeners = () => {\n  listeners.forEach(listener => listener(snackbarQueue));\n};\n\n// Standalone function for showing snackbars\nexport const showSnackbar = (props: Omit<SnackbarType, 'className'>) => {\n  const id = `snackbar-${Date.now()}`;\n  const snackbarItem = { ...props, id };\n  \n  snackbarQueue = [...snackbarQueue, snackbarItem];\n  notifyListeners();\n  \n  // Auto-dismiss if not specified otherwise\n  if (props.autoDismiss !== false) {\n    const timeout = props.dismissTimeout || 5000; // Default 5 seconds\n    setTimeout(() => {\n      hideSnackbar(id);\n    }, timeout);\n  }\n  \n  return id;\n};\n\n// Standalone function for hiding snackbars\nexport const hideSnackbar = (id: string) => {\n  snackbarQueue = snackbarQueue.filter(snackbar => snackbar.id !== id);\n  notifyListeners();\n};\n\n// React hook for components that need to access the queue\nexport const useSnackbar = () => {\n  const [queue, setQueue] = useState(snackbarQueue);\n  \n  // Register this component as a listener for queue changes\n  useEffect(() => {\n    const listener = (newQueue: typeof snackbarQueue) => {\n      setQueue([...newQueue]);\n    };\n    \n    listeners.push(listener);\n    \n    // Initial state\n    setQueue([...snackbarQueue]);\n    \n    // Cleanup\n    return () => {\n      listeners = listeners.filter(l => l !== listener);\n    };\n  }, []);\n  \n  return {\n    queue,\n    showSnackbar,\n    hideSnackbar\n  };\n};\n\nexport default useSnackbar;\n"],"names":["useState","useEffect"],"mappings":";;;AAKA,IAAI,gBAAmD,CAAC;AACxD,IAAI,YAAwB,CAAC;AAG7B,MAAM,kBAAkB,MAAM;AAC5B,YAAU,QAAQ,CAAA,aAAY,SAAS,aAAa,CAAC;AACvD;AAGa,MAAA,eAAe,CAAC,UAA2C;AACtE,QAAM,KAAK,YAAY,KAAK,IAAK,CAAA;AACjC,QAAM,eAAe,EAAE,GAAG,OAAO,GAAG;AAEpB,kBAAA,CAAC,GAAG,eAAe,YAAY;AAC/B,kBAAA;AAGZ,MAAA,MAAM,gBAAgB,OAAO;AACzB,UAAA,UAAU,MAAM,kBAAkB;AACxC,eAAW,MAAM;AACf,mBAAa,EAAE;AAAA,OACd,OAAO;AAAA,EAAA;AAGL,SAAA;AACT;AAGa,MAAA,eAAe,CAAC,OAAe;AAC1C,kBAAgB,cAAc,OAAO,CAAY,aAAA,SAAS,OAAO,EAAE;AACnD,kBAAA;AAClB;AAGO,MAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,aAAa;AAGhDC,QAAAA,UAAU,MAAM;AACR,UAAA,WAAW,CAAC,aAAmC;AAC1C,eAAA,CAAC,GAAG,QAAQ,CAAC;AAAA,IACxB;AAEA,cAAU,KAAK,QAAQ;AAGd,aAAA,CAAC,GAAG,aAAa,CAAC;AAG3B,WAAO,MAAM;AACX,kBAAY,UAAU,OAAO,CAAK,MAAA,MAAM,QAAQ;AAAA,IAClD;AAAA,EACF,GAAG,EAAE;AAEE,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;;;"}