@duke333/builder-ui 0.1.0 → 0.1.1
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/README.md +73 -3
- package/dist/admin/index.d.ts +243 -1
- package/dist/admin/index.js +1565 -44
- package/dist/admin/index.js.map +1 -1
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1654 -86
- package/dist/index.js.map +1 -1
- package/dist/integration/index.d.ts +27 -0
- package/dist/integration/index.js +435 -0
- package/dist/integration/index.js.map +1 -0
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -58,11 +58,81 @@ export default function RuntimePage() {
|
|
|
58
58
|
`DynamicView` нь form + list нийлсэн CRUD screen. Харин зөвхөн form эсвэл зөвхөн
|
|
59
59
|
grid/list хэрэгтэй бол `DynamicForm`, `DynamicList`-ийг шууд ашиглана.
|
|
60
60
|
|
|
61
|
+
## Integration API
|
|
62
|
+
|
|
63
|
+
Host app нэг builder client object-оор API, hooks, route config-оо авах бол:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { createBuilderIntegration } from "@duke333/builder-ui/integration";
|
|
67
|
+
import { api } from "@/lib/api/apiClient";
|
|
68
|
+
|
|
69
|
+
export const builder = createBuilderIntegration({
|
|
70
|
+
transport: api,
|
|
71
|
+
adminBasePath: "/admin/dev/builder",
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Үр дүнд нь:
|
|
76
|
+
|
|
77
|
+
- `builder.api`
|
|
78
|
+
- `builder.hooks`
|
|
79
|
+
- `builder.routes`
|
|
80
|
+
|
|
81
|
+
## Default Admin Pages
|
|
82
|
+
|
|
83
|
+
Admin home/forms/lists/views screen-үүдийг host app дотор олон wrapper файлгүйгээр
|
|
84
|
+
үүсгэх бол:
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
import { createBuilderAdminPages } from "@duke333/builder-ui/admin";
|
|
88
|
+
import { createBuilderIntegration } from "@duke333/builder-ui/integration";
|
|
89
|
+
import { api } from "@/lib/api/apiClient";
|
|
90
|
+
|
|
91
|
+
const integration = createBuilderIntegration({
|
|
92
|
+
transport: api,
|
|
93
|
+
adminBasePath: "/admin/dev/builder",
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
export const builderAdmin = createBuilderAdminPages({
|
|
97
|
+
hooks: integration.hooks,
|
|
98
|
+
routes: {
|
|
99
|
+
adminBasePath: integration.routes.adminBasePath,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Route file дээр:
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
export default function Page() {
|
|
108
|
+
return <builderAdmin.AdminFormsPage />;
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
New/edit route дээр:
|
|
113
|
+
|
|
114
|
+
```tsx
|
|
115
|
+
export default function Page() {
|
|
116
|
+
return <builderAdmin.AdminNewFormPage />;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export default function EditPage({ searchParams }: { searchParams: { id?: string } }) {
|
|
120
|
+
return <builderAdmin.AdminEditFormPage formId={searchParams.id} />;
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Available default admin pages:
|
|
125
|
+
|
|
126
|
+
- `AdminHomePage`
|
|
127
|
+
- `AdminFormsPage`, `AdminNewFormPage`, `AdminEditFormPage`
|
|
128
|
+
- `AdminListsPage`, `AdminNewListPage`, `AdminEditListPage`
|
|
129
|
+
- `AdminViewsPage`, `AdminNewViewPage`, `AdminEditViewPage`
|
|
130
|
+
|
|
61
131
|
## Host UI Adapter
|
|
62
132
|
|
|
63
|
-
Package нь shadcn/ui-г шууд эзэмшихгүй.
|
|
64
|
-
|
|
65
|
-
|
|
133
|
+
Package нь shadcn/ui-г шууд эзэмшихгүй. Default admin pages нь dependency-free HTML
|
|
134
|
+
controls ашиглана. Host app өөрийн Button, Dialog, DataGrid, form renderer зэрэг
|
|
135
|
+
design-system component-уудаа adapter-аар өгвөл custom UI layer ашиглаж болно.
|
|
66
136
|
|
|
67
137
|
## Publish / Update
|
|
68
138
|
|
package/dist/admin/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ComponentType } from 'react';
|
|
3
|
+
import { BuilderApiContracts } from '../api/index.js';
|
|
4
|
+
import { BuilderHooks } from '../hooks/index.js';
|
|
3
5
|
import { UseFormReturn, UseFieldArrayReturn, Resolver } from 'react-hook-form';
|
|
6
|
+
import '@tanstack/react-query';
|
|
4
7
|
|
|
5
8
|
declare const BUILDER_EDITOR_NONE_VALUE = "__none";
|
|
6
9
|
type BuilderEditorSelectOption = {
|
|
@@ -428,6 +431,165 @@ declare function createBuilderListEditorPageComponent<TEntity extends BuilderEdi
|
|
|
428
431
|
listId?: string;
|
|
429
432
|
}) => react.JSX.Element;
|
|
430
433
|
|
|
434
|
+
type BuilderDefaultOption = {
|
|
435
|
+
value: string;
|
|
436
|
+
label: string;
|
|
437
|
+
};
|
|
438
|
+
type BuilderDefaultFormEditorBodyOptions = {
|
|
439
|
+
backHref: string;
|
|
440
|
+
fieldTypeOptions: BuilderDefaultOption[];
|
|
441
|
+
formTriggerEventOptions: BuilderDefaultOption[];
|
|
442
|
+
fieldTriggerEventOptions: BuilderDefaultOption[];
|
|
443
|
+
};
|
|
444
|
+
type BuilderDefaultListEditorBodyOptions = {
|
|
445
|
+
backHref: string;
|
|
446
|
+
listTriggerEventOptions: BuilderDefaultOption[];
|
|
447
|
+
};
|
|
448
|
+
declare function createBuilderDefaultFormEditorBody<TFieldType extends string, TTriggerEvent extends string>(options: BuilderDefaultFormEditorBodyOptions): ({ formId, form, fieldArray, subformArray, triggerArray, fields, sourceType, sourceTable, tables, emptyField, emptyTrigger, isSaving, importFieldsFromTable, }: BuilderFormEditorBodyProps<TFieldType, TTriggerEvent>) => react.JSX.Element;
|
|
449
|
+
declare function createBuilderDefaultListEditorBody<TTriggerEvent extends string>(options: BuilderDefaultListEditorBodyOptions): ({ listId, form, columnArray, triggerArray, sourceType, sourceTable, tables, emptyColumn, emptyTrigger, isSaving, importColumnsFromTable, }: BuilderListEditorBodyProps<TTriggerEvent>) => react.JSX.Element;
|
|
450
|
+
|
|
451
|
+
type BuilderDefaultEntity = {
|
|
452
|
+
id: string;
|
|
453
|
+
title: string;
|
|
454
|
+
description?: string | null;
|
|
455
|
+
};
|
|
456
|
+
type BuilderDefaultEntityManagerLabels<TEntity extends BuilderDefaultEntity> = {
|
|
457
|
+
title: string;
|
|
458
|
+
description: string;
|
|
459
|
+
searchPlaceholder: string;
|
|
460
|
+
emptyTitle: string;
|
|
461
|
+
emptyDescription: string;
|
|
462
|
+
addLabel: string;
|
|
463
|
+
editLabel: string;
|
|
464
|
+
replicateLabel: string;
|
|
465
|
+
deleteLabel: string;
|
|
466
|
+
runtimeLabel: string;
|
|
467
|
+
deleteConfirm(entity: TEntity): string;
|
|
468
|
+
replicatePrompt(entity: TEntity): string;
|
|
469
|
+
replicateDefaultTitle(entity: TEntity): string;
|
|
470
|
+
};
|
|
471
|
+
type BuilderDefaultEntityListResult<TEntity> = {
|
|
472
|
+
items: TEntity[];
|
|
473
|
+
total: number;
|
|
474
|
+
};
|
|
475
|
+
type BuilderDefaultEntityQueryResult<TEntity> = {
|
|
476
|
+
data?: BuilderDefaultEntityListResult<TEntity>;
|
|
477
|
+
isPending: boolean;
|
|
478
|
+
isError?: boolean;
|
|
479
|
+
};
|
|
480
|
+
type BuilderDefaultEntityMutation<TInput> = {
|
|
481
|
+
mutateAsync(input: TInput): Promise<unknown>;
|
|
482
|
+
isPending?: boolean;
|
|
483
|
+
};
|
|
484
|
+
type BuilderDefaultEntityManagerState = {
|
|
485
|
+
page: number;
|
|
486
|
+
pageSize: number;
|
|
487
|
+
search: string;
|
|
488
|
+
};
|
|
489
|
+
type BuilderDefaultEntityManagerDependencies<TEntity extends BuilderDefaultEntity, TQuery> = {
|
|
490
|
+
labels: BuilderDefaultEntityManagerLabels<TEntity>;
|
|
491
|
+
createHref?: string;
|
|
492
|
+
editHref(entity: TEntity): string;
|
|
493
|
+
runtimeHref?: (entity: TEntity) => string;
|
|
494
|
+
getDetail?: (entity: TEntity) => string;
|
|
495
|
+
buildQuery(state: BuilderDefaultEntityManagerState): TQuery;
|
|
496
|
+
hooks: {
|
|
497
|
+
useEntities(query: TQuery): BuilderDefaultEntityQueryResult<TEntity>;
|
|
498
|
+
useDelete(): BuilderDefaultEntityMutation<string>;
|
|
499
|
+
useReplicate(): BuilderDefaultEntityMutation<{
|
|
500
|
+
id: string;
|
|
501
|
+
input: {
|
|
502
|
+
title?: string;
|
|
503
|
+
};
|
|
504
|
+
}>;
|
|
505
|
+
};
|
|
506
|
+
};
|
|
507
|
+
declare function createBuilderDefaultEntityManagerComponent<TEntity extends BuilderDefaultEntity, TQuery>(deps: BuilderDefaultEntityManagerDependencies<TEntity, TQuery>): () => react.JSX.Element;
|
|
508
|
+
|
|
509
|
+
type BuilderAdminEntity = BuilderDefaultEntity & {
|
|
510
|
+
key?: string;
|
|
511
|
+
};
|
|
512
|
+
type BuilderAdminListResponse<TEntity extends BuilderAdminEntity> = {
|
|
513
|
+
items: TEntity[];
|
|
514
|
+
total: number;
|
|
515
|
+
};
|
|
516
|
+
type BuilderAdminListQuery = {
|
|
517
|
+
page?: number;
|
|
518
|
+
pageSize?: number;
|
|
519
|
+
search?: string;
|
|
520
|
+
};
|
|
521
|
+
type BuilderAdminPageContracts = BuilderApiContracts & {
|
|
522
|
+
BuilderDbTable: BuilderEditorDbTable<string>;
|
|
523
|
+
BuilderForm: BuilderAdminEntity & BuilderFormEditorEntity<string, string>;
|
|
524
|
+
BuilderList: BuilderAdminEntity & BuilderListEditorEntity<string>;
|
|
525
|
+
BuilderView: BuilderAdminEntity & BuilderViewEditorEntity<unknown>;
|
|
526
|
+
ListBuilderFormsQuery: BuilderAdminListQuery;
|
|
527
|
+
ListBuilderListsQuery: BuilderAdminListQuery;
|
|
528
|
+
ListBuilderViewsQuery: BuilderAdminListQuery;
|
|
529
|
+
ListBuilderFormsResponse: BuilderAdminListResponse<BuilderAdminEntity>;
|
|
530
|
+
ListBuilderListsResponse: BuilderAdminListResponse<BuilderAdminEntity>;
|
|
531
|
+
ListBuilderViewsResponse: BuilderAdminListResponse<BuilderAdminEntity>;
|
|
532
|
+
};
|
|
533
|
+
type BuilderAdminPagesRoutes = {
|
|
534
|
+
adminBasePath?: string;
|
|
535
|
+
runtimeBasePath?: string;
|
|
536
|
+
formsPath?: string;
|
|
537
|
+
newFormPath?: string;
|
|
538
|
+
editFormPath?: (id: string) => string;
|
|
539
|
+
runtimeFormPath?: (id: string) => string;
|
|
540
|
+
listsPath?: string;
|
|
541
|
+
newListPath?: string;
|
|
542
|
+
editListPath?: (id: string) => string;
|
|
543
|
+
runtimeListPath?: (id: string) => string;
|
|
544
|
+
viewsPath?: string;
|
|
545
|
+
newViewPath?: string;
|
|
546
|
+
editViewPath?: (id: string) => string;
|
|
547
|
+
runtimeViewPath?: (id: string) => string;
|
|
548
|
+
};
|
|
549
|
+
type BuilderAdminPagesOptions<C extends BuilderAdminPageContracts> = {
|
|
550
|
+
hooks: BuilderHooks<C>;
|
|
551
|
+
routes?: BuilderAdminPagesRoutes;
|
|
552
|
+
fieldTypeOptions?: BuilderDefaultOption[];
|
|
553
|
+
formTriggerEventOptions?: BuilderDefaultOption[];
|
|
554
|
+
listTriggerEventOptions?: BuilderDefaultOption[];
|
|
555
|
+
fieldTriggerEventOptions?: BuilderDefaultOption[];
|
|
556
|
+
permissionOptions?: BuilderDefaultOption[];
|
|
557
|
+
defaultPermission?: string;
|
|
558
|
+
notifySuccess?(message: string): void;
|
|
559
|
+
notifyError?(error: unknown): void;
|
|
560
|
+
parseViewTriggers?(value: string): unknown[];
|
|
561
|
+
};
|
|
562
|
+
declare function createBuilderAdminPages<C extends BuilderAdminPageContracts>({ hooks, routes, fieldTypeOptions, formTriggerEventOptions, listTriggerEventOptions, fieldTriggerEventOptions, permissionOptions, defaultPermission, notifySuccess, notifyError, parseViewTriggers, }: BuilderAdminPagesOptions<C>): {
|
|
563
|
+
AdminHomePage: () => react.JSX.Element;
|
|
564
|
+
AdminFormsPage: () => react.JSX.Element;
|
|
565
|
+
AdminNewFormPage: () => react.JSX.Element;
|
|
566
|
+
AdminEditFormPage: ({ formId }: {
|
|
567
|
+
formId?: string;
|
|
568
|
+
}) => react.JSX.Element;
|
|
569
|
+
AdminListsPage: () => react.JSX.Element;
|
|
570
|
+
AdminNewListPage: () => react.JSX.Element;
|
|
571
|
+
AdminEditListPage: ({ listId }: {
|
|
572
|
+
listId?: string;
|
|
573
|
+
}) => react.JSX.Element;
|
|
574
|
+
AdminViewsPage: () => react.JSX.Element;
|
|
575
|
+
AdminNewViewPage: () => react.JSX.Element;
|
|
576
|
+
AdminEditViewPage: ({ viewId }: {
|
|
577
|
+
viewId?: string;
|
|
578
|
+
}) => react.JSX.Element;
|
|
579
|
+
routes: {
|
|
580
|
+
adminBasePath: string;
|
|
581
|
+
formsPath: string;
|
|
582
|
+
newFormPath: string;
|
|
583
|
+
editFormPath: (id: string) => string;
|
|
584
|
+
listsPath: string;
|
|
585
|
+
newListPath: string;
|
|
586
|
+
editListPath: (id: string) => string;
|
|
587
|
+
viewsPath: string;
|
|
588
|
+
newViewPath: string;
|
|
589
|
+
editViewPath: (id: string) => string;
|
|
590
|
+
};
|
|
591
|
+
};
|
|
592
|
+
|
|
431
593
|
type BuilderEntityManagerEntity = {
|
|
432
594
|
id: string;
|
|
433
595
|
title: string;
|
|
@@ -563,6 +725,35 @@ declare function createBuilderEntityDialogManagerComponent<TEntity extends Build
|
|
|
563
725
|
query: TQuery;
|
|
564
726
|
}, TQuery, TController>(deps: BuilderEntityDialogManagerDependencies<TEntity, TColumn, TState, TQuery, TController>): () => react.JSX.Element;
|
|
565
727
|
|
|
728
|
+
type BuilderOptionEntity$1 = {
|
|
729
|
+
id: string;
|
|
730
|
+
title: string;
|
|
731
|
+
};
|
|
732
|
+
type BuilderDefaultViewEditorContracts = BuilderApiContracts & {
|
|
733
|
+
BuilderForm: BuilderOptionEntity$1;
|
|
734
|
+
BuilderList: BuilderOptionEntity$1;
|
|
735
|
+
BuilderView: BuilderViewEditorEntity & {
|
|
736
|
+
id: string;
|
|
737
|
+
title: string;
|
|
738
|
+
};
|
|
739
|
+
};
|
|
740
|
+
type BuilderDefaultViewEditorPageOptions<C extends BuilderDefaultViewEditorContracts> = {
|
|
741
|
+
hooks: BuilderHooks<C>;
|
|
742
|
+
backHref: string;
|
|
743
|
+
editHref(id: string): string;
|
|
744
|
+
permissionOptions: Array<{
|
|
745
|
+
value: string;
|
|
746
|
+
label: string;
|
|
747
|
+
}>;
|
|
748
|
+
defaultPermission: string;
|
|
749
|
+
parseTriggers(value: string): unknown[];
|
|
750
|
+
notifySuccess?(message: string): void;
|
|
751
|
+
notifyError?(error: unknown): void;
|
|
752
|
+
};
|
|
753
|
+
declare function createBuilderDefaultViewEditorPage<C extends BuilderDefaultViewEditorContracts>(options: BuilderDefaultViewEditorPageOptions<C>): ({ viewId }: {
|
|
754
|
+
viewId?: string;
|
|
755
|
+
}) => react.JSX.Element;
|
|
756
|
+
|
|
566
757
|
type BuilderOptionEntity = {
|
|
567
758
|
id: string;
|
|
568
759
|
title: string;
|
|
@@ -628,4 +819,55 @@ declare function createBuilderViewDialogComponent<TView extends BuilderViewEdito
|
|
|
628
819
|
id: string;
|
|
629
820
|
}, TForm extends BuilderOptionEntity, TList extends BuilderOptionEntity, TInput>(deps: BuilderViewDialogDependencies<TView, TForm, TList, TInput>): ({ open, editing, forms, lists, onClose, onSave, isSaving, }: BuilderViewDialogProps<TView, TForm, TList, TInput>) => react.JSX.Element;
|
|
630
821
|
|
|
631
|
-
|
|
822
|
+
declare const builderFormLayoutDragDataType = "application/x-winu-builder-layout-field";
|
|
823
|
+
type BuilderFormLayoutItem = {
|
|
824
|
+
key: string;
|
|
825
|
+
kind: "field" | "subform";
|
|
826
|
+
meta: string;
|
|
827
|
+
span: number;
|
|
828
|
+
};
|
|
829
|
+
type BuilderFormLayoutDragPayload = {
|
|
830
|
+
type: "palette";
|
|
831
|
+
key: string;
|
|
832
|
+
} | {
|
|
833
|
+
type: "layout";
|
|
834
|
+
groupIndex: number;
|
|
835
|
+
fieldIndex: number;
|
|
836
|
+
key: string;
|
|
837
|
+
};
|
|
838
|
+
declare function clampBuilderFormLayoutSpan(span: number, columns: 6 | 8 | 12): number;
|
|
839
|
+
declare function swapBuilderFormLayoutItems<T>(items: T[], from: number, to: number): T[];
|
|
840
|
+
declare function nextBuilderFormLayoutGroupId(groups: BuilderFormEditorLayoutGroupValues[]): string;
|
|
841
|
+
declare function serializeBuilderFormLayoutDragPayload(payload: BuilderFormLayoutDragPayload): string;
|
|
842
|
+
declare function parseBuilderFormLayoutDragPayload(raw: string): {
|
|
843
|
+
type: "palette";
|
|
844
|
+
key: string;
|
|
845
|
+
groupIndex?: undefined;
|
|
846
|
+
fieldIndex?: undefined;
|
|
847
|
+
} | {
|
|
848
|
+
type: "layout";
|
|
849
|
+
groupIndex: number | undefined;
|
|
850
|
+
fieldIndex: number | undefined;
|
|
851
|
+
key: string;
|
|
852
|
+
} | null;
|
|
853
|
+
type UseBuilderFormLayoutEditorArgs<TFieldType extends string, TTriggerEvent extends string> = {
|
|
854
|
+
form: UseFormReturn<BuilderFormEditorValues<TFieldType, TTriggerEvent>>;
|
|
855
|
+
fields: BuilderFormEditorFieldValues<TFieldType>[];
|
|
856
|
+
subforms?: BuilderFormEditorSubformValues[];
|
|
857
|
+
};
|
|
858
|
+
declare function useBuilderFormLayoutEditor<TFieldType extends string, TTriggerEvent extends string>({ form, fields, subforms }: UseBuilderFormLayoutEditorArgs<TFieldType, TTriggerEvent>): {
|
|
859
|
+
assignedKeys: Set<string>;
|
|
860
|
+
layoutGroups: BuilderFormEditorLayoutGroupValues[];
|
|
861
|
+
layoutItems: BuilderFormLayoutItem[];
|
|
862
|
+
unassignedItems: BuilderFormLayoutItem[];
|
|
863
|
+
addGroup: () => void;
|
|
864
|
+
addItemToGroup: (groupIndex: number, itemKey: string, insertAt?: number) => void;
|
|
865
|
+
addItemToNewGroup: (itemKey: string) => void;
|
|
866
|
+
applyDragPayload: (payload: BuilderFormLayoutDragPayload | null, targetGroupIndex: number, targetFieldIndex?: number) => void;
|
|
867
|
+
resetDefaultLayout: () => void;
|
|
868
|
+
setGroups: (groups: BuilderFormEditorLayoutGroupValues[]) => void;
|
|
869
|
+
updateGroup: (groupIndex: number, group: BuilderFormEditorLayoutGroupValues) => void;
|
|
870
|
+
updateGroupFields: (groupIndex: number, updater: (fields: BuilderFormEditorLayoutGroupValues["fields"]) => BuilderFormEditorLayoutGroupValues["fields"]) => void;
|
|
871
|
+
};
|
|
872
|
+
|
|
873
|
+
export { BUILDER_EDITOR_NONE_VALUE, type BuilderAdminPageContracts, type BuilderAdminPagesOptions, type BuilderAdminPagesRoutes, type BuilderDefaultEntity, type BuilderDefaultEntityListResult, type BuilderDefaultEntityManagerDependencies, type BuilderDefaultEntityManagerLabels, type BuilderDefaultEntityManagerState, type BuilderDefaultEntityMutation, type BuilderDefaultEntityQueryResult, type BuilderDefaultFormEditorBodyOptions, type BuilderDefaultListEditorBodyOptions, type BuilderDefaultOption, type BuilderDefaultViewEditorContracts, type BuilderDefaultViewEditorPageOptions, type BuilderEditorDbTable, type BuilderEditorSelectOption, type BuilderEditorTriggerValues, type BuilderEntityDialogManagerDependencies, type BuilderEntityManagerActions, type BuilderEntityManagerAddButtonProps, type BuilderEntityManagerDataGridProps, type BuilderEntityManagerDeleteDialogProps, type BuilderEntityManagerDependencies, type BuilderEntityManagerDialogAddButtonProps, type BuilderEntityManagerEditorDialogProps, type BuilderEntityManagerEntity, type BuilderEntityManagerHookResult, type BuilderEntityManagerLabels, type BuilderEntityManagerMutation, type BuilderFormEditorBodyProps, type BuilderFormEditorEntity, type BuilderFormEditorFieldValues, type BuilderFormEditorLayoutGroupValues, type BuilderFormEditorPageDependencies, type BuilderFormEditorValues, type BuilderFormLayoutDragPayload, type BuilderFormLayoutItem, type BuilderListEditorBodyProps, type BuilderListEditorColumnValues, type BuilderListEditorEntity, type BuilderListEditorPageDependencies, type BuilderListEditorValues, type BuilderViewDialogBodyProps, type BuilderViewDialogDependencies, type BuilderViewDialogProps, type BuilderViewDialogShellProps, type BuilderViewEditorEntity, type BuilderViewEditorValues, builderEditorOptionsToText, builderEditorSearchFieldsToText, builderEditorTextToOptions, builderEditorTextToSearchFields, builderFormEditorDefaultLayoutGroups, builderFormEditorDefaultSpan, builderFormEditorFieldsFromTable, builderFormEditorInputFromValues, builderFormEditorValuesFromEntity, builderFormLayoutDragDataType, builderListEditorColumnsFromTable, builderListEditorInputFromValues, builderListEditorValuesFromEntity, builderViewEditorInputFromValues, builderViewEditorValuesFromEntity, clampBuilderFormLayoutSpan, createBuilderAdminPages, createBuilderDefaultEntityManagerComponent, createBuilderDefaultFormEditorBody, createBuilderDefaultListEditorBody, createBuilderDefaultViewEditorPage, createBuilderEntityDialogManagerComponent, createBuilderEntityManagerComponent, createBuilderFormEditorPageComponent, createBuilderListEditorPageComponent, createBuilderViewDialogComponent, getBuilderEditorTriggerRoute, nextBuilderFormLayoutGroupId, parseBuilderFormLayoutDragPayload, serializeBuilderFormLayoutDragPayload, swapBuilderFormLayoutItems, useBuilderFormLayoutEditor };
|