@ericbutera/kaleido 0.1.12 → 0.3.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/admin/components/KaleidoMetricsSection.d.ts +17 -0
- package/dist/{components/admin/AdminLayout.d.ts → admin/components/Layout.d.ts} +1 -1
- package/dist/admin/components/LayoutRoute.d.ts +3 -0
- package/dist/admin/components/Route.d.ts +1 -0
- package/dist/admin/components/StatItem.d.ts +9 -0
- package/dist/{components → admin/components}/tasks/List.d.ts +1 -2
- package/dist/admin/components/tasks/Modal.d.ts +7 -0
- package/dist/admin/components/users/List.d.ts +7 -0
- package/dist/admin/components/users/Modal.d.ts +8 -0
- package/dist/admin/components/users/index.d.ts +2 -0
- package/dist/admin/index.d.ts +11 -0
- package/dist/admin/pages/Dashboard.d.ts +1 -0
- package/dist/admin/pages/Users.d.ts +1 -0
- package/dist/{lib/params/adminTasksParams.d.ts → admin/params/TasksParams.d.ts} +7 -8
- package/dist/admin/params/UsersParams.d.ts +18 -0
- package/dist/admin/types.d.ts +23 -0
- package/dist/auth/components/ProtectedRoute.d.ts +3 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/lib/useAuth.d.ts +8 -0
- package/dist/components/index.d.ts +1 -4
- package/dist/configureKaleido.d.ts +26 -0
- package/dist/index.d.ts +11 -8
- package/dist/index.js +4067 -2650
- package/dist/kaleido.d.ts +44 -0
- package/dist/lib/apiHelpers.d.ts +15 -0
- package/dist/openapi/createKaleidoOpenApiAdapters.d.ts +44 -0
- package/dist/openapi/createKaleidoOpenApiAuthClient.d.ts +35 -0
- package/dist/openapi/index.d.ts +2 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/useTasks.d.ts +27 -0
- package/dist/users/index.d.ts +2 -0
- package/dist/users/useUsers.d.ts +74 -0
- package/package.json +3 -1
- package/dist/components/admin/tasks/List.d.ts +0 -1
- package/dist/components/admin/tasks/Modal.d.ts +0 -1
- package/dist/components/tasks/Modal.d.ts +0 -7
- package/dist/lib/openapi/react-query/api.d.ts +0 -1
- package/dist/lib/queries.d.ts +0 -6
- package/dist/lib/tasksApi.d.ts +0 -13
- package/dist/pages/index.d.ts +0 -2
- /package/dist/{components/admin → admin/components}/adminLayoutConfig.d.ts +0 -0
- /package/dist/{pages/admin → admin/pages}/FeatureFlags.d.ts +0 -0
- /package/dist/{pages/admin → admin/pages}/Tasks.d.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NamedStat } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Renders all glass-managed system metrics.
|
|
4
|
+
*
|
|
5
|
+
* Pass the full response from `GET /admin/metrics`. Each top-level key becomes
|
|
6
|
+
* a labeled section. New glass subsystems automatically appear here when glass
|
|
7
|
+
* adds them — no frontend changes required.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* const { data } = useAdminMetrics();
|
|
12
|
+
* <admin.KaleidoMetricsSection data={data} />
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export default function KaleidoMetricsSection({ data, }: {
|
|
16
|
+
data?: Record<string, NamedStat[]> | null;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function Route(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export default function StatItem({ icon, title, value, desc, to, }: {
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
title: string;
|
|
5
|
+
value?: ReactNode;
|
|
6
|
+
desc?: string;
|
|
7
|
+
/** Optional URL — wraps the card in a plain anchor link when provided. */
|
|
8
|
+
to?: string;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Task } from '../../../tasks/useTasks';
|
|
2
|
+
interface ModalProps {
|
|
3
|
+
selectedTask: Task | null;
|
|
4
|
+
setSelectedTask: (task: Task | null) => void;
|
|
5
|
+
}
|
|
6
|
+
export default function Modal({ selectedTask, setSelectedTask }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { User } from '../../../users/useUsers';
|
|
2
|
+
interface ListProps {
|
|
3
|
+
onCreateUser: () => void;
|
|
4
|
+
onSelectUser: (user: User) => void;
|
|
5
|
+
}
|
|
6
|
+
export default function List({ onCreateUser, onSelectUser }: ListProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { User } from '../../../users/useUsers';
|
|
2
|
+
interface ModalProps {
|
|
3
|
+
mode: "create" | "edit" | null;
|
|
4
|
+
selectedUser: User | null;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
}
|
|
7
|
+
export default function Modal({ mode, selectedUser, onClose }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { configureAdminLayout } from '../admin/components/adminLayoutConfig';
|
|
2
|
+
export { default as KaleidoMetricsSection } from '../admin/components/KaleidoMetricsSection';
|
|
3
|
+
export { default as Layout } from '../admin/components/Layout';
|
|
4
|
+
export { default as LayoutRoute } from '../admin/components/LayoutRoute';
|
|
5
|
+
export { default as StatItem } from '../admin/components/StatItem';
|
|
6
|
+
export { default as Dashboard } from '../admin/pages/Dashboard';
|
|
7
|
+
export { default as FeatureFlags } from '../admin/pages/FeatureFlags';
|
|
8
|
+
export { default as Tasks } from '../admin/pages/Tasks';
|
|
9
|
+
export { default as Users } from '../admin/pages/Users';
|
|
10
|
+
export type { NamedStat, StatResult, SystemMetrics } from '../admin/types';
|
|
11
|
+
export { default as Route } from './components/Route';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function Dashboard(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function Users(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const TasksSchema: z.ZodObject<{
|
|
3
3
|
q: z.ZodOptional<z.ZodString>;
|
|
4
4
|
task_type: z.ZodOptional<z.ZodString>;
|
|
5
5
|
status: z.ZodOptional<z.ZodString>;
|
|
@@ -10,20 +10,19 @@ export declare const adminTasksSchema: z.ZodObject<{
|
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
11
|
page: number;
|
|
12
12
|
per_page: number;
|
|
13
|
-
q?: string | undefined;
|
|
14
|
-
status?: string | undefined;
|
|
15
13
|
task_type?: string | undefined;
|
|
14
|
+
status?: string | undefined;
|
|
15
|
+
q?: string | undefined;
|
|
16
16
|
from_date?: string | undefined;
|
|
17
17
|
to_date?: string | undefined;
|
|
18
18
|
}, {
|
|
19
|
+
task_type?: string | undefined;
|
|
20
|
+
status?: string | undefined;
|
|
19
21
|
page?: number | undefined;
|
|
20
22
|
q?: string | undefined;
|
|
21
|
-
status?: string | undefined;
|
|
22
23
|
per_page?: number | undefined;
|
|
23
|
-
task_type?: string | undefined;
|
|
24
24
|
from_date?: string | undefined;
|
|
25
25
|
to_date?: string | undefined;
|
|
26
26
|
}>;
|
|
27
|
-
export type
|
|
28
|
-
export declare function
|
|
29
|
-
export declare function toSearchParams(params: Partial<AdminTasksParams>): URLSearchParams;
|
|
27
|
+
export type TasksParams = z.infer<typeof TasksSchema>;
|
|
28
|
+
export declare function toSearchParams(params: Partial<TasksParams>): URLSearchParams;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UsersSchema: z.ZodObject<{
|
|
3
|
+
q: z.ZodOptional<z.ZodString>;
|
|
4
|
+
disabled: z.ZodOptional<z.ZodEnum<["true", "false"]>>;
|
|
5
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
per_page: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
page: number;
|
|
9
|
+
per_page: number;
|
|
10
|
+
q?: string | undefined;
|
|
11
|
+
disabled?: "true" | "false" | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
page?: number | undefined;
|
|
14
|
+
q?: string | undefined;
|
|
15
|
+
disabled?: "true" | "false" | undefined;
|
|
16
|
+
per_page?: number | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export type UsersParams = z.infer<typeof UsersSchema>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type StatResult = {
|
|
2
|
+
/** @format int64 */
|
|
3
|
+
value: number;
|
|
4
|
+
error?: string | null;
|
|
5
|
+
};
|
|
6
|
+
/** A named, displayable metric with a machine-readable key and human-readable label. */
|
|
7
|
+
export type NamedStat = {
|
|
8
|
+
/** Machine-readable identifier — used by the UI to look up icons and links. */
|
|
9
|
+
key: string;
|
|
10
|
+
/** Human-readable display label. */
|
|
11
|
+
label: string;
|
|
12
|
+
/** Short time-range description, e.g. "last 30 days". */
|
|
13
|
+
desc: string;
|
|
14
|
+
/** @format int64 */
|
|
15
|
+
value: number;
|
|
16
|
+
error?: string | null;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Glass-managed system metrics returned by `GET /admin/metrics`.
|
|
20
|
+
* Each key is a section name; the value is an array of stats for that section.
|
|
21
|
+
* New glass subsystems add new keys automatically.
|
|
22
|
+
*/
|
|
23
|
+
export type SystemMetrics = Record<string, NamedStat[]>;
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { AuthProvider, useAuthApi, useAuthConfig } from './lib/AuthContext';
|
|
2
|
+
export { useAuth } from './lib/useAuth';
|
|
2
3
|
export type { ApiError, AuthApiClient, AuthConfig, LoginRequest, RegisterRequest, ResendConfirmationRequest, ResetRequest, User, } from './lib/types';
|
|
3
4
|
export { handleFormError } from './lib/form';
|
|
4
5
|
export { redirectToOrigin } from './lib/utils';
|
|
5
6
|
export { default as AuthLayout } from './components/auth/Layout';
|
|
7
|
+
export { default as ProtectedRoute } from './components/ProtectedRoute';
|
|
6
8
|
export { default as ConfirmEmail } from './pages/auth/ConfirmEmail';
|
|
7
9
|
export { default as ForgotPassword } from './pages/auth/ForgotPassword';
|
|
8
10
|
export { default as Login } from './pages/auth/Login';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function useAuth(): {
|
|
2
|
+
readonly user: import('./types').User | null;
|
|
3
|
+
readonly isLoading: boolean;
|
|
4
|
+
readonly signIn: (email: string, password: string) => Promise<void>;
|
|
5
|
+
readonly signUp: (email: string, password: string, name?: string) => Promise<void>;
|
|
6
|
+
readonly signOut: () => Promise<void>;
|
|
7
|
+
readonly completeOAuthLogin: (_userData?: unknown) => Promise<boolean>;
|
|
8
|
+
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export { default as AdminLayout } from './admin/AdminLayout';
|
|
2
1
|
export { default as AlertCard } from './common/AlertCard';
|
|
3
2
|
export { default as GenericFormModal } from './common/GenericFormModal';
|
|
4
|
-
export { default as GenericList } from './common/GenericList';
|
|
3
|
+
export { default as GenericList, type Column } from './common/GenericList';
|
|
5
4
|
export { default as ModalErrors } from './common/ModalErrors';
|
|
6
5
|
export { default as Pagination } from './common/Pagination';
|
|
7
6
|
export { default as QRCodeGenerator } from './common/QRCodeGenerator';
|
|
8
|
-
export { default as TasksList } from './tasks/List';
|
|
9
|
-
export { default as TasksModal } from './tasks/Modal';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FeatureFlagsConfig } from './featureFlags/useFeatureFlag';
|
|
2
|
+
import { TasksConfig } from './tasks/useTasks';
|
|
3
|
+
import { UsersConfig } from './users/useUsers';
|
|
4
|
+
export type KaleidoFeature = "tasks" | "feature-flags" | "admin-users";
|
|
5
|
+
export interface KaleidoFeatureAdapters {
|
|
6
|
+
tasks?: TasksConfig;
|
|
7
|
+
featureFlags?: FeatureFlagsConfig;
|
|
8
|
+
users?: UsersConfig;
|
|
9
|
+
}
|
|
10
|
+
export interface KaleidoConfig {
|
|
11
|
+
features: KaleidoFeature[];
|
|
12
|
+
adapters: KaleidoFeatureAdapters;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Configure Kaleido by feature, instead of wiring each hook group individually.
|
|
16
|
+
*
|
|
17
|
+
* Example:
|
|
18
|
+
* configureKaleido({
|
|
19
|
+
* features: ["tasks", "feature-flags"],
|
|
20
|
+
* adapters: {
|
|
21
|
+
* tasks: tasksConfig,
|
|
22
|
+
* featureFlags: featureFlagsConfig,
|
|
23
|
+
* },
|
|
24
|
+
* })
|
|
25
|
+
*/
|
|
26
|
+
export declare function configureKaleido(config: KaleidoConfig): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
export { QueryClientProvider } from '@tanstack/react-query';
|
|
2
|
+
export * as admin from './admin';
|
|
1
3
|
export * as auth from './auth';
|
|
2
4
|
export * as components from './components';
|
|
3
|
-
export * as pages from './pages';
|
|
4
|
-
export { AuthProvider, useAuthApi, useAuthConfig } from './auth';
|
|
5
|
-
export { default as AdminLayout } from './components/admin/AdminLayout';
|
|
6
5
|
export { default as GenericList } from './components/common/GenericList';
|
|
6
|
+
export type { Column, GenericListProps } from './components/common/GenericList';
|
|
7
7
|
export { default as Pagination } from './components/common/Pagination';
|
|
8
8
|
export { default as SortHeader } from './components/common/SortHeader';
|
|
9
|
+
export { configureKaleido, type KaleidoConfig, type KaleidoFeature, type KaleidoFeatureAdapters, } from './configureKaleido';
|
|
9
10
|
export * as featureFlags from './featureFlags';
|
|
10
|
-
export {
|
|
11
|
-
export
|
|
12
|
-
export type {
|
|
13
|
-
export { useTasksApi } from './lib/tasksApi';
|
|
14
|
-
export type { Task } from './lib/tasksApi';
|
|
11
|
+
export { default, default as kaleido, type KaleidoAppConfig, type KaleidoRuntimeConfig, type KaleidoToggleConfig, } from './kaleido';
|
|
12
|
+
export { createClient, createFetchClient, fetchWithCredentials, handleApiError, newQueryClient, } from './lib/apiHelpers';
|
|
13
|
+
export type { ApiError } from './lib/apiHelpers';
|
|
15
14
|
export { buildApiQuery, parseParams, toSearchParams, } from './lib/params/paramsUtils';
|
|
16
15
|
export { validateParams } from './lib/params/validateParams';
|
|
16
|
+
export * from './openapi';
|
|
17
|
+
export * as openapi from './openapi';
|
|
18
|
+
export * as tasks from './tasks';
|
|
19
|
+
export * as users from './users';
|