@knapsack/app
Version:
Build Design Systems on top of knapsack, by Basalt
182 lines • 7.13 kB
TypeScript
import { ThunkAction } from 'redux-thunk';
import { Action } from './types';
import { KnapsackPattern, KnapsackPatternsConfig, KnapsackPatternTemplate, KnapsackTemplateDemo, KsTemplateSpec } from '../../schemas/patterns';
import { KnapsackCustomPageSlice } from '../../schemas/custom-pages';
import { Actions as NavActions } from './navs';
import { TemplateRendererMeta } from '../../schemas/knapsack-config';
declare type AppState = import('./index').AppState;
declare type PatternsState = {
isFetching?: boolean;
didInvalidate?: boolean;
patterns: {
[id: string]: KnapsackPattern;
};
renderers: {
[id: string]: {
meta: TemplateRendererMeta;
};
};
} & KnapsackPatternsConfig;
declare const UPDATE_TEMPLATE_DEMO = "knapsack/patterns/UPDATE_TEMPLATE_DEMO";
declare const REMOVE_TEMPLATE_DEMO = "knapsack/patterns/REMOVE_TEMPLATE_DEMO";
declare const ADD_TEMPLATE_DATA_DEMO = "knapsack/patterns/ADD_TEMPLATE_DATA_DEMO";
declare const ADD_TEMPLATE_TEMPLATE_DEMO = "knapsack/patterns/ADD_TEMPLATE_TEMPLATE_DEMO";
declare const ADD_TEMPLATE = "knapsack/patterns/ADD_TEMPLATE";
declare const UPDATE_PATTERN = "knapsack/patterns/UPDATE_PATTERN";
declare const ADD_PATTERN = "knapsack/patterns/ADD_PATTERN";
declare const UPDATE_PATTERN_INFO = "knapsack/patterns/UPDATE_PATTERN_INFO";
declare const UPDATE_TEMPLATE_INFO = "knapsack/patterns/UPDATE_TEMPLATE_INFO";
declare const UPDATE_PATTERN_SLICES = "knapsack/patterns/UPDATE_PATTERN_SLICES";
declare const DELETE_PATTERN = "knapsack/patterns/DELETE_PATTERN";
interface DeletePatternAction extends Action {
type: typeof DELETE_PATTERN;
payload: {
patternId: string;
};
}
export declare function deletePattern({ patternId, }: DeletePatternAction['payload']): ThunkAction<void, AppState, {}, Actions | NavActions>;
declare const DELETE_TEMPLATE = "knapsack/patterns/DELETE_TEMPLATE";
interface DeleteTemplateAction extends Action {
type: typeof DELETE_TEMPLATE;
payload: {
patternId: string;
templateId: string;
};
}
/** Delete a pattern's template */
export declare function deleteTemplate(payload: DeleteTemplateAction['payload']): DeleteTemplateAction;
declare const UPDATE_SPEC = "knapsack/patterns/Update Spec";
interface UpdateSpecAction extends Action {
type: typeof UPDATE_SPEC;
payload: {
patternId: string;
templateId: string;
spec: KsTemplateSpec;
};
}
export declare function updateSpec(payload: UpdateSpecAction['payload']): UpdateSpecAction;
declare const DUPLICATE_DEMO = "knapsack/patterns/Duplicate Demo";
interface DuplicateDemoAction extends Action {
type: typeof DUPLICATE_DEMO;
payload: {
patternId: string;
templateId: string;
demoId: string;
newDemoId?: string;
};
}
export declare function duplicateDemo(payload: DuplicateDemoAction['payload']): DuplicateDemoAction;
interface UpdatePatternSlicesAction extends Action {
type: typeof UPDATE_PATTERN_SLICES;
payload: {
patternId: string;
slices: KnapsackCustomPageSlice[];
};
}
export declare function updatePatternSlices(patternId: string, slices: KnapsackCustomPageSlice[]): UpdatePatternSlicesAction;
interface UpdateTemplateDemoAction extends Action {
type: typeof UPDATE_TEMPLATE_DEMO;
payload: {
patternId: string;
templateId: string;
demo: KnapsackTemplateDemo;
};
}
export declare function updateTemplateDemo({ patternId, templateId, demo, }: {
patternId: string;
templateId: string;
demo: KnapsackTemplateDemo;
}): UpdateTemplateDemoAction;
interface AddTemplateDataDemoAction extends Action {
type: typeof ADD_TEMPLATE_DATA_DEMO;
payload: {
patternId: string;
templateId: string;
demoId?: string;
};
}
interface AddTemplateAction extends Action {
type: typeof ADD_TEMPLATE;
payload: {
patternId: string;
templateId?: string;
templateLanguageId: string;
path: string;
alias?: string;
assetSetIds?: string[];
};
}
export declare function addTemplate({ path, alias, patternId, templateId, templateLanguageId, assetSetIds, }: AddTemplateAction['payload']): ThunkAction<void, AppState, {}, Actions | NavActions>;
export declare function addTemplateDataDemo({ patternId, templateId, demoId, }: {
patternId: string;
templateId: string;
demoId?: string;
}): AddTemplateDataDemoAction;
interface AddTemplateTemplateDemoAction extends Action {
type: typeof ADD_TEMPLATE_TEMPLATE_DEMO;
payload: {
patternId: string;
templateId: string;
path: string;
alias?: string;
};
}
export declare function addTemplateTemplateDemo({ path, alias, patternId, templateId, }: AddTemplateTemplateDemoAction['payload']): AddTemplateTemplateDemoAction;
interface RemoveTemplateDemoAction extends Action {
type: typeof REMOVE_TEMPLATE_DEMO;
payload: {
patternId: string;
templateId: string;
demoId: string;
};
}
/**
* @todo add option to delete file (ifTemplateDemo)
*/
export declare function removeTemplateDemo({ patternId, templateId, demoId, }: {
patternId: string;
templateId: string;
demoId: string;
}): RemoveTemplateDemoAction;
interface UpdatePatternAction extends Action {
type: typeof UPDATE_PATTERN;
payload: KnapsackPattern;
}
export declare function updatePattern(pattern: KnapsackPattern): UpdatePatternAction;
interface UpdatePatternInfoAction extends Action {
type: typeof UPDATE_PATTERN_INFO;
payload: Partial<KnapsackPattern>;
}
interface UpdateTemplateInfoAction extends Action {
type: typeof UPDATE_TEMPLATE_INFO;
payload: {
patternId: string;
templateId: string;
template: Partial<KnapsackPatternTemplate>;
};
}
interface AddPatternAction extends Action {
type: typeof ADD_PATTERN;
payload: {
patternId?: string;
title: string;
};
}
export declare function addPattern({ patternId, title, }: AddPatternAction['payload']): ThunkAction<void, AppState, {}, Actions | NavActions>;
/**
* Update basic Pattern Info
* Basically everything besides `templates`
*/
export declare function updatePatternInfo(patternId: string, pattern: Partial<KnapsackPattern>): UpdatePatternInfoAction;
/**
* Update basic Template Info by doing a shallow merge of `template`
*/
export declare function updateTemplateInfo({ patternId, templateId, template, }: {
patternId: string;
templateId: string;
template: Partial<KnapsackPatternTemplate>;
}): UpdateTemplateInfoAction;
declare type Actions = AddPatternAction | DeletePatternAction | AddTemplateAction | UpdatePatternAction | UpdatePatternInfoAction | UpdateTemplateInfoAction | UpdateTemplateDemoAction | AddTemplateDataDemoAction | UpdatePatternSlicesAction | RemoveTemplateDemoAction | AddTemplateTemplateDemoAction | DuplicateDemoAction | DeleteTemplateAction | UpdateSpecAction;
export default function reducer(state: PatternsState, action: Actions): PatternsState;
export {};
//# sourceMappingURL=patterns.d.ts.map