@construct-space/ui 0.1.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.
Files changed (51) hide show
  1. package/dist/components/Accordion.vue.d.ts +41 -0
  2. package/dist/components/Alert.vue.d.ts +26 -0
  3. package/dist/components/Avatar.vue.d.ts +13 -0
  4. package/dist/components/Badge.vue.d.ts +25 -0
  5. package/dist/components/Button.vue.d.ts +32 -0
  6. package/dist/components/Calendar.vue.d.ts +57 -0
  7. package/dist/components/Card.vue.d.ts +28 -0
  8. package/dist/components/Checkbox.vue.d.ts +26 -0
  9. package/dist/components/Chip.vue.d.ts +32 -0
  10. package/dist/components/ColorPicker.vue.d.ts +21 -0
  11. package/dist/components/ContextMenu.vue.d.ts +24 -0
  12. package/dist/components/DashboardPanel.vue.d.ts +37 -0
  13. package/dist/components/Drawer.vue.d.ts +35 -0
  14. package/dist/components/Dropdown.vue.d.ts +23 -0
  15. package/dist/components/DropdownMenu.vue.d.ts +32 -0
  16. package/dist/components/DropdownMenuItem.vue.d.ts +25 -0
  17. package/dist/components/Empty.vue.d.ts +17 -0
  18. package/dist/components/FormField.vue.d.ts +36 -0
  19. package/dist/components/Icon.vue.d.ts +5 -0
  20. package/dist/components/Input.vue.d.ts +28 -0
  21. package/dist/components/Kbd.vue.d.ts +11 -0
  22. package/dist/components/Modal.vue.d.ts +42 -0
  23. package/dist/components/Pagination.vue.d.ts +17 -0
  24. package/dist/components/PanelSection.vue.d.ts +34 -0
  25. package/dist/components/Popover.vue.d.ts +28 -0
  26. package/dist/components/Progress.vue.d.ts +23 -0
  27. package/dist/components/PropRow.vue.d.ts +35 -0
  28. package/dist/components/RadioGroup.vue.d.ts +28 -0
  29. package/dist/components/ScrollArea.vue.d.ts +12 -0
  30. package/dist/components/Select.vue.d.ts +32 -0
  31. package/dist/components/SelectMenu.vue.d.ts +40 -0
  32. package/dist/components/Separator.vue.d.ts +12 -0
  33. package/dist/components/Skeleton.vue.d.ts +17 -0
  34. package/dist/components/Slideover.vue.d.ts +31 -0
  35. package/dist/components/Slider.vue.d.ts +21 -0
  36. package/dist/components/Switch.vue.d.ts +30 -0
  37. package/dist/components/Table.vue.d.ts +63 -0
  38. package/dist/components/Tabs.vue.d.ts +28 -0
  39. package/dist/components/Textarea.vue.d.ts +27 -0
  40. package/dist/components/Timeline.vue.d.ts +38 -0
  41. package/dist/components/Toast.vue.d.ts +2 -0
  42. package/dist/components/Tooltip.vue.d.ts +25 -0
  43. package/dist/components/Tree.vue.d.ts +157 -0
  44. package/dist/composables/useAuth.d.ts +39 -0
  45. package/dist/composables/useToast.d.ts +46 -0
  46. package/dist/construct-ui.js +15289 -0
  47. package/dist/index.d.ts +55 -0
  48. package/dist/layouts/HeaderLayout.vue.d.ts +44 -0
  49. package/dist/layouts/SidebarLayout.vue.d.ts +43 -0
  50. package/dist/style.css +2 -0
  51. package/package.json +60 -0
@@ -0,0 +1,157 @@
1
+ export interface TreeNode {
2
+ id: string;
3
+ label: string;
4
+ icon?: string;
5
+ children?: TreeNode[];
6
+ expanded?: boolean;
7
+ selected?: boolean;
8
+ data?: any;
9
+ }
10
+ import { type PropType } from 'vue';
11
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
12
+ items?: TreeNode[];
13
+ modelValue?: string | string[] | null;
14
+ multiple?: boolean;
15
+ draggable?: boolean;
16
+ indentPx?: number;
17
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:modelValue": (value: string | string[] | null) => any;
19
+ select: (node: TreeNode) => any;
20
+ drop: (payload: {
21
+ dragged: TreeNode;
22
+ target: TreeNode;
23
+ position: "before" | "inside" | "after";
24
+ }) => any;
25
+ expand: (node: TreeNode) => any;
26
+ collapse: (node: TreeNode) => any;
27
+ }, string, import("vue").PublicProps, Readonly<{
28
+ items?: TreeNode[];
29
+ modelValue?: string | string[] | null;
30
+ multiple?: boolean;
31
+ draggable?: boolean;
32
+ indentPx?: number;
33
+ }> & Readonly<{
34
+ "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
35
+ onSelect?: ((node: TreeNode) => any) | undefined;
36
+ onDrop?: ((payload: {
37
+ dragged: TreeNode;
38
+ target: TreeNode;
39
+ position: "before" | "inside" | "after";
40
+ }) => any) | undefined;
41
+ onExpand?: ((node: TreeNode) => any) | undefined;
42
+ onCollapse?: ((node: TreeNode) => any) | undefined;
43
+ }>, {
44
+ multiple: boolean;
45
+ items: TreeNode[];
46
+ modelValue: string | string[] | null;
47
+ indentPx: number;
48
+ draggable: boolean;
49
+ }, {}, {
50
+ TreeNodeRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
51
+ node: {
52
+ type: PropType<TreeNode>;
53
+ required: true;
54
+ };
55
+ depth: {
56
+ type: NumberConstructor;
57
+ required: true;
58
+ };
59
+ indentPx: {
60
+ type: NumberConstructor;
61
+ default: number;
62
+ };
63
+ items: {
64
+ type: PropType<TreeNode[]>;
65
+ required: true;
66
+ };
67
+ isExpanded: {
68
+ type: PropType<(n: TreeNode) => boolean>;
69
+ required: true;
70
+ };
71
+ isSelected: {
72
+ type: PropType<(n: TreeNode) => boolean>;
73
+ required: true;
74
+ };
75
+ focusedId: {
76
+ type: PropType<string | null>;
77
+ default: null;
78
+ };
79
+ draggableEnabled: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ dropTargetId: {
84
+ type: PropType<string | null>;
85
+ default: null;
86
+ };
87
+ dropPosition: {
88
+ type: PropType<"before" | "inside" | "after">;
89
+ default: string;
90
+ };
91
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
92
+ [key: string]: any;
93
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "drop" | "toggle" | "drag-start" | "drag-over" | "drag-leave" | "drag-end")[], "select" | "drop" | "toggle" | "drag-start" | "drag-over" | "drag-leave" | "drag-end", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
94
+ node: {
95
+ type: PropType<TreeNode>;
96
+ required: true;
97
+ };
98
+ depth: {
99
+ type: NumberConstructor;
100
+ required: true;
101
+ };
102
+ indentPx: {
103
+ type: NumberConstructor;
104
+ default: number;
105
+ };
106
+ items: {
107
+ type: PropType<TreeNode[]>;
108
+ required: true;
109
+ };
110
+ isExpanded: {
111
+ type: PropType<(n: TreeNode) => boolean>;
112
+ required: true;
113
+ };
114
+ isSelected: {
115
+ type: PropType<(n: TreeNode) => boolean>;
116
+ required: true;
117
+ };
118
+ focusedId: {
119
+ type: PropType<string | null>;
120
+ default: null;
121
+ };
122
+ draggableEnabled: {
123
+ type: BooleanConstructor;
124
+ default: boolean;
125
+ };
126
+ dropTargetId: {
127
+ type: PropType<string | null>;
128
+ default: null;
129
+ };
130
+ dropPosition: {
131
+ type: PropType<"before" | "inside" | "after">;
132
+ default: string;
133
+ };
134
+ }>> & Readonly<{
135
+ onDrop?: ((...args: any[]) => any) | undefined;
136
+ onSelect?: ((...args: any[]) => any) | undefined;
137
+ onToggle?: ((...args: any[]) => any) | undefined;
138
+ "onDrag-start"?: ((...args: any[]) => any) | undefined;
139
+ "onDrag-over"?: ((...args: any[]) => any) | undefined;
140
+ "onDrag-leave"?: ((...args: any[]) => any) | undefined;
141
+ "onDrag-end"?: ((...args: any[]) => any) | undefined;
142
+ }>, {
143
+ indentPx: number;
144
+ focusedId: string | null;
145
+ draggableEnabled: boolean;
146
+ dropTargetId: string | null;
147
+ dropPosition: "before" | "inside" | "after";
148
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
149
+ }, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
150
+ node?: (props: any) => any;
151
+ }>;
152
+ export default _default;
153
+ type __VLS_WithSlots<T, S> = T & {
154
+ new (): {
155
+ $slots: S;
156
+ };
157
+ };
@@ -0,0 +1,39 @@
1
+ export interface AuthUser {
2
+ id: string;
3
+ name: string;
4
+ email: string;
5
+ avatar?: string;
6
+ username?: string;
7
+ }
8
+ export interface UseAuthOptions {
9
+ /** Base URL for the auth API (e.g. '' for same-origin, or 'https://accounts.construct.space') */
10
+ apiBase?: string;
11
+ /** Path to check current user session */
12
+ mePath?: string;
13
+ /** Path to redirect for login */
14
+ loginPath?: string;
15
+ /** Path to redirect for logout */
16
+ logoutPath?: string;
17
+ /** Whether to auto-check session on mount */
18
+ autoCheck?: boolean;
19
+ }
20
+ export declare function useAuth(options?: UseAuthOptions): {
21
+ user: import("vue").Ref<{
22
+ id: string;
23
+ name: string;
24
+ email: string;
25
+ avatar?: string | undefined;
26
+ username?: string | undefined;
27
+ } | null, AuthUser | {
28
+ id: string;
29
+ name: string;
30
+ email: string;
31
+ avatar?: string | undefined;
32
+ username?: string | undefined;
33
+ } | null>;
34
+ loading: import("vue").Ref<boolean, boolean>;
35
+ error: import("vue").Ref<string | null, string | null>;
36
+ checkSession: () => Promise<AuthUser | null>;
37
+ login: () => void;
38
+ logout: () => void;
39
+ };
@@ -0,0 +1,46 @@
1
+ export interface Toast {
2
+ id: string;
3
+ title: string;
4
+ description?: string;
5
+ color?: 'success' | 'error' | 'warning' | 'info';
6
+ duration?: number;
7
+ action?: {
8
+ label: string;
9
+ onClick: () => void;
10
+ };
11
+ }
12
+ declare function add(toast: Omit<Toast, 'id'>): string;
13
+ declare function remove(id: string): void;
14
+ declare function clear(): void;
15
+ export declare function useToast(): {
16
+ toasts: import("vue").Ref<{
17
+ id: string;
18
+ title: string;
19
+ description?: string | undefined;
20
+ color?: "success" | "error" | "warning" | "info" | undefined;
21
+ duration?: number | undefined;
22
+ action?: {
23
+ label: string;
24
+ onClick: () => void;
25
+ } | undefined;
26
+ }[], Toast[] | {
27
+ id: string;
28
+ title: string;
29
+ description?: string | undefined;
30
+ color?: "success" | "error" | "warning" | "info" | undefined;
31
+ duration?: number | undefined;
32
+ action?: {
33
+ label: string;
34
+ onClick: () => void;
35
+ } | undefined;
36
+ }[]>;
37
+ add: typeof add;
38
+ remove: typeof remove;
39
+ clear: typeof clear;
40
+ toast: {
41
+ add: typeof add;
42
+ remove: typeof remove;
43
+ clear: typeof clear;
44
+ };
45
+ };
46
+ export {};