diff --git a/examples/pigment-css-webpack-ts/.gitignore b/examples/pigment-css-webpack-ts/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/examples/pigment-css-webpack-ts/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/pigment-css-webpack-ts/README.md b/examples/pigment-css-webpack-ts/README.md new file mode 100644 index 00000000..ba3b1c38 --- /dev/null +++ b/examples/pigment-css-webpack-ts/README.md @@ -0,0 +1,34 @@ +# Pigment CSS - Vite with TypeScript example project + +## How to use + +Download the example [or clone the repo](https://github.com/mui/pigment-css): + + + +```bash +curl https://codeload.github.com/mui/pigment-css/tar.gz/master | tar -xz --strip=2 pigment-css-master/examples/pigment-css-vite-ts +cd pigment-css-vite-ts +``` + +Install it and run: + +```bash +npm install +npm run dev +``` + +or: + + + +[![Edit on StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/mui/pigment-css/tree/master/examples/pigment-css-vite-ts) + +[![Edit on CodeSandbox](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/p/sandbox/github/mui/pigment-css/tree/master/examples/pigment-css-vite-ts) + +## Learn more + +To learn more about this example: + +- [Pigment CSS documentation](https://github.com/mui/pigment-css/blob/master/README.md) - learn more about Pigment CSS features and APIs. +- [Vite documentation](https://vitejs.dev/guide/) - learn about Vite features and APIs. diff --git a/examples/pigment-css-webpack-ts/index.html b/examples/pigment-css-webpack-ts/index.html new file mode 100644 index 00000000..3e5e5d95 --- /dev/null +++ b/examples/pigment-css-webpack-ts/index.html @@ -0,0 +1,11 @@ + + + + + + Pigment CSS + Webpack + TypeScript + + +
+ + diff --git a/examples/pigment-css-webpack-ts/package.json b/examples/pigment-css-webpack-ts/package.json new file mode 100644 index 00000000..70113288 --- /dev/null +++ b/examples/pigment-css-webpack-ts/package.json @@ -0,0 +1,28 @@ +{ + "name": "@app/wp-app", + "private": true, + "type": "module", + "scripts": { + "dev": "webpack serve --mode development", + "build": "webpack build", + "preview": "vite preview" + }, + "dependencies": { + "@pigment-css/react": "latest", + "react": "latest", + "react-dom": "latest" + }, + "devDependencies": { + "@pigment-css/unplugin": "latest", + "@types/react": "latest", + "@types/react-dom": "latest", + "css-loader": "^7.1.2", + "html-webpack-plugin": "^5.6.0", + "style-loader": "^4.0.0", + "ts-loader": "^9.5.1", + "typescript": "latest", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4" + } +} diff --git a/examples/pigment-css-webpack-ts/src/App.tsx b/examples/pigment-css-webpack-ts/src/App.tsx new file mode 100644 index 00000000..2cdb4224 --- /dev/null +++ b/examples/pigment-css-webpack-ts/src/App.tsx @@ -0,0 +1,197 @@ +import * as React from 'react'; +import { styled, css, keyframes } from '@pigment-css/react'; + +const scale = keyframes({ + to: { scale: 'var(--s2)' }, +}); + +const Link = styled('a', { shouldForwardProp: (prop) => prop !== 'outlined' })<{ + outlined?: boolean; +}>(({ theme }) => ({ + fontSize: '1rem', + background: 'rgba(0 0 0 / 0.04)', + padding: '0.8rem 1rem', + letterSpacing: '1px', + borderRadius: '8px', + textAlign: 'center', + ...theme.applyStyles('dark', { + background: 'rgba(255 255 255 / 0.1)', + }), + variants: [ + { + props: { outlined: true }, + style: { + background: 'transparent', + color: `hsl(${theme.vars.palette.primary})`, + border: `1px solid hsl(${theme.vars.palette.border})`, + }, + }, + ], +})); + +const Bubble = styled('span')({ + height: 'var(--size, 100%)', + aspectRatio: '1', + background: 'radial-gradient(hsl(var(--h) 100% 70%) 25%, transparent 50%)', + position: 'absolute', + display: 'inline-block', + left: 'var(--x, 0)', + top: 'var(--y, 0)', + scale: '0', + translate: '-50% -50%', + mixBlendMode: 'multiply', + filter: 'blur(2px)', + animation: `${scale} var(--s, 2s) var(--d, 0s) infinite alternate`, +}); + +function randomBetween(min: number, max: number) { + return Math.floor(Math.random() * (max - min + 1) + min); +} + +function generateBubbleVars() { + return ` + --x: ${randomBetween(10, 90)}%; + --y: ${randomBetween(15, 85)}%; + --h: ${randomBetween(0, 360)}; + --s2: ${randomBetween(2, 6)}; + --d: -${randomBetween(250, 400) / 1000}s; + --s: ${randomBetween(3, 6)}s; + `; +} + +export default function Home() { + return ( +
+

({ + fontFamily: 'system-ui, sans-serif', + fontSize: '4rem', + fontWeight: 500, + textAlign: 'center', + position: 'relative', + display: 'flex', + alignItems: 'center', + color: '#888', + marginBottom: '1rem', + ...theme.applyStyles('dark', { color: '#fff' }), + }))}`} + > + Pigment CSS + ({ + position: 'absolute', + inset: '0', + background: 'white', + mixBlendMode: 'color-burn', + overflow: 'hidden', + pointerEvents: 'none', + ...theme.applyStyles('dark', { + mixBlendMode: 'darken', + filter: 'brightness(2)', + }), + }))} + > + + + + + + + + + + + +

+
+ CSS-in-JS library with static extraction +
+
+ + Documentation + + + Roadmap + +
+
+ ); +} diff --git a/examples/pigment-css-webpack-ts/src/augment.d.ts b/examples/pigment-css-webpack-ts/src/augment.d.ts new file mode 100644 index 00000000..d10b46e0 --- /dev/null +++ b/examples/pigment-css-webpack-ts/src/augment.d.ts @@ -0,0 +1,19 @@ +import type {} from '@pigment-css/react/theme'; +import type { ExtendTheme } from '@pigment-css/react'; + +declare module '@pigment-css/react/theme' { + export interface ThemeArgs { + theme: ExtendTheme<{ + colorScheme: 'light' | 'dark'; + tokens: { + palette: { + background: string; + foreground: string; + primary: string; + primaryForeground: string; + border: string; + }; + }; + }>; + } +} diff --git a/examples/pigment-css-webpack-ts/src/globals.css b/examples/pigment-css-webpack-ts/src/globals.css new file mode 100644 index 00000000..a1e5313f --- /dev/null +++ b/examples/pigment-css-webpack-ts/src/globals.css @@ -0,0 +1,16 @@ +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +a { + color: inherit; + text-decoration: none; +} + +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + } +} diff --git a/examples/pigment-css-webpack-ts/src/main.tsx b/examples/pigment-css-webpack-ts/src/main.tsx new file mode 100644 index 00000000..71b2cfa8 --- /dev/null +++ b/examples/pigment-css-webpack-ts/src/main.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom/client'; +import '@pigment-css/react/styles.css'; +import './globals.css'; +import App from './App'; + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +); diff --git a/examples/pigment-css-webpack-ts/tsconfig.json b/examples/pigment-css-webpack-ts/tsconfig.json new file mode 100644 index 00000000..e1462370 --- /dev/null +++ b/examples/pigment-css-webpack-ts/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "outDir": "./dist/", + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/examples/pigment-css-webpack-ts/tsconfig.node.json b/examples/pigment-css-webpack-ts/tsconfig.node.json new file mode 100644 index 00000000..80a01331 --- /dev/null +++ b/examples/pigment-css-webpack-ts/tsconfig.node.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + } +} diff --git a/examples/pigment-css-webpack-ts/webpack.config.cjs b/examples/pigment-css-webpack-ts/webpack.config.cjs new file mode 100644 index 00000000..ce4b3b6c --- /dev/null +++ b/examples/pigment-css-webpack-ts/webpack.config.cjs @@ -0,0 +1,56 @@ +const path = require('path'); +const { webpack: PigmentPlugin, extendTheme } = require('@pigment-css/unplugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); + +// To learn more about theming, visit https://github.com/mui/pigment-css/blob/master/README.md#theming +const theme = extendTheme({ + colorSchemes: { + light: { + palette: { + background: '0 0% 100%', + foreground: '240 10% 3.9%', + primary: '240 5.9% 10%', + border: '240 5.9% 90%', + }, + }, + dark: { + palette: { + background: '240 10% 3.9%', + foreground: '0 0% 80%', + primary: '0 0% 98%', + border: '240 3.7% 15.9%', + }, + }, + }, +}); + +module.exports = { + entry: './src/main.tsx', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + { + test: /\.css$/i, + use: ['style-loader', 'css-loader'], + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, 'dist'), + chunkFormat: 'array-push', + }, + plugins: [ + PigmentPlugin({ + theme, + }), + new HtmlWebpackPlugin({ template: './index.html' }), + ], +}; diff --git a/packages/pigment-css-unplugin/src/index.ts b/packages/pigment-css-unplugin/src/index.ts index 33228e4e..3460089a 100644 --- a/packages/pigment-css-unplugin/src/index.ts +++ b/packages/pigment-css-unplugin/src/index.ts @@ -105,7 +105,6 @@ const addMaterialUIOverriedContext = (originalContext: Record) * have to share the same Maps. */ const globalCssFileLookup = new Map(); -const globalCssLookup = new Map(); const pluginName = 'PigmentCSSWebpackPlugin'; @@ -137,7 +136,6 @@ export const plugin = createUnplugin((options) => { .map((lib) => lib.split('/').join(path.sep)); const cache = new TransformCacheCollection(); const { emitter, onDone } = createFileReporter(debug ?? false); - const cssLookup = meta?.type === 'next' ? globalCssLookup : new Map(); const cssFileLookup = meta?.type === 'next' ? globalCssFileLookup : new Map(); const isNext = meta?.type === 'next'; const outputCss = isNext && meta.outputCss; @@ -326,14 +324,22 @@ export const plugin = createUnplugin((options) => { }; } + const rootPath = process.cwd(); const slug = slugify(cssText); - const cssFilename = `${slug}.pigment.css`; - const cssId = `./${cssFilename}`; - cssFileLookup.set(cssId, cssFilename); - cssLookup.set(cssFilename, cssText); + const cssFilename = path + .normalize(`${id.replace(/\.[jt]sx?$/, '')}-${slug}.pigment.css`) + .replace(/\\/g, path.posix.sep); + + const cssRelativePath = path.relative(rootPath, cssFilename).replace(/\\/g, path.posix.sep); + // Starting with null character so that it calls the resolver method (resolveId in line:430) + // Otherwise, webpack tries to resolve the path directly + const cssId = `\0${cssRelativePath}`; + + cssFileLookup.set(cssId, cssText); + result.code += `\nimport ${JSON.stringify(cssId)};`; return { - code: `${result.code}\nimport ${JSON.stringify(`./${cssFilename}`)};`, + code: result.code, map: result.sourceMap, }; } catch (e) { @@ -388,10 +394,10 @@ export const plugin = createUnplugin((options) => { } : { resolveId(source: string) { - if (transformLibraries.some((lib) => source === `${lib}/styles.css`)) { + if (finalTransformLibraries.some((lib) => source === `${lib}/styles.css`)) { return VIRTUAL_CSS_FILE; } - if (transformLibraries.some((lib) => source === `${lib}/theme`)) { + if (finalTransformLibraries.some((lib) => source === `${lib}/theme`)) { return VIRTUAL_THEME_FILE; } return null; @@ -422,14 +428,21 @@ export const plugin = createUnplugin((options) => { plugins.push({ name: 'pigment-css-plugin-load-output-css', enforce: 'pre', - resolveId(source: string) { - return cssFileLookup.get(source); + resolveId(id) { + if (id[0] === '\0' && id.endsWith('.pigment.css')) { + return { id }; + } + return null; }, loadInclude(id) { + if (!id) { + return false; + } return id.endsWith('.pigment.css'); }, - load(id) { - return cssLookup.get(id) ?? ''; + load(url: string) { + const [id] = url.split('?', 1); + return cssFileLookup.get(id); }, }); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4812f230..a483579b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -398,10 +398,10 @@ importers: version: 8.56.7 '@typescript-eslint/experimental-utils': specifier: ^5.62.0 - version: 5.62.0(eslint@8.57.0)(typescript@5.4.4) + version: 5.62.0(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.5.0 - version: 7.6.0(eslint@8.57.0)(typescript@5.4.4) + version: 7.6.0(eslint@8.57.0)(typescript@5.5.3) packages/pigment-css-nextjs-plugin: dependencies: @@ -459,7 +459,7 @@ importers: version: 0.5.3 '@wyw-in-js/transform': specifier: ^0.5.3 - version: 0.5.3(typescript@5.4.4) + version: 0.5.3(typescript@5.5.3) clsx: specifier: ^2.1.0 version: 2.1.1 @@ -544,7 +544,7 @@ importers: version: 0.5.3 '@wyw-in-js/transform': specifier: ^0.5.3 - version: 0.5.3(typescript@5.4.4) + version: 0.5.3(typescript@5.5.3) babel-plugin-define-var: specifier: ^0.1.0 version: 0.1.0 @@ -584,7 +584,7 @@ importers: version: 0.5.3 '@wyw-in-js/transform': specifier: ^0.5.3 - version: 0.5.3(typescript@5.4.4) + version: 0.5.3(typescript@5.5.3) babel-plugin-define-var: specifier: ^0.1.0 version: 0.1.0 @@ -700,6 +700,10 @@ packages: resolution: {integrity: sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.22.20': resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -728,10 +732,18 @@ packages: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.6': resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -1270,6 +1282,10 @@ packages: resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.8': + resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} + engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} @@ -1282,6 +1298,10 @@ packages: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} + '@babel/types@7.24.8': + resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -7744,6 +7764,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + engines: {node: '>=14.17'} + hasBin: true + uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} @@ -8284,7 +8309,7 @@ snapshots: dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -8308,7 +8333,7 @@ snapshots: '@babel/helper-module-imports@7.24.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.8 '@babel/helper-module-transforms@7.24.6(@babel/core@7.24.4)': dependencies: @@ -8325,6 +8350,8 @@ snapshots: '@babel/helper-plugin-utils@7.24.6': {} + '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -8341,7 +8368,7 @@ snapshots: '@babel/helper-simple-access@7.24.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: @@ -8349,12 +8376,16 @@ snapshots: '@babel/helper-split-export-declaration@7.24.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.8 '@babel/helper-string-parser@7.24.1': {} + '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-validator-identifier@7.24.6': {} + '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-option@7.23.5': {} '@babel/helper-wrap-function@7.22.20': @@ -8995,6 +9026,10 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/runtime@7.24.8': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.24.0': dependencies: '@babel/code-frame': 7.24.2 @@ -9022,6 +9057,12 @@ snapshots: '@babel/helper-validator-identifier': 7.24.6 to-fast-properties: 2.0.0 + '@babel/types@7.24.8': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + '@bcoe/v8-coverage@0.2.3': {} '@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4)': @@ -9510,7 +9551,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@lerna/create@8.1.2(encoding@0.1.13)(typescript@5.4.4)': + '@lerna/create@8.1.2(encoding@0.1.13)(typescript@5.5.3)': dependencies: '@npmcli/run-script': 7.0.2 '@nx/devkit': 18.2.4(nx@18.2.4) @@ -9523,7 +9564,7 @@ snapshots: columnify: 1.6.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.3.6(typescript@5.4.4) + cosmiconfig: 8.3.6(typescript@5.5.3) dedent: 0.7.0 execa: 5.0.0 fs-extra: 11.2.0 @@ -9588,7 +9629,7 @@ snapshots: '@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@mnajdova/enzyme-adapter-react-18@0.2.0(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -9655,7 +9696,7 @@ snapshots: '@mui/internal-docs-utils@1.0.4': dependencies: rimraf: 5.0.5 - typescript: 5.4.4 + typescript: 5.5.3 '@mui/internal-markdown@1.0.1': dependencies: @@ -9674,7 +9715,7 @@ snapshots: '@mui/internal-docs-utils': 1.0.4 doctrine: 3.0.0 lodash: 4.17.21 - typescript: 5.4.4 + typescript: 5.5.3 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -9887,11 +9928,11 @@ snapshots: '@mui/system@6.0.0-alpha.12(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.8 '@mui/private-theming': 6.0.0-dev.20240529-082515-213b5e33ab(@types/react@18.3.3)(react@18.3.1) '@mui/styled-engine': 6.0.0-dev.20240529-082515-213b5e33ab(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 6.0.0-alpha.12(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 6.0.0-dev.20240529-082515-213b5e33ab(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -10889,9 +10930,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -10910,6 +10951,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.5.3)': + dependencies: + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + optionalDependencies: + typescript: 5.5.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -10936,7 +10990,7 @@ snapshots: '@typescript-eslint/types@7.6.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.4)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -10944,9 +10998,9 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.4) + tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -10965,14 +11019,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/typescript-estree@7.6.0(typescript@5.5.3)': + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: + typescript: 5.5.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.0 @@ -11129,6 +11198,27 @@ snapshots: - supports-color - typescript + '@wyw-in-js/transform@0.5.3(typescript@5.5.3)': + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/helper-module-imports': 7.24.6 + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.4) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@wyw-in-js/processor-utils': 0.5.3 + '@wyw-in-js/shared': 0.5.3 + babel-merge: 3.0.0(@babel/core@7.24.4) + cosmiconfig: 8.3.6(typescript@5.5.3) + happy-dom: 12.10.3 + source-map: 0.7.4 + stylis: 4.3.1 + ts-invariant: 0.10.3 + transitivePeerDependencies: + - supports-color + - typescript + '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} @@ -12038,6 +12128,15 @@ snapshots: optionalDependencies: typescript: 5.4.4 + cosmiconfig@8.3.6(typescript@5.5.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.5.3 + cosmiconfig@9.0.0(typescript@5.4.4): dependencies: env-paths: 2.2.1 @@ -14112,7 +14211,7 @@ snapshots: lerna@8.1.2(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.2(encoding@0.1.13)(typescript@5.4.4) + '@lerna/create': 8.1.2(encoding@0.1.13)(typescript@5.5.3) '@npmcli/run-script': 7.0.2 '@nx/devkit': 18.2.4(nx@18.2.4) '@octokit/plugin-enterprise-rest': 6.0.1 @@ -14125,7 +14224,7 @@ snapshots: conventional-changelog-angular: 7.0.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.3.6(typescript@5.4.4) + cosmiconfig: 8.3.6(typescript@5.5.3) dedent: 0.7.0 envinfo: 7.8.1 execa: 5.0.0 @@ -14177,7 +14276,7 @@ snapshots: strong-log-transformer: 2.1.0 tar: 6.1.11 temp-dir: 1.0.0 - typescript: 5.4.4 + typescript: 5.5.3 upath: 2.0.1 uuid: 9.0.1 validate-npm-package-license: 3.0.4 @@ -15456,7 +15555,7 @@ snapshots: postcss-styled-syntax@0.6.4(postcss@8.4.38): dependencies: postcss: 8.4.38 - typescript: 5.4.4 + typescript: 5.5.3 postcss-value-parser@4.2.0: {} @@ -16620,6 +16719,10 @@ snapshots: dependencies: typescript: 5.4.4 + ts-api-utils@1.3.0(typescript@5.5.3): + dependencies: + typescript: 5.5.3 + ts-interface-checker@0.1.13: {} ts-invariant@0.10.3: @@ -16668,10 +16771,10 @@ snapshots: - supports-color - ts-node - tsutils@3.21.0(typescript@5.4.4): + tsutils@3.21.0(typescript@5.5.3): dependencies: tslib: 1.14.1 - typescript: 5.4.4 + typescript: 5.5.3 tsx@4.7.2: dependencies: @@ -16761,6 +16864,8 @@ snapshots: typescript@5.4.4: {} + typescript@5.5.3: {} + uc.micro@2.1.0: {} ufo@1.5.3: {}