@imjp/writenex-astro 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +894 -60
- package/dist/{chunk-HNS5YKP3.js → chunk-E4PQLKAH.js} +69 -28
- package/dist/chunk-E4PQLKAH.js.map +1 -0
- package/dist/client/index.d.ts +19 -0
- package/dist/config/index.js +1 -1
- package/dist/fields/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/fields/README.md +985 -0
- package/src/fields/resolve.ts +86 -32
- package/src/types/config.ts +1 -0
- package/dist/chunk-HNS5YKP3.js.map +0 -1
|
@@ -27,6 +27,20 @@ var FIELD_KIND_TO_TYPE = {
|
|
|
27
27
|
"empty-document": "empty-document",
|
|
28
28
|
ignored: "ignored"
|
|
29
29
|
};
|
|
30
|
+
function resolveObjectFields(fields2) {
|
|
31
|
+
const result = {};
|
|
32
|
+
for (const [key, value] of Object.entries(fields2)) {
|
|
33
|
+
result[key] = resolveFieldDefinition(value);
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function resolveBlockTypes(blockTypes) {
|
|
38
|
+
const result = {};
|
|
39
|
+
for (const [key, value] of Object.entries(blockTypes)) {
|
|
40
|
+
result[key] = resolveFieldDefinition(value);
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
30
44
|
function resolveFieldDefinition(field) {
|
|
31
45
|
const type = FIELD_KIND_TO_TYPE[field.fieldKind] ?? "string";
|
|
32
46
|
const base = {
|
|
@@ -37,15 +51,52 @@ function resolveFieldDefinition(field) {
|
|
|
37
51
|
default: field.defaultValue
|
|
38
52
|
};
|
|
39
53
|
switch (field.fieldKind) {
|
|
54
|
+
case "text":
|
|
55
|
+
return {
|
|
56
|
+
...base,
|
|
57
|
+
multiline: field.multiline
|
|
58
|
+
};
|
|
59
|
+
case "slug":
|
|
60
|
+
case "url":
|
|
61
|
+
return base;
|
|
62
|
+
case "number":
|
|
63
|
+
return {
|
|
64
|
+
...base,
|
|
65
|
+
default: field.defaultValue ?? field.placeholder
|
|
66
|
+
};
|
|
67
|
+
case "integer":
|
|
68
|
+
return {
|
|
69
|
+
...base,
|
|
70
|
+
default: field.defaultValue ?? field.placeholder
|
|
71
|
+
};
|
|
40
72
|
case "select":
|
|
41
73
|
return {
|
|
42
74
|
...base,
|
|
43
|
-
options: field.options
|
|
75
|
+
options: field.options,
|
|
76
|
+
default: field.defaultValue
|
|
44
77
|
};
|
|
45
78
|
case "multiselect":
|
|
46
79
|
return {
|
|
47
80
|
...base,
|
|
48
|
-
items: "string"
|
|
81
|
+
items: "string",
|
|
82
|
+
default: field.defaultValue
|
|
83
|
+
};
|
|
84
|
+
case "checkbox":
|
|
85
|
+
return {
|
|
86
|
+
...base,
|
|
87
|
+
default: field.defaultValue
|
|
88
|
+
};
|
|
89
|
+
case "date":
|
|
90
|
+
return {
|
|
91
|
+
...base,
|
|
92
|
+
format: "date",
|
|
93
|
+
default: field.defaultValue
|
|
94
|
+
};
|
|
95
|
+
case "datetime":
|
|
96
|
+
return {
|
|
97
|
+
...base,
|
|
98
|
+
format: "datetime-local",
|
|
99
|
+
default: field.defaultValue
|
|
49
100
|
};
|
|
50
101
|
case "image":
|
|
51
102
|
return {
|
|
@@ -81,6 +132,14 @@ function resolveFieldDefinition(field) {
|
|
|
81
132
|
...base,
|
|
82
133
|
collection: field.collection
|
|
83
134
|
};
|
|
135
|
+
case "path-reference":
|
|
136
|
+
return {
|
|
137
|
+
...base,
|
|
138
|
+
allowExternal: field.contentTypes?.includes("url")
|
|
139
|
+
};
|
|
140
|
+
case "markdoc":
|
|
141
|
+
case "mdx":
|
|
142
|
+
return base;
|
|
84
143
|
case "conditional":
|
|
85
144
|
return {
|
|
86
145
|
...base,
|
|
@@ -88,35 +147,17 @@ function resolveFieldDefinition(field) {
|
|
|
88
147
|
matchValue: field.matchValue,
|
|
89
148
|
showField: resolveFieldDefinition(field.showField)
|
|
90
149
|
};
|
|
91
|
-
case "
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
case "
|
|
97
|
-
case "
|
|
98
|
-
return {
|
|
99
|
-
...base,
|
|
100
|
-
format: field.fieldKind === "datetime" ? "datetime-local" : "date"
|
|
101
|
-
};
|
|
150
|
+
case "child":
|
|
151
|
+
case "cloud-image":
|
|
152
|
+
return base;
|
|
153
|
+
case "empty":
|
|
154
|
+
case "empty-content":
|
|
155
|
+
case "empty-document":
|
|
156
|
+
case "ignored":
|
|
102
157
|
default:
|
|
103
158
|
return base;
|
|
104
159
|
}
|
|
105
160
|
}
|
|
106
|
-
function resolveObjectFields(fields2) {
|
|
107
|
-
const result = {};
|
|
108
|
-
for (const [key, value] of Object.entries(fields2)) {
|
|
109
|
-
result[key] = resolveFieldDefinition(value);
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
function resolveBlockTypes(blockTypes) {
|
|
114
|
-
const result = {};
|
|
115
|
-
for (const [key, value] of Object.entries(blockTypes)) {
|
|
116
|
-
result[key] = resolveFieldDefinition(value);
|
|
117
|
-
}
|
|
118
|
-
return result;
|
|
119
|
-
}
|
|
120
161
|
|
|
121
162
|
// src/fields/collection.ts
|
|
122
163
|
function collection(config) {
|
|
@@ -238,4 +279,4 @@ export {
|
|
|
238
279
|
singleton,
|
|
239
280
|
fields
|
|
240
281
|
};
|
|
241
|
-
//# sourceMappingURL=chunk-
|
|
282
|
+
//# sourceMappingURL=chunk-E4PQLKAH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/fields/resolve.ts","../src/fields/collection.ts","../src/fields/fields.ts"],"sourcesContent":["/**\n * @fileoverview FieldDefinition to SchemaField conversion\n *\n * This module converts FieldDefinition objects (from the builder API)\n * to the internal SchemaField format used by the form system.\n *\n * @module @writenex/astro/fields/resolve\n */\n\nimport type { SchemaField } from \"@/types\";\nimport type { FieldDefinition } from \"./types\";\n\nconst FIELD_KIND_TO_TYPE: Record<string, string> = {\n text: \"string\",\n slug: \"string\",\n url: \"string\",\n number: \"number\",\n integer: \"number\",\n select: \"string\",\n multiselect: \"array\",\n checkbox: \"boolean\",\n date: \"date\",\n datetime: \"date\",\n image: \"image\",\n file: \"file\",\n object: \"object\",\n array: \"array\",\n blocks: \"blocks\",\n relationship: \"relationship\",\n \"path-reference\": \"string\",\n markdoc: \"markdoc\",\n mdx: \"mdx\",\n conditional: \"object\",\n child: \"child\",\n \"cloud-image\": \"image\",\n empty: \"empty\",\n \"empty-content\": \"empty-content\",\n \"empty-document\": \"empty-document\",\n ignored: \"ignored\",\n};\n\nfunction resolveObjectFields(\n fields: Record<string, FieldDefinition>\n): Record<string, SchemaField> {\n const result: Record<string, SchemaField> = {};\n for (const [key, value] of Object.entries(fields)) {\n result[key] = resolveFieldDefinition(value);\n }\n return result;\n}\n\nfunction resolveBlockTypes(\n blockTypes: Record<string, FieldDefinition>\n): Record<string, SchemaField> {\n const result: Record<string, SchemaField> = {};\n for (const [key, value] of Object.entries(blockTypes)) {\n result[key] = resolveFieldDefinition(value);\n }\n return result;\n}\n\nexport function resolveFieldDefinition(field: FieldDefinition): SchemaField {\n const type = FIELD_KIND_TO_TYPE[field.fieldKind] ?? \"string\";\n\n const base: SchemaField = {\n type: type as SchemaField[\"type\"],\n required: field.validation?.isRequired ?? false,\n label: field.label,\n description: field.description,\n default: field.defaultValue,\n };\n\n switch (field.fieldKind) {\n case \"text\":\n return {\n ...base,\n multiline: field.multiline,\n };\n\n case \"slug\":\n case \"url\":\n return base;\n\n case \"number\":\n return {\n ...base,\n default:\n field.defaultValue ?? (field as { placeholder?: number }).placeholder,\n };\n\n case \"integer\":\n return {\n ...base,\n default:\n field.defaultValue ?? (field as { placeholder?: number }).placeholder,\n };\n\n case \"select\":\n return {\n ...base,\n options: field.options,\n default: field.defaultValue,\n };\n\n case \"multiselect\":\n return {\n ...base,\n items: \"string\",\n default: field.defaultValue,\n };\n\n case \"checkbox\":\n return {\n ...base,\n default: field.defaultValue,\n };\n\n case \"date\":\n return {\n ...base,\n format: \"date\",\n default: field.defaultValue,\n };\n\n case \"datetime\":\n return {\n ...base,\n format: \"datetime-local\",\n default: field.defaultValue,\n };\n\n case \"image\":\n return {\n ...base,\n directory: field.directory,\n publicPath: field.publicPath,\n };\n\n case \"file\":\n return {\n ...base,\n directory: field.directory,\n publicPath: field.publicPath,\n };\n\n case \"object\":\n return {\n ...base,\n fields: resolveObjectFields(field.fields),\n };\n\n case \"array\":\n return {\n ...base,\n itemField: resolveFieldDefinition(field.itemField),\n itemLabel: field.itemLabel,\n };\n\n case \"blocks\":\n return {\n ...base,\n blockTypes: resolveBlockTypes(field.blockTypes),\n itemLabel: field.itemLabel,\n };\n\n case \"relationship\":\n return {\n ...base,\n collection: field.collection,\n };\n\n case \"path-reference\":\n return {\n ...base,\n allowExternal: (\n field as { contentTypes?: string[] }\n ).contentTypes?.includes(\"url\"),\n };\n\n case \"markdoc\":\n case \"mdx\":\n return base;\n\n case \"conditional\":\n return {\n ...base,\n matchField: field.matchField,\n matchValue: field.matchValue,\n showField: resolveFieldDefinition(field.showField),\n };\n\n case \"child\":\n case \"cloud-image\":\n return base;\n\n case \"empty\":\n case \"empty-content\":\n case \"empty-document\":\n case \"ignored\":\n default:\n return base;\n }\n}\n","/**\n * @fileoverview Collection and Singleton schema helpers\n *\n * These helpers provide a typed way to define collection and singleton\n * schemas using the fields builder API. They convert FieldDefinition\n * objects to internal SchemaField format.\n *\n * @module @writenex/astro/fields/collection\n */\n\nimport type { CollectionConfig, ImageConfig } from \"@/types\";\nimport { resolveFieldDefinition } from \"./resolve\";\nimport type { FieldDefinition } from \"./types\";\n\nexport interface CollectionSchemaConfig {\n name: string;\n path: string;\n filePattern?: string;\n previewUrl?: string;\n schema: Record<string, FieldDefinition>;\n images?: ImageConfig;\n}\n\nexport interface SingletonSchemaConfig {\n name: string;\n path: string;\n previewUrl?: string;\n schema: Record<string, FieldDefinition>;\n images?: ImageConfig;\n}\n\nexport function collection(config: CollectionSchemaConfig): CollectionConfig {\n const schema: Record<string, import(\"@/types\").SchemaField> = {};\n for (const [key, fieldDef] of Object.entries(config.schema)) {\n schema[key] = resolveFieldDefinition(fieldDef);\n }\n\n return {\n name: config.name,\n path: config.path,\n filePattern: config.filePattern,\n previewUrl: config.previewUrl,\n schema,\n images: config.images,\n };\n}\n\nexport function singleton(config: SingletonSchemaConfig): {\n name: string;\n path: string;\n previewUrl?: string;\n schema: Record<string, import(\"@/types\").SchemaField>;\n images?: ImageConfig;\n} {\n const schema: Record<string, import(\"@/types\").SchemaField> = {};\n for (const [key, fieldDef] of Object.entries(config.schema)) {\n schema[key] = resolveFieldDefinition(fieldDef);\n }\n\n return {\n name: config.name,\n path: config.path,\n previewUrl: config.previewUrl,\n schema,\n images: config.images,\n };\n}\n","/**\n * @fileoverview Fields builder API for @writenex/astro\n *\n * This module provides a TypeScript-first builder pattern for defining\n * content schema fields. Each field type is a method on the `fields` object.\n *\n * @module @writenex/astro/fields/fields\n */\n\nimport type {\n ArrayFieldConfig,\n BaseFieldConfig,\n BlocksFieldConfig,\n CheckboxFieldConfig,\n ChildFieldConfig,\n CloudImageFieldConfig,\n ConditionalFieldConfig,\n DateFieldConfig,\n DatetimeFieldConfig,\n FieldDefinition,\n FileFieldConfig,\n ImageFieldConfig,\n IntegerFieldConfig,\n MarkdocFieldConfig,\n MdxFieldConfig,\n MultiselectFieldConfig,\n NumberFieldConfig,\n ObjectFieldConfig,\n PathReferenceFieldConfig,\n RelationshipFieldConfig,\n SelectFieldConfig,\n SlugFieldConfig,\n TextFieldConfig,\n UrlFieldConfig,\n} from \"./types\";\n\nfunction createField<K extends FieldDefinition[\"fieldKind\"]>(\n fieldKind: K,\n config: Omit<Extract<FieldDefinition, { fieldKind: K }>, \"fieldKind\">\n): Extract<FieldDefinition, { fieldKind: K }> {\n return { fieldKind, ...config } as Extract<FieldDefinition, { fieldKind: K }>;\n}\n\nexport const fields = {\n text(config: TextFieldConfig = {}): FieldDefinition {\n return createField(\"text\", config);\n },\n\n slug(config: SlugFieldConfig = {}): FieldDefinition {\n return createField(\"slug\", config);\n },\n\n url(config: UrlFieldConfig = {}): FieldDefinition {\n return createField(\"url\", config);\n },\n\n number(config: NumberFieldConfig = {}): FieldDefinition {\n return createField(\"number\", config);\n },\n\n integer(config: IntegerFieldConfig = {}): FieldDefinition {\n return createField(\"integer\", config);\n },\n\n select(config: SelectFieldConfig): FieldDefinition {\n return createField(\"select\", config);\n },\n\n multiselect(config: MultiselectFieldConfig): FieldDefinition {\n return createField(\"multiselect\", config);\n },\n\n checkbox(config: CheckboxFieldConfig = {}): FieldDefinition {\n return createField(\"checkbox\", config);\n },\n\n date(config: DateFieldConfig = {}): FieldDefinition {\n return createField(\"date\", config);\n },\n\n datetime(config: DatetimeFieldConfig = {}): FieldDefinition {\n return createField(\"datetime\", config);\n },\n\n image(config: ImageFieldConfig = {}): FieldDefinition {\n return createField(\"image\", config);\n },\n\n file(config: FileFieldConfig = {}): FieldDefinition {\n return createField(\"file\", config);\n },\n\n object(config: ObjectFieldConfig): FieldDefinition {\n return createField(\"object\", config);\n },\n\n array(config: ArrayFieldConfig): FieldDefinition {\n return createField(\"array\", config);\n },\n\n blocks(config: BlocksFieldConfig): FieldDefinition {\n return createField(\"blocks\", config);\n },\n\n relationship(config: RelationshipFieldConfig): FieldDefinition {\n return createField(\"relationship\", config);\n },\n\n pathReference(config: PathReferenceFieldConfig = {}): FieldDefinition {\n return createField(\"path-reference\", config);\n },\n\n markdoc(config: MarkdocFieldConfig = {}): FieldDefinition {\n return createField(\"markdoc\", config);\n },\n\n mdx(config: MdxFieldConfig = {}): FieldDefinition {\n return createField(\"mdx\", config);\n },\n\n conditional(config: ConditionalFieldConfig): FieldDefinition {\n return createField(\"conditional\", config);\n },\n\n child(config: ChildFieldConfig = {}): FieldDefinition {\n return createField(\"child\", config);\n },\n\n cloudImage(config: CloudImageFieldConfig = {}): FieldDefinition {\n return createField(\"cloud-image\", config);\n },\n\n empty(config: BaseFieldConfig = {}): FieldDefinition {\n return createField(\"empty\", config);\n },\n\n emptyContent(config: BaseFieldConfig = {}): FieldDefinition {\n return createField(\"empty-content\", config);\n },\n\n emptyDocument(config: BaseFieldConfig = {}): FieldDefinition {\n return createField(\"empty-document\", config);\n },\n\n ignored(config: BaseFieldConfig = {}): FieldDefinition {\n return createField(\"ignored\", config);\n },\n};\n\nexport type Fields = typeof fields;\n"],"mappings":"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","names":["fields"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Client entry point for Writenex editor
|
|
3
|
+
*
|
|
4
|
+
* This is the main entry point for the React-based editor UI.
|
|
5
|
+
* It bootstraps the application and mounts it to the DOM.
|
|
6
|
+
*
|
|
7
|
+
* @module @writenex/astro/client
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Configuration injected by the server
|
|
11
|
+
*/
|
|
12
|
+
declare global {
|
|
13
|
+
interface Window {
|
|
14
|
+
__WRITENEX_CONFIG__?: {
|
|
15
|
+
basePath: string;
|
|
16
|
+
apiBase: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist/config/index.js
CHANGED
package/dist/fields/index.js
CHANGED
package/dist/index.js
CHANGED