qa-notes 1.0.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/dist/api/client.d.ts +22 -0
- package/dist/components/ConfirmDialog.d.ts +8 -0
- package/dist/components/FolderPanel.d.ts +16 -0
- package/dist/components/FolderPickerDialog.d.ts +10 -0
- package/dist/components/NoteCard.d.ts +10 -0
- package/dist/components/NoteEditor.d.ts +10 -0
- package/dist/components/NotesWidget.d.ts +10 -0
- package/dist/components/Pagination.d.ts +11 -0
- package/dist/components/SearchBar.d.ts +7 -0
- package/dist/components/SortBar.d.ts +10 -0
- package/dist/context/NotesKitProvider.d.ts +18 -0
- package/dist/hooks/useFolders.d.ts +15 -0
- package/dist/hooks/useNotes.d.ts +19 -0
- package/dist/index.cjs.js +2136 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.esm.js +2120 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/types/index.d.ts +93 -0
- package/package.json +52 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Note, NoteCreatePayload, NoteUpdatePayload, NoteMovePayload, NoteSearchParams, Page, Folder, FolderTreeNode, FolderCreatePayload, FolderUpdatePayload, NotesKitConfig } from '../types';
|
|
2
|
+
export declare class NotesApi {
|
|
3
|
+
private config;
|
|
4
|
+
constructor(config: NotesKitConfig);
|
|
5
|
+
private resolveToken;
|
|
6
|
+
private request;
|
|
7
|
+
listNotes(params?: NoteSearchParams): Promise<Page<Note>>;
|
|
8
|
+
suggest(prefix: string, limit?: number): Promise<string[]>;
|
|
9
|
+
getNote(id: string): Promise<Note>;
|
|
10
|
+
createNote(payload: NoteCreatePayload): Promise<Note>;
|
|
11
|
+
updateNote(id: string, payload: NoteUpdatePayload): Promise<Note>;
|
|
12
|
+
moveNote(id: string, payload: NoteMovePayload): Promise<Note>;
|
|
13
|
+
cloneNote(id: string, payload: NoteMovePayload): Promise<Note>;
|
|
14
|
+
deleteNote(id: string): Promise<void>;
|
|
15
|
+
listFolders(): Promise<Folder[]>;
|
|
16
|
+
getFolderTree(): Promise<FolderTreeNode[]>;
|
|
17
|
+
getFolder(id: string): Promise<Folder>;
|
|
18
|
+
getFolderChildren(id: string): Promise<Folder[]>;
|
|
19
|
+
createFolder(payload: FolderCreatePayload): Promise<Folder>;
|
|
20
|
+
updateFolder(id: string, payload: FolderUpdatePayload): Promise<Folder>;
|
|
21
|
+
deleteFolder(id: string): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface ConfirmDialogProps {
|
|
2
|
+
message: string;
|
|
3
|
+
onConfirm: () => void;
|
|
4
|
+
onCancel: () => void;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function ConfirmDialog({ message, onConfirm, onCancel, loading }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FolderTreeNode, FolderCreatePayload, FolderUpdatePayload, Folder } from "../types";
|
|
2
|
+
export interface FolderPanelProps {
|
|
3
|
+
tree: FolderTreeNode[];
|
|
4
|
+
loading: boolean;
|
|
5
|
+
selectedFolderId: string | null;
|
|
6
|
+
isRootOnly: boolean;
|
|
7
|
+
collapsed: boolean;
|
|
8
|
+
onToggle: () => void;
|
|
9
|
+
onSelectAll: () => void;
|
|
10
|
+
onSelectRootOnly: () => void;
|
|
11
|
+
onSelectFolder: (id: string) => void;
|
|
12
|
+
onCreate: (payload: FolderCreatePayload) => Promise<Folder>;
|
|
13
|
+
onRename: (id: string, payload: FolderUpdatePayload) => Promise<Folder>;
|
|
14
|
+
onDelete: (id: string) => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function FolderPanel({ tree, loading, selectedFolderId, isRootOnly, collapsed, onToggle, onSelectAll, onSelectRootOnly, onSelectFolder, onCreate, onRename, onDelete, }: FolderPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FolderTreeNode } from '../types';
|
|
2
|
+
export interface FolderPickerDialogProps {
|
|
3
|
+
title: string;
|
|
4
|
+
tree: FolderTreeNode[];
|
|
5
|
+
currentFolderId: string | null;
|
|
6
|
+
onConfirm: (folderId: string | null) => void;
|
|
7
|
+
onCancel: () => void;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function FolderPickerDialog({ title, tree, currentFolderId, onConfirm, onCancel, loading, }: FolderPickerDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Note } from "../types";
|
|
2
|
+
interface NoteCardProps {
|
|
3
|
+
note: Note;
|
|
4
|
+
onEdit: (note: Note) => void;
|
|
5
|
+
onDelete: (note: Note) => void;
|
|
6
|
+
onMove: (note: Note) => void;
|
|
7
|
+
onClone: (note: Note) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function NoteCard({ note, onEdit, onDelete, onMove, onClone, }: NoteCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Note, NoteCreatePayload } from '../types';
|
|
2
|
+
interface NoteEditorProps {
|
|
3
|
+
note: Note | null;
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
showLineNumbers?: boolean;
|
|
6
|
+
onSave: (payload: NoteCreatePayload) => Promise<void>;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function NoteEditor({ note, loading, showLineNumbers, onSave, onClose }: NoteEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import '../styles/notes-kit.css';
|
|
2
|
+
export interface NotesWidgetProps {
|
|
3
|
+
pageSize?: number;
|
|
4
|
+
pageSizeOptions?: number[];
|
|
5
|
+
title?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
folderId?: string;
|
|
8
|
+
rootOnly?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function NotesWidget({ pageSize, pageSizeOptions, title, className, folderId, rootOnly, }: NotesWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface PaginationProps {
|
|
2
|
+
currentPage: number;
|
|
3
|
+
totalPages: number;
|
|
4
|
+
totalElements: number;
|
|
5
|
+
pageSize: number;
|
|
6
|
+
pageSizeOptions: number[];
|
|
7
|
+
onPageChange: (page: number) => void;
|
|
8
|
+
onPageSizeChange: (size: number) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function Pagination({ currentPage, totalPages, totalElements, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, }: PaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface SortOption {
|
|
2
|
+
label: string;
|
|
3
|
+
field: string;
|
|
4
|
+
}
|
|
5
|
+
interface SortBarProps {
|
|
6
|
+
value: string;
|
|
7
|
+
onChange: (sort: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function SortBar({ value, onChange }: SortBarProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { NotesApi } from "../api/client";
|
|
3
|
+
import { NotesKitConfig, NotesKitTheme } from "../types";
|
|
4
|
+
interface NotesKitContextValue {
|
|
5
|
+
api: NotesApi;
|
|
6
|
+
config: NotesKitConfig;
|
|
7
|
+
theme: NotesKitTheme;
|
|
8
|
+
durationFetch?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function useNotesKitContext(): NotesKitContextValue;
|
|
11
|
+
export interface NotesKitProviderProps {
|
|
12
|
+
config: NotesKitConfig;
|
|
13
|
+
/** Polling interval in milliseconds. When set, notes and folders are refreshed silently at this interval. */
|
|
14
|
+
durationFetch?: number;
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export declare function NotesKitProvider({ config, durationFetch, children, }: NotesKitProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Folder, FolderTreeNode, FolderCreatePayload, FolderUpdatePayload } from '../types';
|
|
2
|
+
export interface UseFoldersReturn {
|
|
3
|
+
folders: Folder[];
|
|
4
|
+
tree: FolderTreeNode[];
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: Error | null;
|
|
7
|
+
fetchFolders: () => Promise<void>;
|
|
8
|
+
fetchTree: () => Promise<void>;
|
|
9
|
+
getFolder: (id: string) => Promise<Folder>;
|
|
10
|
+
getChildren: (id: string) => Promise<Folder[]>;
|
|
11
|
+
create: (payload: FolderCreatePayload) => Promise<Folder>;
|
|
12
|
+
update: (id: string, payload: FolderUpdatePayload) => Promise<Folder>;
|
|
13
|
+
remove: (id: string) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare function useFolders(): UseFoldersReturn;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Note, NoteCreatePayload, NoteUpdatePayload, NoteMovePayload, NoteSearchParams } from '../types';
|
|
2
|
+
export interface UseNotesReturn {
|
|
3
|
+
notes: Note[];
|
|
4
|
+
totalElements: number;
|
|
5
|
+
totalPages: number;
|
|
6
|
+
currentPage: number;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
params: NoteSearchParams;
|
|
10
|
+
fetch: (override?: Partial<NoteSearchParams>) => Promise<void>;
|
|
11
|
+
create: (payload: NoteCreatePayload) => Promise<Note>;
|
|
12
|
+
update: (id: string, payload: NoteUpdatePayload) => Promise<Note>;
|
|
13
|
+
move: (id: string, payload: NoteMovePayload) => Promise<Note>;
|
|
14
|
+
clone: (id: string, payload: NoteMovePayload) => Promise<Note>;
|
|
15
|
+
remove: (id: string) => Promise<void>;
|
|
16
|
+
setParams: (p: Partial<NoteSearchParams>) => void;
|
|
17
|
+
goToPage: (page: number) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function useNotes(initial?: NoteSearchParams): UseNotesReturn;
|