{"version":3,"file":"zIndexStacking.mjs","names":["React","useContextTokens","defaultDesignThemeJson","defaultDesignThemeTokens","zIndexStackingContext","createContext","useZIndexStacking","designToken","contextTokens","parentContextValue","useContext","contextValue","useMemo","tokenName","startsWith","tokenValue","Number","parseInt","isNaN","ZIndexStackingContextProvider","children","createElement","Provider","value","zIndexStackingEnhance","props","other","parentZIndexStacking"],"sources":["../../src/utils/zIndexStacking.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useContextTokens } from './ThemeProvider';\nimport defaultDesignThemeJson from '../theme/themes/default';\nconst defaultDesignThemeTokens = defaultDesignThemeJson as Record<string, string>;\n\nconst zIndexStackingContext = React.createContext(0);\n\nexport type ZIndexDesignTokens =\n  | 'z-index-deep'\n  | 'z-index-overlay'\n  | 'z-index-modal'\n  | 'z-index-popper'\n  | 'z-index-dropdown'\n  | 'z-index-tooltip'\n  | 'z-index-notice-bubble';\n\nexport const useZIndexStacking = (designToken?: ZIndexDesignTokens) => {\n  const contextTokens = useContextTokens();\n  const parentContextValue = React.useContext(zIndexStackingContext);\n  const contextValue = React.useMemo(() => {\n    if (!designToken) return parentContextValue;\n    const tokenName = designToken.startsWith('--intergalactic-')\n      ? designToken\n      : `--intergalactic-${designToken}`;\n    const tokenValue = Number.parseInt(\n      contextTokens?.[tokenName] || defaultDesignThemeTokens[tokenName],\n      10,\n    );\n    if (Number.isNaN(tokenValue)) return parentContextValue;\n    return parentContextValue + tokenValue;\n  }, [designToken, contextTokens, parentContextValue]);\n  return contextValue;\n};\nexport const ZIndexStackingContextProvider: React.FC<{\n  designToken: ZIndexDesignTokens;\n  children: React.ReactNode;\n}> = ({ designToken, children }) => {\n  const contextValue = useZIndexStacking(designToken);\n  return (\n    <zIndexStackingContext.Provider value={contextValue}>{children}</zIndexStackingContext.Provider>\n  );\n};\nexport const zIndexStackingEnhance = (designToken?: ZIndexDesignTokens) => {\n  return (props: any): { parentZIndexStacking: ReturnType<typeof useZIndexStacking> } => {\n    const { ...other } = props;\n    const parentZIndexStacking = useZIndexStacking(designToken);\n    return {\n      ...other,\n      parentZIndexStacking,\n    };\n  };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,qBAAiB;AAClD,OAAOC,sBAAsB,MAAM,6BAAyB;AAC5D,MAAMC,wBAAwB,GAAGD,sBAAgD;AAEjF,MAAME,qBAAqB,gBAAGJ,KAAK,CAACK,aAAa,CAAC,CAAC,CAAC;AAWpD,OAAO,MAAMC,iBAAiB,GAAIC,WAAgC,IAAK;EACrE,MAAMC,aAAa,GAAGP,gBAAgB,CAAC,CAAC;EACxC,MAAMQ,kBAAkB,GAAGT,KAAK,CAACU,UAAU,CAACN,qBAAqB,CAAC;EAClE,MAAMO,YAAY,GAAGX,KAAK,CAACY,OAAO,CAAC,MAAM;IACvC,IAAI,CAACL,WAAW,EAAE,OAAOE,kBAAkB;IAC3C,MAAMI,SAAS,GAAGN,WAAW,CAACO,UAAU,CAAC,kBAAkB,CAAC,GACxDP,WAAW,GACX,mBAAmBA,WAAW,EAAE;IACpC,MAAMQ,UAAU,GAAGC,MAAM,CAACC,QAAQ,CAChCT,aAAa,GAAGK,SAAS,CAAC,IAAIV,wBAAwB,CAACU,SAAS,CAAC,EACjE,EACF,CAAC;IACD,IAAIG,MAAM,CAACE,KAAK,CAACH,UAAU,CAAC,EAAE,OAAON,kBAAkB;IACvD,OAAOA,kBAAkB,GAAGM,UAAU;EACxC,CAAC,EAAE,CAACR,WAAW,EAAEC,aAAa,EAAEC,kBAAkB,CAAC,CAAC;EACpD,OAAOE,YAAY;AACrB,CAAC;AACD,OAAO,MAAMQ,6BAGX,GAAGA,CAAC;EAAEZ,WAAW;EAAEa;AAAS,CAAC,KAAK;EAClC,MAAMT,YAAY,GAAGL,iBAAiB,CAACC,WAAW,CAAC;EACnD,oBACEP,KAAA,CAAAqB,aAAA,CAACjB,qBAAqB,CAACkB,QAAQ;IAACC,KAAK,EAAEZ;EAAa,GAAES,QAAyC,CAAC;AAEpG,CAAC;AACD,OAAO,MAAMI,qBAAqB,GAAIjB,WAAgC,IAAK;EACzE,OAAQkB,KAAU,IAAqE;IACrF,MAAM;MAAE,GAAGC;IAAM,CAAC,GAAGD,KAAK;IAC1B,MAAME,oBAAoB,GAAGrB,iBAAiB,CAACC,WAAW,CAAC;IAC3D,OAAO;MACL,GAAGmB,KAAK;MACRC;IACF,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}