phoenix_duskmoon 9.9.9 → 9.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -141,7 +141,7 @@ Components that require hooks:
141
141
  ## Available Components
142
142
 
143
143
  - **Action**: buttons, dropdowns, links, menus, toggles
144
- - **Data Display**: accordion, avatar, badge, card, chip, collapse, flash, git repository, list, markdown, markdown body, pagination, popover, progress, skeleton, stat, table, timeline, tooltip
144
+ - **Data Display**: accordion, avatar, badge, card, chip, collapse, datetime, flash, git repository, list, markdown, markdown body, pagination, popover, progress, skeleton, stat, table, timeline, tooltip
145
145
  - **Data Entry**: autocomplete, cascader, checkbox, compact input, file upload, form, input, multi-select, OTP input, PIN input, radio, rating, segment control, select, slider, switch, textarea, time input, tree select
146
146
  - **Feedback**: dialog, loading, snackbar, toast
147
147
  - **Navigation**: actionbar, appbar, bottom nav, breadcrumb, left menu, navbar, nested menu, page footer, page header, stepper, steps, tabs
@@ -0,0 +1,45 @@
1
+ export type HookEventPayload = unknown;
2
+
3
+ export type HookEventCallback = (reply: unknown, ref: number) => void;
4
+
5
+ /** The LiveView-owned context supplied as `this` to hook callbacks. */
6
+ export interface LiveViewHookContext<ElementType extends HTMLElement = HTMLElement> {
7
+ readonly el: ElementType;
8
+ handleEvent(
9
+ event: string,
10
+ callback: (payload: HookEventPayload) => void,
11
+ ): unknown;
12
+ pushEvent(
13
+ event: string,
14
+ payload?: HookEventPayload,
15
+ callback?: HookEventCallback,
16
+ ): unknown;
17
+ pushEventTo(
18
+ target: string | number | HTMLElement,
19
+ event: string,
20
+ payload?: HookEventPayload,
21
+ callback?: HookEventCallback,
22
+ ): unknown;
23
+ }
24
+
25
+ /** A Phoenix LiveView hook definition object. */
26
+ export interface LiveViewHook<ElementType extends HTMLElement = HTMLElement> {
27
+ mounted?(this: LiveViewHookContext<ElementType>): void;
28
+ updated?(this: LiveViewHookContext<ElementType>): void;
29
+ destroyed?(this: LiveViewHookContext<ElementType>): void;
30
+ }
31
+
32
+ /** Universal LiveView to custom-element event bridge. */
33
+ export declare const WebComponentHook: LiveViewHook;
34
+
35
+ /** WebComponentHook with Phoenix form-feedback integration. */
36
+ export declare const FormElementHook: LiveViewHook;
37
+
38
+ /** Theme toggle with localStorage persistence. */
39
+ export declare const ThemeSwitcher: LiveViewHook<HTMLDetailsElement>;
40
+
41
+ /** Cmd/Ctrl+K spotlight dialog keyboard handler. */
42
+ export declare const Spotlight: LiveViewHook<HTMLDialogElement>;
43
+
44
+ /** Page-header visibility observer. */
45
+ export declare const PageHeader: LiveViewHook;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phoenix_duskmoon",
3
- "version": "9.9.9",
3
+ "version": "9.10.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./priv/static/assets/js/phoenix_duskmoon.js",
@@ -35,10 +35,10 @@
35
35
  "registry": "https://registry.npmjs.org/"
36
36
  },
37
37
  "dependencies": {
38
- "@duskmoon-dev/art-elements": "1.5.6",
39
- "@duskmoon-dev/core": "1.17.0",
40
- "@duskmoon-dev/css-art": "1.17.0",
41
- "@duskmoon-dev/elements": "1.5.6"
38
+ "@duskmoon-dev/art-elements": "1.6.0",
39
+ "@duskmoon-dev/core": "1.17.2",
40
+ "@duskmoon-dev/css-art": "1.17.2",
41
+ "@duskmoon-dev/elements": "1.6.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@mdi/svg": "7.4.47",