Packages
phoenix_duskmoon
9.3.0
9.9.2
9.9.1
9.9.0
9.8.0
9.7.1
9.7.0
9.6.4
9.6.3
9.6.2
9.6.1
9.6.0
9.5.4
9.5.3
9.5.2
9.5.1
9.5.0
9.4.3
9.4.2
9.4.1
9.4.0
9.3.0
9.2.0
9.1.4
9.1.3
9.1.1
9.1.1-rc.1
retired
9.0.1
9.0.0-rc.3
9.0.0-rc.2
9.0.0-rc.1
8.0.0
7.2.1
7.2.0
7.1.3
7.1.2
7.1.1
6.3.2
6.3.1
6.3.0
6.2.0
6.1.3
6.1.2
6.1.1
6.1.0
6.0.10
6.0.9
6.0.8
6.0.7
6.0.6
6.0.5
6.0.4
6.0.3
6.0.2
6.0.1
6.0.0
5.2.0-beta.5
5.2.0-beta.4
5.2.0-beta.3
5.2.0-beta.2
5.2.0-beta.1
5.1.0
5.0.6
5.0.5
5.0.4
5.0.3
5.0.2
5.0.1
5.0.0
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.1
4.6.0
4.5.2
4.5.1
4.5.0
4.4.4
4.4.3
4.4.2
4.4.1
4.4.0
4.3.2
4.3.1
4.3.0
4.2.0
4.1.1
4.1.0
4.0.0
Duskmoon UI component library for Phoenix LiveView
Current section
Files
Jump to
Current section
Files
assets/js/hooks/index.js
/**
* Phoenix Duskmoon UI v9 Hooks
*
* Import and export all LiveView hooks required by Phoenix Duskmoon UI components.
*
* ## Usage in your Phoenix app:
*
* ```javascript
* import {LiveSocket} from "phoenix_live_view"
* import * as DuskmoonHooks from "phoenix_duskmoon/hooks"
*
* let liveSocket = new LiveSocket("/live", Socket, {
* params: {_csrf_token: csrfToken},
* hooks: DuskmoonHooks
* })
* ```
*
* ## Available Hooks:
*
* - WebComponentHook: Universal LiveView ↔ Custom Element bridge
* - FormElementHook: Specialized hook for form custom elements
* - ThemeSwitcher: Theme toggle with localStorage persistence
* - Spotlight: Keyboard shortcut (Cmd/Ctrl+K) for spotlight search
* - PageHeader: Intersection observer for scroll-based effects
*/
// Core hooks for custom element integration
export { WebComponentHook, FormElementHook } from '../phoenix_duskmoon.js';
// Component-specific hooks
export { ThemeSwitcher } from './theme_switcher.js';
export { Spotlight } from './spotlight.js';
export { PageHeader } from './page_header.js';