Skip to content

MIT LicenseTypeScriptnpm

Comprehensive presentation layer framework for modern web applications. Provides UI utilities, accessibility features, measurement systems, media handling, theming, and navigation components for enterprise TypeScript applications.

Presentation: Complete presentation layer with accessibility, theming, media handling, and advanced UI utilities.

🚀 Overview

@breadstone/ziegel-presentation provides:

  • Accessibility: ARIA support, platform detection, and accessibility utilities
  • Extensions: DOM, HTML, File, and core type extensions
  • Measurement System: Units, dimensions, positioning, and responsive utilities
  • Media & Animation: Audio client, image loading, animation framework
  • Theming System: Material Design palettes, theme management, skin system
  • Input Management: Focus trapping, keyboard handling, gesture recognition
  • Navigation: Link handling and navigation utilities

📦 Installation

bash
npm install @breadstone/ziegel-presentation
# or
yarn add @breadstone/ziegel-presentation

🧩 Features & Usage Examples

Accessibility

typescript
import { AriaDescriber, AriaRef, Platform } from '@breadstone/ziegel-presentation';

const describer = new AriaDescriber();
describer.describe(element, 'Accessible description');

const ariaRef = new AriaRef();
Platform.isBrowser(); // Platform detection

Measurement System

typescript
import { Point, Size, Rect, Length, CornerRadius } from '@breadstone/ziegel-presentation';

const point = new Point(10, 20);
const size = new Size(100, 200);
const rect = new Rect(0, 0, 100, 200);
const length = new Length(16, 'px');
const radius = new CornerRadius(8);

Theming

typescript
import {
  ThemeManager,
  MaterialTheme,
  MaterialAccentPalette,
  OperatingSystemThemeDetector,
} from '@breadstone/ziegel-presentation';

const themeManager = new ThemeManager();
const materialTheme = new MaterialTheme();
const palette = new MaterialAccentPalette();
const osTheme = new OperatingSystemThemeDetector();

Media & Animation

typescript
import { AudioClient, ImageLoader, RAF, EmojiService } from '@breadstone/ziegel-presentation';

const audioClient = new AudioClient();
const imageLoader = new ImageLoader();
const animation = new RAF();
const emojiService = new EmojiService();

Input Management

typescript
import { FocusTrapManager, KeyGesture, ModifierKeys } from '@breadstone/ziegel-presentation';

const focusTrap = new FocusTrapManager();
const gesture = new KeyGesture(['Ctrl', 'S']);

File Handling

typescript
import { FileHandler, FileAs } from '@breadstone/ziegel-presentation';

const fileHandler = new FileHandler();
await fileHandler.readAsText(file);

📚 Package import points

typescript
import {
  // Accessibility
  AriaAttribute,
  AriaDescriber,
  AriaRef,
  IAriaRef,
  IAriaValue,
  Platform,

  // Commands
  ICommand,

  // Exceptions
  FileReadException,
  MissingIdException,
  QuerySelectorElementException,

  // Extensions
  DOMTokenListExtensions,
  DocumentExtensions,
  FileListExtensions,
  HTMLElementExtensions,
  HtmlCollectionExtensions,
  NodeListExtensions,
  NumberExtensions,
  StringExtensions,

  // File I/O
  FileAs,
  FileHandler,
  MAIL_TO_URL_SCHEMA,
  TEL_URL_SCHEMA,

  // Input Management
  FocusTrapManager,
  FocusTrapManagerConfig,
  Key,
  KeyName,
  KeyGesture,
  ModifierKeys,

  // Measurement System
  CornerRadius,
  CornerRadiusLike,
  isCornerRadiusLike,
  cssUnitConvert,
  ICornerRadius,
  IPoint,
  IRect,
  ISize,
  IThickness,
  Length,
  Point,
  PointLike,
  isPointLike,
  Rect,
  RectLike,
  isRectLike,
  Size,
  SizeLike,
  isSizeLike,
  Thickness,
  ThicknessLike,
  isThicknessLike,
  ANGLE_UNIT,
  AngleUnit,
  FREQUENCY_UNIT,
  FrequencyUnit,
  LENGTH_UNIT,
  LengthUnit,
  PERCENTAGE_UNIT,
  PercentageUnit,
  RESOLUTION_UNIT,
  ResolutionUnit,
  TIME_UNIT,
  TimeUnit,
  UNIT,
  Unit,

  // Media & Animation
  IRAFInit,
  RAF,
  AudioClient,
  IAudioClientOptions,
  Dimension,
  DensityManager,
  DisplayDensity,
  AspectRatio,
  ImageLoader,
  ImageLoaderState,

  // Emojis
  Emoji,
  EmojiGroup,
  EmojiService,
  IEmojiService,

  // Theming System
  IOperatingSystemThemeDetector,
  IThemeManager,
  OperatingSystemTheme,
  OperatingSystemThemeDetector,
  Palette,
  IPalette,
  IPaletteEntry,
  MaterialAccentPalette,
  MaterialSchemePalette,
  SkinInfo,
  AccentSkinInfo,
  ISkinInfo,
  SchemeSkinInfo,
  SkinType,
  ThemeManager,
  ThemeManagerLocator,
  Theme,
  EmptyTheme,
  MaterialTheme,

  // Navigation
  ILinkTargetProvider,
  LinkTarget,
  LinkTargetProvider,

  // Reactive Commands
  IReactiveCommand,

  // Common Interfaces
  IResult,
} from '@breadstone/ziegel-presentation';

📚 API Documentation

  • @breadstone/ziegel-core: Foundation utilities and type definitions
  • @breadstone/ziegel-rx: Reactive programming patterns

License

MIT

Issues

Please report bugs and feature requests in the Issue Tracker


Part of the ziegel Enterprise TypeScript Framework

Released under the MIT License.