toMap method
Converts base style values to a CSS property map.
State and breakpoint styles are intentionally excluded from this map and are exposed through stateStyles and breakpointStyles.
Implementation
Map<String, Object?> toMap() {
return _withoutNulls({
'padding': padding?.toCss(),
'margin': margin?.toCss(),
'width': cssValue(width),
'height': cssValue(height),
'min-width': cssValue(minWidth),
'max-width': cssValue(maxWidth),
'min-height': cssValue(minHeight),
'max-height': cssValue(maxHeight),
'display': display?.css,
'gap': cssValue(gap),
'align-items': alignItems?.css,
'justify-items': cssValue(justifyItems, unitlessNumber: true),
'justify-content': justifyContent?.css,
'flex': cssValue(flex, unitlessNumber: true),
'flex-direction': flexDirection?.css,
'flex-wrap': cssValue(flexWrap, unitlessNumber: true),
'flex-grow': cssValue(flexGrow, unitlessNumber: true),
'flex-shrink': cssValue(flexShrink, unitlessNumber: true),
'flex-basis': cssValue(flexBasis),
'grid-template-columns': gridTemplateColumns,
'position': position?.css,
'top': cssValue(top),
'right': cssValue(right),
'bottom': cssValue(bottom),
'left': cssValue(left),
'z-index': zIndex,
'overflow': cssValue(overflow, unitlessNumber: true),
'box-sizing': cssValue(boxSizing, unitlessNumber: true),
'scroll-behavior': cssValue(scrollBehavior, unitlessNumber: true),
'aspect-ratio': cssValue(aspectRatio, unitlessNumber: true),
'object-fit': cssValue(objectFit, unitlessNumber: true),
'transform': cssValue(transform, unitlessNumber: true),
'backdrop-filter': cssValue(backdropFilter, unitlessNumber: true),
'font-family': cssValue(fontFamily, unitlessNumber: true),
'font-size': cssValue(fontSize),
'font-weight': cssValue(fontWeight, unitlessNumber: true),
'line-height': cssValue(lineHeight, unitlessNumber: true),
'color': cssValue(color),
'text-align': textAlign?.css,
'text-transform': cssValue(textTransform, unitlessNumber: true),
'text-decoration': cssValue(textDecoration, unitlessNumber: true),
'cursor': cssValue(cursor, unitlessNumber: true),
'resize': cssValue(resize, unitlessNumber: true),
'background': cssValue(gradient ?? background),
'border-radius': cssValue(radius),
'border': border?.toCss(),
'border-top': borderTop?.toCss(),
'border-right': borderRight?.toCss(),
'border-bottom': borderBottom?.toCss(),
'border-left': borderLeft?.toCss(),
'box-shadow': shadow is Shadow
? (shadow as Shadow).toCss()
: cssValue(shadow),
'opacity': opacity,
'transition': cssValue(transition, unitlessNumber: true),
'animation': cssValue(animation, unitlessNumber: true),
'will-change': cssValue(willChange, unitlessNumber: true),
});
}