134 lines
3.6 KiB
JavaScript
134 lines
3.6 KiB
JavaScript
function Helper() {
|
|
this.withOpacityValue = function (variable) {
|
|
return ({ opacityValue }) => {
|
|
if (opacityValue === undefined) {
|
|
return `rgb(var(${variable}))`;
|
|
}
|
|
return `rgb(var(${variable}) / ${opacityValue})`;
|
|
};
|
|
};
|
|
|
|
this.makeSkinTextColors = function (key) {
|
|
let obj = {};
|
|
obj[key] = this.withOpacityValue(`--color-${key}-text-base`);
|
|
obj[`${key}-muted`] = this.withOpacityValue(`--color-${key}-text-muted`);
|
|
obj[`${key}-inverted`] = this.withOpacityValue(
|
|
`--color-${key}-text-inverted`
|
|
);
|
|
|
|
return obj;
|
|
};
|
|
|
|
this.makeSkinBackgrounds = function (key) {
|
|
let obj = {};
|
|
obj[key] = this.withOpacityValue(`--color-${key}`);
|
|
obj[`${key}-disabled`] = this.withOpacityValue(`--color-${key}-disabled`);
|
|
obj[`${key}-hover`] = this.withOpacityValue(`--color-${key}-hover`);
|
|
obj[`${key}-disabled-hover`] = this.withOpacityValue(
|
|
`--color-${key}-disabled-hover`
|
|
);
|
|
|
|
return obj;
|
|
};
|
|
this.makeSkinBorder = function (key) {
|
|
let obj = {};
|
|
obj[key] = this.withOpacityValue(`--color-${key}-border`);
|
|
obj[`${key}-hover`] = this.withOpacityValue(`--color-${key}-border-hover`);
|
|
|
|
return obj;
|
|
};
|
|
|
|
this.makeSkinShadows = function (key) {
|
|
let obj = {};
|
|
obj[key] = this.withOpacityValue(`--color-${key}-glow`);
|
|
obj[`${key}-disabled`] = this.withOpacityValue(`--color-${key}-glow`);
|
|
|
|
return obj;
|
|
};
|
|
|
|
this.luminanced = function (key, additionalStops = []) {
|
|
let obj = {};
|
|
obj["50"] = this.withOpacityValue(`--color-${key}-50`);
|
|
for (let index = 0; index < additionalStops.length; index++) {
|
|
const element = additionalStops[index];
|
|
obj[element] = this.withOpacityValue(`--color-${key}-${element}`);
|
|
}
|
|
for (let index = 100; index <= 900; index += 100) {
|
|
obj[index.toString()] = this.withOpacityValue(`--color-${key}-${index}`);
|
|
}
|
|
return obj;
|
|
};
|
|
}
|
|
|
|
const ColorHelper = new Helper();
|
|
|
|
/**
|
|
* @type { import('@types/tailwindcss/tailwind-config').TailwindConfig }
|
|
*/
|
|
module.exports = {
|
|
content: ["./src/**/*.{jsx,tsx}"],
|
|
plugins: [
|
|
function ({ addComponents }) {
|
|
addComponents({
|
|
".container": {
|
|
maxWidth: "840px",
|
|
paddingLeft: "0.5rem",
|
|
paddingRight: "0.5rem",
|
|
"@screen sm": {
|
|
maxWidth: "calc(100% - 30px)",
|
|
},
|
|
"@screen md": {
|
|
maxWidth: "calc(100% - 30px)",
|
|
},
|
|
"@screen lg": {
|
|
maxWidth: "840px",
|
|
},
|
|
"@screen xl": {
|
|
maxWidth: "840px",
|
|
},
|
|
"@screen 2xl": {
|
|
maxWidth: "840px",
|
|
},
|
|
},
|
|
});
|
|
},
|
|
require("@tailwindcss/line-clamp"),
|
|
],
|
|
theme: {
|
|
extend: {
|
|
backgroundImage: {
|
|
'main': "url('/src/assets/svg/background.svg')",
|
|
},
|
|
screens: {
|
|
tall: { raw: "(min-height: 1200px) and (orientation: portrait)" },
|
|
skewed: { raw: "(max-height: 600px)" },
|
|
"1.5xl": "1300px",
|
|
},
|
|
height: {
|
|
"half-screen": "50vh",
|
|
},
|
|
minHeight: {
|
|
"half-screen": "50vh",
|
|
},
|
|
colors: {
|
|
aside: "var(--color-aside)",
|
|
main: "var(--color-body)",
|
|
header: "#191D2B",
|
|
transparent: "transparent",
|
|
current: "currentColor",
|
|
white: "#ffffff",
|
|
black: "#000000",
|
|
serv: ColorHelper.luminanced("serv"),
|
|
blue: ColorHelper.luminanced("blue"),
|
|
gray: ColorHelper.luminanced("gray", [75]),
|
|
},
|
|
gridTemplateColumns: {
|
|
layout: "min-content 7fr",
|
|
},
|
|
gridTemplateRows: {
|
|
page: "3.5rem calc(100vh - 3.5rem)",
|
|
},
|
|
},
|
|
},
|
|
};
|