Skip to content

Commit

Permalink
feat: generate types for grid template columns
Browse files Browse the repository at this point in the history
  • Loading branch information
muhammadsammy committed Jun 23, 2020
1 parent 5bc5bf8 commit 8e0e5d5
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 161 deletions.
14 changes: 14 additions & 0 deletions src/generation/ClassesGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { Backgrounds as defaultBackgrounds } from '../classes/Backgrounds';
import { Borders as defaultBorders } from '../classes/Borders';
import { Effects as defaultEffects } from '../classes/Effects';
import { FlexBox as defaultFlexBox } from '../classes/Flexbox';
import { Grid as defaultGrid } from '../classes/Grid';
import isEmpty from 'lodash.isempty';

export class ClassesGenerator implements IClassesGenerator {
Expand Down Expand Up @@ -99,6 +100,19 @@ export class ClassesGenerator implements IClassesGenerator {
return new ClassesGroupTemplateGenerator(FlexBox, 'FlexBox', this.configScanner.prefix).generate();
};

public grid = (): string => {
const Grid = {
...defaultGrid,
gridTemplateColumns: Object.keys(this.configScanner.themeConfig.gridTemplateColumns).map(
value => `grid-cols-${value}`,
),
};

this.allGeneratedClasses.Grid = Grid;

return new ClassesGroupTemplateGenerator(Grid, 'Grid', this.configScanner.prefix).generate();
};

public spacing = (): string => {
const Spacing = {
space: this.getGeneratedClassesWithSpacing().spaceBetweens,
Expand Down
2 changes: 1 addition & 1 deletion src/generation/IGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export interface IClassesGenerator {
borders: () => string;
effects: () => string;
flexBox: () => string;
// grid: () => string;
grid: () => string;
spacing: () => string;
// interactivity: () => string;
// layout: () => string;
Expand Down
2 changes: 1 addition & 1 deletion src/generation/_definitions.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ interface IThemeProps {
[key: string]: string;
};
gap: any;
gridTemplateColumns?: {
gridTemplateColumns: {
[key: string]: string;
};
gridColumn?: {
Expand Down
1 change: 1 addition & 0 deletions src/generation/createFile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ export function createFileWithGeneratedTypes(options: Options): void {
.replace(/___EFFECTS___/g, classesGenerator.effects)
.replace(/___FLEXBOX___/g, classesGenerator.flexBox)
.replace(/___SPACING___/g, classesGenerator.spacing)
.replace(/___GRID___/g, classesGenerator.grid)

.replace(/MAX_WIDTH_BY_BREAKPOINTS/g, generateTypes(classesGenerator.getGeneratedMaxWidthClasses()))
.replace(/WIDTH_SPACINGS/g, generateTypes(classesGenerator.getGeneratedClassesWithSpacing().widths, prefix))
Expand Down
160 changes: 1 addition & 159 deletions src/generation/utils/baseTemplateString.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,165 +206,7 @@ ___BORDERS___
___FLEXBOX___
export type TGrid =
| TGridTemplateColumns
| TGridColumnStartEnd
| TGridTemplateRows
| TGridRowStartEnd
| TGridGap
| TGridAutoFlow;
export type TGridTemplateColumns =
| '_PREFIX_grid-cols-1'
| '_PREFIX_grid-cols-2'
| '_PREFIX_grid-cols-3'
| '_PREFIX_grid-cols-4'
| '_PREFIX_grid-cols-5'
| '_PREFIX_grid-cols-6'
| '_PREFIX_grid-cols-7'
| '_PREFIX_grid-cols-8'
| '_PREFIX_grid-cols-9'
| '_PREFIX_grid-cols-10'
| '_PREFIX_grid-cols-11'
| '_PREFIX_grid-cols-12'
| '_PREFIX_grid-cols-none';
export type TGridColumnStartEnd =
| '_PREFIX_col-auto'
| '_PREFIX_col-span-1'
| '_PREFIX_col-span-2'
| '_PREFIX_col-span-3'
| '_PREFIX_col-span-4'
| '_PREFIX_col-span-5'
| '_PREFIX_col-span-6'
| '_PREFIX_col-span-7'
| '_PREFIX_col-span-8'
| '_PREFIX_col-span-10'
| '_PREFIX_col-span-11'
| '_PREFIX_col-start-1'
| '_PREFIX_col-start-2'
| '_PREFIX_col-start-3'
| '_PREFIX_col-start-4'
| '_PREFIX_col-start-5'
| '_PREFIX_col-start-6'
| '_PREFIX_col-start-7'
| '_PREFIX_col-start-8'
| '_PREFIX_col-start-9'
| '_PREFIX_col-start-10'
| '_PREFIX_col-start-11'
| '_PREFIX_col-start-12'
| '_PREFIX_col-start-13'
| '_PREFIX_col-start-auto'
| '_PREFIX_col-end-1'
| '_PREFIX_col-end-2'
| '_PREFIX_col-end-3'
| '_PREFIX_col-end-4'
| '_PREFIX_col-end-5'
| '_PREFIX_col-end-6'
| '_PREFIX_col-end-7'
| '_PREFIX_col-end-8'
| '_PREFIX_col-end-9'
| '_PREFIX_col-end-10'
| '_PREFIX_col-end-11'
| '_PREFIX_col-end-12'
| '_PREFIX_col-end-13'
| '_PREFIX_col-end-auto';
export type TGridTemplateRows =
| '_PREFIX_grid-rows-1'
| '_PREFIX_grid-rows-2'
| '_PREFIX_grid-rows-3'
| '_PREFIX_grid-rows-4'
| '_PREFIX_grid-rows-5'
| '_PREFIX_grid-rows-6'
| '_PREFIX_grid-rows-none';
export type TGridRowStartEnd =
| '_PREFIX_row-auto'
| '_PREFIX_row-span-1'
| '_PREFIX_row-span-2'
| '_PREFIX_row-span-3'
| '_PREFIX_row-span-4'
| '_PREFIX_row-span-5'
| '_PREFIX_row-span-6'
| '_PREFIX_row-start-1'
| '_PREFIX_row-start-2'
| '_PREFIX_row-start-3'
| '_PREFIX_row-start-4'
| '_PREFIX_row-start-5'
| '_PREFIX_row-start-6'
| '_PREFIX_row-start-7'
| '_PREFIX_row-start-auto'
| '_PREFIX_row-end-1'
| '_PREFIX_row-end-2'
| '_PREFIX_row-end-3'
| '_PREFIX_row-end-4'
| '_PREFIX_row-end-5'
| '_PREFIX_row-end-6'
| '_PREFIX_row-end-7'
| '_PREFIX_row-end-auto';
export type TGridGap =
| '_PREFIX_gap-0'
| '_PREFIX_gap-1'
| '_PREFIX_gap-2'
| '_PREFIX_gap-3'
| '_PREFIX_gap-4'
| '_PREFIX_gap-5'
| '_PREFIX_gap-6'
| '_PREFIX_gap-8'
| '_PREFIX_gap-10'
| '_PREFIX_gap-12'
| '_PREFIX_gap-16'
| '_PREFIX_gap-20'
| '_PREFIX_gap-24'
| '_PREFIX_gap-32'
| '_PREFIX_gap-40'
| '_PREFIX_gap-48'
| '_PREFIX_gap-56'
| '_PREFIX_gap-64'
| '_PREFIX_gap-px'
| '_PREFIX_row-gap-0'
| '_PREFIX_row-gap-1'
| '_PREFIX_row-gap-2'
| '_PREFIX_row-gap-3'
| '_PREFIX_row-gap-4'
| '_PREFIX_row-gap-5'
| '_PREFIX_row-gap-6'
| '_PREFIX_row-gap-8'
| '_PREFIX_row-gap-10'
| '_PREFIX_row-gap-12'
| '_PREFIX_row-gap-16'
| '_PREFIX_row-gap-20'
| '_PREFIX_row-gap-24'
| '_PREFIX_row-gap-32'
| '_PREFIX_row-gap-40'
| '_PREFIX_row-gap-48'
| '_PREFIX_row-gap-56'
| '_PREFIX_row-gap-64'
| '_PREFIX_row-gap-px'
| '_PREFIX_col-gap-0'
| '_PREFIX_col-gap-1'
| '_PREFIX_col-gap-2'
| '_PREFIX_col-gap-3'
| '_PREFIX_col-gap-4'
| '_PREFIX_col-gap-5'
| '_PREFIX_col-gap-6'
| '_PREFIX_col-gap-8'
| '_PREFIX_col-gap-10'
| '_PREFIX_col-gap-12'
| '_PREFIX_col-gap-16'
| '_PREFIX_col-gap-20'
| '_PREFIX_col-gap-24'
| '_PREFIX_col-gap-32'
| '_PREFIX_col-gap-40'
| '_PREFIX_col-gap-48'
| '_PREFIX_col-gap-56'
| '_PREFIX_col-gap-64'
| '_PREFIX_col-gap-px';
export type TGridAutoFlow = '_PREFIX_grid-flow-row' | '_PREFIX_grid-flow-col' | '_PREFIX_grid-flow-row-dense' | '_PREFIX_grid-flow-col-dense';
___GRID___
___SPACING___
Expand Down

0 comments on commit 8e0e5d5

Please sign in to comment.