@panneau/protocol 5.0.0-alpha.0 → 5.0.0-alpha.2
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 +13 -8
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +27 -0
- package/dist/conformance/index.js.map +1 -1
- 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 +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -13
- package/dist/mock/example.d.ts.map +1 -1
- package/dist/mock/example.js +4 -0
- package/dist/mock/example.js.map +1 -1
- package/dist/mock/index.d.ts.map +1 -1
- package/dist/mock/index.js +5 -1
- package/dist/mock/index.js.map +1 -1
- package/dist/openapi.d.ts +2 -0
- package/dist/openapi.d.ts.map +1 -1
- package/dist/openapi.js +13 -2
- package/dist/openapi.js.map +1 -1
- 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 +26 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +37 -6
- package/dist/query.js.map +1 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +1 -1
- package/dist/rules.js.map +1 -1
- package/dist/runtime/index.d.ts +11 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +10 -0
- package/dist/schemas/action.d.ts +0 -3
- package/dist/schemas/action.d.ts.map +1 -1
- package/dist/schemas/action.js +1 -11
- package/dist/schemas/action.js.map +1 -1
- package/dist/schemas/api.d.ts.map +1 -1
- package/dist/schemas/api.js +1 -1
- package/dist/schemas/api.js.map +1 -1
- package/dist/schemas/boot.d.ts +0 -5
- package/dist/schemas/boot.d.ts.map +1 -1
- package/dist/schemas/boot.js +1 -6
- package/dist/schemas/boot.js.map +1 -1
- package/dist/schemas/definition.d.ts +54 -1
- package/dist/schemas/definition.d.ts.map +1 -1
- package/dist/schemas/definition.js +2 -5
- package/dist/schemas/definition.js.map +1 -1
- package/dist/schemas/field.d.ts +0 -6
- package/dist/schemas/field.d.ts.map +1 -1
- package/dist/schemas/field.js +2 -35
- package/dist/schemas/field.js.map +1 -1
- package/dist/schemas/index.d.ts +224 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +15 -6
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/layout.d.ts +0 -3
- package/dist/schemas/layout.d.ts.map +1 -1
- package/dist/schemas/layout.js +1 -13
- package/dist/schemas/layout.js.map +1 -1
- package/dist/schemas/list.d.ts +0 -3
- package/dist/schemas/list.d.ts.map +1 -1
- package/dist/schemas/list.js +2 -9
- package/dist/schemas/list.js.map +1 -1
- package/dist/schemas/theme.d.ts +179 -0
- package/dist/schemas/theme.d.ts.map +1 -0
- package/dist/schemas/theme.js +66 -0
- package/dist/schemas/theme.js.map +1 -0
- package/dist/themes.d.ts +11 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +80 -0
- package/dist/themes.js.map +1 -0
- package/dist/validate.d.ts +0 -3
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +2 -7
- package/dist/validate.js.map +1 -1
- package/package.json +7 -1
- package/schema/boot.schema.json +255 -12
- package/schema/definition.schema.json +255 -12
- package/schema/openapi.json +422 -15
- package/schema/theme.schema.json +234 -0
package/dist/schemas/api.js
CHANGED
|
@@ -29,7 +29,7 @@ var Problem = z.looseObject({
|
|
|
29
29
|
}).meta({ description: "An error, as RFC 9457 problem details (`application/problem+json`)." });
|
|
30
30
|
var Selection = z.union([z.looseObject({ ids: z.array(Id).min(1) }), z.looseObject({
|
|
31
31
|
query: z.looseObject({
|
|
32
|
-
filter: z.record(z.string(), z.unknown()).optional(),
|
|
32
|
+
filter: z.record(z.string(), z.unknown()).optional().meta({ description: "The `filter` of the list query, by filter id: a value, a list of values, or the bounds of a range (`{ \"from\": \"2026-01-01\", \"to\": \"2026-01-31\" }`)." }),
|
|
33
33
|
q: z.string().optional()
|
|
34
34
|
}),
|
|
35
35
|
except: z.array(Id).optional()
|
package/dist/schemas/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":[],"sources":["../../src/schemas/api.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { Abilities, Id, RouteReference } from './common';\nimport { User } from './definition';\n\nexport const Item = z\n .looseObject({\n id: Id,\n version: z.string().nullable().meta({\n description: 'Changes on every update. `null` when the backend has no versions.',\n }),\n abilities: Abilities,\n })\n .meta({\n description: 'An item of a resource. Its other properties are the values of its fields.',\n });\n\nexport const Pagination = z.looseObject({\n page: z.number().int().positive(),\n perPage: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n lastPage: z.number().int().positive(),\n});\n\nexport const ItemResponse = z.looseObject({ data: Item });\n\nexport const ListResponse = z.looseObject({ data: z.array(Item), meta: Pagination });\n\nexport const Problem = z\n .looseObject({\n type: z.string().meta({ description: 'A URI reference that identifies the problem type.' }),\n title: z.string(),\n status: z.number().int().min(400).max(599),\n detail: z.string().optional(),\n instance: z.string().optional(),\n errors: z\n .record(z.string(), z.array(z.string()))\n .optional()\n .meta({ description: '`422`: messages keyed by the dot path of the invalid value.' }),\n current: Item.optional().meta({ description: '`412`: the current version of the item.' }),\n })\n .meta({ description: 'An error, as RFC 9457 problem details (`application/problem+json`).' });\n\nexport const Selection = z.union([\n z.looseObject({ ids: z.array(Id).min(1) }),\n z.looseObject({\n query: z.looseObject({\n filter: z.record(z.string(), z.unknown()).optional(),\n q: z.string().optional(),\n }),\n except: z.array(Id).optional(),\n }),\n]);\n\nexport const ActionRequest = z.looseObject({\n selection: Selection.optional().meta({\n description: 'Omitted for actions on the whole resource.',\n }),\n values: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const ActionItemResult = z.looseObject({\n id: Id,\n status: z.enum(['failed', 'skipped']),\n message: z.string().optional(),\n reason: z\n .string()\n .optional()\n .meta({ description: '`skipped`: `forbidden`, `not_found` or `unchanged`.' }),\n});\n\nexport const ActionResult = z.looseObject({\n message: z.string().optional(),\n summary: z\n .looseObject({\n succeeded: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n skipped: z.number().int().nonnegative(),\n })\n .optional(),\n results: z\n .array(ActionItemResult)\n .optional()\n .meta({ description: 'The items that did not succeed.' }),\n refresh: z.enum(['none', 'items', 'list']).optional(),\n redirect: z.union([z.string(), RouteReference]).nullable().optional(),\n download: z\n .looseObject({\n url: z.string(),\n filename: z.string().optional(),\n expiresAt: z.string().optional(),\n })\n .nullable()\n .optional(),\n});\n\nexport const ActionRun = z.looseObject({\n id: Id,\n action: z.string(),\n resource: z.string(),\n status: z.enum(['queued', 'running', 'succeeded', 'partial', 'failed', 'cancelled']),\n progress: z.number().int().nonnegative(),\n total: z.number().int().nonnegative().nullable(),\n result: ActionResult.optional().meta({ description: 'Set once the run has finished.' }),\n createdAt: z.string().optional(),\n finishedAt: z.string().nullable().optional(),\n});\n\nexport const ActionRunResponse = z.looseObject({ run: ActionRun });\n\nexport const MediaTransform = z.looseObject({\n crop: z\n .looseObject({ x: z.number(), y: z.number(), width: z.number(), height: z.number() })\n .optional()\n .meta({ description: 'In pixels of the original image.' }),\n rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]).optional(),\n flipX: z.boolean().optional(),\n flipY: z.boolean().optional(),\n focalPoint: z\n .looseObject({ x: z.number().min(0).max(1), y: z.number().min(0).max(1) })\n .optional()\n .meta({ description: 'Relative to the width and height, from 0 to 1.' }),\n});\n\nexport const Media = Item.extend({\n type: z\n .string()\n .meta({ description: '`image`, `video`, `audio`, `document`, `font`, or another type.' }),\n name: z.string(),\n mime: z.string(),\n size: z.number().int().nonnegative(),\n url: z.string(),\n thumbnailUrl: z.string().nullable().optional(),\n variants: z\n .record(\n z.string(),\n z.looseObject({\n url: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n }),\n )\n .optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n transform: MediaTransform.nullable().optional(),\n tags: z.array(z.string()).optional(),\n});\n\nexport const MediaResponse = z.looseObject({ data: Media });\n\nexport const MediaListResponse = z.looseObject({ data: z.array(Media), meta: Pagination });\n\nexport const Session = z.looseObject({ user: User });\n\nexport const SearchResponse = z.looseObject({\n data: z.array(\n z.looseObject({\n resource: z.string(),\n items: z.array(Item),\n total: z.number().int().nonnegative().optional(),\n }),\n ),\n});\n\nexport const PreviewResponse = z.looseObject({ url: z.string(), expiresAt: z.string().optional() });\n\nexport type Item = z.infer<typeof Item>;\nexport type Pagination = z.infer<typeof Pagination>;\nexport type ItemResponse = z.infer<typeof ItemResponse>;\nexport type ListResponse = z.infer<typeof ListResponse>;\nexport type Problem = z.infer<typeof Problem>;\nexport type Selection = z.infer<typeof Selection>;\nexport type ActionRequest = z.infer<typeof ActionRequest>;\nexport type ActionItemResult = z.infer<typeof ActionItemResult>;\nexport type ActionResult = z.infer<typeof ActionResult>;\nexport type ActionRun = z.infer<typeof ActionRun>;\nexport type ActionRunResponse = z.infer<typeof ActionRunResponse>;\nexport type MediaTransform = z.infer<typeof MediaTransform>;\nexport type Media = z.infer<typeof Media>;\nexport type MediaResponse = z.infer<typeof MediaResponse>;\nexport type MediaListResponse = z.infer<typeof MediaListResponse>;\nexport type Session = z.infer<typeof Session>;\nexport type SearchResponse = z.infer<typeof SearchResponse>;\nexport type PreviewResponse = z.infer<typeof PreviewResponse>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","names":[],"sources":["../../src/schemas/api.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { Abilities, Id, RouteReference } from './common';\nimport { User } from './definition';\n\nexport const Item = z\n .looseObject({\n id: Id,\n version: z.string().nullable().meta({\n description: 'Changes on every update. `null` when the backend has no versions.',\n }),\n abilities: Abilities,\n })\n .meta({\n description: 'An item of a resource. Its other properties are the values of its fields.',\n });\n\nexport const Pagination = z.looseObject({\n page: z.number().int().positive(),\n perPage: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n lastPage: z.number().int().positive(),\n});\n\nexport const ItemResponse = z.looseObject({ data: Item });\n\nexport const ListResponse = z.looseObject({ data: z.array(Item), meta: Pagination });\n\nexport const Problem = z\n .looseObject({\n type: z.string().meta({ description: 'A URI reference that identifies the problem type.' }),\n title: z.string(),\n status: z.number().int().min(400).max(599),\n detail: z.string().optional(),\n instance: z.string().optional(),\n errors: z\n .record(z.string(), z.array(z.string()))\n .optional()\n .meta({ description: '`422`: messages keyed by the dot path of the invalid value.' }),\n current: Item.optional().meta({ description: '`412`: the current version of the item.' }),\n })\n .meta({ description: 'An error, as RFC 9457 problem details (`application/problem+json`).' });\n\nexport const Selection = z.union([\n z.looseObject({ ids: z.array(Id).min(1) }),\n z.looseObject({\n query: z.looseObject({\n filter: z.record(z.string(), z.unknown()).optional().meta({\n description:\n 'The `filter` of the list query, by filter id: a value, a list of values, or the bounds of a range (`{ \"from\": \"2026-01-01\", \"to\": \"2026-01-31\" }`).',\n }),\n q: z.string().optional(),\n }),\n except: z.array(Id).optional(),\n }),\n]);\n\nexport const ActionRequest = z.looseObject({\n selection: Selection.optional().meta({\n description: 'Omitted for actions on the whole resource.',\n }),\n values: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const ActionItemResult = z.looseObject({\n id: Id,\n status: z.enum(['failed', 'skipped']),\n message: z.string().optional(),\n reason: z\n .string()\n .optional()\n .meta({ description: '`skipped`: `forbidden`, `not_found` or `unchanged`.' }),\n});\n\nexport const ActionResult = z.looseObject({\n message: z.string().optional(),\n summary: z\n .looseObject({\n succeeded: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n skipped: z.number().int().nonnegative(),\n })\n .optional(),\n results: z\n .array(ActionItemResult)\n .optional()\n .meta({ description: 'The items that did not succeed.' }),\n refresh: z.enum(['none', 'items', 'list']).optional(),\n redirect: z.union([z.string(), RouteReference]).nullable().optional(),\n download: z\n .looseObject({\n url: z.string(),\n filename: z.string().optional(),\n expiresAt: z.string().optional(),\n })\n .nullable()\n .optional(),\n});\n\nexport const ActionRun = z.looseObject({\n id: Id,\n action: z.string(),\n resource: z.string(),\n status: z.enum(['queued', 'running', 'succeeded', 'partial', 'failed', 'cancelled']),\n progress: z.number().int().nonnegative(),\n total: z.number().int().nonnegative().nullable(),\n result: ActionResult.optional().meta({ description: 'Set once the run has finished.' }),\n createdAt: z.string().optional(),\n finishedAt: z.string().nullable().optional(),\n});\n\nexport const ActionRunResponse = z.looseObject({ run: ActionRun });\n\nexport const MediaTransform = z.looseObject({\n crop: z\n .looseObject({ x: z.number(), y: z.number(), width: z.number(), height: z.number() })\n .optional()\n .meta({ description: 'In pixels of the original image.' }),\n rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]).optional(),\n flipX: z.boolean().optional(),\n flipY: z.boolean().optional(),\n focalPoint: z\n .looseObject({ x: z.number().min(0).max(1), y: z.number().min(0).max(1) })\n .optional()\n .meta({ description: 'Relative to the width and height, from 0 to 1.' }),\n});\n\nexport const Media = Item.extend({\n type: z\n .string()\n .meta({ description: '`image`, `video`, `audio`, `document`, `font`, or another type.' }),\n name: z.string(),\n mime: z.string(),\n size: z.number().int().nonnegative(),\n url: z.string(),\n thumbnailUrl: z.string().nullable().optional(),\n variants: z\n .record(\n z.string(),\n z.looseObject({\n url: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n }),\n )\n .optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n transform: MediaTransform.nullable().optional(),\n tags: z.array(z.string()).optional(),\n});\n\nexport const MediaResponse = z.looseObject({ data: Media });\n\nexport const MediaListResponse = z.looseObject({ data: z.array(Media), meta: Pagination });\n\nexport const Session = z.looseObject({ user: User });\n\nexport const SearchResponse = z.looseObject({\n data: z.array(\n z.looseObject({\n resource: z.string(),\n items: z.array(Item),\n total: z.number().int().nonnegative().optional(),\n }),\n ),\n});\n\nexport const PreviewResponse = z.looseObject({ url: z.string(), expiresAt: z.string().optional() });\n\nexport type Item = z.infer<typeof Item>;\nexport type Pagination = z.infer<typeof Pagination>;\nexport type ItemResponse = z.infer<typeof ItemResponse>;\nexport type ListResponse = z.infer<typeof ListResponse>;\nexport type Problem = z.infer<typeof Problem>;\nexport type Selection = z.infer<typeof Selection>;\nexport type ActionRequest = z.infer<typeof ActionRequest>;\nexport type ActionItemResult = z.infer<typeof ActionItemResult>;\nexport type ActionResult = z.infer<typeof ActionResult>;\nexport type ActionRun = z.infer<typeof ActionRun>;\nexport type ActionRunResponse = z.infer<typeof ActionRunResponse>;\nexport type MediaTransform = z.infer<typeof MediaTransform>;\nexport type Media = z.infer<typeof Media>;\nexport type MediaResponse = z.infer<typeof MediaResponse>;\nexport type MediaListResponse = z.infer<typeof MediaListResponse>;\nexport type Session = z.infer<typeof Session>;\nexport type SearchResponse = z.infer<typeof SearchResponse>;\nexport type PreviewResponse = z.infer<typeof PreviewResponse>;\n"],"mappings":"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"}
|
package/dist/schemas/boot.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Definition } from './definition';
|
|
3
|
-
/**
|
|
4
|
-
* Id of the element that holds the boot config in the page: a
|
|
5
|
-
* `<script type="application/json" id="panneau-boot">` element whose text is the JSON object.
|
|
6
|
-
*/
|
|
7
|
-
export declare const BOOT_CONFIG_ELEMENT_ID = "panneau-boot";
|
|
8
3
|
export declare const BootConfig: z.ZodObject<{
|
|
9
4
|
protocol: z.ZodLiteral<1>;
|
|
10
5
|
apiBaseUrl: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/schemas/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/schemas/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,UAAU;;;;;gBAsBT,CAAC,CAAC,WAAW,CAAC,OAAO,UAAU,CAAC;;iBASxC,CAAC;AAEP,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
package/dist/schemas/boot.js
CHANGED
|
@@ -2,11 +2,6 @@ import "../version.js";
|
|
|
2
2
|
import { Definition } from "./definition.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/schemas/boot.ts
|
|
5
|
-
/**
|
|
6
|
-
* Id of the element that holds the boot config in the page: a
|
|
7
|
-
* `<script type="application/json" id="panneau-boot">` element whose text is the JSON object.
|
|
8
|
-
*/
|
|
9
|
-
var BOOT_CONFIG_ELEMENT_ID = "panneau-boot";
|
|
10
5
|
var BootConfig = z.looseObject({
|
|
11
6
|
protocol: z.literal(1),
|
|
12
7
|
apiBaseUrl: z.string().min(1).meta({ description: "URL of the API (`/panneau/api`), where the app fetches `{apiBaseUrl}/definition`. A path or an absolute URL." }),
|
|
@@ -16,6 +11,6 @@ var BootConfig = z.looseObject({
|
|
|
16
11
|
loginUrl: z.string().nullable().optional().meta({ description: "Where to send unauthenticated users when the API answers `401` before the definition is loaded. Afterwards, `auth.loginUrl` of the definition is used." })
|
|
17
12
|
}).meta({ description: "What a server writes in the page so the app can start, in the element `#panneau-boot`." });
|
|
18
13
|
//#endregion
|
|
19
|
-
export {
|
|
14
|
+
export { BootConfig };
|
|
20
15
|
|
|
21
16
|
//# sourceMappingURL=boot.js.map
|
package/dist/schemas/boot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.js","names":[],"sources":["../../src/schemas/boot.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PROTOCOL_VERSION } from '../version';\nimport { Definition } from './definition';\n\
|
|
1
|
+
{"version":3,"file":"boot.js","names":[],"sources":["../../src/schemas/boot.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PROTOCOL_VERSION } from '../version';\nimport { Definition } from './definition';\n\nexport const BootConfig = z\n .looseObject({\n protocol: z.literal(PROTOCOL_VERSION),\n apiBaseUrl: z.string().min(1).meta({\n description:\n 'URL of the API (`/panneau/api`), where the app fetches `{apiBaseUrl}/definition`. A path or an absolute URL.',\n }),\n basePath: z\n .string()\n .regex(/^\\/([^/?#]+(\\/[^/?#]+)*)?\\/?$/, 'A path that starts with `/`.')\n .meta({\n description:\n 'Path of the app in the site (`/panneau`, or `/` on its own domain). Client routes are under it.',\n }),\n locale: z\n .string()\n .min(2)\n .meta({ description: 'BCP 47 locale of the UI, used before the definition loads.' }),\n // The type is written out so that declaration files reference the definition's schema.\n definition: Definition.optional().meta({\n description:\n 'The definition for the current user, inlined so the app skips the first `GET /definition`.',\n }) as z.ZodOptional<typeof Definition>,\n loginUrl: z.string().nullable().optional().meta({\n description:\n 'Where to send unauthenticated users when the API answers `401` before the definition is loaded. Afterwards, `auth.loginUrl` of the definition is used.',\n }),\n })\n .meta({\n description:\n 'What a server writes in the page so the app can start, in the element `#panneau-boot`.',\n });\n\nexport type BootConfig = z.infer<typeof BootConfig>;\n/** A boot config as a backend writes it, before defaults are applied. */\nexport type BootConfigInput = z.input<typeof BootConfig>;\n"],"mappings":";;;;AAKA,IAAa,aAAa,EACrB,YAAY;CACT,UAAU,EAAE,QAAA,CAAwB;CACpC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC/B,aACI,+GACR,CAAC;CACD,UAAU,EACL,OAAO,CAAC,CACR,MAAM,iCAAiC,8BAA8B,CAAC,CACtE,KAAK,EACF,aACI,kGACR,CAAC;CACL,QAAQ,EACH,OAAO,CAAC,CACR,IAAI,CAAC,CAAC,CACN,KAAK,EAAE,aAAa,6DAA6D,CAAC;CAEvF,YAAY,WAAW,SAAS,CAAC,CAAC,KAAK,EACnC,aACI,6FACR,CAAC;CACD,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAC5C,aACI,yJACR,CAAC;AACL,CAAC,CAAC,CACD,KAAK,EACF,aACI,yFACR,CAAC"}
|
|
@@ -435,11 +435,64 @@ export declare const Definition: z.ZodObject<{
|
|
|
435
435
|
maxSize: z.ZodOptional<z.ZodNumber>;
|
|
436
436
|
}, z.core.$loose>>;
|
|
437
437
|
theme: z.ZodOptional<z.ZodObject<{
|
|
438
|
+
tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
438
439
|
colorScheme: z.ZodOptional<z.ZodEnum<{
|
|
439
|
-
light: "light";
|
|
440
440
|
dark: "dark";
|
|
441
441
|
auto: "auto";
|
|
442
|
+
light: "light";
|
|
442
443
|
}>>;
|
|
444
|
+
density: z.ZodOptional<z.ZodEnum<{
|
|
445
|
+
auto: "auto";
|
|
446
|
+
compact: "compact";
|
|
447
|
+
comfortable: "comfortable";
|
|
448
|
+
touch: "touch";
|
|
449
|
+
}>>;
|
|
450
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
451
|
+
label: z.ZodOptional<z.ZodString>;
|
|
452
|
+
dark: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
453
|
+
palette: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
454
|
+
tones: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
455
|
+
text: z.ZodString;
|
|
456
|
+
subtle: z.ZodString;
|
|
457
|
+
border: z.ZodString;
|
|
458
|
+
outline: z.ZodString;
|
|
459
|
+
solid: z.ZodString;
|
|
460
|
+
solidHover: z.ZodString;
|
|
461
|
+
solidText: z.ZodString;
|
|
462
|
+
dark: z.ZodOptional<z.ZodObject<{
|
|
463
|
+
text: z.ZodOptional<z.ZodString>;
|
|
464
|
+
subtle: z.ZodOptional<z.ZodString>;
|
|
465
|
+
border: z.ZodOptional<z.ZodString>;
|
|
466
|
+
outline: z.ZodOptional<z.ZodString>;
|
|
467
|
+
solid: z.ZodOptional<z.ZodString>;
|
|
468
|
+
solidHover: z.ZodOptional<z.ZodString>;
|
|
469
|
+
solidText: z.ZodOptional<z.ZodString>;
|
|
470
|
+
}, z.core.$loose>>;
|
|
471
|
+
}, z.core.$loose>]>>>;
|
|
472
|
+
components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
473
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
474
|
+
}, z.core.$loose>>>;
|
|
475
|
+
densities: z.ZodOptional<z.ZodObject<{
|
|
476
|
+
compact: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
477
|
+
comfortable: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
478
|
+
touch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
479
|
+
}, z.core.$loose>>;
|
|
480
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
481
|
+
family: z.ZodString;
|
|
482
|
+
src: z.ZodString;
|
|
483
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
484
|
+
style: z.ZodOptional<z.ZodString>;
|
|
485
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
486
|
+
optional: "optional";
|
|
487
|
+
auto: "auto";
|
|
488
|
+
block: "block";
|
|
489
|
+
swap: "swap";
|
|
490
|
+
fallback: "fallback";
|
|
491
|
+
}>>;
|
|
492
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
493
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
494
|
+
stylesheet: z.ZodString;
|
|
495
|
+
}, z.core.$loose>]>>>;
|
|
443
496
|
}, z.core.$loose>>;
|
|
444
497
|
user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
445
498
|
id: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/schemas/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/schemas/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,IAAI;;;;;;iBAMf,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;iBAef,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;cAYG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;iBAIjB,CAAC;AAElD,eAAO,MAAM,IAAI;;;;;iBAQf,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;iBAQjB,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;iBAIlB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAhCC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuEiC,CAAC;AAEpG,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "../version.js";
|
|
2
2
|
import { Abilities, Id } from "./common.js";
|
|
3
3
|
import { Resource } from "./resource.js";
|
|
4
|
+
import { DefinitionTheme } from "./theme.js";
|
|
4
5
|
import { z } from "zod";
|
|
5
6
|
//#region src/schemas/definition.ts
|
|
6
7
|
var User = z.looseObject({
|
|
@@ -74,11 +75,7 @@ var Definition = z.looseObject({
|
|
|
74
75
|
dashboard: z.looseObject({ widgets: z.array(Widget) }).optional(),
|
|
75
76
|
search: z.looseObject({ enabled: z.boolean() }).optional(),
|
|
76
77
|
uploads: Uploads.optional(),
|
|
77
|
-
theme:
|
|
78
|
-
"light",
|
|
79
|
-
"dark",
|
|
80
|
-
"auto"
|
|
81
|
-
]).optional() }).optional(),
|
|
78
|
+
theme: DefinitionTheme.optional(),
|
|
82
79
|
user: User.nullable().optional()
|
|
83
80
|
}).superRefine((definition, context) => {
|
|
84
81
|
const ids = /* @__PURE__ */ new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","names":[],"sources":["../../src/schemas/definition.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PROTOCOL_VERSION } from '../version';\nimport { Abilities, Id } from './common';\nimport { Resource } from './resource';\n\nexport const User = z.looseObject({\n id: Id,\n name: z.string(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n abilities: Abilities.optional(),\n});\n\nexport const AuthProvider = z.looseObject({\n id: z.string().min(1),\n label: z.string(),\n url: z.string().optional().meta({ description: 'Where the login with this provider starts.' }),\n icon: z.string().optional(),\n});\n\nexport const Auth = z.looseObject({\n mode: z.enum(['panneau', 'external']).meta({\n description: \"`panneau`: Panneau's own login pages. `external`: the site handles login.\",\n }),\n loginUrl: z\n .string()\n .nullable()\n .optional()\n .meta({ description: '`external`: where unauthenticated users are sent.' }),\n password: z.boolean().optional(),\n providers: z.array(AuthProvider).optional(),\n passwordReset: z.boolean().optional(),\n twoFactor: z.boolean().optional(),\n passkeys: z.boolean().optional(),\n emailVerification: z.boolean().optional(),\n});\n\nexport const MenuItem = z\n .looseObject({\n type: z.string().min(1).meta({\n description: 'Built-in: `resources`, `resource`, `page`, `link`, `separator`, `group`.',\n }),\n label: z.string().optional(),\n icon: z.string().optional(),\n resource: z.string().optional(),\n page: z.string().optional(),\n url: z.string().optional(),\n external: z.boolean().optional(),\n // The return type is written out so that declaration files keep the recursion.\n get children(): z.ZodOptional<z.ZodArray<typeof MenuItem>> {\n return z.array(MenuItem).optional();\n },\n })\n .meta({ description: 'An entry of a menu.' });\n\nexport const Page = z.looseObject({\n component: z\n .string()\n .min(1)\n .meta({ description: 'A page provided by a plugin, or a built-in page.' }),\n path: z.string().optional().meta({ description: 'Path of a custom page.' }),\n label: z.string().optional(),\n props: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const Widget = z.looseObject({\n id: z.string().min(1),\n type: z.string().min(1).meta({\n description: 'Built-in: `stat`, `chart`, `recent-items`, `shortcuts`, `welcome`.',\n }),\n label: z.string().optional(),\n width: z.number().int().min(1).max(12).optional(),\n settings: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const Uploads = z.looseObject({\n mode: z.enum(['multipart', 'tus', 'presigned']),\n endpoint: z.string().optional(),\n maxSize: z.number().int().positive().optional(),\n});\n\nexport const Definition = z\n .looseObject({\n protocol: z.literal(PROTOCOL_VERSION),\n name: z.string(),\n locale: z\n .string()\n .min(2)\n .meta({ description: 'BCP 47 locale of the labels and messages.' }),\n locales: z\n .array(z.string().min(2))\n .min(1)\n .meta({ description: 'Locales of localized content fields.' }),\n api: z.looseObject({ baseUrl: z.string() }),\n resources: z.array(Resource),\n pages: z.record(z.string(), Page).optional(),\n menus: z.record(z.string(), z.array(MenuItem)).optional(),\n routes: z.record(z.string(), z.string()).optional().meta({\n description: 'Named paths of the frontend, for `link` actions and redirects.',\n }),\n auth: Auth.optional(),\n dashboard: z.looseObject({ widgets: z.array(Widget) }).optional(),\n search: z.looseObject({ enabled: z.boolean() }).optional(),\n uploads: Uploads.optional(),\n theme:
|
|
1
|
+
{"version":3,"file":"definition.js","names":[],"sources":["../../src/schemas/definition.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PROTOCOL_VERSION } from '../version';\nimport { Abilities, Id } from './common';\nimport { Resource } from './resource';\nimport { DefinitionTheme } from './theme';\n\nexport const User = z.looseObject({\n id: Id,\n name: z.string(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n abilities: Abilities.optional(),\n});\n\nexport const AuthProvider = z.looseObject({\n id: z.string().min(1),\n label: z.string(),\n url: z.string().optional().meta({ description: 'Where the login with this provider starts.' }),\n icon: z.string().optional(),\n});\n\nexport const Auth = z.looseObject({\n mode: z.enum(['panneau', 'external']).meta({\n description: \"`panneau`: Panneau's own login pages. `external`: the site handles login.\",\n }),\n loginUrl: z\n .string()\n .nullable()\n .optional()\n .meta({ description: '`external`: where unauthenticated users are sent.' }),\n password: z.boolean().optional(),\n providers: z.array(AuthProvider).optional(),\n passwordReset: z.boolean().optional(),\n twoFactor: z.boolean().optional(),\n passkeys: z.boolean().optional(),\n emailVerification: z.boolean().optional(),\n});\n\nexport const MenuItem = z\n .looseObject({\n type: z.string().min(1).meta({\n description: 'Built-in: `resources`, `resource`, `page`, `link`, `separator`, `group`.',\n }),\n label: z.string().optional(),\n icon: z.string().optional(),\n resource: z.string().optional(),\n page: z.string().optional(),\n url: z.string().optional(),\n external: z.boolean().optional(),\n // The return type is written out so that declaration files keep the recursion.\n get children(): z.ZodOptional<z.ZodArray<typeof MenuItem>> {\n return z.array(MenuItem).optional();\n },\n })\n .meta({ description: 'An entry of a menu.' });\n\nexport const Page = z.looseObject({\n component: z\n .string()\n .min(1)\n .meta({ description: 'A page provided by a plugin, or a built-in page.' }),\n path: z.string().optional().meta({ description: 'Path of a custom page.' }),\n label: z.string().optional(),\n props: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const Widget = z.looseObject({\n id: z.string().min(1),\n type: z.string().min(1).meta({\n description: 'Built-in: `stat`, `chart`, `recent-items`, `shortcuts`, `welcome`.',\n }),\n label: z.string().optional(),\n width: z.number().int().min(1).max(12).optional(),\n settings: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const Uploads = z.looseObject({\n mode: z.enum(['multipart', 'tus', 'presigned']),\n endpoint: z.string().optional(),\n maxSize: z.number().int().positive().optional(),\n});\n\nexport const Definition = z\n .looseObject({\n protocol: z.literal(PROTOCOL_VERSION),\n name: z.string(),\n locale: z\n .string()\n .min(2)\n .meta({ description: 'BCP 47 locale of the labels and messages.' }),\n locales: z\n .array(z.string().min(2))\n .min(1)\n .meta({ description: 'Locales of localized content fields.' }),\n api: z.looseObject({ baseUrl: z.string() }),\n resources: z.array(Resource),\n pages: z.record(z.string(), Page).optional(),\n menus: z.record(z.string(), z.array(MenuItem)).optional(),\n routes: z.record(z.string(), z.string()).optional().meta({\n description: 'Named paths of the frontend, for `link` actions and redirects.',\n }),\n auth: Auth.optional(),\n dashboard: z.looseObject({ widgets: z.array(Widget) }).optional(),\n search: z.looseObject({ enabled: z.boolean() }).optional(),\n uploads: Uploads.optional(),\n theme: DefinitionTheme.optional(),\n user: User.nullable().optional(),\n })\n .superRefine((definition, context) => {\n const ids = new Set<string>();\n definition.resources.forEach((resource, index) => {\n if (ids.has(resource.id)) {\n context.addIssue({\n code: 'custom',\n message: `Duplicate resource id \\`${resource.id}\\`.`,\n path: ['resources', index, 'id'],\n });\n }\n ids.add(resource.id);\n });\n })\n .meta({ description: 'Everything a frontend needs to render the admin for the current user.' });\n\nexport type User = z.infer<typeof User>;\nexport type AuthProvider = z.infer<typeof AuthProvider>;\nexport type Auth = z.infer<typeof Auth>;\nexport type MenuItem = z.infer<typeof MenuItem>;\nexport type Page = z.infer<typeof Page>;\nexport type Widget = z.infer<typeof Widget>;\nexport type Uploads = z.infer<typeof Uploads>;\nexport type Definition = z.infer<typeof Definition>;\n/** A definition as a backend writes it, before defaults are applied. */\nexport type DefinitionInput = z.input<typeof Definition>;\n"],"mappings":"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"}
|
package/dist/schemas/field.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Condition } from './common';
|
|
3
|
-
/** Field types every Panneau frontend renders. Plugins add others. */
|
|
4
|
-
export declare const BUILT_IN_FIELD_TYPES: readonly ["text", "textarea", "richtext", "number", "boolean", "date", "datetime", "time", "select", "email", "url", "color", "media", "relation", "group", "repeater", "slug"];
|
|
5
|
-
/** Validation rules that both frontends and backends check. */
|
|
6
|
-
export declare const PORTABLE_RULES: readonly ["required", "min", "max", "pattern", "email", "url", "in", "accept", "maxSize", "before", "after"];
|
|
7
3
|
export declare const Rule: z.ZodUnion<readonly [z.ZodObject<{
|
|
8
4
|
rule: z.ZodLiteral<"required">;
|
|
9
5
|
message: z.ZodOptional<z.ZodString>;
|
|
@@ -137,8 +133,6 @@ export declare const Field: z.ZodObject<{
|
|
|
137
133
|
types: z.ZodOptional<z.ZodArray<typeof BlockType>>;
|
|
138
134
|
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
139
135
|
}, z.core.$loose>;
|
|
140
|
-
export type BuiltInFieldType = (typeof BUILT_IN_FIELD_TYPES)[number];
|
|
141
|
-
export type PortableRule = (typeof PORTABLE_RULES)[number];
|
|
142
136
|
export type Rule = z.infer<typeof Rule>;
|
|
143
137
|
export type BlockType = z.infer<typeof BlockType>;
|
|
144
138
|
export type Field = z.infer<typeof Field>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/schemas/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/schemas/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAU,MAAM,UAAU,CAAC;AAY7C,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAkCX,CAAC;AAEP,eAAO,MAAM,SAAS;;;;YAKJ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;iBAGxC,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAwCI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;WAMxC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;;iBAQhB,CAAC;AAEjD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC"}
|
package/dist/schemas/field.js
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
|
+
import { PORTABLE_RULES } from "../constants.js";
|
|
1
2
|
import { Condition, Option } from "./common.js";
|
|
2
3
|
import { z } from "zod";
|
|
3
4
|
//#region src/schemas/field.ts
|
|
4
|
-
/** Field types every Panneau frontend renders. Plugins add others. */
|
|
5
|
-
var BUILT_IN_FIELD_TYPES = [
|
|
6
|
-
"text",
|
|
7
|
-
"textarea",
|
|
8
|
-
"richtext",
|
|
9
|
-
"number",
|
|
10
|
-
"boolean",
|
|
11
|
-
"date",
|
|
12
|
-
"datetime",
|
|
13
|
-
"time",
|
|
14
|
-
"select",
|
|
15
|
-
"email",
|
|
16
|
-
"url",
|
|
17
|
-
"color",
|
|
18
|
-
"media",
|
|
19
|
-
"relation",
|
|
20
|
-
"group",
|
|
21
|
-
"repeater",
|
|
22
|
-
"slug"
|
|
23
|
-
];
|
|
24
|
-
/** Validation rules that both frontends and backends check. */
|
|
25
|
-
var PORTABLE_RULES = [
|
|
26
|
-
"required",
|
|
27
|
-
"min",
|
|
28
|
-
"max",
|
|
29
|
-
"pattern",
|
|
30
|
-
"email",
|
|
31
|
-
"url",
|
|
32
|
-
"in",
|
|
33
|
-
"accept",
|
|
34
|
-
"maxSize",
|
|
35
|
-
"before",
|
|
36
|
-
"after"
|
|
37
|
-
];
|
|
38
5
|
var message = z.string().optional().meta({ description: "Message shown when the rule fails, instead of the default one." });
|
|
39
6
|
var DateBound = z.union([z.string().meta({ description: "An ISO 8601 date or date-time." }), z.looseObject({ field: z.string().min(1) }).meta({ description: "Another field of the form." })]);
|
|
40
7
|
var Rule = z.union([
|
|
@@ -122,6 +89,6 @@ var Field = z.looseObject({
|
|
|
122
89
|
settings: z.record(z.string(), z.unknown()).optional()
|
|
123
90
|
}).meta({ description: "A field of a form." });
|
|
124
91
|
//#endregion
|
|
125
|
-
export {
|
|
92
|
+
export { BlockType, Field, Rule };
|
|
126
93
|
|
|
127
94
|
//# sourceMappingURL=field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","names":[],"sources":["../../src/schemas/field.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport {
|
|
1
|
+
{"version":3,"file":"field.js","names":[],"sources":["../../src/schemas/field.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PORTABLE_RULES } from '../constants';\nimport { Condition, Option } from './common';\n\nconst message = z\n .string()\n .optional()\n .meta({ description: 'Message shown when the rule fails, instead of the default one.' });\n\nconst DateBound = z.union([\n z.string().meta({ description: 'An ISO 8601 date or date-time.' }),\n z.looseObject({ field: z.string().min(1) }).meta({ description: 'Another field of the form.' }),\n]);\n\nexport const Rule = z\n .union([\n z.looseObject({ rule: z.literal('required'), message }),\n z.looseObject({ rule: z.enum(['min', 'max']), value: z.number(), message }),\n z.looseObject({\n rule: z.literal('pattern'),\n value: z.string(),\n flags: z.string().optional(),\n message,\n }),\n z.looseObject({ rule: z.enum(['email', 'url']), message }),\n z.looseObject({\n rule: z.literal('in'),\n value: z.array(z.union([z.string(), z.number(), z.boolean()])),\n message,\n }),\n z.looseObject({ rule: z.literal('accept'), value: z.array(z.string().min(1)), message }),\n z.looseObject({ rule: z.literal('maxSize'), value: z.number().int().positive(), message }),\n z.looseObject({ rule: z.enum(['before', 'after']), value: DateBound, message }),\n z\n .looseObject({\n rule: z\n .string()\n .refine((rule) => !(PORTABLE_RULES as readonly string[]).includes(rule)),\n message,\n })\n .meta({\n description:\n \"A rule added in a later version of the protocol. Clients that don't know it ignore it; the server still enforces it.\",\n }),\n ])\n .meta({\n description:\n 'A portable validation rule. `min` and `max` apply to numbers, and to the length of text and arrays. `accept` lists MIME types (`image/*`). `maxSize` is in bytes.',\n });\n\nexport const BlockType = z.looseObject({\n id: z.string().min(1),\n label: z.string(),\n icon: z.string().optional(),\n // Return types are written out so that declaration files keep the recursion.\n get fields(): z.ZodArray<typeof Field> {\n return z.array(Field);\n },\n});\n\nexport const Field = z\n .looseObject({\n name: z.string().min(1),\n type: z\n .string()\n .min(1)\n .meta({ description: 'A built-in field type, or a type provided by a plugin.' }),\n label: z.string().optional(),\n help: z.string().optional(),\n placeholder: z.string().optional(),\n default: z.unknown().optional(),\n localized: z\n .boolean()\n .optional()\n .meta({ description: 'The value is an object keyed by locale.' }),\n readOnly: z.boolean().optional(),\n createOnly: z.boolean().optional(),\n updateOnly: z.boolean().optional(),\n rules: z.array(Rule).optional(),\n visibleWhen: Condition.optional(),\n options: z.array(Option).optional().meta({ description: '`select`: the choices.' }),\n multiple: z\n .boolean()\n .optional()\n .meta({ description: '`select`, `relation`, `media`: the value is an array.' }),\n resource: z\n .string()\n .optional()\n .meta({ description: '`relation`: id of the related resource.' }),\n accept: z\n .array(z.string())\n .optional()\n .meta({ description: '`media`: accepted MIME types.' }),\n from: z\n .string()\n .optional()\n .meta({ description: '`slug`: the field the slug is generated from.' }),\n display: z.string().optional().meta({\n description: 'Display used in lists, when it differs from the default one of the type.',\n }),\n get fields(): z.ZodOptional<z.ZodArray<typeof Field>> {\n return z\n .array(Field)\n .optional()\n .meta({ description: '`group` and `repeater`: the nested fields.' });\n },\n get types(): z.ZodOptional<z.ZodArray<typeof BlockType>> {\n return z\n .array(BlockType)\n .optional()\n .meta({ description: '`repeater`: typed blocks, each with its own fields.' });\n },\n settings: z.record(z.string(), z.unknown()).optional(),\n })\n .meta({ description: 'A field of a form.' });\n\nexport type Rule = z.infer<typeof Rule>;\nexport type BlockType = z.infer<typeof BlockType>;\nexport type Field = z.infer<typeof Field>;\n"],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './layout';
|
|
|
9
9
|
export * from './list';
|
|
10
10
|
export * from './action';
|
|
11
11
|
export * from './resource';
|
|
12
|
+
export * from './theme';
|
|
12
13
|
export * from './definition';
|
|
13
14
|
export * from './api';
|
|
14
15
|
export * from './boot';
|
|
@@ -790,6 +791,175 @@ export declare const namedSchemas: {
|
|
|
790
791
|
endpoint: z.ZodOptional<z.ZodString>;
|
|
791
792
|
maxSize: z.ZodOptional<z.ZodNumber>;
|
|
792
793
|
}, z.core.$loose>;
|
|
794
|
+
ThemeTokens: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
795
|
+
ToneValues: z.ZodObject<{
|
|
796
|
+
text: z.ZodString;
|
|
797
|
+
subtle: z.ZodString;
|
|
798
|
+
border: z.ZodString;
|
|
799
|
+
outline: z.ZodString;
|
|
800
|
+
solid: z.ZodString;
|
|
801
|
+
solidHover: z.ZodString;
|
|
802
|
+
solidText: z.ZodString;
|
|
803
|
+
}, z.core.$loose>;
|
|
804
|
+
ToneInput: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
805
|
+
text: z.ZodString;
|
|
806
|
+
subtle: z.ZodString;
|
|
807
|
+
border: z.ZodString;
|
|
808
|
+
outline: z.ZodString;
|
|
809
|
+
solid: z.ZodString;
|
|
810
|
+
solidHover: z.ZodString;
|
|
811
|
+
solidText: z.ZodString;
|
|
812
|
+
dark: z.ZodOptional<z.ZodObject<{
|
|
813
|
+
text: z.ZodOptional<z.ZodString>;
|
|
814
|
+
subtle: z.ZodOptional<z.ZodString>;
|
|
815
|
+
border: z.ZodOptional<z.ZodString>;
|
|
816
|
+
outline: z.ZodOptional<z.ZodString>;
|
|
817
|
+
solid: z.ZodOptional<z.ZodString>;
|
|
818
|
+
solidHover: z.ZodOptional<z.ZodString>;
|
|
819
|
+
solidText: z.ZodOptional<z.ZodString>;
|
|
820
|
+
}, z.core.$loose>>;
|
|
821
|
+
}, z.core.$loose>]>;
|
|
822
|
+
ThemeFontFace: z.ZodObject<{
|
|
823
|
+
family: z.ZodString;
|
|
824
|
+
src: z.ZodString;
|
|
825
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
826
|
+
style: z.ZodOptional<z.ZodString>;
|
|
827
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
828
|
+
optional: "optional";
|
|
829
|
+
auto: "auto";
|
|
830
|
+
block: "block";
|
|
831
|
+
swap: "swap";
|
|
832
|
+
fallback: "fallback";
|
|
833
|
+
}>>;
|
|
834
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
835
|
+
}, z.core.$loose>;
|
|
836
|
+
ThemeFontStylesheet: z.ZodObject<{
|
|
837
|
+
stylesheet: z.ZodString;
|
|
838
|
+
}, z.core.$loose>;
|
|
839
|
+
ThemeFont: z.ZodUnion<readonly [z.ZodObject<{
|
|
840
|
+
family: z.ZodString;
|
|
841
|
+
src: z.ZodString;
|
|
842
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
843
|
+
style: z.ZodOptional<z.ZodString>;
|
|
844
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
845
|
+
optional: "optional";
|
|
846
|
+
auto: "auto";
|
|
847
|
+
block: "block";
|
|
848
|
+
swap: "swap";
|
|
849
|
+
fallback: "fallback";
|
|
850
|
+
}>>;
|
|
851
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
852
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
853
|
+
stylesheet: z.ZodString;
|
|
854
|
+
}, z.core.$loose>]>;
|
|
855
|
+
Theme: z.ZodObject<{
|
|
856
|
+
label: z.ZodOptional<z.ZodString>;
|
|
857
|
+
tokens: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
858
|
+
dark: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
859
|
+
palette: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
860
|
+
tones: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
861
|
+
text: z.ZodString;
|
|
862
|
+
subtle: z.ZodString;
|
|
863
|
+
border: z.ZodString;
|
|
864
|
+
outline: z.ZodString;
|
|
865
|
+
solid: z.ZodString;
|
|
866
|
+
solidHover: z.ZodString;
|
|
867
|
+
solidText: z.ZodString;
|
|
868
|
+
dark: z.ZodOptional<z.ZodObject<{
|
|
869
|
+
text: z.ZodOptional<z.ZodString>;
|
|
870
|
+
subtle: z.ZodOptional<z.ZodString>;
|
|
871
|
+
border: z.ZodOptional<z.ZodString>;
|
|
872
|
+
outline: z.ZodOptional<z.ZodString>;
|
|
873
|
+
solid: z.ZodOptional<z.ZodString>;
|
|
874
|
+
solidHover: z.ZodOptional<z.ZodString>;
|
|
875
|
+
solidText: z.ZodOptional<z.ZodString>;
|
|
876
|
+
}, z.core.$loose>>;
|
|
877
|
+
}, z.core.$loose>]>>>;
|
|
878
|
+
components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
879
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
880
|
+
}, z.core.$loose>>>;
|
|
881
|
+
densities: z.ZodOptional<z.ZodObject<{
|
|
882
|
+
compact: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
883
|
+
comfortable: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
884
|
+
touch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
885
|
+
}, z.core.$loose>>;
|
|
886
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
887
|
+
family: z.ZodString;
|
|
888
|
+
src: z.ZodString;
|
|
889
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
890
|
+
style: z.ZodOptional<z.ZodString>;
|
|
891
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
892
|
+
optional: "optional";
|
|
893
|
+
auto: "auto";
|
|
894
|
+
block: "block";
|
|
895
|
+
swap: "swap";
|
|
896
|
+
fallback: "fallback";
|
|
897
|
+
}>>;
|
|
898
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
899
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
900
|
+
stylesheet: z.ZodString;
|
|
901
|
+
}, z.core.$loose>]>>>;
|
|
902
|
+
}, z.core.$loose>;
|
|
903
|
+
DefinitionTheme: z.ZodObject<{
|
|
904
|
+
tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
905
|
+
colorScheme: z.ZodOptional<z.ZodEnum<{
|
|
906
|
+
dark: "dark";
|
|
907
|
+
auto: "auto";
|
|
908
|
+
light: "light";
|
|
909
|
+
}>>;
|
|
910
|
+
density: z.ZodOptional<z.ZodEnum<{
|
|
911
|
+
auto: "auto";
|
|
912
|
+
compact: "compact";
|
|
913
|
+
comfortable: "comfortable";
|
|
914
|
+
touch: "touch";
|
|
915
|
+
}>>;
|
|
916
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
917
|
+
label: z.ZodOptional<z.ZodString>;
|
|
918
|
+
dark: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
919
|
+
palette: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
920
|
+
tones: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
921
|
+
text: z.ZodString;
|
|
922
|
+
subtle: z.ZodString;
|
|
923
|
+
border: z.ZodString;
|
|
924
|
+
outline: z.ZodString;
|
|
925
|
+
solid: z.ZodString;
|
|
926
|
+
solidHover: z.ZodString;
|
|
927
|
+
solidText: z.ZodString;
|
|
928
|
+
dark: z.ZodOptional<z.ZodObject<{
|
|
929
|
+
text: z.ZodOptional<z.ZodString>;
|
|
930
|
+
subtle: z.ZodOptional<z.ZodString>;
|
|
931
|
+
border: z.ZodOptional<z.ZodString>;
|
|
932
|
+
outline: z.ZodOptional<z.ZodString>;
|
|
933
|
+
solid: z.ZodOptional<z.ZodString>;
|
|
934
|
+
solidHover: z.ZodOptional<z.ZodString>;
|
|
935
|
+
solidText: z.ZodOptional<z.ZodString>;
|
|
936
|
+
}, z.core.$loose>>;
|
|
937
|
+
}, z.core.$loose>]>>>;
|
|
938
|
+
components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
939
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
940
|
+
}, z.core.$loose>>>;
|
|
941
|
+
densities: z.ZodOptional<z.ZodObject<{
|
|
942
|
+
compact: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
943
|
+
comfortable: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
944
|
+
touch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
945
|
+
}, z.core.$loose>>;
|
|
946
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
947
|
+
family: z.ZodString;
|
|
948
|
+
src: z.ZodString;
|
|
949
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
950
|
+
style: z.ZodOptional<z.ZodString>;
|
|
951
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
952
|
+
optional: "optional";
|
|
953
|
+
auto: "auto";
|
|
954
|
+
block: "block";
|
|
955
|
+
swap: "swap";
|
|
956
|
+
fallback: "fallback";
|
|
957
|
+
}>>;
|
|
958
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
959
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
960
|
+
stylesheet: z.ZodString;
|
|
961
|
+
}, z.core.$loose>]>>>;
|
|
962
|
+
}, z.core.$loose>;
|
|
793
963
|
Definition: z.ZodObject<{
|
|
794
964
|
protocol: z.ZodLiteral<1>;
|
|
795
965
|
name: z.ZodString;
|
|
@@ -1163,11 +1333,64 @@ export declare const namedSchemas: {
|
|
|
1163
1333
|
maxSize: z.ZodOptional<z.ZodNumber>;
|
|
1164
1334
|
}, z.core.$loose>>;
|
|
1165
1335
|
theme: z.ZodOptional<z.ZodObject<{
|
|
1336
|
+
tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1166
1337
|
colorScheme: z.ZodOptional<z.ZodEnum<{
|
|
1167
|
-
light: "light";
|
|
1168
1338
|
dark: "dark";
|
|
1169
1339
|
auto: "auto";
|
|
1340
|
+
light: "light";
|
|
1170
1341
|
}>>;
|
|
1342
|
+
density: z.ZodOptional<z.ZodEnum<{
|
|
1343
|
+
auto: "auto";
|
|
1344
|
+
compact: "compact";
|
|
1345
|
+
comfortable: "comfortable";
|
|
1346
|
+
touch: "touch";
|
|
1347
|
+
}>>;
|
|
1348
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
1349
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1350
|
+
dark: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1351
|
+
palette: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1352
|
+
tones: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1353
|
+
text: z.ZodString;
|
|
1354
|
+
subtle: z.ZodString;
|
|
1355
|
+
border: z.ZodString;
|
|
1356
|
+
outline: z.ZodString;
|
|
1357
|
+
solid: z.ZodString;
|
|
1358
|
+
solidHover: z.ZodString;
|
|
1359
|
+
solidText: z.ZodString;
|
|
1360
|
+
dark: z.ZodOptional<z.ZodObject<{
|
|
1361
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1362
|
+
subtle: z.ZodOptional<z.ZodString>;
|
|
1363
|
+
border: z.ZodOptional<z.ZodString>;
|
|
1364
|
+
outline: z.ZodOptional<z.ZodString>;
|
|
1365
|
+
solid: z.ZodOptional<z.ZodString>;
|
|
1366
|
+
solidHover: z.ZodOptional<z.ZodString>;
|
|
1367
|
+
solidText: z.ZodOptional<z.ZodString>;
|
|
1368
|
+
}, z.core.$loose>>;
|
|
1369
|
+
}, z.core.$loose>]>>>;
|
|
1370
|
+
components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1371
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
1372
|
+
}, z.core.$loose>>>;
|
|
1373
|
+
densities: z.ZodOptional<z.ZodObject<{
|
|
1374
|
+
compact: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1375
|
+
comfortable: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1376
|
+
touch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1377
|
+
}, z.core.$loose>>;
|
|
1378
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
1379
|
+
family: z.ZodString;
|
|
1380
|
+
src: z.ZodString;
|
|
1381
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
1382
|
+
style: z.ZodOptional<z.ZodString>;
|
|
1383
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
1384
|
+
optional: "optional";
|
|
1385
|
+
auto: "auto";
|
|
1386
|
+
block: "block";
|
|
1387
|
+
swap: "swap";
|
|
1388
|
+
fallback: "fallback";
|
|
1389
|
+
}>>;
|
|
1390
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
1391
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
1392
|
+
stylesheet: z.ZodString;
|
|
1393
|
+
}, z.core.$loose>]>>>;
|
|
1171
1394
|
}, z.core.$loose>>;
|
|
1172
1395
|
user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
1173
1396
|
id: z.ZodString;
|