summaryrefslogtreecommitdiff
path: root/node_modules/postcss-logical
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-logical')
-rw-r--r--node_modules/postcss-logical/CHANGELOG.md148
-rw-r--r--node_modules/postcss-logical/LICENSE.md18
-rw-r--r--node_modules/postcss-logical/README.md126
-rw-r--r--node_modules/postcss-logical/dist/index.cjs1
-rw-r--r--node_modules/postcss-logical/dist/index.d.ts11
-rw-r--r--node_modules/postcss-logical/dist/index.mjs1
-rw-r--r--node_modules/postcss-logical/dist/lib/clone-declaration.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-borders.d.ts6
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-inset.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-logical-size.d.ts3
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-offset.d.ts3
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-side.d.ts3
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-text-align.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-transition.d.ts3
-rw-r--r--node_modules/postcss-logical/dist/lib/transform-value.d.ts3
-rw-r--r--node_modules/postcss-logical/dist/lib/transforms.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/lib/types.d.ts33
-rw-r--r--node_modules/postcss-logical/dist/utils/direction-flow-to-axes.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/utils/logical-to-physical.d.ts2
-rw-r--r--node_modules/postcss-logical/dist/utils/parse-value-couple.d.ts2
-rw-r--r--node_modules/postcss-logical/package.json110
21 files changed, 483 insertions, 0 deletions
diff --git a/node_modules/postcss-logical/CHANGELOG.md b/node_modules/postcss-logical/CHANGELOG.md
new file mode 100644
index 00000000..cfbb0494
--- /dev/null
+++ b/node_modules/postcss-logical/CHANGELOG.md
@@ -0,0 +1,148 @@
+# Changes to PostCSS Logical Properties
+
+### 7.0.0
+
+_July 3, 2023_
+
+- Change license to `MIT-0` ([read more about this change in the blog post](https://preset-env.cssdb.org/blog/license-change/))
+
+### 6.2.0
+
+_May 19, 2023_
+
+- Added: Support for logical properties in `transition`
+
+### 6.1.0
+
+_February 15, 2023_
+
+- Adding support for `max-block-size`, `min-block-size`, `max-inline-size` and `min-inline-size`.
+
+### 6.0.1
+
+_January 28, 2023_
+
+- Improve `types` declaration in `package.json`
+
+### 6.0.0
+
+_January 24, 2023_
+
+- Updated: Support for Node v14+ (major).
+- Added: TypeScript support.
+- Added: Support for `block-size`, `inline-size` and `caption-side`.
+- Removed: Support for the `logical` keyword within `margin`, `padding`, `border-width`, `border-style`, `border-color` properties. (major)
+- Removed support for `preserve` option. Changes are no longer preserved (major).
+- Removed support for transforming `float`, `clear` and `resize` properties. (major)
+- Updated: The plugin now requires block and inline direction to be configured (uses `top-to-bottom` and `left-to-right` respectively) and no longer introduces `:dir` (major).
+
+### 5.0.4
+
+_February 5, 2022_
+
+- Improved `es module` and `commonjs` compatibility
+
+### 5.0.3
+
+_January 12, 2022_
+
+- Fix compatibility with PostCSS `v8.2.x` [#147](https://github.com/csstools/postcss-plugins/issues/147)
+
+This version is not officially supported but some tool providers pinned PostCSS to `v8.2.x`,
+making it impossible for end users to have a working setup.
+
+### 5.0.2
+
+_January 2, 2022_
+
+- Removed Sourcemaps from package tarball.
+- Moved CLI to CLI Package. See [announcement](https://github.com/csstools/postcss-plugins/discussions/121).
+- Updated examples in README.
+
+### 5.0.1
+
+_December 13, 2021_
+
+- Updated: documentation
+
+### 5.0.0
+
+_September 17, 2021_
+
+- Updated: Support for PostCS 8+ (major).
+- Updated: Support for Node 12+ (major).
+
+### 4.0.2
+
+_June 10, 2019_
+
+- Fixed: Restored transforms for `max-block-size`, `max-inline-size`,
+ `min-block-size`, and `min-inline-size`.
+
+### 4.0.1
+
+_June 10, 2019_
+
+- Fixed: An issue with `block-size` and `inline-size` being miscalculated.
+
+### 4.0.0
+
+_June 5, 2019_
+
+- Added: Logical border-radius properties, which include
+ `border-end-end-radius`, `border-end-start-radius`, `border-start-end-radius`,
+ and `border-start-start-radius`.
+- Removed: All unknown logical properties, which include `border-end`,
+ `border-end-color`, `border-end-style`, `border-end-width`, `border-start`,
+ `border-start-color`, `border-start-style`, `border-start-width`, `inset-end`,
+ `inset-start`, `margin-end`, `margin-start`, `padding-end`, `padding-start`
+ and `border` with `logical`.
+- Updated: `transition` and `transition-property` to support the changes.
+- Updated: `postcss` to 7.0.16 (patch)
+- Updated: Node 8+ compatibility (major)
+
+### 3.0.0
+
+_September 20, 2018_
+
+- Added: Support for logical properties within `transition` and
+ `transition-property`.
+- Changed: Physical rule fallbacks are written as full selectors rather than
+ as nesting selectors.
+
+### 2.0.0
+
+_September 17, 2018_
+
+- Updated: Support for PostCSS v7+
+- Updated: Support for Node v6+
+
+### 1.1.1
+
+_March 21, 2017_
+
+- Fix `dir` option to allow falsey value
+
+### 1.1.0
+
+_March 20, 2017_
+
+- Add `preserve` option to preserve logical properties and values
+
+### 1.0.2
+
+_Aug 15, 2017_
+
+- Improve flow-relative clear support
+
+### 1.0.1
+
+_Aug 13, 2017_
+
+- Improve flow-relative border support
+
+### 1.0.0
+
+_Aug 8, 2017_
+
+- Initial version
diff --git a/node_modules/postcss-logical/LICENSE.md b/node_modules/postcss-logical/LICENSE.md
new file mode 100644
index 00000000..e8ae93b9
--- /dev/null
+++ b/node_modules/postcss-logical/LICENSE.md
@@ -0,0 +1,18 @@
+MIT No Attribution (MIT-0)
+
+Copyright © CSSTools Contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the “Software”), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so.
+
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/postcss-logical/README.md b/node_modules/postcss-logical/README.md
new file mode 100644
index 00000000..32808d76
--- /dev/null
+++ b/node_modules/postcss-logical/README.md
@@ -0,0 +1,126 @@
+# PostCSS Logical Properties and Values [<img src="https://postcss.github.io/postcss/logo.svg" alt="PostCSS Logo" width="90" height="90" align="right">][PostCSS]
+
+[<img alt="npm version" src="https://img.shields.io/npm/v/postcss-logical.svg" height="20">][npm-url] [<img alt="CSS Standard Status" src="https://cssdb.org/images/badges/logical-properties-and-values.svg" height="20">][css-url] [<img alt="Build Status" src="https://github.com/csstools/postcss-plugins/workflows/test/badge.svg" height="20">][cli-url] [<img alt="Discord" src="https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white">][discord]
+
+[PostCSS Logical Properties and Values] lets you use logical, rather than physical, direction and dimension mappings in CSS, following the [CSS Logical Properties and Values] specification.
+
+```pcss
+.element {
+ block-size: 100px;
+ max-inline-size: 400px;
+ inline-size: 200px;
+ padding-block: 10px 20px;
+ margin-inline: auto;
+ border-block-width: 2px;
+ border-block-style: solid;
+}
+
+/* becomes */
+
+.element {
+ height: 100px;
+ max-width: 400px;
+ width: 200px;
+ padding-top: 10px;
+ padding-bottom: 20px;
+ margin-left: auto;
+ margin-right: auto;
+ border-top-width: 2px;
+ border-bottom-width: 2px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+}
+```
+
+## Usage
+
+Add [PostCSS Logical Properties and Values] to your project:
+
+```bash
+npm install postcss postcss-logical --save-dev
+```
+
+Use it as a [PostCSS] plugin:
+
+```js
+const postcss = require('postcss');
+const postcssLogical = require('postcss-logical');
+
+postcss([
+ postcssLogical(/* pluginOptions */)
+]).process(YOUR_CSS /*, processOptions */);
+```
+
+[PostCSS Logical Properties and Values] runs in all Node environments, with special
+instructions for:
+
+- [Node](INSTALL.md#node)
+- [PostCSS CLI](INSTALL.md#postcss-cli)
+- [PostCSS Load Config](INSTALL.md#postcss-load-config)
+- [Webpack](INSTALL.md#webpack)
+- [Next.js](INSTALL.md#nextjs)
+- [Gulp](INSTALL.md#gulp)
+- [Grunt](INSTALL.md#grunt)
+
+## Options
+
+### blockDirection & inlineDirection
+
+The `blockDirection` and `inlineDirection` options allow you to specify the direction of the block and inline axes. The default values are `top-to-bottom` and `left-to-right` respectively which would match any latin language.
+
+You might want to tweak these values if you are using a different writing system, such as Arabic, Hebrew or Chinese for example.
+
+```js
+postcssLogical({
+ blockDirection: 'right-to-left',
+ inlineDirection: 'top-to-bottom'
+})
+```
+
+```pcss
+.element {
+ block-size: 100px;
+ max-inline-size: 400px;
+ inline-size: 200px;
+ padding-block: 10px 20px;
+ margin-inline: auto;
+ border-block-width: 2px;
+ border-block-style: solid;
+}
+
+/* becomes */
+
+.element {
+ width: 100px;
+ max-height: 400px;
+ height: 200px;
+ padding-right: 10px;
+ padding-left: 20px;
+ margin-top: auto;
+ margin-bottom: auto;
+ border-right-width: 2px;
+ border-left-width: 2px;
+ border-right-style: solid;
+ border-left-style: solid;
+}
+```
+
+Each direction must be one of the following:
+
+- `top-to-bottom`
+- `bottom-to-top`
+- `left-to-right`
+- `right-to-left`
+
+You can't mix two vertical directions or two horizontal directions so for example `top-to-bottom` and `right-to-left` are valid, but `top-to-bottom` and `bottom-to-top` are not.
+
+Please do note that `text-align` won't be transformed if `inlineDirection` becomes vertical.
+
+[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test
+[css-url]: https://cssdb.org/#logical-properties-and-values
+[discord]: https://discord.gg/bUadyRwkJS
+[npm-url]: https://www.npmjs.com/package/postcss-logical
+
+[PostCSS]: https://github.com/postcss/postcss
+[PostCSS Logical Properties and Values]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical
+[CSS Logical Properties and Values]: https://www.w3.org/TR/css-logical-1/
diff --git a/node_modules/postcss-logical/dist/index.cjs b/node_modules/postcss-logical/dist/index.cjs
new file mode 100644
index 00000000..45dd06ad
--- /dev/null
+++ b/node_modules/postcss-logical/dist/index.cjs
@@ -0,0 +1 @@
+"use strict";var r,e,n=require("postcss-value-parser");!function(r){r.Block="block",r.Inline="inline"}(r||(r={})),function(r){r.Start="start",r.End="end"}(e||(e={}));const o={BlockStart:"block-start",BlockEnd:"block-end",InlineStart:"inline-start",InlineEnd:"inline-end"};var t,i;function directionFlowToAxes(r){switch(r){case t.TopToBottom:return[i.Top,i.Bottom];case t.BottomToTop:return[i.Bottom,i.Top];case t.RightToLeft:return[i.Right,i.Left];case t.LeftToRight:return[i.Left,i.Right]}}function cloneDeclaration(r,e,n){return r.parent&&r.parent.some((r=>"decl"==r.type&&r.prop===n&&r.value===e))?[]:[r.clone({value:e,prop:n})]}function transformTransition(r,e,o){const{prop:t,value:i}=r,l=n(i),a=[];let s=[];l.nodes.forEach((r=>{if("div"===r.type&&","===r.value)return a.push(s),void(s=[]);s.push(r)})),a.push(s);for(let r=0;r<a.length;r++){const n=a[r];for(let t=0;t<n.length;t++){const i=n[t];if("word"!==i.type)continue;const l=i.value.toLowerCase(),s=o[l];if(!s)continue;const d=s(e.decl({prop:l,value:"initial"}));if(0!==d.length){for(let e=d.length-1;e>=0;e--){const o=JSON.parse(JSON.stringify(n));o[t].value=d[e].prop,a.splice(r+1,0,o)}a.splice(r,1),r++}}}const d=[];for(let r=0;r<a.length;r++){const e=a[r];d.push(...e),r!==a.length-1&&d.push({type:"div",value:",",sourceIndex:0,sourceEndIndex:0,before:"",after:" "})}const c=n.stringify(d);return c!==i?cloneDeclaration(r,c,t):[]}function parseValueCouple(r){const e=n(r.value).nodes.filter((r=>"space"!==r.type));if(e.length>2||0===e.length){const n=`[postcss-logical] Invalid number of values for ${r.prop}. Found ${e.length} values, expected 1 or 2.`;throw r.error(n)}let o,t;return 1===e.length?(o=n.stringify(e[0]),t=o):(o=n.stringify(e[0]),t=n.stringify(e[1])),[o,t]}function transformBorder(r,e){return n=>cloneDeclaration(n,n.value,`border-${e}-${r}`)}function transformBorderProperty(r,e){return n=>{const[o,t]=e,[i,l]=parseValueCouple(n);return[...cloneDeclaration(n,i,`border-${o}-${r}`),...cloneDeclaration(n,l,`border-${t}-${r}`)]}}function transformBorderShorthand(r){return e=>r.flatMap((r=>cloneDeclaration(e,e.value,`border-${r}`)))}function transformBorderRadius(r){return e=>{let n;switch(e.prop.toLowerCase()){case"border-start-start-radius":n=`border-${r.inlineIsHorizontal?`${r.block[0]}-${r.inline[0]}`:`${r.inline[0]}-${r.block[0]}`}-radius`;break;case"border-start-end-radius":n=`border-${r.inlineIsHorizontal?`${r.block[0]}-${r.inline[1]}`:`${r.inline[1]}-${r.block[0]}`}-radius`;break;case"border-end-start-radius":n=`border-${r.inlineIsHorizontal?`${r.block[1]}-${r.inline[0]}`:`${r.inline[0]}-${r.block[1]}`}-radius`;break;case"border-end-end-radius":n=`border-${r.inlineIsHorizontal?`${r.block[1]}-${r.inline[1]}`:`${r.inline[1]}-${r.block[1]}`}-radius`;break}return n?cloneDeclaration(e,e.value,n):[]}}function transformLogicalSize(r){return e=>{const{value:n}=e,o=r.inlineIsHorizontal?"width":"height",t=r.inlineIsHorizontal?"height":"width",i=e.prop.toLowerCase().replace("inline-size",o).replace("block-size",t);return cloneDeclaration(e,n,i)}}function transformOffset(r){return e=>cloneDeclaration(e,e.value,r)}function transformOffsetShorthand(r){return e=>{const[n,o]=r,[t,i]=parseValueCouple(e);return[...cloneDeclaration(e,t,n),...cloneDeclaration(e,i,o)]}}function transformSide(r,e){return n=>cloneDeclaration(n,n.value,`${r}-${e}`)}function transformSideShorthand(r,e){return n=>{const[o,t]=e,[i,l]=parseValueCouple(n);return[...cloneDeclaration(n,i,`${r}-${o}`),...cloneDeclaration(n,l,`${r}-${t}`)]}}function logicalToPhysical(r,e){const[n,t]=e.block,[i,l]=e.inline;switch(r){case o.BlockStart:return n;case o.BlockEnd:return t;case o.InlineStart:return i;case o.InlineEnd:return l;default:throw new Error("Unsupported logical direction")}}function doTransform(r,e,o){const{prop:t,value:i}=r,l=n(i);l.nodes.forEach((r=>{if("word"===r.type){const n=r.value.toLowerCase();e.includes(n)&&(r.value=logicalToPhysical(n,o))}}));const a=l.toString();return a!==i?cloneDeclaration(r,a,t):[]}function prepareTransforms(r,t,i,l,a){return{"caption-side":(d=r,r=>doTransform(r,Object.values(o),d)),"text-align":r.inlineIsHorizontal?(s=r.inline,r=>{const{prop:o,value:t}=r,i=n(t),[l,a]=s;i.nodes.forEach((r=>{if("word"===r.type){const n=r.value.toLowerCase();if(n===e.End)return void(r.value=a);n===e.Start&&(r.value=l)}}));const d=i.toString();return d!==t?cloneDeclaration(r,d,o):[]}):null,"block-size":transformLogicalSize(r),"inline-size":transformLogicalSize(r),"min-block-size":transformLogicalSize(r),"max-block-size":transformLogicalSize(r),"min-inline-size":transformLogicalSize(r),"max-inline-size":transformLogicalSize(r),"margin-block-start":transformSide("margin",t),"margin-block-end":transformSide("margin",i),"margin-inline-start":transformSide("margin",l),"margin-inline-end":transformSide("margin",a),"margin-block":transformSideShorthand("margin",r.block),"margin-inline":transformSideShorthand("margin",r.inline),"inset-block":transformOffsetShorthand(r.block),"inset-block-start":transformOffset(t),"inset-block-end":transformOffset(i),"inset-inline":transformOffsetShorthand(r.inline),"inset-inline-start":transformOffset(l),"inset-inline-end":transformOffset(a),inset:r=>{const e=n(r.value).nodes.filter((r=>"space"!==r.type&&"comment"!==r.type));if(e.length>4){const n=`[postcss-logical] Invalid number of values for ${r.prop}. Found ${e.length} values, expected up to 4 values.`;throw r.error(n)}let o,t,i,l;if(1===e.length)o=n.stringify(e[0]),t=o,i=o,l=o;else if(2===e.length)o=n.stringify(e[0]),t=n.stringify(e[1]),i=o,l=t;else if(3===e.length)o=n.stringify(e[0]),t=n.stringify(e[1]),l=t,i=n.stringify(e[2]);else{if(4!==e.length)return[];o=n.stringify(e[0]),t=n.stringify(e[1]),i=n.stringify(e[2]),l=n.stringify(e[3])}return[...cloneDeclaration(r,o,"top"),...cloneDeclaration(r,t,"right"),...cloneDeclaration(r,i,"bottom"),...cloneDeclaration(r,l,"left")]},"padding-block-start":transformSide("padding",t),"padding-block-end":transformSide("padding",i),"padding-inline-start":transformSide("padding",l),"padding-inline-end":transformSide("padding",a),"padding-block":transformSideShorthand("padding",r.block),"padding-inline":transformSideShorthand("padding",r.inline),"border-block-start-width":transformBorder("width",t),"border-block-end-width":transformBorder("width",i),"border-inline-start-width":transformBorder("width",l),"border-inline-end-width":transformBorder("width",a),"border-block-width":transformBorderProperty("width",r.block),"border-inline-width":transformBorderProperty("width",r.inline),"border-block-start-style":transformBorder("style",t),"border-block-end-style":transformBorder("style",i),"border-inline-start-style":transformBorder("style",l),"border-inline-end-style":transformBorder("style",a),"border-block-style":transformBorderProperty("style",r.block),"border-inline-style":transformBorderProperty("style",r.inline),"border-block-start-color":transformBorder("color",t),"border-block-end-color":transformBorder("color",i),"border-inline-start-color":transformBorder("color",l),"border-inline-end-color":transformBorder("color",a),"border-block-color":transformBorderProperty("color",r.block),"border-inline-color":transformBorderProperty("color",r.inline),"border-block":transformBorderShorthand(r.block),"border-block-start":transformBorderShorthand([t]),"border-block-end":transformBorderShorthand([i]),"border-inline":transformBorderShorthand(r.inline),"border-inline-start":transformBorderShorthand([l]),"border-inline-end":transformBorderShorthand([a]),"border-start-start-radius":transformBorderRadius(r),"border-start-end-radius":transformBorderRadius(r),"border-end-start-radius":transformBorderRadius(r),"border-end-end-radius":transformBorderRadius(r)};var s,d}!function(r){r.TopToBottom="top-to-bottom",r.BottomToTop="bottom-to-top",r.RightToLeft="right-to-left",r.LeftToRight="left-to-right"}(t||(t={})),function(r){r.Top="top",r.Right="right",r.Bottom="bottom",r.Left="left"}(i||(i={}));const creator=r=>{const e=Object.assign({blockDirection:t.TopToBottom,inlineDirection:t.LeftToRight},r),n=Object.values(t);if(!n.includes(e.blockDirection))throw new Error(`[postcss-logical] "blockDirection" must be one of ${n.join(", ")}`);if(!n.includes(e.inlineDirection))throw new Error(`[postcss-logical] "inlineDirection" must be one of ${n.join(", ")}`);const[o,l]=directionFlowToAxes(e.blockDirection),[a,s]=directionFlowToAxes(e.inlineDirection);if(!Object.values(i).every((r=>[o,l,a,s].includes(r))))throw new Error('[postcss-logical] "blockDirection" and "inlineDirection" must be on separate axes');const makeTransform=r=>(e,{result:n})=>{var o;if(!r)return;let t=[];try{t=r(e)}catch(r){return void e.warn(n,r.message)}null!=(o=t)&&o.length&&(t.forEach((r=>{e.cloneBefore(r)})),e.remove())},d=prepareTransforms({block:[o,l],inline:[a,s],inlineIsHorizontal:[t.LeftToRight,t.RightToLeft].includes(e.inlineDirection)},o,l,a,s);return{postcssPlugin:"postcss-logical",Declaration:{"caption-side":makeTransform(d["caption-side"]),"text-align":makeTransform(d["text-align"]),"block-size":makeTransform(d["block-size"]),"inline-size":makeTransform(d["inline-size"]),"min-block-size":makeTransform(d["min-block-size"]),"max-block-size":makeTransform(d["max-block-size"]),"min-inline-size":makeTransform(d["min-inline-size"]),"max-inline-size":makeTransform(d["max-inline-size"]),"margin-block-start":makeTransform(d["margin-block-start"]),"margin-block-end":makeTransform(d["margin-block-end"]),"margin-inline-start":makeTransform(d["margin-inline-start"]),"margin-inline-end":makeTransform(d["margin-inline-end"]),"margin-block":makeTransform(d["margin-block"]),"margin-inline":makeTransform(d["margin-inline"]),"inset-block":makeTransform(d["inset-block"]),"inset-block-start":makeTransform(d["inset-block-start"]),"inset-block-end":makeTransform(d["inset-block-end"]),"inset-inline":makeTransform(d["inset-inline"]),"inset-inline-start":makeTransform(d["inset-inline-start"]),"inset-inline-end":makeTransform(d["inset-inline-end"]),inset:makeTransform(d.inset),"padding-block-start":makeTransform(d["padding-block-start"]),"padding-block-end":makeTransform(d["padding-block-end"]),"padding-inline-start":makeTransform(d["padding-inline-start"]),"padding-inline-end":makeTransform(d["padding-inline-end"]),"padding-block":makeTransform(d["padding-block"]),"padding-inline":makeTransform(d["padding-inline"]),"border-block-start-width":makeTransform(d["border-block-start-width"]),"border-block-end-width":makeTransform(d["border-block-end-width"]),"border-inline-start-width":makeTransform(d["border-inline-start-width"]),"border-inline-end-width":makeTransform(d["border-inline-end-width"]),"border-block-width":makeTransform(d["border-block-width"]),"border-inline-width":makeTransform(d["border-inline-width"]),"border-block-start-style":makeTransform(d["border-block-start-style"]),"border-block-end-style":makeTransform(d["border-block-end-style"]),"border-inline-start-style":makeTransform(d["border-inline-start-style"]),"border-inline-end-style":makeTransform(d["border-inline-end-style"]),"border-block-style":makeTransform(d["border-block-style"]),"border-inline-style":makeTransform(d["border-inline-style"]),"border-block-start-color":makeTransform(d["border-block-start-color"]),"border-block-end-color":makeTransform(d["border-block-end-color"]),"border-inline-start-color":makeTransform(d["border-inline-start-color"]),"border-inline-end-color":makeTransform(d["border-inline-end-color"]),"border-block-color":makeTransform(d["border-block-color"]),"border-inline-color":makeTransform(d["border-inline-color"]),"border-block":makeTransform(d["border-block"]),"border-block-start":makeTransform(d["border-block-start"]),"border-block-end":makeTransform(d["border-block-end"]),"border-inline":makeTransform(d["border-inline"]),"border-inline-start":makeTransform(d["border-inline-start"]),"border-inline-end":makeTransform(d["border-inline-end"]),"border-start-start-radius":makeTransform(d["border-start-start-radius"]),"border-start-end-radius":makeTransform(d["border-start-end-radius"]),"border-end-start-radius":makeTransform(d["border-end-start-radius"]),"border-end-end-radius":makeTransform(d["border-end-end-radius"]),transition:(r,{result:e,postcss:n})=>{var o;let t=[];try{t=transformTransition(r,n,d)}catch(n){return void r.warn(e,n.message)}null!=(o=t)&&o.length&&(t.forEach((e=>{r.cloneBefore(e)})),r.remove())}}}};creator.postcss=!0,module.exports=creator;
diff --git a/node_modules/postcss-logical/dist/index.d.ts b/node_modules/postcss-logical/dist/index.d.ts
new file mode 100644
index 00000000..8e84fd80
--- /dev/null
+++ b/node_modules/postcss-logical/dist/index.d.ts
@@ -0,0 +1,11 @@
+import type { PluginCreator } from 'postcss';
+import { DirectionFlow } from './lib/types';
+/** postcss-logical plugin options */
+export type pluginOptions = {
+ /** Sets the direction for block. default: top-to-bottom */
+ blockDirection?: DirectionFlow;
+ /** Sets the direction for inline. default: left-to-right */
+ inlineDirection?: DirectionFlow;
+};
+declare const creator: PluginCreator<pluginOptions>;
+export default creator;
diff --git a/node_modules/postcss-logical/dist/index.mjs b/node_modules/postcss-logical/dist/index.mjs
new file mode 100644
index 00000000..e6937c1d
--- /dev/null
+++ b/node_modules/postcss-logical/dist/index.mjs
@@ -0,0 +1 @@
+import r from"postcss-value-parser";var e,n;!function(r){r.Block="block",r.Inline="inline"}(e||(e={})),function(r){r.Start="start",r.End="end"}(n||(n={}));const o={BlockStart:"block-start",BlockEnd:"block-end",InlineStart:"inline-start",InlineEnd:"inline-end"};var t,i;function directionFlowToAxes(r){switch(r){case t.TopToBottom:return[i.Top,i.Bottom];case t.BottomToTop:return[i.Bottom,i.Top];case t.RightToLeft:return[i.Right,i.Left];case t.LeftToRight:return[i.Left,i.Right]}}function cloneDeclaration(r,e,n){return r.parent&&r.parent.some((r=>"decl"==r.type&&r.prop===n&&r.value===e))?[]:[r.clone({value:e,prop:n})]}function transformTransition(e,n,o){const{prop:t,value:i}=e,l=r(i),a=[];let s=[];l.nodes.forEach((r=>{if("div"===r.type&&","===r.value)return a.push(s),void(s=[]);s.push(r)})),a.push(s);for(let r=0;r<a.length;r++){const e=a[r];for(let t=0;t<e.length;t++){const i=e[t];if("word"!==i.type)continue;const l=i.value.toLowerCase(),s=o[l];if(!s)continue;const d=s(n.decl({prop:l,value:"initial"}));if(0!==d.length){for(let n=d.length-1;n>=0;n--){const o=JSON.parse(JSON.stringify(e));o[t].value=d[n].prop,a.splice(r+1,0,o)}a.splice(r,1),r++}}}const d=[];for(let r=0;r<a.length;r++){const e=a[r];d.push(...e),r!==a.length-1&&d.push({type:"div",value:",",sourceIndex:0,sourceEndIndex:0,before:"",after:" "})}const c=r.stringify(d);return c!==i?cloneDeclaration(e,c,t):[]}function parseValueCouple(e){const n=r(e.value).nodes.filter((r=>"space"!==r.type));if(n.length>2||0===n.length){const r=`[postcss-logical] Invalid number of values for ${e.prop}. Found ${n.length} values, expected 1 or 2.`;throw e.error(r)}let o,t;return 1===n.length?(o=r.stringify(n[0]),t=o):(o=r.stringify(n[0]),t=r.stringify(n[1])),[o,t]}function transformBorder(r,e){return n=>cloneDeclaration(n,n.value,`border-${e}-${r}`)}function transformBorderProperty(r,e){return n=>{const[o,t]=e,[i,l]=parseValueCouple(n);return[...cloneDeclaration(n,i,`border-${o}-${r}`),...cloneDeclaration(n,l,`border-${t}-${r}`)]}}function transformBorderShorthand(r){return e=>r.flatMap((r=>cloneDeclaration(e,e.value,`border-${r}`)))}function transformBorderRadius(r){return e=>{let n;switch(e.prop.toLowerCase()){case"border-start-start-radius":n=`border-${r.inlineIsHorizontal?`${r.block[0]}-${r.inline[0]}`:`${r.inline[0]}-${r.block[0]}`}-radius`;break;case"border-start-end-radius":n=`border-${r.inlineIsHorizontal?`${r.block[0]}-${r.inline[1]}`:`${r.inline[1]}-${r.block[0]}`}-radius`;break;case"border-end-start-radius":n=`border-${r.inlineIsHorizontal?`${r.block[1]}-${r.inline[0]}`:`${r.inline[0]}-${r.block[1]}`}-radius`;break;case"border-end-end-radius":n=`border-${r.inlineIsHorizontal?`${r.block[1]}-${r.inline[1]}`:`${r.inline[1]}-${r.block[1]}`}-radius`;break}return n?cloneDeclaration(e,e.value,n):[]}}function transformLogicalSize(r){return e=>{const{value:n}=e,o=r.inlineIsHorizontal?"width":"height",t=r.inlineIsHorizontal?"height":"width",i=e.prop.toLowerCase().replace("inline-size",o).replace("block-size",t);return cloneDeclaration(e,n,i)}}function transformOffset(r){return e=>cloneDeclaration(e,e.value,r)}function transformOffsetShorthand(r){return e=>{const[n,o]=r,[t,i]=parseValueCouple(e);return[...cloneDeclaration(e,t,n),...cloneDeclaration(e,i,o)]}}function transformSide(r,e){return n=>cloneDeclaration(n,n.value,`${r}-${e}`)}function transformSideShorthand(r,e){return n=>{const[o,t]=e,[i,l]=parseValueCouple(n);return[...cloneDeclaration(n,i,`${r}-${o}`),...cloneDeclaration(n,l,`${r}-${t}`)]}}function logicalToPhysical(r,e){const[n,t]=e.block,[i,l]=e.inline;switch(r){case o.BlockStart:return n;case o.BlockEnd:return t;case o.InlineStart:return i;case o.InlineEnd:return l;default:throw new Error("Unsupported logical direction")}}function doTransform(e,n,o){const{prop:t,value:i}=e,l=r(i);l.nodes.forEach((r=>{if("word"===r.type){const e=r.value.toLowerCase();n.includes(e)&&(r.value=logicalToPhysical(e,o))}}));const a=l.toString();return a!==i?cloneDeclaration(e,a,t):[]}function prepareTransforms(e,t,i,l,a){return{"caption-side":(d=e,r=>doTransform(r,Object.values(o),d)),"text-align":e.inlineIsHorizontal?(s=e.inline,e=>{const{prop:o,value:t}=e,i=r(t),[l,a]=s;i.nodes.forEach((r=>{if("word"===r.type){const e=r.value.toLowerCase();if(e===n.End)return void(r.value=a);e===n.Start&&(r.value=l)}}));const d=i.toString();return d!==t?cloneDeclaration(e,d,o):[]}):null,"block-size":transformLogicalSize(e),"inline-size":transformLogicalSize(e),"min-block-size":transformLogicalSize(e),"max-block-size":transformLogicalSize(e),"min-inline-size":transformLogicalSize(e),"max-inline-size":transformLogicalSize(e),"margin-block-start":transformSide("margin",t),"margin-block-end":transformSide("margin",i),"margin-inline-start":transformSide("margin",l),"margin-inline-end":transformSide("margin",a),"margin-block":transformSideShorthand("margin",e.block),"margin-inline":transformSideShorthand("margin",e.inline),"inset-block":transformOffsetShorthand(e.block),"inset-block-start":transformOffset(t),"inset-block-end":transformOffset(i),"inset-inline":transformOffsetShorthand(e.inline),"inset-inline-start":transformOffset(l),"inset-inline-end":transformOffset(a),inset:e=>{const n=r(e.value).nodes.filter((r=>"space"!==r.type&&"comment"!==r.type));if(n.length>4){const r=`[postcss-logical] Invalid number of values for ${e.prop}. Found ${n.length} values, expected up to 4 values.`;throw e.error(r)}let o,t,i,l;if(1===n.length)o=r.stringify(n[0]),t=o,i=o,l=o;else if(2===n.length)o=r.stringify(n[0]),t=r.stringify(n[1]),i=o,l=t;else if(3===n.length)o=r.stringify(n[0]),t=r.stringify(n[1]),l=t,i=r.stringify(n[2]);else{if(4!==n.length)return[];o=r.stringify(n[0]),t=r.stringify(n[1]),i=r.stringify(n[2]),l=r.stringify(n[3])}return[...cloneDeclaration(e,o,"top"),...cloneDeclaration(e,t,"right"),...cloneDeclaration(e,i,"bottom"),...cloneDeclaration(e,l,"left")]},"padding-block-start":transformSide("padding",t),"padding-block-end":transformSide("padding",i),"padding-inline-start":transformSide("padding",l),"padding-inline-end":transformSide("padding",a),"padding-block":transformSideShorthand("padding",e.block),"padding-inline":transformSideShorthand("padding",e.inline),"border-block-start-width":transformBorder("width",t),"border-block-end-width":transformBorder("width",i),"border-inline-start-width":transformBorder("width",l),"border-inline-end-width":transformBorder("width",a),"border-block-width":transformBorderProperty("width",e.block),"border-inline-width":transformBorderProperty("width",e.inline),"border-block-start-style":transformBorder("style",t),"border-block-end-style":transformBorder("style",i),"border-inline-start-style":transformBorder("style",l),"border-inline-end-style":transformBorder("style",a),"border-block-style":transformBorderProperty("style",e.block),"border-inline-style":transformBorderProperty("style",e.inline),"border-block-start-color":transformBorder("color",t),"border-block-end-color":transformBorder("color",i),"border-inline-start-color":transformBorder("color",l),"border-inline-end-color":transformBorder("color",a),"border-block-color":transformBorderProperty("color",e.block),"border-inline-color":transformBorderProperty("color",e.inline),"border-block":transformBorderShorthand(e.block),"border-block-start":transformBorderShorthand([t]),"border-block-end":transformBorderShorthand([i]),"border-inline":transformBorderShorthand(e.inline),"border-inline-start":transformBorderShorthand([l]),"border-inline-end":transformBorderShorthand([a]),"border-start-start-radius":transformBorderRadius(e),"border-start-end-radius":transformBorderRadius(e),"border-end-start-radius":transformBorderRadius(e),"border-end-end-radius":transformBorderRadius(e)};var s,d}!function(r){r.TopToBottom="top-to-bottom",r.BottomToTop="bottom-to-top",r.RightToLeft="right-to-left",r.LeftToRight="left-to-right"}(t||(t={})),function(r){r.Top="top",r.Right="right",r.Bottom="bottom",r.Left="left"}(i||(i={}));const creator=r=>{const e=Object.assign({blockDirection:t.TopToBottom,inlineDirection:t.LeftToRight},r),n=Object.values(t);if(!n.includes(e.blockDirection))throw new Error(`[postcss-logical] "blockDirection" must be one of ${n.join(", ")}`);if(!n.includes(e.inlineDirection))throw new Error(`[postcss-logical] "inlineDirection" must be one of ${n.join(", ")}`);const[o,l]=directionFlowToAxes(e.blockDirection),[a,s]=directionFlowToAxes(e.inlineDirection);if(!Object.values(i).every((r=>[o,l,a,s].includes(r))))throw new Error('[postcss-logical] "blockDirection" and "inlineDirection" must be on separate axes');const makeTransform=r=>(e,{result:n})=>{var o;if(!r)return;let t=[];try{t=r(e)}catch(r){return void e.warn(n,r.message)}null!=(o=t)&&o.length&&(t.forEach((r=>{e.cloneBefore(r)})),e.remove())},d=prepareTransforms({block:[o,l],inline:[a,s],inlineIsHorizontal:[t.LeftToRight,t.RightToLeft].includes(e.inlineDirection)},o,l,a,s);return{postcssPlugin:"postcss-logical",Declaration:{"caption-side":makeTransform(d["caption-side"]),"text-align":makeTransform(d["text-align"]),"block-size":makeTransform(d["block-size"]),"inline-size":makeTransform(d["inline-size"]),"min-block-size":makeTransform(d["min-block-size"]),"max-block-size":makeTransform(d["max-block-size"]),"min-inline-size":makeTransform(d["min-inline-size"]),"max-inline-size":makeTransform(d["max-inline-size"]),"margin-block-start":makeTransform(d["margin-block-start"]),"margin-block-end":makeTransform(d["margin-block-end"]),"margin-inline-start":makeTransform(d["margin-inline-start"]),"margin-inline-end":makeTransform(d["margin-inline-end"]),"margin-block":makeTransform(d["margin-block"]),"margin-inline":makeTransform(d["margin-inline"]),"inset-block":makeTransform(d["inset-block"]),"inset-block-start":makeTransform(d["inset-block-start"]),"inset-block-end":makeTransform(d["inset-block-end"]),"inset-inline":makeTransform(d["inset-inline"]),"inset-inline-start":makeTransform(d["inset-inline-start"]),"inset-inline-end":makeTransform(d["inset-inline-end"]),inset:makeTransform(d.inset),"padding-block-start":makeTransform(d["padding-block-start"]),"padding-block-end":makeTransform(d["padding-block-end"]),"padding-inline-start":makeTransform(d["padding-inline-start"]),"padding-inline-end":makeTransform(d["padding-inline-end"]),"padding-block":makeTransform(d["padding-block"]),"padding-inline":makeTransform(d["padding-inline"]),"border-block-start-width":makeTransform(d["border-block-start-width"]),"border-block-end-width":makeTransform(d["border-block-end-width"]),"border-inline-start-width":makeTransform(d["border-inline-start-width"]),"border-inline-end-width":makeTransform(d["border-inline-end-width"]),"border-block-width":makeTransform(d["border-block-width"]),"border-inline-width":makeTransform(d["border-inline-width"]),"border-block-start-style":makeTransform(d["border-block-start-style"]),"border-block-end-style":makeTransform(d["border-block-end-style"]),"border-inline-start-style":makeTransform(d["border-inline-start-style"]),"border-inline-end-style":makeTransform(d["border-inline-end-style"]),"border-block-style":makeTransform(d["border-block-style"]),"border-inline-style":makeTransform(d["border-inline-style"]),"border-block-start-color":makeTransform(d["border-block-start-color"]),"border-block-end-color":makeTransform(d["border-block-end-color"]),"border-inline-start-color":makeTransform(d["border-inline-start-color"]),"border-inline-end-color":makeTransform(d["border-inline-end-color"]),"border-block-color":makeTransform(d["border-block-color"]),"border-inline-color":makeTransform(d["border-inline-color"]),"border-block":makeTransform(d["border-block"]),"border-block-start":makeTransform(d["border-block-start"]),"border-block-end":makeTransform(d["border-block-end"]),"border-inline":makeTransform(d["border-inline"]),"border-inline-start":makeTransform(d["border-inline-start"]),"border-inline-end":makeTransform(d["border-inline-end"]),"border-start-start-radius":makeTransform(d["border-start-start-radius"]),"border-start-end-radius":makeTransform(d["border-start-end-radius"]),"border-end-start-radius":makeTransform(d["border-end-start-radius"]),"border-end-end-radius":makeTransform(d["border-end-end-radius"]),transition:(r,{result:e,postcss:n})=>{var o;let t=[];try{t=transformTransition(r,n,d)}catch(n){return void r.warn(e,n.message)}null!=(o=t)&&o.length&&(t.forEach((e=>{r.cloneBefore(e)})),r.remove())}}}};creator.postcss=!0;export{creator as default};
diff --git a/node_modules/postcss-logical/dist/lib/clone-declaration.d.ts b/node_modules/postcss-logical/dist/lib/clone-declaration.d.ts
new file mode 100644
index 00000000..3aef68c6
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/clone-declaration.d.ts
@@ -0,0 +1,2 @@
+import type { Declaration } from 'postcss';
+export declare function cloneDeclaration(declaration: Declaration, value: string, prop: string): Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-borders.d.ts b/node_modules/postcss-logical/dist/lib/transform-borders.d.ts
new file mode 100644
index 00000000..3da86c21
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-borders.d.ts
@@ -0,0 +1,6 @@
+import type { Declaration } from 'postcss';
+import { DirectionConfig } from './types';
+export declare function transformBorder(borderSetting: string, side: string): (declaration: Declaration) => Array<Declaration>;
+export declare function transformBorderProperty(borderSetting: string, side: [string, string]): (declaration: Declaration) => Array<Declaration>;
+export declare function transformBorderShorthand(side: [string] | [string, string]): (declaration: Declaration) => Array<Declaration>;
+export declare function transformBorderRadius(config: DirectionConfig): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-inset.d.ts b/node_modules/postcss-logical/dist/lib/transform-inset.d.ts
new file mode 100644
index 00000000..6d028e21
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-inset.d.ts
@@ -0,0 +1,2 @@
+import type { Declaration } from 'postcss';
+export declare function transformInset(): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-logical-size.d.ts b/node_modules/postcss-logical/dist/lib/transform-logical-size.d.ts
new file mode 100644
index 00000000..9831d294
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-logical-size.d.ts
@@ -0,0 +1,3 @@
+import type { Declaration } from 'postcss';
+import { DirectionConfig } from './types';
+export declare function transformLogicalSize(directionConfig: DirectionConfig): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-offset.d.ts b/node_modules/postcss-logical/dist/lib/transform-offset.d.ts
new file mode 100644
index 00000000..d8bf7e78
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-offset.d.ts
@@ -0,0 +1,3 @@
+import type { Declaration } from 'postcss';
+export declare function transformOffset(prop: string): (declaration: Declaration) => Array<Declaration>;
+export declare function transformOffsetShorthand(side: [string, string]): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-side.d.ts b/node_modules/postcss-logical/dist/lib/transform-side.d.ts
new file mode 100644
index 00000000..56396d74
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-side.d.ts
@@ -0,0 +1,3 @@
+import type { Declaration } from 'postcss';
+export declare function transformSide(prop: string, side: string): (declaration: Declaration) => Array<Declaration>;
+export declare function transformSideShorthand(prop: string, side: [string, string]): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-text-align.d.ts b/node_modules/postcss-logical/dist/lib/transform-text-align.d.ts
new file mode 100644
index 00000000..752a5808
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-text-align.d.ts
@@ -0,0 +1,2 @@
+import type { Declaration } from 'postcss';
+export declare function transformTextAlign(inlineValues: [string, string]): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-transition.d.ts b/node_modules/postcss-logical/dist/lib/transform-transition.d.ts
new file mode 100644
index 00000000..8745ed16
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-transition.d.ts
@@ -0,0 +1,3 @@
+import type { Declaration, Postcss } from 'postcss';
+import { TransformFunction } from './types';
+export declare function transformTransition(declaration: Declaration, postcss: Postcss, transforms: Record<string, TransformFunction | null>): Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transform-value.d.ts b/node_modules/postcss-logical/dist/lib/transform-value.d.ts
new file mode 100644
index 00000000..23a30bbb
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transform-value.d.ts
@@ -0,0 +1,3 @@
+import type { Declaration } from 'postcss';
+import { DirectionConfig } from './types';
+export declare function transformValue(config: DirectionConfig): (declaration: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/lib/transforms.d.ts b/node_modules/postcss-logical/dist/lib/transforms.d.ts
new file mode 100644
index 00000000..c5479168
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/transforms.d.ts
@@ -0,0 +1,2 @@
+import { Axes, DirectionConfig, TransformFunction } from './types';
+export declare function prepareTransforms(directionConfig: DirectionConfig, blockStart: Axes, blockEnd: Axes, inlineStart: Axes, inlineEnd: Axes): Record<string, TransformFunction | null>;
diff --git a/node_modules/postcss-logical/dist/lib/types.d.ts b/node_modules/postcss-logical/dist/lib/types.d.ts
new file mode 100644
index 00000000..966e27ef
--- /dev/null
+++ b/node_modules/postcss-logical/dist/lib/types.d.ts
@@ -0,0 +1,33 @@
+import type { Declaration } from 'postcss';
+export declare enum Direction {
+ Block = "block",
+ Inline = "inline"
+}
+export declare enum DirectionValue {
+ Start = "start",
+ End = "end"
+}
+export declare const DirectionValues: {
+ BlockStart: string;
+ BlockEnd: string;
+ InlineStart: string;
+ InlineEnd: string;
+};
+export declare enum DirectionFlow {
+ TopToBottom = "top-to-bottom",
+ BottomToTop = "bottom-to-top",
+ RightToLeft = "right-to-left",
+ LeftToRight = "left-to-right"
+}
+export declare enum Axes {
+ Top = "top",
+ Right = "right",
+ Bottom = "bottom",
+ Left = "left"
+}
+export type DirectionConfig = {
+ [Direction.Block]: [Axes, Axes];
+ [Direction.Inline]: [Axes, Axes];
+ inlineIsHorizontal: boolean;
+};
+export type TransformFunction = (decl: Declaration) => Array<Declaration>;
diff --git a/node_modules/postcss-logical/dist/utils/direction-flow-to-axes.d.ts b/node_modules/postcss-logical/dist/utils/direction-flow-to-axes.d.ts
new file mode 100644
index 00000000..2652d71d
--- /dev/null
+++ b/node_modules/postcss-logical/dist/utils/direction-flow-to-axes.d.ts
@@ -0,0 +1,2 @@
+import { DirectionFlow, Axes } from '../lib/types';
+export declare function directionFlowToAxes(directionFlow: DirectionFlow): [Axes, Axes];
diff --git a/node_modules/postcss-logical/dist/utils/logical-to-physical.d.ts b/node_modules/postcss-logical/dist/utils/logical-to-physical.d.ts
new file mode 100644
index 00000000..764ee732
--- /dev/null
+++ b/node_modules/postcss-logical/dist/utils/logical-to-physical.d.ts
@@ -0,0 +1,2 @@
+import { DirectionConfig } from '../lib/types';
+export declare function logicalToPhysical(logical: string, config: DirectionConfig): string;
diff --git a/node_modules/postcss-logical/dist/utils/parse-value-couple.d.ts b/node_modules/postcss-logical/dist/utils/parse-value-couple.d.ts
new file mode 100644
index 00000000..12456657
--- /dev/null
+++ b/node_modules/postcss-logical/dist/utils/parse-value-couple.d.ts
@@ -0,0 +1,2 @@
+import type { Declaration } from 'postcss';
+export declare function parseValueCouple(declaration: Declaration): [string, string];
diff --git a/node_modules/postcss-logical/package.json b/node_modules/postcss-logical/package.json
new file mode 100644
index 00000000..c408b37b
--- /dev/null
+++ b/node_modules/postcss-logical/package.json
@@ -0,0 +1,110 @@
+{
+ "name": "postcss-logical",
+ "description": "Use logical properties and values in CSS",
+ "version": "7.0.0",
+ "contributors": [
+ {
+ "name": "Antonio Laguna",
+ "email": "antonio@laguna.es",
+ "url": "https://antonio.laguna.es"
+ },
+ {
+ "name": "Romain Menke",
+ "email": "romainmenke@gmail.com"
+ },
+ {
+ "name": "Jonathan Neal",
+ "email": "jonathantneal@hotmail.com"
+ }
+ ],
+ "license": "MIT-0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "main": "dist/index.cjs",
+ "module": "dist/index.mjs",
+ "types": "dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.cjs",
+ "default": "./dist/index.mjs"
+ }
+ },
+ "files": [
+ "CHANGELOG.md",
+ "LICENSE.md",
+ "README.md",
+ "dist"
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ },
+ "devDependencies": {
+ "@csstools/postcss-tape": "*"
+ },
+ "scripts": {
+ "build": "rollup -c ../../rollup/default.mjs",
+ "docs": "node ../../.github/bin/generate-docs/install.mjs && node ../../.github/bin/generate-docs/readme.mjs",
+ "lint": "node ../../.github/bin/format-package-json.mjs",
+ "prepublishOnly": "npm run build && npm run test",
+ "test": "node .tape.mjs && node ./test/_import.mjs && node ./test/_require.cjs",
+ "test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs"
+ },
+ "homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical#readme",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/csstools/postcss-plugins.git",
+ "directory": "plugins/postcss-logical"
+ },
+ "bugs": "https://github.com/csstools/postcss-plugins/issues",
+ "keywords": [
+ "align",
+ "block",
+ "border",
+ "css",
+ "dir",
+ "directional",
+ "directions",
+ "end",
+ "flow",
+ "inline",
+ "logical",
+ "ltr",
+ "margin",
+ "padding",
+ "postcss",
+ "postcss-plugin",
+ "properties",
+ "property",
+ "relative",
+ "rtl",
+ "size",
+ "start",
+ "text",
+ "values"
+ ],
+ "csstools": {
+ "cssdbId": "logical-properties-and-values",
+ "exportName": "postcssLogical",
+ "humanReadableName": "PostCSS Logical Properties and Values",
+ "specUrl": "https://www.w3.org/TR/css-logical-1/"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ }
+}