@nubase/frontend 0.1.24 → 0.1.26

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/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React$1 from 'react';
2
2
  import React__default, { ReactElement, FC, ReactNode, Key, RefObject } from 'react';
3
3
  import * as _nubase_core from '@nubase/core';
4
- import { ObjectSchema, Infer, ObjectShape, ObjectOutput, SchemaMetadata, Layout, ArraySchema, Lookup, RequestSchema, InferRequestParams, InferRequestBody, InferResponseBody, BaseSchema } from '@nubase/core';
4
+ import { ObjectSchema, Infer, ObjectShape, ObjectOutput, SchemaMetadata, FormLayout, ArraySchema, Lookup, RequestSchema, InferRequestParams, InferRequestBody, InferResponseBody, BaseSchema, TableLayoutField } from '@nubase/core';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseMutationOptions, UseQueryOptions, QueryClient } from '@tanstack/react-query';
7
7
  import { AnyRouter } from '@tanstack/react-router';
@@ -9,11 +9,12 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
9
9
  import { VariantProps } from 'class-variance-authority';
10
10
  import * as react_jsx_runtime from 'react/jsx-runtime';
11
11
  import * as RechartsPrimitive from 'recharts';
12
- import { Layout as Layout$1 } from 'react-grid-layout';
12
+ import { Layout } from 'react-grid-layout';
13
13
  export { Layout, LayoutItem } from 'react-grid-layout';
14
14
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
15
15
  import { ReactFormExtendedApi, AnyFieldApi } from '@tanstack/react-form';
16
16
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
17
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
17
18
  import * as TabsPrimitive from '@radix-ui/react-tabs';
18
19
  import { ZodError } from 'zod';
19
20
 
@@ -286,15 +287,15 @@ declare function useComputedMetadata<TShape extends ObjectShape>(schema: ObjectS
286
287
 
287
288
  /**
288
289
  * Pure function version of useLayout for testing and non-React contexts.
289
- * This function has the same logic as useLayout but without React hooks.
290
+ * Returns a FormLayout for use in form rendering.
290
291
  */
291
- declare function getLayout<TShape extends ObjectShape>(schema: ObjectSchema<TShape>, layoutName?: string): Layout<TShape>;
292
+ declare function getLayout<TShape extends ObjectShape>(schema: ObjectSchema<TShape>, layoutName?: string): FormLayout<TShape>;
292
293
  /**
293
- * Hook to get a layout for a schema. If a layoutName is provided and exists in the schema,
294
+ * Hook to get a form layout for a schema. If a layoutName is provided and exists in the schema,
294
295
  * returns that layout. Otherwise, returns a default layout with all fields in a single group
295
296
  * with size 12 (full width).
296
297
  */
297
- declare function useLayout<TShape extends ObjectShape>(schema: ObjectSchema<TShape>, layoutName?: string): Layout<TShape>;
298
+ declare function useLayout<TShape extends ObjectShape>(schema: ObjectSchema<TShape>, layoutName?: string): FormLayout<TShape>;
298
299
 
299
300
  interface HttpResponse<T = any> {
300
301
  status: number;
@@ -589,6 +590,275 @@ type UseModalResult = {
589
590
  };
590
591
  declare const useModal: () => UseModalResult;
591
592
 
593
+ type ToastType = "default" | "error";
594
+ type ToastPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
595
+ interface ToastData {
596
+ id: string;
597
+ message: ReactNode;
598
+ type: ToastType;
599
+ duration?: number;
600
+ closable?: boolean;
601
+ promise?: Promise<any>;
602
+ loadingText?: ReactNode;
603
+ }
604
+ interface ToastOptions {
605
+ duration?: number;
606
+ closable?: boolean;
607
+ }
608
+ interface PromiseToastOptions extends ToastOptions {
609
+ loadingText?: ReactNode;
610
+ }
611
+ interface PromiseResult<T = any> {
612
+ success: boolean;
613
+ data?: T;
614
+ error?: any;
615
+ }
616
+ interface PromiseToastConfig {
617
+ message: ReactNode;
618
+ type: ToastType;
619
+ duration?: number;
620
+ }
621
+ type PromiseToastCallback<T = any> = (result: PromiseResult<T>) => PromiseToastConfig;
622
+ interface ToastContextType {
623
+ toasts: ToastData[];
624
+ addToast: (message: ReactNode, type: ToastType, options?: ToastOptions) => string;
625
+ addPromiseToast: <T>(promise: Promise<T>, callback: PromiseToastCallback<T>, options?: PromiseToastOptions) => string;
626
+ removeToast: (id: string) => void;
627
+ updateToast: (id: string, updates: Partial<ToastData>) => void;
628
+ }
629
+
630
+ /**
631
+ * The source of an event.
632
+ * Built-in sources are "form" and "datagrid", but custom strings are allowed.
633
+ */
634
+ type EventSource = "form" | "datagrid" | (string & {});
635
+ /**
636
+ * Payload for resource-related events (create, patch, delete)
637
+ */
638
+ interface ResourceEventPayload {
639
+ resourceName: string;
640
+ fieldName?: string;
641
+ value?: unknown;
642
+ resourceId?: string | number;
643
+ /** Where the event came from (form, datagrid, etc.) */
644
+ source?: EventSource;
645
+ }
646
+ /**
647
+ * Payload for error events
648
+ */
649
+ interface ErrorPayload {
650
+ resourceName: string;
651
+ error: Error;
652
+ /** Where the event came from (form, datagrid, etc.) */
653
+ source?: EventSource;
654
+ }
655
+ /**
656
+ * Payload for authentication events
657
+ */
658
+ interface AuthEventPayload {
659
+ /** Email of the user (if applicable) */
660
+ email?: string;
661
+ /** Workspace slug (if applicable) */
662
+ workspace?: string;
663
+ }
664
+ /**
665
+ * Payload for authentication error events
666
+ */
667
+ interface AuthErrorPayload {
668
+ /** Email of the user (if applicable) */
669
+ email?: string;
670
+ /** Error message */
671
+ error: string;
672
+ }
673
+ /**
674
+ * Payload for command error events
675
+ */
676
+ interface CommandErrorPayload {
677
+ /** ID of the command */
678
+ commandId: string;
679
+ /** Name of the command (if available) */
680
+ commandName?: string;
681
+ /** Error message */
682
+ error?: string;
683
+ }
684
+ /**
685
+ * Payload for navigation error events
686
+ */
687
+ interface NavigationErrorPayload {
688
+ /** Error message */
689
+ error: string;
690
+ /** Path or context where the error occurred */
691
+ path?: string;
692
+ }
693
+ /**
694
+ * Payload for theme events
695
+ */
696
+ interface ThemeErrorPayload {
697
+ /** ID of the theme that was not found */
698
+ themeId: string;
699
+ /** List of available theme IDs */
700
+ availableThemes: string[];
701
+ }
702
+ /**
703
+ * Payload for view error events (in modals)
704
+ */
705
+ interface ViewErrorPayload {
706
+ /** Resource ID */
707
+ resourceId: string;
708
+ /** View/operation ID */
709
+ viewId: string;
710
+ /** Error message */
711
+ error: string;
712
+ }
713
+ /**
714
+ * Map of event types to their payload types.
715
+ * This enables type-safe event emission and subscription.
716
+ */
717
+ interface NubaseEventMap {
718
+ "resource.created": ResourceEventPayload;
719
+ "resource.patched": ResourceEventPayload;
720
+ "resource.deleted": ResourceEventPayload;
721
+ "resource.loadFailed": ErrorPayload;
722
+ "resource.saveFailed": ErrorPayload;
723
+ "auth.signedIn": AuthEventPayload;
724
+ "auth.signedUp": AuthEventPayload;
725
+ "auth.signInFailed": AuthErrorPayload;
726
+ "auth.signUpFailed": AuthErrorPayload;
727
+ "command.notFound": CommandErrorPayload;
728
+ "command.invalidArgs": CommandErrorPayload;
729
+ "navigation.invalidParams": NavigationErrorPayload;
730
+ "theme.notFound": ThemeErrorPayload;
731
+ "view.error": ViewErrorPayload;
732
+ }
733
+ /**
734
+ * Union type of all supported event types
735
+ */
736
+ type NubaseEventType = keyof NubaseEventMap;
737
+ /**
738
+ * Configuration for a single notification rule.
739
+ * Return null from getMessage to skip the notification.
740
+ */
741
+ interface NotificationRule<T extends NubaseEventType = NubaseEventType> {
742
+ /** Toast type to display (default: 'default') */
743
+ toastType?: ToastType;
744
+ /** Optional toast duration in milliseconds */
745
+ duration?: number;
746
+ /**
747
+ * Function to generate the toast message from event payload.
748
+ * Return null to skip the notification for this event.
749
+ */
750
+ getMessage: (payload: NubaseEventMap[T]) => string | null;
751
+ }
752
+ /**
753
+ * Notification rules configuration - one rule per event type.
754
+ * Object keyed by event type ensures uniqueness.
755
+ */
756
+ type NotificationRules = {
757
+ [K in NubaseEventType]?: NotificationRule<K>;
758
+ };
759
+ /**
760
+ * Type for event listener callbacks
761
+ */
762
+ type EventListener<T extends NubaseEventType> = (payload: NubaseEventMap[T]) => void | Promise<void>;
763
+
764
+ /**
765
+ * Default notification rules for Nubase events.
766
+ *
767
+ * These rules determine which events show toasts and with what message.
768
+ * Applications can override these by providing custom rules in their config.
769
+ *
770
+ * Key design decisions:
771
+ * - getMessage returns null to skip the notification
772
+ * - The source field in the payload can be used to conditionally skip notifications
773
+ * - Error events always show toasts regardless of source
774
+ */
775
+ declare const defaultNotificationRules: NotificationRules;
776
+
777
+ /**
778
+ * Centralized event manager for application events and notifications.
779
+ *
780
+ * This class follows the existing manager patterns in the codebase
781
+ * (like CommandRegistry, KeybindingManager) with a singleton instance.
782
+ *
783
+ * Features:
784
+ * - Type-safe event emission and subscription
785
+ * - Configurable notification rules per event type
786
+ * - Automatic toast generation based on rules
787
+ */
788
+ declare class EventManagerImpl {
789
+ private listeners;
790
+ private notificationRules;
791
+ /**
792
+ * Configure notification rules for events.
793
+ * Rules determine whether and how to show toasts for each event type.
794
+ * Each event type can have at most one rule.
795
+ */
796
+ setNotificationRules(rules: NotificationRules): void;
797
+ /**
798
+ * Get current notification rules
799
+ */
800
+ getNotificationRules(): NotificationRules;
801
+ /**
802
+ * Emit an event with the given payload.
803
+ * This will:
804
+ * 1. Call all registered listeners for this event
805
+ * 2. Show a toast notification if the rule's getMessage returns a non-null string
806
+ */
807
+ emit<T extends NubaseEventType>(event: T, payload: NubaseEventMap[T]): void;
808
+ /**
809
+ * Subscribe to an event type.
810
+ * Returns an unsubscribe function.
811
+ */
812
+ on<T extends NubaseEventType>(event: T, listener: EventListener<T>): () => void;
813
+ /**
814
+ * Subscribe to multiple event types with the same listener.
815
+ * Returns a single unsubscribe function that removes all subscriptions.
816
+ */
817
+ onMany(events: NubaseEventType[], listener: EventListener<NubaseEventType>): () => void;
818
+ /**
819
+ * Remove all listeners (useful for testing or cleanup)
820
+ */
821
+ clearListeners(): void;
822
+ }
823
+ /**
824
+ * Singleton instance of the event manager
825
+ */
826
+ declare const eventManager: EventManagerImpl;
827
+
828
+ /**
829
+ * Initialize the global event emitter.
830
+ * Called during Nubase context initialization.
831
+ */
832
+ declare const setGlobalEventEmitter: (emitter: <T extends NubaseEventType>(event: T, payload: NubaseEventMap[T]) => void) => void;
833
+ /**
834
+ * Emit an application event.
835
+ *
836
+ * This is the primary API for emitting events from components.
837
+ * Events are processed by the EventManager which:
838
+ * 1. Notifies all subscribed listeners
839
+ * 2. Shows toast notifications based on configured rules
840
+ *
841
+ * @example
842
+ * ```typescript
843
+ * // Emit a resource created event
844
+ * emitEvent('resource.created', { resourceName: 'ticket' });
845
+ *
846
+ * // Emit a patch event with field details
847
+ * emitEvent('resource.patched', {
848
+ * resourceName: 'ticket',
849
+ * fieldName: 'status',
850
+ * value: 'completed'
851
+ * });
852
+ *
853
+ * // Emit an error event
854
+ * emitEvent('resource.saveFailed', {
855
+ * resourceName: 'ticket',
856
+ * error: new Error('Network error')
857
+ * });
858
+ * ```
859
+ */
860
+ declare function emitEvent<T extends NubaseEventType>(event: T, payload: NubaseEventMap[T]): void;
861
+
592
862
  /**
593
863
  * Defines the layout of actions for views.
594
864
  * An action layout is an array of action IDs and separators.
@@ -678,7 +948,7 @@ type ResourceViewView<TSchema extends ObjectSchema<any> = ObjectSchema<any>, TAp
678
948
  context: NubaseContextData<TApiEndpoints, TParamsSchema>;
679
949
  }) => Promise<HttpResponse<any>>;
680
950
  };
681
- type ResourceSearchView<TSchema extends ArraySchema<any> = ArraySchema<any>, TApiEndpoints = any, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TActionIds extends string = string, TFilterSchema extends ObjectSchema<any> | undefined = undefined> = ViewBase<TApiEndpoints, TParamsSchema> & {
951
+ type ResourceSearchView<TSchema extends ArraySchema<any> = ArraySchema<any>, TApiEndpoints = any, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TActionIds extends string = string, TFilterSchema extends ObjectSchema<any> | undefined = undefined, TPatchSchema extends ObjectSchema<any> | undefined = undefined> = ViewBase<TApiEndpoints, TParamsSchema> & {
682
952
  type: "resource-search";
683
953
  /**
684
954
  * Schema for the search results data retrieved from the server.
@@ -693,6 +963,12 @@ type ResourceSearchView<TSchema extends ArraySchema<any> = ArraySchema<any>, TAp
693
963
  * When provided, a filter bar will be automatically generated.
694
964
  */
695
965
  schemaFilter?: TFilterSchema;
966
+ /**
967
+ * Optional schema for patchable fields in inline editing.
968
+ * Only fields present in this schema will be editable in the table.
969
+ * Typically this is the requestBody schema of the patch endpoint.
970
+ */
971
+ schemaPatch?: TPatchSchema;
696
972
  /**
697
973
  * Optional actions to display above the table for bulk operations on selected items.
698
974
  */
@@ -707,8 +983,18 @@ type ResourceSearchView<TSchema extends ArraySchema<any> = ArraySchema<any>, TAp
707
983
  onLoad: ({ context, }: {
708
984
  context: NubaseContextData<TApiEndpoints, TParamsSchema>;
709
985
  }) => Promise<HttpResponse<Infer<TSchema>>>;
986
+ /**
987
+ * Optional handler for inline patching of individual fields.
988
+ * Required when schemaPatch is provided and tableLayout.metadata.patchable is true.
989
+ */
990
+ onPatch?: ({ id, fieldName, value, context, }: {
991
+ id: string | number;
992
+ fieldName: string;
993
+ value: any;
994
+ context: NubaseContextData<TApiEndpoints, TParamsSchema>;
995
+ }) => Promise<HttpResponse<any>>;
710
996
  };
711
- type View<TSchema extends ObjectSchema<any> | ArraySchema<any> = ObjectSchema<any>, TApiEndpoints = any, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TActionIds extends string = string, TFilterSchema extends ObjectSchema<any> | undefined = undefined> = ResourceCreateView<TSchema extends ObjectSchema<any> ? TSchema : ObjectSchema<any>, TApiEndpoints, TParamsSchema, TActionIds> | ResourceViewView<TSchema extends ObjectSchema<any> ? TSchema : ObjectSchema<any>, TApiEndpoints, TParamsSchema, TActionIds> | ResourceSearchView<TSchema extends ArraySchema<any> ? TSchema : ArraySchema<any>, TApiEndpoints, TParamsSchema, TActionIds, TFilterSchema>;
997
+ type View<TSchema extends ObjectSchema<any> | ArraySchema<any> = ObjectSchema<any>, TApiEndpoints = any, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TActionIds extends string = string, TFilterSchema extends ObjectSchema<any> | undefined = undefined, TPatchSchema extends ObjectSchema<any> | undefined = undefined> = ResourceCreateView<TSchema extends ObjectSchema<any> ? TSchema : ObjectSchema<any>, TApiEndpoints, TParamsSchema, TActionIds> | ResourceViewView<TSchema extends ObjectSchema<any> ? TSchema : ObjectSchema<any>, TApiEndpoints, TParamsSchema, TActionIds> | ResourceSearchView<TSchema extends ArraySchema<any> ? TSchema : ArraySchema<any>, TApiEndpoints, TParamsSchema, TActionIds, TFilterSchema, TPatchSchema>;
712
998
 
713
999
  /**
714
1000
  * Configuration for lookup/search behavior of a resource.
@@ -1133,6 +1419,24 @@ type NubaseFrontendConfig<TApiEndpoints = any> = {
1133
1419
  * ```
1134
1420
  */
1135
1421
  dashboards?: Record<string, DashboardDescriptor<TApiEndpoints>>;
1422
+ /**
1423
+ * Custom notification rules for application events.
1424
+ * Controls which events show toasts and with what messages.
1425
+ * If not provided, default rules will be used.
1426
+ *
1427
+ * @example
1428
+ * ```typescript
1429
+ * // Disable DataGrid patch notifications by returning null
1430
+ * notificationRules: {
1431
+ * ...defaultNotificationRules,
1432
+ * "resource.patched": {
1433
+ * toastType: "default",
1434
+ * getMessage: (p) => p.source === "datagrid" ? null : `Resource ${p.resourceName} updated`,
1435
+ * },
1436
+ * }
1437
+ * ```
1438
+ */
1439
+ notificationRules?: NotificationRules;
1136
1440
  };
1137
1441
 
1138
1442
  type TypedMethodOptions<T extends RequestSchema> = {
@@ -1714,9 +2018,9 @@ interface DashboardResizeConfig {
1714
2018
  }
1715
2019
  interface DashboardProps {
1716
2020
  /** The layout configuration for grid items */
1717
- layout: Layout$1;
2021
+ layout: Layout;
1718
2022
  /** Callback when layout changes */
1719
- onLayoutChange?: (layout: Layout$1) => void;
2023
+ onLayoutChange?: (layout: Layout) => void;
1720
2024
  /** Grid configuration */
1721
2025
  gridConfig?: DashboardGridConfig;
1722
2026
  /** Drag configuration */
@@ -1738,9 +2042,9 @@ interface DashboardRendererProps {
1738
2042
  /** The dashboard descriptor to render */
1739
2043
  dashboard: DashboardDescriptor<any>;
1740
2044
  /** Optional controlled layout state */
1741
- layout?: Layout$1;
2045
+ layout?: Layout;
1742
2046
  /** Callback when layout changes */
1743
- onLayoutChange?: (layout: Layout$1) => void;
2047
+ onLayoutChange?: (layout: Layout) => void;
1744
2048
  /** Additional class name for the dashboard container */
1745
2049
  className?: string;
1746
2050
  }
@@ -2209,6 +2513,14 @@ declare const ACTION_COLUMN_KEY = "rdg-action-column";
2209
2513
  * @returns Column configuration for the DataGrid
2210
2514
  */
2211
2515
  declare function createActionColumn<R>(actions: ActionOrSeparator[], context?: any, idField?: string): Column<R, any>;
2516
+ declare const NAVIGATE_COLUMN_KEY = "rdg-navigate-column";
2517
+ /**
2518
+ * Creates a navigate column for a DataGrid that displays an icon button to navigate to the entity's view screen.
2519
+ * @param onNavigate - Callback invoked with the row when the navigate button is clicked
2520
+ * @param idField - The field name used as the row identifier (defaults to "id")
2521
+ * @returns Column configuration for the DataGrid
2522
+ */
2523
+ declare function createNavigateColumn<R>(onNavigate: (row: R) => void, idField?: string): Column<R, any>;
2212
2524
 
2213
2525
  interface ActionCellFormatterProps<R> {
2214
2526
  actions: ActionOrSeparator[];
@@ -2256,6 +2568,137 @@ declare function useHeaderRowSelection(): {
2256
2568
  onRowSelectionChange: (selectRowEvent: SelectHeaderRowEvent) => void;
2257
2569
  };
2258
2570
 
2571
+ interface PatchResult {
2572
+ success: boolean;
2573
+ errors?: string[];
2574
+ }
2575
+
2576
+ /**
2577
+ * Lifecycle callbacks for cell edit components.
2578
+ * Matches the EditFieldLifecycle interface for consistency.
2579
+ */
2580
+ interface CellEditLifecycle {
2581
+ /** Called when edit mode starts */
2582
+ onEnterEdit?: () => void;
2583
+ /** Called when edit mode ends */
2584
+ onExitEdit?: () => void;
2585
+ /** Called for auto-commit fields when value should be committed */
2586
+ onValueCommit?: (value?: unknown) => void;
2587
+ }
2588
+ /**
2589
+ * Props for cell edit renderers - inline editing in table cells.
2590
+ */
2591
+ type CellEditRendererProps = {
2592
+ value: any;
2593
+ onChange: (value: any) => void;
2594
+ hasError: boolean;
2595
+ metadata?: SchemaMetadata;
2596
+ };
2597
+ /**
2598
+ * Result from cell edit renderers.
2599
+ */
2600
+ type CellEditRendererResult = {
2601
+ element: React__default.ReactElement;
2602
+ lifecycle: CellEditLifecycle;
2603
+ /**
2604
+ * When true, the cell will auto-commit on value change without requiring
2605
+ * the user to click save. Suitable for Toggle fields.
2606
+ */
2607
+ autoCommit?: boolean;
2608
+ };
2609
+ /**
2610
+ * Cell edit renderer function type - returns edit component with lifecycle.
2611
+ */
2612
+ type CellEditRenderer = (props: CellEditRendererProps) => CellEditRendererResult;
2613
+
2614
+ /**
2615
+ * Cell edit renderer for boolean values.
2616
+ * Provides a toggle switch for editing booleans in table cells.
2617
+ * Auto-commits on change - no save button needed.
2618
+ */
2619
+ declare const BooleanCellEditRenderer: CellEditRenderer;
2620
+
2621
+ /**
2622
+ * Cell edit renderer for number values.
2623
+ * Provides an inline number input for editing numbers in table cells.
2624
+ */
2625
+ declare const NumberCellEditRenderer: CellEditRenderer;
2626
+
2627
+ /**
2628
+ * Cell edit renderer for string values.
2629
+ * Provides an inline text input for editing strings in table cells.
2630
+ */
2631
+ declare const StringCellEditRenderer: CellEditRenderer;
2632
+
2633
+ /**
2634
+ * Helper function to render a cell view for a given schema type and value.
2635
+ */
2636
+ declare function renderCellView(schemaType: string, value: any, metadata?: SchemaMetadata): React.ReactNode;
2637
+ /**
2638
+ * Helper function to render a cell edit for a given schema type.
2639
+ */
2640
+ declare function renderCellEdit(schemaType: string, props: CellEditRendererProps): CellEditRendererResult;
2641
+
2642
+ interface DataGridCellPatchWrapperProps {
2643
+ /** The current value to edit */
2644
+ value: any;
2645
+ /** Schema for the field being edited */
2646
+ schema: BaseSchema<any>;
2647
+ /** Metadata for the field */
2648
+ metadata?: SchemaMetadata;
2649
+ /** Function to render the edit component */
2650
+ renderEditCell: (props: {
2651
+ value: any;
2652
+ onChange: (value: any) => void;
2653
+ hasError: boolean;
2654
+ metadata?: SchemaMetadata;
2655
+ }) => CellEditRendererResult;
2656
+ /** Callback when patch should be performed */
2657
+ onPatch: (value: any) => Promise<PatchResult>;
2658
+ /** Callback to close the editor */
2659
+ onClose: (commit: boolean) => void;
2660
+ }
2661
+ /**
2662
+ * DataGridCellPatchWrapper wraps cell editing with patch functionality.
2663
+ * It manages the edit state, validation, and patch submission similar to PatchWrapper
2664
+ * but optimized for table cell context.
2665
+ */
2666
+ declare const DataGridCellPatchWrapper: React__default.FC<DataGridCellPatchWrapperProps>;
2667
+
2668
+ interface CreatePatchableColumnOptions<TRow, TShape extends Record<string, BaseSchema<any>>> {
2669
+ /** The field configuration from the table layout */
2670
+ field: TableLayoutField<TShape>;
2671
+ /** The schema containing the field definitions */
2672
+ schema: ObjectSchema<TShape>;
2673
+ /** Function to get the row ID */
2674
+ getRowId: (row: TRow) => string | number;
2675
+ /** Function to perform the patch operation */
2676
+ onPatch: (params: {
2677
+ rowId: string | number;
2678
+ fieldName: string;
2679
+ value: any;
2680
+ }) => Promise<PatchResult>;
2681
+ }
2682
+ /**
2683
+ * Creates a DataGrid column with patching capability.
2684
+ * When the column is editable, clicking a cell will open an inline editor
2685
+ * that validates and patches the value to the backend.
2686
+ */
2687
+ declare function createPatchableColumn<TRow, TShape extends Record<string, BaseSchema<any>>>(options: CreatePatchableColumnOptions<TRow, TShape>): Column<TRow>;
2688
+ /**
2689
+ * Creates multiple patchable columns from a table layout.
2690
+ */
2691
+ declare function createPatchableColumns<TRow, TShape extends Record<string, BaseSchema<any>>>(options: {
2692
+ fields: TableLayoutField<TShape>[];
2693
+ schema: ObjectSchema<TShape>;
2694
+ getRowId: (row: TRow) => string | number;
2695
+ onPatch: (params: {
2696
+ rowId: string | number;
2697
+ fieldName: string;
2698
+ value: any;
2699
+ }) => Promise<PatchResult>;
2700
+ }): Column<TRow>[];
2701
+
2259
2702
  declare const RowComponent: <R, SR>(props: RenderRowProps<R, SR>) => React.JSX.Element;
2260
2703
 
2261
2704
  declare function renderHeaderCell<R, SR>({ column, sortDirection, priority, }: RenderHeaderCellProps<R, SR>): string | react_jsx_runtime.JSX.Element;
@@ -2378,43 +2821,6 @@ interface ThemeToggleProps {
2378
2821
  }
2379
2822
  declare const ThemeToggle: ({ className }: ThemeToggleProps) => react_jsx_runtime.JSX.Element;
2380
2823
 
2381
- type ToastType = "default" | "error";
2382
- type ToastPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
2383
- interface ToastData {
2384
- id: string;
2385
- message: ReactNode;
2386
- type: ToastType;
2387
- duration?: number;
2388
- closable?: boolean;
2389
- promise?: Promise<any>;
2390
- loadingText?: ReactNode;
2391
- }
2392
- interface ToastOptions {
2393
- duration?: number;
2394
- closable?: boolean;
2395
- }
2396
- interface PromiseToastOptions extends ToastOptions {
2397
- loadingText?: ReactNode;
2398
- }
2399
- interface PromiseResult<T = any> {
2400
- success: boolean;
2401
- data?: T;
2402
- error?: any;
2403
- }
2404
- interface PromiseToastConfig {
2405
- message: ReactNode;
2406
- type: ToastType;
2407
- duration?: number;
2408
- }
2409
- type PromiseToastCallback<T = any> = (result: PromiseResult<T>) => PromiseToastConfig;
2410
- interface ToastContextType {
2411
- toasts: ToastData[];
2412
- addToast: (message: ReactNode, type: ToastType, options?: ToastOptions) => string;
2413
- addPromiseToast: <T>(promise: Promise<T>, callback: PromiseToastCallback<T>, options?: PromiseToastOptions) => string;
2414
- removeToast: (id: string) => void;
2415
- updateToast: (id: string, updates: Partial<ToastData>) => void;
2416
- }
2417
-
2418
2824
  interface ToastProps {
2419
2825
  toast: ToastData;
2420
2826
  onClose: () => void;
@@ -2435,11 +2841,6 @@ declare const ToastProvider: ({ children }: ToastProviderProps) => react_jsx_run
2435
2841
  declare const showToast: (message: ReactNode, type?: ToastType, options?: ToastOptions) => string;
2436
2842
  declare const showPromiseToast: <T>(promise: Promise<T>, callback: PromiseToastCallback<T>, options?: PromiseToastOptions) => string;
2437
2843
 
2438
- interface PatchResult {
2439
- success: boolean;
2440
- errors?: string[];
2441
- }
2442
-
2443
2844
  interface FormFieldRendererProps {
2444
2845
  schema: BaseSchema<any>;
2445
2846
  fieldState: AnyFieldApi;
@@ -2646,6 +3047,13 @@ interface TextInputProps extends Omit<React__default.ComponentProps<"input">, "s
2646
3047
  }
2647
3048
  declare const TextInput: React__default.ForwardRefExoticComponent<Omit<TextInputProps, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
2648
3049
 
3050
+ declare const toggleVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
3051
+ declare const toggleThumbVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
3052
+ interface ToggleProps extends React$1.ComponentProps<typeof SwitchPrimitive.Root>, VariantProps<typeof toggleVariants> {
3053
+ hasError?: boolean;
3054
+ }
3055
+ declare const Toggle: React$1.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
3056
+
2649
3057
  interface FormControlProps extends React__default.HTMLAttributes<HTMLDivElement> {
2650
3058
  label?: string;
2651
3059
  hint?: string;
@@ -3177,6 +3585,7 @@ type ResourceViewViewModalRendererProps = {
3177
3585
  view: ResourceViewView;
3178
3586
  context: NubaseContextData;
3179
3587
  params?: Record<string, any>;
3588
+ resourceName?: string;
3180
3589
  onClose?: () => void;
3181
3590
  onPatch?: (data: ObjectOutput<any>) => void;
3182
3591
  onError?: (error: Error) => void;
@@ -3203,6 +3612,7 @@ declare const ResourceSearchViewRenderer: FC<ResourceSearchViewRendererProps>;
3203
3612
  type ResourceViewViewRendererProps = {
3204
3613
  view: ResourceViewView;
3205
3614
  params?: Record<string, any>;
3615
+ resourceName?: string;
3206
3616
  onPatch?: (data: ObjectOutput<any>) => void;
3207
3617
  onError?: (error: Error) => void;
3208
3618
  };
@@ -3380,7 +3790,7 @@ type InlineViewViewConfig<TApiEndpoints, TActionIds extends string, TSchema exte
3380
3790
  /**
3381
3791
  * Inline view definition for search views
3382
3792
  */
3383
- type InlineSearchViewConfig<TApiEndpoints, TActionIds extends string, TSchema extends ArraySchema<any> = ArraySchema<any>, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TFilterSchema extends ObjectSchema<any> | undefined = undefined> = {
3793
+ type InlineSearchViewConfig<TApiEndpoints, TActionIds extends string, TSchema extends ArraySchema<any> = ArraySchema<any>, TParamsSchema extends ObjectSchema<any> | undefined = undefined, TFilterSchema extends ObjectSchema<any> | undefined = undefined, TPatchSchema extends ObjectSchema<any> | undefined = undefined> = {
3384
3794
  type: "resource-search";
3385
3795
  id: string;
3386
3796
  title: string;
@@ -3391,17 +3801,33 @@ type InlineSearchViewConfig<TApiEndpoints, TActionIds extends string, TSchema ex
3391
3801
  * When provided, a filter bar will be automatically generated.
3392
3802
  */
3393
3803
  schemaFilter?: (api: TApiEndpoints) => TFilterSchema;
3804
+ /**
3805
+ * Optional schema for patchable fields in inline editing.
3806
+ * Only fields present in this schema will be editable in the table.
3807
+ * Typically this is the requestBody schema of the patch endpoint.
3808
+ */
3809
+ schemaPatch?: (api: TApiEndpoints) => TPatchSchema;
3394
3810
  tableActions?: ActionLayout<TActionIds>;
3395
3811
  rowActions?: ActionLayout<TActionIds>;
3396
3812
  breadcrumbs?: BreadcrumbDefinition<TApiEndpoints, TParamsSchema>;
3397
3813
  onLoad: (args: {
3398
3814
  context: NubaseContextData<TApiEndpoints, TParamsSchema>;
3399
3815
  }) => Promise<HttpResponse<Infer<TSchema>>>;
3816
+ /**
3817
+ * Optional handler for inline patching of individual fields.
3818
+ * Required when schemaPatch is provided and tableLayout.metadata.patchable is true.
3819
+ */
3820
+ onPatch?: (args: {
3821
+ id: string | number;
3822
+ fieldName: string;
3823
+ value: any;
3824
+ context: NubaseContextData<TApiEndpoints, TParamsSchema>;
3825
+ }) => Promise<HttpResponse<any>>;
3400
3826
  };
3401
3827
  /**
3402
3828
  * Union type for all inline view configs
3403
3829
  */
3404
- type InlineViewConfig<TApiEndpoints, TActionIds extends string> = InlineCreateViewConfig<TApiEndpoints, TActionIds, any, any> | InlineViewViewConfig<TApiEndpoints, TActionIds, any, any> | InlineSearchViewConfig<TApiEndpoints, TActionIds, any, any, any>;
3830
+ type InlineViewConfig<TApiEndpoints, TActionIds extends string> = InlineCreateViewConfig<TApiEndpoints, TActionIds, any, any> | InlineViewViewConfig<TApiEndpoints, TActionIds, any, any> | InlineSearchViewConfig<TApiEndpoints, TActionIds, any, any, any, any>;
3405
3831
  /**
3406
3832
  * Inline lookup configuration for the resource builder.
3407
3833
  * Uses a callback to search for lookup items.
@@ -3474,7 +3900,7 @@ declare class ResourceBuilder<TId extends string, TApiEndpoints = never, TAction
3474
3900
  * This is the final step that produces the ResourceDescriptor.
3475
3901
  */
3476
3902
  withViews<TViews extends Record<string, InlineViewConfig<TApiEndpoints, keyof TActions & string>>>(views: TViews): ResourceDescriptor<{
3477
- [K in keyof TViews]: TViews[K] extends InlineViewConfig<TApiEndpoints, any> ? TViews[K] extends InlineCreateViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema> ? ResourceCreateView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string> : TViews[K] extends InlineViewViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema> ? ResourceViewView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string> : TViews[K] extends InlineSearchViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema, infer TFilterSchema> ? ResourceSearchView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string, TFilterSchema> : never : never;
3903
+ [K in keyof TViews]: TViews[K] extends InlineViewConfig<TApiEndpoints, any> ? TViews[K] extends InlineCreateViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema> ? ResourceCreateView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string> : TViews[K] extends InlineViewViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema> ? ResourceViewView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string> : TViews[K] extends InlineSearchViewConfig<TApiEndpoints, any, infer TSchema, infer TParamsSchema, infer TFilterSchema, any> ? ResourceSearchView<TSchema, TApiEndpoints, TParamsSchema, keyof TActions & string, TFilterSchema, any> : never : never;
3478
3904
  }, {
3479
3905
  [K in keyof TActions]: TActions[K] extends InlineResourceActionConfig<TApiEndpoints> ? {
3480
3906
  type: "resource";
@@ -3997,4 +4423,4 @@ declare function isServerNetworkError(error: unknown): error is ServerNetworkErr
3997
4423
  */
3998
4424
  declare function getNetworkErrorMessage(error: unknown): string;
3999
4425
 
4000
- export { ACTION_COLUMN_KEY, type Action, ActionBar, ActionBarContainer, type ActionBarContainerProps, type ActionBarProps, ActionCellFormatter, ActionCellRendererCell, ActionCellRendererGroup, ActionDropdownMenu, type ActionDropdownMenuProps, type ActionKeybinding, type ActionLayout, type ActionOrSeparator, ActivityIndicator, type ActivityIndicatorProps, type AuthenticatedUser, type AuthenticationController, type AuthenticationState, type AuthenticationStateListener, type BaseAction, type BaseModalFrameProps, type BaseWidgetDescriptor, Breadcrumb, BreadcrumbBar, type BreadcrumbBarProps, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, ButtonBar, type ButtonBarProps, type ButtonProps, type CalculatedColumn, type CalculatedColumnOrColumnGroup, type CalculatedColumnParent, Callout, type CalloutProps, Card, CardAction, type CardActionProps, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, CellComponent as Cell, type CellCopyArgs, type CellKeyDownArgs, type CellKeyboardEvent, type CellMouseArgs, type CellMouseEvent, type CellPasteArgs, type CellRendererProps, type CellSelectArgs, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, type CheckboxProps, ClientNetworkError, type ColSpanArgs, type Column, type ColumnGroup, type ColumnOrColumnGroup, type ColumnWidth, type ColumnWidths, type CommandAction, type CommandRegistry, ConnectedWidget, type ConnectedWidgetProps, ControllableSearchableTree, type ControllableSearchableTreeProps, Dashboard, type DashboardDescriptor, type DashboardDragConfig, type DashboardGridConfig, type DashboardProps, DashboardRenderer, type DashboardRendererProps, type DashboardResizeConfig, DashboardWidget, type DashboardWidgetProps, DataGrid, DataGridDefaultRenderersContext, type DataGridHandle, type DataGridProps, DataState, type DataStateProps, type DefaultColumnOptions, Dialog, type DialogProps, Dock, type DockProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EnhancedPagination, type EnhancedPaginationProps, type ErrorListener, type FillEvent, type FilterFieldDescriptor, type FlatItem, type FlatMenuItem, FormControl, type FormControlProps, FormFieldRenderer, type FormFieldRendererProps, FormValidationErrors, type FormValidationErrorsProps, type GlobalActionsConfig, type HandlerAction, HttpClient, type HttpRequestConfig, type HttpResponse, type IconComponent, type InlineCreateViewConfig, type InlineLookupConfig, type InlineResourceActionConfig, type InlineSearchViewConfig, type InlineViewConfig, type InlineViewViewConfig, type KeySequence, type Keybinding, type KeybindingState, type KpiWidgetDescriptor, Label, type LabelProps, EnhancedPagination as LegacyPagination, ListNavigator, type ListNavigatorItem, type ListNavigatorProps, type LoginCompleteCredentials, type LoginCredentials, type LoginStartResponse, LookupSelect, LookupSelectFilter, type LookupSelectFilterProps, type LookupSelectProps, MainNav, type MainNavProps, type MarkdownCommand, MarkdownTextArea, type MarkdownTextAreaHandle, type MarkdownTextAreaProps, type MenuItem, MenuItemComponent, type MenuItemOrSeparator, Modal, type ModalAlignment, type ModalConfig, ModalFrame, type ModalFrameProps, ModalFrameSchemaForm, type ModalFrameSchemaFormProps, ModalFrameStructured, type ModalFrameStructuredProps, type ModalInstance, type ModalProps, ModalProvider, type ModalSize, ModalViewRenderer, type ModalViewRendererProps, type NavItem, NavItems, NetworkError, type NetworkErrorOptions, NubaseApp, type NubaseAppProps, type NubaseContextData, type NubaseFrontendConfig, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type EnhancedPaginationProps as PaginationProps, type ParseErrorDetail, type ParsedKeybinding, type PromiseResult, type PromiseToastCallback, type PromiseToastConfig, type PromiseToastOptions, type ProportionalChartVariant, type ProportionalWidgetDescriptor, type RenderCellProps, type RenderCheckboxProps, type RenderEditCellProps, type RenderGroupCellProps, type RenderHeaderCellProps, type RenderRowProps, type RenderSortIconProps, type RenderSortPriorityProps, type RenderSortStatusProps, type RenderSummaryCellProps, type Renderers, type ResolvedMenuItem, type ResourceAction, type ResourceActionExecutionContext, type ResourceCreateView, ResourceCreateViewModalRenderer, type ResourceCreateViewModalRendererProps, ResourceCreateViewRenderer, type ResourceCreateViewRendererProps, type ResourceDescriptor, type ResourceLink, type ResourceLookupConfig, type ResourceSearchView, ResourceSearchViewModalRenderer, type ResourceSearchViewModalRendererProps, ResourceSearchViewRenderer, type ResourceSearchViewRendererProps, type ResourceViewView, ResourceViewViewModalRenderer, type ResourceViewViewModalRendererProps, ResourceViewViewRenderer, type ResourceViewViewRendererProps, RowComponent as Row, type RowHeightArgs, type RowsChangeData, SELECT_COLUMN_KEY, SchemaFilterBar, type SchemaFilterBarProps, type SchemaFilterConfig, type SchemaFilterState, SchemaForm, SchemaFormBody, type SchemaFormBodyProps, SchemaFormButtonBar, type SchemaFormButtonBarProps, type SchemaFormConfiguration, type SchemaFormProps, SchemaFormValidationErrors, type SchemaFormValidationErrorsProps, SearchBar, type SearchBarProps, SearchFilterBadge, type SearchFilterBadgeProps, SearchFilterBar, type SearchFilterBarProps, SearchFilterCheckIndicator, SearchFilterChevron, type SearchFilterChevronProps, SearchFilterDropdown, type SearchFilterDropdownProps, SearchTextInput, type SearchTextInputProps, SearchableTreeNavigator, type SearchableTreeNavigatorProps, Select, SelectCellFormatter, type SelectCellOptions, SelectColumn, SelectFilter, type SelectFilterOption, type SelectFilterProps, type SelectHeaderRowEvent, type SelectOption, type SelectProps, type SelectRowEvent, type SelectionRange, type SeriesChartVariant, type SeriesWidgetDescriptor, ServerNetworkError, type SignupCredentials, type SortColumn, type SortDirection, type StandardViews, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, type TableWidgetDescriptor, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, type TextController, TextFilter, type TextFilterProps, TextInput, type TextInputProps, type TextState, ThemeToggle, type ThemeToggleProps, Toast, ToastContainer, type ToastData, type ToastOptions, type ToastPosition, ToastProvider, type ToastType, ToggleGroup, TopBar, type TopBarProps, TreeDataGrid, type TreeDataGridProps, TreeNavigator, type TreeNavigatorItem, type TreeNavigatorProps, TypedApiClient, type TypedApiClientFromEndpoints, type TypedCommandDefinition, type UseDialogResult, type UseModalResult, type UseNubaseMutationOptions, type UseNubaseQueryOptions, type UseSchemaFiltersOptions, type UseSchemaFiltersReturn, type UseSchemaFormOptions, UserAvatar, type UserAvatarProps, UserMenu, type UserMenuProps, type View, type ViewBase, type ViewType, Widget, type WidgetDescriptor, type WidgetLayoutConfig, type WidgetProps, type WorkspaceContext, type WorkspaceInfo, boldCommand, checkListCommand, checkboxVariants, cleanupKeybindings, codeBlockCommand, codeCommand, commandRegistry, index as commands, createActionColumn, createCommand, createCommandAction, createCreateView, createDashboard, createHandlerAction, createResource, createResourceAction, createTypedApiClient, createViewFactory, createViewView, defaultKeybindings, defineCreateView, defineViewView, filterNavItems, flattenNavItems, getInitials, getLayout, getNetworkErrorMessage, getResourceLinkSearch, getWorkspaceFromRouter, groupActionsBySeparators, headingCommand, imageCommand, introspectSchemaForFilters, isClientNetworkError, isCommandAction, isHandlerAction, isNetworkError, isResourceLink, isServerNetworkError, italicCommand, keybindingManager, linkCommand, lookupSelectVariants, matchesKeySequence, normalizeEventKey, optionVariants, orderedListCommand, parseKeySequence, parseKeybinding, quoteCommand, registerKeybindings, renderCheckbox, renderHeaderCell, renderSortIcon, renderSortPriority, renderToggleGroup, renderValue, resolveMenuItem, resolveMenuItems, resolveResourceLink, resourceLink, searchFilterBarClearButtonVariants, searchFilterBarInputVariants, searchFilterBarVariants, searchFilterContentVariants, searchFilterTriggerVariants, showPromiseToast, showToast, strikethroughCommand, textEditor, unorderedListCommand, updateKeybindings, useActionExecutor, useChart, useComputedMetadata, useDialog, useHeaderRowSelection, useLayout, useModal, useNubaseMutation, useNubaseQuery, useResourceCreateMutation, useResourceDeleteMutation, useResourceInvalidation, useResourceSearchQuery, useResourceUpdateMutation, useResourceViewQuery, useRowSelection, useSchemaFilters, useSchemaForm, useToast, useWorkspace, useWorkspaceOptional, workbenchOpenResourceOperation, workbenchOpenResourceOperationInModal, workbenchRunCommand, workbenchSetTheme, workbenchViewHistory };
4426
+ export { ACTION_COLUMN_KEY, type Action, ActionBar, ActionBarContainer, type ActionBarContainerProps, type ActionBarProps, ActionCellFormatter, ActionCellRendererCell, ActionCellRendererGroup, ActionDropdownMenu, type ActionDropdownMenuProps, type ActionKeybinding, type ActionLayout, type ActionOrSeparator, ActivityIndicator, type ActivityIndicatorProps, type AuthenticatedUser, type AuthenticationController, type AuthenticationState, type AuthenticationStateListener, type BaseAction, type BaseModalFrameProps, type BaseWidgetDescriptor, BooleanCellEditRenderer, Breadcrumb, BreadcrumbBar, type BreadcrumbBarProps, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, ButtonBar, type ButtonBarProps, type ButtonProps, type CalculatedColumn, type CalculatedColumnOrColumnGroup, type CalculatedColumnParent, Callout, type CalloutProps, Card, CardAction, type CardActionProps, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, CellComponent as Cell, type CellCopyArgs, type CellEditLifecycle, type CellEditRendererProps, type CellEditRendererResult, type CellKeyDownArgs, type CellKeyboardEvent, type CellMouseArgs, type CellMouseEvent, type CellPasteArgs, type CellRendererProps, type CellSelectArgs, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, type CheckboxProps, ClientNetworkError, type ColSpanArgs, type Column, type ColumnGroup, type ColumnOrColumnGroup, type ColumnWidth, type ColumnWidths, type CommandAction, type CommandRegistry, ConnectedWidget, type ConnectedWidgetProps, ControllableSearchableTree, type ControllableSearchableTreeProps, type CreatePatchableColumnOptions, Dashboard, type DashboardDescriptor, type DashboardDragConfig, type DashboardGridConfig, type DashboardProps, DashboardRenderer, type DashboardRendererProps, type DashboardResizeConfig, DashboardWidget, type DashboardWidgetProps, DataGrid, DataGridCellPatchWrapper, type DataGridCellPatchWrapperProps, DataGridDefaultRenderersContext, type DataGridHandle, type DataGridProps, DataState, type DataStateProps, type DefaultColumnOptions, Dialog, type DialogProps, Dock, type DockProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EnhancedPagination, type EnhancedPaginationProps, type ErrorListener, type ErrorPayload, type EventListener, type EventSource, type FillEvent, type FilterFieldDescriptor, type FlatItem, type FlatMenuItem, FormControl, type FormControlProps, FormFieldRenderer, type FormFieldRendererProps, FormValidationErrors, type FormValidationErrorsProps, type GlobalActionsConfig, type HandlerAction, HttpClient, type HttpRequestConfig, type HttpResponse, type IconComponent, type InlineCreateViewConfig, type InlineLookupConfig, type InlineResourceActionConfig, type InlineSearchViewConfig, type InlineViewConfig, type InlineViewViewConfig, type KeySequence, type Keybinding, type KeybindingState, type KpiWidgetDescriptor, Label, type LabelProps, EnhancedPagination as LegacyPagination, ListNavigator, type ListNavigatorItem, type ListNavigatorProps, type LoginCompleteCredentials, type LoginCredentials, type LoginStartResponse, LookupSelect, LookupSelectFilter, type LookupSelectFilterProps, type LookupSelectProps, MainNav, type MainNavProps, type MarkdownCommand, MarkdownTextArea, type MarkdownTextAreaHandle, type MarkdownTextAreaProps, type MenuItem, MenuItemComponent, type MenuItemOrSeparator, Modal, type ModalAlignment, type ModalConfig, ModalFrame, type ModalFrameProps, ModalFrameSchemaForm, type ModalFrameSchemaFormProps, ModalFrameStructured, type ModalFrameStructuredProps, type ModalInstance, type ModalProps, ModalProvider, type ModalSize, ModalViewRenderer, type ModalViewRendererProps, NAVIGATE_COLUMN_KEY, type NavItem, NavItems, NetworkError, type NetworkErrorOptions, type NotificationRule, type NotificationRules, NubaseApp, type NubaseAppProps, type NubaseContextData, type NubaseEventMap, type NubaseEventType, type NubaseFrontendConfig, NumberCellEditRenderer, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type EnhancedPaginationProps as PaginationProps, type ParseErrorDetail, type ParsedKeybinding, type PatchResult, type PromiseResult, type PromiseToastCallback, type PromiseToastConfig, type PromiseToastOptions, type ProportionalChartVariant, type ProportionalWidgetDescriptor, type RenderCellProps, type RenderCheckboxProps, type RenderEditCellProps, type RenderGroupCellProps, type RenderHeaderCellProps, type RenderRowProps, type RenderSortIconProps, type RenderSortPriorityProps, type RenderSortStatusProps, type RenderSummaryCellProps, type Renderers, type ResolvedMenuItem, type ResourceAction, type ResourceActionExecutionContext, type ResourceCreateView, ResourceCreateViewModalRenderer, type ResourceCreateViewModalRendererProps, ResourceCreateViewRenderer, type ResourceCreateViewRendererProps, type ResourceDescriptor, type ResourceEventPayload, type ResourceLink, type ResourceLookupConfig, type ResourceSearchView, ResourceSearchViewModalRenderer, type ResourceSearchViewModalRendererProps, ResourceSearchViewRenderer, type ResourceSearchViewRendererProps, type ResourceViewView, ResourceViewViewModalRenderer, type ResourceViewViewModalRendererProps, ResourceViewViewRenderer, type ResourceViewViewRendererProps, RowComponent as Row, type RowHeightArgs, type RowsChangeData, SELECT_COLUMN_KEY, SchemaFilterBar, type SchemaFilterBarProps, type SchemaFilterConfig, type SchemaFilterState, SchemaForm, SchemaFormBody, type SchemaFormBodyProps, SchemaFormButtonBar, type SchemaFormButtonBarProps, type SchemaFormConfiguration, type SchemaFormProps, SchemaFormValidationErrors, type SchemaFormValidationErrorsProps, SearchBar, type SearchBarProps, SearchFilterBadge, type SearchFilterBadgeProps, SearchFilterBar, type SearchFilterBarProps, SearchFilterCheckIndicator, SearchFilterChevron, type SearchFilterChevronProps, SearchFilterDropdown, type SearchFilterDropdownProps, SearchTextInput, type SearchTextInputProps, SearchableTreeNavigator, type SearchableTreeNavigatorProps, Select, SelectCellFormatter, type SelectCellOptions, SelectColumn, SelectFilter, type SelectFilterOption, type SelectFilterProps, type SelectHeaderRowEvent, type SelectOption, type SelectProps, type SelectRowEvent, type SelectionRange, type SeriesChartVariant, type SeriesWidgetDescriptor, ServerNetworkError, type SignupCredentials, type SortColumn, type SortDirection, type StandardViews, StringCellEditRenderer, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, type TableWidgetDescriptor, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, type TextController, TextFilter, type TextFilterProps, TextInput, type TextInputProps, type TextState, ThemeToggle, type ThemeToggleProps, Toast, ToastContainer, type ToastData, type ToastOptions, type ToastPosition, ToastProvider, type ToastType, Toggle, ToggleGroup, type ToggleProps, TopBar, type TopBarProps, TreeDataGrid, type TreeDataGridProps, TreeNavigator, type TreeNavigatorItem, type TreeNavigatorProps, TypedApiClient, type TypedApiClientFromEndpoints, type TypedCommandDefinition, type UseDialogResult, type UseModalResult, type UseNubaseMutationOptions, type UseNubaseQueryOptions, type UseSchemaFiltersOptions, type UseSchemaFiltersReturn, type UseSchemaFormOptions, UserAvatar, type UserAvatarProps, UserMenu, type UserMenuProps, type View, type ViewBase, type ViewType, Widget, type WidgetDescriptor, type WidgetLayoutConfig, type WidgetProps, type WorkspaceContext, type WorkspaceInfo, boldCommand, checkListCommand, checkboxVariants, cleanupKeybindings, codeBlockCommand, codeCommand, commandRegistry, index as commands, createActionColumn, createCommand, createCommandAction, createCreateView, createDashboard, createHandlerAction, createNavigateColumn, createPatchableColumn, createPatchableColumns, createResource, createResourceAction, createTypedApiClient, createViewFactory, createViewView, defaultKeybindings, defaultNotificationRules, defineCreateView, defineViewView, emitEvent, eventManager, filterNavItems, flattenNavItems, getInitials, getLayout, getNetworkErrorMessage, getResourceLinkSearch, getWorkspaceFromRouter, groupActionsBySeparators, headingCommand, imageCommand, introspectSchemaForFilters, isClientNetworkError, isCommandAction, isHandlerAction, isNetworkError, isResourceLink, isServerNetworkError, italicCommand, keybindingManager, linkCommand, lookupSelectVariants, matchesKeySequence, normalizeEventKey, optionVariants, orderedListCommand, parseKeySequence, parseKeybinding, quoteCommand, registerKeybindings, renderCheckbox, renderHeaderCell, renderSortIcon, renderSortPriority, renderToggleGroup, renderValue, renderCellEdit as resolveEditRenderer, resolveMenuItem, resolveMenuItems, resolveResourceLink, renderCellView as resolveViewRenderer, resourceLink, searchFilterBarClearButtonVariants, searchFilterBarInputVariants, searchFilterBarVariants, searchFilterContentVariants, searchFilterTriggerVariants, setGlobalEventEmitter, showPromiseToast, showToast, strikethroughCommand, textEditor, toggleThumbVariants, toggleVariants, unorderedListCommand, updateKeybindings, useActionExecutor, useChart, useComputedMetadata, useDialog, useHeaderRowSelection, useLayout, useModal, useNubaseMutation, useNubaseQuery, useResourceCreateMutation, useResourceDeleteMutation, useResourceInvalidation, useResourceSearchQuery, useResourceUpdateMutation, useResourceViewQuery, useRowSelection, useSchemaFilters, useSchemaForm, useToast, useWorkspace, useWorkspaceOptional, workbenchOpenResourceOperation, workbenchOpenResourceOperationInModal, workbenchRunCommand, workbenchSetTheme, workbenchViewHistory };