From 91147092a9f4d60aafac6601ad3f3050706fe7d7 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Thu, 11 Jan 2024 21:48:18 +0100 Subject: [PATCH 1/4] [docs] Document bundlesize --- docs/.link-check-errors.txt | 1 + docs/data/base/components/autocomplete/autocomplete.md | 2 ++ .../base/components/click-away-listener/click-away-listener.md | 2 ++ docs/data/base/components/focus-trap/focus-trap.md | 2 ++ docs/data/base/components/modal/modal.md | 2 ++ docs/data/material/components/autocomplete/autocomplete.md | 2 ++ .../data/material/components/use-media-query/use-media-query.md | 1 + 7 files changed, 12 insertions(+) diff --git a/docs/.link-check-errors.txt b/docs/.link-check-errors.txt index 0b8d083f4a0077..93c1a940153143 100644 --- a/docs/.link-check-errors.txt +++ b/docs/.link-check-errors.txt @@ -1,2 +1,3 @@ Broken links found by `pnpm docs:link-check` that exist: +- https://mui.com/size-snapshot/ diff --git a/docs/data/base/components/autocomplete/autocomplete.md b/docs/data/base/components/autocomplete/autocomplete.md index d0a0cb5de11e64..d90787ff0c1073 100644 --- a/docs/data/base/components/autocomplete/autocomplete.md +++ b/docs/data/base/components/autocomplete/autocomplete.md @@ -14,6 +14,8 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/ {{"component": "modules/components/ComponentPageTabs.js"}} +- πŸ“¦ [4.5 kB gzipped](/size-snapshot/). + ## Introduction An autocomplete component is an enhanced text input that shows a list of suggested options as users type, and lets them select an option from the list. diff --git a/docs/data/base/components/click-away-listener/click-away-listener.md b/docs/data/base/components/click-away-listener/click-away-listener.md index 7d67d0a2390dbe..636dc7ce95b8f1 100644 --- a/docs/data/base/components/click-away-listener/click-away-listener.md +++ b/docs/data/base/components/click-away-listener/click-away-listener.md @@ -13,6 +13,8 @@ githubLabel: 'component: ClickAwayListener' {{"component": "modules/components/ComponentPageTabs.js"}} +- πŸ“¦ [0.9 kB gzipped](/size-snapshot/). + ## Introduction Click-Away Listener is a utility component that listens for click events outside of its child. diff --git a/docs/data/base/components/focus-trap/focus-trap.md b/docs/data/base/components/focus-trap/focus-trap.md index 76c850021919f3..96abfaf55b0f7c 100644 --- a/docs/data/base/components/focus-trap/focus-trap.md +++ b/docs/data/base/components/focus-trap/focus-trap.md @@ -13,6 +13,8 @@ githubLabel: 'component: FocusTrap' {{"component": "modules/components/ComponentPageTabs.js"}} +- πŸ“¦ [1.6 kB gzipped](/size-snapshot/). + ## Introduction Focus Trap is a utility component that's useful when implementing an overlay such as a [modal dialog](/base-ui/react-modal/), which should block all interactions outside of it while open. diff --git a/docs/data/base/components/modal/modal.md b/docs/data/base/components/modal/modal.md index 88b80048a83a25..b9295aca414320 100644 --- a/docs/data/base/components/modal/modal.md +++ b/docs/data/base/components/modal/modal.md @@ -15,6 +15,8 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/ {{"component": "modules/components/ComponentPageTabs.js"}} +- πŸ“¦ [5.1 kB gzipped](/size-snapshot/). + ## Introduction Modal is a utility component that renders its children in front of a backdrop. diff --git a/docs/data/material/components/autocomplete/autocomplete.md b/docs/data/material/components/autocomplete/autocomplete.md index 9dab4d8409dcc8..55086bdf720aec 100644 --- a/docs/data/material/components/autocomplete/autocomplete.md +++ b/docs/data/material/components/autocomplete/autocomplete.md @@ -172,6 +172,8 @@ The `useAutocomplete` hook is also reexported from @mui/material for convenience import useAutocomplete from '@mui/material/useAutocomplete'; ``` +- πŸ“¦ [4.5 kB gzipped](/size-snapshot/). + {{"demo": "UseAutocomplete.js", "defaultCodeOpen": false}} ### Customized hook diff --git a/docs/data/material/components/use-media-query/use-media-query.md b/docs/data/material/components/use-media-query/use-media-query.md index f17a458873e939..f7f1eaca046fd4 100644 --- a/docs/data/material/components/use-media-query/use-media-query.md +++ b/docs/data/material/components/use-media-query/use-media-query.md @@ -12,6 +12,7 @@ Some of the key features: - βš›οΈ It has an idiomatic React API. - πŸš€ It's performant, it observes the document to detect when its media queries change, instead of polling the values periodically. +- πŸ“¦ [1 kB gzipped](/size-snapshot/). - πŸ€– It supports server-side rendering. {{"component": "modules/components/ComponentLinkHeader.js", "design": false}} From 2386f08027ba6d8d0166ad9cf198250faba4b84a Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Sun, 14 Jan 2024 22:09:44 +0100 Subject: [PATCH 2/4] Michal's review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: MichaΕ‚ Dudak Signed-off-by: Olivier Tassinari --- docs/data/base/components/autocomplete/autocomplete.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/base/components/autocomplete/autocomplete.md b/docs/data/base/components/autocomplete/autocomplete.md index d90787ff0c1073..5535de69957608 100644 --- a/docs/data/base/components/autocomplete/autocomplete.md +++ b/docs/data/base/components/autocomplete/autocomplete.md @@ -14,7 +14,7 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/ {{"component": "modules/components/ComponentPageTabs.js"}} -- πŸ“¦ [4.5 kB gzipped](/size-snapshot/). +- πŸ“¦ [4.5 kB gzipped](https://bundlephobia.com/package/@mui/base). ## Introduction From acf8e0f9096e8bd50c32719e9fbbf95aadf44002 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Sun, 14 Jan 2024 22:16:44 +0100 Subject: [PATCH 3/4] rely on bundle phobia more --- docs/.link-check-errors.txt | 2 -- .../base/components/click-away-listener/click-away-listener.md | 2 +- docs/data/base/components/focus-trap/focus-trap.md | 2 +- docs/data/base/components/modal/modal.md | 2 +- docs/data/material/components/autocomplete/autocomplete.md | 2 +- .../data/material/components/use-media-query/use-media-query.md | 2 +- docs/public/_redirects | 2 +- 7 files changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/.link-check-errors.txt b/docs/.link-check-errors.txt index 93c1a940153143..1a8203779f14d9 100644 --- a/docs/.link-check-errors.txt +++ b/docs/.link-check-errors.txt @@ -1,3 +1 @@ Broken links found by `pnpm docs:link-check` that exist: - -- https://mui.com/size-snapshot/ diff --git a/docs/data/base/components/click-away-listener/click-away-listener.md b/docs/data/base/components/click-away-listener/click-away-listener.md index 636dc7ce95b8f1..861c01b0cbbc03 100644 --- a/docs/data/base/components/click-away-listener/click-away-listener.md +++ b/docs/data/base/components/click-away-listener/click-away-listener.md @@ -13,7 +13,7 @@ githubLabel: 'component: ClickAwayListener' {{"component": "modules/components/ComponentPageTabs.js"}} -- πŸ“¦ [0.9 kB gzipped](/size-snapshot/). +- πŸ“¦ [0.9 kB gzipped](https://bundlephobia.com/package/@mui/base). ## Introduction diff --git a/docs/data/base/components/focus-trap/focus-trap.md b/docs/data/base/components/focus-trap/focus-trap.md index 96abfaf55b0f7c..e0cb9d8ca6904b 100644 --- a/docs/data/base/components/focus-trap/focus-trap.md +++ b/docs/data/base/components/focus-trap/focus-trap.md @@ -13,7 +13,7 @@ githubLabel: 'component: FocusTrap' {{"component": "modules/components/ComponentPageTabs.js"}} -- πŸ“¦ [1.6 kB gzipped](/size-snapshot/). +- πŸ“¦ [1.6 kB gzipped](https://bundlephobia.com/package/@mui/base). ## Introduction diff --git a/docs/data/base/components/modal/modal.md b/docs/data/base/components/modal/modal.md index b9295aca414320..a28edf8ca98361 100644 --- a/docs/data/base/components/modal/modal.md +++ b/docs/data/base/components/modal/modal.md @@ -15,7 +15,7 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/ {{"component": "modules/components/ComponentPageTabs.js"}} -- πŸ“¦ [5.1 kB gzipped](/size-snapshot/). +- πŸ“¦ [5.1 kB gzipped](https://bundlephobia.com/package/@mui/base). ## Introduction diff --git a/docs/data/material/components/autocomplete/autocomplete.md b/docs/data/material/components/autocomplete/autocomplete.md index 55086bdf720aec..5ab71766d16507 100644 --- a/docs/data/material/components/autocomplete/autocomplete.md +++ b/docs/data/material/components/autocomplete/autocomplete.md @@ -172,7 +172,7 @@ The `useAutocomplete` hook is also reexported from @mui/material for convenience import useAutocomplete from '@mui/material/useAutocomplete'; ``` -- πŸ“¦ [4.5 kB gzipped](/size-snapshot/). +- πŸ“¦ [4.6 kB gzipped](https://bundlephobia.com/package/@mui/material). {{"demo": "UseAutocomplete.js", "defaultCodeOpen": false}} diff --git a/docs/data/material/components/use-media-query/use-media-query.md b/docs/data/material/components/use-media-query/use-media-query.md index f7f1eaca046fd4..b77c5805094517 100644 --- a/docs/data/material/components/use-media-query/use-media-query.md +++ b/docs/data/material/components/use-media-query/use-media-query.md @@ -12,7 +12,7 @@ Some of the key features: - βš›οΈ It has an idiomatic React API. - πŸš€ It's performant, it observes the document to detect when its media queries change, instead of polling the values periodically. -- πŸ“¦ [1 kB gzipped](/size-snapshot/). +- πŸ“¦ [1.1 kB gzipped](https://bundlephobia.com/package/@mui/material). - πŸ€– It supports server-side rendering. {{"component": "modules/components/ComponentLinkHeader.js", "design": false}} diff --git a/docs/public/_redirects b/docs/public/_redirects index 8434c880d8d00c..f66c29a2b61370 100644 --- a/docs/public/_redirects +++ b/docs/public/_redirects @@ -5,7 +5,7 @@ /spam / 301 /sign-up / 301 -/size-snapshot https://s3.eu-central-1.amazonaws.com/mui-org-ci/artifacts/master/latest/size-snapshot.json 200 +/size-snapshot/ https://s3.eu-central-1.amazonaws.com/mui-org-ci/artifacts/master/latest/size-snapshot.json 200 # To add when we finish work on v6 # https://next.mui.com/* https://mui.com/:splat 301! From 8f6ba7344c548746802d4983a83d86fa0ae2de31 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Sun, 14 Jan 2024 23:59:45 +0100 Subject: [PATCH 4/4] proof of concept --- docs/data/base/components/button/button.md | 2 + docs/data/base/components/input/input.md | 2 + .../components/number-input/number-input.md | 2 + docs/data/base/components/select/select.md | 2 + docs/data/base/components/slider/slider.md | 2 + docs/pages/_app.js | 43 +++++++++++-------- docs/pages/base-ui/react-slider/index.js | 8 ++++ docs/src/docs-infra/InitialPropsContext.ts | 16 +++++++ docs/src/docs-infra/createGetModuleSize.ts | 40 +++++++++++++++++ .../modules/components/ComponentLinkHeader.js | 22 +++++++++- docs/src/modules/components/getModuleSize.ts | 22 ++++++++++ docs/src/pages/versions/ReleasedVersions.js | 2 +- packages/markdown/prepareMarkdown.js | 3 +- 13 files changed, 142 insertions(+), 24 deletions(-) create mode 100644 docs/src/docs-infra/InitialPropsContext.ts create mode 100644 docs/src/docs-infra/createGetModuleSize.ts create mode 100644 docs/src/modules/components/getModuleSize.ts diff --git a/docs/data/base/components/button/button.md b/docs/data/base/components/button/button.md index 1ce20c7cfdf67b..dfde0cb10e748f 100644 --- a/docs/data/base/components/button/button.md +++ b/docs/data/base/components/button/button.md @@ -15,6 +15,8 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/button/ {{"component": "modules/components/ComponentPageTabs.js"}} +- πŸ“¦ [3.3 kB gzipped](https://bundlephobia.com/package/@mui/base). + ## Introduction The Button component replaces the native HTML `