Skip to content

Commit

Permalink
feat(box): add css props and interactive conditions (#1081)
Browse files Browse the repository at this point in the history
* feat(box): add css props

* chore: add changeset

* feat(box): add interactive conditions

* fix: move selectors into single group
  • Loading branch information
Niznikr authored Nov 17, 2023
1 parent 58477f8 commit 17cec67
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 2 deletions.
5 changes: 5 additions & 0 deletions .changeset/short-rabbits-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@launchpad-ui/box': patch
---

Add CSS props and interactive conditions
45 changes: 43 additions & 2 deletions packages/box/src/styles/rainbow-sprinkles.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ const responsiveProperties = defineProperties({
left: vars.spacing,
right: vars.spacing,
bottom: vars.spacing,
inset: vars.spacing,
margin: vars.spacing,
marginTop: vars.spacing,
marginLeft: vars.spacing,
Expand All @@ -56,17 +57,28 @@ const responsiveProperties = defineProperties({
fontSize: vars.font.size,
fontWeight: vars.font.weight,
lineHeight: vars['line-height'],
zIndex: vars['z-index'],
width: vars.size,
height: vars.size,
maxHeight: vars.size,
maxWidth: vars.size,
minHeight: vars.size,
minWidth: vars.size,
// Will work with any CSS value
display: true,
textAlign: true,
flex: true,
flexBasis: true,
flexDirection: true,
flexGrow: true,
flexShrink: true,
flexWrap: true,
justifyContent: true,
justifySelf: true,
alignItems: true,
alignSelf: true,
position: true,
verticalAlign: true,
overflow: true,
},
staticProperties: {
// Build out utility classes that don't use CSS variables
Expand All @@ -79,6 +91,9 @@ const themedProperties = defineProperties({
conditions: {
default: { selector: ':root &, [data-theme="default"] &' },
dark: { selector: '[data-theme="dark"] &' },
active: { selector: '&:active' },
hover: { selector: '&:hover' },
focusVisible: { selector: '&:focus-visible' },
},
defaultCondition: 'default',
dynamicProperties: {
Expand All @@ -88,10 +103,36 @@ const themedProperties = defineProperties({
borderColor: { ...colors, ...borders },
fill: { ...colors, ...fills },
borderStyle: true,
boxShadow: true,
textDecoration: true,
},
shorthands: {},
});

const unconditionalProperties = defineProperties({
dynamicProperties: {
cursor: true,
opacity: true,
textTransform: true,
transform: true,
transition: true,
transitionProperty: true,
transitionDelay: true,
transitionDuration: vars.duration,
transitionTimingFunction: true,
visibility: true,
whiteSpace: true,
wordBreak: true,
wordWrap: true,
zIndex: vars['z-index'],
},
shorthands: {},
});

export const rainbowSprinkles = createRainbowSprinkles(responsiveProperties, themedProperties);
export const rainbowSprinkles = createRainbowSprinkles(
responsiveProperties,
themedProperties,
unconditionalProperties
);

export type Sprinkles = Parameters<typeof rainbowSprinkles>[0];

0 comments on commit 17cec67

Please sign in to comment.