{"ast":null,"code":"import _slicedToArray from \"C:/Users/user/Desktop/05portreact/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useState as $9gyGR$useState } from \"react\";\nimport { useLayoutEffect as $9gyGR$useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction $db6c3485150b8e66$export$1ab7ae714698c4b8(element) {\n  var _$9gyGR$useState = $9gyGR$useState(undefined),\n    _$9gyGR$useState2 = _slicedToArray(_$9gyGR$useState, 2),\n    size = _$9gyGR$useState2[0],\n    setSize = _$9gyGR$useState2[1];\n  $9gyGR$useLayoutEffect(function () {\n    if (element) {\n      // provide size as early as possible\n      setSize({\n        width: element.offsetWidth,\n        height: element.offsetHeight\n      });\n      var resizeObserver = new ResizeObserver(function (entries) {\n        if (!Array.isArray(entries)) return;\n        // Since we only observe the one element, we don't need to loop over the\n        // array\n        if (!entries.length) return;\n        var entry = entries[0];\n        var width;\n        var height;\n        if ('borderBoxSize' in entry) {\n          var borderSizeEntry = entry['borderBoxSize']; // iron out differences between browsers\n          var borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize['inlineSize'];\n          height = borderSize['blockSize'];\n        } else {\n          // for browsers that don't support `borderBoxSize`\n          // we calculate it ourselves to get the correct border box.\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n        setSize({\n          width: width,\n          height: height\n        });\n      });\n      resizeObserver.observe(element, {\n        box: 'border-box'\n      });\n      return function () {\n        return resizeObserver.unobserve(element);\n      };\n    } else\n      // We only want to reset to `undefined` when the element becomes `null`,\n      // not if it changes to another element.\n      setSize(undefined);\n  }, [element]);\n  return size;\n}\nexport { $db6c3485150b8e66$export$1ab7ae714698c4b8 as useSize };","map":{"version":3,"names":["$db6c3485150b8e66$export$1ab7ae714698c4b8","useSize","element","_$9gyGR$useState","$9gyGR$useState","undefined","_$9gyGR$useState2","_slicedToArray","size","setSize","$9gyGR$useLayoutEffect","width","offsetWidth","height","offsetHeight","resizeObserver","ResizeObserver","entries","Array","isArray","length","entry","borderSizeEntry","borderSize","observe","box","unobserve"],"sources":["C:\\Users\\user\\Desktop\\05portreact\\node_modules\\@radix-ui\\react-use-size\\dist\\packages\\react\\use-size\\src\\index.ts","C:\\Users\\user\\Desktop\\05portreact\\node_modules\\@radix-ui\\react-use-size\\dist\\packages\\react\\use-size\\src\\useSize.tsx"],"sourcesContent":["export { useSize } from './useSize';\n","/// <reference types=\"resize-observer-browser\" />\n\nimport * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\nfunction useSize(element: HTMLElement | null) {\n  const [size, setSize] = React.useState<{ width: number; height: number } | undefined>(undefined);\n\n  useLayoutEffect(() => {\n    if (element) {\n      // provide size as early as possible\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n\n        // Since we only observe the one element, we don't need to loop over the\n        // array\n        if (!entries.length) {\n          return;\n        }\n\n        const entry = entries[0];\n        let width: number;\n        let height: number;\n\n        if ('borderBoxSize' in entry) {\n          const borderSizeEntry = entry['borderBoxSize'];\n          // iron out differences between browsers\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize['inlineSize'];\n          height = borderSize['blockSize'];\n        } else {\n          // for browsers that don't support `borderBoxSize`\n          // we calculate it ourselves to get the correct border box.\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n\n        setSize({ width, height });\n      });\n\n      resizeObserver.observe(element, { box: 'border-box' });\n\n      return () => resizeObserver.unobserve(element);\n    } else {\n      // We only want to reset to `undefined` when the element becomes `null`,\n      // not if it changes to another element.\n      setSize(undefined);\n    }\n  }, [element]);\n\n  return size;\n}\n\nexport { useSize };\n"],"mappings":";;;ACKA,SAASA,yCAATC,CAAiBC,OAAjB,EAA8C;EAC5C,IAAAC,gBAAA,GAAwBC,eAAA,CAA8DC,SAA9D,CAAxB;IAAAC,iBAAA,GAAAC,cAAA,CAAAJ,gBAAA;IAAOK,IAAD,GAAAF,iBAAA;IAAOG,OAAP,GAAAH,iBAAA;EAENI,sBAAe,CAAC,YAAM;IACpB,IAAIR,OAAJ,EAAa;MACX;MACAO,OAAO,CAAC;QAAEE,KAAK,EAAET,OAAO,CAACU,WAAjB;QAA8BC,MAAM,EAAEX,OAAO,CAACY;OAA/C,CAAP;MAEA,IAAMC,cAAc,GAAG,IAAIC,cAAJ,CAAoB,UAAAC,OAAD,EAAa;QACrD,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,OAAd,CAAL,EACE;QAGF;QACA;QACA,IAAI,CAACA,OAAO,CAACG,MAAb,EACE;QAGF,IAAMC,KAAK,GAAGJ,OAAO,CAAC,CAAD,CAArB;QACA,IAAIN,KAAJ;QACA,IAAIE,MAAJ;QAEA,IAAI,mBAAmBQ,KAAvB,EAA8B;UAC5B,IAAMC,eAAe,GAAGD,KAAK,CAAC,eAAD,CAA7B,CAD4B,CAE5B;UACA,IAAME,UAAU,GAAGL,KAAK,CAACC,OAAN,CAAcG,eAAd,IAAiCA,eAAe,CAAC,CAAD,CAAhD,GAAsDA,eAAzE;UACAX,KAAK,GAAGY,UAAU,CAAC,YAAD,CAAlB;UACAV,MAAM,GAAGU,UAAU,CAAC,WAAD,CAAnB;SALF,MAMO;UACL;UACA;UACAZ,KAAK,GAAGT,OAAO,CAACU,WAAhB;UACAC,MAAM,GAAGX,OAAO,CAACY,YAAjB;;QAGFL,OAAO,CAAC;UAzChBE,KAAA,EAyCkBA,KAAF;UAzChBE,MAAA,EAyCyBA;SAAV,CAAP;OA5BqB,CAAvB;MA+BAE,cAAc,CAACS,OAAf,CAAuBtB,OAAvB,EAAgC;QAAEuB,GAAG,EAAE;OAAvC,CAAgC;MAEhC,OAAO;QAAA,OAAMV,cAAc,CAACW,SAAf,CAAyBxB,OAAzB,CAAb;MAAA;KArCF;MAuCE;MACA;MACAO,OAAO,CAACJ,SAAD,CAAP;GA1CW,EA4CZ,CAACH,OAAD,CA5CY,CAAf;EA8CA,OAAOM,IAAP"},"metadata":{},"sourceType":"module","externalDependencies":[]}