@hiscovega/grisso 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +194 -0
- package/dist/grisso.css +1 -0
- package/lib/defaults.d.ts +7 -0
- package/lib/defaults.js +97 -0
- package/lib/generators.d.ts +20 -0
- package/lib/generators.js +49 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +17 -0
- package/lib/partials/backgrounds.d.ts +2 -0
- package/lib/partials/backgrounds.js +64 -0
- package/lib/partials/borders.d.ts +2 -0
- package/lib/partials/borders.js +55 -0
- package/lib/partials/effects.d.ts +2 -0
- package/lib/partials/effects.js +17 -0
- package/lib/partials/flex-and-grid.d.ts +2 -0
- package/lib/partials/flex-and-grid.js +195 -0
- package/lib/partials/icons.d.ts +2 -0
- package/lib/partials/icons.js +5 -0
- package/lib/partials/index.d.ts +7 -0
- package/lib/partials/index.js +25 -0
- package/lib/partials/layout.d.ts +2 -0
- package/lib/partials/layout.js +126 -0
- package/lib/partials/sizing.d.ts +2 -0
- package/lib/partials/sizing.js +39 -0
- package/lib/partials/spacing.d.ts +2 -0
- package/lib/partials/spacing.js +24 -0
- package/lib/partials/typography.d.ts +2 -0
- package/lib/partials/typography.js +111 -0
- package/lib/resolve-config.d.ts +8 -0
- package/lib/resolve-config.js +54 -0
- package/lib/types.d.ts +25 -0
- package/lib/types.js +1 -0
- package/lib/utils.d.ts +12 -0
- package/lib/utils.js +20 -0
- package/package.json +49 -0
- package/plugin.js +77 -0
- package/tokens-example.css +80 -0
package/lib/defaults.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuración por defecto de Grisso.
|
|
3
|
+
* Equivale a grisso.config.scss.
|
|
4
|
+
*/
|
|
5
|
+
const defaults = {
|
|
6
|
+
columns: 12,
|
|
7
|
+
breakpoints: {
|
|
8
|
+
tablet: "(min-width: 700px)",
|
|
9
|
+
desktop: "(min-width: 1024px)",
|
|
10
|
+
ultrawide: "(min-width: 1680px)",
|
|
11
|
+
},
|
|
12
|
+
spacing: {
|
|
13
|
+
auto: "auto",
|
|
14
|
+
zero: "0",
|
|
15
|
+
"0": "0",
|
|
16
|
+
"4xs": "var(--spc-4xs)",
|
|
17
|
+
"3xs": "var(--spc-3xs)",
|
|
18
|
+
"2xs": "var(--spc-2xs)",
|
|
19
|
+
xs: "var(--spc-xs)",
|
|
20
|
+
sm: "var(--spc-sm)",
|
|
21
|
+
md: "var(--spc-md)",
|
|
22
|
+
lg: "var(--spc-lg)",
|
|
23
|
+
xl: "var(--spc-xl)",
|
|
24
|
+
"2xl": "var(--spc-2xl)",
|
|
25
|
+
"3xl": "var(--spc-3xl)",
|
|
26
|
+
"4xl": "var(--spc-4xl)",
|
|
27
|
+
"5xl": "var(--spc-5xl)",
|
|
28
|
+
},
|
|
29
|
+
brandColors: {
|
|
30
|
+
"1": "var(--brand-1)",
|
|
31
|
+
"2": "var(--brand-2)",
|
|
32
|
+
"3": "var(--brand-3)",
|
|
33
|
+
},
|
|
34
|
+
foregroundColors: {
|
|
35
|
+
"1": "var(--text-1)",
|
|
36
|
+
"2": "var(--text-2)",
|
|
37
|
+
"3": "var(--text-3)",
|
|
38
|
+
"4": "var(--text-4)",
|
|
39
|
+
},
|
|
40
|
+
iconColors: {
|
|
41
|
+
"1": "var(--icon-1)",
|
|
42
|
+
"2": "var(--icon-2)",
|
|
43
|
+
"3": "var(--icon-3)",
|
|
44
|
+
"4": "var(--icon-4)",
|
|
45
|
+
disabled: "var(--icon-disabled)",
|
|
46
|
+
},
|
|
47
|
+
supportColors: {
|
|
48
|
+
success: "var(--success)",
|
|
49
|
+
error: "var(--error)",
|
|
50
|
+
warning: "var(--warning)",
|
|
51
|
+
},
|
|
52
|
+
backgroundColors: {
|
|
53
|
+
ui: "var(--bg-ui)",
|
|
54
|
+
"1": "var(--bg-1)",
|
|
55
|
+
"2": "var(--bg-2)",
|
|
56
|
+
"3": "var(--bg-3)",
|
|
57
|
+
"4": "var(--bg-4)",
|
|
58
|
+
"5": "var(--bg-5)",
|
|
59
|
+
disabled: "var(--bg-disabled)",
|
|
60
|
+
},
|
|
61
|
+
overlayColors: {
|
|
62
|
+
"1": "var(--overlay-1)",
|
|
63
|
+
"2": "var(--overlay-2)",
|
|
64
|
+
"3": "var(--overlay-3)",
|
|
65
|
+
"4": "var(--overlay-4)",
|
|
66
|
+
},
|
|
67
|
+
borderWidth: {
|
|
68
|
+
none: "var(--border-width-none)",
|
|
69
|
+
xs: "var(--border-width-xs)",
|
|
70
|
+
sm: "var(--border-width-sm)",
|
|
71
|
+
md: "var(--border-width-md)",
|
|
72
|
+
lg: "var(--border-width-lg)",
|
|
73
|
+
},
|
|
74
|
+
opacity: {
|
|
75
|
+
"0": "0",
|
|
76
|
+
"1": "var(--opacity-1)",
|
|
77
|
+
"2": "var(--opacity-2)",
|
|
78
|
+
"3": "var(--opacity-3)",
|
|
79
|
+
"4": "var(--opacity-4)",
|
|
80
|
+
"5": "var(--opacity-5)",
|
|
81
|
+
"6": "var(--opacity-6)",
|
|
82
|
+
},
|
|
83
|
+
shadows: {
|
|
84
|
+
sm: "var(--box-shadow-sm)",
|
|
85
|
+
md: "var(--box-shadow-md)",
|
|
86
|
+
lg: "var(--box-shadow-lg)",
|
|
87
|
+
xl: "var(--box-shadow-xl)",
|
|
88
|
+
},
|
|
89
|
+
borderColors: {
|
|
90
|
+
"1": "var(--border-1)",
|
|
91
|
+
"2": "var(--border-2)",
|
|
92
|
+
"3": "var(--border-3)",
|
|
93
|
+
"4": "var(--border-4)",
|
|
94
|
+
disabled: "var(--border-disabled)",
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
export default defaults;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Breakpoints, TokenMap, Declarations } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Generadores de clases CSS utility.
|
|
4
|
+
* Replican los mixins grisso_simple_class, grisso_complex_class de SCSS.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Genera una clase simple con variantes responsive.
|
|
8
|
+
* Equivalente al mixin grisso_simple_class.
|
|
9
|
+
*/
|
|
10
|
+
export declare function simpleClass(className: string, property: string, value: string, breakpoints: Breakpoints): string;
|
|
11
|
+
/**
|
|
12
|
+
* Genera clases basadas en un mapa de tokens con variantes responsive.
|
|
13
|
+
* Equivalente al mixin grisso_complex_class.
|
|
14
|
+
*/
|
|
15
|
+
export declare function complexClass(prefix: string, properties: string | string[], tokens: TokenMap, breakpoints: Breakpoints): string;
|
|
16
|
+
/**
|
|
17
|
+
* Genera una clase con declaraciones custom y variantes responsive.
|
|
18
|
+
* Para casos especiales: divide >*+*, truncate, smoothing, outline-none, etc.
|
|
19
|
+
*/
|
|
20
|
+
export declare function customClass(className: string, declarations: Declarations, breakpoints: Breakpoints, selectorSuffix?: string): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generadores de clases CSS utility.
|
|
3
|
+
* Replican los mixins grisso_simple_class, grisso_complex_class de SCSS.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Genera una clase simple con variantes responsive.
|
|
7
|
+
* Equivalente al mixin grisso_simple_class.
|
|
8
|
+
*/
|
|
9
|
+
export function simpleClass(className, property, value, breakpoints) {
|
|
10
|
+
let css = `.${className} { ${property}: ${value}; }\n`;
|
|
11
|
+
for (const [bp, mq] of Object.entries(breakpoints)) {
|
|
12
|
+
css += `@media ${mq} { .${bp}-${className} { ${property}: ${value}; } }\n`;
|
|
13
|
+
}
|
|
14
|
+
return css;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Genera clases basadas en un mapa de tokens con variantes responsive.
|
|
18
|
+
* Equivalente al mixin grisso_complex_class.
|
|
19
|
+
*/
|
|
20
|
+
export function complexClass(prefix, properties, tokens, breakpoints) {
|
|
21
|
+
const props = Array.isArray(properties) ? properties : [properties];
|
|
22
|
+
let css = "";
|
|
23
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
24
|
+
for (const prop of props) {
|
|
25
|
+
css += `.${prefix}${name} { ${prop}: ${value}; }\n`;
|
|
26
|
+
}
|
|
27
|
+
for (const [bp, mq] of Object.entries(breakpoints)) {
|
|
28
|
+
for (const prop of props) {
|
|
29
|
+
css += `@media ${mq} { .${bp}-${prefix}${name} { ${prop}: ${value}; } }\n`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return css;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Genera una clase con declaraciones custom y variantes responsive.
|
|
37
|
+
* Para casos especiales: divide >*+*, truncate, smoothing, outline-none, etc.
|
|
38
|
+
*/
|
|
39
|
+
export function customClass(className, declarations, breakpoints, selectorSuffix) {
|
|
40
|
+
const suffix = selectorSuffix || "";
|
|
41
|
+
const decls = Object.entries(declarations)
|
|
42
|
+
.map(([p, v]) => `${p}: ${v}`)
|
|
43
|
+
.join("; ");
|
|
44
|
+
let css = `.${className}${suffix} { ${decls}; }\n`;
|
|
45
|
+
for (const [bp, mq] of Object.entries(breakpoints)) {
|
|
46
|
+
css += `@media ${mq} { .${bp}-${className}${suffix} { ${decls}; } }\n`;
|
|
47
|
+
}
|
|
48
|
+
return css;
|
|
49
|
+
}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { resolveConfig } from "./resolve-config.js";
|
|
2
|
+
/**
|
|
3
|
+
* Genera el CSS completo de Grisso.
|
|
4
|
+
*
|
|
5
|
+
* @param configPath - Ruta a grisso.config.mjs del consumidor
|
|
6
|
+
* @returns CSS raw (sin minificar, sin vendor prefixes)
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateCSS(configPath?: string): Promise<string>;
|
|
9
|
+
export { resolveConfig };
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolveConfig } from "./resolve-config.js";
|
|
2
|
+
import partials from "./partials/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Genera el CSS completo de Grisso.
|
|
5
|
+
*
|
|
6
|
+
* @param configPath - Ruta a grisso.config.mjs del consumidor
|
|
7
|
+
* @returns CSS raw (sin minificar, sin vendor prefixes)
|
|
8
|
+
*/
|
|
9
|
+
export async function generateCSS(configPath) {
|
|
10
|
+
const config = await resolveConfig(configPath);
|
|
11
|
+
let css = "";
|
|
12
|
+
for (const partial of partials) {
|
|
13
|
+
css += partial(config);
|
|
14
|
+
}
|
|
15
|
+
return css;
|
|
16
|
+
}
|
|
17
|
+
export { resolveConfig };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { complexClass } from "../generators.js";
|
|
2
|
+
export default function backgrounds(config) {
|
|
3
|
+
const { breakpoints, backgroundColors } = config;
|
|
4
|
+
let css = "";
|
|
5
|
+
// background-color
|
|
6
|
+
css += complexClass("bg-", "background-color", backgroundColors, breakpoints);
|
|
7
|
+
// background-attachment
|
|
8
|
+
const bgAttachment = {
|
|
9
|
+
fixed: "fixed",
|
|
10
|
+
local: "local",
|
|
11
|
+
scroll: "scroll",
|
|
12
|
+
};
|
|
13
|
+
css += complexClass("bg-", "background-attachment", bgAttachment, breakpoints);
|
|
14
|
+
// background-clip
|
|
15
|
+
const bgClip = {
|
|
16
|
+
border: "border-box",
|
|
17
|
+
padding: "padding-box",
|
|
18
|
+
content: "content-box",
|
|
19
|
+
text: "text",
|
|
20
|
+
};
|
|
21
|
+
css += complexClass("bg-clip-", "background-clip", bgClip, breakpoints);
|
|
22
|
+
// background-origin
|
|
23
|
+
const bgOrigin = {
|
|
24
|
+
border: "border-box",
|
|
25
|
+
padding: "padding-box",
|
|
26
|
+
content: "content-box",
|
|
27
|
+
};
|
|
28
|
+
css += complexClass("bg-origin-", "background-origin", bgOrigin, breakpoints);
|
|
29
|
+
// background-position
|
|
30
|
+
const bgPosition = {
|
|
31
|
+
bottom: "bottom",
|
|
32
|
+
center: "center",
|
|
33
|
+
left: "left",
|
|
34
|
+
"left-bottom": "left bottom",
|
|
35
|
+
"left-top": "left top",
|
|
36
|
+
right: "right",
|
|
37
|
+
"right-bottom": "right bottom",
|
|
38
|
+
"right-top": "right top",
|
|
39
|
+
top: "top",
|
|
40
|
+
};
|
|
41
|
+
css += complexClass("bg-", "background-position", bgPosition, breakpoints);
|
|
42
|
+
// background-repeat
|
|
43
|
+
const bgRepeat = {
|
|
44
|
+
repeat: "repeat",
|
|
45
|
+
"no-repeat": "no-repeat",
|
|
46
|
+
"repeat-x": "repeat-x",
|
|
47
|
+
"repeat-y": "repeat-y",
|
|
48
|
+
"repeat-round": "round",
|
|
49
|
+
"repeat-space": "space",
|
|
50
|
+
};
|
|
51
|
+
css += complexClass("bg-", "background-repeat", bgRepeat, breakpoints);
|
|
52
|
+
// background-size
|
|
53
|
+
const bgSize = {
|
|
54
|
+
auto: "auto",
|
|
55
|
+
cover: "cover",
|
|
56
|
+
contain: "contain",
|
|
57
|
+
inherit: "inherit",
|
|
58
|
+
initial: "initial",
|
|
59
|
+
revert: "revert",
|
|
60
|
+
unset: "unset",
|
|
61
|
+
};
|
|
62
|
+
css += complexClass("bg-", "background-size", bgSize, breakpoints);
|
|
63
|
+
return css;
|
|
64
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { complexClass, customClass } from "../generators.js";
|
|
2
|
+
export default function borders(config) {
|
|
3
|
+
const { breakpoints, borderWidth, borderColors } = config;
|
|
4
|
+
let css = "";
|
|
5
|
+
// Variables locales (equivale a borders/vars.scss)
|
|
6
|
+
const extendedColors = {
|
|
7
|
+
...borderColors,
|
|
8
|
+
inherit: "inherit",
|
|
9
|
+
current: "currentColor",
|
|
10
|
+
transparent: "transparent",
|
|
11
|
+
};
|
|
12
|
+
const borderStyle = {
|
|
13
|
+
solid: "solid",
|
|
14
|
+
dashed: "dashed",
|
|
15
|
+
dotted: "dotted",
|
|
16
|
+
double: "double",
|
|
17
|
+
hidden: "hidden",
|
|
18
|
+
none: "none",
|
|
19
|
+
};
|
|
20
|
+
// border-width
|
|
21
|
+
css += complexClass("border-", "border-width", borderWidth, breakpoints);
|
|
22
|
+
// border-style
|
|
23
|
+
css += complexClass("border-", "border-style", borderStyle, breakpoints);
|
|
24
|
+
// divide-color
|
|
25
|
+
for (const [key, value] of Object.entries(extendedColors)) {
|
|
26
|
+
css += customClass(`divide-${key}`, { "border-color": value }, breakpoints, " > * + *");
|
|
27
|
+
}
|
|
28
|
+
// divide-width
|
|
29
|
+
for (const [key, value] of Object.entries(borderWidth)) {
|
|
30
|
+
css += customClass(`divide-x-${key}`, { "border-right-width": value, "border-left-width": value }, breakpoints, " > * + *");
|
|
31
|
+
css += customClass(`divide-y-${key}`, { "border-top-width": value, "border-bottom-width": value }, breakpoints, " > * + *");
|
|
32
|
+
}
|
|
33
|
+
css += customClass("divide-x", { "border-right-width": "0", "border-left-width": "1px" }, breakpoints, " > * + *");
|
|
34
|
+
css += customClass("divide-y", { "border-top-width": "1px", "border-bottom-width": "0" }, breakpoints, " > * + *");
|
|
35
|
+
// divide-style
|
|
36
|
+
for (const [key, value] of Object.entries(borderStyle)) {
|
|
37
|
+
css += customClass(`divide-${key}`, { "border-style": value }, breakpoints, " > * + *");
|
|
38
|
+
}
|
|
39
|
+
// outline-color
|
|
40
|
+
css += complexClass("outline-", "outline-color", extendedColors, breakpoints);
|
|
41
|
+
// outline-width
|
|
42
|
+
css += complexClass("outline-", "outline-width", borderWidth, breakpoints);
|
|
43
|
+
// outline-style
|
|
44
|
+
const outlineStyle = {
|
|
45
|
+
outline: "solid",
|
|
46
|
+
"outline-dashed": "dashed",
|
|
47
|
+
"outline-dotted": "dotted",
|
|
48
|
+
"outline-double": "double",
|
|
49
|
+
};
|
|
50
|
+
css += complexClass("", "outline-style", outlineStyle, breakpoints);
|
|
51
|
+
css += customClass("outline-none", { outline: "2px solid transparent", "outline-offset": "2px" }, breakpoints);
|
|
52
|
+
// outline-offset
|
|
53
|
+
css += complexClass("outline-offset-", "outline-offset", borderWidth, breakpoints);
|
|
54
|
+
return css;
|
|
55
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { complexClass } from "../generators.js";
|
|
2
|
+
export default function effects(config) {
|
|
3
|
+
const { breakpoints, opacity, shadows, overlayColors } = config;
|
|
4
|
+
let css = "";
|
|
5
|
+
// opacity
|
|
6
|
+
css += complexClass("opacity-", "opacity", opacity, breakpoints);
|
|
7
|
+
// box-shadow
|
|
8
|
+
const extendedShadows = {
|
|
9
|
+
...shadows,
|
|
10
|
+
inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",
|
|
11
|
+
none: "0 0 #0000",
|
|
12
|
+
};
|
|
13
|
+
css += complexClass("shadow-", "box-shadow", extendedShadows, breakpoints);
|
|
14
|
+
// overlay (background-color)
|
|
15
|
+
css += complexClass("overlay-", "background-color", overlayColors, breakpoints);
|
|
16
|
+
return css;
|
|
17
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { simpleClass, complexClass } from "../generators.js";
|
|
2
|
+
import { omit } from "../utils.js";
|
|
3
|
+
export default function flexAndGrid(config) {
|
|
4
|
+
const { columns, breakpoints, spacing } = config;
|
|
5
|
+
let css = "";
|
|
6
|
+
// flex-direction
|
|
7
|
+
const direction = {
|
|
8
|
+
row: "row",
|
|
9
|
+
"row-reverse": "row-reverse",
|
|
10
|
+
col: "column",
|
|
11
|
+
"col-reverse": "column-reverse",
|
|
12
|
+
};
|
|
13
|
+
css += complexClass("flex-", "flex-direction", direction, breakpoints);
|
|
14
|
+
// flex-wrap
|
|
15
|
+
const wrap = {
|
|
16
|
+
wrap: "wrap",
|
|
17
|
+
"wrap-reverse": "wrap-reverse",
|
|
18
|
+
nowrap: "nowrap",
|
|
19
|
+
};
|
|
20
|
+
css += complexClass("flex-", "flex-wrap", wrap, breakpoints);
|
|
21
|
+
// flex (shorthand)
|
|
22
|
+
const flex = {
|
|
23
|
+
"1": "1 1 0",
|
|
24
|
+
auto: "1 1 auto",
|
|
25
|
+
initial: "0 1 auto",
|
|
26
|
+
none: "none",
|
|
27
|
+
};
|
|
28
|
+
css += complexClass("flex-", "flex", flex, breakpoints);
|
|
29
|
+
// flex-grow
|
|
30
|
+
css += simpleClass("grow", "flex-grow", "1", breakpoints);
|
|
31
|
+
css += simpleClass("grow-0", "flex-grow", "0", breakpoints);
|
|
32
|
+
// flex-shrink
|
|
33
|
+
css += simpleClass("shrink", "flex-shrink", "1", breakpoints);
|
|
34
|
+
css += simpleClass("shrink-0", "flex-shrink", "0", breakpoints);
|
|
35
|
+
// order
|
|
36
|
+
for (let i = 1; i <= columns; i++) {
|
|
37
|
+
css += simpleClass(`order-${i}`, "order", String(i), breakpoints);
|
|
38
|
+
}
|
|
39
|
+
css += simpleClass("order-first", "order", "-9999", breakpoints);
|
|
40
|
+
css += simpleClass("order-last", "order", "9999", breakpoints);
|
|
41
|
+
css += simpleClass("order-none", "order", "0", breakpoints);
|
|
42
|
+
// justify-items
|
|
43
|
+
const justifyItems = {
|
|
44
|
+
start: "start",
|
|
45
|
+
end: "end",
|
|
46
|
+
center: "center",
|
|
47
|
+
stretch: "stretch",
|
|
48
|
+
};
|
|
49
|
+
css += complexClass("justify-items-", "justify-items", justifyItems, breakpoints);
|
|
50
|
+
// justify-content
|
|
51
|
+
const justifyContent = {
|
|
52
|
+
normal: "normal",
|
|
53
|
+
start: "flex-start",
|
|
54
|
+
end: "flex-end",
|
|
55
|
+
center: "center",
|
|
56
|
+
between: "space-between",
|
|
57
|
+
around: "space-around",
|
|
58
|
+
evenly: "space-evenly",
|
|
59
|
+
stretch: "stretch",
|
|
60
|
+
};
|
|
61
|
+
css += complexClass("justify-", "justify-content", justifyContent, breakpoints);
|
|
62
|
+
// align-items
|
|
63
|
+
const alignItems = {
|
|
64
|
+
start: "flex-start",
|
|
65
|
+
end: "flex-end",
|
|
66
|
+
center: "center",
|
|
67
|
+
baseline: "baseline",
|
|
68
|
+
stretch: "stretch",
|
|
69
|
+
};
|
|
70
|
+
css += complexClass("items-", "align-items", alignItems, breakpoints);
|
|
71
|
+
// align-content
|
|
72
|
+
const alignContent = {
|
|
73
|
+
normal: "normal",
|
|
74
|
+
center: "center",
|
|
75
|
+
start: "flex-start",
|
|
76
|
+
end: "flex-end",
|
|
77
|
+
between: "space-between",
|
|
78
|
+
around: "space-around",
|
|
79
|
+
evenly: "space-evenly",
|
|
80
|
+
baseline: "baseline",
|
|
81
|
+
stretch: "stretch",
|
|
82
|
+
};
|
|
83
|
+
css += complexClass("content-", "align-content", alignContent, breakpoints);
|
|
84
|
+
// align-self
|
|
85
|
+
const alignSelf = {
|
|
86
|
+
auto: "normal",
|
|
87
|
+
start: "flex-start",
|
|
88
|
+
end: "flex-end",
|
|
89
|
+
center: "center",
|
|
90
|
+
baseline: "baseline",
|
|
91
|
+
stretch: "stretch",
|
|
92
|
+
};
|
|
93
|
+
css += complexClass("self-", "align-self", alignSelf, breakpoints);
|
|
94
|
+
// justify-self
|
|
95
|
+
const justifySelf = {
|
|
96
|
+
auto: "auto",
|
|
97
|
+
start: "start",
|
|
98
|
+
end: "end",
|
|
99
|
+
center: "center",
|
|
100
|
+
stretch: "stretch",
|
|
101
|
+
};
|
|
102
|
+
css += complexClass("justify-self-", "justify-self", justifySelf, breakpoints);
|
|
103
|
+
// grid-template-columns
|
|
104
|
+
for (let i = 1; i <= columns; i++) {
|
|
105
|
+
css += simpleClass(`grid-cols-${i}`, "grid-template-columns", `repeat(${i}, minmax(0, 1fr))`, breakpoints);
|
|
106
|
+
}
|
|
107
|
+
css += simpleClass("grid-cols-none", "grid-template-columns", "none", breakpoints);
|
|
108
|
+
// grid-column start/end
|
|
109
|
+
css += simpleClass("col-auto", "grid-column", "auto", breakpoints);
|
|
110
|
+
for (let i = 1; i <= columns; i++) {
|
|
111
|
+
css += simpleClass(`col-span-${i}`, "grid-column", `span ${i} / span ${i}`, breakpoints);
|
|
112
|
+
css += simpleClass(`col-start-${i}`, "grid-column-start", String(i), breakpoints);
|
|
113
|
+
css += simpleClass(`col-end-${i}`, "grid-column-end", String(i), breakpoints);
|
|
114
|
+
}
|
|
115
|
+
css += simpleClass("col-end-13", "grid-column-end", "13", breakpoints);
|
|
116
|
+
css += simpleClass("col-span-full", "grid-column", "1 / -1", breakpoints);
|
|
117
|
+
css += simpleClass("col-start-auto", "grid-column-start", "auto", breakpoints);
|
|
118
|
+
css += simpleClass("col-end-auto", "grid-column-end", "auto", breakpoints);
|
|
119
|
+
// grid-template-rows
|
|
120
|
+
for (let i = 1; i <= columns; i++) {
|
|
121
|
+
css += simpleClass(`grid-rows-${i}`, "grid-template-rows", `repeat(${i}, minmax(0, 1fr))`, breakpoints);
|
|
122
|
+
}
|
|
123
|
+
css += simpleClass("grid-rows-none", "grid-template-rows", "none", breakpoints);
|
|
124
|
+
// grid-row start/end
|
|
125
|
+
css += simpleClass("row-auto", "grid-row", "auto", breakpoints);
|
|
126
|
+
for (let i = 1; i <= columns; i++) {
|
|
127
|
+
css += simpleClass(`row-span-${i}`, "grid-row", `span ${i} / span ${i}`, breakpoints);
|
|
128
|
+
css += simpleClass(`row-start-${i}`, "grid-row-start", String(i), breakpoints);
|
|
129
|
+
css += simpleClass(`row-end-${i}`, "grid-row-end", String(i), breakpoints);
|
|
130
|
+
}
|
|
131
|
+
css += simpleClass("row-span-full", "grid-row", "1 / -1", breakpoints);
|
|
132
|
+
css += simpleClass("row-start-auto", "grid-row-start", "auto", breakpoints);
|
|
133
|
+
css += simpleClass("row-end-auto", "grid-row-end", "auto", breakpoints);
|
|
134
|
+
// grid-auto-flow
|
|
135
|
+
const autoFlow = {
|
|
136
|
+
row: "row",
|
|
137
|
+
col: "column",
|
|
138
|
+
dense: "dense",
|
|
139
|
+
"row-dense": "row dense",
|
|
140
|
+
"col-dense": "column dense",
|
|
141
|
+
};
|
|
142
|
+
css += complexClass("grid-flow-", "grid-auto-flow", autoFlow, breakpoints);
|
|
143
|
+
// grid-auto-columns
|
|
144
|
+
const autoColumns = {
|
|
145
|
+
auto: "auto",
|
|
146
|
+
min: "min-content",
|
|
147
|
+
max: "max-content",
|
|
148
|
+
fr: "minmax(0, 1fr)",
|
|
149
|
+
};
|
|
150
|
+
css += complexClass("auto-cols-", "grid-auto-columns", autoColumns, breakpoints);
|
|
151
|
+
// grid-auto-rows
|
|
152
|
+
const autoRows = {
|
|
153
|
+
auto: "auto",
|
|
154
|
+
min: "min-content",
|
|
155
|
+
max: "max-content",
|
|
156
|
+
fr: "minmax(0, 1fr)",
|
|
157
|
+
};
|
|
158
|
+
css += complexClass("auto-rows-", "grid-auto-rows", autoRows, breakpoints);
|
|
159
|
+
// gap
|
|
160
|
+
const gap = omit(spacing, "auto");
|
|
161
|
+
css += complexClass("gap-", "gap", gap, breakpoints);
|
|
162
|
+
css += complexClass("gap-x-", "column-gap", gap, breakpoints);
|
|
163
|
+
css += complexClass("gap-y-", "row-gap", gap, breakpoints);
|
|
164
|
+
// place-content
|
|
165
|
+
const placeContent = {
|
|
166
|
+
center: "center",
|
|
167
|
+
start: "start",
|
|
168
|
+
end: "end",
|
|
169
|
+
between: "space-between",
|
|
170
|
+
around: "space-around",
|
|
171
|
+
evenly: "space-evenly",
|
|
172
|
+
baseline: "baseline",
|
|
173
|
+
stretch: "stretch",
|
|
174
|
+
};
|
|
175
|
+
css += complexClass("place-content-", "place-content", placeContent, breakpoints);
|
|
176
|
+
// place-items
|
|
177
|
+
const placeItems = {
|
|
178
|
+
start: "start",
|
|
179
|
+
end: "end",
|
|
180
|
+
center: "center",
|
|
181
|
+
baseline: "baseline",
|
|
182
|
+
stretch: "stretch",
|
|
183
|
+
};
|
|
184
|
+
css += complexClass("place-items-", "place-items", placeItems, breakpoints);
|
|
185
|
+
// place-self
|
|
186
|
+
const placeSelf = {
|
|
187
|
+
auto: "auto",
|
|
188
|
+
start: "start",
|
|
189
|
+
end: "end",
|
|
190
|
+
center: "center",
|
|
191
|
+
stretch: "stretch",
|
|
192
|
+
};
|
|
193
|
+
css += complexClass("place-self-", "place-self", placeSelf, breakpoints);
|
|
194
|
+
return css;
|
|
195
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import layout from "./layout.js";
|
|
2
|
+
import flexAndGrid from "./flex-and-grid.js";
|
|
3
|
+
import spacingPartial from "./spacing.js";
|
|
4
|
+
import sizing from "./sizing.js";
|
|
5
|
+
import backgrounds from "./backgrounds.js";
|
|
6
|
+
import borders from "./borders.js";
|
|
7
|
+
import typography from "./typography.js";
|
|
8
|
+
import effects from "./effects.js";
|
|
9
|
+
import icons from "./icons.js";
|
|
10
|
+
/**
|
|
11
|
+
* Registry de partials en el orden de importación de grisso.scss.
|
|
12
|
+
* El orden determina la cascada CSS.
|
|
13
|
+
*/
|
|
14
|
+
const partials = [
|
|
15
|
+
layout,
|
|
16
|
+
flexAndGrid,
|
|
17
|
+
spacingPartial,
|
|
18
|
+
sizing,
|
|
19
|
+
backgrounds,
|
|
20
|
+
borders,
|
|
21
|
+
typography,
|
|
22
|
+
effects,
|
|
23
|
+
icons,
|
|
24
|
+
];
|
|
25
|
+
export default partials;
|