@vector-crystal-web/shared
v1.1.2
Published
**Shared** library for the Crystal Design System. Provides Angular module bundles, types, constants, and utilities (icons, CSS) for use across apps and other Crystal libraries.
Readme
@vector-crystal-web/shared
Shared library for the Crystal Design System. Provides Angular module bundles, types, constants, and utilities (icons, CSS) for use across apps and other Crystal libraries.
Features
| Category | Exports |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modules | CRYSTAL_BASIC_MODULES, CRYSTAL_FORM_MODULES, CRYSTAL_UI_MODULES, CRYSTAL_FULL_MODULES, CRYSTAL_CORE_MODULES, CRYSTAL_FORM_ONLY_MODULES, CRYSTAL_UI_ONLY_MODULES, CRYSTAL_FEEDBACK_ONLY_MODULES, CRYSTAL_AVATAR_ONLY_MODULES |
| Types | ListItem, ComponentSize |
| Constants | BUTTON_TYPES, COMPONENT_SIZES, COMPONENT_STATES, DIRECTIONS, POSITIONS, BREAKPOINTS, Z_INDEX, ANIMATION_DURATIONS, ANIMATION_EASINGS |
| Utils | CrystalIconUtils, CrystalCssUtils |
Use the module bundles in standalone components; use types and constants for consistent APIs; use utils for icons (Phosphor) and PrimeFlex class composition.
Usage
// Module bundles (standalone imports)
import { CRYSTAL_BASIC_MODULES } from '@vector-crystal-web/shared';
@Component({
standalone: true,
imports: [CRYSTAL_BASIC_MODULES],
template: `...`,
})
export class MyComponent {}// Types and constants
import { ListItem, ComponentSize } from '@vector-crystal-web/shared';
import { COMPONENT_SIZES, BUTTON_TYPES } from '@vector-crystal-web/shared';
const item: ListItem = { name: 'Option', code: '1' };
const size: ComponentSize = COMPONENT_SIZES.MEDIUM;// Utils (icons, CSS)
import { CrystalIconUtils, CrystalCssUtils } from '@vector-crystal-web/shared';
const iconClass = CrystalIconUtils.getIconClass('check-circle', 'bold');
const classes = CrystalCssUtils.combineClasses('flex', 'justify-center', 'gap-2');Generated with Nx.