@visulima/dev-toolbar 1.0.0-alpha.3 → 1.0.0-alpha.5
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/CHANGELOG.md +60 -0
- package/LICENSE.md +109 -2
- package/dist/apps/a11y/a11y-app.d.ts +0 -1
- package/dist/apps/a11y/a11y-store.d.ts +12 -16
- package/dist/apps/a11y/a11y-tooltip.d.ts +0 -1
- package/dist/apps/a11y/index.js +3 -3
- package/dist/apps/assets/assets-app.d.ts +4 -0
- package/dist/apps/assets/index.d.ts +3 -0
- package/dist/apps/assets/index.js +16 -0
- package/dist/apps/inspector/index.js +2 -2
- package/dist/apps/inspector/inspector-app.d.ts +4 -2
- package/dist/apps/module-graph/index.js +2 -2
- package/dist/apps/module-graph/module-graph-app.d.ts +0 -1
- package/dist/apps/performance/index.js +2 -2
- package/dist/apps/performance/performance-app.d.ts +0 -1
- package/dist/apps/performance/performance-tooltip.d.ts +0 -1
- package/dist/apps/seo/index.js +2 -2
- package/dist/apps/seo/seo-app.d.ts +0 -1
- package/dist/apps/settings/index.js +2 -2
- package/dist/apps/tailwind/index.js +6 -6
- package/dist/apps/tailwind/tailwind-app.d.ts +0 -1
- package/dist/apps/timeline/index.js +2 -2
- package/dist/apps/timeline/timeline-app.d.ts +0 -1
- package/dist/apps/vite-config/index.js +2 -2
- package/dist/apps/vite-config/vite-config-app.d.ts +0 -1
- package/dist/client/overlay.js +1 -1
- package/dist/hooks/create-hook.d.ts +7 -5
- package/dist/hooks/events.d.ts +4 -2
- package/dist/hooks/global-hook.d.ts +6 -6
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/packem_chunks/inject-source.js +9 -1
- package/dist/packem_shared/Alert-D2CvX4fw.js +1 -0
- package/dist/packem_shared/Badge-BEgU04nl.js +1 -0
- package/dist/packem_shared/Button-Bkx66Co7.js +1 -0
- package/dist/packem_shared/Card-CJa4vHVc.js +1 -0
- package/dist/packem_shared/Icon-B6UHkC0o.js +1 -0
- package/dist/packem_shared/Input-Cs6aduTi.js +1 -0
- package/dist/packem_shared/Label-CgCFOMDc.js +1 -0
- package/dist/packem_shared/Popover-DzH5lAc9.js +1 -0
- package/dist/packem_shared/Progress-DN6zn-0l.js +1 -0
- package/dist/packem_shared/Separator-D38mKeZv.js +1 -0
- package/dist/packem_shared/Skeleton-Dv-tcA1P.js +1 -0
- package/dist/packem_shared/Switch-C3NTpeoR.js +1 -0
- package/dist/packem_shared/Tabs-SuFWbB6d.js +1 -0
- package/dist/packem_shared/Textarea-Yfg3dLZi.js +1 -0
- package/dist/packem_shared/Tooltip-BHmzUaxu.js +1 -0
- package/dist/packem_shared/clsx-wGlvpUfw.js +1 -0
- package/dist/packem_shared/createClientRPCContext-DgRxrllw.js +1 -0
- package/dist/packem_shared/createDevToolbarHook-4bZZiHPI.js +1 -0
- package/dist/packem_shared/createServerRPCContext-CJXa8ezf.js +1 -0
- package/dist/packem_shared/getTimelineStore-B1cfjWV8.js +1 -0
- package/dist/packem_shared/{setupGlobalHook-CFuxsCyl.js → setupGlobalHook-CCf9Logv.js} +1 -1
- package/dist/packem_shared/sharedToolbarStylesheet-JFwZE8kq.js +2 -0
- package/dist/packem_shared/store-DaUtLjf3.js +1 -0
- package/dist/packem_shared/use-frame-state-CxrlPUM5.js +1 -0
- package/dist/packem_shared/use-theme-zpm4zmqP.js +1 -0
- package/dist/performance/monitor.d.ts +27 -26
- package/dist/rpc/client.d.ts +6 -4
- package/dist/rpc/functions/assets.d.ts +16 -0
- package/dist/rpc/functions/open-in-editor.d.ts +7 -5
- package/dist/rpc/functions/tailwind-config.d.ts +7 -4
- package/dist/rpc/functions/vite-config.d.ts +80 -4
- package/dist/rpc/server.d.ts +9 -6
- package/dist/timeline/capture.d.ts +3 -1
- package/dist/timeline/index.d.ts +2 -1
- package/dist/timeline/store.d.ts +12 -22
- package/dist/toolbar/app-manager.d.ts +45 -43
- package/dist/toolbar/components/app-button.d.ts +0 -1
- package/dist/toolbar/components/app-canvas.d.ts +1 -1
- package/dist/toolbar/components/first-visit-hint.d.ts +0 -1
- package/dist/toolbar/components/toolbar-bar.d.ts +2 -7
- package/dist/toolbar/components/toolbar-container.d.ts +2 -8
- package/dist/toolbar/components/vite-overlay-button.d.ts +2 -2
- package/dist/toolbar/context/toolbar-context.d.ts +20 -19
- package/dist/toolbar/global-api.d.ts +3 -3
- package/dist/toolbar/helpers.d.ts +5 -3
- package/dist/toolbar/hooks/use-apps.d.ts +5 -3
- package/dist/toolbar/hooks/use-frame-state.d.ts +26 -10
- package/dist/toolbar/hooks/use-panel-visible.d.ts +9 -7
- package/dist/toolbar/hooks/use-position.d.ts +7 -5
- package/dist/toolbar/hooks/use-theme.d.ts +6 -4
- package/dist/toolbar/hooks/use-toolbar.d.ts +4 -2
- package/dist/toolbar/index.d.ts +8 -15
- package/dist/toolbar/index.js +3 -3
- package/dist/toolbar/settings.d.ts +7 -7
- package/dist/toolbar/stylesheet.d.ts +3 -1
- package/dist/toolbar/utils/index.d.ts +3 -3
- package/dist/types/global-api.d.ts +22 -33
- package/dist/types/hooks.d.ts +32 -34
- package/dist/types/messaging.d.ts +2 -2
- package/dist/types/rpc.d.ts +11 -7
- package/dist/types/timeline.d.ts +3 -3
- package/dist/types/toolbar.d.ts +1 -1
- package/dist/ui/components/alert.d.ts +0 -1
- package/dist/ui/components/badge.d.ts +0 -1
- package/dist/ui/components/button.d.ts +0 -1
- package/dist/ui/components/card.d.ts +0 -1
- package/dist/ui/components/icon.d.ts +3 -5
- package/dist/ui/components/input.d.ts +0 -1
- package/dist/ui/components/label.d.ts +0 -1
- package/dist/ui/components/popover.d.ts +1 -1
- package/dist/ui/components/progress.d.ts +0 -1
- package/dist/ui/components/separator.d.ts +0 -1
- package/dist/ui/components/skeleton.d.ts +0 -1
- package/dist/ui/components/switch.d.ts +0 -1
- package/dist/ui/components/tabs.d.ts +1 -2
- package/dist/ui/components/textarea.d.ts +0 -1
- package/dist/ui/components/tooltip.d.ts +1 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.js +1 -1
- package/dist/vite/inject-source.d.ts +0 -1
- package/dist/vite/matcher.d.ts +2 -1
- package/dist/vite-plugin.d.ts +10 -6
- package/dist/vite-plugin.js +2 -2
- package/package.json +14 -12
- package/dist/apps/more/index.d.ts +0 -3
- package/dist/apps/more/index.js +0 -19
- package/dist/apps/more/more-app.d.ts +0 -5
- package/dist/packem_shared/Alert-H-x1JuZ0.js +0 -1
- package/dist/packem_shared/Badge-C30mDKKG.js +0 -1
- package/dist/packem_shared/Button-DODNCTPZ.js +0 -1
- package/dist/packem_shared/Card-DdI7Wn3t.js +0 -1
- package/dist/packem_shared/Icon-DWFLZkwW.js +0 -1
- package/dist/packem_shared/Input-GfbOwAkK.js +0 -1
- package/dist/packem_shared/Label-Bzi47aUf.js +0 -1
- package/dist/packem_shared/Popover-o3Vkvndp.js +0 -1
- package/dist/packem_shared/Progress-vGfFpxRn.js +0 -1
- package/dist/packem_shared/Separator-DQGeJPQg.js +0 -1
- package/dist/packem_shared/Skeleton-BYXau6jM.js +0 -1
- package/dist/packem_shared/Switch-BeC78S_T.js +0 -1
- package/dist/packem_shared/Tabs-BBc4S-2T.js +0 -1
- package/dist/packem_shared/Textarea-DvbSX13V.js +0 -1
- package/dist/packem_shared/TimelineStore-BgBrirKd.js +0 -1
- package/dist/packem_shared/Tooltip-BwK-2I9P.js +0 -1
- package/dist/packem_shared/cn-DWLJYh3h.js +0 -1
- package/dist/packem_shared/createClientRPCContext-DzKQpKTk.js +0 -1
- package/dist/packem_shared/createDevToolbarHook-DGNxqk8N.js +0 -1
- package/dist/packem_shared/createServerRPCContext-CRd6VAWp.js +0 -1
- package/dist/packem_shared/sharedToolbarStylesheet-DHHoFz2-.js +0 -2
- package/dist/packem_shared/store-BxE0w51s.js +0 -1
- package/dist/packem_shared/use-theme-CX1gG6Sv.js +0 -1
- package/dist/utils/cn.d.ts +0 -8
package/dist/types/hooks.d.ts
CHANGED
|
@@ -3,75 +3,72 @@ import type { TimelineEvent } from "./timeline.d.ts";
|
|
|
3
3
|
/**
|
|
4
4
|
* Hook event definitions
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Extension point for custom events
|
|
9
|
-
*/
|
|
6
|
+
interface HookEvents {
|
|
10
7
|
[key: string]: (...args: any[]) => void;
|
|
11
8
|
/**
|
|
12
|
-
* App error occurred
|
|
13
|
-
* @param error Error object
|
|
14
|
-
* @param appId Optional app ID where error occurred
|
|
9
|
+
* App error occurred.
|
|
10
|
+
* @param error Error object.
|
|
11
|
+
* @param appId Optional app ID where error occurred.
|
|
15
12
|
*/
|
|
16
13
|
"app:error": (error: Error, appId?: string) => void;
|
|
17
14
|
/**
|
|
18
|
-
* DevTools closed
|
|
15
|
+
* DevTools closed.
|
|
19
16
|
*/
|
|
20
17
|
"devtools:close": () => void;
|
|
21
18
|
/**
|
|
22
|
-
* DevTools initialized
|
|
19
|
+
* DevTools initialized.
|
|
23
20
|
*/
|
|
24
21
|
"devtools:init": () => void;
|
|
25
22
|
/**
|
|
26
|
-
* DevTools opened
|
|
27
|
-
* @param appId ID of the opened app
|
|
23
|
+
* DevTools opened.
|
|
24
|
+
* @param appId ID of the opened app.
|
|
28
25
|
*/
|
|
29
26
|
"devtools:open": (appId: string) => void;
|
|
30
27
|
/**
|
|
31
|
-
* Timeline event added
|
|
32
|
-
* @param event Timeline event
|
|
28
|
+
* Timeline event added.
|
|
29
|
+
* @param event Timeline event.
|
|
33
30
|
*/
|
|
34
31
|
"timeline:event": (event: TimelineEvent) => void;
|
|
35
32
|
}
|
|
36
33
|
/**
|
|
37
|
-
* Dev toolbar hook interface
|
|
34
|
+
* Dev toolbar hook interface.
|
|
38
35
|
* Exposed as window.__DEV_TOOLBAR_HOOK__
|
|
39
36
|
*/
|
|
40
|
-
|
|
37
|
+
interface DevToolbarHook {
|
|
41
38
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @param groupId Timeline group ID
|
|
44
|
-
* @param event Timeline event
|
|
39
|
+
* Adds a timeline event.
|
|
40
|
+
* @param groupId Timeline group ID.
|
|
41
|
+
* @param event Timeline event.
|
|
45
42
|
*/
|
|
46
43
|
addTimelineEvent: (groupId: string, event: TimelineEvent) => void;
|
|
47
44
|
/**
|
|
48
|
-
*
|
|
49
|
-
* @param event Event name
|
|
50
|
-
* @param args Event arguments
|
|
45
|
+
* Emits an event.
|
|
46
|
+
* @param event Event name.
|
|
47
|
+
* @param args Event arguments.
|
|
51
48
|
*/
|
|
52
49
|
emit: <T extends keyof HookEvents>(event: T, ...args: Parameters<HookEvents[T]>) => void;
|
|
53
50
|
/**
|
|
54
|
-
*
|
|
55
|
-
* @param event Event name
|
|
56
|
-
* @param handler Optional specific handler to remove
|
|
51
|
+
* Unsubscribes from an event.
|
|
52
|
+
* @param event Event name.
|
|
53
|
+
* @param handler Optional specific handler to remove.
|
|
57
54
|
*/
|
|
58
55
|
off: <T extends keyof HookEvents>(event: T, handler?: HookEvents[T]) => void;
|
|
59
56
|
/**
|
|
60
|
-
*
|
|
61
|
-
* @param event Event name
|
|
62
|
-
* @param handler Event handler
|
|
63
|
-
* @returns Unsubscribe function
|
|
57
|
+
* Subscribes to an event.
|
|
58
|
+
* @param event Event name.
|
|
59
|
+
* @param handler Event handler.
|
|
60
|
+
* @returns Unsubscribe function.
|
|
64
61
|
*/
|
|
65
62
|
on: <T extends keyof HookEvents>(event: T, handler: HookEvents[T]) => () => void;
|
|
66
63
|
/**
|
|
67
|
-
*
|
|
68
|
-
* @param event Event name
|
|
69
|
-
* @param handler Event handler
|
|
64
|
+
* Subscribes to an event once.
|
|
65
|
+
* @param event Event name.
|
|
66
|
+
* @param handler Event handler.
|
|
70
67
|
*/
|
|
71
68
|
once: <T extends keyof HookEvents>(event: T, handler: HookEvents[T]) => void;
|
|
72
69
|
/**
|
|
73
|
-
*
|
|
74
|
-
* @param app App definition
|
|
70
|
+
* Registers a custom app.
|
|
71
|
+
* @param app App definition.
|
|
75
72
|
*/
|
|
76
73
|
registerApp: (app: DevToolbarApp) => void;
|
|
77
74
|
}
|
|
@@ -81,8 +78,9 @@ export interface DevToolbarHook {
|
|
|
81
78
|
declare global {
|
|
82
79
|
interface Window {
|
|
83
80
|
/**
|
|
84
|
-
* Dev toolbar hook for library integrations
|
|
81
|
+
* Dev toolbar hook for library integrations.
|
|
85
82
|
*/
|
|
86
83
|
__DEV_TOOLBAR_HOOK__?: DevToolbarHook;
|
|
87
84
|
}
|
|
88
85
|
}
|
|
86
|
+
export type { DevToolbarHook, HookEvents };
|
|
@@ -33,11 +33,11 @@ export interface MessageChannel<TEvents extends Record<string, (...args: any[])
|
|
|
33
33
|
*/
|
|
34
34
|
export type ChannelFactory<TEvents extends Record<string, (...args: any[]) => void>> = () => MessageChannel<TEvents>;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Factory result providing a method to instantiate named message channels.
|
|
37
37
|
*/
|
|
38
38
|
export interface MessageChannelContext<TEvents extends Record<string, (...args: any[]) => void>> {
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Creates and returns a new channel instance.
|
|
41
41
|
*/
|
|
42
42
|
createChannel: () => MessageChannel<TEvents>;
|
|
43
43
|
}
|
package/dist/types/rpc.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ViteDevServer } from "vite";
|
|
2
|
+
import type { StaticAsset } from "../rpc/functions/assets.d.ts";
|
|
2
3
|
import type { SerializableModuleNode } from "../rpc/functions/module-graph.d.ts";
|
|
3
4
|
import type { TailwindConfigResult } from "../rpc/functions/tailwind-config.d.ts";
|
|
4
5
|
/**
|
|
@@ -14,6 +15,10 @@ export interface ServerFunctions {
|
|
|
14
15
|
* Get module dependency graph
|
|
15
16
|
*/
|
|
16
17
|
getModuleGraph: () => Promise<SerializableModuleNode[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Get all static assets from the public directory
|
|
20
|
+
*/
|
|
21
|
+
getStaticAssets: () => Promise<StaticAsset[]>;
|
|
17
22
|
/**
|
|
18
23
|
* Get full Tailwind CSS theme (default + user overrides)
|
|
19
24
|
*/
|
|
@@ -27,8 +32,9 @@ export interface ServerFunctions {
|
|
|
27
32
|
* @param file File path
|
|
28
33
|
* @param line Line number (1-based)
|
|
29
34
|
* @param column Column number (1-based)
|
|
35
|
+
* @param editor Editor override (e.g. "code", "webstorm") — empty string means auto-detect
|
|
30
36
|
*/
|
|
31
|
-
openInEditor: (file: string, line?: number, column?: number) => Promise<void>;
|
|
37
|
+
openInEditor: (file: string, line?: number, column?: number, editor?: string) => Promise<void>;
|
|
32
38
|
/**
|
|
33
39
|
* Read file contents
|
|
34
40
|
* @param path File path
|
|
@@ -40,20 +46,17 @@ export interface ServerFunctions {
|
|
|
40
46
|
* These can be called from the server
|
|
41
47
|
*/
|
|
42
48
|
export interface ClientFunctions {
|
|
43
|
-
/**
|
|
44
|
-
* Extension point for custom client functions
|
|
45
|
-
*/
|
|
46
49
|
[key: string]: (...args: any[]) => void;
|
|
47
50
|
/**
|
|
48
51
|
* Notify client of config change
|
|
49
52
|
* @param config New Vite config
|
|
50
53
|
*/
|
|
51
|
-
onConfigChange: (config: Record<string,
|
|
54
|
+
onConfigChange: (config: Record<string, unknown>) => void;
|
|
52
55
|
/**
|
|
53
56
|
* Notify client of HMR update
|
|
54
57
|
* @param payload HMR payload
|
|
55
58
|
*/
|
|
56
|
-
onHMRUpdate: (payload:
|
|
59
|
+
onHMRUpdate: (payload: unknown) => void;
|
|
57
60
|
/**
|
|
58
61
|
* Notify client of module update
|
|
59
62
|
* @param module Updated module node
|
|
@@ -94,7 +97,8 @@ export interface ClientRPCContext {
|
|
|
94
97
|
/**
|
|
95
98
|
* Register a client function
|
|
96
99
|
* @param name Function name
|
|
97
|
-
* @param
|
|
100
|
+
* @param function_ Function implementation
|
|
98
101
|
*/
|
|
99
102
|
registerFunction: <K extends keyof ClientFunctions>(name: K, function_: ClientFunctions[K]) => void;
|
|
100
103
|
}
|
|
104
|
+
export { type StaticAsset } from "../rpc/functions/assets.d.ts";
|
package/dist/types/timeline.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Severity levels for timeline events.
|
|
3
3
|
*/
|
|
4
4
|
export type TimelineEventLevel = "info" | "warning" | "error";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* A single captured event displayed in the timeline panel.
|
|
7
7
|
*/
|
|
8
8
|
export interface TimelineEvent {
|
|
9
9
|
/**
|
|
@@ -36,7 +36,7 @@ export interface TimelineEvent {
|
|
|
36
36
|
title: string;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* A named group that holds related timeline events.
|
|
40
40
|
*/
|
|
41
41
|
export interface TimelineGroup {
|
|
42
42
|
/**
|
package/dist/types/toolbar.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @jsxImportSource preact */
|
|
2
1
|
import type { ComponentChildren } from "preact";
|
|
3
2
|
interface IconProps {
|
|
4
3
|
class?: string;
|
|
@@ -12,10 +11,9 @@ interface IconProps {
|
|
|
12
11
|
/**
|
|
13
12
|
* Renders a lucide-static icon using CSS mask-image.
|
|
14
13
|
* Color is driven by the parent element's `color` property (currentColor).
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* <Icon src={xIcon} size={13} />
|
|
14
|
+
* @example
|
|
15
|
+
* import xIcon from "lucide-static/icons/x.d.ts";
|
|
16
|
+
* <Icon src={xIcon} size={13} />
|
|
19
17
|
*/
|
|
20
18
|
declare const Icon: ({ class: className, size, src }: IconProps) => ComponentChildren;
|
|
21
19
|
export default Icon;
|
|
@@ -22,6 +22,6 @@ interface PopoverCloseProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
22
22
|
}
|
|
23
23
|
declare const Popover: ({ children, defaultOpen, onOpenChange, open }: PopoverProps) => JSX.Element;
|
|
24
24
|
declare const PopoverTrigger: ({ children, class: className, ...rest }: PopoverTriggerProps) => JSX.Element;
|
|
25
|
-
declare const PopoverContent: ({ align, children, class: className, side, sideOffset, ...rest }: PopoverContentProps) => JSX.Element |
|
|
25
|
+
declare const PopoverContent: ({ align, children, class: className, side, sideOffset, ...rest }: PopoverContentProps) => JSX.Element | undefined;
|
|
26
26
|
declare const PopoverClose: ({ children, class: className, ...rest }: PopoverCloseProps) => JSX.Element;
|
|
27
27
|
export { Popover, PopoverClose, PopoverContent, PopoverTrigger };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @jsxImportSource preact */
|
|
2
1
|
import type { ComponentChildren, JSX } from "preact";
|
|
3
2
|
interface TabsProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
children?: ComponentChildren;
|
|
@@ -25,5 +24,5 @@ interface TabsContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
|
25
24
|
declare const Tabs: ({ children, class: className, defaultValue, onValueChange, value, ...rest }: TabsProps) => JSX.Element;
|
|
26
25
|
declare const TabsList: ({ children, class: className, ...rest }: TabsListProps) => JSX.Element;
|
|
27
26
|
declare const TabsTrigger: ({ children, class: className, disabled, value, ...rest }: TabsTriggerProps) => JSX.Element;
|
|
28
|
-
declare const TabsContent: ({ children, class: className, value, ...rest }: TabsContentProps) => JSX.Element |
|
|
27
|
+
declare const TabsContent: ({ children, class: className, value, ...rest }: TabsContentProps) => JSX.Element | undefined;
|
|
29
28
|
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
@@ -15,5 +15,5 @@ interface TooltipContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
|
15
15
|
}
|
|
16
16
|
declare const Tooltip: ({ children, delayDuration: _delayDuration }: TooltipProps) => JSX.Element;
|
|
17
17
|
declare const TooltipTrigger: ({ children, class: className, ...rest }: TooltipTriggerProps) => JSX.Element;
|
|
18
|
-
declare const TooltipContent: ({ children, class: className, side, sideOffset, ...rest }: TooltipContentProps) => JSX.Element |
|
|
18
|
+
declare const TooltipContent: ({ children, class: className, side, sideOffset, ...rest }: TooltipContentProps) => JSX.Element | undefined;
|
|
19
19
|
export { Tooltip, TooltipContent, TooltipTrigger };
|
package/dist/ui/index.d.ts
CHANGED
package/dist/ui/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Alert as e,AlertDescription as t,AlertTitle as a}from"../packem_shared/Alert-D2CvX4fw.js";import{default as f}from"../packem_shared/Badge-BEgU04nl.js";import{default as s}from"../packem_shared/Button-Bkx66Co7.js";import{Card as x,CardContent as m,CardDescription as i,CardFooter as n,CardHeader as T,CardTitle as u}from"../packem_shared/Card-CJa4vHVc.js";import{default as g}from"../packem_shared/Icon-B6UHkC0o.js";import{default as c}from"../packem_shared/Input-Cs6aduTi.js";import{default as v}from"../packem_shared/Label-CgCFOMDc.js";import{Popover as S,PopoverClose as B,PopoverContent as D,PopoverTrigger as I}from"../packem_shared/Popover-DzH5lAc9.js";import{default as h}from"../packem_shared/Progress-DN6zn-0l.js";import{default as w}from"../packem_shared/Separator-D38mKeZv.js";import{default as H}from"../packem_shared/Skeleton-Dv-tcA1P.js";import{default as q}from"../packem_shared/Switch-C3NTpeoR.js";import{Tabs as z,TabsContent as E,TabsList as G,TabsTrigger as J}from"../packem_shared/Tabs-SuFWbB6d.js";import{default as M}from"../packem_shared/Textarea-Yfg3dLZi.js";import{Tooltip as O,TooltipContent as Q,TooltipTrigger as R}from"../packem_shared/Tooltip-BHmzUaxu.js";import{clsx as V}from"../packem_shared/clsx-wGlvpUfw.js";export{e as Alert,t as AlertDescription,a as AlertTitle,f as Badge,s as Button,x as Card,m as CardContent,i as CardDescription,n as CardFooter,T as CardHeader,u as CardTitle,g as Icon,c as Input,v as Label,S as Popover,B as PopoverClose,D as PopoverContent,I as PopoverTrigger,h as Progress,w as Separator,H as Skeleton,q as Switch,z as Tabs,E as TabsContent,G as TabsList,J as TabsTrigger,M as Textarea,O as Tooltip,Q as TooltipContent,R as TooltipTrigger,V as clsx};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import generate from "@babel/generator";
|
|
2
2
|
declare const gen: typeof generate;
|
|
3
|
-
/** The attribute name injected into each JSX opening element. */
|
|
4
3
|
export declare const SOURCE_ATTR = "data-vdt-source";
|
|
5
4
|
export interface InjectSourceIgnore {
|
|
6
5
|
/** Component names or patterns to skip. */
|
package/dist/vite/matcher.d.ts
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Returns true if `value` matches any of the given patterns.
|
|
3
3
|
* Strings are treated as glob patterns; RegExps are tested directly.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
declare const matcher: (patterns: (RegExp | string)[], value: string) => boolean;
|
|
6
|
+
export default matcher;
|
package/dist/vite-plugin.d.ts
CHANGED
|
@@ -10,15 +10,19 @@ export interface DevToolbarOptions {
|
|
|
10
10
|
* useful for projects that do not use html file as an entry
|
|
11
11
|
*
|
|
12
12
|
* WARNING: only set this if you know exactly what it does.
|
|
13
|
-
* @default
|
|
13
|
+
* @default Empty string (disabled).
|
|
14
14
|
*/
|
|
15
15
|
appendTo?: string | RegExp;
|
|
16
16
|
/**
|
|
17
|
-
* Built-in apps to enable
|
|
17
|
+
* Built-in apps to enable. All apps are disabled by default — only
|
|
18
|
+
* `viteConfig`, `settings`, and the "more" drawer are shown out of the box.
|
|
19
|
+
* Explicitly set an app to `true` to enable it.
|
|
20
|
+
* @example { inspector: true, seo: true }
|
|
18
21
|
*/
|
|
19
22
|
apps?: {
|
|
20
23
|
[key: string]: boolean | undefined;
|
|
21
24
|
a11y?: boolean;
|
|
25
|
+
assets?: boolean;
|
|
22
26
|
inspector?: boolean;
|
|
23
27
|
moduleGraph?: boolean;
|
|
24
28
|
performance?: boolean;
|
|
@@ -79,9 +83,9 @@ export interface DevToolbarOptions {
|
|
|
79
83
|
* Settings app (stored in localStorage).
|
|
80
84
|
*/
|
|
81
85
|
keybindings?: {
|
|
82
|
-
/** Close active app / panel.
|
|
86
|
+
/** Close active app / panel. \@default "Escape" */
|
|
83
87
|
close?: string;
|
|
84
|
-
/** Toggle the DevTools panel open/closed.
|
|
88
|
+
/** Toggle the DevTools panel open/closed. \@default "Alt+Shift+D" */
|
|
85
89
|
toggle?: string;
|
|
86
90
|
};
|
|
87
91
|
/**
|
|
@@ -108,7 +112,7 @@ export interface DevToolbarOptions {
|
|
|
108
112
|
*/
|
|
109
113
|
reduceMotion?: boolean;
|
|
110
114
|
/**
|
|
111
|
-
* Strip all
|
|
115
|
+
* Strip all \@visulima/dev-toolbar imports and virtual modules when building
|
|
112
116
|
* for production (i.e. when `command !== 'serve'` or `mode === 'production'`).
|
|
113
117
|
* This guarantees the toolbar never ends up in a production bundle even if the
|
|
114
118
|
* user accidentally imports our package in application code.
|
|
@@ -139,6 +143,6 @@ export interface DevToolbarOptions {
|
|
|
139
143
|
width?: number;
|
|
140
144
|
}
|
|
141
145
|
/**
|
|
142
|
-
*
|
|
146
|
+
* Returns the Vite plugin array for the dev toolbar.
|
|
143
147
|
*/
|
|
144
148
|
export declare const devToolbar: (options?: DevToolbarOptions) => Plugin[];
|
package/dist/vite-plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
${t}`},transformIndexHtml(){return e.appendTo?void 0:{html:"",tags:[{attrs:{src:`${d.base||"/"}@id/${l}client/overlay.js`,type:"module"},injectTo:"head-prepend",tag:"script"}]}}},{enforce:"pre",name:"@visulima/dev-toolbar:inject-source",async transform(t,
|
|
1
|
+
var w=Object.defineProperty;var u=(e,r)=>w(e,"name",{value:r,configurable:!0});import{createRequire as j}from"node:module";import{normalizePath as x}from"vite";import{createServerRPCContext as F}from"./packem_shared/createServerRPCContext-CJXa8ezf.js";const $=j(import.meta.url),n=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=u(e=>{if(typeof n<"u"&&n.versions&&n.versions.node){const[r,p]=n.versions.node.split(".").map(Number);if(r>22||r===22&&p>=3||r===20&&p>=16)return n.getBuiltinModule(e)}return $(e)},"__cjs_getBuiltinModule"),T=f("node:fs"),O=f("node:path"),{fileURLToPath:P}=f("node:url");var C=Object.defineProperty,v=u((e,r)=>C(e,"name",{value:r,configurable:!0}),"s");const R=v(()=>x(O.dirname(P(import.meta.url))),"getDevToolbarPath"),I=/\?.+$/,S=/\/dist\/|\/build\//,q=/\.[jt]sx$/,W=v(e=>e.replace(I,""),"removeUrlQuery"),g="?__visulima-dev-toolbar-resource",m="virtual:visulima-dev-toolbar-options",h=`\0${m}`,l="virtual:visulima-dev-toolbar-path:",y="\0__visulima-dev-toolbar-empty",z=v((e={})=>{const r=R(),p=e.removeDevtoolsOnBuild??!0,_=e.injectSource?.enabled??!0;let d;return[{apply:"serve",configResolved(t){d=t},configureServer(t){F(t,e.serverFunctions,{editor:e.editor}),t.ws.on("connection",()=>{t.ws.send({event:"dev-toolbar:init",type:"custom"})})},enforce:"pre",async load(t){if(t===h){const o=(e.customApps??[]).filter(i=>!i.component&&!i.init&&i.view?.type==="iframe").map(i=>({defaultOpen:i.defaultOpen,icon:i.icon,id:i.id,name:i.name,view:i.view}));return`export default ${JSON.stringify({apps:{a11y:e.apps?.a11y??!1,assets:e.apps?.assets??!1,inspector:e.apps?.inspector??!1,moduleGraph:e.apps?.moduleGraph??!1,performance:e.apps?.performance??!1,seo:e.apps?.seo??!1,settings:e.apps?.settings??!0,tailwind:e.apps?.tailwind??!1,timeline:e.apps?.timeline??!1,viteConfig:e.apps?.viteConfig??!0},base:d.base,closeOnOutsideClick:e.closeOnOutsideClick??!0,customApps:o,defaultVisible:e.defaultVisible??!0,editor:e.editor??"",height:e.height??60,keybindings:e.keybindings??{},minimizePanelInactive:e.minimizePanelInactive??5e3,placement:e.placement??"bottom-center",position:e.position??"bottom",reduceMotion:e.reduceMotion??!1,requireUrlFlag:e.requireUrlFlag??!1,urlFlagName:e.urlFlagName??"devtools",width:e.width??80})};`}if(t.endsWith(g)){const o=W(t);return this.addWatchFile(o),await T.promises.readFile(o,"utf8")}},name:"@visulima/dev-toolbar",resolveId(t){if(t===m)return h;if(t.startsWith(l))return`${t.replace(l,`${r}/`)}${g}`},transform(t,o,i){if(i?.ssr)return;const{appendTo:s}=e,a=o.split("?",2)[0];if(s&&a&&(typeof s=="string"&&a.endsWith(s)||s instanceof RegExp&&s.test(a)))return`import '${l}client/overlay.js';
|
|
2
|
+
${t}`},transformIndexHtml(){return e.appendTo?void 0:{html:"",tags:[{attrs:{src:`${d.base||"/"}@id/${l}client/overlay.js`,type:"module"},injectTo:"head-prepend",tag:"script"}]}}},{enforce:"pre",name:"@visulima/dev-toolbar:inject-source",async transform(t,o){if(!_||d.mode!=="development"||o.includes("node_modules")||o.includes("?raw")||S.test(o)||!q.test(o.split("?")[0]??""))return;const{readFile:i}=await import("node:fs/promises");let s;try{const b=await i(o.split("?")[0]??o,"utf8");b!==t&&(s=b)}catch{}const{addSourceToJsx:a}=await import("./packem_chunks/inject-source.js"),c=a(t,o,e.injectSource?.ignore,s);if(c)return{code:c.code??t,map:c.map??void 0}}},{apply(t,{command:o,mode:i}){return p&&(o!=="serve"||i==="production")},load(t){if(t===y)return"export default {};"},name:"@visulima/dev-toolbar:remove-on-build",resolveId(t){if(t===m||t.startsWith(l))return y}}]},"devToolbar");export{z as devToolbar};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/dev-toolbar",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.5",
|
|
4
4
|
"description": "Devtools is a set of tools for building advanced devtools for your application",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"visulima",
|
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
"types": "./dist/apps/a11y/index.d.ts",
|
|
50
50
|
"default": "./dist/apps/a11y/index.js"
|
|
51
51
|
},
|
|
52
|
+
"./apps/assets": {
|
|
53
|
+
"types": "./dist/apps/assets/index.d.ts",
|
|
54
|
+
"default": "./dist/apps/assets/index.js"
|
|
55
|
+
},
|
|
52
56
|
"./apps/inspector": {
|
|
53
57
|
"types": "./dist/apps/inspector/index.d.ts",
|
|
54
58
|
"default": "./dist/apps/inspector/index.js"
|
|
@@ -61,10 +65,6 @@
|
|
|
61
65
|
"types": "./dist/apps/module-graph/index.d.ts",
|
|
62
66
|
"default": "./dist/apps/module-graph/index.js"
|
|
63
67
|
},
|
|
64
|
-
"./apps/more": {
|
|
65
|
-
"types": "./dist/apps/more/index.d.ts",
|
|
66
|
-
"default": "./dist/apps/more/index.js"
|
|
67
|
-
},
|
|
68
68
|
"./apps/performance": {
|
|
69
69
|
"types": "./dist/apps/performance/index.d.ts",
|
|
70
70
|
"default": "./dist/apps/performance/index.js"
|
|
@@ -104,19 +104,21 @@
|
|
|
104
104
|
"@babel/generator": "^7.29.1",
|
|
105
105
|
"@babel/parser": "^7.29.0",
|
|
106
106
|
"@babel/traverse": "^7.29.0",
|
|
107
|
-
"@babel/types": "^7.29.0",
|
|
108
107
|
"@floating-ui/dom": "^1.7.6",
|
|
109
|
-
"axe-core": "^4.11.1",
|
|
110
|
-
"clsx": "^2.1.1",
|
|
111
108
|
"launch-editor": "^2.13.1",
|
|
112
|
-
"preact": "^10.28.4"
|
|
113
|
-
"tailwind-merge": "^3.5.0"
|
|
109
|
+
"preact": "^10.28.4"
|
|
114
110
|
},
|
|
115
111
|
"peerDependencies": {
|
|
116
|
-
"
|
|
112
|
+
"axe-core": "^4",
|
|
113
|
+
"vite": "^6 || ^7 || ^8"
|
|
114
|
+
},
|
|
115
|
+
"peerDependenciesMeta": {
|
|
116
|
+
"axe-core": {
|
|
117
|
+
"optional": true
|
|
118
|
+
}
|
|
117
119
|
},
|
|
118
120
|
"engines": {
|
|
119
|
-
"node": ">=22.21
|
|
121
|
+
"node": ">=22.21"
|
|
120
122
|
},
|
|
121
123
|
"publishConfig": {
|
|
122
124
|
"access": "public",
|
package/dist/apps/more/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var p=Object.defineProperty;var s=(n,t)=>p(n,"name",{value:t,configurable:!0});import{addHookName as m}from"preact/devtools";import{useState as u,useEffect as f}from"preact/hooks";import g from"../../packem_shared/cn-DWLJYh3h.js";import{jsxs as o,jsx as r}from"preact/jsx-runtime";const h=`<!-- @license lucide-static v0.576.0 - ISC -->
|
|
2
|
-
<svg
|
|
3
|
-
class="lucide lucide-more-horizontal"
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
width="24"
|
|
6
|
-
height="24"
|
|
7
|
-
viewBox="0 0 24 24"
|
|
8
|
-
fill="none"
|
|
9
|
-
stroke="currentColor"
|
|
10
|
-
stroke-width="2"
|
|
11
|
-
stroke-linecap="round"
|
|
12
|
-
stroke-linejoin="round"
|
|
13
|
-
>
|
|
14
|
-
<circle cx="12" cy="12" r="1" />
|
|
15
|
-
<circle cx="19" cy="12" r="1" />
|
|
16
|
-
<circle cx="5" cy="12" r="1" />
|
|
17
|
-
</svg>
|
|
18
|
-
`;var x=Object.defineProperty,i=s((n,t)=>x(n,"name",{value:t,configurable:!0}),"s");const b=i(n=>{const[t,c]=m(u([]),"apps");f(()=>{const e=globalThis.__VISULIMA_DEVTOOLS__;if(!e)return;const a=(e.getApps()??[]).filter(d=>!["dev-toolbar:a11y","dev-toolbar:module-graph","dev-toolbar:more","dev-toolbar:performance","dev-toolbar:seo","dev-toolbar:settings","dev-toolbar:timeline","dev-toolbar:vite-config"].includes(d.id));c(a)},[]);const l=i(e=>{globalThis.__VISULIMA_DEVTOOLS__?.openApp(e).catch(console.error)},"openApp");return t.length===0?o("div",{class:"p-8 flex flex-col items-center justify-center min-h-48 gap-5 text-center select-none",children:[r("div",{class:"size-14 bg-primary/5 border border-primary/20 flex items-center justify-center",children:r("svg",{"aria-hidden":"true",class:"size-6 text-primary/40",fill:"none",stroke:"currentColor","stroke-width":"1.5",viewBox:"0 0 24 24",children:r("path",{d:"M12 6v6m0 0v6m0-6h6m-6 0H6","stroke-linecap":"round","stroke-linejoin":"round"})})}),o("div",{class:"space-y-1.5",children:[r("p",{class:"text-[0.8125rem] font-medium text-foreground/70",children:"No additional apps registered"}),r("p",{class:"text-[0.725rem] text-muted-foreground",children:"Register a custom app to see it here"}),r("pre",{class:"mt-3 text-[0.65rem] font-mono text-primary/70 bg-primary/5 border border-primary/15 px-3 py-2 text-left",children:`window.__VISULIMA_DEVTOOLS__
|
|
19
|
-
.registerApp({ id, name, icon })`})]})]}):o("div",{class:"p-5",children:[o("h2",{class:"text-[0.65rem] font-bold uppercase tracking-[0.1em] text-muted-foreground mb-3 flex items-center gap-1.5",children:[r("span",{"aria-hidden":"true",class:"text-primary/50",children:"//"}),"Additional Apps"]}),r("div",{class:"grid grid-cols-2 gap-2",children:t.map(e=>o("button",{class:g("flex items-center gap-3 p-3","border border-border bg-card hover:bg-foreground/4","text-left cursor-pointer transition-colors duration-150"),onClick:i(()=>l(e.id),"onClick"),title:e.name,type:"button",children:[r("span",{class:"size-5 shrink-0 flex items-center justify-center text-[0.65rem] font-bold uppercase bg-foreground/8 text-foreground/70",children:e.name.slice(0,2)}),r("span",{class:"text-[0.8125rem] font-medium text-foreground truncate",children:e.name})]},e.id))})]})},"MoreApp"),A={component:b,icon:h,id:"dev-toolbar:more",name:"More"};export{A as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import s from"./cn-DWLJYh3h.js";import{jsx as l}from"preact/jsx-runtime";var d=Object.defineProperty,i=n((e,r)=>d(e,"name",{value:r,configurable:!0}),"n");const o={default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive",info:"border-info/50 text-info",success:"border-success/50 text-success",warning:"border-warning/50 text-warning"},f=i(({children:e,class:r,variant:t="default",...a})=>l("div",{class:s("relative w-full rounded-none border p-4 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-7",o[t],r),role:"alert",...a,children:e}),"Alert"),p=i(({children:e,class:r,...t})=>l("h5",{class:s("mb-1 font-medium leading-none tracking-tight",r),...t,children:e}),"AlertTitle"),b=i(({children:e,class:r,...t})=>l("div",{class:s("text-sm [&_p]:leading-relaxed",r),...t,children:e}),"AlertDescription");export{f as Alert,b as AlertDescription,p as AlertTitle};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var a=Object.defineProperty;var t=(r,e)=>a(r,"name",{value:e,configurable:!0});import s from"./cn-DWLJYh3h.js";import{jsx as d}from"preact/jsx-runtime";var i=Object.defineProperty,c=t((r,e)=>i(r,"name",{value:e,configurable:!0}),"t");const u={default:"border-transparent bg-primary text-primary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",info:"border-transparent bg-info text-info-foreground",outline:"text-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",success:"border-transparent bg-success text-success-foreground",warning:"border-transparent bg-warning text-warning-foreground"},l=c(({children:r,class:e,variant:n="default",...o})=>d("div",{class:s("inline-flex items-center rounded-none border px-2.5 py-0.5 text-xs font-semibold transition-colors",u[n],e),...o,children:r}),"Badge");export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var d=Object.defineProperty;var t=(e,r)=>d(e,"name",{value:r,configurable:!0});import s from"./cn-DWLJYh3h.js";import{jsx as a}from"preact/jsx-runtime";var c=Object.defineProperty,g=t((e,r)=>c(e,"name",{value:r,configurable:!0}),"r");const l={default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",ghost:"text-muted-foreground hover:bg-foreground/8 hover:text-foreground",link:"text-primary underline-offset-4 hover:underline",outline:"border border-input bg-background text-foreground hover:bg-foreground/8",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80"},f={default:"h-9 px-4 py-2",icon:"h-9 w-9",lg:"h-10 px-8",sm:"h-8 px-3 text-xs"},m=g(({children:e,class:r,size:o="default",type:n="button",variant:i="default",...u})=>a("button",{class:s("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-none text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",l[i],f[o],r),type:n,...u,children:e}),"Button");export{m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var i=Object.defineProperty;var l=(e,r)=>i(e,"name",{value:r,configurable:!0});import d from"./cn-DWLJYh3h.js";import{jsx as s}from"preact/jsx-runtime";var n=Object.defineProperty,c=l((e,r)=>n(e,"name",{value:r,configurable:!0}),"t");const C=c(({children:e,class:r,...a})=>s("div",{class:d("bg-card text-card-foreground rounded-none border shadow",r),...a,children:e}),"Card"),p=c(({children:e,class:r,...a})=>s("div",{class:d("flex flex-col space-y-1.5 p-6",r),...a,children:e}),"CardHeader"),m=c(({children:e,class:r,...a})=>s("h3",{class:d("font-semibold leading-none tracking-tight",r),...a,children:e}),"CardTitle"),f=c(({children:e,class:r,...a})=>s("div",{class:d("text-sm text-muted-foreground",r),...a,children:e}),"CardDescription"),v=c(({children:e,class:r,...a})=>s("div",{class:d("p-6 pt-0",r),...a,children:e}),"CardContent"),x=c(({children:e,class:r,...a})=>s("div",{class:d("flex items-center p-6 pt-0",r),...a,children:e}),"CardFooter");export{C as Card,v as CardContent,f as CardDescription,x as CardFooter,p as CardHeader,m as CardTitle};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var i=Object.defineProperty;var t=(a,e)=>i(a,"name",{value:e,configurable:!0});import o from"./cn-DWLJYh3h.js";import{jsx as s}from"preact/jsx-runtime";var n=Object.defineProperty,c=t((a,e)=>n(a,"name",{value:e,configurable:!0}),"r");const p=c(({class:a,size:e=13,src:r})=>s("span",{class:o("inline-block shrink-0",a),style:{backgroundColor:"currentColor",height:e,maskImage:`url(${r})`,maskRepeat:"no-repeat",maskSize:"contain",WebkitMaskImage:`url(${r})`,WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",width:e}}),"Icon");export{p as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{forwardRef as s}from"preact/compat";import i from"./cn-DWLJYh3h.js";import{jsx as n}from"preact/jsx-runtime";const l=s(({class:o,type:e="text",...r},t)=>n("input",{class:i("flex h-9 w-full rounded-none border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",o),ref:t,type:e,...r}));l.displayName="Input";export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o=Object.defineProperty;var r=(e,a)=>o(e,"name",{value:a,configurable:!0});import t from"./cn-DWLJYh3h.js";import{jsx as n}from"preact/jsx-runtime";var d=Object.defineProperty,i=r((e,a)=>d(e,"name",{value:a,configurable:!0}),"l");const p=i(({children:e,class:a,...l})=>n("label",{class:t("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",a),...l,children:e}),"Label");export{p as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var R=Object.defineProperty;var P=(e,n)=>R(e,"name",{value:n,configurable:!0});import{addHookName as v}from"preact/devtools";import{computePosition as k,offset as E,flip as $,shift as L}from"@floating-ui/dom";import{createContext as T}from"preact";import{useState as b,useRef as y,useEffect as C,useContext as j}from"preact/hooks";import g from"./cn-DWLJYh3h.js";import{jsx as f}from"preact/jsx-runtime";var z=Object.defineProperty,o=P((e,n)=>z(e,"name",{value:n,configurable:!0}),"t");const O=T(null),h=o(()=>{const e=j(O);if(!e)throw new Error("Popover subcomponent must be used within <Popover>");return e},"usePopoverContext"),X=o(({children:e,defaultOpen:n,onOpenChange:i,open:r})=>{const s=r!==void 0,[a,t]=v(b(n??!1),"internalOpen"),p=s?r:a,c=v(y(null),"triggerRef"),l=o(u=>{s||t(u),i?.(u)},"setOpen");return f(O.Provider,{value:{open:p,setOpen:l,triggerRef:c},children:f("span",{style:{display:"contents"},children:e})})},"Popover"),q=o(({children:e,class:n,...i})=>{const{open:r,setOpen:s,triggerRef:a}=h(),t=o(p=>{a.current=p},"handleRef");return f("button",{"aria-expanded":r,class:g("",n),onClick:o(()=>{i.disabled||s(!r)},"onClick"),ref:t,type:"button",...i,children:e})},"PopoverTrigger"),A=o(({align:e="center",children:n,class:i,side:r="bottom",sideOffset:s=4,...a})=>{const{open:t,setOpen:p,triggerRef:c}=h(),l=v(y(null),"contentRef"),[u,w]=v(b({x:0,y:0}),"position");return C(()=>{if(!t||!c.current||!l.current)return;const m=e==="center"?r:`${r}-${e}`;k(c.current,l.current,{middleware:[E(s),$(),L({padding:4})],placement:m}).then(d=>{w({x:d.x,y:d.y})}).catch(()=>{})},[t,r,s,e,c]),C(()=>{if(!t)return;const m=o(d=>{if(l.current&&!l.current.contains(d.target)){const x=c.current;if(x&&x.contains(d.target))return;p(!1)}},"handleMouseDown");return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[t,p,c]),t?f("div",{class:g("z-50 w-72 rounded-none border bg-popover p-4 text-popover-foreground shadow-md outline-none animate-in fade-in-0 zoom-in-95",i),ref:l,role:"dialog",style:{left:`${u.x}px`,position:"fixed",top:`${u.y}px`},...a,children:n}):null},"PopoverContent"),F=o(({children:e,class:n,...i})=>{const{setOpen:r}=h();return f("button",{class:g("",n),onClick:o(()=>r(!1),"onClick"),type:"button",...i,children:e})},"PopoverClose");export{X as Popover,F as PopoverClose,A as PopoverContent,q as PopoverTrigger};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o=Object.defineProperty;var e=(a,r)=>o(a,"name",{value:r,configurable:!0});import s from"./cn-DWLJYh3h.js";import{jsx as l}from"preact/jsx-runtime";var t=Object.defineProperty,n=e((a,r)=>t(a,"name",{value:r,configurable:!0}),"s");const v=n(({class:a,value:r,...i})=>l("div",{"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":r??0,class:s("relative h-2 w-full overflow-hidden rounded-none bg-primary/20",a),role:"progressbar",...i,children:l("div",{class:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(r??0)}%)`}})}),"Progress");export{v as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var i=Object.defineProperty;var a=(r,o)=>i(r,"name",{value:o,configurable:!0});import l from"./cn-DWLJYh3h.js";import{jsx as s}from"preact/jsx-runtime";var p=Object.defineProperty,u=a((r,o)=>p(r,"name",{value:o,configurable:!0}),"a");const d=u(({class:r,decorative:o=!0,orientation:e="horizontal",...t})=>{const n=o?{role:"none"}:{"aria-orientation":e,role:"separator"};return s("div",{class:l("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...n,...t})},"Separator");export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o=Object.defineProperty;var a=(e,r)=>o(e,"name",{value:r,configurable:!0});import t from"./cn-DWLJYh3h.js";import{jsx as n}from"preact/jsx-runtime";var s=Object.defineProperty,m=a((e,r)=>s(e,"name",{value:r,configurable:!0}),"r");const u=m(({class:e,...r})=>n("div",{class:t("animate-pulse rounded-none bg-primary/10",e),...r}),"Skeleton");export{u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var m=Object.defineProperty;var a=(e,r)=>m(e,"name",{value:r,configurable:!0});import{addHookName as g}from"preact/devtools";import{useState as v}from"preact/hooks";import s from"./cn-DWLJYh3h.js";import{jsx as c}from"preact/jsx-runtime";var C=Object.defineProperty,d=a((e,r)=>C(e,"name",{value:r,configurable:!0}),"o");const H=d(({checked:e,class:r,defaultChecked:l,disabled:o,id:u,onCheckedChange:b,...f})=>{const t=e!==void 0,[h,k]=g(v(l??!1),"internalChecked"),n=t?e:h,p=d(()=>{if(o)return;const i=!n;t||k(i),b?.(i)},"handleClick");return c("button",{"aria-checked":n,class:s("inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-none border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",n?"bg-primary":"bg-input",r),"data-state":n?"checked":"unchecked",disabled:o,id:u,onClick:p,role:"switch",type:"button",...f,children:c("span",{class:s("pointer-events-none block h-4 w-4 rounded-none bg-background shadow-lg ring-0 transition-transform",n?"translate-x-4":"translate-x-0"),"data-state":n?"checked":"unchecked"})})},"Switch");export{H as default};
|