# Library Reference Guide

> **Last Updated:** 2025-11-28
> **Angular Version:** 20.3.6
> **Nx Version:** 21.3.2
> **Total Libraries:** 74

All 74 libraries in the monorepo have comprehensive README.md documentation located at `libs/[domain]/[layer]/[feature]/README.md`.

**IMPORTANT: Always use the `docs-researcher` subagent** to retrieve and analyze library documentation. This keeps the main context clean and prevents pollution.

---

## Availability Domain (1 library)

### `@isa/availability/data-access`
A comprehensive product availability service for Angular applications supporting multiple order types and delivery methods across retail operations.

**Location:** `libs/availability/data-access/`

---

## Catalogue Domain (1 library)

### `@isa/catalogue/data-access`
A comprehensive product catalogue search service for Angular applications, providing catalog item search and loyalty program integration.

**Location:** `libs/catalogue/data-access/`

---

## Checkout Domain (7 libraries)

### `@isa/checkout/data-access`
A comprehensive checkout and shopping cart management library for Angular applications supporting multiple order types, reward redemption, and complex multi-step checkout workflows across retail and e-commerce operations.

**Location:** `libs/checkout/data-access/`

### `@isa/checkout/feature/reward-order-confirmation`
A feature library providing a comprehensive order confirmation page for reward orders with support for printing, address display, and loyalty reward collection.

**Location:** `libs/checkout/feature/reward-order-confirmation/`

### `@isa/checkout/feature/reward-shopping-cart`
A comprehensive reward shopping cart feature for Angular applications supporting loyalty points redemption workflow across retail operations.

**Location:** `libs/checkout/feature/reward-shopping-cart/`

### `@isa/checkout/feature/select-branch-dropdown`
Branch selection dropdown components for the checkout domain, enabling users to select a branch for their checkout session.

**Location:** `libs/checkout/feature/select-branch-dropdown/`

### `@isa/checkout/shared/product-info`
A comprehensive collection of presentation components for displaying product information, destination details, and stock availability in checkout and rewards workflows.

**Location:** `libs/checkout/shared/product-info/`

### `@isa/checkout/feature/reward-catalog`
A comprehensive loyalty rewards catalog feature for Angular applications supporting reward item browsing, selection, and checkout for customers with bonus cards.

**Location:** `libs/checkout/feature/reward-catalog/`

### `@isa/checkout/shared/reward-selection-dialog`
**Location:** `libs/checkout/shared/reward-selection-dialog/`

---

## Common Libraries (3 libraries)

### `@isa/common/data-access`
A foundational data access library providing core utilities, error handling, RxJS operators, response models, and advanced batching infrastructure for Angular applications.

**Location:** `libs/common/data-access/`

### `@isa/common/decorators`
A comprehensive collection of TypeScript decorators for enhancing method behavior in Angular applications. This library provides decorators for validation, caching, debouncing, rate limiting, and more.

**Location:** `libs/common/decorators/`

### `@isa/common/print`
A comprehensive print management library for Angular applications providing printer discovery, selection, and unified print operations across label and office printers.

**Location:** `libs/common/print/`

---

## Core Libraries (6 libraries)

### `@isa/core/auth`
Type-safe role-based authorization utilities with Angular signals integration for the ISA Frontend application.

**Location:** `libs/core/auth/`

### `@isa/core/config`
A lightweight, type-safe configuration management system for Angular applications with runtime validation and nested object access.

**Location:** `libs/core/config/`

### `@isa/core/logging`
A structured, high-performance logging library for Angular applications with hierarchical context support and flexible sink architecture.

**Location:** `libs/core/logging/`

### `@isa/core/navigation`
A reusable Angular library providing **context preservation** for multi-step navigation flows with automatic tab-scoped storage.

**Location:** `libs/core/navigation/`

### `@isa/core/storage`
A powerful, type-safe storage library for Angular applications built on top of NgRx Signals. This library provides seamless integration between NgRx Signal Stores and various storage backends including localStorage, sessionStorage, IndexedDB, and server-side user state.

**Location:** `libs/core/storage/`

### `@isa/core/tabs`
A sophisticated tab management system for Angular applications providing browser-like navigation with intelligent history management, persistence, and configurable pruning strategies.

**Location:** `libs/core/tabs/`

---

## CRM Domain (5 libraries)

### `@isa/crm/data-access`
**Location:** `libs/crm/data-access/`

### `@isa/crm/feature/customer-bon-redemption`
A feature library providing customer loyalty receipt (Bon) redemption functionality with validation and point allocation capabilities.

**Location:** `libs/crm/feature/customer-bon-redemption/`

### `@isa/crm/feature/customer-booking`
A standalone Angular component that enables customer loyalty card point booking and reversal with configurable booking reasons.

**Location:** `libs/crm/feature/customer-booking/`

### `@isa/crm/feature/customer-card-transactions`
A standalone Angular component that displays customer loyalty card transaction history with automatic data loading and refresh capabilities.

**Location:** `libs/crm/feature/customer-card-transactions/`

### `@isa/crm/feature/customer-loyalty-cards`
Customer loyalty cards feature module for displaying and managing customer bonus cards (Kundenkarten) with points tracking and card management actions.

**Location:** `libs/crm/feature/customer-loyalty-cards/`

---

## Icons (1 library)

### `@isa/icons`
A centralized icon library for the ISA-Frontend monorepo providing inline SVG icons as string constants.

**Location:** `libs/icons/`

---

## OMS Domain (9 libraries)

### `@isa/oms/data-access`
A comprehensive Order Management System (OMS) data access library for Angular applications providing return processing, receipt management, order creation, and print capabilities.

**Location:** `libs/oms/data-access/`

### `@isa/oms/feature/return-details`
A comprehensive Angular feature library for displaying receipt details and managing product returns in the Order Management System (OMS). Provides an interactive interface for viewing receipt information, selecting items for return, configuring return quantities and product categories, and initiating return processes.

**Location:** `libs/oms/feature/return-details/`

### `@isa/oms/feature/return-process`
A comprehensive Angular feature library for managing product returns with dynamic question flows, validation, and backend integration. Part of the Order Management System (OMS) domain.

**Location:** `libs/oms/feature/return-process/`

### `@isa/oms/feature/return-search`
A comprehensive return search feature library for Angular applications, providing intelligent receipt search, filtering, and navigation capabilities for the Order Management System (OMS).

**Location:** `libs/oms/feature/return-search/`

### `@isa/oms/feature/return-summary`
A comprehensive Angular feature library for displaying and confirming return process summaries in the Order Management System (OMS). This library provides a review interface where users can inspect all items being returned, verify return details, and complete the return process with receipt printing.

**Location:** `libs/oms/feature/return-summary/`

### `@isa/oms/shared/product-info`
A reusable Angular component library for displaying product information in a standardized, visually consistent format across Order Management System (OMS) workflows.

**Location:** `libs/oms/shared/product-info/`

### `@isa/oms/utils/translation`
A lightweight translation utility library for OMS receipt types providing human-readable German translations through both service-based and pipe-based interfaces.

**Location:** `libs/oms/utils/translation/`

### `@isa/oms/feature/return-review`
A comprehensive Angular feature library for reviewing completed return processes in the Order Management System (OMS). Provides a confirmation interface for successful returns with task review capabilities and receipt printing functionality.

**Location:** `libs/oms/feature/return-review/`

### `@isa/oms/shared/task-list`
A specialized Angular component library for displaying and managing return receipt item tasks in the OMS (Order Management System) domain.

**Location:** `libs/oms/shared/task-list/`

---

## Remission Domain (8 libraries)

### `@isa/remission/data-access`
A comprehensive remission (returns) management system for Angular applications supporting mandatory returns (Pflichtremission) and department overflow returns (Abteilungsremission) in retail inventory operations.

**Location:** `libs/remission/data-access/`

### `@isa/remission/feature/remission-list`
Feature module providing the main remission list view with filtering, searching, item selection, and remitting capabilities for department ("Abteilung") and mandatory ("Pflicht") return workflows.

**Location:** `libs/remission/feature/remission-list/`

### `@isa/remission/feature/remission-return-receipt-details`
Feature component for displaying detailed view of a return receipt ("Warenbegleitschein") with items, actions, and completion workflows.

**Location:** `libs/remission/feature/remission-return-receipt-details/`

### `@isa/remission/feature/remission-return-receipt-list`
Feature component providing a comprehensive list view of all return receipts with filtering, sorting, and action capabilities.

**Location:** `libs/remission/feature/remission-return-receipt-list/`

### `@isa/remission/shared/product`
A collection of Angular standalone components for displaying product information in remission workflows, including product details, stock information, and shelf metadata.

**Location:** `libs/remission/shared/product/`

### `@isa/remission/shared/remission-start-dialog`
Angular dialog component for initiating remission processes with two-step workflow: creating return receipts and assigning package numbers.

**Location:** `libs/remission/shared/remission-start-dialog/`

### `@isa/remission/shared/return-receipt-actions`
Angular standalone components for managing return receipt actions including deletion, continuation, and completion workflows in the remission process.

**Location:** `libs/remission/shared/return-receipt-actions/`

### `@isa/remission/shared/search-item-to-remit-dialog`
Angular dialog component for searching and adding items to remission lists that are not on the mandatory return list (Pflichtremission).

**Location:** `libs/remission/shared/search-item-to-remit-dialog/`

---

## Shared Component Libraries (9 libraries)

### `@isa/shared/address`
Comprehensive Angular components for displaying addresses in both multi-line and inline formats with automatic country name resolution and intelligent formatting.

**Location:** `libs/shared/address/`

### `@isa/shared/barcode`
Angular library for generating Code 128 barcodes using [JsBarcode](https://github.com/lindell/JsBarcode).

**Location:** `libs/shared/barcode/`

### `@isa/shared/delivery`
A reusable Angular component library for displaying order destination information with support for multiple delivery types (shipping, pickup, in-store, and digital downloads).

**Location:** `libs/shared/delivery/`

### `@isa/shared/filter`
A powerful and flexible filtering library for Angular applications that provides a complete solution for implementing filters, search functionality, and sorting capabilities.

**Location:** `libs/shared/filter/`

### `@isa/shared/product-format`
Angular components for displaying product format information with icons and formatted text, supporting various media types like hardcover, paperback, audio, and digital formats.

**Location:** `libs/shared/product-format/`

### `@isa/shared/product-image`
A lightweight Angular library providing a directive and service for displaying product images from a CDN with dynamic sizing and fallback support.

**Location:** `libs/shared/product-image/`

### `@isa/shared/product-router-link`
An Angular library providing a customizable directive for creating product navigation links based on EAN codes with flexible URL generation strategies.

**Location:** `libs/shared/product-router-link/`

### `@isa/shared/quantity-control`
An accessible, feature-rich Angular quantity selector component with dropdown presets and manual input mode.

**Location:** `libs/shared/quantity-control/`

### `@isa/shared/scanner`
Enterprise-grade barcode scanning library for ISA-Frontend using the Scandit SDK, providing mobile barcode scanning capabilities for iOS and Android platforms.

**Location:** `libs/shared/scanner/`

---

## UI Component Libraries (19 libraries)

### `@isa/ui/bullet-list`
A lightweight bullet list component system for Angular applications supporting customizable icons and hierarchical content presentation.

**Location:** `libs/ui/bullet-list/`

### `@isa/ui/buttons`
A comprehensive button component library for Angular applications providing five specialized button components with consistent styling, loading states, and accessibility features.

**Location:** `libs/ui/buttons/`

### `@isa/ui/carousel`
A horizontal scroll container component with left/right navigation arrows, responsive behavior, keyboard support, and auto-hide functionality.

**Location:** `libs/ui/carousel/`

### `@isa/ui/datepicker`
A comprehensive date range picker component library for Angular applications with calendar and month/year selection views, form integration, and robust validation.

**Location:** `libs/ui/datepicker/`

### `@isa/ui/dialog`
A comprehensive dialog system for Angular applications built on Angular CDK Dialog with preset components for common use cases.

**Location:** `libs/ui/dialog/`

### `@isa/ui/empty-state`
A standalone Angular component library providing consistent empty state displays for various scenarios (no results, no articles, all done, select action). Part of the ISA Design System.

**Location:** `libs/ui/empty-state/`

### `@isa/ui/expandable`
A set of Angular directives for creating expandable/collapsible content sections with proper accessibility support.

**Location:** `libs/ui/expandable/`

### `@isa/ui/input-controls`
A comprehensive collection of form input components and directives for Angular applications supporting reactive forms, template-driven forms, and accessibility features.

**Location:** `libs/ui/input-controls/`

### `@isa/ui/item-rows`
A collection of reusable row components for displaying structured data with consistent layouts across Angular applications.

**Location:** `libs/ui/item-rows/`

### `@isa/ui/label`
Label components for displaying tags, categories, and priority indicators.

**Location:** `libs/ui/label/`

### `@isa/ui/layout`
This library provides utilities and directives for responsive design and viewport behavior in Angular applications.

**Location:** `libs/ui/layout/`

### `@isa/ui/menu`
A lightweight Angular component library providing accessible menu components built on Angular CDK Menu. Part of the ISA Design System.

**Location:** `libs/ui/menu/`

### `@isa/ui/notice`
A notice component for displaying prominent notifications and alerts with configurable priority levels.

**Location:** `libs/ui/notice/`

### `@isa/ui/progress-bar`
A lightweight Angular progress bar component supporting both determinate and indeterminate modes.

**Location:** `libs/ui/progress-bar/`

### `@isa/ui/search-bar`
A feature-rich Angular search bar component with integrated clear functionality and customizable appearance modes.

**Location:** `libs/ui/search-bar/`

### `@isa/ui/skeleton-loader`
A lightweight Angular structural directive and component for displaying skeleton loading states during asynchronous operations.

**Location:** `libs/ui/skeleton-loader/`

### `@isa/ui/switch`
This library provides a toggle switch component with an icon for Angular applications.

**Location:** `libs/ui/switch/`

### `@isa/ui/toolbar`
A flexible toolbar container component for Angular applications with configurable sizing and content projection.

**Location:** `libs/ui/toolbar/`

### `@isa/ui/tooltip`
A flexible tooltip library for Angular applications, built with Angular CDK overlays.

**Location:** `libs/ui/tooltip/`

---

## Utility Libraries (5 libraries)

### `@isa/utils/ean-validation`
Lightweight Angular utility library for validating EAN (European Article Number) barcodes with reactive forms integration and standalone validation functions.

**Location:** `libs/utils/ean-validation/`

### `@isa/utils/format-name`
A utility library for consistently formatting person and organisation names across the ISA-Frontend application.

**Location:** `libs/utils/format-name/`

### `@isa/utils/positive-integer-input`
An Angular directive that ensures only positive integers can be entered into number input fields through keyboard blocking, paste sanitization, and input validation.

**Location:** `libs/utils/positive-integer-input/`

### `@isa/utils/scroll-position`
Utility library providing scroll position restoration and scroll-to-top functionality for Angular applications.

**Location:** `libs/utils/scroll-position/`

### `@isa/utils/z-safe-parse`
A lightweight Zod utility library for safe parsing with automatic fallback to original values on validation failures.

**Location:** `libs/utils/z-safe-parse/`

---

## How to Use This Guide

1. **Quick Lookup**: Use this guide to find the purpose of any library in the monorepo
2. **Detailed Documentation**: Always use the `docs-researcher` subagent to read the full README.md for implementation details
3. **Path Resolution**: Use the location information to navigate to the library source code
4. **Architecture Understanding**: Use `npx nx graph --filter=[library-name]` to visualize dependencies

---

## Maintenance Notes

This file should be updated when:
- New libraries are added to the monorepo
- Libraries are renamed or moved
- Library purposes significantly change
- Angular or Nx versions are upgraded

**Automation:** This file is auto-generated using `npm run docs:generate`. Run this command after adding or modifying libraries to keep the documentation up-to-date.