@orangelogic/design-system 2.106.0 → 2.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,443 @@
1
+ import { h as l, S as $, A as H, a as K, b as q } from "./endpoints.DBlquU2-.js";
2
+ import { M as O } from "./asset-link-format.B0c92pSs.js";
3
+ import "./debounce.CIEhztrj.js";
4
+ import "./lit-element.jLBm65_O.js";
5
+ import "./form.Ch1cwYzO.js";
6
+ import "./i18n.DmmFsjwP.js";
7
+ import { a as V } from "./string.DUgD4c9f.js";
8
+ import "./content-builder.B-bd8FaV.js";
9
+ import "./unsafe-html.Dff7-rCx.js";
10
+ import { b as Z } from "./_baseUniq.HFKneygy.js";
11
+ function z(e) {
12
+ return e && e.length ? Z(e) : [];
13
+ }
14
+ function X(e) {
15
+ return typeof e == "object" && e !== null && "URI" in e;
16
+ }
17
+ const Y = {
18
+ artist: "Artist",
19
+ color: "Color",
20
+ createDate: "CreateDate",
21
+ docSubType: "DocSubType",
22
+ docType: "DocType",
23
+ editDate: "EditDate",
24
+ fileExtension: "Fileextension",
25
+ keyword: "Keyword",
26
+ mediaDate: "MediaDate",
27
+ mediaNumber: "MediaNumber",
28
+ nativeKeyword: "NativeKeyword",
29
+ orientation: "Orientation",
30
+ parentFolderIdentifier: "ParentFolderIdentifier",
31
+ path: "Path",
32
+ photographer: "Photographer",
33
+ purpose: "Purpose",
34
+ recordId: "RecordID",
35
+ systemIdentifier: "SystemIdentifier",
36
+ text: "Text",
37
+ title: "Title"
38
+ }, Q = /* @__PURE__ */ new Set(["mediaDate", "createDate", "editDate"]);
39
+ function J(e) {
40
+ return !/[\s&+/*"\\:(),'<>~|[\]{}]/.test(e) && !/^(?:OR|AND|NOT)$/.test(e) ? e : `"${e.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
41
+ }
42
+ function P(e, t) {
43
+ const r = (Array.isArray(t) ? t : [t]).map((i) => `${e}:${J(i)}`);
44
+ return r.length > 1 ? `(${r.join(" OR ")})` : r[0] ?? "";
45
+ }
46
+ function ee(e, t) {
47
+ return (Array.isArray(t) ? t : [t]).map((r) => `${e}${r.operator}${r.value}`).join(" AND ");
48
+ }
49
+ function te(e) {
50
+ const t = [];
51
+ for (const o of Object.keys(e)) {
52
+ const r = o, i = e[r];
53
+ if (i == null)
54
+ continue;
55
+ if (r === "custom") {
56
+ for (const [s, f] of Object.entries(
57
+ i
58
+ ))
59
+ t.push(P(s, f));
60
+ continue;
61
+ }
62
+ const u = Y[r];
63
+ if (u) {
64
+ if (Q.has(r)) {
65
+ t.push(
66
+ ee(u, i)
67
+ );
68
+ continue;
69
+ }
70
+ if (r === "color") {
71
+ t.push(`${u}:${i}`);
72
+ continue;
73
+ }
74
+ t.push(P(u, i));
75
+ }
76
+ }
77
+ return t.join(" AND ");
78
+ }
79
+ function D(e) {
80
+ if ("and" in e)
81
+ return e.and.map(D).filter(Boolean).join(" AND ");
82
+ if ("or" in e) {
83
+ const t = e.or.map(D).filter(Boolean);
84
+ return t.length > 1 ? `(${t.join(" OR ")})` : t[0] ?? "";
85
+ }
86
+ if ("not" in e) {
87
+ const t = D(e.not);
88
+ return t ? `NOT (${t})` : "";
89
+ }
90
+ return te(e);
91
+ }
92
+ const S = "CoreField.LargeSizePreview", b = "CoreField.DocType", re = "Document.Title", oe = "Document.CaptionLong", M = "Document.FileExtension", G = "CoreField.FileSize", U = "CoreField.Identifier", v = "CoreField.Keywords", j = "CoreField.MaxHeight", W = "CoreField.MaxWidth", T = "Document.RecordID", w = "CoreField.DocSubType", x = "CoreField.TitleWithFallback", h = "CoreField.OriginalFileName", y = "CoreField.UpdatedFileName", A = "CoreField.OriginalPreview", L = {
93
+ DEFAULT_VIEW_SIZE: "Document.LargeSizePreview",
94
+ FIELD_TITLE_WITH_FALLBACK: "Document.TitleWithFallback",
95
+ ORIGINAL_VIEW_SIZE: "Document.OriginalPreview"
96
+ }, k = {
97
+ [S]: L.DEFAULT_VIEW_SIZE,
98
+ [x]: L.FIELD_TITLE_WITH_FALLBACK,
99
+ [A]: L.ORIGINAL_VIEW_SIZE
100
+ }, ne = Object.fromEntries(
101
+ Object.entries(k).map(([e, t]) => [
102
+ t,
103
+ e
104
+ ])
105
+ );
106
+ function se(e) {
107
+ return k[e] ?? e;
108
+ }
109
+ function ae(e) {
110
+ const t = {};
111
+ for (const [o, r] of Object.entries(e)) {
112
+ const i = ne[o] ?? o;
113
+ t[i] = r;
114
+ }
115
+ return t;
116
+ }
117
+ async function B({
118
+ cms5Token: e,
119
+ countPerPage: t,
120
+ fields: o,
121
+ getPermanentAssetsPaths: r,
122
+ pageNumber: i,
123
+ query: u,
124
+ siteUrl: s,
125
+ sort: f,
126
+ token: m,
127
+ useSession: I
128
+ }) {
129
+ const E = o?.map(se);
130
+ try {
131
+ return (await l.request({
132
+ baseURL: s,
133
+ headers: m ? { Authorization: `Bearer ${m}` } : void 0,
134
+ method: "GET",
135
+ params: {
136
+ CMS5Token: e || void 0,
137
+ CountPerPage: t,
138
+ Fields: z(E),
139
+ Format: "json",
140
+ GetPermanentAssetsPaths: r || void 0,
141
+ PageNumber: i,
142
+ Query: D(u),
143
+ Sort: f || void 0,
144
+ UseSession: I || void 0
145
+ },
146
+ paramsSerializer: { indexes: null },
147
+ responseType: "json",
148
+ transformResponse: [
149
+ ...Array.isArray(l.defaults.transformResponse) ? l.defaults.transformResponse : [],
150
+ (n) => ({
151
+ items: (n.APIResponse?.Items ?? []).map(ae),
152
+ sort: n.APIResponse?.GlobalInfo?.Sort ?? "",
153
+ totalCount: n.APIResponse?.GlobalInfo?.TotalCount ?? 0
154
+ })
155
+ ],
156
+ url: $["4.0"]
157
+ })).data;
158
+ } catch {
159
+ return { items: [], sort: "", totalCount: 0 };
160
+ }
161
+ }
162
+ async function De({
163
+ assetId: e,
164
+ extension: t,
165
+ format: o,
166
+ siteUrl: r,
167
+ token: i,
168
+ transformations: u,
169
+ useSession: s
170
+ }) {
171
+ try {
172
+ return (await l.request({
173
+ baseURL: r,
174
+ method: "GET",
175
+ params: {
176
+ SourceAssetFormat: o,
177
+ SourceAssetRecordID: e,
178
+ TargetExtension: V(t),
179
+ Token: i || void 0,
180
+ Transformations: u,
181
+ UseSession: s || void 0
182
+ },
183
+ /**
184
+ * https://link.orangelogic.com/Tasks/41S1XH
185
+ */
186
+ timeout: 3e5,
187
+ // 5 minutes
188
+ url: H.GET_TRANSFORM_ASSET_LINK
189
+ })).data;
190
+ } catch {
191
+ return null;
192
+ }
193
+ }
194
+ const ie = 50;
195
+ function ce(e, t) {
196
+ const o = [];
197
+ for (let r = 0; r < e.length; r += t)
198
+ o.push(e.slice(r, r + t));
199
+ return o;
200
+ }
201
+ async function Te({
202
+ cms5Token: e,
203
+ extraFields: t,
204
+ getPermanentAssetsPaths: o,
205
+ recordIds: r,
206
+ token: i
207
+ }) {
208
+ if (!Array.isArray(r) || r.length === 0)
209
+ return { facets: [], items: [], totalCount: 0 };
210
+ const u = t?.filter((n) => n && typeof n == "string") ?? [], s = [
211
+ ...u,
212
+ A,
213
+ y,
214
+ h,
215
+ re,
216
+ oe,
217
+ T
218
+ ], f = ce(r, ie), m = await Promise.all(
219
+ f.map(
220
+ (n) => B({
221
+ cms5Token: e,
222
+ countPerPage: n.length,
223
+ fields: s,
224
+ getPermanentAssetsPaths: o,
225
+ pageNumber: 1,
226
+ query: { recordId: n },
227
+ token: i
228
+ })
229
+ )
230
+ ), I = new Map(r.map((n, d) => [n, d])), E = m.flatMap((n) => n.items).map((n) => {
231
+ let d = c(n, y);
232
+ return d === "" && (d = c(n, h)), {
233
+ name: d,
234
+ originalUrl: c(n, A),
235
+ recordId: c(n, T),
236
+ ...u.reduce(
237
+ (a, p) => (a[p] = c(n, p), a),
238
+ {}
239
+ )
240
+ };
241
+ }).sort(
242
+ (n, d) => (I.get(n.recordId) ?? 1 / 0) - (I.get(d.recordId) ?? 1 / 0)
243
+ ), _ = m.reduce(
244
+ (n, d) => n + d.totalCount,
245
+ 0
246
+ );
247
+ return { facets: [], items: E, totalCount: _ };
248
+ }
249
+ function c(e, t) {
250
+ const o = e[t];
251
+ return o == null ? "" : typeof o == "string" ? o : typeof o == "number" || typeof o == "boolean" ? String(o) : X(o) ? o.URI : "";
252
+ }
253
+ async function he({
254
+ cms5Token: e,
255
+ countPerPage: t,
256
+ extraFields: o,
257
+ getPermanentAssetsPaths: r,
258
+ limitedDocTypes: i,
259
+ pageNumber: u,
260
+ parentFolderIdentifier: s,
261
+ searchTerm: f,
262
+ sortOrder: m,
263
+ token: I
264
+ }) {
265
+ if (!s)
266
+ return { facets: [], items: [], totalCount: 0 };
267
+ const E = (o?.filter((a) => a && typeof a == "string") ?? []).map((a) => a.replace("%20", " ")), _ = {
268
+ parentFolderIdentifier: s,
269
+ ...i.length > 0 ? { docType: [O.Image, O.Audio] } : {}
270
+ }, n = await B({
271
+ cms5Token: e,
272
+ countPerPage: t,
273
+ fields: [
274
+ ...E,
275
+ x,
276
+ S,
277
+ A,
278
+ v,
279
+ W,
280
+ j,
281
+ G,
282
+ b,
283
+ w,
284
+ U,
285
+ M,
286
+ T,
287
+ h,
288
+ y
289
+ ],
290
+ getPermanentAssetsPaths: r,
291
+ pageNumber: u,
292
+ query: _,
293
+ sort: void 0,
294
+ token: I
295
+ }), d = n.items.map((a) => {
296
+ let p = c(a, M), F = c(a, y), C = c(a, S);
297
+ p && !p.startsWith(".") && (p = "." + p), F === "" && (F = c(a, h)), p.toLowerCase() === ".gif" && (C = c(a, A));
298
+ const g = c(a, T);
299
+ return {
300
+ docSubType: c(a, w),
301
+ docType: c(a, b) || "",
302
+ extension: p,
303
+ height: c(a, j) || "0",
304
+ id: g,
305
+ identifier: c(a, U),
306
+ imageUrl: C,
307
+ name: F,
308
+ originalUrl: c(a, A),
309
+ recordId: g,
310
+ size: c(a, G) || "0 MB",
311
+ tags: c(a, v),
312
+ width: c(a, W) || "0",
313
+ ...E.reduce(
314
+ (N, R) => (N[R] = c(a, R), N),
315
+ {}
316
+ )
317
+ };
318
+ });
319
+ return {
320
+ facets: [],
321
+ items: d,
322
+ totalCount: n.totalCount
323
+ };
324
+ }
325
+ async function ye({
326
+ autoCropMode: e,
327
+ cropHeight: t,
328
+ cropWidth: o,
329
+ imageUrl: r,
330
+ useSession: i
331
+ }) {
332
+ try {
333
+ return (await l.request({
334
+ method: "GET",
335
+ params: {
336
+ AutoCropMode: e,
337
+ CropHeight: t,
338
+ CropWidth: o,
339
+ ImageUrl: r && new URL(r, window.location.origin).href,
340
+ UseSession: i || void 0
341
+ },
342
+ responseType: "json",
343
+ timeout: 3e5,
344
+ // 5 minutes
345
+ transformResponse: [
346
+ ...Array.isArray(l.defaults.transformResponse) ? l.defaults.transformResponse : [],
347
+ (s) => ({
348
+ height: s.cropHeight,
349
+ width: s.cropWidth,
350
+ x: s.cropX,
351
+ y: s.cropY
352
+ })
353
+ ],
354
+ url: H.GET_CROP_ZONE_SUGGESTION
355
+ })).data;
356
+ } catch {
357
+ return null;
358
+ }
359
+ }
360
+ async function Fe({
361
+ assetRecordId: e,
362
+ siteUrl: t,
363
+ token: o,
364
+ useSession: r
365
+ }) {
366
+ try {
367
+ return (await l.request({
368
+ baseURL: t,
369
+ method: "GET",
370
+ params: {
371
+ RecordId: e,
372
+ Token: o,
373
+ UseSession: r || void 0
374
+ },
375
+ responseType: "json",
376
+ transformResponse: [
377
+ ...Array.isArray(l.defaults.transformResponse) ? l.defaults.transformResponse : [],
378
+ (u) => !u || typeof u != "object" ? [] : u.proxies?.map((s) => ({
379
+ cdnName: s.cdnName,
380
+ extension: s.extension,
381
+ formatHeight: s.formatHeight,
382
+ formatWidth: s.formatWidth,
383
+ height: s.height,
384
+ permanentLink: s.permanentLink,
385
+ proxyLabel: s.proxyLabel,
386
+ proxyName: s.proxyName,
387
+ width: s.width
388
+ })) ?? []
389
+ ],
390
+ url: q
391
+ })).data;
392
+ } catch {
393
+ return [];
394
+ }
395
+ }
396
+ async function Le({
397
+ siteUrl: e
398
+ } = {}) {
399
+ try {
400
+ return (await l.request({
401
+ baseURL: e,
402
+ method: "GET",
403
+ responseType: "json",
404
+ transformResponse: [
405
+ ...Array.isArray(l.defaults.transformResponse) ? l.defaults.transformResponse : [],
406
+ (o) => !o || typeof o != "object" ? {
407
+ formatsByDocType: {
408
+ Audio: {},
409
+ Image: {},
410
+ Multimedia: {},
411
+ Video: {}
412
+ }
413
+ } : {
414
+ formatsByDocType: o.formatsByDocType ?? {}
415
+ }
416
+ ],
417
+ url: K
418
+ })).data;
419
+ } catch {
420
+ return { formatsByDocType: {} };
421
+ }
422
+ }
423
+ export {
424
+ S as D,
425
+ T as F,
426
+ A as O,
427
+ Te as a,
428
+ De as b,
429
+ ye as c,
430
+ Le as d,
431
+ B as e,
432
+ he as f,
433
+ j as g,
434
+ W as h,
435
+ X as i,
436
+ b as j,
437
+ M as k,
438
+ U as l,
439
+ Fe as m,
440
+ G as n,
441
+ w as o,
442
+ z as u
443
+ };
@@ -30,7 +30,7 @@ import { n as N } from "./when.Dr1es41R.js";
30
30
  import { t as Q } from "./toString.CAY8lys2.js";
31
31
  import { C as ee } from "./icon-button.CHh2iNJJ.js";
32
32
  import { C as ae } from "./image.DdtDzup6.js";
33
- import { a as te } from "./asset.Tjoo0ngC.js";
33
+ import { a as te } from "./asset.BKBJqVqY.js";
34
34
  import { a as ie } from "./index.Cpamj0jB.js";
35
35
  import { A as g } from "./content-builder.B-bd8FaV.js";
36
36
  import { b as ne, t as I } from "./string.DUgD4c9f.js";
@@ -3,7 +3,7 @@ import { C as B } from "../chunks/button.CZ-e_TGN.js";
3
3
  import _ from "./space.js";
4
4
  import { C as F } from "../chunks/typography.DJC_UXgs.js";
5
5
  import { n, C as W } from "../chunks/lib-cortex-element.CVMmyPMC.js";
6
- import { b as rt, c as ht } from "../chunks/asset.Tjoo0ngC.js";
6
+ import { b as rt, c as ht } from "../chunks/asset.BKBJqVqY.js";
7
7
  import { c as E } from "../chunks/component.styles.CRO4Odto.js";
8
8
  import { U as a, T as l } from "../chunks/asset-link-format.B0c92pSs.js";
9
9
  import { c as N } from "../chunks/custom-element.L4WJXn1j.js";
@@ -18,7 +18,7 @@ import "../chunks/custom-element.L4WJXn1j.js";
18
18
  import "../chunks/debounce.CIEhztrj.js";
19
19
  import "../chunks/i18n.DmmFsjwP.js";
20
20
  import "../chunks/watch.CThbualB.js";
21
- import { c as E, C as F } from "../chunks/list-editor.DKEh6VBL.js";
21
+ import { c as E, C as F } from "../chunks/list-editor.31MoHk3A.js";
22
22
  import "../chunks/lit-element.jLBm65_O.js";
23
23
  import "../chunks/state.CSDxrqLd.js";
24
24
  import "../chunks/query.BBf1UFkC.js";
@@ -6,7 +6,7 @@ import { default as u } from "./corner-position-input-group.js";
6
6
  import { C as m } from "../chunks/cropper.CMfBGsNv.js";
7
7
  import { default as i } from "./dynamic-select.js";
8
8
  import { C as c } from "../chunks/folder-select.EVuyDx55.js";
9
- import { C as P } from "../chunks/list-editor.DKEh6VBL.js";
9
+ import { C as P } from "../chunks/list-editor.31MoHk3A.js";
10
10
  import { default as I } from "./masonry.js";
11
11
  import { default as y } from "./padding-input-group.js";
12
12
  import { default as w } from "./position-picker.js";