UNPKG

@compositive/foundation

Version:

Compositive framework foundation package.

38 lines (35 loc) 1.3 kB
import { __decorate } from 'tslib'; import { Memoized } from '@compositive/commons-memoize'; import { isObjectWithProperties, isOptional, isNumber } from '@compositive/commons-predicates'; import { Spec } from '@compositive/commons-spec'; import { Style } from '@compositive/primitives'; import '../../styling/resolveThemedStyleProperties.js'; import '../../styling/ThemedStyle.js'; import 'react'; const isRoundedCornersAttributes = isObjectWithProperties({ radius: isOptional(isNumber), topLeft: isOptional(isNumber), topRight: isOptional(isNumber), bottomLeft: isOptional(isNumber), bottomRight: isOptional(isNumber), }); class RoundedCorners extends Spec(isRoundedCornersAttributes) { constructor(radiusOrAttribs, previousSpec) { super(typeof radiusOrAttribs === "number" ? { radius: radiusOrAttribs } : radiusOrAttribs, previousSpec); this.type = "corners"; } process(parts, chain) { return [parts.addInnerStyles(this._getStyle()), chain]; } // FIXME: Use the other attributes _getStyle() { return new Style({ borderRadius: this.radius }); } } __decorate([ Memoized() ], RoundedCorners.prototype, "_getStyle", null); export { RoundedCorners }; //# sourceMappingURL=RoundedCorners.js.map