{"version":3,"file":"formatStyles.mjs","sources":["../../../src/core/style/formatStyles.ts"],"sourcesContent":["import { ViewContainer } from 'pixi.js';\nimport { Layout } from '../Layout';\nimport { getPixiSize } from '../utils/getPixiSize';\nimport { type LayoutStyles } from './layoutStyles';\nimport { type YogaStyles } from './yogaStyles';\n\n/**\n * Formats the layout styles for the layout\n * @param layout - The layout to format the styles for\n * @param style - The style to apply to the layout\n */\nexport function formatStyles(layout: Layout, style: LayoutStyles) {\n    const currentStyles = layout._styles;\n    let customStyles = { ...currentStyles.custom, ...style };\n    const defaultStyle = {\n        ...Layout.defaultStyle.shared,\n        ...(layout.target instanceof ViewContainer || customStyles.isLeaf || Layout.defaultStyle.shared.isLeaf\n            ? Layout.defaultStyle.leaf\n            : Layout.defaultStyle.container),\n    };\n\n    customStyles = { ...defaultStyle, ...customStyles };\n    const yogaStyles = { ...(customStyles as YogaStyles) };\n\n    const widthIntrinsic = customStyles.width === 'intrinsic';\n    const heightIntrinsic = customStyles.height === 'intrinsic';\n\n    if (widthIntrinsic || heightIntrinsic) {\n        const { width, height } = getPixiSize(layout);\n\n        if (widthIntrinsic) {\n            yogaStyles.width = width;\n        }\n        if (heightIntrinsic) {\n            yogaStyles.height = height;\n        }\n    }\n\n    return { custom: customStyles, yoga: yogaStyles };\n}\n"],"names":[],"mappings":";;;AAWgB,SAAA,aAAa,QAAgB,OAAqB;AAC9D,QAAM,gBAAgB,OAAO;AAC7B,MAAI,eAAe,EAAE,GAAG,cAAc,QAAQ,GAAG,MAAM;AACvD,QAAM,eAAe;AAAA,IACjB,GAAG,OAAO,aAAa;AAAA,IACvB,GAAI,OAAO,kBAAkB,iBAAiB,aAAa,UAAU,OAAO,aAAa,OAAO,SAC1F,OAAO,aAAa,OACpB,OAAO,aAAa;AAAA,EAC9B;AAEA,iBAAe,EAAE,GAAG,cAAc,GAAG,aAAa;AAC5C,QAAA,aAAa,EAAE,GAAI,aAA4B;AAE/C,QAAA,iBAAiB,aAAa,UAAU;AACxC,QAAA,kBAAkB,aAAa,WAAW;AAEhD,MAAI,kBAAkB,iBAAiB;AACnC,UAAM,EAAE,OAAO,WAAW,YAAY,MAAM;AAE5C,QAAI,gBAAgB;AAChB,iBAAW,QAAQ;AAAA,IAAA;AAEvB,QAAI,iBAAiB;AACjB,iBAAW,SAAS;AAAA,IAAA;AAAA,EACxB;AAGJ,SAAO,EAAE,QAAQ,cAAc,MAAM,WAAW;AACpD;"}