From b4416c86eed5a04554b582be6da16377868fcef9 Mon Sep 17 00:00:00 2001 From: chanduTelaga <202217B3191@wilp.bits-pilani.ac.in> Date: Sun, 21 Dec 2025 22:59:53 +0530 Subject: [PATCH 1/2] Made corrections in package.json and yarn.lock using github Copilote --- package.json | 2 +- yarn.lock | 285 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 183 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index 25ccb7da153..542231756e1 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@codecademy/tsconfig": "^0.3.0", "@types/glob": "^8.1.0", "@types/jest": "^29.5.1", - "@types/node": "^20.1.0", + "@types/node": "^20.19.27", "eslint": "^7.32.0", "husky": "^8.0.3", "jest": "^29.5.0", diff --git a/yarn.lock b/yarn.lock index 3ef39c9e3ab..1f5e7047a2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,14 +10,28 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@7.12.11", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": +"@babel/code-frame@^7.12.13": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/code-frame@^7.18.6": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/code-frame@^7.21.4": version "7.21.4" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== @@ -29,6 +43,27 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz" integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": + version "7.21.8" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz" + integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-compilation-targets" "^7.21.5" + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helpers" "^7.21.5" + "@babel/parser" "^7.21.8" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/core@7.12.9": version "7.12.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" @@ -51,27 +86,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.21.8" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz" - integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-compilation-targets" "^7.21.5" - "@babel/helper-module-transforms" "^7.21.5" - "@babel/helpers" "^7.21.5" - "@babel/parser" "^7.21.8" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - "@babel/generator@^7.12.5", "@babel/generator@^7.21.5", "@babel/generator@^7.7.2": version "7.21.5" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz" @@ -134,16 +148,16 @@ "@babel/traverse" "^7.21.5" "@babel/types" "^7.21.5" -"@babel/helper-plugin-utils@7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.21.5" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== +"@babel/helper-plugin-utils@7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-simple-access@^7.21.5": version "7.21.5" resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" @@ -240,13 +254,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" - integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx@^7.7.2": version "7.21.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz" @@ -254,6 +261,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-syntax-jsx@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -631,7 +645,7 @@ slash "^3.0.0" write-file-atomic "^4.0.2" -"@jest/types@^29.5.0": +"@jest/types@^29.0.0", "@jest/types@^29.5.0": version "29.5.0" resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz" integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== @@ -662,16 +676,16 @@ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.15" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" @@ -693,7 +707,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -820,10 +834,12 @@ resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/node@*", "@types/node@^20.1.0": - version "20.1.0" - resolved "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz" - integrity sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A== +"@types/node@*", "@types/node@^20.19.27": + version "20.19.27" + resolved "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz" + integrity sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug== + dependencies: + undici-types "~6.21.0" "@types/parse-json@^4.0.0": version "4.0.0" @@ -857,7 +873,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.30.0": +"@typescript-eslint/eslint-plugin@^4.14.2", "@typescript-eslint/eslint-plugin@^4.30.0", "@typescript-eslint/eslint-plugin@>= 4": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== @@ -871,7 +887,7 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.1", "@typescript-eslint/experimental-utils@^4.14.0": +"@typescript-eslint/experimental-utils@^4.0.1", "@typescript-eslint/experimental-utils@^4.14.0", "@typescript-eslint/experimental-utils@4.33.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== @@ -883,7 +899,7 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.30.0": +"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@^4.30.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== @@ -932,7 +948,7 @@ acorn-jsx@^5.3.1: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^7.4.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -1006,7 +1022,12 @@ ansi-styles@^5.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -ansi-styles@^6.0.0, ansi-styles@^6.1.0: +ansi-styles@^6.0.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansi-styles@^6.1.0: version "6.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== @@ -1120,7 +1141,7 @@ axobject-query@^3.1.1: dependencies: deep-equal "^2.0.5" -babel-jest@^29.5.0: +babel-jest@^29.0.0, babel-jest@^29.5.0: version "29.5.0" resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz" integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== @@ -1212,7 +1233,7 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.21.3: +browserslist@^4.21.3, "browserslist@>= 4.21.0": version "4.21.5" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== @@ -1274,11 +1295,6 @@ ccount@^1.0.0: resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -chalk@5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== - chalk@^2.0.0: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" @@ -1296,6 +1312,11 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -1397,16 +1418,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + colorette@^2.0.19: version "2.0.20" resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" @@ -1427,7 +1448,12 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== -convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -1584,7 +1610,7 @@ emoji-regex@^9.2.2: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -enquirer@^2.3.5: +enquirer@^2.3.5, "enquirer@>= 2.3.0 < 3": version "2.3.6" resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -1754,7 +1780,7 @@ eslint-module-utils@^2.7.4: dependencies: debug "^3.2.7" -eslint-plugin-import@^2.24.2: +eslint-plugin-import@^2.22.1, eslint-plugin-import@^2.24.2: version "2.27.5" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== @@ -1816,12 +1842,12 @@ eslint-plugin-no-only-tests@^2.6.0: resolved "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz" integrity sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q== -eslint-plugin-react-hooks@^4.2.0: +"eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0", eslint-plugin-react-hooks@^4.2.0: version "4.6.0" resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@^7.25.1: +eslint-plugin-react@^7.21.5, eslint-plugin-react@^7.25.1: version "7.32.2" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz" integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== @@ -1881,7 +1907,12 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -1891,7 +1922,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.32.0: +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^5.16.0 || ^6.8.0 || ^7.2.0", "eslint@^6.0.0 || ^7.0.0", eslint@^7.32.0, eslint@>=5, eslint@>=5.0.0, eslint@>=7.0.0: version "7.32.0" resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== @@ -2047,7 +2078,7 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -2133,11 +2164,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" @@ -2388,7 +2414,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.0: +inherits@^2.0.0, inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2407,7 +2433,7 @@ internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: has "^1.0.3" side-channel "^1.0.4" -is-alphabetical@1.0.4, is-alphabetical@^1.0.0: +is-alphabetical@^1.0.0, is-alphabetical@1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== @@ -2900,7 +2926,7 @@ jest-resolve-dependencies@^29.5.0: jest-regex-util "^29.4.3" jest-snapshot "^29.5.0" -jest-resolve@^29.5.0: +jest-resolve@*, jest-resolve@^29.5.0: version "29.5.0" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz" integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w== @@ -3047,7 +3073,7 @@ jest-worker@^29.5.0: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.5.0: +jest@^29.0.0, jest@^29.5.0: version "29.5.0" resolved "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz" integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ== @@ -3409,7 +3435,7 @@ minipass@^5.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -ms@2.1.2, ms@^2.1.1: +ms@^2.1.1, ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -3681,7 +3707,7 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.8.8: +prettier@^2.2.1, prettier@^2.8.8: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== @@ -3775,7 +3801,7 @@ remark-mdx@^1.6.22: remark-parse "8.0.3" unified "9.2.0" -remark-parse@8.0.3, remark-parse@^8.0.3: +remark-parse@^8.0.3, remark-parse@8.0.3: version "8.0.3" resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== @@ -3930,23 +3956,28 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -semver@7.x, semver@^7.2.1, semver@^7.3.5: - version "7.5.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== - dependencies: - lru-cache "^6.0.0" - semver@^5.4.1: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.5, semver@7.x: + version "7.5.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -4069,7 +4100,34 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4137,7 +4195,14 @@ stringify-entities@^3.0.0: character-entities-legacy "^1.0.0" xtend "^4.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -4336,7 +4401,7 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^4.4.4: +typescript@^4.4.4, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=4.3 <6": version "4.9.5" resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== @@ -4356,6 +4421,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + unherit@^1.0.4: version "1.1.3" resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" @@ -4364,10 +4434,10 @@ unherit@^1.0.4: inherits "^2.0.0" xtend "^4.0.0" -unified@9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" - integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== +unified@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" extend "^3.0.0" @@ -4376,10 +4446,10 @@ unified@9.2.0: trough "^1.0.0" vfile "^4.0.0" -unified@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== +unified@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== dependencies: bail "^1.0.0" extend "^3.0.0" @@ -4528,7 +4598,7 @@ word-wrap@^1.2.3: resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -4546,6 +4616,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" From 73fcd7460d270407ec531916f2e5962470a79198 Mon Sep 17 00:00:00 2001 From: chanduTelaga <202217B3191@wilp.bits-pilani.ac.in> Date: Sun, 21 Dec 2025 23:25:00 +0530 Subject: [PATCH 2/2] added css-box-sizing updated version to the docs --- content/css/concepts/box-sizing/box-sizing.md | 77 ++++++++++++++---- content/css/concepts/box-sizing/image.png | Bin 0 -> 25629 bytes 2 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 content/css/concepts/box-sizing/image.png diff --git a/content/css/concepts/box-sizing/box-sizing.md b/content/css/concepts/box-sizing/box-sizing.md index 0c912c8d068..e41d3b8d770 100644 --- a/content/css/concepts/box-sizing/box-sizing.md +++ b/content/css/concepts/box-sizing/box-sizing.md @@ -1,6 +1,6 @@ --- Title: 'Box Sizing' -Description: 'Shorthand property that sets different ways to compute width and height for an element in a single declaration.' +Description: 'Controls how the browser calculates an element’s total width and height in the CSS box model.' Subjects: - 'Web Development' - 'Web Design' @@ -13,7 +13,11 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -The `box-sizing` property allows us to include the padding and border in the calculation of an element's height and width. +The `box-sizing` property defines how the **width and height of an element are calculated**, determining whether padding and borders are included in the element’s total size. + +This property is essential for building predictable and responsive layouts. + +--- ## Syntax @@ -21,37 +25,74 @@ The `box-sizing` property allows us to include the padding and border in the cal box-sizing: value; ``` -The `value` for `box-sizing` property can be one of the following: +## Values + +The box-sizing property accepts the following values: + +## border-box + +Includes padding and border within the specified width and height of an element. +This ensures the element’s total size remains fixed and predictable. + +## Example: -- **border-box:** Any assigned padding or border is included in the calculation of the height or width of an element. If an element's width is set to `100px` and padding is set to `30px`, the padding will be included in the element's set width resulting in the total width still being `100px`. -- **content-box:** Default CSS behavior, the assigned height or width of an element plus any padding will be the total height or weight. If an element's width is set to `100px` and padding is set to `50px`, the total width for the element will be `150px`. +If an element has width: 100px and padding: 30px, the total width remains 100px. + +## content-box (default) + +Width and height apply only to the content. Padding and border are added outside the defined size. + +## Example: + +If an element has width: 100px and padding: 50px, the total width becomes 150px. ## Example 1 -Setting a `div` elements `box-sizing` to `border-box`: +Setting a div element’s box-sizing to border-box: -```css .div { - box-sizing: border-box; +box-sizing: border-box; } -``` ## Example 2 -Setting a `div` elements `box-sizing` to `content-box`: +Setting a div element’s box-sizing to content-box: -```css .div { - box-sizing: content-box; +box-sizing: content-box; } -``` -Examples 1 and 2 can be illustrated as follows: +## Visual Illustration + +![alt text](image.png) + +## In the illustration: + +-Both container elements have a width of 300px, a 1px border, and 20px padding. + +-Each container holds a child div with width: 100%. -![Illustrates examples 1, and 2 with `box-sizing` set to `border-box`, and `content-box`](https://raw.githubusercontent.com/Codecademy/docs/main/media/box-sizing-example.png 'Box-Sizing Example') +## Results: + +-border-box: +The total width of the container (content + padding + border) remains 300px. + +-content-box: +The content alone is 300px, resulting in a total width of 342px after adding padding and borders. + +## Best Practice + +Most modern projects apply border-box globally for consistent sizing: + +_, +_::before, +\*::after { +box-sizing: border-box; +} -This output image has two `div` containers with a width of 300px, a border of 1px, and a padding of 20px. Inside each container is a `div` with a width of 100%. +This approach simplifies layout calculations and helps prevent unexpected overflow issues. -The first container `div` is set to `border-box`. Its total width including the black border, tan padding, and blue `div` is 300px. +## Summary -The second container `div` is set to `content-box`. The width of the blue content `div` is 300px. The total width of the container `div` with padding, border, and content `div` is 342px. +The box-sizing property controls how an element’s size is calculated in the CSS box model. +While content-box is the default behavior, border-box is widely preferred for modern layouts because it provides better control, predictability, and maintainability. diff --git a/content/css/concepts/box-sizing/image.png b/content/css/concepts/box-sizing/image.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1116ac50aa38263f298ea359b4a17e8855655c GIT binary patch literal 25629 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