@simple-photo-gallery/common 1.0.5 → 1.0.6

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/dist/gallery.cjs CHANGED
@@ -45,6 +45,30 @@ var SubGallerySchema = zod.z.object({
45
45
  headerImage: zod.z.string(),
46
46
  path: zod.z.string()
47
47
  });
48
+ var PortraitSizesSchema = zod.z.object({
49
+ 360: zod.z.string().optional(),
50
+ 480: zod.z.string().optional(),
51
+ 720: zod.z.string().optional(),
52
+ 1080: zod.z.string().optional()
53
+ });
54
+ var LandscapeSizesSchema = zod.z.object({
55
+ 640: zod.z.string().optional(),
56
+ 960: zod.z.string().optional(),
57
+ 1280: zod.z.string().optional(),
58
+ 1920: zod.z.string().optional(),
59
+ 2560: zod.z.string().optional(),
60
+ 3840: zod.z.string().optional()
61
+ });
62
+ var HeaderImageVariantsSchema = zod.z.object({
63
+ portrait: zod.z.object({
64
+ avif: PortraitSizesSchema.optional(),
65
+ jpg: PortraitSizesSchema.optional()
66
+ }).optional(),
67
+ landscape: zod.z.object({
68
+ avif: LandscapeSizesSchema.optional(),
69
+ jpg: LandscapeSizesSchema.optional()
70
+ }).optional()
71
+ });
48
72
  var GalleryMetadataSchema = zod.z.object({
49
73
  image: zod.z.string().optional(),
50
74
  imageWidth: zod.z.number().optional(),
@@ -67,6 +91,7 @@ var GalleryDataSchema = zod.z.object({
67
91
  url: zod.z.string().optional(),
68
92
  headerImage: zod.z.string(),
69
93
  headerImageBlurHash: zod.z.string().optional(),
94
+ headerImageVariants: HeaderImageVariantsSchema.optional(),
70
95
  thumbnailSize: zod.z.number().optional(),
71
96
  metadata: GalleryMetadataSchema,
72
97
  mediaBaseUrl: zod.z.string().optional(),
@@ -94,6 +119,7 @@ exports.GalleryDataSchema = GalleryDataSchema;
94
119
  exports.GalleryMetadataSchema = GalleryMetadataSchema;
95
120
  exports.GallerySectionDeprecatedSchema = GallerySectionDeprecatedSchema;
96
121
  exports.GallerySectionSchema = GallerySectionSchema;
122
+ exports.HeaderImageVariantsSchema = HeaderImageVariantsSchema;
97
123
  exports.MediaFileDeprecatedSchema = MediaFileDeprecatedSchema;
98
124
  exports.MediaFileSchema = MediaFileSchema;
99
125
  exports.SubGallerySchema = SubGallerySchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/gallery.ts"],"names":["z"],"mappings":"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","file":"gallery.cjs","sourcesContent":["import { z } from 'zod';\n\n/** Zod schema for thumbnail metadata including path and dimensions */\nexport const ThumbnailSchema = z.object({\n baseUrl: z.string().optional(),\n path: z.string(),\n pathRetina: z.string(),\n width: z.number(),\n height: z.number(),\n blurHash: z.string().optional(),\n});\n\n/** Zod schema for media file metadata including type, dimensions, and thumbnail info */\nexport const MediaFileSchema = z.object({\n type: z.enum(['image', 'video']),\n filename: z.string(),\n url: z.string().optional(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for media file with path (deprecated) */\nexport const MediaFileDeprecatedSchema = z.object({\n type: z.enum(['image', 'video']),\n path: z.string(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files */\nexport const GallerySectionSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileSchema),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files (deprecated) */\nexport const GallerySectionDeprecatedSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileDeprecatedSchema),\n});\n\n/** Zod schema for sub-gallery metadata including title, header image, and path */\nexport const SubGallerySchema = z.object({\n title: z.string(),\n headerImage: z.string(),\n path: z.string(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryMetadataSchema = z.object({\n image: z.string().optional(),\n imageWidth: z.number().optional(),\n imageHeight: z.number().optional(),\n ogUrl: z.string().optional(),\n ogType: z.string().optional(),\n ogSiteName: z.string().optional(),\n twitterSite: z.string().optional(),\n twitterCreator: z.string().optional(),\n author: z.string().optional(),\n keywords: z.string().optional(),\n canonicalUrl: z.string().optional(),\n language: z.string().optional(),\n robots: z.string().optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryDataSchema = z.object({\n title: z.string(),\n description: z.string(),\n mediaBasePath: z.string().optional(),\n url: z.string().optional(),\n headerImage: z.string(),\n headerImageBlurHash: z.string().optional(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n thumbsBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n ctaBanner: z.boolean().optional(),\n sections: z.array(GallerySectionSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** Zod schema for complete gallery data without mediaBasePath (deprecated) */\nexport const GalleryDataDeprecatedSchema = z.object({\n title: z.string(),\n description: z.string(),\n url: z.string().optional(),\n headerImage: z.string(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n sections: z.array(GallerySectionDeprecatedSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** TypeScript type for thumbnail metadata */\nexport type Thumbnail = z.infer<typeof ThumbnailSchema>;\n\n/** TypeScript type for media file metadata */\nexport type MediaFile = z.infer<typeof MediaFileSchema>;\n\n/** TypeScript type for gallery section data */\nexport type GallerySection = z.infer<typeof GallerySectionSchema>;\n\n/** TypeScript type for sub-gallery metadata */\nexport type SubGallery = z.infer<typeof SubGallerySchema>;\n\n/** TypeScript type for gallery metadata */\nexport type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;\n\n/** TypeScript type for complete gallery data structure */\nexport type GalleryData = z.infer<typeof GalleryDataSchema>;\n\n/** Deprecated types */\nexport type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;\nexport type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;\nexport type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;\n"]}
1
+ {"version":3,"sources":["../src/gallery.ts"],"names":["z"],"mappings":"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","file":"gallery.cjs","sourcesContent":["import { z } from 'zod';\n\n/** Zod schema for thumbnail metadata including path and dimensions */\nexport const ThumbnailSchema = z.object({\n baseUrl: z.string().optional(),\n path: z.string(),\n pathRetina: z.string(),\n width: z.number(),\n height: z.number(),\n blurHash: z.string().optional(),\n});\n\n/** Zod schema for media file metadata including type, dimensions, and thumbnail info */\nexport const MediaFileSchema = z.object({\n type: z.enum(['image', 'video']),\n filename: z.string(),\n url: z.string().optional(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for media file with path (deprecated) */\nexport const MediaFileDeprecatedSchema = z.object({\n type: z.enum(['image', 'video']),\n path: z.string(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files */\nexport const GallerySectionSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileSchema),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files (deprecated) */\nexport const GallerySectionDeprecatedSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileDeprecatedSchema),\n});\n\n/** Zod schema for sub-gallery metadata including title, header image, and path */\nexport const SubGallerySchema = z.object({\n title: z.string(),\n headerImage: z.string(),\n path: z.string(),\n});\n\n/** Zod schema for portrait image size variants */\nconst PortraitSizesSchema = z.object({\n 360: z.string().optional(),\n 480: z.string().optional(),\n 720: z.string().optional(),\n 1080: z.string().optional(),\n});\n\n/** Zod schema for landscape image size variants */\nconst LandscapeSizesSchema = z.object({\n 640: z.string().optional(),\n 960: z.string().optional(),\n 1280: z.string().optional(),\n 1920: z.string().optional(),\n 2560: z.string().optional(),\n 3840: z.string().optional(),\n});\n\n/** Zod schema for header image variants allowing explicit specification of responsive hero images */\nexport const HeaderImageVariantsSchema = z.object({\n portrait: z\n .object({\n avif: PortraitSizesSchema.optional(),\n jpg: PortraitSizesSchema.optional(),\n })\n .optional(),\n landscape: z\n .object({\n avif: LandscapeSizesSchema.optional(),\n jpg: LandscapeSizesSchema.optional(),\n })\n .optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryMetadataSchema = z.object({\n image: z.string().optional(),\n imageWidth: z.number().optional(),\n imageHeight: z.number().optional(),\n ogUrl: z.string().optional(),\n ogType: z.string().optional(),\n ogSiteName: z.string().optional(),\n twitterSite: z.string().optional(),\n twitterCreator: z.string().optional(),\n author: z.string().optional(),\n keywords: z.string().optional(),\n canonicalUrl: z.string().optional(),\n language: z.string().optional(),\n robots: z.string().optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryDataSchema = z.object({\n title: z.string(),\n description: z.string(),\n mediaBasePath: z.string().optional(),\n url: z.string().optional(),\n headerImage: z.string(),\n headerImageBlurHash: z.string().optional(),\n headerImageVariants: HeaderImageVariantsSchema.optional(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n thumbsBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n ctaBanner: z.boolean().optional(),\n sections: z.array(GallerySectionSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** Zod schema for complete gallery data without mediaBasePath (deprecated) */\nexport const GalleryDataDeprecatedSchema = z.object({\n title: z.string(),\n description: z.string(),\n url: z.string().optional(),\n headerImage: z.string(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n sections: z.array(GallerySectionDeprecatedSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** TypeScript type for thumbnail metadata */\nexport type Thumbnail = z.infer<typeof ThumbnailSchema>;\n\n/** TypeScript type for media file metadata */\nexport type MediaFile = z.infer<typeof MediaFileSchema>;\n\n/** TypeScript type for gallery section data */\nexport type GallerySection = z.infer<typeof GallerySectionSchema>;\n\n/** TypeScript type for sub-gallery metadata */\nexport type SubGallery = z.infer<typeof SubGallerySchema>;\n\n/** TypeScript type for header image variants */\nexport type HeaderImageVariants = z.infer<typeof HeaderImageVariantsSchema>;\n\n/** TypeScript type for gallery metadata */\nexport type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;\n\n/** TypeScript type for complete gallery data structure */\nexport type GalleryData = z.infer<typeof GalleryDataSchema>;\n\n/** Deprecated types */\nexport type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;\nexport type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;\nexport type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;\n"]}
@@ -105,6 +105,41 @@ declare const SubGallerySchema: z.ZodObject<{
105
105
  headerImage: z.ZodString;
106
106
  path: z.ZodString;
107
107
  }, z.core.$strip>;
108
+ /** Zod schema for header image variants allowing explicit specification of responsive hero images */
109
+ declare const HeaderImageVariantsSchema: z.ZodObject<{
110
+ portrait: z.ZodOptional<z.ZodObject<{
111
+ avif: z.ZodOptional<z.ZodObject<{
112
+ 360: z.ZodOptional<z.ZodString>;
113
+ 480: z.ZodOptional<z.ZodString>;
114
+ 720: z.ZodOptional<z.ZodString>;
115
+ 1080: z.ZodOptional<z.ZodString>;
116
+ }, z.core.$strip>>;
117
+ jpg: z.ZodOptional<z.ZodObject<{
118
+ 360: z.ZodOptional<z.ZodString>;
119
+ 480: z.ZodOptional<z.ZodString>;
120
+ 720: z.ZodOptional<z.ZodString>;
121
+ 1080: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>>;
124
+ landscape: z.ZodOptional<z.ZodObject<{
125
+ avif: z.ZodOptional<z.ZodObject<{
126
+ 640: z.ZodOptional<z.ZodString>;
127
+ 960: z.ZodOptional<z.ZodString>;
128
+ 1280: z.ZodOptional<z.ZodString>;
129
+ 1920: z.ZodOptional<z.ZodString>;
130
+ 2560: z.ZodOptional<z.ZodString>;
131
+ 3840: z.ZodOptional<z.ZodString>;
132
+ }, z.core.$strip>>;
133
+ jpg: z.ZodOptional<z.ZodObject<{
134
+ 640: z.ZodOptional<z.ZodString>;
135
+ 960: z.ZodOptional<z.ZodString>;
136
+ 1280: z.ZodOptional<z.ZodString>;
137
+ 1920: z.ZodOptional<z.ZodString>;
138
+ 2560: z.ZodOptional<z.ZodString>;
139
+ 3840: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>>;
142
+ }, z.core.$strip>;
108
143
  /** Zod schema for complete gallery data including metadata, sections, and sub-galleries */
109
144
  declare const GalleryMetadataSchema: z.ZodObject<{
110
145
  image: z.ZodOptional<z.ZodString>;
@@ -129,6 +164,40 @@ declare const GalleryDataSchema: z.ZodObject<{
129
164
  url: z.ZodOptional<z.ZodString>;
130
165
  headerImage: z.ZodString;
131
166
  headerImageBlurHash: z.ZodOptional<z.ZodString>;
167
+ headerImageVariants: z.ZodOptional<z.ZodObject<{
168
+ portrait: z.ZodOptional<z.ZodObject<{
169
+ avif: z.ZodOptional<z.ZodObject<{
170
+ 360: z.ZodOptional<z.ZodString>;
171
+ 480: z.ZodOptional<z.ZodString>;
172
+ 720: z.ZodOptional<z.ZodString>;
173
+ 1080: z.ZodOptional<z.ZodString>;
174
+ }, z.core.$strip>>;
175
+ jpg: z.ZodOptional<z.ZodObject<{
176
+ 360: z.ZodOptional<z.ZodString>;
177
+ 480: z.ZodOptional<z.ZodString>;
178
+ 720: z.ZodOptional<z.ZodString>;
179
+ 1080: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$strip>>;
181
+ }, z.core.$strip>>;
182
+ landscape: z.ZodOptional<z.ZodObject<{
183
+ avif: z.ZodOptional<z.ZodObject<{
184
+ 640: z.ZodOptional<z.ZodString>;
185
+ 960: z.ZodOptional<z.ZodString>;
186
+ 1280: z.ZodOptional<z.ZodString>;
187
+ 1920: z.ZodOptional<z.ZodString>;
188
+ 2560: z.ZodOptional<z.ZodString>;
189
+ 3840: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>>;
191
+ jpg: z.ZodOptional<z.ZodObject<{
192
+ 640: z.ZodOptional<z.ZodString>;
193
+ 960: z.ZodOptional<z.ZodString>;
194
+ 1280: z.ZodOptional<z.ZodString>;
195
+ 1920: z.ZodOptional<z.ZodString>;
196
+ 2560: z.ZodOptional<z.ZodString>;
197
+ 3840: z.ZodOptional<z.ZodString>;
198
+ }, z.core.$strip>>;
199
+ }, z.core.$strip>>;
200
+ }, z.core.$strip>>;
132
201
  thumbnailSize: z.ZodOptional<z.ZodNumber>;
133
202
  metadata: z.ZodObject<{
134
203
  image: z.ZodOptional<z.ZodString>;
@@ -246,6 +315,8 @@ type MediaFile = z.infer<typeof MediaFileSchema>;
246
315
  type GallerySection = z.infer<typeof GallerySectionSchema>;
247
316
  /** TypeScript type for sub-gallery metadata */
248
317
  type SubGallery = z.infer<typeof SubGallerySchema>;
318
+ /** TypeScript type for header image variants */
319
+ type HeaderImageVariants = z.infer<typeof HeaderImageVariantsSchema>;
249
320
  /** TypeScript type for gallery metadata */
250
321
  type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;
251
322
  /** TypeScript type for complete gallery data structure */
@@ -255,4 +326,4 @@ type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;
255
326
  type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;
256
327
  type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;
257
328
 
258
- export { type GalleryData, type GalleryDataDeprecated, GalleryDataDeprecatedSchema, GalleryDataSchema, type GalleryMetadata, GalleryMetadataSchema, type GallerySection, type GallerySectionDeprecated, GallerySectionDeprecatedSchema, GallerySectionSchema, type MediaFile, MediaFileDeprecatedSchema, MediaFileSchema, type MediaFileWithPath, type SubGallery, SubGallerySchema, type Thumbnail, ThumbnailSchema };
329
+ export { type GalleryData, type GalleryDataDeprecated, GalleryDataDeprecatedSchema, GalleryDataSchema, type GalleryMetadata, GalleryMetadataSchema, type GallerySection, type GallerySectionDeprecated, GallerySectionDeprecatedSchema, GallerySectionSchema, type HeaderImageVariants, HeaderImageVariantsSchema, type MediaFile, MediaFileDeprecatedSchema, MediaFileSchema, type MediaFileWithPath, type SubGallery, SubGallerySchema, type Thumbnail, ThumbnailSchema };
package/dist/gallery.d.ts CHANGED
@@ -105,6 +105,41 @@ declare const SubGallerySchema: z.ZodObject<{
105
105
  headerImage: z.ZodString;
106
106
  path: z.ZodString;
107
107
  }, z.core.$strip>;
108
+ /** Zod schema for header image variants allowing explicit specification of responsive hero images */
109
+ declare const HeaderImageVariantsSchema: z.ZodObject<{
110
+ portrait: z.ZodOptional<z.ZodObject<{
111
+ avif: z.ZodOptional<z.ZodObject<{
112
+ 360: z.ZodOptional<z.ZodString>;
113
+ 480: z.ZodOptional<z.ZodString>;
114
+ 720: z.ZodOptional<z.ZodString>;
115
+ 1080: z.ZodOptional<z.ZodString>;
116
+ }, z.core.$strip>>;
117
+ jpg: z.ZodOptional<z.ZodObject<{
118
+ 360: z.ZodOptional<z.ZodString>;
119
+ 480: z.ZodOptional<z.ZodString>;
120
+ 720: z.ZodOptional<z.ZodString>;
121
+ 1080: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>>;
124
+ landscape: z.ZodOptional<z.ZodObject<{
125
+ avif: z.ZodOptional<z.ZodObject<{
126
+ 640: z.ZodOptional<z.ZodString>;
127
+ 960: z.ZodOptional<z.ZodString>;
128
+ 1280: z.ZodOptional<z.ZodString>;
129
+ 1920: z.ZodOptional<z.ZodString>;
130
+ 2560: z.ZodOptional<z.ZodString>;
131
+ 3840: z.ZodOptional<z.ZodString>;
132
+ }, z.core.$strip>>;
133
+ jpg: z.ZodOptional<z.ZodObject<{
134
+ 640: z.ZodOptional<z.ZodString>;
135
+ 960: z.ZodOptional<z.ZodString>;
136
+ 1280: z.ZodOptional<z.ZodString>;
137
+ 1920: z.ZodOptional<z.ZodString>;
138
+ 2560: z.ZodOptional<z.ZodString>;
139
+ 3840: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>>;
142
+ }, z.core.$strip>;
108
143
  /** Zod schema for complete gallery data including metadata, sections, and sub-galleries */
109
144
  declare const GalleryMetadataSchema: z.ZodObject<{
110
145
  image: z.ZodOptional<z.ZodString>;
@@ -129,6 +164,40 @@ declare const GalleryDataSchema: z.ZodObject<{
129
164
  url: z.ZodOptional<z.ZodString>;
130
165
  headerImage: z.ZodString;
131
166
  headerImageBlurHash: z.ZodOptional<z.ZodString>;
167
+ headerImageVariants: z.ZodOptional<z.ZodObject<{
168
+ portrait: z.ZodOptional<z.ZodObject<{
169
+ avif: z.ZodOptional<z.ZodObject<{
170
+ 360: z.ZodOptional<z.ZodString>;
171
+ 480: z.ZodOptional<z.ZodString>;
172
+ 720: z.ZodOptional<z.ZodString>;
173
+ 1080: z.ZodOptional<z.ZodString>;
174
+ }, z.core.$strip>>;
175
+ jpg: z.ZodOptional<z.ZodObject<{
176
+ 360: z.ZodOptional<z.ZodString>;
177
+ 480: z.ZodOptional<z.ZodString>;
178
+ 720: z.ZodOptional<z.ZodString>;
179
+ 1080: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$strip>>;
181
+ }, z.core.$strip>>;
182
+ landscape: z.ZodOptional<z.ZodObject<{
183
+ avif: z.ZodOptional<z.ZodObject<{
184
+ 640: z.ZodOptional<z.ZodString>;
185
+ 960: z.ZodOptional<z.ZodString>;
186
+ 1280: z.ZodOptional<z.ZodString>;
187
+ 1920: z.ZodOptional<z.ZodString>;
188
+ 2560: z.ZodOptional<z.ZodString>;
189
+ 3840: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>>;
191
+ jpg: z.ZodOptional<z.ZodObject<{
192
+ 640: z.ZodOptional<z.ZodString>;
193
+ 960: z.ZodOptional<z.ZodString>;
194
+ 1280: z.ZodOptional<z.ZodString>;
195
+ 1920: z.ZodOptional<z.ZodString>;
196
+ 2560: z.ZodOptional<z.ZodString>;
197
+ 3840: z.ZodOptional<z.ZodString>;
198
+ }, z.core.$strip>>;
199
+ }, z.core.$strip>>;
200
+ }, z.core.$strip>>;
132
201
  thumbnailSize: z.ZodOptional<z.ZodNumber>;
133
202
  metadata: z.ZodObject<{
134
203
  image: z.ZodOptional<z.ZodString>;
@@ -246,6 +315,8 @@ type MediaFile = z.infer<typeof MediaFileSchema>;
246
315
  type GallerySection = z.infer<typeof GallerySectionSchema>;
247
316
  /** TypeScript type for sub-gallery metadata */
248
317
  type SubGallery = z.infer<typeof SubGallerySchema>;
318
+ /** TypeScript type for header image variants */
319
+ type HeaderImageVariants = z.infer<typeof HeaderImageVariantsSchema>;
249
320
  /** TypeScript type for gallery metadata */
250
321
  type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;
251
322
  /** TypeScript type for complete gallery data structure */
@@ -255,4 +326,4 @@ type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;
255
326
  type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;
256
327
  type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;
257
328
 
258
- export { type GalleryData, type GalleryDataDeprecated, GalleryDataDeprecatedSchema, GalleryDataSchema, type GalleryMetadata, GalleryMetadataSchema, type GallerySection, type GallerySectionDeprecated, GallerySectionDeprecatedSchema, GallerySectionSchema, type MediaFile, MediaFileDeprecatedSchema, MediaFileSchema, type MediaFileWithPath, type SubGallery, SubGallerySchema, type Thumbnail, ThumbnailSchema };
329
+ export { type GalleryData, type GalleryDataDeprecated, GalleryDataDeprecatedSchema, GalleryDataSchema, type GalleryMetadata, GalleryMetadataSchema, type GallerySection, type GallerySectionDeprecated, GallerySectionDeprecatedSchema, GallerySectionSchema, type HeaderImageVariants, HeaderImageVariantsSchema, type MediaFile, MediaFileDeprecatedSchema, MediaFileSchema, type MediaFileWithPath, type SubGallery, SubGallerySchema, type Thumbnail, ThumbnailSchema };
package/dist/gallery.js CHANGED
@@ -43,6 +43,30 @@ var SubGallerySchema = z.object({
43
43
  headerImage: z.string(),
44
44
  path: z.string()
45
45
  });
46
+ var PortraitSizesSchema = z.object({
47
+ 360: z.string().optional(),
48
+ 480: z.string().optional(),
49
+ 720: z.string().optional(),
50
+ 1080: z.string().optional()
51
+ });
52
+ var LandscapeSizesSchema = z.object({
53
+ 640: z.string().optional(),
54
+ 960: z.string().optional(),
55
+ 1280: z.string().optional(),
56
+ 1920: z.string().optional(),
57
+ 2560: z.string().optional(),
58
+ 3840: z.string().optional()
59
+ });
60
+ var HeaderImageVariantsSchema = z.object({
61
+ portrait: z.object({
62
+ avif: PortraitSizesSchema.optional(),
63
+ jpg: PortraitSizesSchema.optional()
64
+ }).optional(),
65
+ landscape: z.object({
66
+ avif: LandscapeSizesSchema.optional(),
67
+ jpg: LandscapeSizesSchema.optional()
68
+ }).optional()
69
+ });
46
70
  var GalleryMetadataSchema = z.object({
47
71
  image: z.string().optional(),
48
72
  imageWidth: z.number().optional(),
@@ -65,6 +89,7 @@ var GalleryDataSchema = z.object({
65
89
  url: z.string().optional(),
66
90
  headerImage: z.string(),
67
91
  headerImageBlurHash: z.string().optional(),
92
+ headerImageVariants: HeaderImageVariantsSchema.optional(),
68
93
  thumbnailSize: z.number().optional(),
69
94
  metadata: GalleryMetadataSchema,
70
95
  mediaBaseUrl: z.string().optional(),
@@ -87,6 +112,6 @@ var GalleryDataDeprecatedSchema = z.object({
87
112
  subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) })
88
113
  });
89
114
 
90
- export { GalleryDataDeprecatedSchema, GalleryDataSchema, GalleryMetadataSchema, GallerySectionDeprecatedSchema, GallerySectionSchema, MediaFileDeprecatedSchema, MediaFileSchema, SubGallerySchema, ThumbnailSchema };
115
+ export { GalleryDataDeprecatedSchema, GalleryDataSchema, GalleryMetadataSchema, GallerySectionDeprecatedSchema, GallerySectionSchema, HeaderImageVariantsSchema, MediaFileDeprecatedSchema, MediaFileSchema, SubGallerySchema, ThumbnailSchema };
91
116
  //# sourceMappingURL=gallery.js.map
92
117
  //# sourceMappingURL=gallery.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/gallery.ts"],"names":[],"mappings":";;;AAGO,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACtC,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAY,EAAE,MAAA,EAAO;AAAA,EACrB,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACvB,CAAC;AAGM,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACtC,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,EAC/B,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAW,gBAAgB,QAAA,EAAS;AAAA,EACpC,kBAAA,EAAoB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACjC,CAAC;AAGM,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,EAC/B,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAW,gBAAgB,QAAA,EAAS;AAAA,EACpC,kBAAA,EAAoB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACjC,CAAC;AAGM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,eAAe;AACjC,CAAC;AAGM,IAAM,8BAAA,GAAiC,EAAE,MAAA,CAAO;AAAA,EACrD,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,yBAAyB;AAC3C,CAAC;AAGM,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA,EACvC,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM,EAAE,MAAA;AACV,CAAC;AAGM,IAAM,qBAAA,GAAwB,EAAE,MAAA,CAAO;AAAA,EAC5C,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACrB,CAAC;AAGM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,mBAAA,EAAqB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzC,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,QAAA,EAAU,qBAAA;AAAA,EACV,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,eAAA,EAAiB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,SAAA,EAAW,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAChC,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA;AAAA,EACtC,YAAA,EAAc,CAAA,CAAE,MAAA,CAAO,EAAE,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,EAAG,SAAA,EAAW,CAAA,CAAE,KAAA,CAAM,gBAAgB,GAAG;AACpF,CAAC;AAGM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,QAAA,EAAU,qBAAA;AAAA,EACV,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,eAAA,EAAiB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,8BAA8B,CAAA;AAAA,EAChD,YAAA,EAAc,CAAA,CAAE,MAAA,CAAO,EAAE,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,EAAG,SAAA,EAAW,CAAA,CAAE,KAAA,CAAM,gBAAgB,GAAG;AACpF,CAAC","file":"gallery.js","sourcesContent":["import { z } from 'zod';\n\n/** Zod schema for thumbnail metadata including path and dimensions */\nexport const ThumbnailSchema = z.object({\n baseUrl: z.string().optional(),\n path: z.string(),\n pathRetina: z.string(),\n width: z.number(),\n height: z.number(),\n blurHash: z.string().optional(),\n});\n\n/** Zod schema for media file metadata including type, dimensions, and thumbnail info */\nexport const MediaFileSchema = z.object({\n type: z.enum(['image', 'video']),\n filename: z.string(),\n url: z.string().optional(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for media file with path (deprecated) */\nexport const MediaFileDeprecatedSchema = z.object({\n type: z.enum(['image', 'video']),\n path: z.string(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files */\nexport const GallerySectionSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileSchema),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files (deprecated) */\nexport const GallerySectionDeprecatedSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileDeprecatedSchema),\n});\n\n/** Zod schema for sub-gallery metadata including title, header image, and path */\nexport const SubGallerySchema = z.object({\n title: z.string(),\n headerImage: z.string(),\n path: z.string(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryMetadataSchema = z.object({\n image: z.string().optional(),\n imageWidth: z.number().optional(),\n imageHeight: z.number().optional(),\n ogUrl: z.string().optional(),\n ogType: z.string().optional(),\n ogSiteName: z.string().optional(),\n twitterSite: z.string().optional(),\n twitterCreator: z.string().optional(),\n author: z.string().optional(),\n keywords: z.string().optional(),\n canonicalUrl: z.string().optional(),\n language: z.string().optional(),\n robots: z.string().optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryDataSchema = z.object({\n title: z.string(),\n description: z.string(),\n mediaBasePath: z.string().optional(),\n url: z.string().optional(),\n headerImage: z.string(),\n headerImageBlurHash: z.string().optional(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n thumbsBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n ctaBanner: z.boolean().optional(),\n sections: z.array(GallerySectionSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** Zod schema for complete gallery data without mediaBasePath (deprecated) */\nexport const GalleryDataDeprecatedSchema = z.object({\n title: z.string(),\n description: z.string(),\n url: z.string().optional(),\n headerImage: z.string(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n sections: z.array(GallerySectionDeprecatedSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** TypeScript type for thumbnail metadata */\nexport type Thumbnail = z.infer<typeof ThumbnailSchema>;\n\n/** TypeScript type for media file metadata */\nexport type MediaFile = z.infer<typeof MediaFileSchema>;\n\n/** TypeScript type for gallery section data */\nexport type GallerySection = z.infer<typeof GallerySectionSchema>;\n\n/** TypeScript type for sub-gallery metadata */\nexport type SubGallery = z.infer<typeof SubGallerySchema>;\n\n/** TypeScript type for gallery metadata */\nexport type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;\n\n/** TypeScript type for complete gallery data structure */\nexport type GalleryData = z.infer<typeof GalleryDataSchema>;\n\n/** Deprecated types */\nexport type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;\nexport type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;\nexport type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;\n"]}
1
+ {"version":3,"sources":["../src/gallery.ts"],"names":[],"mappings":"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","file":"gallery.js","sourcesContent":["import { z } from 'zod';\n\n/** Zod schema for thumbnail metadata including path and dimensions */\nexport const ThumbnailSchema = z.object({\n baseUrl: z.string().optional(),\n path: z.string(),\n pathRetina: z.string(),\n width: z.number(),\n height: z.number(),\n blurHash: z.string().optional(),\n});\n\n/** Zod schema for media file metadata including type, dimensions, and thumbnail info */\nexport const MediaFileSchema = z.object({\n type: z.enum(['image', 'video']),\n filename: z.string(),\n url: z.string().optional(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for media file with path (deprecated) */\nexport const MediaFileDeprecatedSchema = z.object({\n type: z.enum(['image', 'video']),\n path: z.string(),\n alt: z.string().optional(),\n width: z.number(),\n height: z.number(),\n thumbnail: ThumbnailSchema.optional(),\n lastMediaTimestamp: z.string().optional(),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files */\nexport const GallerySectionSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileSchema),\n});\n\n/** Zod schema for a gallery section containing title, description, and media files (deprecated) */\nexport const GallerySectionDeprecatedSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n images: z.array(MediaFileDeprecatedSchema),\n});\n\n/** Zod schema for sub-gallery metadata including title, header image, and path */\nexport const SubGallerySchema = z.object({\n title: z.string(),\n headerImage: z.string(),\n path: z.string(),\n});\n\n/** Zod schema for portrait image size variants */\nconst PortraitSizesSchema = z.object({\n 360: z.string().optional(),\n 480: z.string().optional(),\n 720: z.string().optional(),\n 1080: z.string().optional(),\n});\n\n/** Zod schema for landscape image size variants */\nconst LandscapeSizesSchema = z.object({\n 640: z.string().optional(),\n 960: z.string().optional(),\n 1280: z.string().optional(),\n 1920: z.string().optional(),\n 2560: z.string().optional(),\n 3840: z.string().optional(),\n});\n\n/** Zod schema for header image variants allowing explicit specification of responsive hero images */\nexport const HeaderImageVariantsSchema = z.object({\n portrait: z\n .object({\n avif: PortraitSizesSchema.optional(),\n jpg: PortraitSizesSchema.optional(),\n })\n .optional(),\n landscape: z\n .object({\n avif: LandscapeSizesSchema.optional(),\n jpg: LandscapeSizesSchema.optional(),\n })\n .optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryMetadataSchema = z.object({\n image: z.string().optional(),\n imageWidth: z.number().optional(),\n imageHeight: z.number().optional(),\n ogUrl: z.string().optional(),\n ogType: z.string().optional(),\n ogSiteName: z.string().optional(),\n twitterSite: z.string().optional(),\n twitterCreator: z.string().optional(),\n author: z.string().optional(),\n keywords: z.string().optional(),\n canonicalUrl: z.string().optional(),\n language: z.string().optional(),\n robots: z.string().optional(),\n});\n\n/** Zod schema for complete gallery data including metadata, sections, and sub-galleries */\nexport const GalleryDataSchema = z.object({\n title: z.string(),\n description: z.string(),\n mediaBasePath: z.string().optional(),\n url: z.string().optional(),\n headerImage: z.string(),\n headerImageBlurHash: z.string().optional(),\n headerImageVariants: HeaderImageVariantsSchema.optional(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n thumbsBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n ctaBanner: z.boolean().optional(),\n sections: z.array(GallerySectionSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** Zod schema for complete gallery data without mediaBasePath (deprecated) */\nexport const GalleryDataDeprecatedSchema = z.object({\n title: z.string(),\n description: z.string(),\n url: z.string().optional(),\n headerImage: z.string(),\n thumbnailSize: z.number().optional(),\n metadata: GalleryMetadataSchema,\n mediaBaseUrl: z.string().optional(),\n analyticsScript: z.string().optional(),\n sections: z.array(GallerySectionDeprecatedSchema),\n subGalleries: z.object({ title: z.string(), galleries: z.array(SubGallerySchema) }),\n});\n\n/** TypeScript type for thumbnail metadata */\nexport type Thumbnail = z.infer<typeof ThumbnailSchema>;\n\n/** TypeScript type for media file metadata */\nexport type MediaFile = z.infer<typeof MediaFileSchema>;\n\n/** TypeScript type for gallery section data */\nexport type GallerySection = z.infer<typeof GallerySectionSchema>;\n\n/** TypeScript type for sub-gallery metadata */\nexport type SubGallery = z.infer<typeof SubGallerySchema>;\n\n/** TypeScript type for header image variants */\nexport type HeaderImageVariants = z.infer<typeof HeaderImageVariantsSchema>;\n\n/** TypeScript type for gallery metadata */\nexport type GalleryMetadata = z.infer<typeof GalleryMetadataSchema>;\n\n/** TypeScript type for complete gallery data structure */\nexport type GalleryData = z.infer<typeof GalleryDataSchema>;\n\n/** Deprecated types */\nexport type MediaFileWithPath = z.infer<typeof MediaFileDeprecatedSchema>;\nexport type GallerySectionDeprecated = z.infer<typeof GallerySectionDeprecatedSchema>;\nexport type GalleryDataDeprecated = z.infer<typeof GalleryDataDeprecatedSchema>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-photo-gallery/common",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Shared utilities and types for Simple Photo Gallery",
5
5
  "license": "MIT",
6
6
  "author": "Vladimir Haltakov, Tomasz Rusin",