UNPKG

@cap3/capitano-theme

Version:
97 lines 5.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const json_type_validation_1 = require("@mojotech/json-type-validation"); const colorFunctionDecoder = json_type_validation_1.oneOf(json_type_validation_1.Decoder.constant("lighten"), json_type_validation_1.Decoder.constant("brighten"), json_type_validation_1.Decoder.constant("darken"), json_type_validation_1.Decoder.constant("tint"), json_type_validation_1.Decoder.constant("shade"), json_type_validation_1.Decoder.constant("desaturate"), json_type_validation_1.Decoder.constant("saturate")); const colorEffectDecoder = json_type_validation_1.object({ effect: colorFunctionDecoder, factor: json_type_validation_1.number(), }); const materialSwatchDecoder = json_type_validation_1.object({ "50": json_type_validation_1.string(), "100": json_type_validation_1.string(), "200": json_type_validation_1.string(), "300": json_type_validation_1.string(), "400": json_type_validation_1.string(), "500": json_type_validation_1.string(), "600": json_type_validation_1.string(), "700": json_type_validation_1.string(), "800": json_type_validation_1.string(), "900": json_type_validation_1.string(), A100: json_type_validation_1.string(), A200: json_type_validation_1.string(), A400: json_type_validation_1.string(), A700: json_type_validation_1.string(), }); const monochromeSwatchDecoder = json_type_validation_1.object({ M0: json_type_validation_1.string(), M10: json_type_validation_1.string(), M20: json_type_validation_1.string(), M30: json_type_validation_1.string(), M40: json_type_validation_1.string(), M50: json_type_validation_1.string(), M60: json_type_validation_1.string(), M70: json_type_validation_1.string(), M80: json_type_validation_1.string(), M90: json_type_validation_1.string(), base: json_type_validation_1.string(), }); const themeColorDecoder = json_type_validation_1.oneOf(json_type_validation_1.Decoder.constant("layout"), json_type_validation_1.Decoder.constant("textOnBackground"), json_type_validation_1.Decoder.constant("textOnBackgroundInverse"), json_type_validation_1.Decoder.constant("primary"), json_type_validation_1.Decoder.constant("textOnPrimary"), json_type_validation_1.Decoder.constant("secondary"), json_type_validation_1.Decoder.constant("textOnSecondary"), json_type_validation_1.Decoder.constant("success"), json_type_validation_1.Decoder.constant("textOnSuccess"), json_type_validation_1.Decoder.constant("warning"), json_type_validation_1.Decoder.constant("danger"), json_type_validation_1.Decoder.constant("textOnDanger"), json_type_validation_1.Decoder.constant("disabled"), json_type_validation_1.Decoder.constant("textOnDisabled")); const clorMixDecoder = json_type_validation_1.object({ second: themeColorDecoder, factor: json_type_validation_1.number(), }); const colorModificationDecoder = json_type_validation_1.oneOf(colorEffectDecoder, clorMixDecoder); exports.capitanoThemeDecoder = json_type_validation_1.object({ spacing: json_type_validation_1.object({ baseUnit: json_type_validation_1.number(), formElementFactor: json_type_validation_1.object({ large: json_type_validation_1.number(), medium: json_type_validation_1.number(), small: json_type_validation_1.number(), }), borderRadiusFactor: json_type_validation_1.object({ sharp: json_type_validation_1.number(), small: json_type_validation_1.number(), medium: json_type_validation_1.number(), }), }), colors: json_type_validation_1.object({ layout: monochromeSwatchDecoder, textOnBackground: json_type_validation_1.string(), textOnBackgroundInverse: json_type_validation_1.string(), primary: materialSwatchDecoder, textOnPrimary: json_type_validation_1.string(), secondary: materialSwatchDecoder, textOnSecondary: json_type_validation_1.string(), success: materialSwatchDecoder, textOnSuccess: json_type_validation_1.string(), warning: materialSwatchDecoder, danger: materialSwatchDecoder, textOnDanger: json_type_validation_1.string(), disabled: monochromeSwatchDecoder, textOnDisabled: json_type_validation_1.string(), }), statusEffects: json_type_validation_1.object({ hover: colorModificationDecoder, pressed: colorModificationDecoder, focus: colorModificationDecoder, }), typography: json_type_validation_1.object({ fontFamily: json_type_validation_1.object({ base: json_type_validation_1.string(), monospace: json_type_validation_1.string(), }), fontSize: json_type_validation_1.object({ medium: json_type_validation_1.number(), large: json_type_validation_1.number(), small: json_type_validation_1.number(), h1: json_type_validation_1.number(), h2: json_type_validation_1.number(), h3: json_type_validation_1.number(), h4: json_type_validation_1.number(), h5: json_type_validation_1.number(), h6: json_type_validation_1.number(), }), }), }); //# sourceMappingURL=themeValidation.js.map