feat(a11y): add accessibility settings and theme improvements

Add comprehensive accessibility support across shared packages:
- A11y store with contrast, colorblind mode, and reduce motion settings
- A11yQuickToggles and A11ySettings UI components
- PillNavigation and PillDropdown components in shared-ui
- Calendar app updates to integrate new theme/a11y features

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Till-JS 2025-12-02 22:56:09 +01:00
parent 6cc9f70a4a
commit 02c82c7547
33 changed files with 1474 additions and 143 deletions

View file

@ -9,6 +9,12 @@ export type {
AppThemeConfig,
ThemeStore,
HSLValue,
// A11y Types
ContrastLevel,
ColorblindMode,
A11ySettings,
A11yStore,
A11yStoreConfig,
} from './types';
// Constants
@ -21,9 +27,23 @@ export {
STORAGE_KEY_SUFFIX,
} from './constants';
// A11y Constants
export {
A11Y_STORAGE_KEY_SUFFIX,
DEFAULT_A11Y_SETTINGS,
COLORBLIND_OPTIONS,
CONTRAST_OPTIONS,
HIGH_CONTRAST_CONFIG,
COLORBLIND_TRANSFORMS,
MOTION_DEFAULTS,
} from './a11y-constants';
// Store
export { createThemeStore, APP_THEME_CONFIGS } from './store.svelte';
// A11y Store
export { createA11yStore } from './a11y-store.svelte';
// Utils
export {
isBrowser,
@ -41,3 +61,16 @@ export {
getContrastColor,
generateThemeCSS,
} from './utils';
// A11y Utils
export {
getSystemReducedMotion,
createReducedMotionListener,
applyMotionSettings,
applyHighContrast,
applyColorblindTransform,
applyA11yTransformations,
applyA11yAttributes,
loadA11yFromStorage,
saveA11yToStorage,
} from './a11y-utils';