{"version":3,"file":"ModalStack.cjs","names":["getDefaultZIndex"],"sources":["../../../src/components/Modal/ModalStack.tsx"],"sourcesContent":["import { createContext, useState } from 'react';\nimport { getDefaultZIndex } from '../../core';\n\ninterface ModalStackContext {\n  stack: string[];\n  addModal: (id: string, zIndex: number | string) => void;\n  removeModal: (id: string) => void;\n  getZIndex: (id: string) => string;\n  currentId: string;\n  maxZIndex: string | number;\n}\n\nexport const ModalStackContext = createContext<ModalStackContext | null>(null);\n\nexport interface ModalStackProps {\n  children: React.ReactNode;\n}\n\nexport function ModalStack({ children }: ModalStackProps) {\n  const [stack, setStack] = useState<string[]>([]);\n  const [maxZIndex, setMaxZIndex] = useState<number | string>(getDefaultZIndex('modal'));\n\n  return (\n    <ModalStackContext\n      value={{\n        stack,\n        addModal: (id, zIndex) => {\n          setStack((current) => [...new Set([...current, id])]);\n          setMaxZIndex((current) =>\n            typeof zIndex === 'number' && typeof current === 'number'\n              ? Math.max(current, zIndex)\n              : current\n          );\n        },\n        removeModal: (id) => setStack((current) => current.filter((currentId) => currentId !== id)),\n        getZIndex: (id) => `calc(${maxZIndex} + ${stack.indexOf(id)} + 1)`,\n        currentId: stack[stack.length - 1],\n        maxZIndex,\n      }}\n    >\n      {children}\n    </ModalStackContext>\n  );\n}\n\nModalStack.displayName = '@mantine/core/ModalStack';\n"],"mappings":";;;;;;AAYA,MAAa,qBAAA,GAAA,MAAA,eAA4D,KAAK;AAM9E,SAAgB,WAAW,EAAE,YAA6B;CACxD,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAA+B,EAAE,CAAC;CAChD,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,UAA0CA,4BAAAA,iBAAiB,QAAQ,CAAC;AAEtF,QACE,iBAAA,GAAA,kBAAA,KAAC,mBAAD;EACE,OAAO;GACL;GACA,WAAW,IAAI,WAAW;AACxB,cAAU,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;AACrD,kBAAc,YACZ,OAAO,WAAW,YAAY,OAAO,YAAY,WAC7C,KAAK,IAAI,SAAS,OAAO,GACzB,QACL;;GAEH,cAAc,OAAO,UAAU,YAAY,QAAQ,QAAQ,cAAc,cAAc,GAAG,CAAC;GAC3F,YAAY,OAAO,QAAQ,UAAU,KAAK,MAAM,QAAQ,GAAG,CAAC;GAC5D,WAAW,MAAM,MAAM,SAAS;GAChC;GACD;EAEA;EACiB,CAAA;;AAIxB,WAAW,cAAc"}