@funidata/ngx-fudis
Version:
Funidata Design System.
96 lines (95 loc) • 2.97 kB
TypeScript
import { FudisBreakpointKey } from './breakpoint-keys';
import { FudisBreakpointValueResponsive } from './breakpoints';
import { FudisSpacing } from './spacing';
/**
* Default 'columns' value for Grid component
*/
export declare const gridColumnDefault = "1fr";
export declare const gridInputPropertyDefaults: FudisDefaultGridProperties;
/**
* Grid Columns property accepted input values
*/
export type FudisGridColumns = string | number | FudisGridColumnsResponsive;
/**
* Grid widths
*/
export type FudisGridWidth = 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs' | 'initial';
/**
* Alignment of whole Grid inside its container. For items inside the Grid use alignItemsX and
* alignItemsY.
*/
export type FudisGridAlign = 'start' | 'end' | 'center';
/**
* Alignment of Grid Items inside a Grid
*/
export declare const fudisGridAlignItemsArray: readonly ["start", "center", "end", "stretch", "baseline"];
export type FudisGridAlignItems = (typeof fudisGridAlignItemsArray)[number];
/**
* Spacing between columns and rows inside Grid
*/
export type FudisGridGap = FudisSpacing | 'responsive';
/**
* Input object from application to provide responsive settings for different breakpoints for Grid
*/
export type FudisGridColumnsResponsive = {
[key in FudisBreakpointKey]?: string | number;
};
/**
* Base attributes for managing Grid
*/
interface FudisGridBase {
align?: FudisGridAlign;
alignItemsY?: FudisGridAlignItems;
alignItemsX?: FudisGridAlignItems;
classes?: string;
columnGap?: FudisGridGap;
rowGap?: FudisGridGap;
width?: FudisGridWidth;
}
/**
* Attributes for managing Grid properties
*/
export interface FudisGridProperties extends FudisGridBase {
columns?: FudisBreakpointValueResponsive | string | number;
}
/**
* Attributes for managing Grid defaults
*/
export interface FudisDefaultGridProperties extends FudisGridBase {
columns?: FudisBreakpointValueResponsive;
}
export interface FudisGridPropertyCollection {
appValues: FudisGridProperties;
defaultValues: FudisDefaultGridProperties;
serviceValues: FudisDefaultGridProperties;
}
/**
* Default value for 'columns' input of Grid Item
*/
export declare const gridItemDefault = "auto";
/**
* Alignment of Grid Item inside Grid
*/
export type FudisGridItemAlignment = 'start' | 'end' | 'center' | 'stretch';
/**
* Alignment of Grid Item inside Grid for varying breakpoints
*/
export type FudisGridItemAlignResponsive = {
[K in FudisBreakpointKey]?: FudisGridItemAlignment;
};
/**
* Input value for width of Grid Item
*/
export type FudisGridItemWidth = number | string | 'stretch' | 'auto';
/**
* Input object from application to provide responsive settings for different breakpoints for Grid
* Item
*/
export type FudisGridItemColumnsResponsive = {
[K in FudisBreakpointKey]?: FudisGridItemWidth;
};
/**
* Grid input widths
*/
export type FudisGridFormInputWidth = 'inputXs' | 'inputSm' | 'inputMd' | 'inputLg';
export {};