81 lines
2.3 KiB
TypeScript
81 lines
2.3 KiB
TypeScript
/**
|
|
* Reactive helper factories using Svelte 5 runes
|
|
*
|
|
* Provides composable state management patterns for common UI needs:
|
|
* - Filter management with multi-selection
|
|
* - Typography controls with bounds and stepping
|
|
* - Virtual scrolling for large lists
|
|
* - Debounced state for search inputs
|
|
* - Entity stores with O(1) lookups
|
|
* - Character-by-character font comparison
|
|
* - Persistent localStorage-backed state
|
|
* - Responsive breakpoint tracking
|
|
* - 3D perspective animations
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* import { createFilter, createVirtualizer, createTypographyControl } from '$shared/lib/helpers';
|
|
*
|
|
* const filter = createFilter({ properties: [...] });
|
|
* const virtualizer = createVirtualizer(() => ({ count: 1000, estimateSize: () => 50 }));
|
|
* const control = createTypographyControl({ value: 16, min: 12, max: 72, step: 1 });
|
|
* ```
|
|
*/
|
|
|
|
export {
|
|
createFilter,
|
|
type Filter,
|
|
type FilterModel,
|
|
type Property,
|
|
} from './createFilter/createFilter.svelte';
|
|
|
|
export {
|
|
type ControlDataModel,
|
|
type ControlModel,
|
|
createTypographyControl,
|
|
type TypographyControl,
|
|
} from './createTypographyControl/createTypographyControl.svelte';
|
|
|
|
export {
|
|
createVirtualizer,
|
|
type VirtualItem,
|
|
type Virtualizer,
|
|
type VirtualizerOptions,
|
|
} from './createVirtualizer/createVirtualizer.svelte';
|
|
|
|
export { createDebouncedState } from './createDebouncedState/createDebouncedState.svelte';
|
|
|
|
export {
|
|
createEntityStore,
|
|
type Entity,
|
|
type EntityStore,
|
|
} from './createEntityStore/createEntityStore.svelte';
|
|
|
|
export {
|
|
CharacterComparisonEngine,
|
|
type ComparisonLine,
|
|
type ComparisonResult,
|
|
} from './CharacterComparisonEngine/CharacterComparisonEngine.svelte';
|
|
|
|
export {
|
|
type LayoutLine as TextLayoutLine,
|
|
type LayoutResult as TextLayoutResult,
|
|
TextLayoutEngine,
|
|
} from './TextLayoutEngine/TextLayoutEngine.svelte';
|
|
|
|
export {
|
|
createPersistentStore,
|
|
type PersistentStore,
|
|
} from './createPersistentStore/createPersistentStore.svelte';
|
|
|
|
export {
|
|
createResponsiveManager,
|
|
type ResponsiveManager,
|
|
responsiveManager,
|
|
} from './createResponsiveManager/createResponsiveManager.svelte';
|
|
|
|
export {
|
|
createPerspectiveManager,
|
|
type PerspectiveManager,
|
|
} from './createPerspectiveManager/createPerspectiveManager.svelte';
|