@paroicms/server-database-media-storage 1.18.5 → 1.19.1

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.
@@ -1,33 +1,50 @@
1
+ import type { MAttachedData, MLocalizedAttachedData } from "@paroicms/public-anywhere-lib";
1
2
  import type { Knex } from "knex";
2
3
  import type { InternalNewMediaWithHandle } from "./internal-types.js";
3
4
  import type { MediaStorageContext } from "./media-storage-context.js";
4
- import type { Image, ImageWithBinary, Media, MediaWithBinary, ReorderMediasInput } from "./public-types.js";
5
- export declare function createMedia(ctx: MediaStorageContext, payload: InternalNewMediaWithHandle): Promise<string>;
6
- export declare function getFirstImageForHandle(cn: Knex, handle: string): Promise<Image | undefined>;
7
- export declare function getMediasByHandle(cn: Knex, handle: string): Promise<(Image | Media)[]>;
8
- export declare function getMediasByHandles(cn: Knex, handles: string[]): Promise<Map<string, Image | Media>>;
9
- export declare function getMedia(cn: Knex, uid: string): Promise<Media | Image | undefined>;
5
+ import type { ImageMd, MediaMd, MediaWithBinary, ReorderMediasInput } from "./public-types.js";
6
+ export declare function insertMedia(ctx: MediaStorageContext, payload: InternalNewMediaWithHandle): Promise<string>;
7
+ export declare function loadFirstImageForHandle(cn: Knex, handle: string, withAttachedData: {
8
+ language: string;
9
+ } | undefined): Promise<ImageMd | undefined>;
10
+ export declare function loadMediasByHandle(cn: Knex, handle: string, withAttachedData: {
11
+ language: string;
12
+ } | undefined): Promise<MediaMd[]>;
13
+ export declare function loadMediasByHandles(cn: Knex, handles: string[], withAttachedData: {
14
+ language: string;
15
+ } | undefined): Promise<Map<string, MediaMd>>;
16
+ export declare function loadMedia(cn: Knex, mediaId: string, withAttachedData: {
17
+ language: string;
18
+ } | undefined): Promise<MediaMd | undefined>;
10
19
  export declare function countMediasByNodeId(cn: Knex, nodeId: string, options?: {
11
20
  exceptHandle?: string;
12
21
  }): Promise<number>;
13
- export declare function getAttachedDocumentsWeight(cn: Knex): Promise<number>;
14
- export declare function getMediaByHandle(cn: Knex, handle: string): Promise<Media | Image | undefined>;
15
- export declare function findMediaByOriginalHash(cn: Knex, originalHash: string): Promise<Media | Image | undefined>;
16
- export declare function getMediaWithBinary(cn: Knex, uid: string): Promise<MediaWithBinary | ImageWithBinary | undefined>;
22
+ export declare function loadAttachedDocumentsWeight(cn: Knex): Promise<number>;
23
+ export declare function loadMediaByHandle(cn: Knex, handle: string, withAttachedData: {
24
+ language: string;
25
+ } | undefined): Promise<MediaMd | undefined>;
26
+ export declare function findMediaByOriginalHash(cn: Knex, originalHash: string): Promise<MediaMd | undefined>;
27
+ export declare function loadMediaWithBinary(cn: Knex, mediaId: string): Promise<MediaWithBinary | undefined>;
17
28
  /**
18
- * @returns the deleted media uid
29
+ * @returns the deleted media ids
19
30
  */
20
31
  export declare function deleteHandle(cn: Knex, handle: string): Promise<string[]>;
21
32
  /**
22
33
  * @returns the deleted media uids
23
34
  */
24
35
  export declare function deleteHandles(cn: Knex, handles: string[]): Promise<string[]>;
25
- export declare function deleteMediaWithHandle(cn: Knex, { handle, uid }: {
36
+ export declare function deleteMediaWithHandle(cn: Knex, { handle, mediaId }: {
26
37
  handle: string;
27
- uid: string;
38
+ mediaId: string;
28
39
  }): Promise<string[]>;
29
- export declare function updateAttachedData(cn: Knex, { mediaUid, values }: {
30
- mediaUid: string;
31
- values: string;
40
+ export declare function saveAttachedData(cn: Knex, { mediaId, language, value, }: {
41
+ mediaId: string;
42
+ language: string;
43
+ value: MLocalizedAttachedData | null;
32
44
  }): Promise<void>;
33
- export declare function reorderMedias(ctx: MediaStorageContext, { mediaUids: uids, handle }: ReorderMediasInput): Promise<void>;
45
+ export declare function updateMediaPixelRatio(cn: Knex, { mediaId, pixelRatio, }: {
46
+ mediaId: string;
47
+ pixelRatio: number | null;
48
+ }): Promise<void>;
49
+ export declare function reorderMedias(ctx: MediaStorageContext, { mediaIds, handle }: ReorderMediasInput): Promise<void>;
50
+ export declare function loadAttachedDataForLanguages(cn: Knex, mediaIds: string[]): Promise<Map<string, MAttachedData>>;
@@ -1,25 +1,25 @@
1
- import { isDef, nbVal, nbValOrUndef, strVal } from "@paroi/data-formatters-lib";
1
+ import { boolValOrUndef, isDef, nbVal, nbValOrUndef, strVal, strValOrUndef, } from "@paroi/data-formatters-lib";
2
2
  import { generateResourceVersion } from "@paroicms/internal-server-lib";
3
3
  import { randomUUID } from "node:crypto";
4
- import { formatImage, formatImageWithBinary, formatMedia, formatMediaWithBinary, } from "./helpers/data-formatters.helpers.js";
5
- export async function createMedia(ctx, payload) {
6
- // If we already have the existingMediaUid from the earlier check, use it directly
7
- if (payload.existingMediaUid) {
8
- return await reuseExistingMedia(ctx, payload.existingMediaUid, payload);
4
+ import { parseSqliteDateTime } from "./helpers/sqlite-date-helper.js";
5
+ export async function insertMedia(ctx, payload) {
6
+ // If we already have the existingMediaId from the earlier check, use it directly
7
+ if (payload.existingMediaId) {
8
+ return await reuseExistingMedia(ctx, payload.existingMediaId, payload);
9
9
  }
10
10
  // Create new media if no match was found
11
- return await createNewMedia(ctx, payload);
11
+ return await insertNewMedia(ctx, payload);
12
12
  }
13
13
  /**
14
14
  * Reuse existing media by adding a new handle to it if needed
15
15
  */
16
- async function reuseExistingMedia(ctx, existingMediaUid, payload) {
17
- ctx.logger.debug(`Reusing existing media ${existingMediaUid} with hash ${payload.originalHash}`);
16
+ async function reuseExistingMedia(ctx, existingMediaId, payload) {
17
+ ctx.logger.debug(`Reusing existing media ${existingMediaId} with hash ${payload.originalHash}`);
18
18
  // Check if handle already exists for this media
19
19
  const handleExists = await ctx
20
20
  .cn()
21
21
  .from("PaMediaHandle")
22
- .where({ mediaUid: existingMediaUid, handle: payload.handle })
22
+ .where({ mediaId: existingMediaId, handle: payload.handle })
23
23
  .first();
24
24
  if (!handleExists) {
25
25
  // Add new handle to existing media
@@ -29,48 +29,61 @@ async function reuseExistingMedia(ctx, existingMediaUid, payload) {
29
29
  await ctx
30
30
  .cn()("PaMediaHandle")
31
31
  .insert({
32
- mediaUid: existingMediaUid,
32
+ mediaId: existingMediaId,
33
33
  handle: payload.handle,
34
34
  orderNum: maxNum === undefined ? 1 : maxNum + 1,
35
35
  nodeId: payload.nodeId,
36
36
  });
37
37
  }
38
- return existingMediaUid;
38
+ return existingMediaId;
39
39
  }
40
40
  /**
41
41
  * Create a new media record
42
42
  */
43
- async function createNewMedia(ctx, payload) {
44
- const uid = randomUUID();
43
+ async function insertNewMedia(ctx, payload) {
44
+ const id = randomUUID();
45
45
  const resourceVersion = generateResourceVersion();
46
46
  const maxNum = payload.replace ? await getMaxOrderNum(ctx.cn(), payload.handle) : undefined;
47
47
  await ctx.cn().transaction(async (tx) => {
48
48
  if (payload.replace)
49
49
  await deleteHandle(tx, payload.handle);
50
50
  await tx("PaMedia").insert({
51
- uid,
51
+ id,
52
52
  resourceVersion,
53
53
  binaryFile: payload.binaryFile,
54
54
  originalName: payload.originalName,
55
- attachedData: payload.attachedData,
56
55
  mediaType: payload.mediaType,
57
56
  weightB: payload.weightB,
58
57
  originalHash: payload.originalHash,
59
58
  });
60
59
  if (payload.image) {
61
60
  await tx("PaImage").insert({
62
- ...payload.image,
63
- uid,
61
+ id,
62
+ rawWidth: payload.image.rawWidth,
63
+ rawHeight: payload.image.rawHeight,
64
+ pixelRatio: payload.image.pixelRatio,
65
+ lossless: payload.image.lossless,
64
66
  });
65
67
  }
68
+ if (payload.attachedData) {
69
+ for (const [language, value] of Object.entries(payload.attachedData)) {
70
+ if (!value)
71
+ continue;
72
+ await tx("PaAttachedData").insert({
73
+ mediaId: id,
74
+ language,
75
+ val: JSON.stringify(value),
76
+ });
77
+ }
78
+ }
66
79
  await tx("PaMediaHandle").insert({
67
- mediaUid: uid,
80
+ mediaId: id,
68
81
  handle: payload.handle,
69
82
  orderNum: maxNum === undefined ? 1 : maxNum + 1,
70
83
  nodeId: payload.nodeId,
71
84
  });
72
85
  });
73
- return uid;
86
+ return id;
74
87
  }
75
88
  async function getMaxOrderNum(cn, handle) {
76
89
  const row = (await cn("PaMediaHandle")
@@ -79,20 +92,20 @@ async function getMaxOrderNum(cn, handle) {
79
92
  .first());
80
93
  return nbValOrUndef(row?.maxNum);
81
94
  }
82
- export async function getFirstImageForHandle(cn, handle) {
83
- const row = await buildMediaQuery(cn, { onlyImage: true })
84
- .join("PaMediaHandle as h", "h.mediaUid", "m.uid")
95
+ export async function loadFirstImageForHandle(cn, handle, withAttachedData) {
96
+ const row = await buildMediaQuery(cn, { onlyImage: true, withAttachedData })
97
+ .join("PaMediaHandle as h", "h.mediaId", "m.id")
85
98
  .where("h.handle", handle)
86
99
  .orderBy("h.orderNum", "asc")
87
100
  .orderBy("m.modifiedTs", "asc")
88
101
  .limit(1)
89
102
  .first();
90
- return row ? formatImage(row) : undefined;
103
+ return row ? formatImageMd(row, withAttachedData) : undefined;
91
104
  }
92
- export async function getMediasByHandle(cn, handle) {
93
- const rows = await buildMediaQuery(cn)
105
+ export async function loadMediasByHandle(cn, handle, withAttachedData) {
106
+ const rows = await buildMediaQuery(cn, { withAttachedData })
94
107
  .select("h.orderNum")
95
- .join("PaMediaHandle as h", "h.mediaUid", "m.uid")
108
+ .join("PaMediaHandle as h", "h.mediaId", "m.id")
96
109
  .where("h.handle", handle)
97
110
  .orderBy("h.orderNum", "asc")
98
111
  .orderBy("m.modifiedTs", "asc");
@@ -107,25 +120,27 @@ export async function getMediasByHandle(cn, handle) {
107
120
  }
108
121
  });
109
122
  const reordered = [...withOrderNum, ...withoutNotOrderNum];
110
- return reordered.map((row) => (isDef(row.width) ? formatImage(row) : formatMedia(row)));
123
+ return reordered.map((row) => formatMediaMd(row, withAttachedData));
111
124
  }
112
- export async function getMediasByHandles(cn, handles) {
113
- const rows = await buildMediaQuery(cn)
125
+ export async function loadMediasByHandles(cn, handles, withAttachedData) {
126
+ const rows = await buildMediaQuery(cn, { withAttachedData })
114
127
  .select("h.handle")
115
- .join("PaMediaHandle as h", "h.mediaUid", "m.uid")
128
+ .join("PaMediaHandle as h", "h.mediaId", "m.id")
116
129
  .whereIn("h.handle", handles);
117
130
  const map = new Map();
118
131
  for (const row of rows) {
119
132
  const handle = strVal(row.handle);
120
- map.set(handle, isDef(row.width) ? formatImage(row) : formatMedia(row));
133
+ map.set(handle, formatMediaMd(row, withAttachedData));
121
134
  }
122
135
  return map;
123
136
  }
124
- export async function getMedia(cn, uid) {
125
- const row = await buildMediaQuery(cn).where("m.uid", uid).first();
137
+ export async function loadMedia(cn, mediaId, withAttachedData) {
138
+ const row = await buildMediaQuery(cn, { withAttachedData })
139
+ .where("m.id", mediaId)
140
+ .first();
126
141
  if (!row)
127
142
  return;
128
- return isDef(row.width) ? formatImage(row) : formatMedia(row);
143
+ return formatMediaMd(row, withAttachedData);
129
144
  }
130
145
  export async function countMediasByNodeId(cn, nodeId, options = {}) {
131
146
  const query = cn("PaMediaHandle as h").count("* as cnt").where("h.nodeId", nodeId);
@@ -135,38 +150,38 @@ export async function countMediasByNodeId(cn, nodeId, options = {}) {
135
150
  const row = (await query.first());
136
151
  return nbVal(row?.cnt);
137
152
  }
138
- export async function getAttachedDocumentsWeight(cn) {
153
+ export async function loadAttachedDocumentsWeight(cn) {
139
154
  const result = await cn("PaMedia as m")
140
155
  .sum("m.weightB as weightB")
141
156
  .where("m.mediaType", "application/pdf")
142
157
  .first();
143
158
  return nbValOrUndef(result?.weightB) ?? 0;
144
159
  }
145
- export async function getMediaByHandle(cn, handle) {
146
- const row = await buildMediaQuery(cn)
147
- .join("PaMediaHandle as h", "h.mediaUid", "m.uid")
160
+ export async function loadMediaByHandle(cn, handle, withAttachedData) {
161
+ const row = await buildMediaQuery(cn, { withAttachedData })
162
+ .join("PaMediaHandle as h", "h.mediaId", "m.id")
148
163
  .where("h.handle", handle)
149
164
  .first();
150
165
  if (!row)
151
166
  return;
152
- return isDef(row.width) ? formatImage(row) : formatMedia(row);
167
+ return formatMediaMd(row, withAttachedData);
153
168
  }
154
169
  export async function findMediaByOriginalHash(cn, originalHash) {
155
170
  const row = await buildMediaQuery(cn).where({ originalHash }).first();
156
171
  if (!row)
157
172
  return;
158
- return isDef(row.width) ? formatImage(row) : formatMedia(row);
173
+ return formatMediaMd(row, undefined);
159
174
  }
160
- export async function getMediaWithBinary(cn, uid) {
175
+ export async function loadMediaWithBinary(cn, mediaId) {
161
176
  const row = await buildMediaQuery(cn, { includeBinary: true })
162
- .where("m.uid", uid)
177
+ .where("m.id", mediaId)
163
178
  .first();
164
179
  if (!row)
165
180
  return;
166
- return isDef(row.width) ? formatImageWithBinary(row) : formatMediaWithBinary(row);
181
+ return formatMediaWithBinary(row);
167
182
  }
168
183
  /**
169
- * @returns the deleted media uid
184
+ * @returns the deleted media ids
170
185
  */
171
186
  export async function deleteHandle(cn, handle) {
172
187
  const rowsDeleted = await cn("PaMediaHandle").where("handle", handle).del();
@@ -183,43 +198,71 @@ export async function deleteHandles(cn, handles) {
183
198
  return [];
184
199
  return await deleteOrphanMedias(cn);
185
200
  }
186
- export async function deleteMediaWithHandle(cn, { handle, uid }) {
187
- await cn("PaMediaHandle")
188
- .where({
189
- mediaUid: uid,
190
- handle: handle,
191
- })
192
- .del();
201
+ export async function deleteMediaWithHandle(cn, { handle, mediaId }) {
202
+ await cn("PaMediaHandle").where({ mediaId, handle }).delete();
193
203
  return await deleteOrphanMedias(cn);
194
204
  }
195
205
  async function deleteOrphanMedias(cn) {
196
206
  // Find orphaned media (not referenced in PaMediaHandle)
197
- const subquery = cn("PaMediaHandle as h")
198
- .select("h.mediaUid")
199
- .where("h.mediaUid", cn.ref("m.uid"));
200
- const orphans = await cn("PaMedia as m").select("m.uid").whereNotExists(subquery);
201
- const uids = orphans.map((row) => strVal(row.uid));
202
- if (uids.length > 0) {
207
+ const subquery = cn("PaMediaHandle as h").select("h.mediaId").where("h.mediaId", cn.ref("m.id"));
208
+ const orphans = await cn("PaMedia as m").select("m.id").whereNotExists(subquery);
209
+ const mediaIds = orphans.map((row) => strVal(row.id));
210
+ if (mediaIds.length > 0) {
203
211
  // Delete the orphaned media
204
- await cn("PaMedia").whereIn("uid", uids).del();
212
+ await cn("PaMedia").whereIn("id", mediaIds).del();
213
+ }
214
+ return mediaIds;
215
+ }
216
+ export async function saveAttachedData(cn, { mediaId, language, value, }) {
217
+ // Check if a row already exists for this mediaId and language
218
+ const exists = await cn("PaAttachedData")
219
+ .select(1)
220
+ .where({
221
+ mediaId,
222
+ language,
223
+ })
224
+ .first();
225
+ if (value === null) {
226
+ // If value is null, delete the row if it exists
227
+ if (exists) {
228
+ await cn("PaAttachedData").where({ mediaId, language }).delete();
229
+ }
230
+ }
231
+ else {
232
+ // If row exists, update it; otherwise insert a new row
233
+ const val = JSON.stringify(value);
234
+ if (exists) {
235
+ await cn("PaAttachedData").where({ mediaId, language }).update({ val });
236
+ }
237
+ else {
238
+ await cn("PaAttachedData").insert({ mediaId, language, val });
239
+ }
205
240
  }
206
- return uids;
207
241
  }
208
- export async function updateAttachedData(cn, { mediaUid, values }) {
209
- await cn("PaMedia").where("uid", mediaUid).update({ attachedData: values });
242
+ export async function updateMediaPixelRatio(cn, { mediaId, pixelRatio, }) {
243
+ const result = await cn("PaMedia as m")
244
+ .select("m.id", "m.mediaType")
245
+ .innerJoin("PaImage as i", "m.id", "i.id")
246
+ .where("m.id", mediaId)
247
+ .first();
248
+ if (!result)
249
+ throw new Error(`Image "${mediaId}" not found`);
250
+ await cn("PaImage").where("id", mediaId).update({
251
+ pixelRatio,
252
+ });
210
253
  }
211
- export async function reorderMedias(ctx, { mediaUids: uids, handle }) {
212
- const medias = await getMediasByHandle(ctx.cn(), handle);
254
+ export async function reorderMedias(ctx, { mediaIds, handle }) {
255
+ const medias = await loadMediasByHandle(ctx.cn(), handle, undefined);
213
256
  const orderMedias = [];
214
257
  let orderNum = 1;
215
- for (const uid of uids) {
216
- const media = medias.find((item) => item.uid === uid);
258
+ for (const id of mediaIds) {
259
+ const media = medias.find((item) => item.id === id);
217
260
  if (!media) {
218
- ctx.logger.warn(`[reorder medias] skip missing media '${uid}' ('${handle}')`);
261
+ ctx.logger.warn(`[reorder medias] skip missing media '${id}' ('${handle}')`);
219
262
  continue;
220
263
  }
221
264
  orderMedias.push({
222
- mediaUid: uid,
265
+ mediaId: id,
223
266
  handle,
224
267
  orderNum,
225
268
  });
@@ -229,35 +272,121 @@ export async function reorderMedias(ctx, { mediaUids: uids, handle }) {
229
272
  for (const media of orderMedias) {
230
273
  await tx("PaMediaHandle")
231
274
  .where({
232
- mediaUid: media.mediaUid,
275
+ mediaId: media.mediaId,
233
276
  handle: media.handle,
234
277
  })
235
278
  .update({ orderNum: media.orderNum });
236
279
  }
237
280
  });
238
281
  }
282
+ export async function loadAttachedDataForLanguages(cn, mediaIds) {
283
+ const map = new Map();
284
+ if (mediaIds.length === 0)
285
+ return map;
286
+ const rows = await cn("PaAttachedData as d")
287
+ .select("d.mediaId", "d.language", "d.val")
288
+ .whereIn("d.mediaId", mediaIds);
289
+ for (const row of rows) {
290
+ const mediaId = strVal(row.mediaId);
291
+ const language = strVal(row.language);
292
+ const value = strVal(row.val);
293
+ let obj = map.get(mediaId);
294
+ if (!obj) {
295
+ obj = {};
296
+ map.set(mediaId, obj);
297
+ }
298
+ obj[language] = JSON.parse(value);
299
+ }
300
+ return map;
301
+ }
239
302
  function buildMediaQuery(cn, options = {}) {
240
303
  const query = cn("PaMedia as m").select([
304
+ "m.id",
241
305
  "m.mediaType",
242
- "m.uid",
243
306
  "m.resourceVersion",
244
307
  "m.modifiedTs",
245
308
  "m.weightB",
246
- "m.attachedData",
247
309
  "m.originalName",
248
- "i.height",
249
- "i.width",
310
+ "i.rawWidth",
311
+ "i.rawHeight",
312
+ "i.pixelRatio",
250
313
  "i.lossless",
251
314
  ]);
252
315
  if (options.includeBinary) {
253
316
  query.select("m.binaryFile");
254
317
  }
255
318
  if (options.onlyImage) {
256
- query.join("PaImage as i", "i.uid", "m.uid");
319
+ query.join("PaImage as i", "i.id", "m.id");
257
320
  }
258
321
  else {
259
- query.leftJoin("PaImage as i", "i.uid", "m.uid");
322
+ query.leftJoin("PaImage as i", "i.id", "m.id");
323
+ }
324
+ if (options.withAttachedData) {
325
+ query
326
+ .leftJoin("PaAttachedData as d", {
327
+ "d.mediaId": "m.id",
328
+ "d.language": cn.raw("?", [options.withAttachedData.language]),
329
+ })
330
+ .select("d.val as attachedData");
260
331
  }
261
332
  return query;
262
333
  }
334
+ function formatMediaMd(row, withAttachedData) {
335
+ if (isDef(row.rawWidth)) {
336
+ return formatImageMd(row, withAttachedData);
337
+ }
338
+ return formatFileMd(row, withAttachedData);
339
+ }
340
+ function formatFileMd(row, withAttachedData) {
341
+ return {
342
+ kind: "file",
343
+ ...formatMediaBase(row, withAttachedData),
344
+ };
345
+ }
346
+ function formatImageMd(row, withAttachedData) {
347
+ return {
348
+ kind: "image",
349
+ ...formatMediaBase(row, withAttachedData),
350
+ rawHeight: nbVal(row.rawHeight),
351
+ rawWidth: nbVal(row.rawWidth),
352
+ pixelRatio: nbValOrUndef(row.pixelRatio),
353
+ lossless: boolValOrUndef(row.lossless),
354
+ };
355
+ }
356
+ function formatMediaWithBinary(row) {
357
+ if (isDef(row.rawWidth)) {
358
+ return formatImageWithBinary(row);
359
+ }
360
+ return formatFileWithBinary(row);
361
+ }
362
+ function formatFileWithBinary(row) {
363
+ return {
364
+ ...formatFileMd(row),
365
+ binaryFile: row.binaryFile,
366
+ };
367
+ }
368
+ function formatImageWithBinary(row) {
369
+ return {
370
+ ...formatImageMd(row),
371
+ binaryFile: row.binaryFile,
372
+ };
373
+ }
374
+ function formatMediaBase(row, withAttachedData) {
375
+ let attachedData;
376
+ if (withAttachedData && row.attachedData) {
377
+ const stringified = strValOrUndef(row.attachedData);
378
+ attachedData = {
379
+ [withAttachedData.language]: stringified ? JSON.parse(stringified) : undefined,
380
+ };
381
+ }
382
+ return {
383
+ id: strVal(row.id),
384
+ resourceVersion: strVal(row.resourceVersion),
385
+ mediaType: strVal(row.mediaType),
386
+ modifiedTs: parseSqliteDateTime(row.modifiedTs),
387
+ weightB: nbVal(row.weightB),
388
+ attachedData,
389
+ originalName: strValOrUndef(row.originalName),
390
+ };
391
+ }
263
392
  //# sourceMappingURL=media.queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.queries.js","sourceRoot":"","sources":["../src/media.queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.queries.js","sourceRoot":"","sources":["../src/media.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,KAAK,EACL,KAAK,EACL,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AActE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAwB,EACxB,OAAmC;IAEnC,iFAAiF;IACjF,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,yCAAyC;IACzC,OAAO,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAC/B,GAAwB,EACxB,eAAuB,EACvB,OAAmC;IAEnC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,eAAe,cAAc,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhG,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,GAAG;SAC3B,EAAE,EAAE;SACJ,IAAI,CAAC,eAAe,CAAC;SACrB,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SAC3D,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,mCAAmC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAElE,MAAM,GAAG;aACN,EAAE,EAAE,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC;YACN,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAwB,EACxB,OAAmC;IAEnC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACzB,EAAE;YACF,eAAe;YACf,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;gBACzB,EAAE;gBACF,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;gBACpC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;aACjC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;oBAChC,OAAO,EAAE,EAAE;oBACX,QAAQ;oBACR,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,EAAQ,EAAE,MAAc;IACpD,MAAM,GAAG,GAAoB,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC;SACpD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;SACvB,GAAG,CAAC,oBAAoB,CAAC;SACzB,KAAK,EAAE,CAAQ,CAAC;IAEnB,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAQ,EACR,MAAc,EACd,gBAAkD;IAElD,MAAM,GAAG,GAAoB,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;SAC1F,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC/C,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;SACzB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;SAC9B,KAAK,CAAC,CAAC,CAAC;SACR,KAAK,EAAE,CAAC;IAEX,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAQ,EACR,MAAc,EACd,gBAAkD;IAElD,MAAM,IAAI,GAAU,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;SAChE,MAAM,CAAC,YAAY,CAAC;SACpB,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC/C,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;SACzB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,YAAY,GAAU,EAAE,CAAC;IAC/B,MAAM,kBAAkB,GAAU,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAE3D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAQ,EACR,OAAiB,EACjB,gBAAkD;IAElD,MAAM,IAAI,GAAU,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;SAChE,MAAM,CAAC,UAAU,CAAC;SAClB,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC/C,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAQ,EACR,OAAe,EACf,gBAAkD;IAElD,MAAM,GAAG,GAAoB,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;SACzE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;SACtB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAQ,EACR,MAAc,EACd,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEnF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAoB,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAQ,CAAC;IAC1D,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAAQ;IACxD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;SACpC,GAAG,CAAC,sBAAsB,CAAC;SAC3B,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACvC,KAAK,EAAE,CAAC;IAEX,OAAO,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAQ,EACR,MAAc,EACd,gBAAkD;IAElD,MAAM,GAAG,GAAoB,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;SACzE,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC/C,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;SACzB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAQ,EACR,YAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtE,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAQ,EACR,OAAe;IAEf,MAAM,GAAG,GAAoB,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC5E,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;SACtB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAQ,EAAE,MAAc;IACzD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;IAE5E,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAQ,EAAE,OAAiB;IAC7D,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/E,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAQ,EACR,EAAE,MAAM,EAAE,OAAO,EAAuC;IAExD,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAE9D,OAAO,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAAQ;IACxC,wDAAwD;IACxD,MAAM,QAAQ,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,4BAA4B;QAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAQ,EACR,EACE,OAAO,EACP,QAAQ,EACR,KAAK,GAKN;IAED,8DAA8D;IAC9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC;SACT,KAAK,CAAC;QACL,OAAO;QACP,QAAQ;KACT,CAAC;SACD,KAAK,EAAE,CAAC;IAEX,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,gDAAgD;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAQ,EACR,EACE,OAAO,EACP,UAAU,GAIX;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;SACpC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;SAC7B,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;SACzC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;SACtB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;IAE7D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9C,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAwB,EACxB,EAAE,QAAQ,EAAE,MAAM,EAAsB;IAExC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,WAAW,GAIX,EAAE,CAAC;IACT,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,MAAM,IAAI,CAAC,CAAC;YAC7E,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,EAAE;YACX,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QAEH,EAAE,QAAQ,CAAC;IACb,CAAC;IAED,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACtC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,EAAE,CAAC,eAAe,CAAC;iBACtB,KAAK,CAAC;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;iBACD,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,EAAQ,EACR,QAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEtC,MAAM,IAAI,GAAU,MAAM,EAAE,CAAC,qBAAqB,CAAC;SAChD,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;SAC1C,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,EAAQ,EACR,UAII,EAAE;IAEN,MAAM,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QACtC,MAAM;QACN,aAAa;QACb,mBAAmB;QACnB,cAAc;QACd,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,cAAc;QACd,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,KAAK;aACF,QAAQ,CAAC,qBAAqB,EAAE;YAC/B,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAC/D,CAAC;aACD,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAAQ,EAAE,gBAAkD;IACjF,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,gBAAmD;IACjF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,eAAe,CAAC,GAAG,EAAE,gBAAgB,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAQ,EAAE,gBAAmD;IAClF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,eAAe,CAAC,GAAG,EAAE,gBAAgB,CAAC;QACzC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC7B,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAQ;IACrC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IACpC,OAAO;QACL,GAAG,YAAY,CAAC,GAAG,CAAC;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAQ;IACrC,OAAO;QACL,GAAG,aAAa,CAAC,GAAG,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,GAAQ,EACR,gBAAkD;IAElD,IAAI,YAAyC,CAAC;IAC9C,IAAI,gBAAgB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,YAAY,GAAG;YACb,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QAChC,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;QAC/C,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAC3B,YAAY;QACZ,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;KAC9C,CAAC;AACJ,CAAC"}
@@ -1,18 +1,21 @@
1
+ import type { MAttachedData, WithAttachedData } from "@paroicms/public-anywhere-lib";
1
2
  export interface ReorderMediasInput {
2
3
  handle: string;
3
- mediaUids: string[];
4
+ mediaIds: string[];
5
+ withAttachedData?: WithAttachedData;
4
6
  }
5
7
  export interface NewMediaPayload {
6
8
  mediaType: string;
7
9
  weightB: number;
8
10
  binaryFile: Buffer;
9
- attachedData?: string;
11
+ attachedData?: MAttachedData;
10
12
  originalName?: string;
11
13
  image?: ImageProperties;
12
14
  }
13
15
  export interface ImageProperties {
14
- width: number;
15
- height: number;
16
+ rawWidth: number;
17
+ rawHeight: number;
18
+ pixelRatio?: number;
16
19
  lossless?: boolean;
17
20
  }
18
21
  export interface NewMediaWithHandle extends NewMediaPayload {
@@ -25,33 +28,38 @@ export type ImageConverterFn = (image: {
25
28
  mediaType: string;
26
29
  }) => Promise<{
27
30
  binaryFile: Buffer;
28
- width: number;
29
- height: number;
31
+ rawWidth: number;
32
+ rawHeight: number;
30
33
  weightB: number;
31
34
  mediaType: string;
32
35
  lossless: boolean | undefined;
33
36
  }>;
34
- export interface MediaBase {
35
- uid: string;
37
+ export interface MediaBaseMd {
38
+ id: string;
36
39
  resourceVersion: string;
37
40
  mediaType: string;
38
41
  modifiedTs: Date;
39
42
  weightB: number;
40
- attachedData?: string;
43
+ attachedData?: MAttachedData;
41
44
  originalName?: string;
42
45
  }
43
- export interface Media extends MediaBase {
44
- kind: "media";
46
+ /** Media Metadata */
47
+ export type MediaMd = FileMd | ImageMd;
48
+ export interface FileMd extends MediaBaseMd {
49
+ kind: "file";
45
50
  }
46
- export interface Image extends MediaBase {
51
+ export interface ImageMd extends MediaBaseMd {
47
52
  kind: "image";
48
- height: number;
49
- width: number;
53
+ rawHeight: number;
54
+ rawWidth: number;
55
+ pixelRatio?: number;
50
56
  lossless?: boolean;
51
57
  }
52
- export interface MediaWithBinary extends Media {
58
+ /** Media with binary */
59
+ export type MediaWithBinary = FileWithBinary | ImageWithBinary;
60
+ export interface FileWithBinary extends FileMd {
53
61
  binaryFile: Buffer;
54
62
  }
55
- export interface ImageWithBinary extends Image {
63
+ export interface ImageWithBinary extends ImageMd {
56
64
  binaryFile: Buffer;
57
65
  }