UNPKG

@progress/kendo-angular-layout

Version:

Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts

86 lines (85 loc) 2.48 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Keys } from '@progress/kendo-angular-common'; let nextId = 0; const SIZES = { small: 'sm', medium: 'md', large: 'lg' }; const ROUNDNESS = { small: 'sm', medium: 'md', large: 'lg', full: 'full' }; const SHAPE_TO_ROUNDED = { rounded: 'large', circle: 'full' }; /** * @hidden */ export const parsePanelBarItems = (data) => { return data.map((item) => { if (!isPresent(item.id)) { item.id = `default-${nextId++}`; } if (item.children) { item.children = parsePanelBarItems(item.children); } return item; }); }; /** * @hidden */ export const isPresent = (value) => value !== null && value !== undefined; /** * @hidden */ export const isHorizontalArrowKey = keyCode => keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight; /** * @hidden */ export const isVerticalArrowKey = keyCode => keyCode === Keys.ArrowUp || keyCode === Keys.ArrowDown; /** * @hidden */ export const isArrowKey = keyCode => isHorizontalArrowKey(keyCode) || isVerticalArrowKey(keyCode); /** * @hidden */ export const isNavigationKey = keyCode => keyCode === Keys.PageUp || keyCode === Keys.PageDown || keyCode === Keys.Home || keyCode === Keys.End; /** * @hidden * * Returns the styling classes to be added and removed */ export const getStylingClasses = (componentType, stylingOption, previousValue, newValue) => { switch (stylingOption) { case 'size': return { toRemove: `k-${componentType}-${SIZES[previousValue]}`, toAdd: newValue !== 'none' ? `k-${componentType}-${SIZES[newValue]}` : '' }; case 'rounded': return { toRemove: `k-rounded-${ROUNDNESS[previousValue]}`, toAdd: newValue !== 'none' ? `k-rounded-${ROUNDNESS[newValue]}` : '' }; default: break; } }; /** * @hidden */ export const mapShapeToRounded = (shape) => SHAPE_TO_ROUNDED[shape] || 'none'; /** * @hidden */ export const isNumber = (value) => typeof value === 'number' && isFinite(value);