feat(shared-ui): add reusable HelpModal system with keyboard shortcuts and syntax panels

- Create new help module with HelpModal, KeyboardShortcutsPanel, and SyntaxHelpPanel components
- Add common shortcuts and syntax constants for reusability
- Refactor InputBarHelpModal to use new HelpModal component
- Fix ContextMenu event handling with stopPropagation and pointer-events
- Fix Modal z-index for proper stacking context
- Add CalendarHeaderContextMenu import to WeekView

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Till-JS 2025-12-14 23:43:19 +01:00
parent 5ac8de722d
commit c712cc7995
12 changed files with 1238 additions and 195 deletions

View file

@ -89,9 +89,19 @@
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div
class="context-menu-backdrop"
onclick={onClose}
onpointerdown={(e) => {
e.preventDefault();
e.stopPropagation();
onClose();
}}
onclick={(e) => {
e.preventDefault();
e.stopPropagation();
onClose();
}}
oncontextmenu={(e) => {
e.preventDefault();
e.stopPropagation();
onClose();
}}
></div>
@ -149,6 +159,8 @@
z-index: 9998;
/* Transparent backdrop - just blocks clicks */
background: transparent;
/* Ensure backdrop can receive events even when parent has pointer-events: none */
pointer-events: auto;
}
.context-menu {
@ -160,6 +172,8 @@
background: var(--color-surface-elevated-3);
border: 1px solid hsl(var(--color-border));
border-radius: var(--radius-lg);
/* Ensure menu can receive events even when parent has pointer-events: none */
pointer-events: auto;
}
.menu-item {