@panneau/protocol 0.0.0-stage → 5.0.0-alpha.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 +35 -2
- package/dist/conditions.d.ts +7 -0
- package/dist/conditions.d.ts.map +1 -0
- package/dist/conditions.js +21 -0
- package/dist/conditions.js.map +1 -0
- package/dist/conformance/index.d.ts +42 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +270 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +73 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/lint.d.ts +8 -0
- package/dist/lint.d.ts.map +1 -0
- package/dist/lint.js +73 -0
- package/dist/lint.js.map +1 -0
- package/dist/mock/example.d.ts +8 -0
- package/dist/mock/example.d.ts.map +1 -0
- package/dist/mock/example.js +190 -0
- package/dist/mock/example.js.map +1 -0
- package/dist/mock/index.d.ts +24 -0
- package/dist/mock/index.d.ts.map +1 -0
- package/dist/mock/index.js +254 -0
- package/dist/mock/index.js.map +1 -0
- package/dist/openapi.d.ts +11 -0
- package/dist/openapi.d.ts.map +1 -0
- package/dist/openapi.js +540 -0
- package/dist/openapi.js.map +1 -0
- package/dist/problem.d.ts +7 -0
- package/dist/problem.d.ts.map +1 -0
- package/dist/problem.js +22 -0
- package/dist/problem.js.map +1 -0
- package/dist/query.d.ts +41 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +80 -0
- package/dist/query.js.map +1 -0
- package/dist/rules.d.ts +29 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +143 -0
- package/dist/rules.js.map +1 -0
- package/dist/runtime/index.d.ts +10 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +9 -0
- package/dist/schemas/action.d.ts +163 -0
- package/dist/schemas/action.d.ts.map +1 -0
- package/dist/schemas/action.js +56 -0
- package/dist/schemas/action.js.map +1 -0
- package/dist/schemas/api.d.ts +371 -0
- package/dist/schemas/api.d.ts.map +1 -0
- package/dist/schemas/api.js +140 -0
- package/dist/schemas/api.js.map +1 -0
- package/dist/schemas/boot.d.ts +14 -0
- package/dist/schemas/boot.d.ts.map +1 -0
- package/dist/schemas/boot.js +16 -0
- package/dist/schemas/boot.js.map +1 -0
- package/dist/schemas/common.d.ts +28 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +35 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/schemas/definition.d.ts +462 -0
- package/dist/schemas/definition.d.ts.map +1 -0
- package/dist/schemas/definition.js +101 -0
- package/dist/schemas/definition.js.map +1 -0
- package/dist/schemas/field.d.ts +139 -0
- package/dist/schemas/field.d.ts.map +1 -0
- package/dist/schemas/field.js +94 -0
- package/dist/schemas/field.js.map +1 -0
- package/dist/schemas/index.d.ts +1536 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +68 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/layout.d.ts +26 -0
- package/dist/schemas/layout.d.ts.map +1 -0
- package/dist/schemas/layout.js +23 -0
- package/dist/schemas/layout.js.map +1 -0
- package/dist/schemas/list.d.ts +69 -0
- package/dist/schemas/list.d.ts.map +1 -0
- package/dist/schemas/list.js +41 -0
- package/dist/schemas/list.js.map +1 -0
- package/dist/schemas/resource.d.ts +328 -0
- package/dist/schemas/resource.d.ts.map +1 -0
- package/dist/schemas/resource.js +38 -0
- package/dist/schemas/resource.js.map +1 -0
- package/dist/validate.d.ts +28 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +52 -0
- package/dist/validate.js.map +1 -0
- package/dist/values.d.ts +7 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +29 -0
- package/dist/values.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/package.json +53 -5
- package/schema/boot.schema.json +1229 -0
- package/schema/definition.schema.json +1195 -0
- package/schema/openapi.json +3839 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Abilities, Condition, Id, Option, RouteReference } from "./common.js";
|
|
2
|
+
import { BlockType, Field, Rule } from "./field.js";
|
|
3
|
+
import { LayoutNode } from "./layout.js";
|
|
4
|
+
import { Action, ActionConfirm, ActionPlacement, ActionScope } from "./action.js";
|
|
5
|
+
import { Column, Filter, ListDefinition } from "./list.js";
|
|
6
|
+
import { Resource, ResourceFeatures } from "./resource.js";
|
|
7
|
+
import { Auth, AuthProvider, Definition, MenuItem, Page, Uploads, User, Widget } from "./definition.js";
|
|
8
|
+
import { ActionItemResult, ActionRequest, ActionResult, ActionRun, ActionRunResponse, Item, ItemResponse, ListResponse, Media, MediaListResponse, MediaResponse, MediaTransform, Pagination, PreviewResponse, Problem, SearchResponse, Selection, Session } from "./api.js";
|
|
9
|
+
import { BootConfig } from "./boot.js";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
//#region src/schemas/index.ts
|
|
12
|
+
/** The named schemas of the protocol, as they appear in the generated JSON Schema and OpenAPI files. */
|
|
13
|
+
var namedSchemas = {
|
|
14
|
+
Id,
|
|
15
|
+
Abilities,
|
|
16
|
+
RouteReference,
|
|
17
|
+
Condition,
|
|
18
|
+
Option,
|
|
19
|
+
Rule,
|
|
20
|
+
BlockType,
|
|
21
|
+
Field,
|
|
22
|
+
LayoutNode,
|
|
23
|
+
Column,
|
|
24
|
+
Filter,
|
|
25
|
+
ListDefinition,
|
|
26
|
+
ActionScope,
|
|
27
|
+
ActionPlacement,
|
|
28
|
+
ActionConfirm,
|
|
29
|
+
Action,
|
|
30
|
+
ResourceFeatures,
|
|
31
|
+
Resource,
|
|
32
|
+
User,
|
|
33
|
+
AuthProvider,
|
|
34
|
+
Auth,
|
|
35
|
+
MenuItem,
|
|
36
|
+
Page,
|
|
37
|
+
Widget,
|
|
38
|
+
Uploads,
|
|
39
|
+
Definition,
|
|
40
|
+
Item,
|
|
41
|
+
Pagination,
|
|
42
|
+
ItemResponse,
|
|
43
|
+
ListResponse,
|
|
44
|
+
Problem,
|
|
45
|
+
Selection,
|
|
46
|
+
ActionRequest,
|
|
47
|
+
ActionItemResult,
|
|
48
|
+
ActionResult,
|
|
49
|
+
ActionRun,
|
|
50
|
+
ActionRunResponse,
|
|
51
|
+
MediaTransform,
|
|
52
|
+
Media,
|
|
53
|
+
MediaResponse,
|
|
54
|
+
MediaListResponse,
|
|
55
|
+
Session,
|
|
56
|
+
SearchResponse,
|
|
57
|
+
PreviewResponse
|
|
58
|
+
};
|
|
59
|
+
/** A registry of the named schemas, used to reference them by name in generated files. */
|
|
60
|
+
function createSchemaRegistry() {
|
|
61
|
+
const registry = z.registry();
|
|
62
|
+
Object.entries(namedSchemas).forEach(([id, schema]) => registry.add(schema, { id }));
|
|
63
|
+
return registry;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Abilities, Action, ActionConfirm, ActionItemResult, ActionPlacement, ActionRequest, ActionResult, ActionRun, ActionRunResponse, ActionScope, Auth, AuthProvider, BlockType, BootConfig, Column, Condition, Definition, Field, Filter, Id, Item, ItemResponse, LayoutNode, ListDefinition, ListResponse, Media, MediaListResponse, MediaResponse, MediaTransform, MenuItem, Option, Page, Pagination, PreviewResponse, Problem, Resource, ResourceFeatures, RouteReference, Rule, SearchResponse, Selection, Session, Uploads, User, Widget, createSchemaRegistry, namedSchemas };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { Action, ActionConfirm, ActionPlacement, ActionScope } from './action';\nimport {\n ActionItemResult,\n ActionRequest,\n ActionResult,\n ActionRun,\n ActionRunResponse,\n Item,\n ItemResponse,\n ListResponse,\n Media,\n MediaListResponse,\n MediaResponse,\n MediaTransform,\n Pagination,\n PreviewResponse,\n Problem,\n SearchResponse,\n Selection,\n Session,\n} from './api';\nimport { Abilities, Condition, Id, Option, RouteReference } from './common';\nimport {\n Auth,\n AuthProvider,\n Definition,\n MenuItem,\n Page,\n Uploads,\n User,\n Widget,\n} from './definition';\nimport { BlockType, Field, Rule } from './field';\nimport { LayoutNode } from './layout';\nimport { Column, Filter, ListDefinition } from './list';\nimport { Resource, ResourceFeatures } from './resource';\n\nexport * from './common';\nexport * from './field';\nexport * from './layout';\nexport * from './list';\nexport * from './action';\nexport * from './resource';\nexport * from './definition';\nexport * from './api';\nexport * from './boot';\n\n/** The named schemas of the protocol, as they appear in the generated JSON Schema and OpenAPI files. */\nexport const namedSchemas = {\n Id,\n Abilities,\n RouteReference,\n Condition,\n Option,\n Rule,\n BlockType,\n Field,\n LayoutNode,\n Column,\n Filter,\n ListDefinition,\n ActionScope,\n ActionPlacement,\n ActionConfirm,\n Action,\n ResourceFeatures,\n Resource,\n User,\n AuthProvider,\n Auth,\n MenuItem,\n Page,\n Widget,\n Uploads,\n Definition,\n Item,\n Pagination,\n ItemResponse,\n ListResponse,\n Problem,\n Selection,\n ActionRequest,\n ActionItemResult,\n ActionResult,\n ActionRun,\n ActionRunResponse,\n MediaTransform,\n Media,\n MediaResponse,\n MediaListResponse,\n Session,\n SearchResponse,\n PreviewResponse,\n} satisfies Record<string, z.ZodType>;\n\n/** A registry of the named schemas, used to reference them by name in generated files. */\nexport function createSchemaRegistry() {\n const registry = z.registry<{ id: string }>();\n Object.entries(namedSchemas).forEach(([id, schema]) => registry.add(schema, { id }));\n return registry;\n}\n"],"mappings":";;;;;;;;;;;;AAkDA,IAAa,eAAe;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACJ;;AAGA,SAAgB,uBAAuB;CACnC,MAAM,WAAW,EAAE,SAAyB;CAC5C,OAAO,QAAQ,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,SAAS,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;CACnF,OAAO;AACX"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Condition } from './common';
|
|
3
|
+
export declare const LayoutNode: z.ZodObject<{
|
|
4
|
+
type: z.ZodString;
|
|
5
|
+
name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
label: z.ZodOptional<z.ZodString>;
|
|
7
|
+
description: z.ZodOptional<z.ZodString>;
|
|
8
|
+
text: z.ZodOptional<z.ZodString>;
|
|
9
|
+
component: z.ZodOptional<z.ZodString>;
|
|
10
|
+
props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
11
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
14
|
+
visibleWhen: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
field: z.ZodOptional<z.ZodString>;
|
|
16
|
+
equals: z.ZodOptional<z.ZodUnknown>;
|
|
17
|
+
in: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
18
|
+
notIn: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
19
|
+
filled: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
all: z.ZodOptional<z.ZodArray<typeof Condition>>;
|
|
21
|
+
any: z.ZodOptional<z.ZodArray<typeof Condition>>;
|
|
22
|
+
}, z.core.$loose>>;
|
|
23
|
+
children: z.ZodOptional<z.ZodArray<typeof LayoutNode>>;
|
|
24
|
+
}, z.core.$loose>;
|
|
25
|
+
export type LayoutNode = z.infer<typeof LayoutNode>;
|
|
26
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/schemas/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;cA0BC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;iBAO9D,CAAC;AAEP,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Condition } from "./common.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/schemas/layout.ts
|
|
4
|
+
var LayoutNode = z.looseObject({
|
|
5
|
+
type: z.string().min(1).meta({ description: "A built-in node type, or a type provided by a plugin." }),
|
|
6
|
+
name: z.string().min(1).optional().meta({ description: "`field`: the name of the field." }),
|
|
7
|
+
label: z.string().optional().meta({ description: "`section`, `tab`: the title." }),
|
|
8
|
+
description: z.string().optional(),
|
|
9
|
+
text: z.string().optional().meta({ description: "`text`: a static paragraph." }),
|
|
10
|
+
component: z.string().optional().meta({ description: "`component`: a component provided by a plugin." }),
|
|
11
|
+
props: z.record(z.string(), z.unknown()).optional(),
|
|
12
|
+
width: z.number().int().min(1).max(12).optional().meta({ description: "Width on a 12-column grid, inside a `row`." }),
|
|
13
|
+
collapsible: z.boolean().optional(),
|
|
14
|
+
collapsed: z.boolean().optional(),
|
|
15
|
+
visibleWhen: Condition.optional(),
|
|
16
|
+
get children() {
|
|
17
|
+
return z.array(LayoutNode).optional();
|
|
18
|
+
}
|
|
19
|
+
}).meta({ description: "A node of a form layout. Containers (`row`, `column`, `section`, `tabs`, `tab`, `sidebar`) have `children`. Fields that no node references are appended at the end of the form." });
|
|
20
|
+
//#endregion
|
|
21
|
+
export { LayoutNode };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","names":[],"sources":["../../src/schemas/layout.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { Condition } from './common';\n\nexport const LayoutNode = z\n .looseObject({\n type: z\n .string()\n .min(1)\n .meta({ description: 'A built-in node type, or a type provided by a plugin.' }),\n name: z.string().min(1).optional().meta({ description: '`field`: the name of the field.' }),\n label: z.string().optional().meta({ description: '`section`, `tab`: the title.' }),\n description: z.string().optional(),\n text: z.string().optional().meta({ description: '`text`: a static paragraph.' }),\n component: z\n .string()\n .optional()\n .meta({ description: '`component`: a component provided by a plugin.' }),\n props: z.record(z.string(), z.unknown()).optional(),\n width: z\n .number()\n .int()\n .min(1)\n .max(12)\n .optional()\n .meta({ description: 'Width on a 12-column grid, inside a `row`.' }),\n collapsible: z.boolean().optional(),\n collapsed: z.boolean().optional(),\n visibleWhen: Condition.optional(),\n // The return type is written out so that declaration files keep the recursion.\n get children(): z.ZodOptional<z.ZodArray<typeof LayoutNode>> {\n return z.array(LayoutNode).optional();\n },\n })\n .meta({\n description:\n 'A node of a form layout. Containers (`row`, `column`, `section`, `tabs`, `tab`, `sidebar`) have `children`. Fields that no node references are appended at the end of the form.',\n });\n\nexport type LayoutNode = z.infer<typeof LayoutNode>;\n"],"mappings":";;;AAIA,IAAa,aAAa,EACrB,YAAY;CACT,MAAM,EACD,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,KAAK,EAAE,aAAa,wDAAwD,CAAC;CAClF,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,kCAAkC,CAAC;CAC1F,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,+BAA+B,CAAC;CACjF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,8BAA8B,CAAC;CAC/E,WAAW,EACN,OAAO,CAAC,CACR,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,iDAAiD,CAAC;CAC3E,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CAClD,OAAO,EACF,OAAO,CAAC,CACR,IAAI,CAAC,CACL,IAAI,CAAC,CAAC,CACN,IAAI,EAAE,CAAC,CACP,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,6CAA6C,CAAC;CACvE,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS;CAChC,aAAa,UAAU,SAAS;CAEhC,IAAI,WAAyD;EACzD,OAAO,EAAE,MAAM,UAAU,CAAC,CAAC,SAAS;CACxC;AACJ,CAAC,CAAC,CACD,KAAK,EACF,aACI,kLACR,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const Column: z.ZodObject<{
|
|
3
|
+
field: z.ZodOptional<z.ZodString>;
|
|
4
|
+
id: z.ZodOptional<z.ZodString>;
|
|
5
|
+
label: z.ZodOptional<z.ZodString>;
|
|
6
|
+
display: z.ZodOptional<z.ZodString>;
|
|
7
|
+
sortable: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
9
|
+
align: z.ZodOptional<z.ZodEnum<{
|
|
10
|
+
start: "start";
|
|
11
|
+
center: "center";
|
|
12
|
+
end: "end";
|
|
13
|
+
}>>;
|
|
14
|
+
}, z.core.$loose>;
|
|
15
|
+
export declare const Filter: z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
type: z.ZodString;
|
|
18
|
+
label: z.ZodOptional<z.ZodString>;
|
|
19
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
20
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
21
|
+
label: z.ZodString;
|
|
22
|
+
description: z.ZodOptional<z.ZodString>;
|
|
23
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
24
|
+
}, z.core.$loose>>>;
|
|
25
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
26
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
28
|
+
}, z.core.$loose>;
|
|
29
|
+
export declare const ListDefinition: z.ZodObject<{
|
|
30
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
31
|
+
field: z.ZodOptional<z.ZodString>;
|
|
32
|
+
id: z.ZodOptional<z.ZodString>;
|
|
33
|
+
label: z.ZodOptional<z.ZodString>;
|
|
34
|
+
display: z.ZodOptional<z.ZodString>;
|
|
35
|
+
sortable: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
37
|
+
align: z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
start: "start";
|
|
39
|
+
center: "center";
|
|
40
|
+
end: "end";
|
|
41
|
+
}>>;
|
|
42
|
+
}, z.core.$loose>>>;
|
|
43
|
+
filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
type: z.ZodString;
|
|
46
|
+
label: z.ZodOptional<z.ZodString>;
|
|
47
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
48
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
49
|
+
label: z.ZodString;
|
|
50
|
+
description: z.ZodOptional<z.ZodString>;
|
|
51
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
}, z.core.$loose>>>;
|
|
53
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
54
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
56
|
+
}, z.core.$loose>>>;
|
|
57
|
+
sorts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
58
|
+
defaultSort: z.ZodOptional<z.ZodString>;
|
|
59
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
60
|
+
layouts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
61
|
+
perPage: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
perPageOptions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
63
|
+
inlineEdit: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
64
|
+
selectable: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
}, z.core.$loose>;
|
|
66
|
+
export type Column = z.infer<typeof Column>;
|
|
67
|
+
export type Filter = z.infer<typeof Filter>;
|
|
68
|
+
export type ListDefinition = z.infer<typeof ListDefinition>;
|
|
69
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/schemas/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,MAAM;;;;;;;;;;;;iBAgBb,CAAC;AAEP,eAAO,MAAM,MAAM;;;;;;;;;;;;;iBAWjB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBzB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Option } from "./common.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/schemas/list.ts
|
|
4
|
+
var Column = z.looseObject({
|
|
5
|
+
field: z.string().min(1).optional().meta({ description: "The field shown in the column." }),
|
|
6
|
+
id: z.string().min(1).optional().meta({ description: "Id of a column that is not a field." }),
|
|
7
|
+
label: z.string().optional(),
|
|
8
|
+
display: z.string().optional().meta({ description: "How the value is displayed." }),
|
|
9
|
+
sortable: z.boolean().optional(),
|
|
10
|
+
width: z.union([z.number(), z.string()]).optional(),
|
|
11
|
+
align: z.enum([
|
|
12
|
+
"start",
|
|
13
|
+
"center",
|
|
14
|
+
"end"
|
|
15
|
+
]).optional()
|
|
16
|
+
}).refine((column) => column.field !== void 0 || column.id !== void 0, { message: "A column needs a `field` or an `id`." });
|
|
17
|
+
var Filter = z.looseObject({
|
|
18
|
+
id: z.string().min(1).meta({ description: "Sent as `filter[id]`." }),
|
|
19
|
+
type: z.string().min(1).meta({ description: "Built-in: `text`, `select`, `toggle`, `date`, `date-range`, `relation`. A `date-range` value is the bounds of a range: `filter[id][from]` and `filter[id][to]`, days (`2026-01-31`), both inclusive and both optional." }),
|
|
20
|
+
label: z.string().optional(),
|
|
21
|
+
options: z.array(Option).optional(),
|
|
22
|
+
resource: z.string().optional(),
|
|
23
|
+
multiple: z.boolean().optional(),
|
|
24
|
+
default: z.unknown().optional()
|
|
25
|
+
});
|
|
26
|
+
var ListDefinition = z.looseObject({
|
|
27
|
+
columns: z.array(Column).optional(),
|
|
28
|
+
filters: z.array(Filter).optional(),
|
|
29
|
+
sorts: z.array(z.string().min(1)).optional().meta({ description: "Fields the list can be sorted by." }),
|
|
30
|
+
defaultSort: z.string().optional().meta({ description: "Same format as the `sort` query parameter: `-published_at,title`." }),
|
|
31
|
+
search: z.boolean().optional().meta({ description: "Whether the `q` parameter is supported." }),
|
|
32
|
+
layouts: z.array(z.string().min(1)).optional(),
|
|
33
|
+
perPage: z.number().int().positive().optional(),
|
|
34
|
+
perPageOptions: z.array(z.number().int().positive()).optional(),
|
|
35
|
+
inlineEdit: z.array(z.string().min(1)).optional().meta({ description: "Fields editable in the list." }),
|
|
36
|
+
selectable: z.boolean().optional()
|
|
37
|
+
});
|
|
38
|
+
//#endregion
|
|
39
|
+
export { Column, Filter, ListDefinition };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","names":[],"sources":["../../src/schemas/list.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { Option } from './common';\n\nexport const Column = z\n .looseObject({\n field: z.string().min(1).optional().meta({ description: 'The field shown in the column.' }),\n id: z\n .string()\n .min(1)\n .optional()\n .meta({ description: 'Id of a column that is not a field.' }),\n label: z.string().optional(),\n display: z.string().optional().meta({ description: 'How the value is displayed.' }),\n sortable: z.boolean().optional(),\n width: z.union([z.number(), z.string()]).optional(),\n align: z.enum(['start', 'center', 'end']).optional(),\n })\n .refine((column) => column.field !== undefined || column.id !== undefined, {\n message: 'A column needs a `field` or an `id`.',\n });\n\nexport const Filter = z.looseObject({\n id: z.string().min(1).meta({ description: 'Sent as `filter[id]`.' }),\n type: z.string().min(1).meta({\n description:\n 'Built-in: `text`, `select`, `toggle`, `date`, `date-range`, `relation`. A `date-range` value is the bounds of a range: `filter[id][from]` and `filter[id][to]`, days (`2026-01-31`), both inclusive and both optional.',\n }),\n label: z.string().optional(),\n options: z.array(Option).optional(),\n resource: z.string().optional(),\n multiple: z.boolean().optional(),\n default: z.unknown().optional(),\n});\n\nexport const ListDefinition = z.looseObject({\n columns: z.array(Column).optional(),\n filters: z.array(Filter).optional(),\n sorts: z\n .array(z.string().min(1))\n .optional()\n .meta({ description: 'Fields the list can be sorted by.' }),\n defaultSort: z\n .string()\n .optional()\n .meta({ description: 'Same format as the `sort` query parameter: `-published_at,title`.' }),\n search: z.boolean().optional().meta({ description: 'Whether the `q` parameter is supported.' }),\n layouts: z.array(z.string().min(1)).optional(),\n perPage: z.number().int().positive().optional(),\n perPageOptions: z.array(z.number().int().positive()).optional(),\n inlineEdit: z\n .array(z.string().min(1))\n .optional()\n .meta({ description: 'Fields editable in the list.' }),\n selectable: z.boolean().optional(),\n});\n\nexport type Column = z.infer<typeof Column>;\nexport type Filter = z.infer<typeof Filter>;\nexport type ListDefinition = z.infer<typeof ListDefinition>;\n"],"mappings":";;;AAIA,IAAa,SAAS,EACjB,YAAY;CACT,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,iCAAiC,CAAC;CAC1F,IAAI,EACC,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,sCAAsC,CAAC;CAChE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,8BAA8B,CAAC;CAClF,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC/B,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;CAClD,OAAO,EAAE,KAAK;EAAC;EAAS;EAAU;CAAK,CAAC,CAAC,CAAC,SAAS;AACvD,CAAC,CAAC,CACD,QAAQ,WAAW,OAAO,UAAU,KAAA,KAAa,OAAO,OAAO,KAAA,GAAW,EACvE,SAAS,uCACb,CAAC;AAEL,IAAa,SAAS,EAAE,YAAY;CAChC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,wBAAwB,CAAC;CACnE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACzB,aACI,yNACR,CAAC;CACD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAC,SAAS;CAClC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS;CAC9B,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC/B,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS;AAClC,CAAC;AAED,IAAa,iBAAiB,EAAE,YAAY;CACxC,SAAS,EAAE,MAAM,MAAM,CAAC,CAAC,SAAS;CAClC,SAAS,EAAE,MAAM,MAAM,CAAC,CAAC,SAAS;CAClC,OAAO,EACF,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,oCAAoC,CAAC;CAC9D,aAAa,EACR,OAAO,CAAC,CACR,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,oEAAoE,CAAC;CAC9F,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,0CAA0C,CAAC;CAC9F,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;CAC7C,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9C,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;CAC9D,YAAY,EACP,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,SAAS,CAAC,CACV,KAAK,EAAE,aAAa,+BAA+B,CAAC;CACzD,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;AACrC,CAAC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BlockType, Field } from './field';
|
|
3
|
+
import { LayoutNode } from './layout';
|
|
4
|
+
export declare const ResourceFeatures: z.ZodObject<{
|
|
5
|
+
drafts: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
revisions: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
preview: z.ZodOptional<z.ZodUnion<readonly [z.ZodNull, z.ZodObject<{
|
|
8
|
+
mode: z.ZodEnum<{
|
|
9
|
+
component: "component";
|
|
10
|
+
iframe: "iframe";
|
|
11
|
+
}>;
|
|
12
|
+
component: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$loose>]>>;
|
|
14
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
}, z.core.$loose>;
|
|
16
|
+
export declare const Resource: z.ZodObject<{
|
|
17
|
+
id: z.ZodString;
|
|
18
|
+
label: z.ZodObject<{
|
|
19
|
+
singular: z.ZodString;
|
|
20
|
+
plural: z.ZodString;
|
|
21
|
+
}, z.core.$loose>;
|
|
22
|
+
description: z.ZodOptional<z.ZodString>;
|
|
23
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
24
|
+
itemTitle: z.ZodOptional<z.ZodString>;
|
|
25
|
+
fields: z.ZodArray<z.ZodObject<{
|
|
26
|
+
name: z.ZodString;
|
|
27
|
+
type: z.ZodString;
|
|
28
|
+
label: z.ZodOptional<z.ZodString>;
|
|
29
|
+
help: z.ZodOptional<z.ZodString>;
|
|
30
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
31
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
32
|
+
localized: z.ZodOptional<z.ZodBoolean>;
|
|
33
|
+
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
createOnly: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
updateOnly: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
rules: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
37
|
+
rule: z.ZodLiteral<"required">;
|
|
38
|
+
message: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
40
|
+
rule: z.ZodEnum<{
|
|
41
|
+
min: "min";
|
|
42
|
+
max: "max";
|
|
43
|
+
}>;
|
|
44
|
+
value: z.ZodNumber;
|
|
45
|
+
message: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
47
|
+
rule: z.ZodLiteral<"pattern">;
|
|
48
|
+
value: z.ZodString;
|
|
49
|
+
flags: z.ZodOptional<z.ZodString>;
|
|
50
|
+
message: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
52
|
+
rule: z.ZodEnum<{
|
|
53
|
+
email: "email";
|
|
54
|
+
url: "url";
|
|
55
|
+
}>;
|
|
56
|
+
message: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
58
|
+
rule: z.ZodLiteral<"in">;
|
|
59
|
+
value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
|
|
60
|
+
message: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
62
|
+
rule: z.ZodLiteral<"accept">;
|
|
63
|
+
value: z.ZodArray<z.ZodString>;
|
|
64
|
+
message: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
66
|
+
rule: z.ZodLiteral<"maxSize">;
|
|
67
|
+
value: z.ZodNumber;
|
|
68
|
+
message: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
70
|
+
rule: z.ZodEnum<{
|
|
71
|
+
before: "before";
|
|
72
|
+
after: "after";
|
|
73
|
+
}>;
|
|
74
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
75
|
+
field: z.ZodString;
|
|
76
|
+
}, z.core.$loose>]>;
|
|
77
|
+
message: z.ZodOptional<z.ZodString>;
|
|
78
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
79
|
+
rule: z.ZodString;
|
|
80
|
+
message: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$loose>]>>>;
|
|
82
|
+
visibleWhen: z.ZodOptional<z.ZodObject<{
|
|
83
|
+
field: z.ZodOptional<z.ZodString>;
|
|
84
|
+
equals: z.ZodOptional<z.ZodUnknown>;
|
|
85
|
+
in: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
86
|
+
notIn: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
87
|
+
filled: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
all: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
89
|
+
any: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
90
|
+
}, z.core.$loose>>;
|
|
91
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
92
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
93
|
+
label: z.ZodString;
|
|
94
|
+
description: z.ZodOptional<z.ZodString>;
|
|
95
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
96
|
+
}, z.core.$loose>>>;
|
|
97
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
99
|
+
accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
100
|
+
from: z.ZodOptional<z.ZodString>;
|
|
101
|
+
display: z.ZodOptional<z.ZodString>;
|
|
102
|
+
fields: z.ZodOptional<z.ZodArray<typeof Field>>;
|
|
103
|
+
types: z.ZodOptional<z.ZodArray<typeof BlockType>>;
|
|
104
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
105
|
+
}, z.core.$loose>>;
|
|
106
|
+
form: z.ZodOptional<z.ZodObject<{
|
|
107
|
+
layout: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
108
|
+
type: z.ZodString;
|
|
109
|
+
name: z.ZodOptional<z.ZodString>;
|
|
110
|
+
label: z.ZodOptional<z.ZodString>;
|
|
111
|
+
description: z.ZodOptional<z.ZodString>;
|
|
112
|
+
text: z.ZodOptional<z.ZodString>;
|
|
113
|
+
component: z.ZodOptional<z.ZodString>;
|
|
114
|
+
props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
115
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
117
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
118
|
+
visibleWhen: z.ZodOptional<z.ZodObject<{
|
|
119
|
+
field: z.ZodOptional<z.ZodString>;
|
|
120
|
+
equals: z.ZodOptional<z.ZodUnknown>;
|
|
121
|
+
in: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
122
|
+
notIn: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
123
|
+
filled: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
all: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
125
|
+
any: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
126
|
+
}, z.core.$loose>>;
|
|
127
|
+
children: z.ZodOptional<z.ZodArray<typeof LayoutNode>>;
|
|
128
|
+
}, z.core.$loose>>>;
|
|
129
|
+
}, z.core.$loose>>;
|
|
130
|
+
list: z.ZodOptional<z.ZodObject<{
|
|
131
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
132
|
+
field: z.ZodOptional<z.ZodString>;
|
|
133
|
+
id: z.ZodOptional<z.ZodString>;
|
|
134
|
+
label: z.ZodOptional<z.ZodString>;
|
|
135
|
+
display: z.ZodOptional<z.ZodString>;
|
|
136
|
+
sortable: z.ZodOptional<z.ZodBoolean>;
|
|
137
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
138
|
+
align: z.ZodOptional<z.ZodEnum<{
|
|
139
|
+
start: "start";
|
|
140
|
+
center: "center";
|
|
141
|
+
end: "end";
|
|
142
|
+
}>>;
|
|
143
|
+
}, z.core.$loose>>>;
|
|
144
|
+
filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
145
|
+
id: z.ZodString;
|
|
146
|
+
type: z.ZodString;
|
|
147
|
+
label: z.ZodOptional<z.ZodString>;
|
|
148
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
149
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
150
|
+
label: z.ZodString;
|
|
151
|
+
description: z.ZodOptional<z.ZodString>;
|
|
152
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
153
|
+
}, z.core.$loose>>>;
|
|
154
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
155
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
156
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
157
|
+
}, z.core.$loose>>>;
|
|
158
|
+
sorts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
159
|
+
defaultSort: z.ZodOptional<z.ZodString>;
|
|
160
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
161
|
+
layouts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
162
|
+
perPage: z.ZodOptional<z.ZodNumber>;
|
|
163
|
+
perPageOptions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
164
|
+
inlineEdit: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
165
|
+
selectable: z.ZodOptional<z.ZodBoolean>;
|
|
166
|
+
}, z.core.$loose>>;
|
|
167
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
168
|
+
id: z.ZodString;
|
|
169
|
+
label: z.ZodString;
|
|
170
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
171
|
+
kind: z.ZodDefault<z.ZodEnum<{
|
|
172
|
+
link: "link";
|
|
173
|
+
server: "server";
|
|
174
|
+
client: "client";
|
|
175
|
+
}>>;
|
|
176
|
+
scope: z.ZodArray<z.ZodEnum<{
|
|
177
|
+
resource: "resource";
|
|
178
|
+
item: "item";
|
|
179
|
+
selection: "selection";
|
|
180
|
+
}>>;
|
|
181
|
+
placement: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
182
|
+
row: "row";
|
|
183
|
+
toolbar: "toolbar";
|
|
184
|
+
form: "form";
|
|
185
|
+
menu: "menu";
|
|
186
|
+
}>>>;
|
|
187
|
+
destructive: z.ZodOptional<z.ZodBoolean>;
|
|
188
|
+
confirm: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
189
|
+
title: z.ZodOptional<z.ZodString>;
|
|
190
|
+
message: z.ZodOptional<z.ZodString>;
|
|
191
|
+
confirmLabel: z.ZodOptional<z.ZodString>;
|
|
192
|
+
cancelLabel: z.ZodOptional<z.ZodString>;
|
|
193
|
+
}, z.core.$loose>]>>;
|
|
194
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
195
|
+
name: z.ZodString;
|
|
196
|
+
type: z.ZodString;
|
|
197
|
+
label: z.ZodOptional<z.ZodString>;
|
|
198
|
+
help: z.ZodOptional<z.ZodString>;
|
|
199
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
200
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
201
|
+
localized: z.ZodOptional<z.ZodBoolean>;
|
|
202
|
+
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
203
|
+
createOnly: z.ZodOptional<z.ZodBoolean>;
|
|
204
|
+
updateOnly: z.ZodOptional<z.ZodBoolean>;
|
|
205
|
+
rules: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
206
|
+
rule: z.ZodLiteral<"required">;
|
|
207
|
+
message: z.ZodOptional<z.ZodString>;
|
|
208
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
209
|
+
rule: z.ZodEnum<{
|
|
210
|
+
min: "min";
|
|
211
|
+
max: "max";
|
|
212
|
+
}>;
|
|
213
|
+
value: z.ZodNumber;
|
|
214
|
+
message: z.ZodOptional<z.ZodString>;
|
|
215
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
216
|
+
rule: z.ZodLiteral<"pattern">;
|
|
217
|
+
value: z.ZodString;
|
|
218
|
+
flags: z.ZodOptional<z.ZodString>;
|
|
219
|
+
message: z.ZodOptional<z.ZodString>;
|
|
220
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
221
|
+
rule: z.ZodEnum<{
|
|
222
|
+
email: "email";
|
|
223
|
+
url: "url";
|
|
224
|
+
}>;
|
|
225
|
+
message: z.ZodOptional<z.ZodString>;
|
|
226
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
227
|
+
rule: z.ZodLiteral<"in">;
|
|
228
|
+
value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
|
|
229
|
+
message: z.ZodOptional<z.ZodString>;
|
|
230
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
231
|
+
rule: z.ZodLiteral<"accept">;
|
|
232
|
+
value: z.ZodArray<z.ZodString>;
|
|
233
|
+
message: z.ZodOptional<z.ZodString>;
|
|
234
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
235
|
+
rule: z.ZodLiteral<"maxSize">;
|
|
236
|
+
value: z.ZodNumber;
|
|
237
|
+
message: z.ZodOptional<z.ZodString>;
|
|
238
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
239
|
+
rule: z.ZodEnum<{
|
|
240
|
+
before: "before";
|
|
241
|
+
after: "after";
|
|
242
|
+
}>;
|
|
243
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
244
|
+
field: z.ZodString;
|
|
245
|
+
}, z.core.$loose>]>;
|
|
246
|
+
message: z.ZodOptional<z.ZodString>;
|
|
247
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
248
|
+
rule: z.ZodString;
|
|
249
|
+
message: z.ZodOptional<z.ZodString>;
|
|
250
|
+
}, z.core.$loose>]>>>;
|
|
251
|
+
visibleWhen: z.ZodOptional<z.ZodObject<{
|
|
252
|
+
field: z.ZodOptional<z.ZodString>;
|
|
253
|
+
equals: z.ZodOptional<z.ZodUnknown>;
|
|
254
|
+
in: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
255
|
+
notIn: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
256
|
+
filled: z.ZodOptional<z.ZodBoolean>;
|
|
257
|
+
all: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
258
|
+
any: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
259
|
+
}, z.core.$loose>>;
|
|
260
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
261
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
262
|
+
label: z.ZodString;
|
|
263
|
+
description: z.ZodOptional<z.ZodString>;
|
|
264
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
265
|
+
}, z.core.$loose>>>;
|
|
266
|
+
multiple: z.ZodOptional<z.ZodBoolean>;
|
|
267
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
268
|
+
accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
269
|
+
from: z.ZodOptional<z.ZodString>;
|
|
270
|
+
display: z.ZodOptional<z.ZodString>;
|
|
271
|
+
fields: z.ZodOptional<z.ZodArray<typeof Field>>;
|
|
272
|
+
types: z.ZodOptional<z.ZodArray<typeof BlockType>>;
|
|
273
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
274
|
+
}, z.core.$loose>>>;
|
|
275
|
+
layout: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
276
|
+
type: z.ZodString;
|
|
277
|
+
name: z.ZodOptional<z.ZodString>;
|
|
278
|
+
label: z.ZodOptional<z.ZodString>;
|
|
279
|
+
description: z.ZodOptional<z.ZodString>;
|
|
280
|
+
text: z.ZodOptional<z.ZodString>;
|
|
281
|
+
component: z.ZodOptional<z.ZodString>;
|
|
282
|
+
props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
283
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
284
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
285
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
286
|
+
visibleWhen: z.ZodOptional<z.ZodObject<{
|
|
287
|
+
field: z.ZodOptional<z.ZodString>;
|
|
288
|
+
equals: z.ZodOptional<z.ZodUnknown>;
|
|
289
|
+
in: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
290
|
+
notIn: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
291
|
+
filled: z.ZodOptional<z.ZodBoolean>;
|
|
292
|
+
all: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
293
|
+
any: z.ZodOptional<z.ZodArray<typeof import("./common").Condition>>;
|
|
294
|
+
}, z.core.$loose>>;
|
|
295
|
+
children: z.ZodOptional<z.ZodArray<typeof LayoutNode>>;
|
|
296
|
+
}, z.core.$loose>>>;
|
|
297
|
+
queued: z.ZodOptional<z.ZodBoolean>;
|
|
298
|
+
url: z.ZodOptional<z.ZodString>;
|
|
299
|
+
route: z.ZodOptional<z.ZodString>;
|
|
300
|
+
component: z.ZodOptional<z.ZodString>;
|
|
301
|
+
abilities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
302
|
+
}, z.core.$loose>>>;
|
|
303
|
+
abilities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
304
|
+
features: z.ZodOptional<z.ZodObject<{
|
|
305
|
+
drafts: z.ZodOptional<z.ZodBoolean>;
|
|
306
|
+
revisions: z.ZodOptional<z.ZodBoolean>;
|
|
307
|
+
preview: z.ZodOptional<z.ZodUnion<readonly [z.ZodNull, z.ZodObject<{
|
|
308
|
+
mode: z.ZodEnum<{
|
|
309
|
+
component: "component";
|
|
310
|
+
iframe: "iframe";
|
|
311
|
+
}>;
|
|
312
|
+
component: z.ZodOptional<z.ZodString>;
|
|
313
|
+
}, z.core.$loose>]>>;
|
|
314
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
315
|
+
}, z.core.$loose>>;
|
|
316
|
+
types: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
317
|
+
id: z.ZodString;
|
|
318
|
+
label: z.ZodString;
|
|
319
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
320
|
+
fields: z.ZodArray<typeof Field>;
|
|
321
|
+
}, z.core.$loose>>>;
|
|
322
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
323
|
+
}, z.core.$loose>;
|
|
324
|
+
export type ResourceFeatures = z.infer<typeof ResourceFeatures>;
|
|
325
|
+
export type Resource = z.infer<typeof Resource>;
|
|
326
|
+
/** A resource as a backend writes it, before defaults are applied. */
|
|
327
|
+
export type ResourceInput = z.input<typeof Resource>;
|
|
328
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/schemas/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAmB3B,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsB6C,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Abilities } from "./common.js";
|
|
2
|
+
import { BlockType, Field } from "./field.js";
|
|
3
|
+
import { LayoutNode } from "./layout.js";
|
|
4
|
+
import { Action } from "./action.js";
|
|
5
|
+
import { ListDefinition } from "./list.js";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
//#region src/schemas/resource.ts
|
|
8
|
+
var ResourceFeatures = z.looseObject({
|
|
9
|
+
drafts: z.boolean().optional(),
|
|
10
|
+
revisions: z.boolean().optional(),
|
|
11
|
+
preview: z.union([z.null(), z.looseObject({
|
|
12
|
+
mode: z.enum(["component", "iframe"]),
|
|
13
|
+
component: z.string().optional().meta({ description: "`component`: the plugin preview." })
|
|
14
|
+
})]).optional(),
|
|
15
|
+
search: z.boolean().optional().meta({ description: "Whether the resource is in the global search." })
|
|
16
|
+
});
|
|
17
|
+
var Resource = z.looseObject({
|
|
18
|
+
id: z.string().min(1),
|
|
19
|
+
label: z.looseObject({
|
|
20
|
+
singular: z.string(),
|
|
21
|
+
plural: z.string()
|
|
22
|
+
}),
|
|
23
|
+
description: z.string().optional(),
|
|
24
|
+
icon: z.string().optional(),
|
|
25
|
+
itemTitle: z.string().optional().meta({ description: "The field used as the title of an item, in lists and pickers." }),
|
|
26
|
+
fields: z.array(Field),
|
|
27
|
+
form: z.looseObject({ layout: z.array(LayoutNode).optional() }).optional(),
|
|
28
|
+
list: ListDefinition.optional(),
|
|
29
|
+
actions: z.array(Action).optional(),
|
|
30
|
+
abilities: Abilities.optional(),
|
|
31
|
+
features: ResourceFeatures.optional(),
|
|
32
|
+
types: z.array(BlockType).optional().meta({ description: "Variants of the resource, each with its own extra fields." }),
|
|
33
|
+
settings: z.record(z.string(), z.unknown()).optional()
|
|
34
|
+
}).meta({ description: "A set of items managed in the admin." });
|
|
35
|
+
//#endregion
|
|
36
|
+
export { Resource, ResourceFeatures };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=resource.js.map
|