@orangelogic/design-system 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/library/chunks/{asset-link-format.BnIUG_vO.js → asset-link-format.SaFYESLe.js} +1148 -1001
  2. package/library/chunks/{color-swatch-group.CTcv62MK.js → color-swatch-group.Bu1ev_Af.js} +2 -2
  3. package/library/chunks/{document-viewer.D6PxGcEL.js → document-viewer.hfxnrrUV.js} +3 -3
  4. package/library/chunks/{image.B-4cVbol.js → image.ysU1iW6e.js} +1 -1
  5. package/library/chunks/{menu-item.DgUMVYe5.js → menu-item.uFqeX_J6.js} +12 -12
  6. package/library/chunks/{tab-group.BSl6GdIO.js → tab-group.CdTSrsM1.js} +1 -1
  7. package/library/chunks/transformation.BfIEi4p4.js +300 -0
  8. package/library/components/asset-link-format.js +2 -2
  9. package/library/components/atoms.js +4 -4
  10. package/library/components/color-swatch-group.js +1 -1
  11. package/library/components/cropper.js +1 -1
  12. package/library/components/document-viewer.js +2 -2
  13. package/library/components/file-on-demand.js +1 -1
  14. package/library/components/image.js +1 -1
  15. package/library/components/masonry.js +65 -49
  16. package/library/components/menu-item.js +1 -1
  17. package/library/components/menu-section.js +16 -13
  18. package/library/components/menu.js +1 -1
  19. package/library/components/organisms.js +2 -2
  20. package/library/components/tab-group.js +2 -2
  21. package/library/components/types.js +22307 -22153
  22. package/library/components/video.js +1 -1
  23. package/library/package.json +1 -1
  24. package/library/packages/atoms/src/components/image/image.d.ts +6 -0
  25. package/library/packages/atoms/src/components/menu-section/menu-section.d.ts +1 -0
  26. package/library/packages/events/src/cx-asset-transformation-dialog-confirm.d.ts +2 -0
  27. package/library/packages/molecules/src/asset-picker/asset-picker.d.ts +20 -1
  28. package/library/packages/molecules/src/cropper/cropper.d.ts +0 -1
  29. package/library/packages/molecules/src/cropper/react/Cropper.d.ts +0 -1
  30. package/library/packages/molecules/src/masonry/masonry.d.ts +15 -0
  31. package/library/packages/molecules/src/view-and-sort/view-and-sort.d.ts +2 -0
  32. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +46 -2
  33. package/library/packages/organisms/src/asset-link-format/components/asset-link-format-proxy/asset-link-format-proxy.d.ts +36 -1
  34. package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +20 -2
  35. package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +13 -0
  36. package/library/packages/organisms/src/carousel/carousel.d.ts +13 -0
  37. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +54 -0
  38. package/library/packages/organisms/src/content-builder/blocks/video/video.d.ts +5 -0
  39. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +2 -1
  40. package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +6 -0
  41. package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +1 -0
  42. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +1 -0
  43. package/library/packages/organisms/src/content-builder/configs/image.d.ts +2 -0
  44. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
  45. package/library/packages/organisms/src/content-builder/configs/video.d.ts +1 -0
  46. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +10 -0
  47. package/library/packages/organisms/src/content-builder/styleController.d.ts +2 -0
  48. package/library/packages/tools/src/fetch-image/fetch-image.d.ts +28 -5
  49. package/library/packages/types/src/asset-link-format.d.ts +0 -1
  50. package/library/packages/types/src/content-builder.d.ts +7 -0
  51. package/library/packages/types/src/gallery-item.d.ts +1 -0
  52. package/library/packages/types/src/masonry.d.ts +1 -0
  53. package/library/packages/utils/src/transformation/transformation.d.ts +42 -3
  54. package/library/react-web-component.d.ts +55 -7
  55. package/library/utils.js +113 -109
  56. package/package.json +1 -1
  57. package/library/chunks/transformation.CWKaoGaY.js +0 -254
  58. package/library/packages/types/src/download-format-picker.d.ts +0 -7
@@ -2,44 +2,44 @@ import "../components/cropper.js";
2
2
  import { C as Z } from "./button.CpY4FCwE.js";
3
3
  import L from "../components/space.js";
4
4
  import { C as U } from "./typography.IqHbnd3C.js";
5
- import { n as l, C as B } from "./lib-cortex-element.CVMmyPMC.js";
6
- import { h as I, a as Nt, C as Ot, S as jt, b as Vt, c as Gt, d as Qt } from "./endpoints.mJ5S-tIs.js";
7
- import { M as $t, U as o, T as m } from "./asset-link-format.ClaYu_v8.js";
5
+ import { n as h, C as B } from "./lib-cortex-element.CVMmyPMC.js";
6
+ import { h as I, a as Wt, C as Dt, S as Gt, b as Qt, c as Kt, d as Xt } from "./endpoints.mJ5S-tIs.js";
8
7
  import "./browser.BHOCIF_A.js";
9
- import { i as q, x as A, E as Xt } from "./lit-element.jLBm65_O.js";
8
+ import { i as q, x as C, E as Nt } from "./lit-element.jLBm65_O.js";
10
9
  import "./form.DSsy3Fcy.js";
11
10
  import { L as j } from "./i18n.BA19xtyU.js";
12
- import { a as Kt } from "./string.CfI2ejyR.js";
11
+ import { a as Zt } from "./string.CfI2ejyR.js";
13
12
  import "./date-picker.BGHn6qg8.js";
14
13
  import "./content-builder.BX4pHujE.js";
15
14
  import "./unsafe-html.Dff7-rCx.js";
16
- import { a as Pt, c as rt } from "./transformation.CWKaoGaY.js";
17
- import { b as Zt } from "./_baseUniq.lwMgmtt2.js";
15
+ import { a as $t, r as Ot, c as rt } from "./transformation.BfIEi4p4.js";
16
+ import { b as Yt } from "./_baseUniq.lwMgmtt2.js";
18
17
  import { c as V } from "./component.styles.CRO4Odto.js";
19
- import { v as Yt } from "./v4.CKZ6klMF.js";
20
- import { P as W } from "./position-picker.DjnhxIKF.js";
18
+ import { v as Jt } from "./v4.CKZ6klMF.js";
19
+ import { U as r, T as m } from "./asset-link-format.ClaYu_v8.js";
20
+ import { P as D } from "./position-picker.DjnhxIKF.js";
21
21
  import { c as G } from "./custom-element.L4WJXn1j.js";
22
- import { w as _ } from "./watch.DJF5K-8U.js";
23
- import { s as _t, a as nt } from "./number.Cx2ncfJJ.js";
24
- import { r as R } from "./state.CSDxrqLd.js";
25
- import { n as M } from "./when.Dr1es41R.js";
22
+ import { w as P } from "./watch.DJF5K-8U.js";
23
+ import { s as Ft, a as nt } from "./number.Cx2ncfJJ.js";
24
+ import { r as b } from "./state.CSDxrqLd.js";
25
+ import { n as _ } from "./when.Dr1es41R.js";
26
26
  import et from "../components/details.js";
27
- import Jt from "../components/divider.js";
27
+ import Lt from "../components/divider.js";
28
28
  import { C as it } from "./icon.CpHbi8tH.js";
29
- import { C as vt } from "./icon-button.BWJ1Vqn5.js";
30
- import { C as bt } from "./input.xgeLCG8I.js";
29
+ import { C as bt } from "./icon-button.BWJ1Vqn5.js";
30
+ import { C as kt } from "./input.xgeLCG8I.js";
31
31
  import { C as gt } from "./option.jeaj7_Lr.js";
32
32
  import xt from "../components/select.js";
33
33
  import te from "../components/position-picker.js";
34
34
  import { c as ee } from "./image.Y5c_hFx8.js";
35
35
  import { e as Y } from "./query.BBf1UFkC.js";
36
- import { c as ot } from "./repeat.CFjcER6_.js";
37
- import { o as D } from "./style-map.llVFPd__.js";
38
- import Lt from "../components/tooltip.js";
36
+ import { c as at } from "./repeat.CFjcER6_.js";
37
+ import { o as N } from "./style-map.llVFPd__.js";
38
+ import Ut from "../components/tooltip.js";
39
39
  import ie from "../components/button-group.js";
40
40
  import se from "../components/checkbox.js";
41
41
  function ae(t) {
42
- return t && t.length ? Zt(t) : [];
42
+ return t && t.length ? Yt(t) : [];
43
43
  }
44
44
  function oe(t) {
45
45
  return typeof t == "object" && t !== null && "URI" in t;
@@ -70,7 +70,7 @@ const re = {
70
70
  function zt(t) {
71
71
  return !/[\s&+/*"\\:(),'<>~|[\]{}]/.test(t) && !/^(?:OR|AND|NOT)$/.test(t) ? t : `"${t.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
72
72
  }
73
- function Ft(t, e) {
73
+ function _t(t, e) {
74
74
  const s = (Array.isArray(e) ? e : [e]).map((a) => `${t}:${zt(a)}`);
75
75
  return s.length > 1 ? `(${s.join(" OR ")})` : s[0] ?? "";
76
76
  }
@@ -84,36 +84,36 @@ function le(t) {
84
84
  if (a == null)
85
85
  continue;
86
86
  if (s === "custom") {
87
- for (const [n, h] of Object.entries(
87
+ for (const [n, l] of Object.entries(
88
88
  a
89
89
  ))
90
- e.push(Ft(n, h));
90
+ e.push(_t(n, l));
91
91
  continue;
92
92
  }
93
- const r = re[s];
94
- if (r) {
93
+ const o = re[s];
94
+ if (o) {
95
95
  if (ne.has(s)) {
96
96
  e.push(
97
- he(r, a)
97
+ he(o, a)
98
98
  );
99
99
  continue;
100
100
  }
101
101
  if (s === "color") {
102
- e.push(`${r}:${a}`);
102
+ e.push(`${o}:${a}`);
103
103
  continue;
104
104
  }
105
105
  if (s === "parentFolderIdentifier") {
106
106
  const n = Array.isArray(a) ? a : [a];
107
107
  if (n.length === 0)
108
108
  continue;
109
- const h = [
110
- ...n.map((p) => `ParentFolderIdentifier:${zt(String(p))}`),
111
- ...n.map((p) => `ParentAlbumIdentifier:${zt(String(p))}`)
109
+ const l = [
110
+ ...n.map((d) => `ParentFolderIdentifier:${zt(String(d))}`),
111
+ ...n.map((d) => `ParentAlbumIdentifier:${zt(String(d))}`)
112
112
  ];
113
- e.push(`(${h.join(" OR ")})`);
113
+ e.push(`(${l.join(" OR ")})`);
114
114
  continue;
115
115
  }
116
- e.push(Ft(r, a));
116
+ e.push(_t(o, a));
117
117
  }
118
118
  }
119
119
  return e.join(" AND ");
@@ -131,96 +131,96 @@ function ht(t) {
131
131
  }
132
132
  return le(t);
133
133
  }
134
- const wt = "CoreField.LargeSizePreview", lt = "CoreField.DocType", ce = "Document.Title", pe = "Document.CaptionLong", ct = "Document.FileExtension", Mt = "CoreField.FileSize", It = "CoreField.Identifier", Et = "CoreField.Keywords", pt = "CoreField.MaxHeight", dt = "CoreField.MaxWidth", ut = "Document.RecordID", Tt = "CoreField.DocSubType", Ut = "CoreField.TitleWithFallback", mt = "CoreField.OriginalFileName", ft = "CoreField.UpdatedFileName", tt = "CoreField.OriginalPreview", Mi = "Document.DocSubType", Ii = "Document.InPoint", Ei = "Document.OutPoint", Ct = {
134
+ const ce = "CoreField.LargeSizePreview", lt = "CoreField.DocType", pe = "Document.Title", de = "Document.CaptionLong", ot = "Document.FileExtension", ct = "CoreField.FileSize", Mt = "CoreField.Identifier", It = "CoreField.Keywords", pt = "CoreField.MaxHeight", dt = "CoreField.MaxWidth", ut = "Document.RecordID", Et = "CoreField.DocSubType", Bt = "CoreField.TitleWithFallback", mt = "CoreField.OriginalFileName", ft = "CoreField.UpdatedFileName", ue = "CoreField.OriginalPreview", Hi = "Document.DocSubType", Ti = "Document.InPoint", Wi = "Document.OutPoint", St = {
135
135
  DEFAULT_VIEW_SIZE: "Document.LargeSizePreview",
136
136
  FIELD_TITLE_WITH_FALLBACK: "Document.TitleWithFallback",
137
137
  ORIGINAL_VIEW_SIZE: "Document.OriginalPreview"
138
- }, Bt = {
139
- [wt]: Ct.DEFAULT_VIEW_SIZE,
140
- [Ut]: Ct.FIELD_TITLE_WITH_FALLBACK,
141
- [tt]: Ct.ORIGINAL_VIEW_SIZE
142
- }, de = Object.fromEntries(
143
- Object.entries(Bt).map(([t, e]) => [
138
+ }, qt = {
139
+ [ce]: St.DEFAULT_VIEW_SIZE,
140
+ [Bt]: St.FIELD_TITLE_WITH_FALLBACK,
141
+ [ue]: St.ORIGINAL_VIEW_SIZE
142
+ }, me = Object.fromEntries(
143
+ Object.entries(qt).map(([t, e]) => [
144
144
  e,
145
145
  t
146
146
  ])
147
147
  );
148
- function ue(t) {
149
- return Bt[t] ?? t;
148
+ function fe(t) {
149
+ return qt[t] ?? t;
150
150
  }
151
151
  function Ht(t) {
152
152
  const e = {};
153
153
  for (const [i, s] of Object.entries(t)) {
154
- const a = de[i] ?? i;
154
+ const a = me[i] ?? i;
155
155
  e[a] = s;
156
156
  }
157
157
  return e;
158
158
  }
159
- function me(t) {
159
+ function ge(t) {
160
160
  const e = new URLSearchParams();
161
161
  for (const [i, s] of Object.entries(t))
162
162
  s != null && (Array.isArray(s) ? s.forEach((a) => e.append(i, String(a))) : e.append(i, String(s)));
163
163
  return e;
164
164
  }
165
- async function qt({
165
+ async function jt({
166
166
  countPerPage: t,
167
167
  fields: e,
168
168
  getPermanentAssetsPaths: i,
169
169
  httpMethod: s = "GET",
170
170
  isSiteBuilder: a,
171
- pageNumber: r,
171
+ pageNumber: o,
172
172
  query: n,
173
- securityByPassToken: h,
174
- siteUrl: p,
175
- sort: f,
173
+ securityByPassToken: l,
174
+ siteUrl: d,
175
+ sort: g,
176
176
  token: c,
177
- useSession: g
177
+ useSession: S
178
178
  }) {
179
- const y = e?.map(ue), d = {
179
+ const A = e?.map(fe), p = {
180
180
  CountPerPage: t,
181
- Fields: ae(y),
181
+ Fields: ae(A),
182
182
  Format: "json",
183
183
  GetPermanentAssetsPaths: i || void 0,
184
- PageNumber: r,
184
+ PageNumber: o,
185
185
  Query: ht(n),
186
- SecurityByPassToken: h || void 0,
187
- Sort: f || void 0,
188
- UseSession: g || void 0
189
- }, z = s === "POST";
186
+ SecurityByPassToken: l || void 0,
187
+ Sort: g || void 0,
188
+ UseSession: S || void 0
189
+ }, y = s === "POST";
190
190
  try {
191
191
  return (await I.request({
192
- baseURL: p,
192
+ baseURL: d,
193
193
  headers: c ? { Authorization: `Bearer ${c}` } : void 0,
194
194
  method: s,
195
195
  // POST large RecordID queries as a urlencoded body to dodge the ~2KB URL cap;
196
196
  // GET keeps the same fields on the query string.
197
- ...z ? { data: me(d) } : { params: d, paramsSerializer: { indexes: null } },
197
+ ...y ? { data: ge(p) } : { params: p, paramsSerializer: { indexes: null } },
198
198
  responseType: "json",
199
199
  transformResponse: [
200
200
  ...Array.isArray(I.defaults.transformResponse) ? I.defaults.transformResponse : [],
201
- a ? (u) => ({
202
- items: (u.results?.Items ?? []).map(Ht),
203
- sort: u.results?.GlobalInfo?.Sort ?? "",
204
- totalCount: u.results?.GlobalInfo?.TotalCount ?? 0
205
- }) : (u) => ({
206
- items: (u.APIResponse?.Items ?? []).map(Ht),
207
- sort: u.APIResponse?.GlobalInfo?.Sort ?? "",
208
- totalCount: u.APIResponse?.GlobalInfo?.TotalCount ?? 0
201
+ a ? (f) => ({
202
+ items: (f.results?.Items ?? []).map(Ht),
203
+ sort: f.results?.GlobalInfo?.Sort ?? "",
204
+ totalCount: f.results?.GlobalInfo?.TotalCount ?? 0
205
+ }) : (f) => ({
206
+ items: (f.APIResponse?.Items ?? []).map(Ht),
207
+ sort: f.APIResponse?.GlobalInfo?.Sort ?? "",
208
+ totalCount: f.APIResponse?.GlobalInfo?.TotalCount ?? 0
209
209
  })
210
210
  ],
211
- url: a ? Ot.SEARCH_ASSETS : jt["4.0"]
211
+ url: a ? Dt.SEARCH_ASSETS : Gt["4.0"]
212
212
  })).data;
213
213
  } catch {
214
214
  return { items: [], sort: "", totalCount: 0 };
215
215
  }
216
216
  }
217
- async function fe({
217
+ async function xe({
218
218
  assetId: t,
219
219
  extension: e,
220
220
  format: i,
221
221
  siteUrl: s,
222
222
  token: a,
223
- transformations: r,
223
+ transformations: o,
224
224
  useSession: n
225
225
  }) {
226
226
  try {
@@ -230,9 +230,9 @@ async function fe({
230
230
  params: {
231
231
  SourceAssetFormat: i,
232
232
  SourceAssetRecordID: t,
233
- TargetExtension: Kt(e),
233
+ TargetExtension: Zt(e),
234
234
  Token: a || void 0,
235
- Transformations: r,
235
+ Transformations: o,
236
236
  UseSession: n || void 0
237
237
  },
238
238
  /**
@@ -240,109 +240,105 @@ async function fe({
240
240
  */
241
241
  timeout: 3e5,
242
242
  // 5 minutes
243
- url: Nt.GET_TRANSFORM_ASSET_LINK
243
+ url: Wt.GET_TRANSFORM_ASSET_LINK
244
244
  })).data;
245
245
  } catch {
246
246
  return null;
247
247
  }
248
248
  }
249
- const ge = 50;
250
- function xe(t, e) {
249
+ const ye = 50;
250
+ function Se(t, e) {
251
251
  const i = [];
252
252
  for (let s = 0; s < t.length; s += e)
253
253
  i.push(t.slice(s, s + e));
254
254
  return i;
255
255
  }
256
- async function ye({
256
+ async function Ae({
257
257
  extraFields: t,
258
258
  getPermanentAssetsPaths: e,
259
259
  isSiteBuilder: i,
260
260
  recordIds: s,
261
261
  securityByPassToken: a,
262
- token: r
262
+ token: o
263
263
  }) {
264
264
  if (!Array.isArray(s) || s.length === 0)
265
265
  return { facets: [], items: [], totalCount: 0 };
266
- const n = t?.filter((d) => d && typeof d == "string") ?? [], h = [
266
+ const n = t?.filter((p) => p && typeof p == "string") ?? [], l = [
267
267
  ...n,
268
- tt,
269
268
  ft,
270
269
  mt,
271
- ce,
272
270
  pe,
271
+ de,
273
272
  ut
274
- ], p = xe(s, ge), f = await Promise.all(
275
- p.map(
276
- (d) => qt({
277
- countPerPage: d.length,
278
- fields: h,
273
+ ], d = Se(s, ye), g = await Promise.all(
274
+ d.map(
275
+ (p) => jt({
276
+ countPerPage: p.length,
277
+ fields: l,
279
278
  getPermanentAssetsPaths: e,
280
279
  httpMethod: i ? "GET" : "POST",
281
280
  isSiteBuilder: i,
282
281
  pageNumber: 1,
283
- query: { recordId: d },
282
+ query: { recordId: p },
284
283
  securityByPassToken: a,
285
- token: r
284
+ token: o
286
285
  })
287
286
  )
288
- ), c = new Map(s.map((d, z) => [d, z])), g = f.flatMap((d) => d.items).map((d) => {
289
- let z = k(d, ft);
290
- return z === "" && (z = k(d, mt)), {
291
- name: z,
292
- originalUrl: k(d, tt),
293
- recordId: k(d, ut),
287
+ ), c = new Map(s.map((p, y) => [p, y])), S = g.flatMap((p) => p.items).map((p) => {
288
+ let y = $(p, ft);
289
+ return y === "" && (y = $(p, mt)), {
290
+ name: y,
291
+ recordId: $(p, ut),
294
292
  ...n.reduce(
295
- (b, u) => (b[u] = k(d, u), b),
293
+ (k, f) => (k[f] = $(p, f), k),
296
294
  {}
297
295
  )
298
296
  };
299
297
  }).sort(
300
- (d, z) => (c.get(d.recordId) ?? 1 / 0) - (c.get(z.recordId) ?? 1 / 0)
301
- ), y = f.reduce(
302
- (d, z) => d + z.totalCount,
298
+ (p, y) => (c.get(p.recordId) ?? 1 / 0) - (c.get(y.recordId) ?? 1 / 0)
299
+ ), A = g.reduce(
300
+ (p, y) => p + y.totalCount,
303
301
  0
304
302
  );
305
- return { facets: [], items: g, totalCount: y };
303
+ return { facets: [], items: S, totalCount: A };
306
304
  }
307
- function k(t, e) {
305
+ function $(t, e) {
308
306
  const i = t[e];
309
307
  return i == null ? "" : typeof i == "string" ? i : typeof i == "number" || typeof i == "boolean" ? String(i) : oe(i) ? i.URI : "";
310
308
  }
311
- async function Se({
309
+ async function ve({
312
310
  countPerPage: t,
313
311
  directParentFolderIdentifier: e,
314
312
  extraFields: i,
315
313
  getPermanentAssetsPaths: s,
316
314
  isSiteBuilder: a,
317
- limitedDocTypes: r,
315
+ limitedDocTypes: o,
318
316
  pageNumber: n,
319
- parentFolderIdentifier: h,
320
- searchTerm: p,
321
- securityByPassToken: f,
317
+ parentFolderIdentifier: l,
318
+ searchTerm: d,
319
+ securityByPassToken: g,
322
320
  sortOrder: c,
323
- token: g
321
+ token: S
324
322
  }) {
325
- if (!e && !h)
323
+ if (!e && !l)
326
324
  return { facets: [], items: [], totalCount: 0 };
327
- const y = (i?.filter((u) => u && typeof u == "string") ?? []).map((u) => u.replace("%20", " ")), d = {
325
+ const A = (i?.filter((f) => f && typeof f == "string") ?? []).map((f) => f.replace("%20", " ")), p = {
328
326
  directParentFolderIdentifier: e,
329
- parentFolderIdentifier: h,
330
- ...r.length > 0 ? { docType: [$t.Image, $t.Audio] } : {}
331
- }, z = await qt({
327
+ parentFolderIdentifier: l,
328
+ ...o && o.length > 0 ? { docType: o } : {}
329
+ }, y = await jt({
332
330
  countPerPage: t,
333
331
  fields: [
334
- ...y,
335
- Ut,
336
- wt,
337
- tt,
338
- Et,
332
+ ...A,
333
+ Bt,
334
+ It,
339
335
  dt,
340
336
  pt,
341
- Mt,
342
- lt,
343
- Tt,
344
- It,
345
337
  ct,
338
+ lt,
339
+ Et,
340
+ Mt,
341
+ ot,
346
342
  ut,
347
343
  mt,
348
344
  ft
@@ -350,41 +346,39 @@ async function Se({
350
346
  getPermanentAssetsPaths: s,
351
347
  isSiteBuilder: a,
352
348
  pageNumber: n,
353
- query: d,
354
- securityByPassToken: f,
349
+ query: p,
350
+ securityByPassToken: g,
355
351
  sort: void 0,
356
- token: g
357
- }), b = z.items.map((u) => {
358
- let F = k(u, ct), P = k(u, ft), st = k(u, wt);
359
- F && !F.startsWith(".") && (F = "." + F), P === "" && (P = k(u, mt)), F.toLowerCase() === ".gif" && (st = k(u, tt));
360
- const St = k(u, ut);
352
+ token: S
353
+ }), k = y.items.map((f) => {
354
+ let F = $(f, ot), tt = $(f, ft);
355
+ F && !F.startsWith(".") && (F = "." + F), tt === "" && (tt = $(f, mt));
356
+ const E = $(f, ut);
361
357
  return {
362
- docSubType: k(u, Tt),
363
- docType: k(u, lt) || "",
358
+ docSubType: $(f, Et),
359
+ docType: $(f, lt) || "",
364
360
  extension: F,
365
- height: k(u, pt) || "0",
366
- id: St,
367
- identifier: k(u, It),
368
- imageUrl: st,
369
- name: P,
370
- originalUrl: k(u, tt),
371
- recordId: St,
372
- size: k(u, Mt) || "0 MB",
373
- tags: k(u, Et),
374
- width: k(u, dt) || "0",
375
- ...y.reduce(
376
- (X, at) => (X[at] = k(u, at), X),
361
+ height: $(f, pt) || "0",
362
+ id: E,
363
+ identifier: $(f, Mt),
364
+ name: tt,
365
+ recordId: E,
366
+ size: $(f, ct) || "0 MB",
367
+ tags: $(f, It),
368
+ width: $(f, dt) || "0",
369
+ ...A.reduce(
370
+ (K, st) => (K[st] = $(f, st), K),
377
371
  {}
378
372
  )
379
373
  };
380
374
  });
381
375
  return {
382
376
  facets: [],
383
- items: b,
384
- totalCount: z.totalCount
377
+ items: k,
378
+ totalCount: y.totalCount
385
379
  };
386
380
  }
387
- async function Ce({
381
+ async function ze({
388
382
  autoCropMode: t,
389
383
  cropHeight: e,
390
384
  cropWidth: i,
@@ -413,13 +407,13 @@ async function Ce({
413
407
  y: n.cropY
414
408
  })
415
409
  ],
416
- url: Nt.GET_CROP_ZONE_SUGGESTION
410
+ url: Wt.GET_CROP_ZONE_SUGGESTION
417
411
  })).data;
418
412
  } catch {
419
413
  return null;
420
414
  }
421
415
  }
422
- async function Ti({
416
+ async function Di({
423
417
  assetRecordId: t,
424
418
  isSiteBuilder: e,
425
419
  siteUrl: i,
@@ -438,25 +432,25 @@ async function Ti({
438
432
  responseType: "json",
439
433
  transformResponse: [
440
434
  ...Array.isArray(I.defaults.transformResponse) ? I.defaults.transformResponse : [],
441
- (n) => !n || typeof n != "object" ? [] : n.proxies?.map((h) => ({
442
- cdnName: h.cdnName,
443
- extension: h.extension,
444
- formatHeight: h.formatHeight,
445
- formatWidth: h.formatWidth,
446
- height: h.height,
447
- permanentLink: h.permanentLink,
448
- proxyLabel: h.proxyLabel,
449
- proxyName: h.proxyName,
450
- width: h.width
435
+ (n) => !n || typeof n != "object" ? [] : n.proxies?.map((l) => ({
436
+ cdnName: l.cdnName,
437
+ extension: l.extension,
438
+ formatHeight: l.formatHeight,
439
+ formatWidth: l.formatWidth,
440
+ height: l.height,
441
+ permanentLink: l.permanentLink,
442
+ proxyLabel: l.proxyLabel,
443
+ proxyName: l.proxyName,
444
+ width: l.width
451
445
  })) ?? []
452
446
  ],
453
- url: e ? Ot.GET_AVAILABLE_PROXIES : Qt
447
+ url: e ? Dt.GET_AVAILABLE_PROXIES : Xt
454
448
  })).data;
455
449
  } catch {
456
450
  return [];
457
451
  }
458
452
  }
459
- async function Hi({
453
+ async function Ni({
460
454
  siteUrl: t
461
455
  } = {}) {
462
456
  try {
@@ -477,13 +471,13 @@ async function Hi({
477
471
  formatsByDocType: i.formatsByDocType ?? {}
478
472
  }
479
473
  ],
480
- url: Vt
474
+ url: Qt
481
475
  })).data;
482
476
  } catch {
483
477
  return { formatsByDocType: {} };
484
478
  }
485
479
  }
486
- async function Wi({
480
+ async function Oi({
487
481
  recordIds: t,
488
482
  rightsToCheck: e
489
483
  }) {
@@ -499,14 +493,14 @@ async function Wi({
499
493
  params: { RecordIDs: t, RightsToCheck: e },
500
494
  paramsSerializer: { indexes: null },
501
495
  responseType: "json",
502
- url: Gt.GET_AUTHORIZED_OBJECTS
496
+ url: Kt.GET_AUTHORIZED_OBJECTS
503
497
  });
504
498
  return s;
505
499
  } catch {
506
500
  return i;
507
501
  }
508
502
  }
509
- const Wt = 20, Dt = "TR1", ze = /* @__PURE__ */ new Set([
503
+ const At = 20, Ct = "TR1", wt = "TRX", Ce = /* @__PURE__ */ new Set([".gif"]), we = /* @__PURE__ */ new Set([
510
504
  ".avif",
511
505
  ".bmp",
512
506
  ".gif",
@@ -517,17 +511,32 @@ const Wt = 20, Dt = "TR1", ze = /* @__PURE__ */ new Set([
517
511
  ".svg",
518
512
  ".webp"
519
513
  ]);
520
- function At(t) {
514
+ function Vt(t) {
521
515
  const e = t.toLowerCase(), i = e.startsWith(".") ? e : `.${e}`;
522
- return ze.has(i);
516
+ return we.has(i);
523
517
  }
524
- class Di {
518
+ function Tt({
519
+ extension: t,
520
+ format: e,
521
+ item: i,
522
+ manualFormat: s,
523
+ size: a
524
+ }) {
525
+ const o = t?.toLowerCase() ?? "", n = o.startsWith(".") ? o : `.${o}`, l = `path_${Ct}`;
526
+ if (!s)
527
+ return i[`path_${Ot(o, a)}`] || i[l];
528
+ if (!!o && Ce.has(n))
529
+ return i[`path_${wt}`] || i[l];
530
+ const g = !o || Vt(o), c = e ? `path_${e}` : void 0;
531
+ return c && g && i[c] ? i[c] : i[l];
532
+ }
533
+ class Li {
525
534
  constructor(e, i) {
526
- this.data = [], this.folderId = "", this.fetchedPages = /* @__PURE__ */ new Set(), this.totalCount = 0, this.maxEnd = 1 / 0, this.pageSize = Wt, this.requestEpoch = 0, this.host = e, this.host.addController?.(this);
535
+ this.data = [], this.folderId = "", this.fetchedPages = /* @__PURE__ */ new Set(), this.totalCount = 0, this.maxEnd = 1 / 0, this.pageSize = At, this.requestEpoch = 0, this.host = e, this.host.addController?.(this);
527
536
  const s = i?.maxEnd;
528
537
  this.maxEnd = typeof s == "number" && Number.isFinite(s) && s >= 0 ? Math.floor(s) : 1 / 0;
529
538
  const a = i?.pageSize;
530
- this.pageSize = typeof a == "number" && Number.isFinite(a) && a >= 1 ? Math.floor(a) : Wt, this.authToken = i?.token, this.securityByPassToken = i?.securityByPassToken, this.isSiteBuilder = i?.isSiteBuilder ?? !1;
539
+ this.pageSize = typeof a == "number" && Number.isFinite(a) && a >= 1 ? Math.floor(a) : At, this.authToken = i?.token, this.securityByPassToken = i?.securityByPassToken, this.isSiteBuilder = i?.isSiteBuilder ?? !1;
531
540
  }
532
541
  get totalDataCount() {
533
542
  return this.totalCount;
@@ -535,62 +544,91 @@ class Di {
535
544
  setSecurityByPassToken(e) {
536
545
  this.securityByPassToken !== e && (this.securityByPassToken = e, this.resetPageCache());
537
546
  }
547
+ /**
548
+ * Changes how many items each request asks for.
549
+ *
550
+ * A new size moves every page boundary, so cached pages are dropped and the next fetch
551
+ * starts from page 1. `data` is kept — it is indexed absolutely, so the refetch
552
+ * overwrites in place instead of blanking the grid.
553
+ *
554
+ * Shrinking is ignored once pages are cached: collapsing already has what it needs.
555
+ */
556
+ setPageSize(e) {
557
+ const i = Number.isFinite(e) && e >= 1 ? Math.floor(e) : At;
558
+ if (this.pageSize === i)
559
+ return;
560
+ const s = this.fetchedPages.size > 0;
561
+ s && i < this.pageSize || (this.pageSize = i, s && (this.requestEpoch += 1, this.fetchedPages.clear()));
562
+ }
538
563
  async fetchImages({
539
564
  end: e,
540
565
  extraFields: i = [],
541
566
  format: s,
542
- start: a,
543
- transformations: r
567
+ manualFormat: a = !0,
568
+ start: o,
569
+ transformations: n
544
570
  }) {
545
- if (e < a)
571
+ if (e < o)
546
572
  return this.data;
547
- if (this.totalCount > 0 && e >= this.totalCount && (e = this.totalCount - 1, e < a))
573
+ if (this.totalCount > 0 && e >= this.totalCount && (e = this.totalCount - 1, e < o))
548
574
  return this.data;
549
- const n = this.requestEpoch;
550
- if (!this.folderId || n !== this.requestEpoch)
575
+ const l = this.requestEpoch;
576
+ if (!this.folderId || l !== this.requestEpoch)
551
577
  return this.data;
552
- const h = s ? `path_${s}` : void 0, p = s === "TRX", f = `path_${Dt}`, c = h ? p && h !== f ? [h, f] : [h] : [], g = Math.floor(a / this.pageSize) + 1, y = Math.floor(e / this.pageSize) + 1;
553
- for (let d = g; d <= y; d++) {
554
- if (this.fetchedPages.has(d))
578
+ const d = s ? `path_${s}` : void 0, g = `path_${Ct}`, c = `path_${wt}`, S = [
579
+ ...new Set(
580
+ [d, g, c].filter(
581
+ (y) => !!y
582
+ )
583
+ )
584
+ ], A = Math.floor(o / this.pageSize) + 1, p = Math.floor(e / this.pageSize) + 1;
585
+ for (let y = A; y <= p; y++) {
586
+ if (this.fetchedPages.has(y))
555
587
  continue;
556
- const z = await Se({
588
+ const k = await ve({
557
589
  countPerPage: this.pageSize,
558
590
  directParentFolderIdentifier: this.folderId,
559
- extraFields: [...i, ...c],
560
- getPermanentAssetsPaths: c.length > 0 || void 0,
591
+ extraFields: [...i, ...S],
592
+ getPermanentAssetsPaths: !0,
561
593
  isSiteBuilder: this.isSiteBuilder,
562
- limitedDocTypes: ["DO_DOCUMENTS.Image_DbBO.*"],
563
- pageNumber: d,
594
+ pageNumber: y,
564
595
  searchTerm: "",
565
596
  securityByPassToken: this.securityByPassToken,
566
597
  sortOrder: "",
567
598
  token: this.authToken
568
599
  });
569
- if (n !== this.requestEpoch)
600
+ if (l !== this.requestEpoch)
570
601
  return this.data;
571
- if (this.fetchedPages.add(d), !this.totalCount && z.totalCount) {
572
- const u = Math.min(this.maxEnd, z.totalCount);
573
- this.totalCount = u, this.data = Array.from({ length: u }, () => ({
602
+ if (this.fetchedPages.add(y), !this.totalCount && k.totalCount) {
603
+ const F = Math.min(this.maxEnd, k.totalCount);
604
+ this.totalCount = F, this.data = Array.from({ length: F }, () => ({
574
605
  alt: "",
575
- id: `temp-${Yt()}`,
606
+ id: `temp-${Jt()}`,
576
607
  name: "",
577
608
  src: ""
578
609
  }));
579
610
  }
580
- const b = (d - 1) * this.pageSize;
581
- for (let u = 0; u < z.items.length; u++) {
582
- const F = b + u;
583
- if (F < this.data.length) {
584
- const P = z.items[u], st = !P.extension || At(P.extension);
585
- let X = h && (!p || st) && P[h] || p && !st && P[f] || P.imageUrl;
586
- X && r && r.length > 0 && (X = Pt(X, r)), this.data[F] = {
587
- alt: P.name,
588
- docType: P.docType,
589
- id: P.id,
590
- name: P.name,
591
- src: X,
611
+ const f = (y - 1) * this.pageSize;
612
+ for (let F = 0; F < k.items.length; F++) {
613
+ const tt = f + F;
614
+ if (tt < this.data.length) {
615
+ const E = k.items[F];
616
+ let K = Tt({
617
+ extension: E.extension,
618
+ format: s,
619
+ item: E,
620
+ manualFormat: a,
621
+ size: E.size
622
+ });
623
+ K && n && n.length > 0 && (K = $t(K, n)), this.data[tt] = {
624
+ alt: E.name,
625
+ docType: E.docType,
626
+ extension: E.extension,
627
+ id: E.id,
628
+ name: E.name,
629
+ src: K,
592
630
  ...i.reduce(
593
- (at, Rt) => (at[Rt] = P[Rt] ?? "", at),
631
+ (st, Pt) => (st[Pt] = E[Pt] ?? "", st),
594
632
  {}
595
633
  )
596
634
  };
@@ -603,67 +641,83 @@ class Di {
603
641
  extraFields: i = [],
604
642
  folderId: s,
605
643
  forceRefetch: a = !1,
606
- format: r,
607
- minLimit: n = 5,
608
- noPlaceholders: h = !1,
609
- transformations: p
644
+ format: o,
645
+ manualFormat: n = !0,
646
+ minLimit: l = 5,
647
+ noPlaceholders: d = !1,
648
+ transformations: g
610
649
  }) {
611
650
  (!this.folderId || this.folderId !== s) && (this.folderId = s, this.resetFolderState()), a && this.resetPageCache();
612
- const f = Math.max(5, n), c = e, g = e + f, y = [
651
+ const c = Math.max(5, l), S = e, A = e + c, p = [
613
652
  ...i,
614
653
  pt,
615
654
  dt
616
655
  ];
617
656
  await this.fetchImages({
618
- end: g,
619
- extraFields: y.filter((b) => b !== ""),
620
- format: r,
621
- start: c,
622
- transformations: p
657
+ end: A,
658
+ extraFields: p.filter((f) => f !== ""),
659
+ format: o,
660
+ manualFormat: n,
661
+ start: S,
662
+ transformations: g
623
663
  });
624
- let d = e - f;
625
- d < 0 && (this.totalCount === 0 ? d = 0 : d = Math.max(0, this.totalCount + d));
626
- const z = d + f;
664
+ let y = e - c;
665
+ y < 0 && (this.totalCount === 0 ? y = 0 : y = Math.max(0, this.totalCount + y));
666
+ const k = y + c;
627
667
  return await this.fetchImages({
628
- end: z,
629
- extraFields: y.filter((b) => b !== ""),
630
- format: r,
631
- start: d,
632
- transformations: p
633
- }), h ? this.data.filter((b) => b.id && !b.id.startsWith("temp-")) : this.data;
668
+ end: k,
669
+ extraFields: p.filter((f) => f !== ""),
670
+ format: o,
671
+ manualFormat: n,
672
+ start: y,
673
+ transformations: g
674
+ }), d ? this.data.filter((f) => f.id && !f.id.startsWith("temp-")) : this.data;
634
675
  }
635
676
  async fetchImagesByIDs({
636
677
  extraFields: e = [],
637
678
  format: i,
638
- recordIds: s,
639
- transformations: a
679
+ manualFormat: s = !0,
680
+ recordIds: a,
681
+ transformations: o
640
682
  }) {
641
- if (s.length === 0)
683
+ if (a.length === 0)
642
684
  return [];
643
- const r = i ? `path_${i}` : void 0, n = i === "TRX", h = `path_${Dt}`, p = r ? n && r !== h ? [r, h] : [r] : [], f = n ? [ct] : [], c = [
685
+ const n = i ? `path_${i}` : void 0, l = `path_${Ct}`, d = `path_${wt}`, g = [
686
+ ...new Set(
687
+ [n, l, d].filter(
688
+ (p) => !!p
689
+ )
690
+ )
691
+ ], c = [ot, ct], S = [
644
692
  ...e,
645
693
  lt,
646
694
  pt,
647
695
  dt
648
696
  ];
649
- return (await ye({
650
- extraFields: [...c, ...p, ...f].filter((y) => y !== ""),
651
- getPermanentAssetsPaths: p.length > 0 || void 0,
697
+ return (await Ae({
698
+ extraFields: [...S, ...g, ...c].filter((p) => p !== ""),
699
+ getPermanentAssetsPaths: !0,
652
700
  isSiteBuilder: this.isSiteBuilder,
653
- recordIds: s,
701
+ recordIds: a,
654
702
  securityByPassToken: this.securityByPassToken,
655
703
  token: this.authToken
656
- })).items.map((y) => {
657
- const d = n && y[ct] || "", z = !d || At(d);
658
- let u = r && (!n || z) && y[r] || n && !z && y[h] || y.originalUrl;
659
- return u && a && a.length > 0 && (u = Pt(u, a)), {
660
- alt: y.name,
661
- docType: y[lt],
662
- id: y.recordId,
663
- name: y.name,
664
- src: u,
665
- ...c.reduce(
666
- (F, P) => (F[P] = y[P] ?? "", F),
704
+ })).items.map((p) => {
705
+ let y = Tt({
706
+ extension: p[ot],
707
+ format: i,
708
+ item: p,
709
+ manualFormat: s,
710
+ size: p[ct]
711
+ });
712
+ return y && o && o.length > 0 && (y = $t(y, o)), {
713
+ alt: p.name,
714
+ docType: p[lt],
715
+ extension: p[ot] || "",
716
+ id: p.recordId,
717
+ name: p.name,
718
+ src: y,
719
+ ...S.reduce(
720
+ (k, f) => (k[f] = p[f] ?? "", k),
667
721
  {}
668
722
  )
669
723
  };
@@ -674,57 +728,63 @@ class Di {
674
728
  folderId: i,
675
729
  forceRefetch: s = !1,
676
730
  format: a,
677
- noPlaceholders: r = !1,
678
- page: n,
679
- pageSize: h = 10,
680
- transformations: p
731
+ manualFormat: o = !0,
732
+ noPlaceholders: n = !1,
733
+ page: l,
734
+ pageSize: d = 10,
735
+ transformations: g
681
736
  }) {
682
737
  (!this.folderId || this.folderId !== i) && (this.folderId = i, this.resetFolderState()), s && this.resetPageCache();
683
- const f = n * h, c = f + h - 1;
738
+ const c = l * d, S = c + d - 1;
684
739
  return await this.fetchImages({
685
- end: c,
740
+ end: S,
686
741
  extraFields: e,
687
742
  format: a,
688
- start: f,
689
- transformations: p
690
- }), r ? this.data.filter((g) => g.id && !g.id.startsWith("temp-")) : this.data;
743
+ manualFormat: o,
744
+ start: c,
745
+ transformations: g
746
+ }), n ? this.data.filter((A) => A.id && !A.id.startsWith("temp-")) : this.data;
691
747
  }
692
748
  async *fetchImagesInFolderByChunk({
693
749
  chunkSize: e = 10,
694
750
  end: i = 0,
695
751
  extraFields: s = [],
696
752
  folderId: a,
697
- forceRefetch: r = !1,
753
+ forceRefetch: o = !1,
698
754
  format: n,
699
- start: h = 0,
700
- transformations: p
755
+ manualFormat: l = !0,
756
+ start: d = 0,
757
+ transformations: g
701
758
  }) {
702
- const f = Math.max(1, e);
703
- if ((!this.folderId || this.folderId !== a) && (this.folderId = a, this.resetFolderState()), r && this.resetPageCache(), i !== -1) {
759
+ const c = Math.max(1, e);
760
+ if ((!this.folderId || this.folderId !== a) && (this.folderId = a, this.resetFolderState()), o && this.resetPageCache(), i !== -1) {
704
761
  await this.fetchImages({
705
762
  end: i,
706
763
  extraFields: s,
707
764
  format: n,
708
- start: h,
709
- transformations: p
765
+ manualFormat: l,
766
+ start: d,
767
+ transformations: g
710
768
  }), yield this.data;
711
769
  return;
712
770
  }
713
- let c = h, g = h + f;
771
+ let S = d, A = d + c;
714
772
  if (await this.fetchImages({
715
- end: g,
773
+ end: A,
716
774
  extraFields: s,
717
775
  format: n,
718
- start: c,
719
- transformations: p
720
- }), yield this.data, !(!this.totalCount || this.totalCount <= g))
721
- for (; g < this.totalCount; )
722
- c = g, g = Math.min(g + f, this.totalCount), await this.fetchImages({
723
- end: g,
776
+ manualFormat: l,
777
+ start: S,
778
+ transformations: g
779
+ }), yield this.data, !(!this.totalCount || this.totalCount <= A))
780
+ for (; A < this.totalCount; )
781
+ S = A, A = Math.min(A + c, this.totalCount), await this.fetchImages({
782
+ end: A,
724
783
  extraFields: s,
725
784
  format: n,
726
- start: c,
727
- transformations: p
785
+ manualFormat: l,
786
+ start: S,
787
+ transformations: g
728
788
  }), yield this.data;
729
789
  }
730
790
  hostConnected() {
@@ -739,34 +799,34 @@ class Di {
739
799
  this.resetPageCache();
740
800
  }
741
801
  }
742
- const we = q`.asset-link-format__details{--header-padding:var(--cx-spacing-small) var(--cx-spacing-medium)}.asset-link-format__details::part(icon){width:var(--cx-font-size-3x-large);height:var(--cx-font-size-3x-large);background-color:var(--cx-color-neutral-100);border-radius:var(--cx-border-radius-large);color:var(--cx-color-neutral-600);font-size:var(--cx-font-size-large);justify-content:center;align-items:center;display:flex}.asset-link-format__details::part(input-label){color:var(--cx-color-neutral-400);margin-inline-start:var(--cx-spacing-small)}.asset-link-format__header{padding:var(--cx-spacing-medium)}.asset-link-format__section-header{padding:0 var(--cx-spacing-medium);border-top:var(--section-header-border-width,1px) solid var(--cx-color-neutral-200);background-color:var(--cx-color-neutral-50)}.asset-link-format__undo,.asset-link-format__reset{--color:var(--cx-color-primary);--background-color:transparent}`, Ae = q`cx-details::part(base){border-bottom-width:0}cx-space{width:100%}cx-space cx-input{flex:1}.crop__unit-select{width:120px}.crop__input-group{flex:1;display:flex}`;
743
- var ve = Object.defineProperty, be = Object.getOwnPropertyDescriptor, w = (t, e, i, s) => {
744
- for (var a = s > 1 ? void 0 : s ? be(e, i) : e, r = t.length - 1, n; r >= 0; r--)
745
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
746
- return s && a && ve(e, i, a), a;
802
+ const be = q`.asset-link-format__details{--header-padding:var(--cx-spacing-small) var(--cx-spacing-medium)}.asset-link-format__details::part(icon){width:var(--cx-font-size-3x-large);height:var(--cx-font-size-3x-large);background-color:var(--cx-color-neutral-100);border-radius:var(--cx-border-radius-large);color:var(--cx-color-neutral-600);font-size:var(--cx-font-size-large);justify-content:center;align-items:center;display:flex}.asset-link-format__details::part(input-label){color:var(--cx-color-neutral-400);margin-inline-start:var(--cx-spacing-small)}.asset-link-format__header{padding:var(--cx-spacing-medium)}.asset-link-format__section-header{padding:0 var(--cx-spacing-medium);border-top:var(--section-header-border-width,1px) solid var(--cx-color-neutral-200);background-color:var(--cx-color-neutral-50)}.asset-link-format__undo,.asset-link-format__reset{--color:var(--cx-color-primary);--background-color:transparent}`, ke = q`cx-details::part(base){border-bottom-width:0}cx-space{width:100%}cx-space cx-input{flex:1}.crop__unit-select{width:120px}.crop__input-group{flex:1;display:flex}`;
803
+ var Re = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, z = (t, e, i, s) => {
804
+ for (var a = s > 1 ? void 0 : s ? Pe(e, i) : e, o = t.length - 1, n; o >= 0; o--)
805
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
806
+ return s && a && Re(e, i, a), a;
747
807
  };
748
- let C = class extends B {
808
+ let v = class extends B {
749
809
  constructor() {
750
- super(...arguments), this.localize = new j(this), this.open = !1, this.width = 0, this.height = 0, this.maxWidth = 0, this.maxHeight = 0, this.ratioWidth = 1, this.ratioHeight = 1, this.percentageWidth = 0, this.percentageHeight = 0, this.unit = o.Pixel, this.disabledApply = !1, this.noRatioModes = !1, this.showPositionPicker = !1, this.lastAppliedSetting = {
751
- [o.Pixel]: {
810
+ super(...arguments), this.localize = new j(this), this.open = !1, this.width = 0, this.height = 0, this.maxWidth = 0, this.maxHeight = 0, this.ratioWidth = 1, this.ratioHeight = 1, this.percentageWidth = 0, this.percentageHeight = 0, this.unit = r.Pixel, this.disabledApply = !1, this.noRatioModes = !1, this.showPositionPicker = !1, this.lastAppliedSetting = {
811
+ [r.Pixel]: {
752
812
  height: 0,
753
813
  percentageHeight: 100,
754
814
  percentageWidth: 100,
755
- unit: o.Pixel,
815
+ unit: r.Pixel,
756
816
  width: 0,
757
817
  x: 0,
758
818
  y: 0
759
819
  },
760
- [o.AspectRatio]: {
820
+ [r.AspectRatio]: {
761
821
  height: 1,
762
822
  percentageHeight: 100,
763
823
  percentageWidth: 100,
764
- unit: o.AspectRatio,
824
+ unit: r.AspectRatio,
765
825
  width: 1,
766
826
  x: 0,
767
827
  y: 0
768
828
  }
769
- }, this.loading = !1, this.cropModes = [], this.focusModes = [], this.focusMode = "manual", this.cropMode = "free", this.position = W.CenterCenter, this.keepAspectRatio = !1, this.invalidWidth = !1, this.invalidHeight = !1, this.aspectRatio = 0;
829
+ }, this.loading = !1, this.cropModes = [], this.focusModes = [], this.focusMode = "manual", this.cropMode = "free", this.position = D.CenterCenter, this.keepAspectRatio = !1, this.invalidWidth = !1, this.invalidHeight = !1, this.aspectRatio = 0;
770
830
  }
771
831
  get selectedMode() {
772
832
  return this.cropModes.find((t) => t.value === this.cropMode);
@@ -778,10 +838,10 @@ let C = class extends B {
778
838
  return;
779
839
  }
780
840
  if (this.keepAspectRatio) {
781
- if (this.unit === o.Pixel && this.width && this.height) {
841
+ if (this.unit === r.Pixel && this.width && this.height) {
782
842
  this.aspectRatio = this.width / this.height;
783
843
  return;
784
- } else if (this.unit === o.AspectRatio && this.ratioWidth && this.ratioHeight) {
844
+ } else if (this.unit === r.AspectRatio && this.ratioWidth && this.ratioHeight) {
785
845
  this.aspectRatio = this.ratioWidth / this.ratioHeight;
786
846
  return;
787
847
  }
@@ -812,9 +872,9 @@ let C = class extends B {
812
872
  }
813
873
  this.invalidWidth = !1;
814
874
  let e = Number(t.target.value);
815
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
816
- let i = this.unit === o.Pixel ? this.height : this.ratioHeight, s = !1;
817
- this.keepAspectRatio && (i = Math.round(e / this.aspectRatio), this.unit === o.Pixel && i > this.maxHeight && (i = this.maxHeight, s = !0)), this.invalidHeight = !1, this.emit("cx-asset-link-format-crop-change", {
875
+ this.unit === r.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
876
+ let i = this.unit === r.Pixel ? this.height : this.ratioHeight, s = !1;
877
+ this.keepAspectRatio && (i = Math.round(e / this.aspectRatio), this.unit === r.Pixel && i > this.maxHeight && (i = this.maxHeight, s = !0)), this.invalidHeight = !1, this.emit("cx-asset-link-format-crop-change", {
818
878
  detail: {
819
879
  breakAspectRatio: s,
820
880
  height: i,
@@ -831,9 +891,9 @@ let C = class extends B {
831
891
  }
832
892
  this.invalidHeight = !1;
833
893
  let e = Number(t.target.value);
834
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
835
- let i = this.unit === o.Pixel ? this.width : this.ratioWidth, s = !1;
836
- this.keepAspectRatio && (i = Math.round(e * this.aspectRatio), this.unit === o.Pixel && i > this.maxWidth && (i = this.maxWidth, s = !0)), this.invalidWidth = !1, this.emit("cx-asset-link-format-crop-change", {
894
+ this.unit === r.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
895
+ let i = this.unit === r.Pixel ? this.width : this.ratioWidth, s = !1;
896
+ this.keepAspectRatio && (i = Math.round(e * this.aspectRatio), this.unit === r.Pixel && i > this.maxWidth && (i = this.maxWidth, s = !0)), this.invalidWidth = !1, this.emit("cx-asset-link-format-crop-change", {
837
897
  detail: {
838
898
  breakAspectRatio: s,
839
899
  height: e,
@@ -848,18 +908,18 @@ let C = class extends B {
848
908
  if (e === "free")
849
909
  this.selectedMode?.auto && this.emit("cx-asset-link-format-crop-change", {
850
910
  detail: {
851
- height: this.lastAppliedSetting[o.Pixel].height,
911
+ height: this.lastAppliedSetting[r.Pixel].height,
852
912
  keepAspectRatio: !1,
853
913
  silent: !0,
854
- unit: o.Pixel,
855
- width: this.lastAppliedSetting[o.Pixel].width
914
+ unit: r.Pixel,
915
+ width: this.lastAppliedSetting[r.Pixel].width
856
916
  }
857
917
  });
858
918
  else if (!i) {
859
919
  const [s, a] = e.split(":").map(Number);
860
- if (this.unit === o.Pixel) {
861
- let r = s, n = a;
862
- Number.isFinite(this.maxWidth) && Number.isFinite(this.maxHeight) && ({ height: n, width: r } = ee(
920
+ if (this.unit === r.Pixel) {
921
+ let o = s, n = a;
922
+ Number.isFinite(this.maxWidth) && Number.isFinite(this.maxHeight) && ({ height: n, width: o } = ee(
863
923
  this.maxWidth,
864
924
  this.maxHeight,
865
925
  s,
@@ -869,8 +929,8 @@ let C = class extends B {
869
929
  height: n,
870
930
  keepAspectRatio: !0,
871
931
  silent: !0,
872
- unit: o.Pixel,
873
- width: r
932
+ unit: r.Pixel,
933
+ width: o
874
934
  }
875
935
  });
876
936
  } else
@@ -879,7 +939,7 @@ let C = class extends B {
879
939
  height: a,
880
940
  keepAspectRatio: !0,
881
941
  silent: !0,
882
- unit: o.AspectRatio,
942
+ unit: r.AspectRatio,
883
943
  width: s
884
944
  }
885
945
  });
@@ -912,19 +972,19 @@ let C = class extends B {
912
972
  * This allows the parent component to update the crop settings accordingly.
913
973
  */
914
974
  onUnitChange(t) {
915
- t.target.value === o.AspectRatio ? this.emit("cx-asset-link-format-crop-change", {
975
+ t.target.value === r.AspectRatio ? this.emit("cx-asset-link-format-crop-change", {
916
976
  detail: {
917
- height: this.lastAppliedSetting[o.AspectRatio].height,
977
+ height: this.lastAppliedSetting[r.AspectRatio].height,
918
978
  keepAspectRatio: this.keepAspectRatio,
919
- unit: o.AspectRatio,
920
- width: this.lastAppliedSetting[o.AspectRatio].width
979
+ unit: r.AspectRatio,
980
+ width: this.lastAppliedSetting[r.AspectRatio].width
921
981
  }
922
982
  }) : this.emit("cx-asset-link-format-crop-change", {
923
983
  detail: {
924
- height: this.lastAppliedSetting[o.Pixel].height,
984
+ height: this.lastAppliedSetting[r.Pixel].height,
925
985
  keepAspectRatio: this.keepAspectRatio,
926
- unit: o.Pixel,
927
- width: this.lastAppliedSetting[o.Pixel].width
986
+ unit: r.Pixel,
987
+ width: this.lastAppliedSetting[r.Pixel].width
928
988
  }
929
989
  }), this.emit("cx-asset-link-format-crop-mode-change", {
930
990
  detail: {
@@ -968,171 +1028,171 @@ let C = class extends B {
968
1028
  }
969
1029
  }), this.emit("cx-asset-link-format-crop-change", {
970
1030
  detail: {
971
- height: this.unit === o.Pixel ? this.height : this.ratioHeight,
1031
+ height: this.unit === r.Pixel ? this.height : this.ratioHeight,
972
1032
  keepAspectRatio: !this.keepAspectRatio,
973
1033
  unit: this.unit,
974
- width: this.unit === o.Pixel ? this.width : this.ratioWidth
1034
+ width: this.unit === r.Pixel ? this.width : this.ratioWidth
975
1035
  }
976
1036
  });
977
1037
  }
978
1038
  render() {
979
1039
  const t = this.cropModes.filter((i) => !i.auto), e = this.cropModes.filter((i) => i.auto);
980
- return A`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="crop"></cx-icon></div><cx-typography variant="body2">${this.localize.term("crop")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small">${M(
1040
+ return C`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="crop"></cx-icon></div><cx-typography variant="body2">${this.localize.term("crop")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small">${_(
981
1041
  !this.noRatioModes,
982
- () => A`<cx-select data-testid="cx-asset-link-format-crop-mode" value=${this.cropMode} hoist style=${D({
1042
+ () => C`<cx-select data-testid="cx-asset-link-format-crop-mode" value=${this.cropMode} hoist style=${N({
983
1043
  width: "100%"
984
- })} @cx-change=${this.onCropModeChange} ?disabled=${this.loading}>${ot(
1044
+ })} @cx-change=${this.onCropModeChange} ?disabled=${this.loading}>${at(
985
1045
  t,
986
1046
  (i) => i.value,
987
- ({ label: i, value: s }) => A`<cx-option value=${s}>${i}</cx-option>`
1047
+ ({ label: i, value: s }) => C`<cx-option value=${s}>${i}</cx-option>`
988
1048
  )}
989
- ${M(
1049
+ ${_(
990
1050
  e.length > 0,
991
- () => A`<cx-divider></cx-divider><small>${this.localize.term("autoCropping")}</small>`
1051
+ () => C`<cx-divider></cx-divider><small>${this.localize.term("autoCropping")}</small>`
992
1052
  )}
993
- ${ot(
1053
+ ${at(
994
1054
  e,
995
1055
  (i) => i.value,
996
- ({ label: i, value: s }) => A`<cx-option value=${s}>${i}</cx-option>`
1056
+ ({ label: i, value: s }) => C`<cx-option value=${s}>${i}</cx-option>`
997
1057
  )}</cx-select>`
998
- )}<cx-space spacing="small"><div class="crop__input-group"><cx-input data-testid="cx-asset-link-format-crop-width" placeholder=${this.localize.term("width")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === o.Pixel ? this.width.toString() : this.ratioWidth.toString()} @cx-change=${this.handleInputChange} @cx-input=${this.handleWidthChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
1058
+ )}<cx-space spacing="small"><div class="crop__input-group"><cx-input data-testid="cx-asset-link-format-crop-width" placeholder=${this.localize.term("width")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === r.Pixel ? this.width.toString() : this.ratioWidth.toString()} @cx-change=${this.handleInputChange} @cx-input=${this.handleWidthChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
999
1059
  W
1000
- </cx-typography></cx-input><cx-icon-button data-testid="cx-asset-link-format-crop-aspect-ratio" name=${this.keepAspectRatio ? "insert_link" : "link_off"} @click=${this.handleAspectRatioClick} style=${D({
1060
+ </cx-typography></cx-input><cx-icon-button data-testid="cx-asset-link-format-crop-aspect-ratio" name=${this.keepAspectRatio ? "insert_link" : "link_off"} @click=${this.handleAspectRatioClick} style=${N({
1001
1061
  color: this.keepAspectRatio ? "var(--cx-color-primary)" : void 0
1002
- })} ?disabled=${this.loading}></cx-icon-button><cx-input data-testid="cx-asset-link-format-crop-height" placeholder=${this.localize.term("height")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === o.Pixel ? this.height.toString() : this.ratioHeight.toString()} ?disabled=${this.loading} @cx-change=${this.handleInputChange} @cx-input=${this.handleHeightChange} required><cx-typography slot="prefix" variant="body3" part="input-label">
1062
+ })} ?disabled=${this.loading}></cx-icon-button><cx-input data-testid="cx-asset-link-format-crop-height" placeholder=${this.localize.term("height")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === r.Pixel ? this.height.toString() : this.ratioHeight.toString()} ?disabled=${this.loading} @cx-change=${this.handleInputChange} @cx-input=${this.handleHeightChange} required><cx-typography slot="prefix" variant="body3" part="input-label">
1003
1063
  H
1004
- </cx-typography></cx-input></div>${M(
1064
+ </cx-typography></cx-input></div>${_(
1005
1065
  !this.noRatioModes,
1006
- () => A`<cx-select data-testid="cx-asset-link-format-crop-unit" value=${this.unit} hoist class="crop__unit-select" ?disabled=${this.loading} @cx-change=${this.onUnitChange}><cx-option value=${o.Pixel}>${this.localize.term("pixels")}</cx-option><cx-option value=${o.AspectRatio}>${this.localize.term("aspectRatio")}</cx-option></cx-select>`
1007
- )}</cx-space>${M(
1066
+ () => C`<cx-select data-testid="cx-asset-link-format-crop-unit" value=${this.unit} hoist class="crop__unit-select" ?disabled=${this.loading} @cx-change=${this.onUnitChange}><cx-option value=${r.Pixel}>${this.localize.term("pixels")}</cx-option><cx-option value=${r.AspectRatio}>${this.localize.term("aspectRatio")}</cx-option></cx-select>`
1067
+ )}</cx-space>${_(
1008
1068
  this.focusModes.length > 0,
1009
- () => A`<cx-select data-testid="cx-asset-link-format-crop-focus-mode" value=${this.focusMode} hoist style=${D({
1069
+ () => C`<cx-select data-testid="cx-asset-link-format-crop-focus-mode" value=${this.focusMode} hoist style=${N({
1010
1070
  width: "100%"
1011
- })} @cx-change=${this.onFocusModeChange} ?disabled=${this.loading || this.selectedMode?.disabledSize}>${ot(
1071
+ })} @cx-change=${this.onFocusModeChange} ?disabled=${this.loading || this.selectedMode?.disabledSize}>${at(
1012
1072
  this.focusModes,
1013
1073
  (i) => i.value,
1014
- ({ label: i, value: s }) => A`<cx-option value=${s}>${i}</cx-option>`
1074
+ ({ label: i, value: s }) => C`<cx-option value=${s}>${i}</cx-option>`
1015
1075
  )}</cx-select>`
1016
1076
  )}
1017
- ${M(
1077
+ ${_(
1018
1078
  this.showPositionPicker && this.focusMode === "manual",
1019
- () => A`<cx-position-picker data-testid="cx-asset-link-format-crop-position" value=${this.position} @cx-change=${this.onPositionChange}></cx-position-picker>`
1020
- )}<cx-button data-testid="cx-asset-link-format-crop-apply" variant="primary" ?disabled=${this.disabledApply || this.invalidHeight || this.invalidWidth} ?loading=${this.loading} style=${D({
1079
+ () => C`<cx-position-picker data-testid="cx-asset-link-format-crop-position" value=${this.position} @cx-change=${this.onPositionChange}></cx-position-picker>`
1080
+ )}<cx-button data-testid="cx-asset-link-format-crop-apply" variant="primary" ?disabled=${this.disabledApply || this.invalidHeight || this.invalidWidth} ?loading=${this.loading} style=${N({
1021
1081
  marginLeft: "auto"
1022
1082
  })} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1023
1083
  }
1024
1084
  };
1025
- C.styles = [V, Ae];
1026
- C.dependencies = {
1085
+ v.styles = [V, ke];
1086
+ v.dependencies = {
1027
1087
  "cx-button": Z,
1028
1088
  "cx-details": et,
1029
- "cx-divider": Jt,
1089
+ "cx-divider": Lt,
1030
1090
  "cx-icon": it,
1031
- "cx-icon-button": vt,
1032
- "cx-input": bt,
1091
+ "cx-icon-button": bt,
1092
+ "cx-input": kt,
1033
1093
  "cx-option": gt,
1034
1094
  "cx-position-picker": te,
1035
1095
  "cx-select": xt,
1036
1096
  "cx-space": L,
1037
1097
  "cx-typography": U
1038
1098
  };
1039
- w([
1099
+ z([
1040
1100
  Y(".details")
1041
- ], C.prototype, "base", 2);
1042
- w([
1101
+ ], v.prototype, "base", 2);
1102
+ z([
1043
1103
  Y("cx-position-picker")
1044
- ], C.prototype, "positionPicker", 2);
1045
- w([
1046
- l({ reflect: !0, type: Boolean })
1047
- ], C.prototype, "open", 2);
1048
- w([
1049
- l({ reflect: !0, type: Number })
1050
- ], C.prototype, "width", 2);
1051
- w([
1052
- l({ reflect: !0, type: Number })
1053
- ], C.prototype, "height", 2);
1054
- w([
1055
- l({ attribute: "max-width", reflect: !0, type: Number })
1056
- ], C.prototype, "maxWidth", 2);
1057
- w([
1058
- l({ attribute: "max-height", reflect: !0, type: Number })
1059
- ], C.prototype, "maxHeight", 2);
1060
- w([
1061
- l({ attribute: "ratio-width", reflect: !0, type: Number })
1062
- ], C.prototype, "ratioWidth", 2);
1063
- w([
1064
- l({ attribute: "ratio-height", reflect: !0, type: Number })
1065
- ], C.prototype, "ratioHeight", 2);
1066
- w([
1067
- l({ attribute: "percentage-width", reflect: !0, type: Number })
1068
- ], C.prototype, "percentageWidth", 2);
1069
- w([
1070
- l({ attribute: "percentage-height", reflect: !0, type: Number })
1071
- ], C.prototype, "percentageHeight", 2);
1072
- w([
1073
- l({ reflect: !0, type: String })
1074
- ], C.prototype, "unit", 2);
1075
- w([
1076
- l({ attribute: "disabled-apply", reflect: !0, type: Boolean })
1077
- ], C.prototype, "disabledApply", 2);
1078
- w([
1079
- l({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1080
- ], C.prototype, "noRatioModes", 2);
1081
- w([
1082
- l({ attribute: "show-position-picker", reflect: !0, type: Boolean })
1083
- ], C.prototype, "showPositionPicker", 2);
1084
- w([
1085
- l({ attribute: "last-applied-setting", reflect: !1, type: Object })
1086
- ], C.prototype, "lastAppliedSetting", 2);
1087
- w([
1088
- l({ reflect: !0, type: Boolean })
1089
- ], C.prototype, "loading", 2);
1090
- w([
1091
- l({ attribute: "crop-modes", reflect: !1, type: Array })
1092
- ], C.prototype, "cropModes", 2);
1093
- w([
1094
- l({ attribute: "focus-modes", reflect: !1, type: Object })
1095
- ], C.prototype, "focusModes", 2);
1096
- w([
1097
- l({ attribute: "focus-mode", reflect: !0, type: String })
1098
- ], C.prototype, "focusMode", 2);
1099
- w([
1100
- l({ attribute: "crop-mode", reflect: !0, type: String })
1101
- ], C.prototype, "cropMode", 2);
1102
- w([
1103
- l({ reflect: !0, type: String })
1104
- ], C.prototype, "position", 2);
1105
- w([
1106
- l({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1107
- ], C.prototype, "keepAspectRatio", 2);
1108
- w([
1109
- R()
1110
- ], C.prototype, "invalidWidth", 2);
1111
- w([
1112
- R()
1113
- ], C.prototype, "invalidHeight", 2);
1114
- w([
1115
- R()
1116
- ], C.prototype, "aspectRatio", 2);
1117
- w([
1118
- _("cropMode", { waitUntilFirstUpdate: !0 }),
1119
- _("maxWidth", { waitUntilFirstUpdate: !0 }),
1120
- _("maxHeight", { waitUntilFirstUpdate: !0 }),
1121
- _("keepAspectRatio")
1122
- ], C.prototype, "handleCropModeChange", 1);
1123
- w([
1124
- _("open", { waitUntilFirstUpdate: !0 })
1125
- ], C.prototype, "handleOpenChange", 1);
1126
- C = w([
1104
+ ], v.prototype, "positionPicker", 2);
1105
+ z([
1106
+ h({ reflect: !0, type: Boolean })
1107
+ ], v.prototype, "open", 2);
1108
+ z([
1109
+ h({ reflect: !0, type: Number })
1110
+ ], v.prototype, "width", 2);
1111
+ z([
1112
+ h({ reflect: !0, type: Number })
1113
+ ], v.prototype, "height", 2);
1114
+ z([
1115
+ h({ attribute: "max-width", reflect: !0, type: Number })
1116
+ ], v.prototype, "maxWidth", 2);
1117
+ z([
1118
+ h({ attribute: "max-height", reflect: !0, type: Number })
1119
+ ], v.prototype, "maxHeight", 2);
1120
+ z([
1121
+ h({ attribute: "ratio-width", reflect: !0, type: Number })
1122
+ ], v.prototype, "ratioWidth", 2);
1123
+ z([
1124
+ h({ attribute: "ratio-height", reflect: !0, type: Number })
1125
+ ], v.prototype, "ratioHeight", 2);
1126
+ z([
1127
+ h({ attribute: "percentage-width", reflect: !0, type: Number })
1128
+ ], v.prototype, "percentageWidth", 2);
1129
+ z([
1130
+ h({ attribute: "percentage-height", reflect: !0, type: Number })
1131
+ ], v.prototype, "percentageHeight", 2);
1132
+ z([
1133
+ h({ reflect: !0, type: String })
1134
+ ], v.prototype, "unit", 2);
1135
+ z([
1136
+ h({ attribute: "disabled-apply", reflect: !0, type: Boolean })
1137
+ ], v.prototype, "disabledApply", 2);
1138
+ z([
1139
+ h({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1140
+ ], v.prototype, "noRatioModes", 2);
1141
+ z([
1142
+ h({ attribute: "show-position-picker", reflect: !0, type: Boolean })
1143
+ ], v.prototype, "showPositionPicker", 2);
1144
+ z([
1145
+ h({ attribute: "last-applied-setting", reflect: !1, type: Object })
1146
+ ], v.prototype, "lastAppliedSetting", 2);
1147
+ z([
1148
+ h({ reflect: !0, type: Boolean })
1149
+ ], v.prototype, "loading", 2);
1150
+ z([
1151
+ h({ attribute: "crop-modes", reflect: !1, type: Array })
1152
+ ], v.prototype, "cropModes", 2);
1153
+ z([
1154
+ h({ attribute: "focus-modes", reflect: !1, type: Object })
1155
+ ], v.prototype, "focusModes", 2);
1156
+ z([
1157
+ h({ attribute: "focus-mode", reflect: !0, type: String })
1158
+ ], v.prototype, "focusMode", 2);
1159
+ z([
1160
+ h({ attribute: "crop-mode", reflect: !0, type: String })
1161
+ ], v.prototype, "cropMode", 2);
1162
+ z([
1163
+ h({ reflect: !0, type: String })
1164
+ ], v.prototype, "position", 2);
1165
+ z([
1166
+ h({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1167
+ ], v.prototype, "keepAspectRatio", 2);
1168
+ z([
1169
+ b()
1170
+ ], v.prototype, "invalidWidth", 2);
1171
+ z([
1172
+ b()
1173
+ ], v.prototype, "invalidHeight", 2);
1174
+ z([
1175
+ b()
1176
+ ], v.prototype, "aspectRatio", 2);
1177
+ z([
1178
+ P("cropMode", { waitUntilFirstUpdate: !0 }),
1179
+ P("maxWidth", { waitUntilFirstUpdate: !0 }),
1180
+ P("maxHeight", { waitUntilFirstUpdate: !0 }),
1181
+ P("keepAspectRatio")
1182
+ ], v.prototype, "handleCropModeChange", 1);
1183
+ z([
1184
+ P("open", { waitUntilFirstUpdate: !0 })
1185
+ ], v.prototype, "handleOpenChange", 1);
1186
+ v = z([
1127
1187
  G("cx-asset-link-format-crop")
1128
- ], C);
1129
- const ke = q`.extension{padding:var(--cx-spacing-small) var(--cx-spacing-medium);border:solid 1px var(--cx-color-neutral-200);background-color:var(--cx-color-neutral-0);& cx-select{flex:1;width:100%}}`;
1130
- var Re = Object.defineProperty, $e = Object.getOwnPropertyDescriptor, kt = (t, e, i, s) => {
1131
- for (var a = s > 1 ? void 0 : s ? $e(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1132
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1133
- return s && a && Re(e, i, a), a;
1188
+ ], v);
1189
+ const $e = q`.extension{padding:var(--cx-spacing-small) var(--cx-spacing-medium);border:solid 1px var(--cx-color-neutral-200);background-color:var(--cx-color-neutral-0);& cx-select{flex:1;width:100%}}`;
1190
+ var Fe = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, Rt = (t, e, i, s) => {
1191
+ for (var a = s > 1 ? void 0 : s ? _e(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1192
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1193
+ return s && a && Fe(e, i, a), a;
1134
1194
  };
1135
- let K = class extends B {
1195
+ let X = class extends B {
1136
1196
  constructor() {
1137
1197
  super(...arguments), this.localize = new j(this), this.value = "", this.items = [];
1138
1198
  }
@@ -1143,44 +1203,52 @@ let K = class extends B {
1143
1203
  });
1144
1204
  }
1145
1205
  render() {
1146
- return A`<cx-space direction="vertical" spacing="small" class="extension"><cx-typography variant="body2">${this.localize.term("extension")}</cx-typography><cx-select data-label=${this.localize.term("extension")} data-testid="cx-asset-link-format-extension-select" value=${this.value} hoist @cx-change=${this.handleExtensionChange}>${ot(
1206
+ return C`<cx-space direction="vertical" spacing="small" class="extension"><cx-typography variant="body2">${this.localize.term("extension")}</cx-typography><cx-select data-label=${this.localize.term("extension")} data-testid="cx-asset-link-format-extension-select" value=${this.value} hoist @cx-change=${this.handleExtensionChange}>${at(
1147
1207
  this.items,
1148
1208
  (t) => t.value,
1149
- (t) => A`<cx-option value=${t.value}>${t.displayName}</cx-option>`
1209
+ (t) => C`<cx-option value=${t.value}>${t.displayName}</cx-option>`
1150
1210
  )}</cx-select></cx-space>`;
1151
1211
  }
1152
1212
  };
1153
- K.styles = [V, ke];
1154
- K.dependencies = {
1213
+ X.styles = [V, $e];
1214
+ X.dependencies = {
1155
1215
  "cx-option": gt,
1156
1216
  "cx-select": xt,
1157
1217
  "cx-space": L,
1158
1218
  "cx-typography": U
1159
1219
  };
1160
- kt([
1161
- l({ reflect: !0, type: String })
1162
- ], K.prototype, "value", 2);
1163
- kt([
1164
- l({ reflect: !1, type: Array })
1165
- ], K.prototype, "items", 2);
1166
- K = kt([
1220
+ Rt([
1221
+ h({ reflect: !0, type: String })
1222
+ ], X.prototype, "value", 2);
1223
+ Rt([
1224
+ h({ reflect: !1, type: Array })
1225
+ ], X.prototype, "items", 2);
1226
+ X = Rt([
1167
1227
  G("cx-asset-link-format-extension")
1168
- ], K);
1169
- const Pe = q`cx-details::part(base){border-bottom-width:0}`;
1170
- var _e = Object.defineProperty, Fe = Object.getOwnPropertyDescriptor, N = (t, e, i, s) => {
1171
- for (var a = s > 1 ? void 0 : s ? Fe(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1172
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1173
- return s && a && _e(e, i, a), a;
1228
+ ], X);
1229
+ const Me = q`cx-details::part(base){border-bottom-width:0}`;
1230
+ var Ie = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, W = (t, e, i, s) => {
1231
+ for (var a = s > 1 ? void 0 : s ? Ee(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1232
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1233
+ return s && a && Ie(e, i, a), a;
1174
1234
  };
1175
- let E = class extends B {
1235
+ const vt = "auto";
1236
+ let M = class extends B {
1176
1237
  constructor() {
1177
- super(...arguments), this.localize = new j(this), this.open = !1, this.value = "", this.items = [], this.loading = !1, this.scopedValue = "";
1238
+ super(...arguments), this.localize = new j(this), this.open = !1, this.value = "", this.items = [], this.canAutoFormat = !1, this.autoFormat = !1, this.loading = !1, this.scopedValue = "";
1239
+ }
1240
+ /**
1241
+ * The listbox value that represents the committed choice: the `Auto` entry when that is
1242
+ * active, otherwise the resolved proxy id.
1243
+ */
1244
+ get committedValue() {
1245
+ return this.autoFormat ? vt : this.value;
1178
1246
  }
1179
1247
  handleValueChange() {
1180
- this.scopedValue = this.value;
1248
+ this.scopedValue = this.committedValue;
1181
1249
  }
1182
1250
  handleOpenChange() {
1183
- this.open || (this.scopedValue = this.value);
1251
+ this.open || (this.scopedValue = this.committedValue);
1184
1252
  }
1185
1253
  handleProxyChange(t) {
1186
1254
  const e = t.target.value;
@@ -1194,11 +1262,17 @@ let E = class extends B {
1194
1262
  handleApply() {
1195
1263
  if (this.loading)
1196
1264
  return;
1197
- const t = this.items.find(
1198
- (e) => e.id === this.scopedValue
1265
+ if (this.scopedValue === vt) {
1266
+ this.emit("cx-asset-link-format-proxy-change", {
1267
+ detail: { autoFormat: !0 }
1268
+ });
1269
+ return;
1270
+ }
1271
+ const e = this.items.find(
1272
+ (i) => i.id === this.scopedValue
1199
1273
  );
1200
- t && this.emit("cx-asset-link-format-proxy-change", {
1201
- detail: t
1274
+ e && this.emit("cx-asset-link-format-proxy-change", {
1275
+ detail: { ...e, autoFormat: !1 }
1202
1276
  });
1203
1277
  }
1204
1278
  /**
@@ -1218,59 +1292,72 @@ let E = class extends B {
1218
1292
  t.target !== this.base && t.stopPropagation();
1219
1293
  }
1220
1294
  render() {
1221
- return A`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="photo_size_select_large"></cx-icon></div><cx-typography variant="body2">${this.localize.term("format")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small" class="format"><cx-select data-label=${this.localize.term("imageFormat")} data-testid="cx-asset-link-format-proxy-select" value=${this.scopedValue} hoist @cx-change=${this.handleProxyChange} ?disabled=${this.loading}>${ot(
1295
+ return C`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="photo_size_select_large"></cx-icon></div><cx-typography variant="body2">${this.localize.term("format")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small" class="format"><cx-select data-label=${this.localize.term("imageFormat")} data-testid="cx-asset-link-format-proxy-select" value=${this.scopedValue} hoist @cx-change=${this.handleProxyChange} ?disabled=${this.loading}>${at(
1222
1296
  this.items,
1223
1297
  (t) => t.id,
1224
- (t) => A`<cx-option value=${t.id}>${t.proxyLabel}</cx-option>`
1225
- )}</cx-select><cx-button data-testid="cx-asset-link-format-proxy-apply" variant="primary" style=${D({
1298
+ (t) => C`<cx-option value=${t.id}>${t.proxyLabel}</cx-option>`
1299
+ )}
1300
+ ${_(
1301
+ this.canAutoFormat,
1302
+ () => C`<cx-divider></cx-divider><cx-option data-testid="cx-asset-link-format-proxy-auto-option" value=${vt}>${this.localize.term("auto")}</cx-option>`,
1303
+ () => Nt
1304
+ )}</cx-select><cx-button data-testid="cx-asset-link-format-proxy-apply" variant="primary" style=${N({
1226
1305
  "margin-left": "auto"
1227
- })} ?disabled=${this.scopedValue === this.value} ?loading=${this.loading} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1306
+ })} ?disabled=${this.scopedValue === this.committedValue} ?loading=${this.loading} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1228
1307
  }
1229
1308
  };
1230
- E.styles = [V, Pe];
1231
- E.dependencies = {
1309
+ M.styles = [V, Me];
1310
+ M.dependencies = {
1232
1311
  "cx-button": Z,
1233
1312
  "cx-details": et,
1313
+ "cx-divider": Lt,
1234
1314
  "cx-icon": it,
1235
1315
  "cx-option": gt,
1236
1316
  "cx-select": xt,
1237
1317
  "cx-space": L,
1238
1318
  "cx-typography": U
1239
1319
  };
1240
- N([
1320
+ W([
1241
1321
  Y(".details")
1242
- ], E.prototype, "base", 2);
1243
- N([
1244
- l({ reflect: !0, type: Boolean })
1245
- ], E.prototype, "open", 2);
1246
- N([
1247
- l({ reflect: !0, type: String })
1248
- ], E.prototype, "value", 2);
1249
- N([
1250
- l({ reflect: !1, type: Array })
1251
- ], E.prototype, "items", 2);
1252
- N([
1253
- l({ reflect: !0, type: Boolean })
1254
- ], E.prototype, "loading", 2);
1255
- N([
1256
- R()
1257
- ], E.prototype, "scopedValue", 2);
1258
- N([
1259
- _("value")
1260
- ], E.prototype, "handleValueChange", 1);
1261
- N([
1262
- _("open", { waitUntilFirstUpdate: !0 })
1263
- ], E.prototype, "handleOpenChange", 1);
1264
- E = N([
1322
+ ], M.prototype, "base", 2);
1323
+ W([
1324
+ h({ reflect: !0, type: Boolean })
1325
+ ], M.prototype, "open", 2);
1326
+ W([
1327
+ h({ reflect: !0, type: String })
1328
+ ], M.prototype, "value", 2);
1329
+ W([
1330
+ h({ reflect: !1, type: Array })
1331
+ ], M.prototype, "items", 2);
1332
+ W([
1333
+ h({ attribute: "can-auto-format", reflect: !0, type: Boolean })
1334
+ ], M.prototype, "canAutoFormat", 2);
1335
+ W([
1336
+ h({ attribute: "auto-format", reflect: !0, type: Boolean })
1337
+ ], M.prototype, "autoFormat", 2);
1338
+ W([
1339
+ h({ reflect: !0, type: Boolean })
1340
+ ], M.prototype, "loading", 2);
1341
+ W([
1342
+ b()
1343
+ ], M.prototype, "scopedValue", 2);
1344
+ W([
1345
+ P("autoFormat"),
1346
+ P("value")
1347
+ ], M.prototype, "handleValueChange", 1);
1348
+ W([
1349
+ P("open", { waitUntilFirstUpdate: !0 })
1350
+ ], M.prototype, "handleOpenChange", 1);
1351
+ M = W([
1265
1352
  G("cx-asset-link-format-proxy")
1266
- ], E);
1267
- const Me = q`cx-details::part(base){border-bottom-width:0}`;
1268
- var Ie = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, J = (t, e, i, s) => {
1269
- for (var a = s > 1 ? void 0 : s ? Ee(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1270
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1271
- return s && a && Ie(e, i, a), a;
1353
+ ], M);
1354
+ const He = q`cx-details::part(base){border-bottom-width:0}`;
1355
+ var Te = Object.defineProperty, We = Object.getOwnPropertyDescriptor, J = (t, e, i, s) => {
1356
+ for (var a = s > 1 ? void 0 : s ? We(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1357
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1358
+ return s && a && Te(e, i, a), a;
1272
1359
  };
1273
- let H = class extends B {
1360
+ let T = class extends B {
1274
1361
  constructor() {
1275
1362
  super(...arguments), this.localize = new j(this), this.open = !1, this.value = 100, this.loading = !1, this.scopedValue = 100;
1276
1363
  }
@@ -1316,53 +1403,53 @@ let H = class extends B {
1316
1403
  t.target !== this.base && t.stopPropagation();
1317
1404
  }
1318
1405
  render() {
1319
- return A`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div class="details__summary__icon"><div part="icon"><cx-icon name="blur_on"></cx-icon></div></div><cx-typography variant="body2">${this.localize.term("quality")}</cx-typography></cx-space><cx-space spacing="small"><cx-tooltip data-testid="cx-asset-link-format-quality-tooltip" content=${this.localize.term("qualityHelpText")} hoist><cx-input data-testid="cx-asset-link-format-quality" class="details__checkbox" mask="num" .maskBlocks=${{ num: { mask: Number, max: 100, min: 1 } }} value=${this.scopedValue.toString()} style=${D({
1406
+ return C`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div class="details__summary__icon"><div part="icon"><cx-icon name="blur_on"></cx-icon></div></div><cx-typography variant="body2">${this.localize.term("quality")}</cx-typography></cx-space><cx-space spacing="small"><cx-tooltip data-testid="cx-asset-link-format-quality-tooltip" content=${this.localize.term("qualityHelpText")} hoist><cx-input data-testid="cx-asset-link-format-quality" class="details__checkbox" mask="num" .maskBlocks=${{ num: { mask: Number, max: 100, min: 1 } }} value=${this.scopedValue.toString()} style=${N({
1320
1407
  flex: "1"
1321
1408
  })} @cx-input=${this.handleQualityChange}></cx-input></cx-tooltip><cx-button data-testid="cx-asset-link-format-quality-apply" variant="primary" ?disabled=${this.invalidValue} ?loading=${this.loading} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1322
1409
  }
1323
1410
  };
1324
- H.styles = [V, Me];
1325
- H.dependencies = {
1411
+ T.styles = [V, He];
1412
+ T.dependencies = {
1326
1413
  "cx-button": Z,
1327
1414
  "cx-details": et,
1328
1415
  "cx-icon": it,
1329
- "cx-input": bt,
1416
+ "cx-input": kt,
1330
1417
  "cx-space": L,
1331
- "cx-tooltip": Lt,
1418
+ "cx-tooltip": Ut,
1332
1419
  "cx-typography": U
1333
1420
  };
1334
1421
  J([
1335
1422
  Y(".details")
1336
- ], H.prototype, "base", 2);
1423
+ ], T.prototype, "base", 2);
1337
1424
  J([
1338
- l({ reflect: !0, type: Boolean })
1339
- ], H.prototype, "open", 2);
1425
+ h({ reflect: !0, type: Boolean })
1426
+ ], T.prototype, "open", 2);
1340
1427
  J([
1341
- l({ reflect: !0, type: Number })
1342
- ], H.prototype, "value", 2);
1428
+ h({ reflect: !0, type: Number })
1429
+ ], T.prototype, "value", 2);
1343
1430
  J([
1344
- l({ reflect: !0, type: Boolean })
1345
- ], H.prototype, "loading", 2);
1431
+ h({ reflect: !0, type: Boolean })
1432
+ ], T.prototype, "loading", 2);
1346
1433
  J([
1347
- R()
1348
- ], H.prototype, "scopedValue", 2);
1434
+ b()
1435
+ ], T.prototype, "scopedValue", 2);
1349
1436
  J([
1350
- _("value")
1351
- ], H.prototype, "handleValueChange", 1);
1352
- H = J([
1437
+ P("value")
1438
+ ], T.prototype, "handleValueChange", 1);
1439
+ T = J([
1353
1440
  G("cx-asset-link-format-quality")
1354
- ], H);
1355
- const Te = q`cx-details::part(base){border-bottom-width:0}cx-space{width:100%}cx-space cx-input{flex:1}.resize__unit-select{width:120px}.resize__input-group{flex:1;display:flex}`;
1356
- var He = Object.defineProperty, We = Object.getOwnPropertyDescriptor, $ = (t, e, i, s) => {
1357
- for (var a = s > 1 ? void 0 : s ? We(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1358
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1359
- return s && a && He(e, i, a), a;
1441
+ ], T);
1442
+ const De = q`cx-details::part(base){border-bottom-width:0}cx-space{width:100%}cx-space cx-input{flex:1}.resize__unit-select{width:120px}.resize__input-group{flex:1;display:flex}`;
1443
+ var Ne = Object.defineProperty, Oe = Object.getOwnPropertyDescriptor, R = (t, e, i, s) => {
1444
+ for (var a = s > 1 ? void 0 : s ? Oe(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1445
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1446
+ return s && a && Ne(e, i, a), a;
1360
1447
  };
1361
- let v = class extends B {
1448
+ let w = class extends B {
1362
1449
  constructor() {
1363
- super(...arguments), this.localize = new j(this), this.open = !1, this.width = 0, this.height = 0, this.maxWidth = 0, this.maxHeight = 0, this.ratioWidth = 1, this.ratioHeight = 1, this.unit = o.Pixel, this.lastAppliedSetting = {
1364
- [o.Pixel]: { height: 0, width: 0 },
1365
- [o.AspectRatio]: { height: 1, width: 1 }
1450
+ super(...arguments), this.localize = new j(this), this.open = !1, this.width = 0, this.height = 0, this.maxWidth = 0, this.maxHeight = 0, this.ratioWidth = 1, this.ratioHeight = 1, this.unit = r.Pixel, this.lastAppliedSetting = {
1451
+ [r.Pixel]: { height: 0, width: 0 },
1452
+ [r.AspectRatio]: { height: 1, width: 1 }
1366
1453
  }, this.loading = !1, this.noRatioModes = !1, this.keepAspectRatio = !1, this.invalidWidth = !1, this.invalidHeight = !1, this.aspectRatio = 0;
1367
1454
  }
1368
1455
  /**
@@ -1376,11 +1463,11 @@ let v = class extends B {
1376
1463
  async handleCropModeChange() {
1377
1464
  const t = Number.isFinite(this.maxWidth) && Number.isFinite(this.maxHeight) && this.maxWidth > 0 && this.maxHeight > 0;
1378
1465
  if (this.keepAspectRatio) {
1379
- if (this.unit === o.AspectRatio && this.ratioWidth && this.ratioHeight) {
1466
+ if (this.unit === r.AspectRatio && this.ratioWidth && this.ratioHeight) {
1380
1467
  this.aspectRatio = this.ratioWidth / this.ratioHeight;
1381
1468
  return;
1382
1469
  }
1383
- if (this.unit === o.Pixel && !t && this.width && this.height) {
1470
+ if (this.unit === r.Pixel && !t && this.width && this.height) {
1384
1471
  this.aspectRatio = this.width / this.height;
1385
1472
  return;
1386
1473
  }
@@ -1411,8 +1498,8 @@ let v = class extends B {
1411
1498
  }
1412
1499
  this.invalidWidth = !1;
1413
1500
  let e = Number(t.target.value);
1414
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
1415
- let i = this.unit === o.Pixel ? this.height : this.ratioHeight;
1501
+ this.unit === r.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
1502
+ let i = this.unit === r.Pixel ? this.height : this.ratioHeight;
1416
1503
  this.keepAspectRatio && (i = Math.min(
1417
1504
  Math.round(e / this.aspectRatio),
1418
1505
  this.maxHeight
@@ -1432,8 +1519,8 @@ let v = class extends B {
1432
1519
  }
1433
1520
  this.invalidHeight = !1;
1434
1521
  let e = Number(t.target.value);
1435
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
1436
- let i = this.unit === o.Pixel ? this.width : this.ratioWidth;
1522
+ this.unit === r.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
1523
+ let i = this.unit === r.Pixel ? this.width : this.ratioWidth;
1437
1524
  this.keepAspectRatio && (i = Math.min(
1438
1525
  Math.round(e * this.aspectRatio),
1439
1526
  this.maxWidth
@@ -1447,19 +1534,19 @@ let v = class extends B {
1447
1534
  });
1448
1535
  }
1449
1536
  onUnitChange(t) {
1450
- t.target.value === o.AspectRatio ? this.emit("cx-asset-link-format-resize-change", {
1537
+ t.target.value === r.AspectRatio ? this.emit("cx-asset-link-format-resize-change", {
1451
1538
  detail: {
1452
- height: this.lastAppliedSetting[o.AspectRatio].height,
1539
+ height: this.lastAppliedSetting[r.AspectRatio].height,
1453
1540
  keepAspectRatio: this.keepAspectRatio,
1454
- unit: o.AspectRatio,
1455
- width: this.lastAppliedSetting[o.AspectRatio].width
1541
+ unit: r.AspectRatio,
1542
+ width: this.lastAppliedSetting[r.AspectRatio].width
1456
1543
  }
1457
1544
  }) : this.emit("cx-asset-link-format-resize-change", {
1458
1545
  detail: {
1459
- height: this.lastAppliedSetting[o.Pixel].height,
1546
+ height: this.lastAppliedSetting[r.Pixel].height,
1460
1547
  keepAspectRatio: this.keepAspectRatio,
1461
- unit: o.Pixel,
1462
- width: this.lastAppliedSetting[o.Pixel].width
1548
+ unit: r.Pixel,
1549
+ width: this.lastAppliedSetting[r.Pixel].width
1463
1550
  }
1464
1551
  });
1465
1552
  }
@@ -1491,107 +1578,107 @@ let v = class extends B {
1491
1578
  handleAspectRatioClick() {
1492
1579
  this.emit("cx-asset-link-format-resize-change", {
1493
1580
  detail: {
1494
- height: this.unit === o.Pixel ? this.height : this.ratioHeight,
1581
+ height: this.unit === r.Pixel ? this.height : this.ratioHeight,
1495
1582
  keepAspectRatio: !this.keepAspectRatio,
1496
1583
  unit: this.unit,
1497
- width: this.unit === o.Pixel ? this.width : this.ratioWidth
1584
+ width: this.unit === r.Pixel ? this.width : this.ratioWidth
1498
1585
  }
1499
1586
  });
1500
1587
  }
1501
1588
  render() {
1502
- return A`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="aspect_ratio"></cx-icon></div><cx-typography variant="body2">${this.localize.term("resize")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small"><cx-space spacing="small"><div class="resize__input-group"><cx-input data-testid="cx-asset-link-format-resize-width" placeholder=${this.localize.term("width")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === o.Pixel ? this.width.toString() : this.ratioWidth.toString()} @cx-input=${this.handleWidthChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
1589
+ return C`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="aspect_ratio"></cx-icon></div><cx-typography variant="body2">${this.localize.term("resize")}</cx-typography></cx-space><cx-space direction="vertical" spacing="small"><cx-space spacing="small"><div class="resize__input-group"><cx-input data-testid="cx-asset-link-format-resize-width" placeholder=${this.localize.term("width")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === r.Pixel ? this.width.toString() : this.ratioWidth.toString()} @cx-input=${this.handleWidthChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
1503
1590
  W
1504
- </cx-typography></cx-input><cx-icon-button data-testid="cx-asset-link-format-resize-aspect-ratio" name=${this.keepAspectRatio ? "insert_link" : "link_off"} @click=${this.handleAspectRatioClick} style=${D({
1591
+ </cx-typography></cx-input><cx-icon-button data-testid="cx-asset-link-format-resize-aspect-ratio" name=${this.keepAspectRatio ? "insert_link" : "link_off"} @click=${this.handleAspectRatioClick} style=${N({
1505
1592
  color: this.keepAspectRatio ? "var(--cx-color-primary)" : void 0
1506
- })} ?disabled=${this.loading}></cx-icon-button><cx-input data-testid="cx-asset-link-format-resize-height" placeholder=${this.localize.term("height")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === o.Pixel ? this.height.toString() : this.ratioHeight.toString()} @cx-input=${this.handleHeightChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
1593
+ })} ?disabled=${this.loading}></cx-icon-button><cx-input data-testid="cx-asset-link-format-resize-height" placeholder=${this.localize.term("height")} mask="num" .maskBlocks=${{ num: { mask: Number, min: 1 } }} value=${this.unit === r.Pixel ? this.height.toString() : this.ratioHeight.toString()} @cx-input=${this.handleHeightChange} required ?disabled=${this.loading}><cx-typography slot="prefix" variant="body3" part="input-label">
1507
1594
  H
1508
- </cx-typography></cx-input></div>${M(
1595
+ </cx-typography></cx-input></div>${_(
1509
1596
  !this.noRatioModes,
1510
- () => A`<cx-select data-testid="cx-asset-link-format-resize-unit" value=${this.unit} hoist class="resize__unit-select" @cx-change=${this.onUnitChange}><cx-option value=${o.Pixel}>${this.localize.term("pixels")}</cx-option><cx-option value=${o.AspectRatio}>${this.localize.term("aspectRatio")}</cx-option></cx-select>`
1511
- )}</cx-space><cx-button data-testid="cx-asset-link-format-resize-apply" variant="primary" ?disabled=${this.disabledApply || this.invalidHeight || this.invalidWidth} ?loading=${this.loading} style=${D({
1597
+ () => C`<cx-select data-testid="cx-asset-link-format-resize-unit" value=${this.unit} hoist class="resize__unit-select" @cx-change=${this.onUnitChange}><cx-option value=${r.Pixel}>${this.localize.term("pixels")}</cx-option><cx-option value=${r.AspectRatio}>${this.localize.term("aspectRatio")}</cx-option></cx-select>`
1598
+ )}</cx-space><cx-button data-testid="cx-asset-link-format-resize-apply" variant="primary" ?disabled=${this.disabledApply || this.invalidHeight || this.invalidWidth} ?loading=${this.loading} style=${N({
1512
1599
  marginLeft: "auto"
1513
1600
  })} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1514
1601
  }
1515
1602
  };
1516
- v.styles = [V, Te];
1517
- v.dependencies = {
1603
+ w.styles = [V, De];
1604
+ w.dependencies = {
1518
1605
  "cx-button": Z,
1519
1606
  "cx-details": et,
1520
1607
  "cx-icon": it,
1521
- "cx-icon-button": vt,
1522
- "cx-input": bt,
1608
+ "cx-icon-button": bt,
1609
+ "cx-input": kt,
1523
1610
  "cx-option": gt,
1524
1611
  "cx-select": xt,
1525
1612
  "cx-space": L,
1526
1613
  "cx-typography": U
1527
1614
  };
1528
- $([
1615
+ R([
1529
1616
  Y(".details")
1530
- ], v.prototype, "base", 2);
1531
- $([
1532
- l({ reflect: !0, type: Boolean })
1533
- ], v.prototype, "open", 2);
1534
- $([
1535
- l({ reflect: !0, type: Number })
1536
- ], v.prototype, "width", 2);
1537
- $([
1538
- l({ reflect: !0, type: Number })
1539
- ], v.prototype, "height", 2);
1540
- $([
1541
- l({ attribute: "max-width", reflect: !0, type: Number })
1542
- ], v.prototype, "maxWidth", 2);
1543
- $([
1544
- l({ attribute: "max-height", reflect: !0, type: Number })
1545
- ], v.prototype, "maxHeight", 2);
1546
- $([
1547
- l({ attribute: "ratio-width", reflect: !0, type: Number })
1548
- ], v.prototype, "ratioWidth", 2);
1549
- $([
1550
- l({ attribute: "ratio-height", reflect: !0, type: Number })
1551
- ], v.prototype, "ratioHeight", 2);
1552
- $([
1553
- l({ reflect: !0, type: String })
1554
- ], v.prototype, "unit", 2);
1555
- $([
1556
- l({ attribute: "last-applied-setting", reflect: !1, type: Object })
1557
- ], v.prototype, "lastAppliedSetting", 2);
1558
- $([
1559
- l({ reflect: !0, type: Boolean })
1560
- ], v.prototype, "loading", 2);
1561
- $([
1562
- l({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1563
- ], v.prototype, "noRatioModes", 2);
1564
- $([
1565
- l({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1566
- ], v.prototype, "keepAspectRatio", 2);
1567
- $([
1568
- R()
1569
- ], v.prototype, "invalidWidth", 2);
1570
- $([
1571
- R()
1572
- ], v.prototype, "invalidHeight", 2);
1573
- $([
1574
- R()
1575
- ], v.prototype, "aspectRatio", 2);
1576
- $([
1577
- _("cropMode", { waitUntilFirstUpdate: !0 }),
1578
- _("maxWidth", { waitUntilFirstUpdate: !0 }),
1579
- _("maxHeight", { waitUntilFirstUpdate: !0 }),
1580
- _("keepAspectRatio")
1581
- ], v.prototype, "handleCropModeChange", 1);
1582
- $([
1583
- _("open", { waitUntilFirstUpdate: !0 })
1584
- ], v.prototype, "handleOpenChange", 1);
1585
- v = $([
1617
+ ], w.prototype, "base", 2);
1618
+ R([
1619
+ h({ reflect: !0, type: Boolean })
1620
+ ], w.prototype, "open", 2);
1621
+ R([
1622
+ h({ reflect: !0, type: Number })
1623
+ ], w.prototype, "width", 2);
1624
+ R([
1625
+ h({ reflect: !0, type: Number })
1626
+ ], w.prototype, "height", 2);
1627
+ R([
1628
+ h({ attribute: "max-width", reflect: !0, type: Number })
1629
+ ], w.prototype, "maxWidth", 2);
1630
+ R([
1631
+ h({ attribute: "max-height", reflect: !0, type: Number })
1632
+ ], w.prototype, "maxHeight", 2);
1633
+ R([
1634
+ h({ attribute: "ratio-width", reflect: !0, type: Number })
1635
+ ], w.prototype, "ratioWidth", 2);
1636
+ R([
1637
+ h({ attribute: "ratio-height", reflect: !0, type: Number })
1638
+ ], w.prototype, "ratioHeight", 2);
1639
+ R([
1640
+ h({ reflect: !0, type: String })
1641
+ ], w.prototype, "unit", 2);
1642
+ R([
1643
+ h({ attribute: "last-applied-setting", reflect: !1, type: Object })
1644
+ ], w.prototype, "lastAppliedSetting", 2);
1645
+ R([
1646
+ h({ reflect: !0, type: Boolean })
1647
+ ], w.prototype, "loading", 2);
1648
+ R([
1649
+ h({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1650
+ ], w.prototype, "noRatioModes", 2);
1651
+ R([
1652
+ h({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1653
+ ], w.prototype, "keepAspectRatio", 2);
1654
+ R([
1655
+ b()
1656
+ ], w.prototype, "invalidWidth", 2);
1657
+ R([
1658
+ b()
1659
+ ], w.prototype, "invalidHeight", 2);
1660
+ R([
1661
+ b()
1662
+ ], w.prototype, "aspectRatio", 2);
1663
+ R([
1664
+ P("cropMode", { waitUntilFirstUpdate: !0 }),
1665
+ P("maxWidth", { waitUntilFirstUpdate: !0 }),
1666
+ P("maxHeight", { waitUntilFirstUpdate: !0 }),
1667
+ P("keepAspectRatio")
1668
+ ], w.prototype, "handleCropModeChange", 1);
1669
+ R([
1670
+ P("open", { waitUntilFirstUpdate: !0 })
1671
+ ], w.prototype, "handleOpenChange", 1);
1672
+ w = R([
1586
1673
  G("cx-asset-link-format-resize")
1587
- ], v);
1588
- const De = q`cx-details::part(base){border-bottom-width:0}`;
1589
- var Ne = Object.defineProperty, Oe = Object.getOwnPropertyDescriptor, Q = (t, e, i, s) => {
1590
- for (var a = s > 1 ? void 0 : s ? Oe(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1591
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1592
- return s && a && Ne(e, i, a), a;
1674
+ ], w);
1675
+ const Le = q`cx-details::part(base){border-bottom-width:0}`;
1676
+ var Ue = Object.defineProperty, Be = Object.getOwnPropertyDescriptor, Q = (t, e, i, s) => {
1677
+ for (var a = s > 1 ? void 0 : s ? Be(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1678
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1679
+ return s && a && Ue(e, i, a), a;
1593
1680
  };
1594
- let T = class extends B {
1681
+ let H = class extends B {
1595
1682
  constructor() {
1596
1683
  super(...arguments), this.localize = new j(this), this.open = !1, this.value = 0, this.defaultValue = 0, this.loading = !1, this.lastAppliedValue = 0;
1597
1684
  }
@@ -1604,14 +1691,14 @@ let T = class extends B {
1604
1691
  const e = t.target.value, i = Number(e);
1605
1692
  if (Number.isNaN(i))
1606
1693
  return;
1607
- const s = _t(i);
1694
+ const s = Ft(i);
1608
1695
  (i > 360 || i < -360) && (t.target.value = s.toString()), this.emit("cx-asset-link-format-rotation-change", {
1609
1696
  detail: s
1610
1697
  });
1611
1698
  }
1612
1699
  handleButtonClick(t) {
1613
1700
  this.emit("cx-asset-link-format-rotation-change", {
1614
- detail: _t(t)
1701
+ detail: Ft(t)
1615
1702
  });
1616
1703
  }
1617
1704
  handleClockwiseClick() {
@@ -1631,51 +1718,51 @@ let T = class extends B {
1631
1718
  });
1632
1719
  }
1633
1720
  render() {
1634
- return A`<cx-details class="details" ?open=${this.open}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="rotate_90_degrees_cw"></cx-icon></div><cx-typography variant="body2">Rotate</cx-typography></cx-space><cx-space spacing="small"><cx-button-group label=${this.localize.term("history")}><cx-icon-button data-testid="cx-asset-link-format-rotation-ccw" name="rotate_90_degrees_ccw" label=${this.localize.term("undo")} outline size="small" ?disabled=${this.loading || this.value === -360} @click=${this.handleCounterClockwiseClick}></cx-icon-button><cx-icon-button data-testid="cx-asset-link-format-rotation-cw" name="rotate_90_degrees_cw" label=${this.localize.term("redo")} outline size="small" ?disabled=${this.loading || this.value === 360} @click=${this.handleClockwiseClick}></cx-icon-button></cx-button-group><cx-input data-testid="cx-asset-link-format-rotation" value=${(this.value + this.defaultValue).toString()} placeholder="0" mask="num" .maskBlocks=${{ num: { mask: Number, max: 360, min: -360, signed: !0 } }} ?disabled=${this.loading} style=${D({
1721
+ return C`<cx-details class="details" ?open=${this.open}><cx-space slot="summary" align-items="center"><div part="icon"><cx-icon name="rotate_90_degrees_cw"></cx-icon></div><cx-typography variant="body2">Rotate</cx-typography></cx-space><cx-space spacing="small"><cx-button-group label=${this.localize.term("history")}><cx-icon-button data-testid="cx-asset-link-format-rotation-ccw" name="rotate_90_degrees_ccw" label=${this.localize.term("undo")} outline size="small" ?disabled=${this.loading || this.value === -360} @click=${this.handleCounterClockwiseClick}></cx-icon-button><cx-icon-button data-testid="cx-asset-link-format-rotation-cw" name="rotate_90_degrees_cw" label=${this.localize.term("redo")} outline size="small" ?disabled=${this.loading || this.value === 360} @click=${this.handleClockwiseClick}></cx-icon-button></cx-button-group><cx-input data-testid="cx-asset-link-format-rotation" value=${(this.value + this.defaultValue).toString()} placeholder="0" mask="num" .maskBlocks=${{ num: { mask: Number, max: 360, min: -360, signed: !0 } }} ?disabled=${this.loading} style=${N({
1635
1722
  flex: "none",
1636
1723
  width: "80px"
1637
1724
  })} @cx-input=${this.handleRotationChange}></cx-input><cx-button data-testid="cx-asset-link-format-rotation-apply" variant="primary" ?disabled=${this.value === this.lastAppliedValue} ?loading=${this.loading} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1638
1725
  }
1639
1726
  };
1640
- T.styles = [V, De];
1641
- T.dependencies = {
1727
+ H.styles = [V, Le];
1728
+ H.dependencies = {
1642
1729
  "cx-button": Z,
1643
1730
  "cx-button-group": ie,
1644
1731
  "cx-details": et,
1645
1732
  "cx-icon": it,
1646
- "cx-icon-button": vt,
1733
+ "cx-icon-button": bt,
1647
1734
  "cx-space": L,
1648
1735
  "cx-typography": U
1649
1736
  };
1650
1737
  Q([
1651
1738
  Y(".details")
1652
- ], T.prototype, "base", 2);
1739
+ ], H.prototype, "base", 2);
1653
1740
  Q([
1654
- l({ reflect: !0, type: Boolean })
1655
- ], T.prototype, "open", 2);
1741
+ h({ reflect: !0, type: Boolean })
1742
+ ], H.prototype, "open", 2);
1656
1743
  Q([
1657
- l({ reflect: !0, type: Number })
1658
- ], T.prototype, "value", 2);
1744
+ h({ reflect: !0, type: Number })
1745
+ ], H.prototype, "value", 2);
1659
1746
  Q([
1660
- l({ attribute: "default-value", reflect: !0, type: Number })
1661
- ], T.prototype, "defaultValue", 2);
1747
+ h({ attribute: "default-value", reflect: !0, type: Number })
1748
+ ], H.prototype, "defaultValue", 2);
1662
1749
  Q([
1663
- l({ reflect: !0, type: Boolean })
1664
- ], T.prototype, "loading", 2);
1750
+ h({ reflect: !0, type: Boolean })
1751
+ ], H.prototype, "loading", 2);
1665
1752
  Q([
1666
- l({ attribute: "last-applied-value", reflect: !0, type: Number })
1667
- ], T.prototype, "lastAppliedValue", 2);
1753
+ h({ attribute: "last-applied-value", reflect: !0, type: Number })
1754
+ ], H.prototype, "lastAppliedValue", 2);
1668
1755
  Q([
1669
- _("open", { waitUntilFirstUpdate: !0 })
1670
- ], T.prototype, "handleOpenChange", 1);
1671
- T = Q([
1756
+ P("open", { waitUntilFirstUpdate: !0 })
1757
+ ], H.prototype, "handleOpenChange", 1);
1758
+ H = Q([
1672
1759
  G("cx-asset-link-format-rotation")
1673
- ], T);
1674
- const Le = q`cx-details::part(base){border-bottom-width:0}`;
1675
- var Ue = Object.defineProperty, Be = Object.getOwnPropertyDescriptor, yt = (t, e, i, s) => {
1676
- for (var a = s > 1 ? void 0 : s ? Be(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1677
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1678
- return s && a && Ue(e, i, a), a;
1760
+ ], H);
1761
+ const qe = q`cx-details::part(base){border-bottom-width:0}`;
1762
+ var je = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, yt = (t, e, i, s) => {
1763
+ for (var a = s > 1 ? void 0 : s ? Ve(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1764
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1765
+ return s && a && je(e, i, a), a;
1679
1766
  };
1680
1767
  let O = class extends B {
1681
1768
  constructor() {
@@ -1703,37 +1790,37 @@ let O = class extends B {
1703
1790
  t.target !== this.base && t.stopPropagation();
1704
1791
  }
1705
1792
  render() {
1706
- return A`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div class="details__summary__icon"><div part="icon"><cx-icon name="short_text"></cx-icon></div></div><cx-typography variant="body2">${this.localize.term("metadata")}</cx-typography></cx-space><cx-space spacing="small"><cx-tooltip data-testid="cx-asset-link-format-metadata-tooltip" content=${this.localize.term("metadataHelpText")} hoist><cx-checkbox data-testid="cx-asset-link-format-metadata" class="details__checkbox" ?checked=${this.value} @cx-change=${this.handleApply}>${this.localize.term("preserveMetadata")}</cx-checkbox></cx-tooltip></cx-space></cx-details>`;
1793
+ return C`<cx-details class="details" ?open=${this.open} @cx-show=${this.onShowDetails} @cx-hide=${this.onHideDetails}><cx-space slot="summary" align-items="center"><div class="details__summary__icon"><div part="icon"><cx-icon name="short_text"></cx-icon></div></div><cx-typography variant="body2">${this.localize.term("metadata")}</cx-typography></cx-space><cx-space spacing="small"><cx-tooltip data-testid="cx-asset-link-format-metadata-tooltip" content=${this.localize.term("metadataHelpText")} hoist><cx-checkbox data-testid="cx-asset-link-format-metadata" class="details__checkbox" ?checked=${this.value} @cx-change=${this.handleApply}>${this.localize.term("preserveMetadata")}</cx-checkbox></cx-tooltip></cx-space></cx-details>`;
1707
1794
  }
1708
1795
  };
1709
- O.styles = [V, Le];
1796
+ O.styles = [V, qe];
1710
1797
  O.dependencies = {
1711
1798
  "cx-button": Z,
1712
1799
  "cx-checkbox": se,
1713
1800
  "cx-details": et,
1714
1801
  "cx-icon": it,
1715
1802
  "cx-space": L,
1716
- "cx-tooltip": Lt,
1803
+ "cx-tooltip": Ut,
1717
1804
  "cx-typography": U
1718
1805
  };
1719
1806
  yt([
1720
1807
  Y(".details")
1721
1808
  ], O.prototype, "base", 2);
1722
1809
  yt([
1723
- l({ reflect: !0, type: Boolean })
1810
+ h({ reflect: !0, type: Boolean })
1724
1811
  ], O.prototype, "open", 2);
1725
1812
  yt([
1726
- l({ reflect: !0, type: Boolean })
1813
+ h({ reflect: !0, type: Boolean })
1727
1814
  ], O.prototype, "value", 2);
1728
1815
  O = yt([
1729
1816
  G("cx-asset-link-format-metadata")
1730
1817
  ], O);
1731
- var qe = Object.defineProperty, je = Object.getOwnPropertyDescriptor, S = (t, e, i, s) => {
1732
- for (var a = s > 1 ? void 0 : s ? je(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1733
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1734
- return s && a && qe(e, i, a), a;
1818
+ var Ge = Object.defineProperty, Qe = Object.getOwnPropertyDescriptor, x = (t, e, i, s) => {
1819
+ for (var a = s > 1 ? void 0 : s ? Qe(e, i) : e, o = t.length - 1, n; o >= 0; o--)
1820
+ (n = t[o]) && (a = (s ? n(e, i, a) : n(a)) || a);
1821
+ return s && a && Ge(e, i, a), a;
1735
1822
  };
1736
- let x = class extends B {
1823
+ let u = class extends B {
1737
1824
  constructor() {
1738
1825
  super(), this.localize = new j(this), this.baseUrl = void 0, this.token = void 0, this.asset = void 0, this.cropModes = [
1739
1826
  {
@@ -1794,7 +1881,7 @@ let x = class extends B {
1794
1881
  label: "Smart Swatch",
1795
1882
  value: "SmartSwatch"
1796
1883
  }
1797
- ], this.extensions = [], this.proxies = void 0, this.forCropper = void 0, this.useSession = "", this.transformations = [], this.selectedProxy = "", this.defaultProxy = "", this.useCustomExtension = !1, this.noMetadata = !1, this.noFormat = !1, this.noCrop = !1, this.noResize = !1, this.noRotate = !1, this.lastImageSize = {
1884
+ ], this.extensions = [], this.proxies = void 0, this.forCropper = void 0, this.useSession = "", this.transformations = [], this.selectedProxy = "", this.defaultProxy = "", this.canAutoFormat = !1, this.autoFormat = !1, this.useCustomExtension = !1, this.noMetadata = !1, this.noFormat = !1, this.noCrop = !1, this.noResize = !1, this.noRotate = !1, this.lastImageSize = {
1798
1885
  height: 0,
1799
1886
  width: 0
1800
1887
  }, this.hideHeader = !1, this.canReset = !1, this.queryElement = null, this.activeSetting = "cx-asset-link-format-proxy", this.selectedFormat = void 0, this.resizeSize = {
@@ -1807,7 +1894,7 @@ let x = class extends B {
1807
1894
  keepAspectRatio: !0,
1808
1895
  ratioHeight: 1,
1809
1896
  ratioWidth: 1,
1810
- unit: o.Pixel,
1897
+ unit: r.Pixel,
1811
1898
  width: 1
1812
1899
  }, this.cropSize = {
1813
1900
  cropMode: "free",
@@ -1821,17 +1908,17 @@ let x = class extends B {
1821
1908
  keepAspectRatio: !0,
1822
1909
  percentageHeight: 0,
1823
1910
  percentageWidth: 0,
1824
- position: W.CenterCenter,
1911
+ position: D.CenterCenter,
1825
1912
  ratioHeight: 1,
1826
1913
  ratioWidth: 1,
1827
- unit: o.Pixel,
1914
+ unit: r.Pixel,
1828
1915
  width: 1,
1829
1916
  x: 0,
1830
1917
  y: 0
1831
1918
  }, this.rotation = 0, this.defaultSize = {
1832
1919
  height: 0,
1833
1920
  width: 0
1834
- }, this.cropperElement = null, this.parameters = [], this.loading = !1, this.lastAction = void 0, this.frozenIndex = void 0, this.preResetTransformations = void 0, this.apiGetTransformAssetLink = fe, this.apiGetCropFocusMode = Ce, this.onCropComplete = this.onCropComplete.bind(this), this.onCropDragStart = this.onCropDragStart.bind(this);
1921
+ }, this.cropperElement = null, this.parameters = [], this.loading = !1, this.lastAction = void 0, this.frozenIndex = void 0, this.preResetTransformations = void 0, this.preResetAutoFormat = void 0, this.preResetSelectedProxy = void 0, this.apiGetTransformAssetLink = xe, this.apiGetCropFocusMode = ze, this.onCropComplete = this.onCropComplete.bind(this), this.onCropDragStart = this.onCropDragStart.bind(this);
1835
1922
  }
1836
1923
  /**
1837
1924
  * Transform requests must resolve to a web-displayable image (the browser renders the
@@ -1840,7 +1927,7 @@ let x = class extends B {
1840
1927
  * extension fallback in asset-transformation-dialog.
1841
1928
  */
1842
1929
  static getTransformExtension(t) {
1843
- return !t || At(t) ? t : "jpg";
1930
+ return !t || Vt(t) ? t : "jpg";
1844
1931
  }
1845
1932
  /** True when there are transformations beyond the frozen index (i.e. user has added new ones). */
1846
1933
  get hasUnfrozenTransformations() {
@@ -1854,7 +1941,7 @@ let x = class extends B {
1854
1941
  get lastAppliedCropUnit() {
1855
1942
  return this.transformations.findLast(
1856
1943
  (e) => e.key === m.Crop
1857
- )?.value.unit ?? o.Pixel;
1944
+ )?.value.unit ?? r.Pixel;
1858
1945
  }
1859
1946
  /**
1860
1947
  * The focus mode of the last applied crop transformation, for the no-asset case only.
@@ -1874,7 +1961,7 @@ let x = class extends B {
1874
1961
  get lastAppliedCropPosition() {
1875
1962
  return this.transformations.findLast(
1876
1963
  (e) => e.key === m.Crop
1877
- )?.value.position ?? W.CenterCenter;
1964
+ )?.value.position ?? D.CenterCenter;
1878
1965
  }
1879
1966
  /**
1880
1967
  * Checks if the crop apply button should be disabled.
@@ -1885,8 +1972,8 @@ let x = class extends B {
1885
1972
  get disabledCropApply() {
1886
1973
  if (!this.asset && this.cropSize.unit !== this.lastAppliedCropUnit)
1887
1974
  return !1;
1888
- if (this.cropSize.unit === o.AspectRatio && !this.asset) {
1889
- const e = this.lastCropSize[o.AspectRatio];
1975
+ if (this.cropSize.unit === r.AspectRatio && !this.asset) {
1976
+ const e = this.lastCropSize[r.AspectRatio];
1890
1977
  return this.cropSize.ratioWidth === e.width && this.cropSize.ratioHeight === e.height && this.cropSize.focusMode === this.lastAppliedCropFocusMode && this.cropSize.position === this.lastAppliedCropPosition;
1891
1978
  }
1892
1979
  if (!this.asset && this.cropSize.focusMode !== this.lastAppliedCropFocusMode || !this.asset && this.cropSize.position !== this.lastAppliedCropPosition)
@@ -1900,7 +1987,7 @@ let x = class extends B {
1900
1987
  "y"
1901
1988
  ];
1902
1989
  for (const e of t)
1903
- if (this.cropSize[e] !== this.lastCropSize[o.Pixel][e])
1990
+ if (this.cropSize[e] !== this.lastCropSize[r.Pixel][e])
1904
1991
  return !1;
1905
1992
  return !0;
1906
1993
  }
@@ -1927,13 +2014,13 @@ let x = class extends B {
1927
2014
  const e = this.transformations.findLast(
1928
2015
  (i) => i.key === m.Crop
1929
2016
  );
1930
- if (e?.value.unit === o.AspectRatio && e.value.ratioWidth && e.value.ratioHeight)
2017
+ if (e?.value.unit === r.AspectRatio && e.value.ratioWidth && e.value.ratioHeight)
1931
2018
  return {
1932
- [o.AspectRatio]: {
2019
+ [r.AspectRatio]: {
1933
2020
  height: e.value.ratioHeight,
1934
2021
  percentageHeight: 100,
1935
2022
  percentageWidth: 100,
1936
- unit: o.AspectRatio,
2023
+ unit: r.AspectRatio,
1937
2024
  width: e.value.ratioWidth,
1938
2025
  x: 0,
1939
2026
  y: 0
@@ -1944,56 +2031,56 @@ let x = class extends B {
1944
2031
  * `min: 1`) instead of 0x0, so switching the unit selector back to Pixel and
1945
2032
  * clicking Apply immediately still commits a meaningful crop instead of a no-op.
1946
2033
  */
1947
- [o.Pixel]: {
2034
+ [r.Pixel]: {
1948
2035
  height: 1,
1949
2036
  percentageHeight: 100,
1950
2037
  percentageWidth: 100,
1951
- unit: o.Pixel,
2038
+ unit: r.Pixel,
1952
2039
  width: 1,
1953
2040
  x: 0,
1954
2041
  y: 0
1955
2042
  }
1956
2043
  };
1957
2044
  if (e?.value.width && e?.value.height) {
1958
- const { height: i, width: s, x: a = 0, y: r = 0 } = e.value, n = nt(s, i);
2045
+ const { height: i, width: s, x: a = 0, y: o = 0 } = e.value, n = nt(s, i);
1959
2046
  return {
1960
- [o.AspectRatio]: {
2047
+ [r.AspectRatio]: {
1961
2048
  height: n.height,
1962
2049
  percentageHeight: 100,
1963
2050
  percentageWidth: 100,
1964
- unit: o.AspectRatio,
2051
+ unit: r.AspectRatio,
1965
2052
  width: n.width,
1966
2053
  x: 0,
1967
2054
  y: 0
1968
2055
  },
1969
- [o.Pixel]: {
2056
+ [r.Pixel]: {
1970
2057
  height: i,
1971
2058
  percentageHeight: 100,
1972
2059
  percentageWidth: 100,
1973
- unit: o.Pixel,
2060
+ unit: r.Pixel,
1974
2061
  width: s,
1975
2062
  x: a,
1976
- y: r
2063
+ y: o
1977
2064
  }
1978
2065
  };
1979
2066
  }
1980
2067
  }
1981
2068
  const t = this.lastImageSize.width && this.lastImageSize.height ? nt(this.lastImageSize.width, this.lastImageSize.height) : { height: 1, width: 1 };
1982
2069
  return {
1983
- [o.AspectRatio]: {
2070
+ [r.AspectRatio]: {
1984
2071
  height: t.height,
1985
2072
  percentageHeight: 100,
1986
2073
  percentageWidth: 100,
1987
- unit: o.AspectRatio,
2074
+ unit: r.AspectRatio,
1988
2075
  width: t.width,
1989
2076
  x: 0,
1990
2077
  y: 0
1991
2078
  },
1992
- [o.Pixel]: {
2079
+ [r.Pixel]: {
1993
2080
  height: this.lastImageSize.height,
1994
2081
  percentageHeight: 100,
1995
2082
  percentageWidth: 100,
1996
- unit: o.Pixel,
2083
+ unit: r.Pixel,
1997
2084
  width: this.lastImageSize.width,
1998
2085
  x: 0,
1999
2086
  y: 0
@@ -2010,31 +2097,31 @@ let x = class extends B {
2010
2097
  const e = this.transformations.findLast(
2011
2098
  (i) => i.key === m.Resize
2012
2099
  );
2013
- if (e?.value.unit === o.AspectRatio && e.value.ratioWidth && e.value.ratioHeight)
2100
+ if (e?.value.unit === r.AspectRatio && e.value.ratioWidth && e.value.ratioHeight)
2014
2101
  return {
2015
- [o.AspectRatio]: {
2102
+ [r.AspectRatio]: {
2016
2103
  height: e.value.ratioHeight,
2017
- unit: o.AspectRatio,
2104
+ unit: r.AspectRatio,
2018
2105
  width: e.value.ratioWidth
2019
2106
  },
2020
2107
  // See lastCropSize's equivalent branch for why this falls back to 1x1, not 0x0.
2021
- [o.Pixel]: {
2108
+ [r.Pixel]: {
2022
2109
  height: 1,
2023
- unit: o.Pixel,
2110
+ unit: r.Pixel,
2024
2111
  width: 1
2025
2112
  }
2026
2113
  };
2027
2114
  if (e?.value.width && e?.value.height) {
2028
2115
  const { height: i, width: s } = e.value, a = nt(s, i);
2029
2116
  return {
2030
- [o.AspectRatio]: {
2117
+ [r.AspectRatio]: {
2031
2118
  height: a.height,
2032
- unit: o.AspectRatio,
2119
+ unit: r.AspectRatio,
2033
2120
  width: a.width
2034
2121
  },
2035
- [o.Pixel]: {
2122
+ [r.Pixel]: {
2036
2123
  height: i,
2037
- unit: o.Pixel,
2124
+ unit: r.Pixel,
2038
2125
  width: s
2039
2126
  }
2040
2127
  };
@@ -2042,14 +2129,14 @@ let x = class extends B {
2042
2129
  }
2043
2130
  const t = this.lastImageSize.width && this.lastImageSize.height ? nt(this.lastImageSize.width, this.lastImageSize.height) : { height: 1, width: 1 };
2044
2131
  return {
2045
- [o.AspectRatio]: {
2132
+ [r.AspectRatio]: {
2046
2133
  height: t.height,
2047
- unit: o.AspectRatio,
2134
+ unit: r.AspectRatio,
2048
2135
  width: t.width
2049
2136
  },
2050
- [o.Pixel]: {
2137
+ [r.Pixel]: {
2051
2138
  height: this.lastImageSize.height,
2052
- unit: o.Pixel,
2139
+ unit: r.Pixel,
2053
2140
  width: this.lastImageSize.width
2054
2141
  }
2055
2142
  };
@@ -2098,7 +2185,11 @@ let x = class extends B {
2098
2185
  ));
2099
2186
  }
2100
2187
  updated(t) {
2101
- if ((t.has("forCropper") || t.has("queryElement")) && this.handleCropperSelectorChange(), t.has("asset") && this.handleAssetChange(), t.has("proxies") && this.handleProxiesChange(), t.has("activeSetting") && this.handleActiveSettingChange(), t.has("selectedFormat") && this.handleSelectedFormatChange(), t.has("resizeSize") && this.handleResizeSizeChange(), t.has("cropSize") && this.handleCropSizeChange(), t.has("rotation") && this.handleRotationChange(), t.has("cropperElement") && this.handleCropperElementChange(), t.has("selectedFormat")) {
2188
+ if ((t.has("forCropper") || t.has("queryElement")) && this.handleCropperSelectorChange(), t.has("asset") && this.handleAssetChange(), t.has("proxies") && this.handleProxiesChange(), this.autoFormat && (t.has("asset") || t.has("proxies"))) {
2189
+ const e = this.autoResolvedProxyId;
2190
+ e && (this.selectedProxy = e);
2191
+ }
2192
+ if (t.has("activeSetting") && this.handleActiveSettingChange(), t.has("selectedFormat") && this.handleSelectedFormatChange(), t.has("resizeSize") && this.handleResizeSizeChange(), t.has("cropSize") && this.handleCropSizeChange(), t.has("rotation") && this.handleRotationChange(), t.has("cropperElement") && this.handleCropperElementChange(), t.has("selectedFormat")) {
2102
2193
  if (!this.asset || !this.selectedFormat || this.selectedFormat.extension === t.get("selectedFormat")?.extension)
2103
2194
  return;
2104
2195
  const e = this.proxies?.find(
@@ -2106,7 +2197,7 @@ let x = class extends B {
2106
2197
  );
2107
2198
  this.loading = !0, this.apiGetTransformAssetLink({
2108
2199
  assetId: this.asset.id,
2109
- extension: x.getTransformExtension(this.asset.extension),
2200
+ extension: u.getTransformExtension(this.asset.extension),
2110
2201
  format: e?.proxyName ?? "",
2111
2202
  siteUrl: this.baseUrl,
2112
2203
  token: this.token,
@@ -2170,36 +2261,36 @@ let x = class extends B {
2170
2261
  useSession: this.useSession
2171
2262
  }).replace(/\/t\//g, "")
2172
2263
  });
2173
- const r = this.transformations.findLast(
2174
- (c) => c.key === m.Crop && (c.value.unit === o.AspectRatio && c.value.ratioWidth && c.value.ratioHeight || c.value.width && c.value.height)
2264
+ const o = this.transformations.findLast(
2265
+ (c) => c.key === m.Crop && (c.value.unit === r.AspectRatio && c.value.ratioWidth && c.value.ratioHeight || c.value.width && c.value.height)
2175
2266
  );
2176
- if (r?.value.unit === o.AspectRatio && r.value.ratioWidth && r.value.ratioHeight) {
2177
- const { focusMode: c, position: g, ratioHeight: y, ratioWidth: d } = r.value;
2267
+ if (o?.value.unit === r.AspectRatio && o.value.ratioWidth && o.value.ratioHeight) {
2268
+ const { focusMode: c, position: S, ratioHeight: A, ratioWidth: p } = o.value;
2178
2269
  this.cropSize = {
2179
2270
  ...this.cropSize,
2180
2271
  cropMode: "free",
2181
2272
  focusMode: c ?? "manual",
2182
2273
  percentageHeight: 100,
2183
2274
  percentageWidth: 100,
2184
- position: g ?? W.CenterCenter,
2185
- ratioHeight: y,
2186
- ratioWidth: d,
2187
- unit: o.AspectRatio
2275
+ position: S ?? D.CenterCenter,
2276
+ ratioHeight: A,
2277
+ ratioWidth: p,
2278
+ unit: r.AspectRatio
2188
2279
  };
2189
- } else if (r) {
2190
- const { focusMode: c, height: g, position: y, unit: d, width: z, x: b = 0, y: u = 0 } = r.value;
2280
+ } else if (o) {
2281
+ const { focusMode: c, height: S, position: A, unit: p, width: y, x: k = 0, y: f = 0 } = o.value;
2191
2282
  this.cropSize = {
2192
2283
  ...this.cropSize,
2193
2284
  cropMode: "free",
2194
2285
  focusMode: c ?? "manual",
2195
- height: g,
2286
+ height: S,
2196
2287
  percentageHeight: 100,
2197
2288
  percentageWidth: 100,
2198
- position: y ?? W.CenterCenter,
2199
- unit: d ?? o.Pixel,
2200
- width: z,
2201
- x: b,
2202
- y: u
2289
+ position: A ?? D.CenterCenter,
2290
+ unit: p ?? r.Pixel,
2291
+ width: y,
2292
+ x: k,
2293
+ y: f
2203
2294
  };
2204
2295
  } else
2205
2296
  this.cropSize = {
@@ -2215,30 +2306,30 @@ let x = class extends B {
2215
2306
  height: 1,
2216
2307
  percentageHeight: 0,
2217
2308
  percentageWidth: 0,
2218
- position: W.CenterCenter,
2219
- unit: o.Pixel,
2309
+ position: D.CenterCenter,
2310
+ unit: r.Pixel,
2220
2311
  width: 1,
2221
2312
  x: 0,
2222
2313
  y: 0
2223
2314
  };
2224
2315
  const n = this.transformations.findLast(
2225
- (c) => c.key === m.Resize && (c.value.unit === o.AspectRatio && c.value.ratioWidth && c.value.ratioHeight || c.value.width || c.value.height)
2316
+ (c) => c.key === m.Resize && (c.value.unit === r.AspectRatio && c.value.ratioWidth && c.value.ratioHeight || c.value.width || c.value.height)
2226
2317
  );
2227
- if (n?.value.unit === o.AspectRatio && n.value.ratioWidth && n.value.ratioHeight) {
2228
- const { ratioHeight: c, ratioWidth: g } = n.value;
2318
+ if (n?.value.unit === r.AspectRatio && n.value.ratioWidth && n.value.ratioHeight) {
2319
+ const { ratioHeight: c, ratioWidth: S } = n.value;
2229
2320
  this.resizeSize = {
2230
2321
  ...this.resizeSize,
2231
2322
  ratioHeight: c,
2232
- ratioWidth: g,
2233
- unit: o.AspectRatio
2323
+ ratioWidth: S,
2324
+ unit: r.AspectRatio
2234
2325
  };
2235
2326
  } else if (n) {
2236
- const { height: c = 0, unit: g, width: y = 0 } = n.value;
2327
+ const { height: c = 0, unit: S, width: A = 0 } = n.value;
2237
2328
  this.resizeSize = {
2238
2329
  ...this.resizeSize,
2239
2330
  height: c,
2240
- unit: g ?? o.Pixel,
2241
- width: y
2331
+ unit: S ?? r.Pixel,
2332
+ width: A
2242
2333
  };
2243
2334
  } else
2244
2335
  this.resizeSize = {
@@ -2249,22 +2340,21 @@ let x = class extends B {
2249
2340
  * Apply silently no-op.
2250
2341
  */
2251
2342
  height: 1,
2252
- unit: o.Pixel,
2343
+ unit: r.Pixel,
2253
2344
  width: 1
2254
2345
  };
2255
- const h = this.transformations.findLast(
2346
+ const l = this.transformations.findLast(
2256
2347
  (c) => c.key === m.Rotate
2257
2348
  );
2258
- this.rotation = h?.value.rotation ?? 0;
2259
- const p = this.transformations.findLast((c) => c.key === m.Quality)?.value.quality ?? 100, f = this.transformations.some(
2349
+ this.rotation = l?.value.rotation ?? 0;
2350
+ const d = this.transformations.findLast((c) => c.key === m.Quality)?.value.quality ?? 100, g = this.transformations.some(
2260
2351
  (c) => c.key === m.Metadata
2261
2352
  );
2262
- this.selectedFormat ? this.selectedFormat = { ...this.selectedFormat, keepMetadata: f, quality: p } : this.selectedFormat = {
2353
+ this.selectedFormat ? this.selectedFormat = { ...this.selectedFormat, keepMetadata: g, quality: d } : this.selectedFormat = {
2263
2354
  extension: "",
2264
2355
  height: 0,
2265
- keepMetadata: f,
2266
- originalUrl: "",
2267
- quality: p,
2356
+ keepMetadata: g,
2357
+ quality: d,
2268
2358
  rotation: 0,
2269
2359
  url: "",
2270
2360
  width: 0,
@@ -2276,12 +2366,12 @@ let x = class extends B {
2276
2366
  if (!this.selectedFormat)
2277
2367
  return;
2278
2368
  const t = this.proxies?.find(
2279
- (r) => r.id === this.selectedProxy
2369
+ (o) => o.id === this.selectedProxy
2280
2370
  );
2281
2371
  this.loading = !0;
2282
2372
  const e = await this.apiGetTransformAssetLink({
2283
2373
  assetId: this.asset.id,
2284
- extension: x.getTransformExtension(this.selectedFormat.extension),
2374
+ extension: u.getTransformExtension(this.selectedFormat.extension),
2285
2375
  format: t?.proxyName ?? "",
2286
2376
  siteUrl: this.baseUrl,
2287
2377
  token: this.token,
@@ -2297,7 +2387,7 @@ let x = class extends B {
2297
2387
  keepAspectRatio: !0,
2298
2388
  ratioHeight: 1,
2299
2389
  ratioWidth: 1,
2300
- unit: o.Pixel,
2390
+ unit: r.Pixel,
2301
2391
  width: e.width
2302
2392
  }, this.cropSize = {
2303
2393
  cropMode: "free",
@@ -2306,18 +2396,18 @@ let x = class extends B {
2306
2396
  keepAspectRatio: this.cropSize.keepAspectRatio,
2307
2397
  percentageHeight: 100,
2308
2398
  percentageWidth: 100,
2309
- position: W.CenterCenter,
2399
+ position: D.CenterCenter,
2310
2400
  ratioHeight: 1,
2311
2401
  ratioWidth: 1,
2312
- unit: o.Pixel,
2402
+ unit: r.Pixel,
2313
2403
  width: e.width,
2314
2404
  x: 0,
2315
2405
  y: 0
2316
2406
  }, this.lastAction === m.Rotate && (this.rotation = 0), this.lastAction = void 0;
2317
2407
  const i = this.transformations.some(
2318
- (r) => r.key === m.Metadata
2408
+ (o) => o.key === m.Metadata
2319
2409
  ), s = this.transformations.findLast(
2320
- (r) => r.key === m.Quality
2410
+ (o) => o.key === m.Quality
2321
2411
  );
2322
2412
  this.selectedFormat = {
2323
2413
  ...this.selectedFormat,
@@ -2369,7 +2459,6 @@ let x = class extends B {
2369
2459
  extension: this.asset.extension,
2370
2460
  height: this.defaultSize.height,
2371
2461
  keepMetadata: !1,
2372
- originalUrl: this.asset.originalUrl,
2373
2462
  quality: t?.value?.quality || 100,
2374
2463
  rotation: 0,
2375
2464
  url: this.asset.imageUrl,
@@ -2387,17 +2476,26 @@ let x = class extends B {
2387
2476
  keepAspectRatio: !0,
2388
2477
  percentageHeight: 100,
2389
2478
  percentageWidth: 100,
2390
- position: W.CenterCenter,
2479
+ position: D.CenterCenter,
2391
2480
  ratioHeight: 1,
2392
2481
  ratioWidth: 1,
2393
- unit: o.Pixel,
2482
+ unit: r.Pixel,
2394
2483
  width: this.defaultSize.width,
2395
2484
  x: 0,
2396
2485
  y: 0
2397
- }, this.selectedProxy || (this.selectedProxy = this.proxies && this.proxies.length > 0 ? this.proxies[0].id : "");
2486
+ }, this.selectedProxy || (this.selectedProxy = this.resolveFallbackProxyId());
2487
+ }
2488
+ /**
2489
+ * The proxy id to fall back to when none is set or the current one is not in the list.
2490
+ *
2491
+ * Under `Auto` the asset's extension decides, so the first proxy in the list is only a
2492
+ * last resort — used when the mapped format is not offered for this asset.
2493
+ */
2494
+ resolveFallbackProxyId() {
2495
+ return !this.proxies || this.proxies.length === 0 ? "" : this.autoFormat ? this.autoResolvedProxyId || this.proxies[0].id : this.proxies[0].id;
2398
2496
  }
2399
2497
  handleProxiesChange() {
2400
- !this.proxies || this.proxies.length === 0 || (!this.selectedProxy || !this.proxies.some((t) => t.id === this.selectedProxy)) && (this.selectedProxy = this.proxies[0].id);
2498
+ !this.proxies || this.proxies.length === 0 || (!this.selectedProxy || !this.proxies.some((t) => t.id === this.selectedProxy)) && (this.selectedProxy = this.resolveFallbackProxyId());
2401
2499
  }
2402
2500
  async handleSelectedProxyChange(t) {
2403
2501
  if (!this.asset || !this.selectedProxy)
@@ -2411,25 +2509,25 @@ let x = class extends B {
2411
2509
  const i = this.proxies?.find((s) => s.id === t);
2412
2510
  i && (this.asset && i.proxyName === "TRX" && (i.formatHeight = Number(this.asset.height), i.formatWidth = Number(this.asset.width)), this.transformations = this.transformations.map((s) => {
2413
2511
  if (s.key === m.Crop) {
2414
- const a = s.value, r = a.width / i.formatWidth * e.formatWidth, n = a.height / i.formatHeight * e.formatHeight, h = a.x / i.formatWidth * e.formatWidth, p = a.y / i.formatHeight * e.formatHeight;
2512
+ const a = s.value, o = a.width / i.formatWidth * e.formatWidth, n = a.height / i.formatHeight * e.formatHeight, l = a.x / i.formatWidth * e.formatWidth, d = a.y / i.formatHeight * e.formatHeight;
2415
2513
  return {
2416
2514
  ...s,
2417
2515
  value: {
2418
2516
  ...s.value,
2419
2517
  height: n,
2420
- width: r,
2421
- x: h,
2422
- y: p
2518
+ width: o,
2519
+ x: l,
2520
+ y: d
2423
2521
  }
2424
2522
  };
2425
2523
  }
2426
2524
  if (s.key === m.Resize) {
2427
- const a = s.value, r = a.width / i.formatWidth * e.formatWidth, n = a.height / i.formatHeight * e.formatHeight;
2525
+ const a = s.value, o = a.width / i.formatWidth * e.formatWidth, n = a.height / i.formatHeight * e.formatHeight;
2428
2526
  return {
2429
2527
  ...s,
2430
2528
  value: {
2431
2529
  height: n,
2432
- width: r
2530
+ width: o
2433
2531
  }
2434
2532
  };
2435
2533
  }
@@ -2444,24 +2542,24 @@ let x = class extends B {
2444
2542
  }, await this.updateComplete, this.cropSize = {
2445
2543
  cropMode: "free",
2446
2544
  focusMode: "manual",
2447
- height: this.lastCropSize[o.Pixel].height,
2545
+ height: this.lastCropSize[r.Pixel].height,
2448
2546
  keepAspectRatio: !0,
2449
2547
  percentageHeight: 100,
2450
2548
  percentageWidth: 100,
2451
- position: W.CenterCenter,
2549
+ position: D.CenterCenter,
2452
2550
  ratioHeight: 1,
2453
2551
  ratioWidth: 1,
2454
- unit: o.Pixel,
2455
- width: this.lastCropSize[o.Pixel].width,
2552
+ unit: r.Pixel,
2553
+ width: this.lastCropSize[r.Pixel].width,
2456
2554
  x: 0,
2457
2555
  y: 0
2458
2556
  }, this.resizeSize = {
2459
- height: this.lastResizeSize[o.Pixel].height,
2557
+ height: this.lastResizeSize[r.Pixel].height,
2460
2558
  keepAspectRatio: !0,
2461
2559
  ratioHeight: 1,
2462
2560
  ratioWidth: 1,
2463
- unit: o.Pixel,
2464
- width: this.lastResizeSize[o.Pixel].width
2561
+ unit: r.Pixel,
2562
+ width: this.lastResizeSize[r.Pixel].width
2465
2563
  };
2466
2564
  }
2467
2565
  handleLoadingChange() {
@@ -2481,12 +2579,12 @@ let x = class extends B {
2481
2579
  }
2482
2580
  handleActiveSettingChange() {
2483
2581
  this.cropperElement && (this.resizeSize = {
2484
- height: this.lastResizeSize[o.Pixel].height,
2582
+ height: this.lastResizeSize[r.Pixel].height,
2485
2583
  keepAspectRatio: !0,
2486
2584
  ratioHeight: 1,
2487
2585
  ratioWidth: 1,
2488
- unit: o.Pixel,
2489
- width: this.lastResizeSize[o.Pixel].width
2586
+ unit: r.Pixel,
2587
+ width: this.lastResizeSize[r.Pixel].width
2490
2588
  }, this.cropperElement.disabled = this.activeSetting !== "cx-asset-link-format-crop");
2491
2589
  }
2492
2590
  async handleRequestAutoCropSuggestion({
@@ -2495,33 +2593,33 @@ let x = class extends B {
2495
2593
  height: i,
2496
2594
  keepAspectRatio: s,
2497
2595
  percentageHeight: a,
2498
- percentageWidth: r,
2596
+ percentageWidth: o,
2499
2597
  ratioHeight: n,
2500
- ratioWidth: h,
2501
- unit: p,
2502
- useCropMode: f,
2598
+ ratioWidth: l,
2599
+ unit: d,
2600
+ useCropMode: g,
2503
2601
  width: c
2504
2602
  }) {
2505
2603
  if (!this.selectedFormat?.url || e === "manual")
2506
2604
  return;
2507
2605
  this.loading = !0, this.lastAction = m.Crop;
2508
- const g = await this.apiGetCropFocusMode({
2606
+ const S = await this.apiGetCropFocusMode({
2509
2607
  autoCropMode: e,
2510
2608
  cropHeight: i,
2511
2609
  cropWidth: c,
2512
2610
  imageUrl: this.selectedFormat.url
2513
2611
  });
2514
- if (g) {
2515
- let y = a, d = r;
2516
- i || (y = g.height * 100 / this.selectedFormat.height), c || (d = g.width * 100 / this.selectedFormat.width), this.cropSize = {
2612
+ if (S) {
2613
+ let A = a, p = o;
2614
+ i || (A = S.height * 100 / this.selectedFormat.height), c || (p = S.width * 100 / this.selectedFormat.width), this.cropSize = {
2517
2615
  ...this.cropSize,
2518
- height: g.height,
2519
- percentageHeight: y ?? this.cropSize.percentageHeight,
2520
- percentageWidth: d ?? this.cropSize.percentageWidth,
2521
- width: g.width,
2522
- x: g.x * 100 / this.selectedFormat.width,
2523
- y: g.y * 100 / this.selectedFormat.height,
2524
- ...f ? {
2616
+ height: S.height,
2617
+ percentageHeight: A ?? this.cropSize.percentageHeight,
2618
+ percentageWidth: p ?? this.cropSize.percentageWidth,
2619
+ width: S.width,
2620
+ x: S.x * 100 / this.selectedFormat.width,
2621
+ y: S.y * 100 / this.selectedFormat.height,
2622
+ ...g ? {
2525
2623
  cropMode: e,
2526
2624
  focusMode: "manual",
2527
2625
  keepAspectRatio: !1
@@ -2531,8 +2629,8 @@ let x = class extends B {
2531
2629
  },
2532
2630
  keepAspectRatio: s ?? this.cropSize.keepAspectRatio,
2533
2631
  ratioHeight: n ?? this.cropSize.ratioHeight,
2534
- ratioWidth: h ?? this.cropSize.ratioWidth,
2535
- unit: p ?? this.cropSize.unit
2632
+ ratioWidth: l ?? this.cropSize.ratioWidth,
2633
+ unit: d ?? this.cropSize.unit
2536
2634
  };
2537
2635
  }
2538
2636
  this.loading = !1, this.lastAction = void 0;
@@ -2542,32 +2640,32 @@ let x = class extends B {
2542
2640
  height: i,
2543
2641
  width: s,
2544
2642
  x: a,
2545
- y: r
2643
+ y: o
2546
2644
  } = e;
2547
2645
  if (s === 0 || i === 0)
2548
2646
  return;
2549
- const n = this.cropSize.percentageWidth !== s, h = this.cropSize.percentageHeight !== i;
2550
- let p = this.cropSize.height, f = this.cropSize.width;
2551
- n && (f = Math.round(s * this.selectedFormat.width / 100)), h && (p = Math.round(
2647
+ const n = this.cropSize.percentageWidth !== s, l = this.cropSize.percentageHeight !== i;
2648
+ let d = this.cropSize.height, g = this.cropSize.width;
2649
+ n && (g = Math.round(s * this.selectedFormat.width / 100)), l && (d = Math.round(
2552
2650
  i * this.selectedFormat.height / 100
2553
2651
  ));
2554
2652
  const c = this.cropSize.focusMode;
2555
2653
  this.focusModes.find(
2556
- (y) => y.value === c
2654
+ (A) => A.value === c
2557
2655
  )?.auto && this.selectedFormat?.url && this.cropperElement ? await this.handleRequestAutoCropSuggestion({
2558
2656
  focusMode: c,
2559
- height: p,
2657
+ height: d,
2560
2658
  percentageHeight: i,
2561
2659
  percentageWidth: s,
2562
- width: f
2660
+ width: g
2563
2661
  }) : this.cropSize = {
2564
2662
  ...this.cropSize,
2565
- height: p,
2663
+ height: d,
2566
2664
  percentageHeight: i,
2567
2665
  percentageWidth: s,
2568
- width: f,
2666
+ width: g,
2569
2667
  x: a,
2570
- y: r
2668
+ y: o
2571
2669
  };
2572
2670
  }
2573
2671
  onCropDragStart() {
@@ -2588,9 +2686,26 @@ let x = class extends B {
2588
2686
  onDetailsHide(t) {
2589
2687
  this.activeSetting === t.target.localName && (this.activeSetting = "");
2590
2688
  }
2689
+ /**
2690
+ * The proxy id that `Auto` resolves to for the current asset, or `''` when the mapped
2691
+ * format is not among the available proxies.
2692
+ *
2693
+ * `resolveAutoFormat` yields a proxy *name* (`TRX` / `TR1`) while `selectedProxy` holds
2694
+ * a proxy *id*, so the name has to be looked up in `proxies` rather than used directly.
2695
+ */
2696
+ get autoResolvedProxyId() {
2697
+ const t = Ot(this.asset?.extension);
2698
+ return this.proxies?.find((e) => e.proxyName === t)?.id ?? "";
2699
+ }
2591
2700
  onProxyChange(t) {
2592
2701
  const e = t.detail;
2593
- this.lastAction = m.Proxy, this.selectedProxy = e.id;
2702
+ if (this.lastAction = m.Proxy, e.autoFormat) {
2703
+ this.autoFormat = !0;
2704
+ const i = this.autoResolvedProxyId;
2705
+ i && (this.selectedProxy = i);
2706
+ return;
2707
+ }
2708
+ this.autoFormat = !1, this.selectedProxy = e.id;
2594
2709
  }
2595
2710
  async onCropModeChange(t) {
2596
2711
  const { mode: e } = t.detail;
@@ -2601,22 +2716,22 @@ let x = class extends B {
2601
2716
  });
2602
2717
  else {
2603
2718
  const s = this.focusModes.find(
2604
- (p) => p.value === this.cropSize.focusMode
2719
+ (d) => d.value === this.cropSize.focusMode
2605
2720
  )?.auto;
2606
- let a = this.cropSize.keepAspectRatio, r = this.cropSize.focusMode, n = this.cropSize.x, h = this.cropSize.y;
2607
- e === "free" ? (a = !1, r = "manual") : this.cropSize.unit === o.Pixel && !s && (n = 0, h = 0), s ? await this.handleRequestAutoCropSuggestion({
2721
+ let a = this.cropSize.keepAspectRatio, o = this.cropSize.focusMode, n = this.cropSize.x, l = this.cropSize.y;
2722
+ e === "free" ? (a = !1, o = "manual") : this.cropSize.unit === r.Pixel && !s && (n = 0, l = 0), s ? await this.handleRequestAutoCropSuggestion({
2608
2723
  cropMode: e,
2609
- focusMode: r,
2724
+ focusMode: o,
2610
2725
  height: this.cropSize.height,
2611
2726
  keepAspectRatio: a,
2612
2727
  width: this.cropSize.width
2613
2728
  }) : this.cropSize = {
2614
2729
  ...this.cropSize,
2615
2730
  cropMode: e,
2616
- focusMode: r,
2731
+ focusMode: o,
2617
2732
  keepAspectRatio: a,
2618
2733
  x: n,
2619
- y: h
2734
+ y: l
2620
2735
  };
2621
2736
  }
2622
2737
  }
@@ -2639,52 +2754,52 @@ let x = class extends B {
2639
2754
  }
2640
2755
  async onCropChange(t) {
2641
2756
  const e = this.cropSize.unit;
2642
- if (t.detail.unit === o.AspectRatio) {
2757
+ if (t.detail.unit === r.AspectRatio) {
2643
2758
  const i = t.detail.width / t.detail.height, s = this.asset ? Math.min(
2644
2759
  Math.max(Math.round(this.cropSize.height * i), 0),
2645
2760
  this.resizeSize.width
2646
2761
  ) : 0, a = this.asset ? Math.min(
2647
2762
  Math.max(Math.round(s / i), 0),
2648
2763
  this.resizeSize.height
2649
- ) : 0, r = this.asset ? a * 100 / this.selectedFormat.height : 100, n = this.asset ? s * 100 / this.selectedFormat.width : 100;
2650
- let h = this.cropSize.x, p = this.cropSize.y;
2651
- h + n > 100 && (h = 100 - n), p + r > 100 && (p = 100 - r);
2652
- let f = this.cropSize.cropMode;
2764
+ ) : 0, o = this.asset ? a * 100 / this.selectedFormat.height : 100, n = this.asset ? s * 100 / this.selectedFormat.width : 100;
2765
+ let l = this.cropSize.x, d = this.cropSize.y;
2766
+ l + n > 100 && (l = 100 - n), d + o > 100 && (d = 100 - o);
2767
+ let g = this.cropSize.cropMode;
2653
2768
  this.cropModes.find(
2654
- (g) => g.value === f
2655
- )?.auto && (f = "free"), t.detail.silent ? (this.cropSize.height = a, this.cropSize.keepAspectRatio = t.detail.keepAspectRatio, this.cropSize.percentageHeight = r, this.cropSize.percentageWidth = n, this.cropSize.ratioHeight = t.detail.height, this.cropSize.ratioWidth = t.detail.width, this.cropSize.unit = o.AspectRatio, this.cropSize.width = s) : this.cropSize = {
2769
+ (S) => S.value === g
2770
+ )?.auto && (g = "free"), t.detail.silent ? (this.cropSize.height = a, this.cropSize.keepAspectRatio = t.detail.keepAspectRatio, this.cropSize.percentageHeight = o, this.cropSize.percentageWidth = n, this.cropSize.ratioHeight = t.detail.height, this.cropSize.ratioWidth = t.detail.width, this.cropSize.unit = r.AspectRatio, this.cropSize.width = s) : this.cropSize = {
2656
2771
  ...this.cropSize,
2657
- cropMode: f,
2772
+ cropMode: g,
2658
2773
  height: a,
2659
2774
  keepAspectRatio: t.detail.keepAspectRatio,
2660
- percentageHeight: r,
2775
+ percentageHeight: o,
2661
2776
  percentageWidth: n,
2662
2777
  ratioHeight: t.detail.height,
2663
2778
  ratioWidth: t.detail.width,
2664
- unit: o.AspectRatio,
2779
+ unit: r.AspectRatio,
2665
2780
  width: s,
2666
- x: h,
2667
- y: p
2781
+ x: l,
2782
+ y: d
2668
2783
  };
2669
2784
  } else {
2670
2785
  const i = this.asset ? t.detail.height * 100 / this.selectedFormat.height : 100, s = this.asset ? t.detail.width * 100 / this.selectedFormat.width : 100;
2671
- let a = this.cropSize.x, r = this.cropSize.y;
2672
- a + s > 100 && (a = 100 - s), r + i > 100 && (r = 100 - i);
2786
+ let a = this.cropSize.x, o = this.cropSize.y;
2787
+ a + s > 100 && (a = 100 - s), o + i > 100 && (o = 100 - i);
2673
2788
  let n = this.cropSize.cropMode;
2674
- const h = this.cropModes.find(
2675
- (p) => p.value === n
2789
+ const l = this.cropModes.find(
2790
+ (d) => d.value === n
2676
2791
  )?.auto;
2677
- (t.detail.breakAspectRatio || h) && (n = "free"), t.detail.silent ? (this.cropSize.cropMode = n, this.cropSize.height = t.detail.height, this.cropSize.keepAspectRatio = t.detail.keepAspectRatio, this.cropSize.percentageHeight = i, this.cropSize.percentageWidth = s, this.cropSize.unit = o.Pixel, this.cropSize.width = t.detail.width, this.cropSize.x = a, this.cropSize.y = r) : this.cropSize = {
2792
+ (t.detail.breakAspectRatio || l) && (n = "free"), t.detail.silent ? (this.cropSize.cropMode = n, this.cropSize.height = t.detail.height, this.cropSize.keepAspectRatio = t.detail.keepAspectRatio, this.cropSize.percentageHeight = i, this.cropSize.percentageWidth = s, this.cropSize.unit = r.Pixel, this.cropSize.width = t.detail.width, this.cropSize.x = a, this.cropSize.y = o) : this.cropSize = {
2678
2793
  ...this.cropSize,
2679
2794
  cropMode: n,
2680
2795
  height: t.detail.height,
2681
2796
  keepAspectRatio: t.detail.keepAspectRatio,
2682
2797
  percentageHeight: i,
2683
2798
  percentageWidth: s,
2684
- unit: o.Pixel,
2799
+ unit: r.Pixel,
2685
2800
  width: t.detail.width,
2686
2801
  x: a,
2687
- y: r
2802
+ y: o
2688
2803
  };
2689
2804
  }
2690
2805
  e !== this.cropSize.unit && (this.cropSize = {
@@ -2702,43 +2817,43 @@ let x = class extends B {
2702
2817
  });
2703
2818
  }
2704
2819
  onCropApply(t) {
2705
- if (this.preResetTransformations = void 0, this.lastAction = m.Crop, !this.asset) {
2820
+ if (this.clearResetSnapshot(), this.lastAction = m.Crop, !this.asset) {
2706
2821
  const {
2707
- focusMode: h,
2708
- height: p,
2709
- position: f,
2822
+ focusMode: l,
2823
+ height: d,
2824
+ position: g,
2710
2825
  ratioHeight: c,
2711
- ratioWidth: g,
2712
- unit: y,
2713
- width: d,
2714
- x: z,
2715
- y: b
2716
- } = this.cropSize, u = this.focusModes.find(
2717
- (F) => F.value === h
2826
+ ratioWidth: S,
2827
+ unit: A,
2828
+ width: p,
2829
+ x: y,
2830
+ y: k
2831
+ } = this.cropSize, f = this.focusModes.find(
2832
+ (F) => F.value === l
2718
2833
  )?.auto ?? !1;
2719
- if (y === o.AspectRatio) {
2720
- g && c && this.upsertTransformation({
2834
+ if (A === r.AspectRatio) {
2835
+ S && c && this.upsertTransformation({
2721
2836
  key: m.Crop,
2722
2837
  value: {
2723
- focusMode: h,
2724
- isFocusModeAuto: u,
2725
- position: f,
2838
+ focusMode: l,
2839
+ isFocusModeAuto: f,
2840
+ position: g,
2726
2841
  ratioHeight: c,
2727
- ratioWidth: g,
2728
- unit: y
2842
+ ratioWidth: S,
2843
+ unit: A
2729
2844
  }
2730
2845
  });
2731
2846
  return;
2732
2847
  }
2733
- (p || d) && this.upsertTransformation({
2848
+ (d || p) && this.upsertTransformation({
2734
2849
  key: m.Crop,
2735
2850
  value: {
2736
- focusMode: h,
2737
- height: p,
2738
- isFocusModeAuto: u,
2739
- position: f,
2740
- unit: y,
2741
- width: d,
2851
+ focusMode: l,
2852
+ height: d,
2853
+ isFocusModeAuto: f,
2854
+ position: g,
2855
+ unit: A,
2856
+ width: p,
2742
2857
  /**
2743
2858
  * Without an asset there is no cropper to drag, so x/y are always the 0
2744
2859
  * placeholder from cropSize's default — never a real manual offset. Omit
@@ -2746,8 +2861,8 @@ let x = class extends B {
2746
2861
  * string) so `hasManualXY` in buildTransformationString doesn't spuriously
2747
2862
  * suppress the focus mode / position `c_g_` gravity value.
2748
2863
  */
2749
- x: Number.isFinite(z) && z !== 0 ? z : void 0,
2750
- y: Number.isFinite(b) && b !== 0 ? b : void 0
2864
+ x: Number.isFinite(y) && y !== 0 ? y : void 0,
2865
+ y: Number.isFinite(k) && k !== 0 ? k : void 0
2751
2866
  }
2752
2867
  });
2753
2868
  return;
@@ -2755,38 +2870,38 @@ let x = class extends B {
2755
2870
  const { height: e, mode: i, unit: s, width: a } = t.detail;
2756
2871
  if (!this.cropperElement || !this.selectedFormat)
2757
2872
  return;
2758
- const r = this.cropSize.focusMode, n = this.focusModes.find(
2759
- (h) => h.value === r
2873
+ const o = this.cropSize.focusMode, n = this.focusModes.find(
2874
+ (l) => l.value === o
2760
2875
  )?.auto ?? !1;
2761
2876
  if (e && a && s) {
2762
- let h = a, p = e;
2763
- if (s === o.AspectRatio && (h = this.cropSize.percentageWidth * this.selectedFormat.width / 100, p = this.cropSize.percentageHeight * this.selectedFormat.height / 100), i)
2877
+ let l = a, d = e;
2878
+ if (s === r.AspectRatio && (l = this.cropSize.percentageWidth * this.selectedFormat.width / 100, d = this.cropSize.percentageHeight * this.selectedFormat.height / 100), i)
2764
2879
  this.transformations = [
2765
2880
  ...this.transformations,
2766
2881
  {
2767
2882
  key: m.Crop,
2768
2883
  value: {
2769
- focusMode: r,
2770
- height: p,
2884
+ focusMode: o,
2885
+ height: d,
2771
2886
  isFocusModeAuto: n,
2772
2887
  mode: i,
2773
- width: h
2888
+ width: l
2774
2889
  }
2775
2890
  }
2776
2891
  ];
2777
2892
  else {
2778
- const f = this.cropSize.x / 100 * this.selectedFormat.width, c = this.cropSize.y / 100 * this.selectedFormat.height;
2893
+ const g = this.cropSize.x / 100 * this.selectedFormat.width, c = this.cropSize.y / 100 * this.selectedFormat.height;
2779
2894
  this.transformations = [
2780
2895
  ...this.transformations,
2781
2896
  {
2782
2897
  key: m.Crop,
2783
2898
  value: {
2784
- focusMode: r,
2785
- height: p,
2899
+ focusMode: o,
2900
+ height: d,
2786
2901
  isFocusModeAuto: n,
2787
2902
  unit: s,
2788
- width: h,
2789
- x: f,
2903
+ width: l,
2904
+ x: g,
2790
2905
  y: c
2791
2906
  }
2792
2907
  }
@@ -2797,7 +2912,7 @@ let x = class extends B {
2797
2912
  {
2798
2913
  key: m.Crop,
2799
2914
  value: {
2800
- focusMode: r,
2915
+ focusMode: o,
2801
2916
  isFocusModeAuto: n,
2802
2917
  mode: i
2803
2918
  }
@@ -2805,9 +2920,9 @@ let x = class extends B {
2805
2920
  ]);
2806
2921
  }
2807
2922
  onResizeChange(t) {
2808
- if (t.detail.unit === o.AspectRatio) {
2923
+ if (t.detail.unit === r.AspectRatio) {
2809
2924
  const e = t.detail.width / t.detail.height, i = Math.max(
2810
- Math.round(this.lastResizeSize[o.Pixel].height * e),
2925
+ Math.round(this.lastResizeSize[r.Pixel].height * e),
2811
2926
  0
2812
2927
  ), s = Math.max(Math.round(i / e), 0);
2813
2928
  this.resizeSize = {
@@ -2830,14 +2945,14 @@ let x = class extends B {
2830
2945
  }
2831
2946
  onResizeApply(t) {
2832
2947
  const { height: e, unit: i, width: s } = t.detail;
2833
- if (this.preResetTransformations = void 0, this.lastAction = m.Resize, !this.asset) {
2834
- if (i === o.AspectRatio) {
2835
- const { ratioHeight: p, ratioWidth: f } = this.resizeSize;
2836
- f && p && this.upsertTransformation({
2948
+ if (this.clearResetSnapshot(), this.lastAction = m.Resize, !this.asset) {
2949
+ if (i === r.AspectRatio) {
2950
+ const { ratioHeight: d, ratioWidth: g } = this.resizeSize;
2951
+ g && d && this.upsertTransformation({
2837
2952
  key: m.Resize,
2838
2953
  value: {
2839
- ratioHeight: p,
2840
- ratioWidth: f,
2954
+ ratioHeight: d,
2955
+ ratioWidth: g,
2841
2956
  unit: i
2842
2957
  }
2843
2958
  });
@@ -2855,14 +2970,14 @@ let x = class extends B {
2855
2970
  }
2856
2971
  if (!this.selectedFormat)
2857
2972
  return;
2858
- const a = this.selectedFormat.width || this.defaultSize.width, r = this.selectedFormat.height || this.defaultSize.height;
2859
- let n = s, h = e;
2860
- this.resizeSize.unit !== i ? (n = a, h = r) : i === o.AspectRatio && (n = Math.round(s / e * r), h = r), this.transformations = [
2973
+ const a = this.selectedFormat.width || this.defaultSize.width, o = this.selectedFormat.height || this.defaultSize.height;
2974
+ let n = s, l = e;
2975
+ this.resizeSize.unit !== i ? (n = a, l = o) : i === r.AspectRatio && (n = Math.round(s / e * o), l = o), this.transformations = [
2861
2976
  ...this.transformations,
2862
2977
  {
2863
2978
  key: m.Resize,
2864
2979
  value: {
2865
- height: h,
2980
+ height: l,
2866
2981
  unit: i,
2867
2982
  width: n
2868
2983
  }
@@ -2874,7 +2989,7 @@ let x = class extends B {
2874
2989
  }
2875
2990
  onRotationApply(t) {
2876
2991
  const e = t.detail;
2877
- if (this.preResetTransformations = void 0, this.lastAction = m.Rotate, !this.asset) {
2992
+ if (this.clearResetSnapshot(), this.lastAction = m.Rotate, !this.asset) {
2878
2993
  e ? this.upsertTransformation({
2879
2994
  key: m.Rotate,
2880
2995
  value: {
@@ -2897,7 +3012,7 @@ let x = class extends B {
2897
3012
  }
2898
3013
  onQualityChange(t) {
2899
3014
  const e = t.detail;
2900
- this.selectedFormat && (this.selectedFormat.quality = e), this.preResetTransformations = void 0, this.lastAction = m.Quality;
3015
+ this.selectedFormat && (this.selectedFormat.quality = e), this.clearResetSnapshot(), this.lastAction = m.Quality;
2901
3016
  const i = {
2902
3017
  key: m.Quality,
2903
3018
  value: {
@@ -2908,7 +3023,7 @@ let x = class extends B {
2908
3023
  }
2909
3024
  onMetadataChange(t) {
2910
3025
  const e = t.detail;
2911
- if (this.preResetTransformations = void 0, this.selectedFormat && (this.selectedFormat = {
3026
+ if (this.clearResetSnapshot(), this.selectedFormat && (this.selectedFormat = {
2912
3027
  ...this.selectedFormat,
2913
3028
  keepMetadata: e
2914
3029
  }), !this.asset) {
@@ -2947,196 +3062,228 @@ let x = class extends B {
2947
3062
  quality: t ?? 100
2948
3063
  });
2949
3064
  }
3065
+ /**
3066
+ * Whether there is anything for Reset to undo.
3067
+ *
3068
+ * Transformations are one way to diverge from the defaults; leaving `Auto` for an
3069
+ * explicit format is another, and Reset is what puts that back.
3070
+ */
3071
+ get hasResettableState() {
3072
+ return this.transformations.length > 0 ? !0 : this.canAutoFormat && !this.autoFormat;
3073
+ }
3074
+ /**
3075
+ * Drops the one-step Reset snapshot.
3076
+ *
3077
+ * Called whenever the user applies a new transformation: at that point Undo means
3078
+ * "remove that transformation", not "go back to before the Reset".
3079
+ */
3080
+ clearResetSnapshot() {
3081
+ this.preResetTransformations = void 0, this.preResetAutoFormat = void 0, this.preResetSelectedProxy = void 0;
3082
+ }
2950
3083
  handleUndo() {
2951
- !this.hasUnfrozenTransformations && this.preResetTransformations !== void 0 ? (this.transformations = this.preResetTransformations, this.preResetTransformations = void 0) : this.transformations = this.transformations.slice(0, -1), this.syncQuality();
3084
+ !this.hasUnfrozenTransformations && this.preResetTransformations !== void 0 ? (this.transformations = this.preResetTransformations, this.preResetTransformations = void 0, this.preResetAutoFormat !== void 0 && (this.autoFormat = this.preResetAutoFormat, this.preResetAutoFormat = void 0), this.preResetSelectedProxy !== void 0 && (this.selectedProxy = this.preResetSelectedProxy, this.preResetSelectedProxy = void 0)) : this.transformations = this.transformations.slice(0, -1), this.syncQuality();
2952
3085
  }
2953
3086
  handleReset() {
2954
- this.preResetTransformations = [...this.transformations];
2955
- const t = !!this.defaultProxy && !!this.proxies?.some((e) => e.id === this.defaultProxy);
2956
- this.selectedProxy = t ? this.defaultProxy : this.selectedProxy || this.proxies?.[0]?.id || "", this.transformations = [], this.frozenIndex = -1, this.syncQuality();
3087
+ if (this.preResetTransformations = [...this.transformations], this.preResetAutoFormat = this.autoFormat, this.preResetSelectedProxy = this.selectedProxy, this.canAutoFormat)
3088
+ this.autoFormat = !0, this.selectedProxy = this.autoResolvedProxyId || this.selectedProxy;
3089
+ else {
3090
+ const t = !!this.defaultProxy && !!this.proxies?.some((e) => e.id === this.defaultProxy);
3091
+ this.selectedProxy = t ? this.defaultProxy : this.selectedProxy || this.proxies?.[0]?.id || "";
3092
+ }
3093
+ this.transformations = [], this.frozenIndex = -1, this.syncQuality();
2957
3094
  }
2958
3095
  render() {
2959
- return A`<div class="asset-link-format" @cx-show=${this.onDetailsShow} @cx-hide=${this.onDetailsHide}>${M(
3096
+ return C`<div class="asset-link-format" @cx-show=${this.onDetailsShow} @cx-hide=${this.onDetailsHide}>${_(
2960
3097
  !this.hideHeader,
2961
- () => A`<cx-space class="asset-link-format__section-header" direction="horizontal" spacing="small" align-items="center" justify-content="space-between"><cx-typography variant="body3">${this.localize.term("transformations")}</cx-typography><cx-space direction="horizontal" spacing="3x-small" align-items="center"><cx-button class="asset-link-format__undo" variant="custom" ?disabled=${!this.hasUnfrozenTransformations && this.preResetTransformations === void 0} @click=${this.handleUndo}>${this.localize.term("undo")}</cx-button>${M(this.canReset, () => A`<cx-button class="asset-link-format__reset" variant="custom" ?disabled=${this.transformations.length === 0} @click=${this.handleReset}>${this.localize.term("reset")}</cx-button>`)}</cx-space></cx-space>`,
2962
- () => Xt
3098
+ () => C`<cx-space class="asset-link-format__section-header" direction="horizontal" spacing="small" align-items="center" justify-content="space-between"><cx-typography variant="body3">${this.localize.term("transformations")}</cx-typography><cx-space direction="horizontal" spacing="3x-small" align-items="center"><cx-button class="asset-link-format__undo" variant="custom" ?disabled=${!this.hasUnfrozenTransformations && this.preResetTransformations === void 0} @click=${this.handleUndo}>${this.localize.term("undo")}</cx-button>${_(this.canReset, () => C`<cx-button class="asset-link-format__reset" variant="custom" ?disabled=${!this.hasResettableState} @click=${this.handleReset}>${this.localize.term("reset")}</cx-button>`)}</cx-space></cx-space>`,
3099
+ () => Nt
2963
3100
  )}
2964
- ${M(
3101
+ ${_(
2965
3102
  !this.noFormat,
2966
- () => A`<cx-asset-link-format-proxy class="asset-link-format__details" value=${this.selectedProxy || this.proxies?.[0]?.id || ""} ?open=${this.activeSetting === "cx-asset-link-format-proxy"} .items=${this.formats} ?loading=${this.loading && this.lastAction === m.Proxy} @cx-asset-link-format-proxy-change=${this.onProxyChange}></cx-asset-link-format-proxy>`
3103
+ () => C`<cx-asset-link-format-proxy class="asset-link-format__details" value=${this.selectedProxy || this.proxies?.[0]?.id || ""} ?open=${this.activeSetting === "cx-asset-link-format-proxy"} ?auto-format=${this.autoFormat} ?can-auto-format=${this.canAutoFormat} .items=${this.formats} ?loading=${this.loading && this.lastAction === m.Proxy} @cx-asset-link-format-proxy-change=${this.onProxyChange}></cx-asset-link-format-proxy>`
2967
3104
  )}
2968
- ${M(
3105
+ ${_(
2969
3106
  !this.noCrop,
2970
- () => A`<cx-asset-link-format-crop class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-crop"} ?disabled-apply=${this.disabledCropApply} ?loading=${this.loading && this.lastAction === m.Crop} ?keep-aspect-ratio=${this.cropSize.keepAspectRatio} ?show-position-picker=${!this.asset} focus-mode=${this.cropSize.focusMode} crop-mode=${this.cropSize.cropMode} width=${this.cropSize.width} height=${this.cropSize.height} max-width=${this.asset ? this.lastResizeSize[o.Pixel].width : 1 / 0} max-height=${this.asset ? this.lastResizeSize[o.Pixel].height : 1 / 0} percentage-width=${this.cropSize.percentageWidth} percentage-height=${this.cropSize.percentageHeight} position=${this.cropSize.position} ratio-width=${this.cropSize.ratioWidth} ratio-height=${this.cropSize.ratioHeight} unit=${this.cropSize.unit} .lastAppliedSetting=${this.lastCropSize} .cropModes=${this.cropModes} .focusModes=${this.focusModes} @cx-asset-link-format-crop-mode-change=${this.onCropModeChange} @cx-asset-link-format-crop-focus-mode-change=${this.onCropFocusModeChange} @cx-asset-link-format-crop-position-change=${this.onCropPositionChange} @cx-asset-link-format-crop-change=${this.onCropChange} @cx-asset-link-format-crop-changed=${this.onCropChanged} @cx-asset-link-format-crop-apply=${this.onCropApply}></cx-asset-link-format-crop>`
3107
+ () => C`<cx-asset-link-format-crop class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-crop"} ?disabled-apply=${this.disabledCropApply} ?loading=${this.loading && this.lastAction === m.Crop} ?keep-aspect-ratio=${this.cropSize.keepAspectRatio} ?show-position-picker=${!this.asset} focus-mode=${this.cropSize.focusMode} crop-mode=${this.cropSize.cropMode} width=${this.cropSize.width} height=${this.cropSize.height} max-width=${this.asset ? this.lastResizeSize[r.Pixel].width : 1 / 0} max-height=${this.asset ? this.lastResizeSize[r.Pixel].height : 1 / 0} percentage-width=${this.cropSize.percentageWidth} percentage-height=${this.cropSize.percentageHeight} position=${this.cropSize.position} ratio-width=${this.cropSize.ratioWidth} ratio-height=${this.cropSize.ratioHeight} unit=${this.cropSize.unit} .lastAppliedSetting=${this.lastCropSize} .cropModes=${this.cropModes} .focusModes=${this.focusModes} @cx-asset-link-format-crop-mode-change=${this.onCropModeChange} @cx-asset-link-format-crop-focus-mode-change=${this.onCropFocusModeChange} @cx-asset-link-format-crop-position-change=${this.onCropPositionChange} @cx-asset-link-format-crop-change=${this.onCropChange} @cx-asset-link-format-crop-changed=${this.onCropChanged} @cx-asset-link-format-crop-apply=${this.onCropApply}></cx-asset-link-format-crop>`
2971
3108
  )}
2972
- ${M(
3109
+ ${_(
2973
3110
  !this.noResize,
2974
- () => A`<cx-asset-link-format-resize class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-resize"} ?loading=${this.loading && this.lastAction === m.Resize} ?no-ratio-modes=${!this.asset} ?keep-aspect-ratio=${this.resizeSize.keepAspectRatio} width=${this.resizeSize.width} height=${this.resizeSize.height} max-width=${this.asset ? this.imageSize.width : 1 / 0} max-height=${this.asset ? this.imageSize.height : 1 / 0} ratio-width=${this.resizeSize.ratioWidth} ratio-height=${this.resizeSize.ratioHeight} unit=${this.resizeSize.unit} .lastAppliedSetting=${this.lastResizeSize} @cx-asset-link-format-resize-change=${this.onResizeChange} @cx-asset-link-format-resize-apply=${this.onResizeApply}></cx-asset-link-format-resize>`
3111
+ () => C`<cx-asset-link-format-resize class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-resize"} ?loading=${this.loading && this.lastAction === m.Resize} ?no-ratio-modes=${!this.asset} ?keep-aspect-ratio=${this.resizeSize.keepAspectRatio} width=${this.resizeSize.width} height=${this.resizeSize.height} max-width=${this.asset ? this.imageSize.width : 1 / 0} max-height=${this.asset ? this.imageSize.height : 1 / 0} ratio-width=${this.resizeSize.ratioWidth} ratio-height=${this.resizeSize.ratioHeight} unit=${this.resizeSize.unit} .lastAppliedSetting=${this.lastResizeSize} @cx-asset-link-format-resize-change=${this.onResizeChange} @cx-asset-link-format-resize-apply=${this.onResizeApply}></cx-asset-link-format-resize>`
2975
3112
  )}
2976
- ${M(
3113
+ ${_(
2977
3114
  !this.noRotate,
2978
- () => A`<cx-asset-link-format-rotation class="asset-link-format__details" ?loading=${this.loading && this.lastAction === m.Rotate} ?open=${this.activeSetting === "cx-asset-link-format-rotation"} default-value=${this.selectedFormat?.rotation ?? 0} last-applied-value=${this.lastRotation} value=${this.rotation} @cx-asset-link-format-rotation-change=${this.onRotationChange} @cx-asset-link-format-rotation-apply=${this.onRotationApply}></cx-asset-link-format-rotation>`
2979
- )}<cx-asset-link-format-quality class="asset-link-format__details" ?loading=${this.loading && this.lastAction === m.Quality} ?open=${this.activeSetting === "cx-asset-link-format-quality"} value=${this.selectedFormat?.quality ?? 100} @cx-asset-link-format-quality-change=${this.onQualityChange}></cx-asset-link-format-quality>${M(
3115
+ () => C`<cx-asset-link-format-rotation class="asset-link-format__details" ?loading=${this.loading && this.lastAction === m.Rotate} ?open=${this.activeSetting === "cx-asset-link-format-rotation"} default-value=${this.selectedFormat?.rotation ?? 0} last-applied-value=${this.lastRotation} value=${this.rotation} @cx-asset-link-format-rotation-change=${this.onRotationChange} @cx-asset-link-format-rotation-apply=${this.onRotationApply}></cx-asset-link-format-rotation>`
3116
+ )}<cx-asset-link-format-quality class="asset-link-format__details" ?loading=${this.loading && this.lastAction === m.Quality} ?open=${this.activeSetting === "cx-asset-link-format-quality"} value=${this.selectedFormat?.quality ?? 100} @cx-asset-link-format-quality-change=${this.onQualityChange}></cx-asset-link-format-quality>${_(
2980
3117
  !this.noMetadata,
2981
- () => A`<cx-asset-link-format-metadata class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-metadata"} .value=${this.selectedFormat?.keepMetadata ?? !1} @cx-asset-link-format-metadata-change=${this.onMetadataChange}></cx-asset-link-format-metadata>`
3118
+ () => C`<cx-asset-link-format-metadata class="asset-link-format__details" ?open=${this.activeSetting === "cx-asset-link-format-metadata"} .value=${this.selectedFormat?.keepMetadata ?? !1} @cx-asset-link-format-metadata-change=${this.onMetadataChange}></cx-asset-link-format-metadata>`
2982
3119
  )}
2983
- ${M(
3120
+ ${_(
2984
3121
  this.useCustomExtension,
2985
- () => A`<cx-asset-link-format-extension .items=${this.extensions} value=${this.selectedFormat?.extension ?? ""} @cx-asset-link-format-extension-change=${this.onExtensionChange}></cx-asset-link-format-extension>`
3122
+ () => C`<cx-asset-link-format-extension .items=${this.extensions} value=${this.selectedFormat?.extension ?? ""} @cx-asset-link-format-extension-change=${this.onExtensionChange}></cx-asset-link-format-extension>`
2986
3123
  )}</div>`;
2987
3124
  }
2988
3125
  };
2989
- x.styles = [V, we];
2990
- x.dependencies = {
2991
- "cx-asset-link-format-crop": C,
2992
- "cx-asset-link-format-extension": K,
3126
+ u.styles = [V, be];
3127
+ u.dependencies = {
3128
+ "cx-asset-link-format-crop": v,
3129
+ "cx-asset-link-format-extension": X,
2993
3130
  "cx-asset-link-format-metadata": O,
2994
- "cx-asset-link-format-proxy": E,
2995
- "cx-asset-link-format-quality": H,
2996
- "cx-asset-link-format-resize": v,
2997
- "cx-asset-link-format-rotation": T,
3131
+ "cx-asset-link-format-proxy": M,
3132
+ "cx-asset-link-format-quality": T,
3133
+ "cx-asset-link-format-resize": w,
3134
+ "cx-asset-link-format-rotation": H,
2998
3135
  "cx-button": Z,
2999
3136
  "cx-space": L,
3000
3137
  "cx-typography": U
3001
3138
  };
3002
- S([
3003
- l({ attribute: "base-url", type: String })
3004
- ], x.prototype, "baseUrl", 2);
3005
- S([
3006
- l({ attribute: "token", type: String })
3007
- ], x.prototype, "token", 2);
3008
- S([
3009
- l({ reflect: !1, type: Object })
3010
- ], x.prototype, "asset", 2);
3011
- S([
3012
- l({ attribute: "crop-modes", reflect: !1, type: Array })
3013
- ], x.prototype, "cropModes", 2);
3014
- S([
3015
- l({ attribute: "focus-modes", reflect: !1, type: Object })
3016
- ], x.prototype, "focusModes", 2);
3017
- S([
3018
- l({ reflect: !1, type: Array })
3019
- ], x.prototype, "extensions", 2);
3020
- S([
3021
- l({ reflect: !1, type: Array })
3022
- ], x.prototype, "proxies", 2);
3023
- S([
3024
- l({ attribute: "for-cropper", reflect: !0, type: String })
3025
- ], x.prototype, "forCropper", 2);
3026
- S([
3027
- l({ attribute: "use-session", reflect: !0, type: String })
3028
- ], x.prototype, "useSession", 2);
3029
- S([
3030
- l({ reflect: !1, type: Array })
3031
- ], x.prototype, "transformations", 2);
3032
- S([
3033
- l({ attribute: "selected-proxy", reflect: !0, type: String })
3034
- ], x.prototype, "selectedProxy", 2);
3035
- S([
3036
- l({ attribute: "default-proxy", reflect: !0, type: String })
3037
- ], x.prototype, "defaultProxy", 2);
3038
- S([
3039
- l({ attribute: "use-custom-extension", reflect: !0, type: Boolean })
3040
- ], x.prototype, "useCustomExtension", 2);
3041
- S([
3042
- l({ attribute: "no-metadata", reflect: !0, type: Boolean })
3043
- ], x.prototype, "noMetadata", 2);
3044
- S([
3045
- l({ attribute: "no-format", reflect: !0, type: Boolean })
3046
- ], x.prototype, "noFormat", 2);
3047
- S([
3048
- l({ attribute: "no-crop", reflect: !0, type: Boolean })
3049
- ], x.prototype, "noCrop", 2);
3050
- S([
3051
- l({ attribute: "no-resize", reflect: !0, type: Boolean })
3052
- ], x.prototype, "noResize", 2);
3053
- S([
3054
- l({ attribute: "no-rotate", reflect: !0, type: Boolean })
3055
- ], x.prototype, "noRotate", 2);
3056
- S([
3057
- l({ attribute: "last-image-size", reflect: !1, type: Object })
3058
- ], x.prototype, "lastImageSize", 2);
3059
- S([
3060
- l({ attribute: "hide-header", reflect: !1, type: Boolean })
3061
- ], x.prototype, "hideHeader", 2);
3062
- S([
3063
- l({ attribute: "can-reset", type: Boolean })
3064
- ], x.prototype, "canReset", 2);
3065
- S([
3066
- l({ attribute: !1, reflect: !1, type: Object })
3067
- ], x.prototype, "queryElement", 2);
3068
- S([
3069
- R()
3070
- ], x.prototype, "activeSetting", 2);
3071
- S([
3072
- R()
3073
- ], x.prototype, "selectedFormat", 2);
3074
- S([
3075
- R()
3076
- ], x.prototype, "resizeSize", 2);
3077
- S([
3078
- R()
3079
- ], x.prototype, "cropSize", 2);
3080
- S([
3081
- R()
3082
- ], x.prototype, "rotation", 2);
3083
- S([
3084
- R()
3085
- ], x.prototype, "defaultSize", 2);
3086
- S([
3087
- R()
3088
- ], x.prototype, "cropperElement", 2);
3089
- S([
3090
- R()
3091
- ], x.prototype, "parameters", 2);
3092
- S([
3093
- R()
3094
- ], x.prototype, "loading", 2);
3095
- S([
3096
- R()
3097
- ], x.prototype, "lastAction", 2);
3098
- S([
3099
- R()
3100
- ], x.prototype, "frozenIndex", 2);
3101
- S([
3102
- R()
3103
- ], x.prototype, "preResetTransformations", 2);
3104
- S([
3105
- _("transformations")
3106
- ], x.prototype, "handleTransformationsChange", 1);
3107
- S([
3108
- _("selectedProxy")
3109
- ], x.prototype, "handleSelectedProxyChange", 1);
3110
- S([
3111
- _("loading")
3112
- ], x.prototype, "handleLoadingChange", 1);
3113
- x = S([
3139
+ x([
3140
+ h({ attribute: "base-url", type: String })
3141
+ ], u.prototype, "baseUrl", 2);
3142
+ x([
3143
+ h({ attribute: "token", type: String })
3144
+ ], u.prototype, "token", 2);
3145
+ x([
3146
+ h({ reflect: !1, type: Object })
3147
+ ], u.prototype, "asset", 2);
3148
+ x([
3149
+ h({ attribute: "crop-modes", reflect: !1, type: Array })
3150
+ ], u.prototype, "cropModes", 2);
3151
+ x([
3152
+ h({ attribute: "focus-modes", reflect: !1, type: Object })
3153
+ ], u.prototype, "focusModes", 2);
3154
+ x([
3155
+ h({ reflect: !1, type: Array })
3156
+ ], u.prototype, "extensions", 2);
3157
+ x([
3158
+ h({ reflect: !1, type: Array })
3159
+ ], u.prototype, "proxies", 2);
3160
+ x([
3161
+ h({ attribute: "for-cropper", reflect: !0, type: String })
3162
+ ], u.prototype, "forCropper", 2);
3163
+ x([
3164
+ h({ attribute: "use-session", reflect: !0, type: String })
3165
+ ], u.prototype, "useSession", 2);
3166
+ x([
3167
+ h({ reflect: !1, type: Array })
3168
+ ], u.prototype, "transformations", 2);
3169
+ x([
3170
+ h({ attribute: "selected-proxy", reflect: !0, type: String })
3171
+ ], u.prototype, "selectedProxy", 2);
3172
+ x([
3173
+ h({ attribute: "default-proxy", reflect: !0, type: String })
3174
+ ], u.prototype, "defaultProxy", 2);
3175
+ x([
3176
+ h({ attribute: "can-auto-format", reflect: !0, type: Boolean })
3177
+ ], u.prototype, "canAutoFormat", 2);
3178
+ x([
3179
+ h({ attribute: "auto-format", reflect: !0, type: Boolean })
3180
+ ], u.prototype, "autoFormat", 2);
3181
+ x([
3182
+ h({ attribute: "use-custom-extension", reflect: !0, type: Boolean })
3183
+ ], u.prototype, "useCustomExtension", 2);
3184
+ x([
3185
+ h({ attribute: "no-metadata", reflect: !0, type: Boolean })
3186
+ ], u.prototype, "noMetadata", 2);
3187
+ x([
3188
+ h({ attribute: "no-format", reflect: !0, type: Boolean })
3189
+ ], u.prototype, "noFormat", 2);
3190
+ x([
3191
+ h({ attribute: "no-crop", reflect: !0, type: Boolean })
3192
+ ], u.prototype, "noCrop", 2);
3193
+ x([
3194
+ h({ attribute: "no-resize", reflect: !0, type: Boolean })
3195
+ ], u.prototype, "noResize", 2);
3196
+ x([
3197
+ h({ attribute: "no-rotate", reflect: !0, type: Boolean })
3198
+ ], u.prototype, "noRotate", 2);
3199
+ x([
3200
+ h({ attribute: "last-image-size", reflect: !1, type: Object })
3201
+ ], u.prototype, "lastImageSize", 2);
3202
+ x([
3203
+ h({ attribute: "hide-header", reflect: !1, type: Boolean })
3204
+ ], u.prototype, "hideHeader", 2);
3205
+ x([
3206
+ h({ attribute: "can-reset", type: Boolean })
3207
+ ], u.prototype, "canReset", 2);
3208
+ x([
3209
+ h({ attribute: !1, reflect: !1, type: Object })
3210
+ ], u.prototype, "queryElement", 2);
3211
+ x([
3212
+ b()
3213
+ ], u.prototype, "activeSetting", 2);
3214
+ x([
3215
+ b()
3216
+ ], u.prototype, "selectedFormat", 2);
3217
+ x([
3218
+ b()
3219
+ ], u.prototype, "resizeSize", 2);
3220
+ x([
3221
+ b()
3222
+ ], u.prototype, "cropSize", 2);
3223
+ x([
3224
+ b()
3225
+ ], u.prototype, "rotation", 2);
3226
+ x([
3227
+ b()
3228
+ ], u.prototype, "defaultSize", 2);
3229
+ x([
3230
+ b()
3231
+ ], u.prototype, "cropperElement", 2);
3232
+ x([
3233
+ b()
3234
+ ], u.prototype, "parameters", 2);
3235
+ x([
3236
+ b()
3237
+ ], u.prototype, "loading", 2);
3238
+ x([
3239
+ b()
3240
+ ], u.prototype, "lastAction", 2);
3241
+ x([
3242
+ b()
3243
+ ], u.prototype, "frozenIndex", 2);
3244
+ x([
3245
+ b()
3246
+ ], u.prototype, "preResetTransformations", 2);
3247
+ x([
3248
+ b()
3249
+ ], u.prototype, "preResetAutoFormat", 2);
3250
+ x([
3251
+ b()
3252
+ ], u.prototype, "preResetSelectedProxy", 2);
3253
+ x([
3254
+ P("transformations")
3255
+ ], u.prototype, "handleTransformationsChange", 1);
3256
+ x([
3257
+ P("selectedProxy")
3258
+ ], u.prototype, "handleSelectedProxyChange", 1);
3259
+ x([
3260
+ P("loading")
3261
+ ], u.prototype, "handleLoadingChange", 1);
3262
+ u = x([
3114
3263
  G("cx-asset-link-format")
3115
- ], x);
3264
+ ], u);
3116
3265
  export {
3117
- x as C,
3118
- wt as D,
3119
- ct as F,
3120
- tt as O,
3121
- ye as a,
3122
- ce as b,
3123
- Ut as c,
3124
- Hi as d,
3125
- Wi as e,
3126
- Ti as f,
3127
- qt as g,
3266
+ u as C,
3267
+ ot as F,
3268
+ Ae as a,
3269
+ pe as b,
3270
+ Bt as c,
3271
+ Ni as d,
3272
+ Oi as e,
3273
+ Di as f,
3274
+ jt as g,
3128
3275
  ut as h,
3129
- At as i,
3276
+ Vt as i,
3130
3277
  lt as j,
3131
- Mt as k,
3132
- It as l,
3278
+ ct as k,
3279
+ Mt as l,
3133
3280
  pt as m,
3134
3281
  dt as n,
3135
- Tt as o,
3136
- Di as p,
3282
+ Et as o,
3283
+ Li as p,
3137
3284
  oe as q,
3138
- Mi as r,
3139
- Ii as s,
3140
- Ei as t,
3285
+ Hi as r,
3286
+ Ti as s,
3287
+ Wi as t,
3141
3288
  ae as u
3142
3289
  };