本文整理汇总了TypeScript中@growcss/elaborate.stripUnit函数的典型用法代码示例。如果您正苦于以下问题:TypeScript stripUnit函数的具体用法?TypeScript stripUnit怎么用?TypeScript stripUnit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了stripUnit函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: stripUnit
const cssBuilder = (
gutter: string | number,
negative: boolean,
gutterType: string,
gutterPosition: string[],
): string => {
let negativeBoolean = negative;
let operator = negativeBoolean ? '-' : '';
let isString = false;
let gutterSize = gutter;
if (typeof gutterSize === 'string') {
isString = true;
gutterSize = stripUnit(gutterSize);
}
const remValue = rem(+gutterSize / 2);
// If the value is already negative, remove the operator and set negative to true.
if (!isString && gutterSize < 0) {
negativeBoolean = true;
operator = '';
}
// If we have declared negative gutters, force type to `margin.
const gType = negativeBoolean ? 'margin' : gutterType;
let css = '';
for (const gutterPositionItem of gutterPosition) {
css += `${gType}-${gutterPositionItem}: ${operator}${remValue};`;
}
return css;
};
示例2: if
export const CellOffset = (
size: number | string,
breakpoint: string,
gutterType: string = 'margin',
vertical: boolean = false,
rtl: boolean = false,
gutters: GuttersProps = DefaultGutters,
mediaQueryOptions: MediaQueryOptionsProps = MediaQueryOptions,
): string => {
let direction;
if (vertical) {
direction = 'top';
} else if (rtl) {
direction = 'right';
} else {
direction = 'left';
}
let lastBreakpointName = 'small';
if (gutters[breakpoint] === undefined) {
for (const breakpointName in mediaQueryOptions.breakpoints) {
if (typeof breakpointName === 'string' && gutters[breakpointName] !== undefined) {
lastBreakpointName = breakpointName;
}
}
} else {
lastBreakpointName = breakpoint;
}
let lastBreakpoint: number;
if (typeof gutters[lastBreakpointName] === 'string') {
lastBreakpoint = +stripUnit(`${gutters[lastBreakpointName]}`);
} else {
lastBreakpoint = +gutters[lastBreakpointName];
}
const gutter = rem(lastBreakpoint / 2);
const gutterSize =
gutterType === 'margin' ? `calc(${CellSize(size)} + ${gutter})` : CellSize(size);
const css = `margin-${direction}: ${gutterSize};`;
return mediaquery(breakpoint, mediaQueryOptions)`${css}`;
};
示例3: Error
const calcHeading = (
heading: number,
fontSize: string,
lineHeight: number,
breakpoints: {},
mediaQuery: MediaQueryOptionsProps,
): FlattenSimpleInterpolation => {
if (Object.entries(breakpoints).length === 0) {
throw new Error('Cant be empty @todo error message');
}
const size = stripUnit(em(fontSize));
const lineHeightSpacing = (factor = 1): number => {
return size * lineHeight * factor;
};
const spacingValue = lineHeightSpacing();
const mediaqueries: string[] = [];
for (const key in breakpoints) {
if (Array.isArray(breakpoints[key])) {
const calcSize = size * breakpoints[key][heading];
let calcLineHeight = 0;
let multiplier = 1;
if (calcSize <= spacingValue) {
calcLineHeight = spacingValue / calcSize;
} else {
while (lineHeightSpacing(multiplier) < calcSize) {
multiplier += 0.5;
}
calcLineHeight = lineHeightSpacing(multiplier) / calcSize;
}
mediaqueries.push(mediaquery(key, mediaQuery)`
font-size: ${em(calcSize, size)};
line-height: ${calcLineHeight};
font-weight: 700;
`);
}
}
return css`
${mediaqueries}
`;
};