vuestic-ui
Version:
Vue 3 UI Framework
33 lines (32 loc) • 1.61 kB
TypeScript
import { PropType, ExtractPropTypes } from 'vue';
type verticalPlacement = 'top' | 'bottom';
type horizontalPlacement = 'left' | 'right';
type PlacementAlias = `${verticalPlacement}-${horizontalPlacement}` | `${horizontalPlacement}-${verticalPlacement}`;
export type PlacementPosition = horizontalPlacement | verticalPlacement;
type PlacementPositionWithDefault = PlacementPosition | 'auto';
export type PlacementAlignment = 'start' | 'end' | 'center';
export type Placement = PlacementPositionWithDefault | `${PlacementPosition}-${PlacementAlignment}`;
export type PlacementWithAlias = Placement | PlacementAlias;
export type ParsedPlacement = {
position: PlacementPosition;
align: PlacementAlignment;
};
declare const verticalPlacement: verticalPlacement[];
declare const horizontalPlacement: horizontalPlacement[];
export declare const placementsPositions: Placement[];
export declare const placementAliasesPositions: PlacementAlias[];
export declare const placementsPositionsWithAliases: PlacementWithAlias[];
export declare const aliasToPlacement: Record<PlacementAlias, Placement>;
export declare const usePlacementAliasesProps: {
placement: {
type: PropType<PlacementWithAlias>;
default: string;
validator: (position: PlacementWithAlias) => boolean;
};
};
export type UsePlacementAliasesProps = ExtractPropTypes<typeof usePlacementAliasesProps>;
export declare const usePlacementAliases: (props: UsePlacementAliasesProps) => {
position: import("vue").ComputedRef<PlacementPosition>;
align: import("vue").ComputedRef<PlacementAlignment>;
};
export {};