zitejs 0.9.54 → 0.9.56

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.
@@ -7,7 +7,7 @@ export declare const timeFormatEnum: readonly ["12h", "24h"];
7
7
  export type TimeFormat = (typeof timeFormatEnum)[number];
8
8
  export declare const durationFormatEnum: readonly ["h:mm", "h:mm:ss", "h:mm:ss.s", "h:mm:ss.ss", "h:mm:ss.sss"];
9
9
  export type DurationFormat = (typeof durationFormatEnum)[number];
10
- export declare const fieldTypeEnum: readonly ["currency", "single_line_text", "long_text", "rich_text", "number", "single_select", "multiple_select", "date", "datetime", "checkbox", "attachments", "email", "url", "phone_number", "rating", "duration", "percent", "linked_record", "lookup", "source", "formula", "autonumber", "created_at", "updated_at"];
10
+ export declare const fieldTypeEnum: readonly ["currency", "single_line_text", "long_text", "rich_text", "number", "single_select", "multiple_select", "date", "datetime", "checkbox", "attachments", "email", "url", "phone_number", "rating", "duration", "percent", "linked_record", "lookup", "source", "formula", "autonumber", "created_at", "updated_at", "rollup", "updated_by", "user"];
11
11
  export type FieldType = (typeof fieldTypeEnum)[number];
12
12
  export declare const fieldTypeSchema: z.ZodEnum<{
13
13
  number: "number";
@@ -34,6 +34,9 @@ export declare const fieldTypeSchema: z.ZodEnum<{
34
34
  autonumber: "autonumber";
35
35
  created_at: "created_at";
36
36
  updated_at: "updated_at";
37
+ rollup: "rollup";
38
+ updated_by: "updated_by";
39
+ user: "user";
37
40
  }>;
38
41
  export declare const selectOptionSchema: z.ZodObject<{
39
42
  value: z.ZodString;
@@ -189,6 +192,58 @@ export declare const lookupTemplateSchema: z.ZodObject<{
189
192
  text: "text";
190
193
  }>>;
191
194
  }, z.core.$strip>;
195
+ export declare const rollupTemplateSchema: z.ZodObject<{
196
+ linkedRecordFieldId: z.ZodString;
197
+ rollupFieldId: z.ZodString;
198
+ aggregationFormula: z.ZodString;
199
+ formulaExpression: z.ZodOptional<z.ZodString>;
200
+ formatting: z.ZodOptional<z.ZodObject<{
201
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
202
+ number: "number";
203
+ currency: "currency";
204
+ duration: "duration";
205
+ percent: "percent";
206
+ }>>;
207
+ currencyCode: z.ZodOptional<z.ZodString>;
208
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
209
+ numberFormat: z.ZodOptional<z.ZodEnum<{
210
+ local: "local";
211
+ comma_period: "comma_period";
212
+ period_comma: "period_comma";
213
+ space_comma: "space_comma";
214
+ space_period: "space_period";
215
+ no_separator: "no_separator";
216
+ }>>;
217
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
218
+ dateFormat: z.ZodOptional<z.ZodEnum<{
219
+ local: "local";
220
+ long: "long";
221
+ us: "us";
222
+ european: "european";
223
+ iso: "iso";
224
+ }>>;
225
+ timeFormat: z.ZodOptional<z.ZodEnum<{
226
+ "12h": "12h";
227
+ "24h": "24h";
228
+ }>>;
229
+ timezone: z.ZodOptional<z.ZodString>;
230
+ trueDisplay: z.ZodOptional<z.ZodString>;
231
+ falseDisplay: z.ZodOptional<z.ZodString>;
232
+ }, z.core.$strip>>;
233
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
234
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
235
+ resultType: z.ZodOptional<z.ZodEnum<{
236
+ number: "number";
237
+ boolean: "boolean";
238
+ date: "date";
239
+ array: "array";
240
+ text: "text";
241
+ }>>;
242
+ }, z.core.$strip>;
243
+ export declare const updatedByTemplateSchema: z.ZodObject<{}, z.core.$strip>;
244
+ export declare const userTemplateSchema: z.ZodObject<{
245
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
246
+ }, z.core.$strip>;
192
247
  export declare const sourceTemplateSchema: z.ZodObject<{}, z.core.$strip>;
193
248
  export declare const formulaTemplateSchema: z.ZodObject<{
194
249
  expression: z.ZodString;
@@ -448,6 +503,67 @@ export declare const publicFieldDefinitionSchema: z.ZodDiscriminatedUnion<[z.Zod
448
503
  text: "text";
449
504
  }>>;
450
505
  }, z.core.$strip>;
506
+ }, z.core.$strip>, z.ZodObject<{
507
+ name: z.ZodString;
508
+ type: z.ZodLiteral<"rollup">;
509
+ template: z.ZodObject<{
510
+ linkedRecordFieldId: z.ZodString;
511
+ rollupFieldId: z.ZodString;
512
+ aggregationFormula: z.ZodString;
513
+ formulaExpression: z.ZodOptional<z.ZodString>;
514
+ formatting: z.ZodOptional<z.ZodObject<{
515
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
516
+ number: "number";
517
+ currency: "currency";
518
+ duration: "duration";
519
+ percent: "percent";
520
+ }>>;
521
+ currencyCode: z.ZodOptional<z.ZodString>;
522
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
523
+ numberFormat: z.ZodOptional<z.ZodEnum<{
524
+ local: "local";
525
+ comma_period: "comma_period";
526
+ period_comma: "period_comma";
527
+ space_comma: "space_comma";
528
+ space_period: "space_period";
529
+ no_separator: "no_separator";
530
+ }>>;
531
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
532
+ dateFormat: z.ZodOptional<z.ZodEnum<{
533
+ local: "local";
534
+ long: "long";
535
+ us: "us";
536
+ european: "european";
537
+ iso: "iso";
538
+ }>>;
539
+ timeFormat: z.ZodOptional<z.ZodEnum<{
540
+ "12h": "12h";
541
+ "24h": "24h";
542
+ }>>;
543
+ timezone: z.ZodOptional<z.ZodString>;
544
+ trueDisplay: z.ZodOptional<z.ZodString>;
545
+ falseDisplay: z.ZodOptional<z.ZodString>;
546
+ }, z.core.$strip>>;
547
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
548
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
549
+ resultType: z.ZodOptional<z.ZodEnum<{
550
+ number: "number";
551
+ boolean: "boolean";
552
+ date: "date";
553
+ array: "array";
554
+ text: "text";
555
+ }>>;
556
+ }, z.core.$strip>;
557
+ }, z.core.$strip>, z.ZodObject<{
558
+ name: z.ZodString;
559
+ type: z.ZodLiteral<"updated_by">;
560
+ template: z.ZodObject<{}, z.core.$strip>;
561
+ }, z.core.$strip>, z.ZodObject<{
562
+ name: z.ZodString;
563
+ type: z.ZodLiteral<"user">;
564
+ template: z.ZodObject<{
565
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
566
+ }, z.core.$strip>;
451
567
  }, z.core.$strip>, z.ZodObject<{
452
568
  name: z.ZodString;
453
569
  type: z.ZodLiteral<"source">;
@@ -544,6 +660,9 @@ export type FieldTemplateMap = {
544
660
  percent: z.infer<typeof percentTemplateSchema>;
545
661
  linked_record: z.infer<typeof linkedRecordTemplateSchema>;
546
662
  lookup: z.infer<typeof lookupTemplateSchema>;
663
+ rollup: z.infer<typeof rollupTemplateSchema>;
664
+ updated_by: z.infer<typeof updatedByTemplateSchema>;
665
+ user: z.infer<typeof userTemplateSchema>;
547
666
  source: z.infer<typeof sourceTemplateSchema>;
548
667
  formula: z.infer<typeof formulaTemplateSchema>;
549
668
  autonumber: z.infer<typeof autonumberTemplateSchema>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publicFieldDefinitionSchema = exports.updatedAtTemplateSchema = exports.createdAtTemplateSchema = exports.autonumberTemplateSchema = exports.formulaTemplateSchema = exports.sourceTemplateSchema = exports.lookupTemplateSchema = exports.linkedRecordTemplateSchema = exports.percentTemplateSchema = exports.durationTemplateSchema = exports.ratingTemplateSchema = exports.phoneNumberTemplateSchema = exports.urlTemplateSchema = exports.emailTemplateSchema = exports.attachmentsTemplateSchema = exports.checkboxTemplateSchema = exports.datetimeTemplateSchema = exports.dateTemplateSchema = exports.multipleSelectTemplateSchema = exports.singleSelectTemplateSchema = exports.numberTemplateSchema = exports.richTextTemplateSchema = exports.longTextTemplateSchema = exports.singleLineTextTemplateSchema = exports.currencyTemplateSchema = exports.aiGenerationConfigSchema = exports.selectOptionSchema = exports.fieldTypeSchema = exports.fieldTypeEnum = exports.durationFormatEnum = exports.timeFormatEnum = exports.dateFormatEnum = exports.numberFormatEnum = void 0;
3
+ exports.publicFieldDefinitionSchema = exports.updatedAtTemplateSchema = exports.createdAtTemplateSchema = exports.autonumberTemplateSchema = exports.formulaTemplateSchema = exports.sourceTemplateSchema = exports.userTemplateSchema = exports.updatedByTemplateSchema = exports.rollupTemplateSchema = exports.lookupTemplateSchema = exports.linkedRecordTemplateSchema = exports.percentTemplateSchema = exports.durationTemplateSchema = exports.ratingTemplateSchema = exports.phoneNumberTemplateSchema = exports.urlTemplateSchema = exports.emailTemplateSchema = exports.attachmentsTemplateSchema = exports.checkboxTemplateSchema = exports.datetimeTemplateSchema = exports.dateTemplateSchema = exports.multipleSelectTemplateSchema = exports.singleSelectTemplateSchema = exports.numberTemplateSchema = exports.richTextTemplateSchema = exports.longTextTemplateSchema = exports.singleLineTextTemplateSchema = exports.currencyTemplateSchema = exports.aiGenerationConfigSchema = exports.selectOptionSchema = exports.fieldTypeSchema = exports.fieldTypeEnum = exports.durationFormatEnum = exports.timeFormatEnum = exports.dateFormatEnum = exports.numberFormatEnum = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.numberFormatEnum = [
6
6
  "local",
@@ -44,6 +44,9 @@ exports.fieldTypeEnum = [
44
44
  "autonumber",
45
45
  "created_at",
46
46
  "updated_at",
47
+ "rollup",
48
+ "updated_by",
49
+ "user",
47
50
  ];
48
51
  exports.fieldTypeSchema = zod_1.z.enum(exports.fieldTypeEnum);
49
52
  exports.selectOptionSchema = zod_1.z.object({
@@ -152,6 +155,40 @@ exports.lookupTemplateSchema = zod_1.z.object({
152
155
  .enum(["text", "number", "date", "boolean", "array"])
153
156
  .optional(),
154
157
  });
158
+ exports.rollupTemplateSchema = zod_1.z.object({
159
+ linkedRecordFieldId: zod_1.z.string().min(1),
160
+ rollupFieldId: zod_1.z.string().min(1),
161
+ aggregationFormula: zod_1.z.string().min(1),
162
+ formulaExpression: zod_1.z.string().optional(),
163
+ formatting: zod_1.z
164
+ .object({
165
+ numberDisplayType: zod_1.z
166
+ .enum(["number", "currency", "percent", "duration"])
167
+ .optional(),
168
+ currencyCode: zod_1.z.string().optional(),
169
+ decimalPlaces: zod_1.z.number().min(0).max(10).optional(),
170
+ numberFormat: zod_1.z.enum(exports.numberFormatEnum).optional(),
171
+ displayTimeZone: zod_1.z.boolean().optional(),
172
+ dateFormat: zod_1.z.enum(exports.dateFormatEnum).optional(),
173
+ timeFormat: zod_1.z.enum(exports.timeFormatEnum).optional(),
174
+ timezone: zod_1.z.string().optional(),
175
+ trueDisplay: zod_1.z.string().optional(),
176
+ falseDisplay: zod_1.z.string().optional(),
177
+ })
178
+ .optional(),
179
+ filterEnabled: zod_1.z.boolean().optional(),
180
+ sortEnabled: zod_1.z.boolean().optional(),
181
+ resultType: zod_1.z
182
+ .enum(["text", "number", "date", "boolean", "array"])
183
+ .optional(),
184
+ });
185
+ exports.updatedByTemplateSchema = zod_1.z.object({});
186
+ exports.userTemplateSchema = zod_1.z.object({
187
+ allowMultiple: zod_1.z
188
+ .boolean()
189
+ .nullish()
190
+ .transform((v) => v ?? false),
191
+ });
155
192
  exports.sourceTemplateSchema = zod_1.z.object({});
156
193
  const formulaFormattingSchema = zod_1.z
157
194
  .object({
@@ -287,6 +324,18 @@ exports.publicFieldDefinitionSchema = zod_1.z.discriminatedUnion("type", [
287
324
  type: zod_1.z.literal("lookup"),
288
325
  template: exports.lookupTemplateSchema,
289
326
  }),
327
+ basePublicFieldSchema.extend({
328
+ type: zod_1.z.literal("rollup"),
329
+ template: exports.rollupTemplateSchema,
330
+ }),
331
+ basePublicFieldSchema.extend({
332
+ type: zod_1.z.literal("updated_by"),
333
+ template: exports.updatedByTemplateSchema,
334
+ }),
335
+ basePublicFieldSchema.extend({
336
+ type: zod_1.z.literal("user"),
337
+ template: exports.userTemplateSchema,
338
+ }),
290
339
  basePublicFieldSchema.extend({
291
340
  type: zod_1.z.literal("source"),
292
341
  template: exports.sourceTemplateSchema,
@@ -202,6 +202,67 @@ export declare const fieldSchema: z.ZodIntersection<z.ZodObject<{
202
202
  text: "text";
203
203
  }>>;
204
204
  }, z.core.$strip>;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ name: z.ZodString;
207
+ type: z.ZodLiteral<"rollup">;
208
+ template: z.ZodObject<{
209
+ linkedRecordFieldId: z.ZodString;
210
+ rollupFieldId: z.ZodString;
211
+ aggregationFormula: z.ZodString;
212
+ formulaExpression: z.ZodOptional<z.ZodString>;
213
+ formatting: z.ZodOptional<z.ZodObject<{
214
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
215
+ number: "number";
216
+ currency: "currency";
217
+ duration: "duration";
218
+ percent: "percent";
219
+ }>>;
220
+ currencyCode: z.ZodOptional<z.ZodString>;
221
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
222
+ numberFormat: z.ZodOptional<z.ZodEnum<{
223
+ local: "local";
224
+ comma_period: "comma_period";
225
+ period_comma: "period_comma";
226
+ space_comma: "space_comma";
227
+ space_period: "space_period";
228
+ no_separator: "no_separator";
229
+ }>>;
230
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
231
+ dateFormat: z.ZodOptional<z.ZodEnum<{
232
+ local: "local";
233
+ long: "long";
234
+ us: "us";
235
+ european: "european";
236
+ iso: "iso";
237
+ }>>;
238
+ timeFormat: z.ZodOptional<z.ZodEnum<{
239
+ "12h": "12h";
240
+ "24h": "24h";
241
+ }>>;
242
+ timezone: z.ZodOptional<z.ZodString>;
243
+ trueDisplay: z.ZodOptional<z.ZodString>;
244
+ falseDisplay: z.ZodOptional<z.ZodString>;
245
+ }, z.core.$strip>>;
246
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
247
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
248
+ resultType: z.ZodOptional<z.ZodEnum<{
249
+ number: "number";
250
+ boolean: "boolean";
251
+ date: "date";
252
+ array: "array";
253
+ text: "text";
254
+ }>>;
255
+ }, z.core.$strip>;
256
+ }, z.core.$strip>, z.ZodObject<{
257
+ name: z.ZodString;
258
+ type: z.ZodLiteral<"updated_by">;
259
+ template: z.ZodObject<{}, z.core.$strip>;
260
+ }, z.core.$strip>, z.ZodObject<{
261
+ name: z.ZodString;
262
+ type: z.ZodLiteral<"user">;
263
+ template: z.ZodObject<{
264
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
265
+ }, z.core.$strip>;
205
266
  }, z.core.$strip>, z.ZodObject<{
206
267
  name: z.ZodString;
207
268
  type: z.ZodLiteral<"source">;
@@ -493,6 +554,67 @@ export declare const tableSchema: z.ZodObject<{
493
554
  text: "text";
494
555
  }>>;
495
556
  }, z.core.$strip>;
557
+ }, z.core.$strip>, z.ZodObject<{
558
+ name: z.ZodString;
559
+ type: z.ZodLiteral<"rollup">;
560
+ template: z.ZodObject<{
561
+ linkedRecordFieldId: z.ZodString;
562
+ rollupFieldId: z.ZodString;
563
+ aggregationFormula: z.ZodString;
564
+ formulaExpression: z.ZodOptional<z.ZodString>;
565
+ formatting: z.ZodOptional<z.ZodObject<{
566
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
567
+ number: "number";
568
+ currency: "currency";
569
+ duration: "duration";
570
+ percent: "percent";
571
+ }>>;
572
+ currencyCode: z.ZodOptional<z.ZodString>;
573
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
574
+ numberFormat: z.ZodOptional<z.ZodEnum<{
575
+ local: "local";
576
+ comma_period: "comma_period";
577
+ period_comma: "period_comma";
578
+ space_comma: "space_comma";
579
+ space_period: "space_period";
580
+ no_separator: "no_separator";
581
+ }>>;
582
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
583
+ dateFormat: z.ZodOptional<z.ZodEnum<{
584
+ local: "local";
585
+ long: "long";
586
+ us: "us";
587
+ european: "european";
588
+ iso: "iso";
589
+ }>>;
590
+ timeFormat: z.ZodOptional<z.ZodEnum<{
591
+ "12h": "12h";
592
+ "24h": "24h";
593
+ }>>;
594
+ timezone: z.ZodOptional<z.ZodString>;
595
+ trueDisplay: z.ZodOptional<z.ZodString>;
596
+ falseDisplay: z.ZodOptional<z.ZodString>;
597
+ }, z.core.$strip>>;
598
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
599
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
600
+ resultType: z.ZodOptional<z.ZodEnum<{
601
+ number: "number";
602
+ boolean: "boolean";
603
+ date: "date";
604
+ array: "array";
605
+ text: "text";
606
+ }>>;
607
+ }, z.core.$strip>;
608
+ }, z.core.$strip>, z.ZodObject<{
609
+ name: z.ZodString;
610
+ type: z.ZodLiteral<"updated_by">;
611
+ template: z.ZodObject<{}, z.core.$strip>;
612
+ }, z.core.$strip>, z.ZodObject<{
613
+ name: z.ZodString;
614
+ type: z.ZodLiteral<"user">;
615
+ template: z.ZodObject<{
616
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
617
+ }, z.core.$strip>;
496
618
  }, z.core.$strip>, z.ZodObject<{
497
619
  name: z.ZodString;
498
620
  type: z.ZodLiteral<"source">;
@@ -779,6 +901,67 @@ export declare const publicTableDefinitionSchema: z.ZodObject<{
779
901
  text: "text";
780
902
  }>>;
781
903
  }, z.core.$strip>;
904
+ }, z.core.$strip>, z.ZodObject<{
905
+ name: z.ZodString;
906
+ type: z.ZodLiteral<"rollup">;
907
+ template: z.ZodObject<{
908
+ linkedRecordFieldId: z.ZodString;
909
+ rollupFieldId: z.ZodString;
910
+ aggregationFormula: z.ZodString;
911
+ formulaExpression: z.ZodOptional<z.ZodString>;
912
+ formatting: z.ZodOptional<z.ZodObject<{
913
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
914
+ number: "number";
915
+ currency: "currency";
916
+ duration: "duration";
917
+ percent: "percent";
918
+ }>>;
919
+ currencyCode: z.ZodOptional<z.ZodString>;
920
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
921
+ numberFormat: z.ZodOptional<z.ZodEnum<{
922
+ local: "local";
923
+ comma_period: "comma_period";
924
+ period_comma: "period_comma";
925
+ space_comma: "space_comma";
926
+ space_period: "space_period";
927
+ no_separator: "no_separator";
928
+ }>>;
929
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
930
+ dateFormat: z.ZodOptional<z.ZodEnum<{
931
+ local: "local";
932
+ long: "long";
933
+ us: "us";
934
+ european: "european";
935
+ iso: "iso";
936
+ }>>;
937
+ timeFormat: z.ZodOptional<z.ZodEnum<{
938
+ "12h": "12h";
939
+ "24h": "24h";
940
+ }>>;
941
+ timezone: z.ZodOptional<z.ZodString>;
942
+ trueDisplay: z.ZodOptional<z.ZodString>;
943
+ falseDisplay: z.ZodOptional<z.ZodString>;
944
+ }, z.core.$strip>>;
945
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
946
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
947
+ resultType: z.ZodOptional<z.ZodEnum<{
948
+ number: "number";
949
+ boolean: "boolean";
950
+ date: "date";
951
+ array: "array";
952
+ text: "text";
953
+ }>>;
954
+ }, z.core.$strip>;
955
+ }, z.core.$strip>, z.ZodObject<{
956
+ name: z.ZodString;
957
+ type: z.ZodLiteral<"updated_by">;
958
+ template: z.ZodObject<{}, z.core.$strip>;
959
+ }, z.core.$strip>, z.ZodObject<{
960
+ name: z.ZodString;
961
+ type: z.ZodLiteral<"user">;
962
+ template: z.ZodObject<{
963
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
964
+ }, z.core.$strip>;
782
965
  }, z.core.$strip>, z.ZodObject<{
783
966
  name: z.ZodString;
784
967
  type: z.ZodLiteral<"source">;
@@ -1067,6 +1250,67 @@ export declare const databaseSchema: z.ZodObject<{
1067
1250
  text: "text";
1068
1251
  }>>;
1069
1252
  }, z.core.$strip>;
1253
+ }, z.core.$strip>, z.ZodObject<{
1254
+ name: z.ZodString;
1255
+ type: z.ZodLiteral<"rollup">;
1256
+ template: z.ZodObject<{
1257
+ linkedRecordFieldId: z.ZodString;
1258
+ rollupFieldId: z.ZodString;
1259
+ aggregationFormula: z.ZodString;
1260
+ formulaExpression: z.ZodOptional<z.ZodString>;
1261
+ formatting: z.ZodOptional<z.ZodObject<{
1262
+ numberDisplayType: z.ZodOptional<z.ZodEnum<{
1263
+ number: "number";
1264
+ currency: "currency";
1265
+ duration: "duration";
1266
+ percent: "percent";
1267
+ }>>;
1268
+ currencyCode: z.ZodOptional<z.ZodString>;
1269
+ decimalPlaces: z.ZodOptional<z.ZodNumber>;
1270
+ numberFormat: z.ZodOptional<z.ZodEnum<{
1271
+ local: "local";
1272
+ comma_period: "comma_period";
1273
+ period_comma: "period_comma";
1274
+ space_comma: "space_comma";
1275
+ space_period: "space_period";
1276
+ no_separator: "no_separator";
1277
+ }>>;
1278
+ displayTimeZone: z.ZodOptional<z.ZodBoolean>;
1279
+ dateFormat: z.ZodOptional<z.ZodEnum<{
1280
+ local: "local";
1281
+ long: "long";
1282
+ us: "us";
1283
+ european: "european";
1284
+ iso: "iso";
1285
+ }>>;
1286
+ timeFormat: z.ZodOptional<z.ZodEnum<{
1287
+ "12h": "12h";
1288
+ "24h": "24h";
1289
+ }>>;
1290
+ timezone: z.ZodOptional<z.ZodString>;
1291
+ trueDisplay: z.ZodOptional<z.ZodString>;
1292
+ falseDisplay: z.ZodOptional<z.ZodString>;
1293
+ }, z.core.$strip>>;
1294
+ filterEnabled: z.ZodOptional<z.ZodBoolean>;
1295
+ sortEnabled: z.ZodOptional<z.ZodBoolean>;
1296
+ resultType: z.ZodOptional<z.ZodEnum<{
1297
+ number: "number";
1298
+ boolean: "boolean";
1299
+ date: "date";
1300
+ array: "array";
1301
+ text: "text";
1302
+ }>>;
1303
+ }, z.core.$strip>;
1304
+ }, z.core.$strip>, z.ZodObject<{
1305
+ name: z.ZodString;
1306
+ type: z.ZodLiteral<"updated_by">;
1307
+ template: z.ZodObject<{}, z.core.$strip>;
1308
+ }, z.core.$strip>, z.ZodObject<{
1309
+ name: z.ZodString;
1310
+ type: z.ZodLiteral<"user">;
1311
+ template: z.ZodObject<{
1312
+ allowMultiple: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
1313
+ }, z.core.$strip>;
1070
1314
  }, z.core.$strip>, z.ZodObject<{
1071
1315
  name: z.ZodString;
1072
1316
  type: z.ZodLiteral<"source">;
@@ -1,5 +1,15 @@
1
+ export type UploadData = string | Blob | ArrayBuffer | File;
2
+ export declare class FileUploadError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export declare function uploadFile({ data, filename, }: {
6
+ data: UploadData;
7
+ filename: string;
8
+ }): Promise<{
9
+ fileUrl: string;
10
+ }>;
1
11
  export declare function useUpload(): {
2
- upload: (file: File) => Promise<{
12
+ upload: (file: File | Blob | ArrayBuffer | string, filename?: string) => Promise<{
3
13
  url: string;
4
14
  }>;
5
15
  isUploading: boolean;
@@ -1,6 +1,112 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileUploadError = void 0;
4
+ exports.uploadFile = uploadFile;
3
5
  exports.useUpload = useUpload;
6
+ const react_1 = require("react");
7
+ const config_js_1 = require("../auth/config.js");
8
+ const constants_js_1 = require("../auth/constants.js");
9
+ class FileUploadError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = 'FileUploadError';
13
+ }
14
+ }
15
+ exports.FileUploadError = FileUploadError;
16
+ function getZiteAppMode(hostname) {
17
+ const maybeId = hostname.split('.')[0];
18
+ if (maybeId?.startsWith(constants_js_1.ZITE_APP_EDITOR_HOSTNAME_PREFIX))
19
+ return 'preview';
20
+ if (maybeId?.startsWith(constants_js_1.ZITE_APP_ACTION_HOSTNAME_PREFIX))
21
+ return 'preview';
22
+ if (constants_js_1.ZITE_SANDBOX_DOMAINS.some(d => hostname === d || hostname.endsWith('.' + d))) {
23
+ return 'preview';
24
+ }
25
+ return 'live';
26
+ }
27
+ function readBlobAsDataUrl(blob) {
28
+ return new Promise((resolve, reject) => {
29
+ const reader = new FileReader();
30
+ reader.onload = () => resolve(reader.result);
31
+ reader.onerror = () => reject(reader.error ?? new Error('Failed to read file'));
32
+ reader.readAsDataURL(blob);
33
+ });
34
+ }
35
+ async function toDataUrl(data) {
36
+ if (data instanceof Blob) {
37
+ return readBlobAsDataUrl(data);
38
+ }
39
+ if (data instanceof ArrayBuffer) {
40
+ const bytes = new Uint8Array(data);
41
+ let binary = '';
42
+ for (let i = 0; i < bytes.byteLength; i++) {
43
+ binary += String.fromCharCode(bytes[i]);
44
+ }
45
+ return 'data:application/octet-stream;base64,' + btoa(binary);
46
+ }
47
+ if (typeof data === 'string') {
48
+ if (data.startsWith('data:'))
49
+ return data;
50
+ if (/^[A-Za-z0-9+/]+=*$/.test(data)) {
51
+ return 'data:application/octet-stream;base64,' + data;
52
+ }
53
+ return 'data:text/plain;base64,' + btoa(unescape(encodeURIComponent(data)));
54
+ }
55
+ throw new FileUploadError('Invalid data format. Expected string, Blob, ArrayBuffer, or File.');
56
+ }
57
+ function resolveFilename(data, filename) {
58
+ if (filename)
59
+ return filename;
60
+ if (typeof File !== 'undefined' && data instanceof File && data.name) {
61
+ return data.name;
62
+ }
63
+ throw new FileUploadError('A filename is required unless the uploaded data is a File.');
64
+ }
65
+ async function performUpload(data, filename) {
66
+ const body = await toDataUrl(data);
67
+ const mode = getZiteAppMode(window.location.hostname);
68
+ const flowId = (0, config_js_1.getFlowId)();
69
+ const token = typeof localStorage !== 'undefined'
70
+ ? localStorage.getItem('zite.auth.token')
71
+ : null;
72
+ const res = await fetch((0, config_js_1.getApiUrl)() + '/v1/zite/public/' + flowId + '/upload?mode=' + mode, {
73
+ method: 'POST',
74
+ headers: {
75
+ 'Content-Type': 'application/json',
76
+ ...(token ? { Authorization: 'Bearer ' + token } : {}),
77
+ },
78
+ body: JSON.stringify({ data: body, filename }),
79
+ });
80
+ if (!res.ok) {
81
+ let message = 'Upload failed';
82
+ try {
83
+ const err = (await res.json());
84
+ if (err.message)
85
+ message = err.message;
86
+ }
87
+ catch { }
88
+ throw new FileUploadError(message);
89
+ }
90
+ const result = (await res.json());
91
+ if (!result.success || !result.fileUrl) {
92
+ throw new FileUploadError(result.message ?? 'Upload failed');
93
+ }
94
+ return result.fileUrl;
95
+ }
96
+ async function uploadFile({ data, filename, }) {
97
+ return { fileUrl: await performUpload(data, filename) };
98
+ }
4
99
  function useUpload() {
5
- throw new Error('useUpload() is only available in the Zite runtime.');
100
+ const [isUploading, setIsUploading] = (0, react_1.useState)(false);
101
+ const upload = (0, react_1.useCallback)(async (file, filename) => {
102
+ setIsUploading(true);
103
+ try {
104
+ const url = await performUpload(file, resolveFilename(file, filename));
105
+ return { url };
106
+ }
107
+ finally {
108
+ setIsUploading(false);
109
+ }
110
+ }, []);
111
+ return { upload, isUploading };
6
112
  }
package/dist/esm/cli.js CHANGED
File without changes