diff --git a/.yarn/cache/rtlcss-npm-3.5.0-86a685a37e-141ffcb031.zip b/.yarn/cache/rtlcss-npm-3.5.0-86a685a37e-141ffcb031.zip deleted file mode 100644 index 99d63351f87..00000000000 Binary files a/.yarn/cache/rtlcss-npm-3.5.0-86a685a37e-141ffcb031.zip and /dev/null differ diff --git a/packages/carbon-web-components/.storybook/preview.js b/packages/carbon-web-components/.storybook/preview.js index 56340ad7b6c..9f3e118470c 100644 --- a/packages/carbon-web-components/.storybook/preview.js +++ b/packages/carbon-web-components/.storybook/preview.js @@ -1,5 +1,5 @@ /** - * Copyright IBM Corp. 2016, 2023 + * Copyright IBM Corp. 2016, 2024 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. @@ -153,6 +153,10 @@ export const decorators = [ const { hasMainTag } = result; const { theme } = context.globals; + if (process.env.STORYBOOK_USE_RTL === 'true') { + document.documentElement.setAttribute('dir', 'rtl'); + } + document.documentElement.setAttribute('storybook-carbon-theme', theme); return container({ hasMainTag, children: result }); diff --git a/packages/carbon-web-components/gulp-tasks/build/dist.js b/packages/carbon-web-components/gulp-tasks/build/dist.js index d1889933732..380b4694385 100644 --- a/packages/carbon-web-components/gulp-tasks/build/dist.js +++ b/packages/carbon-web-components/gulp-tasks/build/dist.js @@ -31,9 +31,8 @@ function _getFolders(dir) { * * @param {object} [options] The build options. * @param {string} [options.mode=development] The build mode. - * @param {string} [options.dir=ltr] The UI direction. */ -async function _buildComponents({ mode = 'development', dir = 'ltr' } = {}) { +async function _buildComponents({ mode = 'development' } = {}) { if (!fs.existsSync(config.distDestDir)) { fs.mkdirSync(config.distDestDir); } @@ -46,7 +45,7 @@ async function _buildComponents({ mode = 'development', dir = 'ltr' } = {}) { } } - return rollup(getRollupConfig({ mode, dir, folders })) + return rollup(getRollupConfig({ mode, folders })) .then((bundle) => { bundle.write({ format: 'es', @@ -63,7 +62,7 @@ async function _buildComponents({ mode = 'development', dir = 'ltr' } = {}) { /** * Defined scripts to return as gulp tasks * - * @type {{ltr: object, rtl: object}} + * @type {{ltr: object}} * @private */ const _scripts = { @@ -75,26 +74,13 @@ const _scripts = { return _buildComponents({ mode: 'production' }); }, }, - rtl: { - dev() { - return _buildComponents({ dir: 'rtl' }); - }, - prod() { - return _buildComponents({ mode: 'production', dir: 'rtl' }); - }, - }, }; -// Gulp tasks (LTR) +// Gulp tasks gulp.task('build:dist:ltr:dev', _scripts.ltr.dev); gulp.task('build:dist:ltr:prod', _scripts.ltr.prod); gulp.task('build:dist:ltr', gulp.series(gulp.task('build:dist:ltr:dev'), gulp.task('build:dist:ltr:prod'))); -// Gulp tasks (RTL) -gulp.task('build:dist:rtl:dev', _scripts.rtl.dev); -gulp.task('build:dist:rtl:prod', _scripts.rtl.prod); -gulp.task('build:dist:rtl', gulp.series(gulp.task('build:dist:rtl:dev'), gulp.task('build:dist:rtl:prod'))); - // Build all components -gulp.task('build:dist', gulp.series(gulp.series(gulp.task('build:dist:ltr:prod'), gulp.task('build:dist:rtl:prod')))); -gulp.task('build:dist:dev', gulp.series(gulp.series(gulp.task('build:dist:ltr:dev'), gulp.task('build:dist:rtl:dev')))); +gulp.task('build:dist', gulp.series(gulp.series(gulp.task('build:dist:ltr:prod')))); +gulp.task('build:dist:dev', gulp.series(gulp.series(gulp.task('build:dist:ltr:dev')))); diff --git a/packages/carbon-web-components/gulp-tasks/build/modules/css.js b/packages/carbon-web-components/gulp-tasks/build/modules/css.js index 6e6337f1e47..d8d535fdf8a 100644 --- a/packages/carbon-web-components/gulp-tasks/build/modules/css.js +++ b/packages/carbon-web-components/gulp-tasks/build/modules/css.js @@ -16,7 +16,6 @@ const path = require('path'); const postcss = require('gulp-postcss'); const prettier = require('gulp-prettier'); const replaceExtension = require('replace-ext'); -const rtlcss = require('rtlcss'); const sass = require('gulp-sass')(require('sass')); const through2 = require('through2'); const { promisify } = require('util'); @@ -33,11 +32,10 @@ const promisifyStream = promisify(asyncDone); * * @param {object} [options] The build options. * @param {string} [options.banner] License banner - * @param {string} [options.dir] Reading direction * @returns {*} Gulp stream * @private */ -const buildModulesCSS = ({ banner, dir }) => +const buildModulesCSS = ({ banner }) => gulp .src([`${config.srcDir}/**/*.scss`, `!${config.srcDir}/**/*-story.scss`]) .pipe( @@ -56,7 +54,6 @@ const buildModulesCSS = ({ banner, dir }) => postcss([ fixHostPseudo(), autoprefixer(), - ...(dir === 'rtl' ? [rtlcss] : []), ]) ) .pipe(cleanCSS()) @@ -67,8 +64,7 @@ const buildModulesCSS = ({ banner, dir }) => export default css([${JSON.stringify(String(file.contents))}]); `); file.path = replaceExtension( - file.path, - dir === 'rtl' ? '.rtl.css.js' : '.css.js' + file.path, '.css.js' ); done(null, file); }) @@ -89,7 +85,6 @@ async function css() { ); await Promise.all([ promisifyStream(() => buildModulesCSS({ banner })), - promisifyStream(() => buildModulesCSS({ banner, dir: 'rtl' })), ]); } diff --git a/packages/carbon-web-components/gulp-tasks/build/modules/icons.js b/packages/carbon-web-components/gulp-tasks/build/modules/icons.js index acf6b202c4d..855c310dae2 100644 --- a/packages/carbon-web-components/gulp-tasks/build/modules/icons.js +++ b/packages/carbon-web-components/gulp-tasks/build/modules/icons.js @@ -13,13 +13,10 @@ const header = require('gulp-header'); const path = require('path'); const prettier = require('gulp-prettier'); const through2 = require('through2'); - const { promisify } = require('util'); const { readFile } = require('fs'); - const config = require('../../config'); const createSVGResultFromCarbonIcon = require('../../../tools/svg-result-carbon-icon'); - const readFileAsync = promisify(readFile); const promisifyStream = promisify(asyncDone); diff --git a/packages/carbon-web-components/package.json b/packages/carbon-web-components/package.json index 0853d4b3cb5..fe09170a0bc 100644 --- a/packages/carbon-web-components/package.json +++ b/packages/carbon-web-components/package.json @@ -190,7 +190,6 @@ "resize-observer-polyfill": "^1.5.0", "rollup": "^2.55.1", "rollup-plugin-multi-input": "^1.3.1", - "rtlcss": "^3.0.0", "sass": "~1.70.0", "sass-loader": "^10.0.0", "strip-comments": "^1.0.0", diff --git a/packages/styles/scss/components/in-page-banner/_in-page-banner.scss b/packages/styles/scss/components/in-page-banner/_in-page-banner.scss index cb4951902fe..3e898ac3d12 100644 --- a/packages/styles/scss/components/in-page-banner/_in-page-banner.scss +++ b/packages/styles/scss/components/in-page-banner/_in-page-banner.scss @@ -54,12 +54,6 @@ border-inline-start: 1px solid $layer-accent-01; grid-column: 9 / span 12; padding-inline: $spacing-05; - - // Adjust the direction of the border line on RTL. - [dir='rtl'] & { - border-inline-end: 1px solid $layer-accent-01; - border-inline-start: inherit; - } } } } diff --git a/packages/styles/scss/components/masthead/_masthead-search.scss b/packages/styles/scss/components/masthead/_masthead-search.scss index 0e613f71ab2..5d4b36b360f 100755 --- a/packages/styles/scss/components/masthead/_masthead-search.scss +++ b/packages/styles/scss/components/masthead/_masthead-search.scss @@ -118,11 +118,6 @@ inset-block-start: 0; inset-inline-end: 0; - /* stylelint-disable-next-line comment-whitespace-inside */ - /* !rtl:raw: - left: 0; - */ - .#{$prefix}--header__search--search, .#{$prefix}--header__search--close { padding: 0; diff --git a/packages/styles/scss/components/masthead/_masthead.scss b/packages/styles/scss/components/masthead/_masthead.scss index 5160b2d2192..9a27c918f7f 100755 --- a/packages/styles/scss/components/masthead/_masthead.scss +++ b/packages/styles/scss/components/masthead/_masthead.scss @@ -779,9 +779,6 @@ z-index: 99999; background-color: $background; - /* !rtl:raw: - left: 0 !important; - */ &:focus { outline: none; diff --git a/packages/web-components/.storybook/main.js b/packages/web-components/.storybook/main.js index d30da93b23b..b3275f73593 100644 --- a/packages/web-components/.storybook/main.js +++ b/packages/web-components/.storybook/main.js @@ -13,12 +13,10 @@ const path = require('path'); const sass = require('sass'); const webpack = require('webpack'); const TerserPlugin = require('terser-webpack-plugin'); -const rtlcss = require('rtlcss'); const deepReplace = require('../../../tasks/deep-replace'); const { getPaths } = deepReplace; const useStyleSourceMap = process.env.STORYBOOK_USE_STYLE_SOURCEMAP === 'true'; -const useRtl = process.env.STORYBOOK_USE_RTL === 'true'; module.exports = { stories: ['../docs/*.mdx', '../src/**/*.stories.ts'], @@ -222,9 +220,7 @@ module.exports = { const autoPrefixer = require('autoprefixer')({ overrideBrowserslist: ['last 1 version', 'ie >= 11'], }); - return !useRtl - ? [hostPseudo, autoPrefixer] - : [rtlcss, hostPseudo, autoPrefixer]; + return [hostPseudo, autoPrefixer]; }, sourceMap: useStyleSourceMap, }, diff --git a/packages/web-components/.storybook/preview.ts b/packages/web-components/.storybook/preview.ts index fdd800fee49..6421d98d7b6 100644 --- a/packages/web-components/.storybook/preview.ts +++ b/packages/web-components/.storybook/preview.ts @@ -1,7 +1,7 @@ /** * @license * - * Copyright IBM Corp. 2020, 2023 + * Copyright IBM Corp. 2020, 2024 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. @@ -39,7 +39,6 @@ export const parameters = { 'Building for IBM(dotcom)', 'Carbon CDN style helpers', 'Stable selectors', - 'Enable right-to-left (RTL)', 'Feature flags', 'Contributing to the Web Components package', 'Breaking Changes', diff --git a/packages/web-components/.storybook/react/preview.tsx b/packages/web-components/.storybook/react/preview.tsx index bf3ac4f9b4a..2eba94bcd36 100644 --- a/packages/web-components/.storybook/react/preview.tsx +++ b/packages/web-components/.storybook/react/preview.tsx @@ -17,10 +17,6 @@ import CDSSkipToContent from '../../src/internal/vendor/@carbon/web-components/c import { CURRENT_THEME } from '@carbon/storybook-addon-theme/es/shared'; import containerStyles from './container.scss'; // eslint-disable-line import/first -if (process.env.STORYBOOK_CARBON_CUSTOM_ELEMENTS_USE_RTL === 'true') { - document.documentElement.setAttribute('dir', 'rtl'); -} - export const parameters = { layout: 'fullscreen', options: { @@ -32,7 +28,6 @@ export const parameters = { 'Building for IBM(dotcom)', 'Carbon CDN style helpers', 'Stable selectors', - 'Enable right-to-left (RTL)', 'Feature flags', 'Contributing to the Web Components package', 'Breaking Changes', diff --git a/packages/web-components/docs/enable-rtl.md b/packages/web-components/docs/enable-rtl.md deleted file mode 100644 index b21f4d770d2..00000000000 --- a/packages/web-components/docs/enable-rtl.md +++ /dev/null @@ -1,54 +0,0 @@ - - -## Table of contents - -- [Using RTL version of CSS](#using-rtl-version-of-css) - - - -## Using RTL version of CSS - -`@carbon/ibmdotcom-web-components` ships both LTR/RTL versions of CSS modules in -`lit-element`'s [`css` tagged template](https://lit-element.polymer-project.org/guide/styles#add-styles). -They have `.css.js` and `.rtl.css.js` extensions, respectively. The Web -Components modules loads the LTR versions by default, but you can let those -modules load the RTL versions with a technique called "dependency injection". - -[Webpack `NormalModuleReplacementPlugin`](https://webpack.js.org/plugins/normal-module-replacement-plugin/) -is an available Webpack plugin that allows dependency injection. The example below lets the Web -Components modules load `.rtl.css.js` whenever our Web Components module tries -to load `.css.js`: - -```javascript -const reCssBundle = /\.css\.js$/i; - -... - -module.exports = { - ... - plugins: [ - ... - new webpack.NormalModuleReplacementPlugin(reCssBundle, resource => { - resource.request = resource.request.replace(reCssBundle, '.rtl.css.js'); - }), - ], - ... -}; -``` - -> 💡 Check our -> [CodeSandbox](https://githubbox.com/carbon-design-system/carbon-for-ibm-dotcom/tree/main/packages/web-components/examples/codesandbox/usage/webpack-rtl) -> example implementation. - -[![Edit @carbon/ibmdotcom-web-components](https://codesandbox.io/static/img/play-codesandbox.svg)](https://githubbox.com/carbon-design-system/carbon-for-ibm-dotcom/tree/main/packages/web-components/examples/codesandbox/usage/webpack-rtl) - -While we recommend using a module bundler for creating a fully optimized RTL version -for your application (as shown in the example above), -you can use our pre-built CDN version for evaluation purposes (which comes with the dotcom shell). The pre-built -version can be found at `https://1.www.s81c.com/common/carbon-for-ibm-dotcom/tag/v1/latest/rtl/ibmdotcom-web-components-dotcom-shell.rtl.min.js`. - -> 💡 Check our -> [CodeSandbox](https://githubbox.com/carbon-design-system/carbon-for-ibm-dotcom/tree/main/packages/web-components/examples/codesandbox/usage/dotcom-shell-cdn-with-rtl) -> example implementation. - -[![Edit @carbon/ibmdotcom-web-components](https://codesandbox.io/static/img/play-codesandbox.svg)](https://githubbox.com/carbon-design-system/carbon-for-ibm-dotcom/tree/main/packages/web-components/examples/codesandbox/usage/dotcom-shell-cdn-with-rtl) diff --git a/packages/web-components/docs/enable-rtl.stories.mdx b/packages/web-components/docs/enable-rtl.stories.mdx deleted file mode 100644 index 2a6daf0cc6e..00000000000 --- a/packages/web-components/docs/enable-rtl.stories.mdx +++ /dev/null @@ -1,6 +0,0 @@ -import { Description, Meta } from '@storybook/addon-docs/blocks'; -import readme from './enable-rtl.md'; - - - - diff --git a/packages/web-components/gulp-tasks/build/components.js b/packages/web-components/gulp-tasks/build/components.js index 2c4ebf0ff28..c8c1ce464ce 100644 --- a/packages/web-components/gulp-tasks/build/components.js +++ b/packages/web-components/gulp-tasks/build/components.js @@ -35,23 +35,22 @@ function _getFolders(dir) { * * @param {object} [options] The build options. * @param {string} [options.mode=development] The build mode. - * @param {string} [options.dir=ltr] The UI direction. */ -async function _buildComponents({ mode = 'development', dir = 'ltr' } = {}) { +async function _buildComponents({ mode = 'development' } = {}) { let folders = _getFolders(`${config.srcDir}/components`); folders = folders.filter(item => { return item !== 'layout'; }); - return rollup(getRollupConfig({ mode, dir, folders })) + return rollup(getRollupConfig({ mode, folders })) .then(bundle => { bundle.write({ format: 'es', dir: config.bundleDestDir, // FIXME: Figure out how to handle `process.env` without build toolstack banner: 'let process = { env: {} };', - chunkFileNames: `${dir === 'rtl' ? 'rtl/' : ''}[name].js`, + chunkFileNames: '[name].js', }); }) .catch(err => { @@ -63,7 +62,7 @@ async function _buildComponents({ mode = 'development', dir = 'ltr' } = {}) { /** * Defined scripts to return as gulp tasks * - * @type {{ltr: object, rtl: object}} + * @type {{ltr: object}} * @private */ const _scripts = { @@ -75,28 +74,15 @@ const _scripts = { return _buildComponents({ mode: 'production' }); }, }, - rtl: { - dev() { - return _buildComponents({ dir: 'rtl' }); - }, - prod() { - return _buildComponents({ mode: 'production', dir: 'rtl' }); - }, - }, }; -// Gulp tasks (LTR) +// Gulp tasks gulp.task('build:components:ltr:dev', _scripts.ltr.dev); gulp.task('build:components:ltr:prod', _scripts.ltr.prod); gulp.task('build:components:ltr', gulp.series(gulp.task('build:components:ltr:dev'), gulp.task('build:components:ltr:prod'))); -// Gulp tasks (RTL) -gulp.task('build:components:rtl:dev', _scripts.rtl.dev); -gulp.task('build:components:rtl:prod', _scripts.rtl.prod); -gulp.task('build:components:rtl', gulp.series(gulp.task('build:components:rtl:dev'), gulp.task('build:components:rtl:prod'))); - // Build all components gulp.task( 'build:components', - gulp.series(gulp.task('vendor'), gulp.series(gulp.task('build:components:ltr:prod'), gulp.task('build:components:rtl:prod'))) + gulp.series(gulp.task('vendor'), gulp.series(gulp.task('build:components:ltr:prod'))) ); diff --git a/packages/web-components/gulp-tasks/build/dist.js b/packages/web-components/gulp-tasks/build/dist.js index d58363468ee..aa43067191b 100644 --- a/packages/web-components/gulp-tasks/build/dist.js +++ b/packages/web-components/gulp-tasks/build/dist.js @@ -23,8 +23,8 @@ const config = require('../config'); * @param {string} [options.dir=ltr] The UI direction. * @private */ -async function _buildBundle({ mode = 'development', dir = 'ltr' } = {}) { - const conf = getRollupConfig({ mode, dir }); +async function _buildBundle({ mode = 'development' } = {}) { + const conf = getRollupConfig({ mode }); const bundle = await rollup(conf); await bundle.write({ format: 'es', @@ -37,7 +37,7 @@ async function _buildBundle({ mode = 'development', dir = 'ltr' } = {}) { /** * Scripts to run for the gulp tasks * - * @type {{ltr: object, rtl: object}} + * @type {{ltr: object}} * @private */ const _scripts = { @@ -49,25 +49,12 @@ const _scripts = { return _buildBundle({ mode: 'production' }); }, }, - rtl: { - dev() { - return _buildBundle({ dir: 'rtl' }); - }, - prod() { - return _buildBundle({ mode: 'production', dir: 'rtl' }); - }, - }, }; -// Gulp tasks (LTR) +// Gulp tasks gulp.task('build:dist:ltr:dev', _scripts.ltr.dev); gulp.task('build:dist:ltr:prod', _scripts.ltr.prod); gulp.task('build:dist:ltr', gulp.parallel(gulp.task('build:dist:ltr:dev'), gulp.task('build:dist:ltr:prod'))); -// Gulp tasks (RTL) -gulp.task('build:dist:rtl:dev', _scripts.rtl.dev); -gulp.task('build:dist:rtl:prod', _scripts.rtl.prod); -gulp.task('build:dist:rtl', gulp.parallel(gulp.task('build:dist:rtl:dev'), gulp.task('build:dist:rtl:prod'))); - // Gulp dist build task -gulp.task('build:dist', gulp.parallel(gulp.task('build:dist:ltr'), gulp.task('build:dist:rtl'))); +gulp.task('build:dist', gulp.parallel(gulp.task('build:dist:ltr'))); diff --git a/packages/web-components/gulp-tasks/build/modules/css.js b/packages/web-components/gulp-tasks/build/modules/css.js index 9127b6841f9..6a268e3c578 100644 --- a/packages/web-components/gulp-tasks/build/modules/css.js +++ b/packages/web-components/gulp-tasks/build/modules/css.js @@ -21,7 +21,6 @@ const prettier = require('gulp-prettier'); const header = require('gulp-header'); const through2 = require('through2'); const autoprefixer = require('autoprefixer'); -const rtlcss = require('rtlcss'); const cssnano = require('cssnano'); const replaceExtension = require('replace-ext'); const fixHostPseudo = require('../../../tools/postcss-fix-host-pseudo'); @@ -36,11 +35,10 @@ const promisifyStream = promisify(asyncDone); * * @param {object} [options] The build options. * @param {string} [options.banner] License banner - * @param {string} [options.dir] Reading direction * @returns {*} Gulp stream * @private */ -const _cssStream = ({ banner, dir }) => +const _cssStream = ({ banner }) => gulp .src([`${config.srcDir}/**/*.scss`, `!${config.srcDir}/**/ibmdotcom-web-components-*.scss`]) .pipe( @@ -64,18 +62,9 @@ const _cssStream = ({ banner, dir }) => fixHostPseudo(), autoprefixer({ overrideBrowsersList: [ - 'last 1 version', - 'Firefox ESR', - 'not opera > 0', - 'not op_mini > 0', - 'not op_mob > 0', - 'not android > 0', - 'not edge > 0', - 'not ie > 0', - 'not ie_mob > 0', + '> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead', ], }), - ...(dir === 'rtl' ? [rtlcss] : []), cssnano(), ]) ) @@ -85,7 +74,7 @@ const _cssStream = ({ banner, dir }) => import { css } from 'lit'; export default css([${JSON.stringify(String(file.contents))}]); `); - file.path = replaceExtension(file.path, dir === 'rtl' ? '.rtl.css.js' : '.css.js'); + file.path = replaceExtension(file.path, '.css.js'); done(null, file); }) ) @@ -100,7 +89,7 @@ const _cssStream = ({ banner, dir }) => */ async function css() { const banner = await readFileAsync(path.resolve(__dirname, '../../../../../tasks/license.js'), 'utf8'); - await Promise.all([promisifyStream(() => _cssStream({ banner })), promisifyStream(() => _cssStream({ banner, dir: 'rtl' }))]); + await Promise.all([promisifyStream(() => _cssStream({ banner }))]); } gulp.task('build:modules:css', css); diff --git a/packages/web-components/package.json b/packages/web-components/package.json index cd5fa2f2f04..5ed3c076a05 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -228,7 +228,6 @@ "rollup-plugin-inject-process-env": "^1.3.1", "rollup-plugin-multi-input": "^1.3.1", "rollup-plugin-sizes": "^1.0.4", - "rtlcss": "^2.4.0", "sass-loader": "^10.0.0", "strip-comments": "^1.0.0", "style-loader": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 9913cff5687..fbc9b484fcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3441,7 +3441,6 @@ __metadata: rollup-plugin-inject-process-env: "npm:^1.3.1" rollup-plugin-multi-input: "npm:^1.3.1" rollup-plugin-sizes: "npm:^1.0.4" - rtlcss: "npm:^2.4.0" sass-loader: "npm:^10.0.0" strip-comments: "npm:^1.0.0" style-loader: "npm:^2.0.0" @@ -3769,7 +3768,6 @@ __metadata: resize-observer-polyfill: "npm:^1.5.0" rollup: "npm:^2.55.1" rollup-plugin-multi-input: "npm:^1.3.1" - rtlcss: "npm:^3.0.0" sass: "npm:~1.70.0" sass-loader: "npm:^10.0.0" strip-comments: "npm:^1.0.0" @@ -28285,7 +28283,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.10, postcss@npm:^8.2.15, postcss@npm:^8.3.11, postcss@npm:^8.4.16, postcss@npm:^8.4.21, postcss@npm:^8.4.28, postcss@npm:^8.4.32": +"postcss@npm:^8.2.10, postcss@npm:^8.2.15, postcss@npm:^8.4.16, postcss@npm:^8.4.21, postcss@npm:^8.4.28, postcss@npm:^8.4.32": version: 8.4.33 resolution: "postcss@npm:8.4.33" dependencies: @@ -30813,20 +30811,6 @@ __metadata: languageName: node linkType: hard -"rtlcss@npm:^3.0.0": - version: 3.5.0 - resolution: "rtlcss@npm:3.5.0" - dependencies: - find-up: "npm:^5.0.0" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.3.11" - strip-json-comments: "npm:^3.1.1" - bin: - rtlcss: bin/rtlcss.js - checksum: 10/141ffcb031e80e71f9167e3db8d00182da131121498d726efef82bd66c299eab8c059187c62df21eef7e5b49b712150d10be4881c0a66f0d3f75f60eaf17999d - languageName: node - linkType: hard - "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1"