next-anvil 0.1.0 → 0.2.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.
Files changed (66) hide show
  1. package/dist/bin/templates/resource.js +4 -4
  2. package/dist/src/actions.d.ts +44 -0
  3. package/dist/src/actions.d.ts.map +1 -0
  4. package/dist/src/actions.js +328 -0
  5. package/dist/src/actions.js.map +1 -0
  6. package/dist/src/fields/date.d.ts +16 -0
  7. package/dist/src/fields/date.d.ts.map +1 -0
  8. package/dist/src/fields/date.js +17 -0
  9. package/dist/src/fields/date.js.map +1 -0
  10. package/dist/src/fields/email.d.ts +16 -0
  11. package/dist/src/fields/email.d.ts.map +1 -0
  12. package/dist/src/fields/email.js +15 -0
  13. package/dist/src/fields/email.js.map +1 -0
  14. package/dist/src/fields/hidden.d.ts +9 -0
  15. package/dist/src/fields/hidden.d.ts.map +1 -0
  16. package/dist/src/fields/hidden.js +10 -0
  17. package/dist/src/fields/hidden.js.map +1 -0
  18. package/dist/src/fields/index.d.ts +8 -0
  19. package/dist/src/fields/index.d.ts.map +1 -0
  20. package/dist/src/fields/index.js +24 -0
  21. package/dist/src/fields/index.js.map +1 -0
  22. package/dist/src/fields/number.d.ts +17 -0
  23. package/dist/src/fields/number.d.ts.map +1 -0
  24. package/dist/src/fields/number.js +16 -0
  25. package/dist/src/fields/number.js.map +1 -0
  26. package/dist/src/fields/select.d.ts +20 -0
  27. package/dist/src/fields/select.d.ts.map +1 -0
  28. package/dist/src/fields/select.js +15 -0
  29. package/dist/src/fields/select.js.map +1 -0
  30. package/dist/src/fields/text.d.ts +19 -0
  31. package/dist/src/fields/text.d.ts.map +1 -0
  32. package/dist/src/fields/text.js +17 -0
  33. package/dist/src/fields/text.js.map +1 -0
  34. package/dist/src/fields/textarea.d.ts +19 -0
  35. package/dist/src/fields/textarea.d.ts.map +1 -0
  36. package/dist/src/fields/textarea.js +17 -0
  37. package/dist/src/fields/textarea.js.map +1 -0
  38. package/dist/src/fields/types.d.ts +41 -0
  39. package/dist/src/fields/types.d.ts.map +1 -0
  40. package/dist/src/fields/types.js +3 -0
  41. package/dist/src/fields/types.js.map +1 -0
  42. package/dist/src/fields.d.ts +56 -0
  43. package/dist/src/fields.d.ts.map +1 -0
  44. package/dist/src/fields.js +86 -0
  45. package/dist/src/fields.js.map +1 -0
  46. package/dist/src/form.d.ts +7 -0
  47. package/dist/src/form.d.ts.map +1 -0
  48. package/dist/src/form.js +7 -0
  49. package/dist/src/form.js.map +1 -0
  50. package/dist/src/index.d.ts +8 -0
  51. package/dist/src/index.d.ts.map +1 -0
  52. package/dist/src/index.js +24 -0
  53. package/dist/src/index.js.map +1 -0
  54. package/dist/src/resource.d.ts +21 -0
  55. package/dist/src/resource.d.ts.map +1 -0
  56. package/dist/src/resource.js +28 -0
  57. package/dist/src/resource.js.map +1 -0
  58. package/dist/src/table.d.ts +11 -0
  59. package/dist/src/table.d.ts.map +1 -0
  60. package/dist/src/table.js +7 -0
  61. package/dist/src/table.js.map +1 -0
  62. package/dist/src/types.d.ts +55 -0
  63. package/dist/src/types.d.ts.map +1 -0
  64. package/dist/src/types.js +6 -0
  65. package/dist/src/types.js.map +1 -0
  66. package/package.json +7 -1
@@ -5,7 +5,7 @@ exports.formTemplate = formTemplate;
5
5
  exports.tableTemplate = tableTemplate;
6
6
  function indexTemplate(singular) {
7
7
  return `
8
- import { defineResource } from "@/lib/anvil/resource";
8
+ import { defineResource } from "next-anvil/resource";
9
9
  import form from "./form";
10
10
  import table from "./table";
11
11
 
@@ -18,8 +18,8 @@ export default defineResource({
18
18
  }
19
19
  function formTemplate(singular) {
20
20
  return `
21
- import { defineFormSchema } from "@/lib/anvil/form";
22
- import { text } from "@/lib/anvil/fields";
21
+ import { defineFormSchema } from "next-anvil/form";
22
+ import { text } from "next-anvil/fields";
23
23
 
24
24
  export default defineFormSchema({
25
25
  fields: {
@@ -34,7 +34,7 @@ export default defineFormSchema({
34
34
  }
35
35
  function tableTemplate() {
36
36
  return `
37
- import { defineTableSchema } from "@/lib/anvil/table";
37
+ import { defineTableSchema } from "next-anvil/table";
38
38
 
39
39
  export default defineTableSchema({
40
40
  columns: [
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Generic CRUD server actions for resources
3
+ */
4
+ import type { PrismaClient } from "@prisma/client";
5
+ import type { AnvilResource } from "./resource";
6
+ /**
7
+ * Set the Prisma client instance to use for all actions
8
+ * Call this in your app initialization or in a setup file
9
+ */
10
+ export declare function setPrismaClient(client: PrismaClient): void;
11
+ export interface ActionError {
12
+ field?: string;
13
+ message: string;
14
+ }
15
+ export interface ActionResult<T = any> {
16
+ success: boolean;
17
+ data?: T;
18
+ errors?: ActionError[];
19
+ }
20
+ export interface ResourceRecord {
21
+ id: number | string;
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * List all records for a resource
26
+ */
27
+ export declare function listRecords(resource: AnvilResource): Promise<ResourceRecord[]>;
28
+ /**
29
+ * Get a single record by ID
30
+ */
31
+ export declare function getRecord(resource: AnvilResource, id: number | string): Promise<ResourceRecord | null>;
32
+ /**
33
+ * Create a new record
34
+ */
35
+ export declare function createRecord(resource: AnvilResource, data: Record<string, any>): Promise<ActionResult<any>>;
36
+ /**
37
+ * Update an existing record
38
+ */
39
+ export declare function updateRecord(resource: AnvilResource, id: number | string, data: Record<string, any>): Promise<ActionResult<ResourceRecord>>;
40
+ /**
41
+ * Delete a record
42
+ */
43
+ export declare function deleteRecord(resource: AnvilResource, id: number | string): Promise<ActionResult>;
44
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,QAEnD;AA0CD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC,CAc3B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,aAAa,EACvB,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAchC;AAsJD;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAmD5B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,aAAa,EACvB,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAyDvC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,aAAa,EACvB,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAgBvB"}
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ /**
3
+ * Generic CRUD server actions for resources
4
+ */
5
+ "use server";
6
+ /**
7
+ * Generic CRUD server actions for resources
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.setPrismaClient = setPrismaClient;
11
+ exports.listRecords = listRecords;
12
+ exports.getRecord = getRecord;
13
+ exports.createRecord = createRecord;
14
+ exports.updateRecord = updateRecord;
15
+ exports.deleteRecord = deleteRecord;
16
+ // Prisma client instance - developers should configure this
17
+ // by calling setPrismaClient() or by having @/lib/prisma export it
18
+ let prisma = null;
19
+ /**
20
+ * Set the Prisma client instance to use for all actions
21
+ * Call this in your app initialization or in a setup file
22
+ */
23
+ function setPrismaClient(client) {
24
+ prisma = client;
25
+ }
26
+ /**
27
+ * Get the Prisma client instance
28
+ * Tries to import from @/lib/prisma if not set explicitly
29
+ */
30
+ function getPrismaClient() {
31
+ if (prisma) {
32
+ return prisma;
33
+ }
34
+ // Try to import from the developer's project structure
35
+ try {
36
+ // Dynamic import to avoid build-time errors if @/lib/prisma doesn't exist
37
+ const prismaModule = require("@/lib/prisma");
38
+ const client = prismaModule.prisma || prismaModule.default;
39
+ if (client) {
40
+ prisma = client;
41
+ return prisma;
42
+ }
43
+ }
44
+ catch {
45
+ // @/lib/prisma doesn't exist or can't be resolved
46
+ }
47
+ // Last resort: try to import @prisma/client directly
48
+ // This will work if the developer has installed it
49
+ try {
50
+ const { PrismaClient: PrismaClientConstructor } = require("@prisma/client");
51
+ prisma = new PrismaClientConstructor();
52
+ console.warn("[Anvil] Using default PrismaClient instance. Consider calling setPrismaClient() or exporting prisma from @/lib/prisma");
53
+ return prisma;
54
+ }
55
+ catch (error) {
56
+ throw new Error("Prisma client not found. Please install @prisma/client and either:\n" +
57
+ "1. Call setPrismaClient() with your PrismaClient instance, or\n" +
58
+ "2. Export your prisma client from @/lib/prisma");
59
+ }
60
+ }
61
+ /**
62
+ * List all records for a resource
63
+ */
64
+ async function listRecords(resource) {
65
+ const prismaClient = getPrismaClient();
66
+ const model = resource.model;
67
+ const modelClient = prismaClient[model];
68
+ if (!modelClient || typeof modelClient.findMany !== "function") {
69
+ throw new Error(`Model ${resource.model} not found in Prisma client`);
70
+ }
71
+ const records = await modelClient.findMany({
72
+ orderBy: { id: "desc" },
73
+ });
74
+ return records;
75
+ }
76
+ /**
77
+ * Get a single record by ID
78
+ */
79
+ async function getRecord(resource, id) {
80
+ const prismaClient = getPrismaClient();
81
+ const model = resource.model;
82
+ const modelClient = prismaClient[model];
83
+ if (!modelClient || typeof modelClient.findUnique !== "function") {
84
+ throw new Error(`Model ${resource.model} not found in Prisma client`);
85
+ }
86
+ const record = await modelClient.findUnique({
87
+ where: { id: Number(id) },
88
+ });
89
+ return record;
90
+ }
91
+ /**
92
+ * Validate form data against resource definition
93
+ */
94
+ function validateFormData(resource, data, isUpdate = false) {
95
+ const errors = [];
96
+ // Use form for create, editForm for update
97
+ const formFields = isUpdate ? resource.editForm.fields : resource.form.fields;
98
+ for (const [fieldName, fieldConfig] of Object.entries(formFields)) {
99
+ const value = data[fieldName];
100
+ // Skip hidden fields
101
+ if (fieldConfig.type === "hidden") {
102
+ continue;
103
+ }
104
+ // Skip validation for read-only fields on create
105
+ if ("readOnly" in fieldConfig && fieldConfig.readOnly && !isUpdate) {
106
+ continue;
107
+ }
108
+ // Required validation
109
+ if ("required" in fieldConfig &&
110
+ fieldConfig.required &&
111
+ (value === null || value === undefined || value === "")) {
112
+ const label = "label" in fieldConfig ? fieldConfig.label : fieldName;
113
+ errors.push({
114
+ field: fieldName,
115
+ message: `${label} is required`,
116
+ });
117
+ }
118
+ // Type-specific validation
119
+ if (value !== null && value !== undefined && value !== "") {
120
+ if (fieldConfig.type === "email") {
121
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
122
+ if (!emailRegex.test(value)) {
123
+ errors.push({
124
+ field: fieldName,
125
+ message: `${fieldConfig.label || fieldName} must be a valid email`,
126
+ });
127
+ }
128
+ }
129
+ if (fieldConfig.type === "text" && "minLength" in fieldConfig) {
130
+ if (fieldConfig.minLength && value.length < fieldConfig.minLength) {
131
+ errors.push({
132
+ field: fieldName,
133
+ message: `${fieldConfig.label || fieldName} must be at least ${fieldConfig.minLength} characters`,
134
+ });
135
+ }
136
+ }
137
+ if (fieldConfig.type === "text" && "maxLength" in fieldConfig) {
138
+ if (fieldConfig.maxLength && value.length > fieldConfig.maxLength) {
139
+ errors.push({
140
+ field: fieldName,
141
+ message: `${fieldConfig.label || fieldName} must be no more than ${fieldConfig.maxLength} characters`,
142
+ });
143
+ }
144
+ }
145
+ if (fieldConfig.type === "number" && "min" in fieldConfig) {
146
+ if (fieldConfig.min !== undefined && Number(value) < fieldConfig.min) {
147
+ errors.push({
148
+ field: fieldName,
149
+ message: `${fieldConfig.label || fieldName} must be at least ${fieldConfig.min}`,
150
+ });
151
+ }
152
+ }
153
+ if (fieldConfig.type === "number" && "max" in fieldConfig) {
154
+ if (fieldConfig.max !== undefined && Number(value) > fieldConfig.max) {
155
+ errors.push({
156
+ field: fieldName,
157
+ message: `${fieldConfig.label || fieldName} must be no more than ${fieldConfig.max}`,
158
+ });
159
+ }
160
+ }
161
+ }
162
+ }
163
+ return errors;
164
+ }
165
+ /**
166
+ * Transform form data based on field types
167
+ * Converts date strings to Date objects for Prisma
168
+ */
169
+ function transformFormData(resource, data, isUpdate = false) {
170
+ const formFields = isUpdate ? resource.editForm.fields : resource.form.fields;
171
+ const transformed = {};
172
+ for (const [fieldName, fieldConfig] of Object.entries(formFields)) {
173
+ if (fieldConfig.type === "hidden") {
174
+ continue;
175
+ }
176
+ if (!("readOnly" in fieldConfig && fieldConfig.readOnly) &&
177
+ data[fieldName] !== undefined &&
178
+ data[fieldName] !== null &&
179
+ data[fieldName] !== "") {
180
+ // Convert date strings to Date objects
181
+ if (fieldConfig.type === "date") {
182
+ const dateValue = data[fieldName];
183
+ // If it's already a Date object, use it
184
+ if (dateValue instanceof Date) {
185
+ transformed[fieldName] = dateValue;
186
+ }
187
+ else if (typeof dateValue === "string") {
188
+ // Convert "YYYY-MM-DD" to Date object
189
+ // Add time component to make it a valid DateTime
190
+ const date = new Date(dateValue + "T00:00:00.000Z");
191
+ if (!isNaN(date.getTime())) {
192
+ transformed[fieldName] = date;
193
+ }
194
+ }
195
+ }
196
+ else {
197
+ transformed[fieldName] = data[fieldName];
198
+ }
199
+ }
200
+ else if (data[fieldName] === "" && fieldConfig.type === "date") {
201
+ // Handle empty date strings - set to null
202
+ transformed[fieldName] = null;
203
+ }
204
+ }
205
+ return transformed;
206
+ }
207
+ /**
208
+ * Create a new record
209
+ */
210
+ async function createRecord(resource, data) {
211
+ // Validate
212
+ const errors = validateFormData(resource, data, false);
213
+ if (errors.length > 0) {
214
+ return { success: false, errors };
215
+ }
216
+ // Check unique constraints
217
+ for (const [fieldName, fieldConfig] of Object.entries(resource.form.fields)) {
218
+ if (fieldConfig.type === "email" || fieldConfig.type === "text") {
219
+ if (fieldConfig.unique && data[fieldName]) {
220
+ const model = resource.model;
221
+ const modelClient = prisma[model];
222
+ const existing = await modelClient.findFirst({
223
+ where: { [fieldName]: data[fieldName] },
224
+ });
225
+ if (existing) {
226
+ return {
227
+ success: false,
228
+ errors: [
229
+ {
230
+ field: fieldName,
231
+ message: `${fieldConfig.label || fieldName} must be unique`,
232
+ },
233
+ ],
234
+ };
235
+ }
236
+ }
237
+ }
238
+ }
239
+ // Transform and prepare data (exclude read-only and hidden fields)
240
+ const transformedData = transformFormData(resource, data, false);
241
+ try {
242
+ const model = resource.model;
243
+ const modelClient = prisma[model];
244
+ const record = await modelClient.create({
245
+ data: transformedData,
246
+ });
247
+ return { success: true, data: record };
248
+ }
249
+ catch (error) {
250
+ return {
251
+ success: false,
252
+ errors: [{ message: error.message || "Failed to create record" }],
253
+ };
254
+ }
255
+ }
256
+ /**
257
+ * Update an existing record
258
+ */
259
+ async function updateRecord(resource, id, data) {
260
+ // Validate
261
+ const errors = validateFormData(resource, data, true);
262
+ if (errors.length > 0) {
263
+ return { success: false, errors };
264
+ }
265
+ // Check unique constraints (excluding current record)
266
+ for (const [fieldName, fieldConfig] of Object.entries(resource.editForm.fields)) {
267
+ if (fieldConfig.type === "email" || fieldConfig.type === "text") {
268
+ if (fieldConfig.unique && data[fieldName]) {
269
+ const model = resource.model;
270
+ const modelClient = prisma[model];
271
+ const existing = await modelClient.findFirst({
272
+ where: {
273
+ [fieldName]: data[fieldName],
274
+ NOT: { id: Number(id) },
275
+ },
276
+ });
277
+ if (existing) {
278
+ return {
279
+ success: false,
280
+ errors: [
281
+ {
282
+ field: fieldName,
283
+ message: `${fieldConfig.label || fieldName} must be unique`,
284
+ },
285
+ ],
286
+ };
287
+ }
288
+ }
289
+ }
290
+ }
291
+ // Transform and prepare data (exclude read-only and hidden fields on update)
292
+ const transformedData = transformFormData(resource, data, true);
293
+ try {
294
+ const model = resource.model;
295
+ const modelClient = prisma[model];
296
+ const record = await modelClient.update({
297
+ where: { id: Number(id) },
298
+ data: transformedData,
299
+ });
300
+ return { success: true, data: record };
301
+ }
302
+ catch (error) {
303
+ return {
304
+ success: false,
305
+ errors: [{ message: error.message || "Failed to update record" }],
306
+ };
307
+ }
308
+ }
309
+ /**
310
+ * Delete a record
311
+ */
312
+ async function deleteRecord(resource, id) {
313
+ try {
314
+ const model = resource.model;
315
+ const modelClient = prisma[model];
316
+ await modelClient.delete({
317
+ where: { id: Number(id) },
318
+ });
319
+ return { success: true };
320
+ }
321
+ catch (error) {
322
+ return {
323
+ success: false,
324
+ errors: [{ message: error.message || "Failed to delete record" }],
325
+ };
326
+ }
327
+ }
328
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { BaseFieldOptions } from "./types";
2
+ export interface DateFieldOptions extends BaseFieldOptions {
3
+ minDate?: Date;
4
+ maxDate?: Date;
5
+ }
6
+ export interface DateFieldSchema {
7
+ type: "date";
8
+ label: string;
9
+ required: boolean;
10
+ readOnly: boolean;
11
+ minDate: Date;
12
+ maxDate: Date;
13
+ size: DateFieldOptions["size"];
14
+ }
15
+ export declare function date(options: DateFieldOptions): DateFieldSchema;
16
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/fields/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAY7D"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.date = date;
4
+ function date(options) {
5
+ const minDate = options.minDate ? options.minDate : new Date(1900, 0, 1);
6
+ const maxDate = options.maxDate ? options.maxDate : new Date(2100, 0, 1);
7
+ return {
8
+ type: "date",
9
+ label: options.label,
10
+ required: options?.required ?? false,
11
+ readOnly: options?.readOnly ?? false,
12
+ size: options?.size ?? "medium",
13
+ minDate: minDate,
14
+ maxDate: maxDate,
15
+ };
16
+ }
17
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/fields/date.ts"],"names":[],"mappings":";;AAiBA,oBAYG;AAZH,SAAgB,IAAI,CAAC,OAAyB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ;QAC/B,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BaseFieldOptions } from "./types";
2
+ export interface EmailFieldOptions extends BaseFieldOptions {
3
+ type: "email";
4
+ unique?: boolean;
5
+ }
6
+ export interface EmailFieldSchema {
7
+ type: "email";
8
+ label: string;
9
+ required: boolean;
10
+ readOnly: boolean;
11
+ unique: boolean;
12
+ placeholder: string;
13
+ size: EmailFieldOptions["size"];
14
+ }
15
+ export declare function email(options: EmailFieldOptions): EmailFieldSchema;
16
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/fields/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CACjC;AAEH,wBAAgB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAUhE"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.email = email;
4
+ function email(options) {
5
+ return {
6
+ type: "email",
7
+ label: options.label,
8
+ required: options.required ?? false,
9
+ readOnly: options.readOnly ?? false,
10
+ unique: options.unique ?? false,
11
+ placeholder: options.placeholder ?? "",
12
+ size: options.size ?? "medium",
13
+ };
14
+ }
15
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/fields/email.ts"],"names":[],"mappings":";;AAiBA,sBAUG;AAVH,SAAgB,KAAK,CAAC,OAA0B;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface HiddenFieldOptions {
2
+ value: string;
3
+ }
4
+ export interface HiddenFieldSchema {
5
+ type: "hidden";
6
+ value: string;
7
+ }
8
+ export declare function hidden(options: HiddenFieldOptions): HiddenFieldSchema;
9
+ //# sourceMappingURL=hidden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden.d.ts","sourceRoot":"","sources":["../../../src/fields/hidden.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAKnE"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hidden = hidden;
4
+ function hidden(options) {
5
+ return {
6
+ type: "hidden",
7
+ value: options.value,
8
+ };
9
+ }
10
+ //# sourceMappingURL=hidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden.js","sourceRoot":"","sources":["../../../src/fields/hidden.ts"],"names":[],"mappings":";;AASA,wBAKG;AALH,SAAgB,MAAM,CAAC,OAA2B;IAC9C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./date";
2
+ export * from "./email";
3
+ export * from "./hidden";
4
+ export * from "./number";
5
+ export * from "./select";
6
+ export * from "./text";
7
+ export * from "./textarea";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./date"), exports);
18
+ __exportStar(require("./email"), exports);
19
+ __exportStar(require("./hidden"), exports);
20
+ __exportStar(require("./number"), exports);
21
+ __exportStar(require("./select"), exports);
22
+ __exportStar(require("./text"), exports);
23
+ __exportStar(require("./textarea"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fields/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,6CAA2B"}
@@ -0,0 +1,17 @@
1
+ import { BaseFieldOptions } from "./types";
2
+ export interface NumberFieldOptions extends BaseFieldOptions {
3
+ min?: number;
4
+ max?: number;
5
+ }
6
+ export interface NumberFieldSchema {
7
+ type: "number";
8
+ label: string;
9
+ placeholder: string;
10
+ required: boolean;
11
+ readOnly: boolean;
12
+ min?: number;
13
+ max?: number;
14
+ size: NumberFieldOptions["size"];
15
+ }
16
+ export declare function number(options: NumberFieldOptions): NumberFieldSchema;
17
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/fields/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAEH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CAClC;AAEH,wBAAgB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAWnE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.number = number;
4
+ function number(options) {
5
+ return {
6
+ type: "number",
7
+ label: options.label,
8
+ required: options?.required ?? false,
9
+ readOnly: options?.readOnly ?? false,
10
+ min: options?.min,
11
+ max: options?.max,
12
+ placeholder: options.placeholder ?? "",
13
+ size: options.size ?? "medium",
14
+ };
15
+ }
16
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/fields/number.ts"],"names":[],"mappings":";;AAkBA,wBAWG;AAXH,SAAgB,MAAM,CAAC,OAA2B;IAC9C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BaseFieldOptions } from "./types";
2
+ type SelectOptions = {
3
+ label: string;
4
+ value: string;
5
+ }[] | string[];
6
+ export interface SelectFieldOptions extends BaseFieldOptions {
7
+ options: SelectOptions;
8
+ }
9
+ export interface SelectFieldSchema {
10
+ type: "select";
11
+ options: SelectOptions;
12
+ label: string;
13
+ required: boolean;
14
+ readOnly: boolean;
15
+ placeholder: string;
16
+ size: SelectFieldOptions["size"];
17
+ }
18
+ export declare function select(options: SelectFieldOptions): SelectFieldSchema;
19
+ export {};
20
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/fields/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAAC;AAEnE,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,aAAa,CAAC;CACxB;AAEH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CAClC;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAUnE"}