TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

OrganiCSS standard logo with icon and name


npm version

The OrganiCSS Emotion package provides a collection of TypeScript-ready functions to support writing progressively-enhanced logical CSS with Emotion. Built atop @emotion/css, the mixins will generate logical CSS properties first, with fallbacks to catch when not supported.

🤖 Installation

To use OrganiCSS Emotion, first install the package into a Emotion project.

npm i @organicss/emotion
yarn add @organicss/emotion

🚀 Getting Started

Get started using OrganiCSS Emotion by importing a mixin and calling it from inside of a Emotion style block.

import { Margin, Padding } from '@organicss/emotion';

const styles = css`
    ${Margin({ inline: 'auto' })};
    ${Padding({ block: 'var(--custom-property-value)' })};
    // ...any addition styles

Using with CSS Custom Properties

import { Margin } from '@organicss/emotion';

const styles = css`
    ${Margin({ block: 'var(--space-lg)', inline: 'calc(var(--space-lg) * 2)' })};

Using with Emotion Props

import { Margin } from '@organicss/emotion';

return <Container $margin="var(--space-lg)">...</Container>;

const styles = css`
    ${({ $margin }) => Margin({ all: $margin })};

📖 Documentation


import { Border } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
border string | 0 border
borderColor string border-color
borderStyle See MDN Docs border-style
borderWidth string | 0 border-width
block string | 0 border-block-start/end (border-top/bottom)
blockColor string border-block-start/end-color (border-top/bottom-color)
blockStyle See MDN Docs border-block-start/end-style (border-top/bottom-style)
blockWidth string | 0 border-block-start/end-width (border-top/bottom-width)
blockEnd string | 0 border-block-end (border-bottom)
blockEndColor string border-block-end-color (border-bottom-color)
blockEndStyle See MDN Docs border-block-end-style (border-bottom-style)
blockEndWidth string | 0 border-block-end-width (border-bottom-width)
blockStart string | 0 border-block-start (border-top)
blockStartColor string border-block-start-color (border-top-color)
blockStartStyle See MDN Docs border-block-start-style (border-top-style)
blockStartWidth string | 0 border-block-start-width (border-top-width)
inline string | 0 border-inline-start/end (border-left/right)
inlineColor string border-inline-start/end-color (border-left/right-color)
inlineStyle See MDN Docs border-inline-start/end-style (border-left/right-style)
inlineWidth string | 0 border-inline-start/end-width (border-left/right-width)
inlineEnd string | 0 border-inline-end (border-right)
inlineEndColor string border-inline-end-color (border-right-color)
inlineEndStyle See MDN Docs border-inline-end-style (border-right-style)
inlineEndWidth string | 0 border-inline-end-width (border-right-width)
inlineStart string | 0 border-inline-start (border-left)
inlineStartColor string border-inline-start-color (border-left-color)
inlineStartStyle See MDN Docs border-inline-start-style (border-left-style)
inlineStartWidth string | 0 border-inline-start-width (border-left-width)

Border Radius

import { BorderRadius } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
bottomLeft string | 0 border-end-start-radius (border-bottom-left-radius)
bottomRight string | 0 border-end-end-radius (border-bottom-right-radius)
radius string | 0 border-radius
topLeft string | 0 border-start-start-radius (border-top-left-radius)
topRight string | 0 border-start-end-radius (border-top-right-radius)


import { Layout } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
blockSize string | 0 block-size (height)
captionSide See MDN Docs caption-side
clear See MDN Docs clear
maxBlockSize string | 0 max-block-size (max-height)
minBlockSize string | 0 min-block-size (min-height)
inlineSize string | 0 inline-size (width)
maxInlineSize string | 0 max-inline-size (max-width)
minInlineSize string | 0 min-inline-size (min-width)
overflow See MDN Docs overflow
overflowBlock See MDN Docs overflow-block (overflow-x)
overflowInline See MDN Docs overflow-inline (overflow-y)
overscrollBehavior See MDN Docs overscroll-behavior
overscrollBehaviorBlock See MDN Docs overscroll-behavior-block (overscroll-behavior-x)
overscrollBehaviorInline See MDN Docs overscroll-behavior-inline (overscroll-behavior-y)
resize See MDN Docs resize
textAlign See MDN Docs text-align
textAlignLast See MDN Docs text-align-last


import { Margin } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
block string | 0 margin-block-start/end (margin-bottom/top)
blockEnd string | 0 margin-block-end (margin-bottom)
blockStart string | 0 margin-block-start (margin-top)
inline string | 0 margin-inline-start/end (margin-left/right)
inlineEnd string | 0 margin-inline-end (margin-right)
inlineStart string | 0 margin-inline-start (margin-left)
margin string | 0 margin
scroll See MDN Docs scroll-margin
scrollBlock See MDN Docs scroll-margin-block-start/end (scroll-margin-top/bottom)
scrollBlockEnd See MDN Docs scroll-margin-block-end (scroll-margin-bottom)
scrollBlockStart See MDN Docs scroll-margin-block-start (scroll-margin-top)
scrollInline See MDN Docs scroll-margin-inline-start/end (scroll-margin-left/right)
scrollInlineEnd See MDN Docs scroll-margin-inline-end (scroll-margin-right)
scrollInlineStart See MDN Docs scroll-margin-inline-start (scroll-margin-left)


import { Padding } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
block string | 0 padding-block-start/end (padding-top/bottom)
blockEnd string | 0 padding-block-end (padding-bottom)
blockStart string | 0 padding-block-start (padding-top)
inline string | 0 padding-inline-start/end (padding-left/right)
inlineEnd string | 0 padding-inline-end (padding-right)
inlineStart string | 0 padding-inline-start (padding-left)
padding string | 0 padding
scroll See MDN Docs scroll-padding
scrollBlock See MDN Docs scroll-padding-block-start/end (scroll-padding-top/bottom)
scrollBlockEnd See MDN Docs scroll-padding-block-end (scroll-padding-bottom)
scrollBlockStart See MDN Docs scroll-padding-block-start (scroll-padding-top)
scrollInline See MDN Docs scroll-padding-inline-start/end (scroll-padding-left/right)
scrollInlineEnd See MDN Docs scroll-padding-inline-end (scroll-padding-right)
scrollInlineStart See MDN Docs scroll-padding-inline-start (scroll-padding-left)


import { Position } from '@organicss/emotion';
Prop Type CSS Property (Fallback)
block See MDN Docs inset-block (top/bottom)
blockEnd - inset-block-end (bottom)
blockStart - inset-block-start (top)
float See MDN Docs float
inline See MDN Docs inset-inline (left/right)
inlineEnd - inset-inline-end (right)
inlineStart - inset-inline-start (left)
inset See MDN Docs inset (top/right/bottom/left)


npm i @organicss/emotion

DownloadsWeekly Downloads






Unpacked Size

38.6 kB

Total Files


Last publish


  • yuschick