@orangelogic/design-system 3.4.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 (56) hide show
  1. package/library/chunks/{asset-link-format.O2It93rl.js → asset-link-format.SaFYESLe.js} +1140 -992
  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 +12386 -12220
  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/cropper/cropper.d.ts +0 -1
  28. package/library/packages/molecules/src/cropper/react/Cropper.d.ts +0 -1
  29. package/library/packages/molecules/src/masonry/masonry.d.ts +15 -0
  30. package/library/packages/molecules/src/view-and-sort/view-and-sort.d.ts +2 -0
  31. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +46 -2
  32. package/library/packages/organisms/src/asset-link-format/components/asset-link-format-proxy/asset-link-format-proxy.d.ts +36 -1
  33. package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +20 -2
  34. package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +13 -0
  35. package/library/packages/organisms/src/carousel/carousel.d.ts +13 -0
  36. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +54 -0
  37. package/library/packages/organisms/src/content-builder/blocks/video/video.d.ts +5 -0
  38. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +2 -1
  39. package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +6 -0
  40. package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +1 -0
  41. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +1 -0
  42. package/library/packages/organisms/src/content-builder/configs/image.d.ts +2 -0
  43. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
  44. package/library/packages/organisms/src/content-builder/configs/video.d.ts +1 -0
  45. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +10 -0
  46. package/library/packages/organisms/src/content-builder/styleController.d.ts +2 -0
  47. package/library/packages/tools/src/fetch-image/fetch-image.d.ts +28 -5
  48. package/library/packages/types/src/asset-link-format.d.ts +0 -1
  49. package/library/packages/types/src/content-builder.d.ts +7 -0
  50. package/library/packages/types/src/gallery-item.d.ts +1 -0
  51. package/library/packages/types/src/masonry.d.ts +1 -0
  52. package/library/packages/utils/src/transformation/transformation.d.ts +42 -3
  53. package/library/react-web-component.d.ts +51 -7
  54. package/library/utils.js +113 -109
  55. package/package.json +1 -1
  56. package/library/chunks/transformation.CWKaoGaY.js +0 -254
@@ -2,49 +2,49 @@ 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 Dt, C as Nt, S as qt, b as jt, c as Vt, d as Gt } from "./endpoints.mJ5S-tIs.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";
7
7
  import "./browser.BHOCIF_A.js";
8
- import { i as q, x as A, E as Qt } from "./lit-element.jLBm65_O.js";
8
+ import { i as q, x as C, E as Nt } from "./lit-element.jLBm65_O.js";
9
9
  import "./form.DSsy3Fcy.js";
10
10
  import { L as j } from "./i18n.BA19xtyU.js";
11
- import { a as Xt } from "./string.CfI2ejyR.js";
11
+ import { a as Zt } from "./string.CfI2ejyR.js";
12
12
  import "./date-picker.BGHn6qg8.js";
13
13
  import "./content-builder.BX4pHujE.js";
14
14
  import "./unsafe-html.Dff7-rCx.js";
15
- import { a as $t, c as rt } from "./transformation.CWKaoGaY.js";
16
- import { b as Kt } 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";
17
17
  import { c as V } from "./component.styles.CRO4Odto.js";
18
- import { v as Zt } from "./v4.CKZ6klMF.js";
19
- import { U as o, T as m } from "./asset-link-format.ClaYu_v8.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 F } from "./watch.DJF5K-8U.js";
23
- import { s as Pt, 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 Yt 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
- import Jt from "../components/position-picker.js";
34
- import { c as te } from "./image.Y5c_hFx8.js";
33
+ import te from "../components/position-picker.js";
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 Ot from "../components/tooltip.js";
39
- import ee from "../components/button-group.js";
40
- import ie from "../components/checkbox.js";
41
- function se(t) {
42
- return t && t.length ? Kt(t) : [];
43
- }
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
+ import ie from "../components/button-group.js";
40
+ import se from "../components/checkbox.js";
44
41
  function ae(t) {
42
+ return t && t.length ? Yt(t) : [];
43
+ }
44
+ function oe(t) {
45
45
  return typeof t == "object" && t !== null && "URI" in t;
46
46
  }
47
- const oe = {
47
+ const re = {
48
48
  artist: "Artist",
49
49
  color: "Color",
50
50
  createDate: "CreateDate",
@@ -66,54 +66,54 @@ const oe = {
66
66
  systemIdentifier: "SystemIdentifier",
67
67
  text: "Text",
68
68
  title: "Title"
69
- }, re = /* @__PURE__ */ new Set(["mediaDate", "createDate", "editDate"]);
69
+ }, ne = /* @__PURE__ */ new Set(["mediaDate", "createDate", "editDate"]);
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
  }
77
- function ne(t, e) {
77
+ function he(t, e) {
78
78
  return (Array.isArray(e) ? e : [e]).map((s) => `${t}${s.operator}${s.value}`).join(" AND ");
79
79
  }
80
- function he(t) {
80
+ function le(t) {
81
81
  const e = [];
82
82
  for (const i of Object.keys(t)) {
83
83
  const s = i, a = t[s];
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 = oe[s];
94
- if (r) {
95
- if (re.has(s)) {
93
+ const o = re[s];
94
+ if (o) {
95
+ if (ne.has(s)) {
96
96
  e.push(
97
- ne(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 ");
@@ -129,98 +129,98 @@ function ht(t) {
129
129
  const e = ht(t.not);
130
130
  return e ? `NOT (${e})` : "";
131
131
  }
132
- return he(t);
132
+ return le(t);
133
133
  }
134
- const wt = "CoreField.LargeSizePreview", lt = "CoreField.DocType", le = "Document.Title", ce = "Document.CaptionLong", ct = "Document.FileExtension", _t = "CoreField.FileSize", Mt = "CoreField.Identifier", It = "CoreField.Keywords", pt = "CoreField.MaxHeight", dt = "CoreField.MaxWidth", ut = "Document.RecordID", Et = "CoreField.DocSubType", Lt = "CoreField.TitleWithFallback", mt = "CoreField.OriginalFileName", ft = "CoreField.UpdatedFileName", tt = "CoreField.OriginalPreview", _i = "Document.DocSubType", Mi = "Document.InPoint", Ii = "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
- }, Ut = {
139
- [wt]: Ct.DEFAULT_VIEW_SIZE,
140
- [Lt]: Ct.FIELD_TITLE_WITH_FALLBACK,
141
- [tt]: Ct.ORIGINAL_VIEW_SIZE
142
- }, pe = Object.fromEntries(
143
- Object.entries(Ut).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 de(t) {
149
- return Ut[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 = pe[i] ?? i;
154
+ const a = me[i] ?? i;
155
155
  e[a] = s;
156
156
  }
157
157
  return e;
158
158
  }
159
- function ue(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 Bt({
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(de), d = {
179
+ const A = e?.map(fe), p = {
180
180
  CountPerPage: t,
181
- Fields: se(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: ue(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 ? Nt.SEARCH_ASSETS : qt["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 me({
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 me({
230
230
  params: {
231
231
  SourceAssetFormat: i,
232
232
  SourceAssetRecordID: t,
233
- TargetExtension: Xt(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 me({
240
240
  */
241
241
  timeout: 3e5,
242
242
  // 5 minutes
243
- url: Dt.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 fe = 50;
250
- function ge(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 xe({
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
- le,
272
- ce,
270
+ pe,
271
+ de,
273
272
  ut
274
- ], p = ge(s, fe), f = await Promise.all(
275
- p.map(
276
- (d) => Bt({
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
- return i == null ? "" : typeof i == "string" ? i : typeof i == "number" || typeof i == "boolean" ? String(i) : ae(i) ? i.URI : "";
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 ye({
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 && r.length > 0 ? { docType: r } : {}
331
- }, z = await Bt({
327
+ parentFolderIdentifier: l,
328
+ ...o && o.length > 0 ? { docType: o } : {}
329
+ }, y = await jt({
332
330
  countPerPage: t,
333
331
  fields: [
334
- ...y,
335
- Lt,
336
- wt,
337
- tt,
332
+ ...A,
333
+ Bt,
338
334
  It,
339
335
  dt,
340
336
  pt,
341
- _t,
337
+ ct,
342
338
  lt,
343
339
  Et,
344
340
  Mt,
345
- ct,
341
+ ot,
346
342
  ut,
347
343
  mt,
348
344
  ft
@@ -350,41 +346,39 @@ async function ye({
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 _ = k(u, ct), P = k(u, ft), st = k(u, wt);
359
- _ && !_.startsWith(".") && (_ = "." + _), P === "" && (P = k(u, mt)), _.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, Et),
363
- docType: k(u, lt) || "",
364
- extension: _,
365
- height: k(u, pt) || "0",
366
- id: St,
367
- identifier: k(u, Mt),
368
- imageUrl: st,
369
- name: P,
370
- originalUrl: k(u, tt),
371
- recordId: St,
372
- size: k(u, _t) || "0 MB",
373
- tags: k(u, It),
374
- width: k(u, dt) || "0",
375
- ...y.reduce(
376
- (X, at) => (X[at] = k(u, at), X),
358
+ docSubType: $(f, Et),
359
+ docType: $(f, lt) || "",
360
+ extension: F,
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 Se({
381
+ async function ze({
388
382
  autoCropMode: t,
389
383
  cropHeight: e,
390
384
  cropWidth: i,
@@ -413,13 +407,13 @@ async function Se({
413
407
  y: n.cropY
414
408
  })
415
409
  ],
416
- url: Dt.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 Ei({
416
+ async function Di({
423
417
  assetRecordId: t,
424
418
  isSiteBuilder: e,
425
419
  siteUrl: i,
@@ -438,25 +432,25 @@ async function Ei({
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 ? Nt.GET_AVAILABLE_PROXIES : Gt
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: jt
474
+ url: Qt
481
475
  })).data;
482
476
  } catch {
483
477
  return { formatsByDocType: {} };
484
478
  }
485
479
  }
486
- async function Ti({
480
+ async function Oi({
487
481
  recordIds: t,
488
482
  rightsToCheck: e
489
483
  }) {
@@ -499,14 +493,14 @@ async function Ti({
499
493
  params: { RecordIDs: t, RightsToCheck: e },
500
494
  paramsSerializer: { indexes: null },
501
495
  responseType: "json",
502
- url: Vt.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 Tt = 20, Wt = "TR1", Ce = /* @__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 Tt = 20, Wt = "TR1", Ce = /* @__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 Ce.has(i);
516
+ return we.has(i);
523
517
  }
524
- class Wi {
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 = Tt, 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) : Tt, 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,61 +544,91 @@ class Wi {
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_${Wt}`, 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 ye({
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
- pageNumber: d,
594
+ pageNumber: y,
563
595
  searchTerm: "",
564
596
  securityByPassToken: this.securityByPassToken,
565
597
  sortOrder: "",
566
598
  token: this.authToken
567
599
  });
568
- if (n !== this.requestEpoch)
600
+ if (l !== this.requestEpoch)
569
601
  return this.data;
570
- if (this.fetchedPages.add(d), !this.totalCount && z.totalCount) {
571
- const u = Math.min(this.maxEnd, z.totalCount);
572
- 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 }, () => ({
573
605
  alt: "",
574
- id: `temp-${Zt()}`,
606
+ id: `temp-${Jt()}`,
575
607
  name: "",
576
608
  src: ""
577
609
  }));
578
610
  }
579
- const b = (d - 1) * this.pageSize;
580
- for (let u = 0; u < z.items.length; u++) {
581
- const _ = b + u;
582
- if (_ < this.data.length) {
583
- const P = z.items[u], st = !P.extension || At(P.extension);
584
- let X = h && (!p || st) && P[h] || p && !st && P[f] || P.imageUrl;
585
- X && r && r.length > 0 && (X = $t(X, r)), this.data[_] = {
586
- alt: P.name,
587
- docType: P.docType,
588
- id: P.id,
589
- name: P.name,
590
- 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,
591
630
  ...i.reduce(
592
- (at, Rt) => (at[Rt] = P[Rt] ?? "", at),
631
+ (st, Pt) => (st[Pt] = E[Pt] ?? "", st),
593
632
  {}
594
633
  )
595
634
  };
@@ -602,67 +641,83 @@ class Wi {
602
641
  extraFields: i = [],
603
642
  folderId: s,
604
643
  forceRefetch: a = !1,
605
- format: r,
606
- minLimit: n = 5,
607
- noPlaceholders: h = !1,
608
- transformations: p
644
+ format: o,
645
+ manualFormat: n = !0,
646
+ minLimit: l = 5,
647
+ noPlaceholders: d = !1,
648
+ transformations: g
609
649
  }) {
610
650
  (!this.folderId || this.folderId !== s) && (this.folderId = s, this.resetFolderState()), a && this.resetPageCache();
611
- 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 = [
612
652
  ...i,
613
653
  pt,
614
654
  dt
615
655
  ];
616
656
  await this.fetchImages({
617
- end: g,
618
- extraFields: y.filter((b) => b !== ""),
619
- format: r,
620
- start: c,
621
- transformations: p
657
+ end: A,
658
+ extraFields: p.filter((f) => f !== ""),
659
+ format: o,
660
+ manualFormat: n,
661
+ start: S,
662
+ transformations: g
622
663
  });
623
- let d = e - f;
624
- d < 0 && (this.totalCount === 0 ? d = 0 : d = Math.max(0, this.totalCount + d));
625
- 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;
626
667
  return await this.fetchImages({
627
- end: z,
628
- extraFields: y.filter((b) => b !== ""),
629
- format: r,
630
- start: d,
631
- transformations: p
632
- }), 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;
633
675
  }
634
676
  async fetchImagesByIDs({
635
677
  extraFields: e = [],
636
678
  format: i,
637
- recordIds: s,
638
- transformations: a
679
+ manualFormat: s = !0,
680
+ recordIds: a,
681
+ transformations: o
639
682
  }) {
640
- if (s.length === 0)
683
+ if (a.length === 0)
641
684
  return [];
642
- const r = i ? `path_${i}` : void 0, n = i === "TRX", h = `path_${Wt}`, 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 = [
643
692
  ...e,
644
693
  lt,
645
694
  pt,
646
695
  dt
647
696
  ];
648
- return (await xe({
649
- extraFields: [...c, ...p, ...f].filter((y) => y !== ""),
650
- getPermanentAssetsPaths: p.length > 0 || void 0,
697
+ return (await Ae({
698
+ extraFields: [...S, ...g, ...c].filter((p) => p !== ""),
699
+ getPermanentAssetsPaths: !0,
651
700
  isSiteBuilder: this.isSiteBuilder,
652
- recordIds: s,
701
+ recordIds: a,
653
702
  securityByPassToken: this.securityByPassToken,
654
703
  token: this.authToken
655
- })).items.map((y) => {
656
- const d = n && y[ct] || "", z = !d || At(d);
657
- let u = r && (!n || z) && y[r] || n && !z && y[h] || y.originalUrl;
658
- return u && a && a.length > 0 && (u = $t(u, a)), {
659
- alt: y.name,
660
- docType: y[lt],
661
- id: y.recordId,
662
- name: y.name,
663
- src: u,
664
- ...c.reduce(
665
- (_, P) => (_[P] = y[P] ?? "", _),
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),
666
721
  {}
667
722
  )
668
723
  };
@@ -673,57 +728,63 @@ class Wi {
673
728
  folderId: i,
674
729
  forceRefetch: s = !1,
675
730
  format: a,
676
- noPlaceholders: r = !1,
677
- page: n,
678
- pageSize: h = 10,
679
- transformations: p
731
+ manualFormat: o = !0,
732
+ noPlaceholders: n = !1,
733
+ page: l,
734
+ pageSize: d = 10,
735
+ transformations: g
680
736
  }) {
681
737
  (!this.folderId || this.folderId !== i) && (this.folderId = i, this.resetFolderState()), s && this.resetPageCache();
682
- const f = n * h, c = f + h - 1;
738
+ const c = l * d, S = c + d - 1;
683
739
  return await this.fetchImages({
684
- end: c,
740
+ end: S,
685
741
  extraFields: e,
686
742
  format: a,
687
- start: f,
688
- transformations: p
689
- }), 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;
690
747
  }
691
748
  async *fetchImagesInFolderByChunk({
692
749
  chunkSize: e = 10,
693
750
  end: i = 0,
694
751
  extraFields: s = [],
695
752
  folderId: a,
696
- forceRefetch: r = !1,
753
+ forceRefetch: o = !1,
697
754
  format: n,
698
- start: h = 0,
699
- transformations: p
755
+ manualFormat: l = !0,
756
+ start: d = 0,
757
+ transformations: g
700
758
  }) {
701
- const f = Math.max(1, e);
702
- 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) {
703
761
  await this.fetchImages({
704
762
  end: i,
705
763
  extraFields: s,
706
764
  format: n,
707
- start: h,
708
- transformations: p
765
+ manualFormat: l,
766
+ start: d,
767
+ transformations: g
709
768
  }), yield this.data;
710
769
  return;
711
770
  }
712
- let c = h, g = h + f;
771
+ let S = d, A = d + c;
713
772
  if (await this.fetchImages({
714
- end: g,
773
+ end: A,
715
774
  extraFields: s,
716
775
  format: n,
717
- start: c,
718
- transformations: p
719
- }), yield this.data, !(!this.totalCount || this.totalCount <= g))
720
- for (; g < this.totalCount; )
721
- c = g, g = Math.min(g + f, this.totalCount), await this.fetchImages({
722
- 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,
723
783
  extraFields: s,
724
784
  format: n,
725
- start: c,
726
- transformations: p
785
+ manualFormat: l,
786
+ start: S,
787
+ transformations: g
727
788
  }), yield this.data;
728
789
  }
729
790
  hostConnected() {
@@ -738,34 +799,34 @@ class Wi {
738
799
  this.resetPageCache();
739
800
  }
740
801
  }
741
- const ze = 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}`, we = 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}`;
742
- var Ae = Object.defineProperty, ve = Object.getOwnPropertyDescriptor, w = (t, e, i, s) => {
743
- for (var a = s > 1 ? void 0 : s ? ve(e, i) : e, r = t.length - 1, n; r >= 0; r--)
744
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
745
- return s && a && Ae(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;
746
807
  };
747
- let C = class extends B {
808
+ let v = class extends B {
748
809
  constructor() {
749
- 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 = {
750
- [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]: {
751
812
  height: 0,
752
813
  percentageHeight: 100,
753
814
  percentageWidth: 100,
754
- unit: o.Pixel,
815
+ unit: r.Pixel,
755
816
  width: 0,
756
817
  x: 0,
757
818
  y: 0
758
819
  },
759
- [o.AspectRatio]: {
820
+ [r.AspectRatio]: {
760
821
  height: 1,
761
822
  percentageHeight: 100,
762
823
  percentageWidth: 100,
763
- unit: o.AspectRatio,
824
+ unit: r.AspectRatio,
764
825
  width: 1,
765
826
  x: 0,
766
827
  y: 0
767
828
  }
768
- }, 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;
769
830
  }
770
831
  get selectedMode() {
771
832
  return this.cropModes.find((t) => t.value === this.cropMode);
@@ -777,10 +838,10 @@ let C = class extends B {
777
838
  return;
778
839
  }
779
840
  if (this.keepAspectRatio) {
780
- if (this.unit === o.Pixel && this.width && this.height) {
841
+ if (this.unit === r.Pixel && this.width && this.height) {
781
842
  this.aspectRatio = this.width / this.height;
782
843
  return;
783
- } else if (this.unit === o.AspectRatio && this.ratioWidth && this.ratioHeight) {
844
+ } else if (this.unit === r.AspectRatio && this.ratioWidth && this.ratioHeight) {
784
845
  this.aspectRatio = this.ratioWidth / this.ratioHeight;
785
846
  return;
786
847
  }
@@ -811,9 +872,9 @@ let C = class extends B {
811
872
  }
812
873
  this.invalidWidth = !1;
813
874
  let e = Number(t.target.value);
814
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
815
- let i = this.unit === o.Pixel ? this.height : this.ratioHeight, s = !1;
816
- 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", {
817
878
  detail: {
818
879
  breakAspectRatio: s,
819
880
  height: i,
@@ -830,9 +891,9 @@ let C = class extends B {
830
891
  }
831
892
  this.invalidHeight = !1;
832
893
  let e = Number(t.target.value);
833
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
834
- let i = this.unit === o.Pixel ? this.width : this.ratioWidth, s = !1;
835
- 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", {
836
897
  detail: {
837
898
  breakAspectRatio: s,
838
899
  height: e,
@@ -847,18 +908,18 @@ let C = class extends B {
847
908
  if (e === "free")
848
909
  this.selectedMode?.auto && this.emit("cx-asset-link-format-crop-change", {
849
910
  detail: {
850
- height: this.lastAppliedSetting[o.Pixel].height,
911
+ height: this.lastAppliedSetting[r.Pixel].height,
851
912
  keepAspectRatio: !1,
852
913
  silent: !0,
853
- unit: o.Pixel,
854
- width: this.lastAppliedSetting[o.Pixel].width
914
+ unit: r.Pixel,
915
+ width: this.lastAppliedSetting[r.Pixel].width
855
916
  }
856
917
  });
857
918
  else if (!i) {
858
919
  const [s, a] = e.split(":").map(Number);
859
- if (this.unit === o.Pixel) {
860
- let r = s, n = a;
861
- Number.isFinite(this.maxWidth) && Number.isFinite(this.maxHeight) && ({ height: n, width: r } = te(
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(
862
923
  this.maxWidth,
863
924
  this.maxHeight,
864
925
  s,
@@ -868,8 +929,8 @@ let C = class extends B {
868
929
  height: n,
869
930
  keepAspectRatio: !0,
870
931
  silent: !0,
871
- unit: o.Pixel,
872
- width: r
932
+ unit: r.Pixel,
933
+ width: o
873
934
  }
874
935
  });
875
936
  } else
@@ -878,7 +939,7 @@ let C = class extends B {
878
939
  height: a,
879
940
  keepAspectRatio: !0,
880
941
  silent: !0,
881
- unit: o.AspectRatio,
942
+ unit: r.AspectRatio,
882
943
  width: s
883
944
  }
884
945
  });
@@ -911,19 +972,19 @@ let C = class extends B {
911
972
  * This allows the parent component to update the crop settings accordingly.
912
973
  */
913
974
  onUnitChange(t) {
914
- 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", {
915
976
  detail: {
916
- height: this.lastAppliedSetting[o.AspectRatio].height,
977
+ height: this.lastAppliedSetting[r.AspectRatio].height,
917
978
  keepAspectRatio: this.keepAspectRatio,
918
- unit: o.AspectRatio,
919
- width: this.lastAppliedSetting[o.AspectRatio].width
979
+ unit: r.AspectRatio,
980
+ width: this.lastAppliedSetting[r.AspectRatio].width
920
981
  }
921
982
  }) : this.emit("cx-asset-link-format-crop-change", {
922
983
  detail: {
923
- height: this.lastAppliedSetting[o.Pixel].height,
984
+ height: this.lastAppliedSetting[r.Pixel].height,
924
985
  keepAspectRatio: this.keepAspectRatio,
925
- unit: o.Pixel,
926
- width: this.lastAppliedSetting[o.Pixel].width
986
+ unit: r.Pixel,
987
+ width: this.lastAppliedSetting[r.Pixel].width
927
988
  }
928
989
  }), this.emit("cx-asset-link-format-crop-mode-change", {
929
990
  detail: {
@@ -967,171 +1028,171 @@ let C = class extends B {
967
1028
  }
968
1029
  }), this.emit("cx-asset-link-format-crop-change", {
969
1030
  detail: {
970
- height: this.unit === o.Pixel ? this.height : this.ratioHeight,
1031
+ height: this.unit === r.Pixel ? this.height : this.ratioHeight,
971
1032
  keepAspectRatio: !this.keepAspectRatio,
972
1033
  unit: this.unit,
973
- width: this.unit === o.Pixel ? this.width : this.ratioWidth
1034
+ width: this.unit === r.Pixel ? this.width : this.ratioWidth
974
1035
  }
975
1036
  });
976
1037
  }
977
1038
  render() {
978
1039
  const t = this.cropModes.filter((i) => !i.auto), e = this.cropModes.filter((i) => i.auto);
979
- 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">${_(
980
1041
  !this.noRatioModes,
981
- () => 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({
982
1043
  width: "100%"
983
- })} @cx-change=${this.onCropModeChange} ?disabled=${this.loading}>${ot(
1044
+ })} @cx-change=${this.onCropModeChange} ?disabled=${this.loading}>${at(
984
1045
  t,
985
1046
  (i) => i.value,
986
- ({ 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>`
987
1048
  )}
988
- ${M(
1049
+ ${_(
989
1050
  e.length > 0,
990
- () => A`<cx-divider></cx-divider><small>${this.localize.term("autoCropping")}</small>`
1051
+ () => C`<cx-divider></cx-divider><small>${this.localize.term("autoCropping")}</small>`
991
1052
  )}
992
- ${ot(
1053
+ ${at(
993
1054
  e,
994
1055
  (i) => i.value,
995
- ({ 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>`
996
1057
  )}</cx-select>`
997
- )}<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">
998
1059
  W
999
- </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({
1000
1061
  color: this.keepAspectRatio ? "var(--cx-color-primary)" : void 0
1001
- })} ?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">
1002
1063
  H
1003
- </cx-typography></cx-input></div>${M(
1064
+ </cx-typography></cx-input></div>${_(
1004
1065
  !this.noRatioModes,
1005
- () => 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>`
1006
- )}</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>${_(
1007
1068
  this.focusModes.length > 0,
1008
- () => 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({
1009
1070
  width: "100%"
1010
- })} @cx-change=${this.onFocusModeChange} ?disabled=${this.loading || this.selectedMode?.disabledSize}>${ot(
1071
+ })} @cx-change=${this.onFocusModeChange} ?disabled=${this.loading || this.selectedMode?.disabledSize}>${at(
1011
1072
  this.focusModes,
1012
1073
  (i) => i.value,
1013
- ({ 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>`
1014
1075
  )}</cx-select>`
1015
1076
  )}
1016
- ${M(
1077
+ ${_(
1017
1078
  this.showPositionPicker && this.focusMode === "manual",
1018
- () => A`<cx-position-picker data-testid="cx-asset-link-format-crop-position" value=${this.position} @cx-change=${this.onPositionChange}></cx-position-picker>`
1019
- )}<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({
1020
1081
  marginLeft: "auto"
1021
1082
  })} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1022
1083
  }
1023
1084
  };
1024
- C.styles = [V, we];
1025
- C.dependencies = {
1085
+ v.styles = [V, ke];
1086
+ v.dependencies = {
1026
1087
  "cx-button": Z,
1027
1088
  "cx-details": et,
1028
- "cx-divider": Yt,
1089
+ "cx-divider": Lt,
1029
1090
  "cx-icon": it,
1030
- "cx-icon-button": vt,
1031
- "cx-input": bt,
1091
+ "cx-icon-button": bt,
1092
+ "cx-input": kt,
1032
1093
  "cx-option": gt,
1033
- "cx-position-picker": Jt,
1094
+ "cx-position-picker": te,
1034
1095
  "cx-select": xt,
1035
1096
  "cx-space": L,
1036
1097
  "cx-typography": U
1037
1098
  };
1038
- w([
1099
+ z([
1039
1100
  Y(".details")
1040
- ], C.prototype, "base", 2);
1041
- w([
1101
+ ], v.prototype, "base", 2);
1102
+ z([
1042
1103
  Y("cx-position-picker")
1043
- ], C.prototype, "positionPicker", 2);
1044
- w([
1045
- l({ reflect: !0, type: Boolean })
1046
- ], C.prototype, "open", 2);
1047
- w([
1048
- l({ reflect: !0, type: Number })
1049
- ], C.prototype, "width", 2);
1050
- w([
1051
- l({ reflect: !0, type: Number })
1052
- ], C.prototype, "height", 2);
1053
- w([
1054
- l({ attribute: "max-width", reflect: !0, type: Number })
1055
- ], C.prototype, "maxWidth", 2);
1056
- w([
1057
- l({ attribute: "max-height", reflect: !0, type: Number })
1058
- ], C.prototype, "maxHeight", 2);
1059
- w([
1060
- l({ attribute: "ratio-width", reflect: !0, type: Number })
1061
- ], C.prototype, "ratioWidth", 2);
1062
- w([
1063
- l({ attribute: "ratio-height", reflect: !0, type: Number })
1064
- ], C.prototype, "ratioHeight", 2);
1065
- w([
1066
- l({ attribute: "percentage-width", reflect: !0, type: Number })
1067
- ], C.prototype, "percentageWidth", 2);
1068
- w([
1069
- l({ attribute: "percentage-height", reflect: !0, type: Number })
1070
- ], C.prototype, "percentageHeight", 2);
1071
- w([
1072
- l({ reflect: !0, type: String })
1073
- ], C.prototype, "unit", 2);
1074
- w([
1075
- l({ attribute: "disabled-apply", reflect: !0, type: Boolean })
1076
- ], C.prototype, "disabledApply", 2);
1077
- w([
1078
- l({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1079
- ], C.prototype, "noRatioModes", 2);
1080
- w([
1081
- l({ attribute: "show-position-picker", reflect: !0, type: Boolean })
1082
- ], C.prototype, "showPositionPicker", 2);
1083
- w([
1084
- l({ attribute: "last-applied-setting", reflect: !1, type: Object })
1085
- ], C.prototype, "lastAppliedSetting", 2);
1086
- w([
1087
- l({ reflect: !0, type: Boolean })
1088
- ], C.prototype, "loading", 2);
1089
- w([
1090
- l({ attribute: "crop-modes", reflect: !1, type: Array })
1091
- ], C.prototype, "cropModes", 2);
1092
- w([
1093
- l({ attribute: "focus-modes", reflect: !1, type: Object })
1094
- ], C.prototype, "focusModes", 2);
1095
- w([
1096
- l({ attribute: "focus-mode", reflect: !0, type: String })
1097
- ], C.prototype, "focusMode", 2);
1098
- w([
1099
- l({ attribute: "crop-mode", reflect: !0, type: String })
1100
- ], C.prototype, "cropMode", 2);
1101
- w([
1102
- l({ reflect: !0, type: String })
1103
- ], C.prototype, "position", 2);
1104
- w([
1105
- l({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1106
- ], C.prototype, "keepAspectRatio", 2);
1107
- w([
1108
- R()
1109
- ], C.prototype, "invalidWidth", 2);
1110
- w([
1111
- R()
1112
- ], C.prototype, "invalidHeight", 2);
1113
- w([
1114
- R()
1115
- ], C.prototype, "aspectRatio", 2);
1116
- w([
1117
- F("cropMode", { waitUntilFirstUpdate: !0 }),
1118
- F("maxWidth", { waitUntilFirstUpdate: !0 }),
1119
- F("maxHeight", { waitUntilFirstUpdate: !0 }),
1120
- F("keepAspectRatio")
1121
- ], C.prototype, "handleCropModeChange", 1);
1122
- w([
1123
- F("open", { waitUntilFirstUpdate: !0 })
1124
- ], C.prototype, "handleOpenChange", 1);
1125
- 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([
1126
1187
  G("cx-asset-link-format-crop")
1127
- ], C);
1128
- const be = 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%}}`;
1129
- var ke = Object.defineProperty, Re = Object.getOwnPropertyDescriptor, kt = (t, e, i, s) => {
1130
- for (var a = s > 1 ? void 0 : s ? Re(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1131
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1132
- return s && a && ke(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;
1133
1194
  };
1134
- let K = class extends B {
1195
+ let X = class extends B {
1135
1196
  constructor() {
1136
1197
  super(...arguments), this.localize = new j(this), this.value = "", this.items = [];
1137
1198
  }
@@ -1142,44 +1203,52 @@ let K = class extends B {
1142
1203
  });
1143
1204
  }
1144
1205
  render() {
1145
- 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(
1146
1207
  this.items,
1147
1208
  (t) => t.value,
1148
- (t) => A`<cx-option value=${t.value}>${t.displayName}</cx-option>`
1209
+ (t) => C`<cx-option value=${t.value}>${t.displayName}</cx-option>`
1149
1210
  )}</cx-select></cx-space>`;
1150
1211
  }
1151
1212
  };
1152
- K.styles = [V, be];
1153
- K.dependencies = {
1213
+ X.styles = [V, $e];
1214
+ X.dependencies = {
1154
1215
  "cx-option": gt,
1155
1216
  "cx-select": xt,
1156
1217
  "cx-space": L,
1157
1218
  "cx-typography": U
1158
1219
  };
1159
- kt([
1160
- l({ reflect: !0, type: String })
1161
- ], K.prototype, "value", 2);
1162
- kt([
1163
- l({ reflect: !1, type: Array })
1164
- ], K.prototype, "items", 2);
1165
- 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([
1166
1227
  G("cx-asset-link-format-extension")
1167
- ], K);
1168
- const $e = q`cx-details::part(base){border-bottom-width:0}`;
1169
- var Pe = Object.defineProperty, Fe = Object.getOwnPropertyDescriptor, N = (t, e, i, s) => {
1170
- for (var a = s > 1 ? void 0 : s ? Fe(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1171
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1172
- return s && a && Pe(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;
1173
1234
  };
1174
- let E = class extends B {
1235
+ const vt = "auto";
1236
+ let M = class extends B {
1175
1237
  constructor() {
1176
- 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;
1177
1246
  }
1178
1247
  handleValueChange() {
1179
- this.scopedValue = this.value;
1248
+ this.scopedValue = this.committedValue;
1180
1249
  }
1181
1250
  handleOpenChange() {
1182
- this.open || (this.scopedValue = this.value);
1251
+ this.open || (this.scopedValue = this.committedValue);
1183
1252
  }
1184
1253
  handleProxyChange(t) {
1185
1254
  const e = t.target.value;
@@ -1193,11 +1262,17 @@ let E = class extends B {
1193
1262
  handleApply() {
1194
1263
  if (this.loading)
1195
1264
  return;
1196
- const t = this.items.find(
1197
- (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
1198
1273
  );
1199
- t && this.emit("cx-asset-link-format-proxy-change", {
1200
- detail: t
1274
+ e && this.emit("cx-asset-link-format-proxy-change", {
1275
+ detail: { ...e, autoFormat: !1 }
1201
1276
  });
1202
1277
  }
1203
1278
  /**
@@ -1217,57 +1292,70 @@ let E = class extends B {
1217
1292
  t.target !== this.base && t.stopPropagation();
1218
1293
  }
1219
1294
  render() {
1220
- 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(
1221
1296
  this.items,
1222
1297
  (t) => t.id,
1223
- (t) => A`<cx-option value=${t.id}>${t.proxyLabel}</cx-option>`
1224
- )}</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({
1225
1305
  "margin-left": "auto"
1226
- })} ?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>`;
1227
1307
  }
1228
1308
  };
1229
- E.styles = [V, $e];
1230
- E.dependencies = {
1309
+ M.styles = [V, Me];
1310
+ M.dependencies = {
1231
1311
  "cx-button": Z,
1232
1312
  "cx-details": et,
1313
+ "cx-divider": Lt,
1233
1314
  "cx-icon": it,
1234
1315
  "cx-option": gt,
1235
1316
  "cx-select": xt,
1236
1317
  "cx-space": L,
1237
1318
  "cx-typography": U
1238
1319
  };
1239
- N([
1320
+ W([
1240
1321
  Y(".details")
1241
- ], E.prototype, "base", 2);
1242
- N([
1243
- l({ reflect: !0, type: Boolean })
1244
- ], E.prototype, "open", 2);
1245
- N([
1246
- l({ reflect: !0, type: String })
1247
- ], E.prototype, "value", 2);
1248
- N([
1249
- l({ reflect: !1, type: Array })
1250
- ], E.prototype, "items", 2);
1251
- N([
1252
- l({ reflect: !0, type: Boolean })
1253
- ], E.prototype, "loading", 2);
1254
- N([
1255
- R()
1256
- ], E.prototype, "scopedValue", 2);
1257
- N([
1258
- F("value")
1259
- ], E.prototype, "handleValueChange", 1);
1260
- N([
1261
- F("open", { waitUntilFirstUpdate: !0 })
1262
- ], E.prototype, "handleOpenChange", 1);
1263
- 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([
1264
1352
  G("cx-asset-link-format-proxy")
1265
- ], E);
1266
- const _e = q`cx-details::part(base){border-bottom-width:0}`;
1267
- var Me = Object.defineProperty, Ie = Object.getOwnPropertyDescriptor, J = (t, e, i, s) => {
1268
- for (var a = s > 1 ? void 0 : s ? Ie(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1269
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1270
- return s && a && Me(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;
1271
1359
  };
1272
1360
  let T = class extends B {
1273
1361
  constructor() {
@@ -1315,53 +1403,53 @@ let T = class extends B {
1315
1403
  t.target !== this.base && t.stopPropagation();
1316
1404
  }
1317
1405
  render() {
1318
- 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({
1319
1407
  flex: "1"
1320
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>`;
1321
1409
  }
1322
1410
  };
1323
- T.styles = [V, _e];
1411
+ T.styles = [V, He];
1324
1412
  T.dependencies = {
1325
1413
  "cx-button": Z,
1326
1414
  "cx-details": et,
1327
1415
  "cx-icon": it,
1328
- "cx-input": bt,
1416
+ "cx-input": kt,
1329
1417
  "cx-space": L,
1330
- "cx-tooltip": Ot,
1418
+ "cx-tooltip": Ut,
1331
1419
  "cx-typography": U
1332
1420
  };
1333
1421
  J([
1334
1422
  Y(".details")
1335
1423
  ], T.prototype, "base", 2);
1336
1424
  J([
1337
- l({ reflect: !0, type: Boolean })
1425
+ h({ reflect: !0, type: Boolean })
1338
1426
  ], T.prototype, "open", 2);
1339
1427
  J([
1340
- l({ reflect: !0, type: Number })
1428
+ h({ reflect: !0, type: Number })
1341
1429
  ], T.prototype, "value", 2);
1342
1430
  J([
1343
- l({ reflect: !0, type: Boolean })
1431
+ h({ reflect: !0, type: Boolean })
1344
1432
  ], T.prototype, "loading", 2);
1345
1433
  J([
1346
- R()
1434
+ b()
1347
1435
  ], T.prototype, "scopedValue", 2);
1348
1436
  J([
1349
- F("value")
1437
+ P("value")
1350
1438
  ], T.prototype, "handleValueChange", 1);
1351
1439
  T = J([
1352
1440
  G("cx-asset-link-format-quality")
1353
1441
  ], T);
1354
- const Ee = 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}`;
1355
- var He = Object.defineProperty, Te = Object.getOwnPropertyDescriptor, $ = (t, e, i, s) => {
1356
- for (var a = s > 1 ? void 0 : s ? Te(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1357
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1358
- return s && a && He(e, i, a), a;
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;
1359
1447
  };
1360
- let v = class extends B {
1448
+ let w = class extends B {
1361
1449
  constructor() {
1362
- 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 = {
1363
- [o.Pixel]: { height: 0, width: 0 },
1364
- [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 }
1365
1453
  }, this.loading = !1, this.noRatioModes = !1, this.keepAspectRatio = !1, this.invalidWidth = !1, this.invalidHeight = !1, this.aspectRatio = 0;
1366
1454
  }
1367
1455
  /**
@@ -1375,11 +1463,11 @@ let v = class extends B {
1375
1463
  async handleCropModeChange() {
1376
1464
  const t = Number.isFinite(this.maxWidth) && Number.isFinite(this.maxHeight) && this.maxWidth > 0 && this.maxHeight > 0;
1377
1465
  if (this.keepAspectRatio) {
1378
- if (this.unit === o.AspectRatio && this.ratioWidth && this.ratioHeight) {
1466
+ if (this.unit === r.AspectRatio && this.ratioWidth && this.ratioHeight) {
1379
1467
  this.aspectRatio = this.ratioWidth / this.ratioHeight;
1380
1468
  return;
1381
1469
  }
1382
- if (this.unit === o.Pixel && !t && this.width && this.height) {
1470
+ if (this.unit === r.Pixel && !t && this.width && this.height) {
1383
1471
  this.aspectRatio = this.width / this.height;
1384
1472
  return;
1385
1473
  }
@@ -1410,8 +1498,8 @@ let v = class extends B {
1410
1498
  }
1411
1499
  this.invalidWidth = !1;
1412
1500
  let e = Number(t.target.value);
1413
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxWidth), 1)), t.target.value = e.toString();
1414
- 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;
1415
1503
  this.keepAspectRatio && (i = Math.min(
1416
1504
  Math.round(e / this.aspectRatio),
1417
1505
  this.maxHeight
@@ -1431,8 +1519,8 @@ let v = class extends B {
1431
1519
  }
1432
1520
  this.invalidHeight = !1;
1433
1521
  let e = Number(t.target.value);
1434
- this.unit === o.Pixel && (e = Math.max(Math.min(e, this.maxHeight), 1)), t.target.value = e.toString();
1435
- 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;
1436
1524
  this.keepAspectRatio && (i = Math.min(
1437
1525
  Math.round(e * this.aspectRatio),
1438
1526
  this.maxWidth
@@ -1446,19 +1534,19 @@ let v = class extends B {
1446
1534
  });
1447
1535
  }
1448
1536
  onUnitChange(t) {
1449
- 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", {
1450
1538
  detail: {
1451
- height: this.lastAppliedSetting[o.AspectRatio].height,
1539
+ height: this.lastAppliedSetting[r.AspectRatio].height,
1452
1540
  keepAspectRatio: this.keepAspectRatio,
1453
- unit: o.AspectRatio,
1454
- width: this.lastAppliedSetting[o.AspectRatio].width
1541
+ unit: r.AspectRatio,
1542
+ width: this.lastAppliedSetting[r.AspectRatio].width
1455
1543
  }
1456
1544
  }) : this.emit("cx-asset-link-format-resize-change", {
1457
1545
  detail: {
1458
- height: this.lastAppliedSetting[o.Pixel].height,
1546
+ height: this.lastAppliedSetting[r.Pixel].height,
1459
1547
  keepAspectRatio: this.keepAspectRatio,
1460
- unit: o.Pixel,
1461
- width: this.lastAppliedSetting[o.Pixel].width
1548
+ unit: r.Pixel,
1549
+ width: this.lastAppliedSetting[r.Pixel].width
1462
1550
  }
1463
1551
  });
1464
1552
  }
@@ -1490,105 +1578,105 @@ let v = class extends B {
1490
1578
  handleAspectRatioClick() {
1491
1579
  this.emit("cx-asset-link-format-resize-change", {
1492
1580
  detail: {
1493
- height: this.unit === o.Pixel ? this.height : this.ratioHeight,
1581
+ height: this.unit === r.Pixel ? this.height : this.ratioHeight,
1494
1582
  keepAspectRatio: !this.keepAspectRatio,
1495
1583
  unit: this.unit,
1496
- width: this.unit === o.Pixel ? this.width : this.ratioWidth
1584
+ width: this.unit === r.Pixel ? this.width : this.ratioWidth
1497
1585
  }
1498
1586
  });
1499
1587
  }
1500
1588
  render() {
1501
- 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">
1502
1590
  W
1503
- </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({
1504
1592
  color: this.keepAspectRatio ? "var(--cx-color-primary)" : void 0
1505
- })} ?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">
1506
1594
  H
1507
- </cx-typography></cx-input></div>${M(
1595
+ </cx-typography></cx-input></div>${_(
1508
1596
  !this.noRatioModes,
1509
- () => 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>`
1510
- )}</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({
1511
1599
  marginLeft: "auto"
1512
1600
  })} @click=${this.handleApply}>${this.localize.term("apply")}</cx-button></cx-space></cx-details>`;
1513
1601
  }
1514
1602
  };
1515
- v.styles = [V, Ee];
1516
- v.dependencies = {
1603
+ w.styles = [V, De];
1604
+ w.dependencies = {
1517
1605
  "cx-button": Z,
1518
1606
  "cx-details": et,
1519
1607
  "cx-icon": it,
1520
- "cx-icon-button": vt,
1521
- "cx-input": bt,
1608
+ "cx-icon-button": bt,
1609
+ "cx-input": kt,
1522
1610
  "cx-option": gt,
1523
1611
  "cx-select": xt,
1524
1612
  "cx-space": L,
1525
1613
  "cx-typography": U
1526
1614
  };
1527
- $([
1615
+ R([
1528
1616
  Y(".details")
1529
- ], v.prototype, "base", 2);
1530
- $([
1531
- l({ reflect: !0, type: Boolean })
1532
- ], v.prototype, "open", 2);
1533
- $([
1534
- l({ reflect: !0, type: Number })
1535
- ], v.prototype, "width", 2);
1536
- $([
1537
- l({ reflect: !0, type: Number })
1538
- ], v.prototype, "height", 2);
1539
- $([
1540
- l({ attribute: "max-width", reflect: !0, type: Number })
1541
- ], v.prototype, "maxWidth", 2);
1542
- $([
1543
- l({ attribute: "max-height", reflect: !0, type: Number })
1544
- ], v.prototype, "maxHeight", 2);
1545
- $([
1546
- l({ attribute: "ratio-width", reflect: !0, type: Number })
1547
- ], v.prototype, "ratioWidth", 2);
1548
- $([
1549
- l({ attribute: "ratio-height", reflect: !0, type: Number })
1550
- ], v.prototype, "ratioHeight", 2);
1551
- $([
1552
- l({ reflect: !0, type: String })
1553
- ], v.prototype, "unit", 2);
1554
- $([
1555
- l({ attribute: "last-applied-setting", reflect: !1, type: Object })
1556
- ], v.prototype, "lastAppliedSetting", 2);
1557
- $([
1558
- l({ reflect: !0, type: Boolean })
1559
- ], v.prototype, "loading", 2);
1560
- $([
1561
- l({ attribute: "no-ratio-modes", reflect: !0, type: Boolean })
1562
- ], v.prototype, "noRatioModes", 2);
1563
- $([
1564
- l({ attribute: "keep-aspect-ratio", reflect: !0, type: Boolean })
1565
- ], v.prototype, "keepAspectRatio", 2);
1566
- $([
1567
- R()
1568
- ], v.prototype, "invalidWidth", 2);
1569
- $([
1570
- R()
1571
- ], v.prototype, "invalidHeight", 2);
1572
- $([
1573
- R()
1574
- ], v.prototype, "aspectRatio", 2);
1575
- $([
1576
- F("cropMode", { waitUntilFirstUpdate: !0 }),
1577
- F("maxWidth", { waitUntilFirstUpdate: !0 }),
1578
- F("maxHeight", { waitUntilFirstUpdate: !0 }),
1579
- F("keepAspectRatio")
1580
- ], v.prototype, "handleCropModeChange", 1);
1581
- $([
1582
- F("open", { waitUntilFirstUpdate: !0 })
1583
- ], v.prototype, "handleOpenChange", 1);
1584
- 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([
1585
1673
  G("cx-asset-link-format-resize")
1586
- ], v);
1587
- const We = q`cx-details::part(base){border-bottom-width:0}`;
1588
- var De = Object.defineProperty, Ne = Object.getOwnPropertyDescriptor, Q = (t, e, i, s) => {
1589
- for (var a = s > 1 ? void 0 : s ? Ne(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1590
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1591
- return s && a && De(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;
1592
1680
  };
1593
1681
  let H = class extends B {
1594
1682
  constructor() {
@@ -1603,14 +1691,14 @@ let H = class extends B {
1603
1691
  const e = t.target.value, i = Number(e);
1604
1692
  if (Number.isNaN(i))
1605
1693
  return;
1606
- const s = Pt(i);
1694
+ const s = Ft(i);
1607
1695
  (i > 360 || i < -360) && (t.target.value = s.toString()), this.emit("cx-asset-link-format-rotation-change", {
1608
1696
  detail: s
1609
1697
  });
1610
1698
  }
1611
1699
  handleButtonClick(t) {
1612
1700
  this.emit("cx-asset-link-format-rotation-change", {
1613
- detail: Pt(t)
1701
+ detail: Ft(t)
1614
1702
  });
1615
1703
  }
1616
1704
  handleClockwiseClick() {
@@ -1630,19 +1718,19 @@ let H = class extends B {
1630
1718
  });
1631
1719
  }
1632
1720
  render() {
1633
- 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({
1634
1722
  flex: "none",
1635
1723
  width: "80px"
1636
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>`;
1637
1725
  }
1638
1726
  };
1639
- H.styles = [V, We];
1727
+ H.styles = [V, Le];
1640
1728
  H.dependencies = {
1641
1729
  "cx-button": Z,
1642
- "cx-button-group": ee,
1730
+ "cx-button-group": ie,
1643
1731
  "cx-details": et,
1644
1732
  "cx-icon": it,
1645
- "cx-icon-button": vt,
1733
+ "cx-icon-button": bt,
1646
1734
  "cx-space": L,
1647
1735
  "cx-typography": U
1648
1736
  };
@@ -1650,31 +1738,31 @@ Q([
1650
1738
  Y(".details")
1651
1739
  ], H.prototype, "base", 2);
1652
1740
  Q([
1653
- l({ reflect: !0, type: Boolean })
1741
+ h({ reflect: !0, type: Boolean })
1654
1742
  ], H.prototype, "open", 2);
1655
1743
  Q([
1656
- l({ reflect: !0, type: Number })
1744
+ h({ reflect: !0, type: Number })
1657
1745
  ], H.prototype, "value", 2);
1658
1746
  Q([
1659
- l({ attribute: "default-value", reflect: !0, type: Number })
1747
+ h({ attribute: "default-value", reflect: !0, type: Number })
1660
1748
  ], H.prototype, "defaultValue", 2);
1661
1749
  Q([
1662
- l({ reflect: !0, type: Boolean })
1750
+ h({ reflect: !0, type: Boolean })
1663
1751
  ], H.prototype, "loading", 2);
1664
1752
  Q([
1665
- l({ attribute: "last-applied-value", reflect: !0, type: Number })
1753
+ h({ attribute: "last-applied-value", reflect: !0, type: Number })
1666
1754
  ], H.prototype, "lastAppliedValue", 2);
1667
1755
  Q([
1668
- F("open", { waitUntilFirstUpdate: !0 })
1756
+ P("open", { waitUntilFirstUpdate: !0 })
1669
1757
  ], H.prototype, "handleOpenChange", 1);
1670
1758
  H = Q([
1671
1759
  G("cx-asset-link-format-rotation")
1672
1760
  ], H);
1673
- const Oe = q`cx-details::part(base){border-bottom-width:0}`;
1674
- var Le = Object.defineProperty, Ue = Object.getOwnPropertyDescriptor, yt = (t, e, i, s) => {
1675
- for (var a = s > 1 ? void 0 : s ? Ue(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1676
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1677
- return s && a && Le(e, i, a), a;
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;
1678
1766
  };
1679
1767
  let O = class extends B {
1680
1768
  constructor() {
@@ -1702,37 +1790,37 @@ let O = class extends B {
1702
1790
  t.target !== this.base && t.stopPropagation();
1703
1791
  }
1704
1792
  render() {
1705
- 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>`;
1706
1794
  }
1707
1795
  };
1708
- O.styles = [V, Oe];
1796
+ O.styles = [V, qe];
1709
1797
  O.dependencies = {
1710
1798
  "cx-button": Z,
1711
- "cx-checkbox": ie,
1799
+ "cx-checkbox": se,
1712
1800
  "cx-details": et,
1713
1801
  "cx-icon": it,
1714
1802
  "cx-space": L,
1715
- "cx-tooltip": Ot,
1803
+ "cx-tooltip": Ut,
1716
1804
  "cx-typography": U
1717
1805
  };
1718
1806
  yt([
1719
1807
  Y(".details")
1720
1808
  ], O.prototype, "base", 2);
1721
1809
  yt([
1722
- l({ reflect: !0, type: Boolean })
1810
+ h({ reflect: !0, type: Boolean })
1723
1811
  ], O.prototype, "open", 2);
1724
1812
  yt([
1725
- l({ reflect: !0, type: Boolean })
1813
+ h({ reflect: !0, type: Boolean })
1726
1814
  ], O.prototype, "value", 2);
1727
1815
  O = yt([
1728
1816
  G("cx-asset-link-format-metadata")
1729
1817
  ], O);
1730
- var Be = Object.defineProperty, qe = Object.getOwnPropertyDescriptor, S = (t, e, i, s) => {
1731
- for (var a = s > 1 ? void 0 : s ? qe(e, i) : e, r = t.length - 1, n; r >= 0; r--)
1732
- (n = t[r]) && (a = (s ? n(e, i, a) : n(a)) || a);
1733
- return s && a && Be(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;
1734
1822
  };
1735
- let x = class extends B {
1823
+ let u = class extends B {
1736
1824
  constructor() {
1737
1825
  super(), this.localize = new j(this), this.baseUrl = void 0, this.token = void 0, this.asset = void 0, this.cropModes = [
1738
1826
  {
@@ -1793,7 +1881,7 @@ let x = class extends B {
1793
1881
  label: "Smart Swatch",
1794
1882
  value: "SmartSwatch"
1795
1883
  }
1796
- ], 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 = {
1797
1885
  height: 0,
1798
1886
  width: 0
1799
1887
  }, this.hideHeader = !1, this.canReset = !1, this.queryElement = null, this.activeSetting = "cx-asset-link-format-proxy", this.selectedFormat = void 0, this.resizeSize = {
@@ -1806,7 +1894,7 @@ let x = class extends B {
1806
1894
  keepAspectRatio: !0,
1807
1895
  ratioHeight: 1,
1808
1896
  ratioWidth: 1,
1809
- unit: o.Pixel,
1897
+ unit: r.Pixel,
1810
1898
  width: 1
1811
1899
  }, this.cropSize = {
1812
1900
  cropMode: "free",
@@ -1820,17 +1908,17 @@ let x = class extends B {
1820
1908
  keepAspectRatio: !0,
1821
1909
  percentageHeight: 0,
1822
1910
  percentageWidth: 0,
1823
- position: W.CenterCenter,
1911
+ position: D.CenterCenter,
1824
1912
  ratioHeight: 1,
1825
1913
  ratioWidth: 1,
1826
- unit: o.Pixel,
1914
+ unit: r.Pixel,
1827
1915
  width: 1,
1828
1916
  x: 0,
1829
1917
  y: 0
1830
1918
  }, this.rotation = 0, this.defaultSize = {
1831
1919
  height: 0,
1832
1920
  width: 0
1833
- }, this.cropperElement = null, this.parameters = [], this.loading = !1, this.lastAction = void 0, this.frozenIndex = void 0, this.preResetTransformations = void 0, this.apiGetTransformAssetLink = me, this.apiGetCropFocusMode = Se, 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);
1834
1922
  }
1835
1923
  /**
1836
1924
  * Transform requests must resolve to a web-displayable image (the browser renders the
@@ -1839,7 +1927,7 @@ let x = class extends B {
1839
1927
  * extension fallback in asset-transformation-dialog.
1840
1928
  */
1841
1929
  static getTransformExtension(t) {
1842
- return !t || At(t) ? t : "jpg";
1930
+ return !t || Vt(t) ? t : "jpg";
1843
1931
  }
1844
1932
  /** True when there are transformations beyond the frozen index (i.e. user has added new ones). */
1845
1933
  get hasUnfrozenTransformations() {
@@ -1853,7 +1941,7 @@ let x = class extends B {
1853
1941
  get lastAppliedCropUnit() {
1854
1942
  return this.transformations.findLast(
1855
1943
  (e) => e.key === m.Crop
1856
- )?.value.unit ?? o.Pixel;
1944
+ )?.value.unit ?? r.Pixel;
1857
1945
  }
1858
1946
  /**
1859
1947
  * The focus mode of the last applied crop transformation, for the no-asset case only.
@@ -1873,7 +1961,7 @@ let x = class extends B {
1873
1961
  get lastAppliedCropPosition() {
1874
1962
  return this.transformations.findLast(
1875
1963
  (e) => e.key === m.Crop
1876
- )?.value.position ?? W.CenterCenter;
1964
+ )?.value.position ?? D.CenterCenter;
1877
1965
  }
1878
1966
  /**
1879
1967
  * Checks if the crop apply button should be disabled.
@@ -1884,8 +1972,8 @@ let x = class extends B {
1884
1972
  get disabledCropApply() {
1885
1973
  if (!this.asset && this.cropSize.unit !== this.lastAppliedCropUnit)
1886
1974
  return !1;
1887
- if (this.cropSize.unit === o.AspectRatio && !this.asset) {
1888
- const e = this.lastCropSize[o.AspectRatio];
1975
+ if (this.cropSize.unit === r.AspectRatio && !this.asset) {
1976
+ const e = this.lastCropSize[r.AspectRatio];
1889
1977
  return this.cropSize.ratioWidth === e.width && this.cropSize.ratioHeight === e.height && this.cropSize.focusMode === this.lastAppliedCropFocusMode && this.cropSize.position === this.lastAppliedCropPosition;
1890
1978
  }
1891
1979
  if (!this.asset && this.cropSize.focusMode !== this.lastAppliedCropFocusMode || !this.asset && this.cropSize.position !== this.lastAppliedCropPosition)
@@ -1899,7 +1987,7 @@ let x = class extends B {
1899
1987
  "y"
1900
1988
  ];
1901
1989
  for (const e of t)
1902
- if (this.cropSize[e] !== this.lastCropSize[o.Pixel][e])
1990
+ if (this.cropSize[e] !== this.lastCropSize[r.Pixel][e])
1903
1991
  return !1;
1904
1992
  return !0;
1905
1993
  }
@@ -1926,13 +2014,13 @@ let x = class extends B {
1926
2014
  const e = this.transformations.findLast(
1927
2015
  (i) => i.key === m.Crop
1928
2016
  );
1929
- 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)
1930
2018
  return {
1931
- [o.AspectRatio]: {
2019
+ [r.AspectRatio]: {
1932
2020
  height: e.value.ratioHeight,
1933
2021
  percentageHeight: 100,
1934
2022
  percentageWidth: 100,
1935
- unit: o.AspectRatio,
2023
+ unit: r.AspectRatio,
1936
2024
  width: e.value.ratioWidth,
1937
2025
  x: 0,
1938
2026
  y: 0
@@ -1943,56 +2031,56 @@ let x = class extends B {
1943
2031
  * `min: 1`) instead of 0x0, so switching the unit selector back to Pixel and
1944
2032
  * clicking Apply immediately still commits a meaningful crop instead of a no-op.
1945
2033
  */
1946
- [o.Pixel]: {
2034
+ [r.Pixel]: {
1947
2035
  height: 1,
1948
2036
  percentageHeight: 100,
1949
2037
  percentageWidth: 100,
1950
- unit: o.Pixel,
2038
+ unit: r.Pixel,
1951
2039
  width: 1,
1952
2040
  x: 0,
1953
2041
  y: 0
1954
2042
  }
1955
2043
  };
1956
2044
  if (e?.value.width && e?.value.height) {
1957
- 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);
1958
2046
  return {
1959
- [o.AspectRatio]: {
2047
+ [r.AspectRatio]: {
1960
2048
  height: n.height,
1961
2049
  percentageHeight: 100,
1962
2050
  percentageWidth: 100,
1963
- unit: o.AspectRatio,
2051
+ unit: r.AspectRatio,
1964
2052
  width: n.width,
1965
2053
  x: 0,
1966
2054
  y: 0
1967
2055
  },
1968
- [o.Pixel]: {
2056
+ [r.Pixel]: {
1969
2057
  height: i,
1970
2058
  percentageHeight: 100,
1971
2059
  percentageWidth: 100,
1972
- unit: o.Pixel,
2060
+ unit: r.Pixel,
1973
2061
  width: s,
1974
2062
  x: a,
1975
- y: r
2063
+ y: o
1976
2064
  }
1977
2065
  };
1978
2066
  }
1979
2067
  }
1980
2068
  const t = this.lastImageSize.width && this.lastImageSize.height ? nt(this.lastImageSize.width, this.lastImageSize.height) : { height: 1, width: 1 };
1981
2069
  return {
1982
- [o.AspectRatio]: {
2070
+ [r.AspectRatio]: {
1983
2071
  height: t.height,
1984
2072
  percentageHeight: 100,
1985
2073
  percentageWidth: 100,
1986
- unit: o.AspectRatio,
2074
+ unit: r.AspectRatio,
1987
2075
  width: t.width,
1988
2076
  x: 0,
1989
2077
  y: 0
1990
2078
  },
1991
- [o.Pixel]: {
2079
+ [r.Pixel]: {
1992
2080
  height: this.lastImageSize.height,
1993
2081
  percentageHeight: 100,
1994
2082
  percentageWidth: 100,
1995
- unit: o.Pixel,
2083
+ unit: r.Pixel,
1996
2084
  width: this.lastImageSize.width,
1997
2085
  x: 0,
1998
2086
  y: 0
@@ -2009,31 +2097,31 @@ let x = class extends B {
2009
2097
  const e = this.transformations.findLast(
2010
2098
  (i) => i.key === m.Resize
2011
2099
  );
2012
- 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)
2013
2101
  return {
2014
- [o.AspectRatio]: {
2102
+ [r.AspectRatio]: {
2015
2103
  height: e.value.ratioHeight,
2016
- unit: o.AspectRatio,
2104
+ unit: r.AspectRatio,
2017
2105
  width: e.value.ratioWidth
2018
2106
  },
2019
2107
  // See lastCropSize's equivalent branch for why this falls back to 1x1, not 0x0.
2020
- [o.Pixel]: {
2108
+ [r.Pixel]: {
2021
2109
  height: 1,
2022
- unit: o.Pixel,
2110
+ unit: r.Pixel,
2023
2111
  width: 1
2024
2112
  }
2025
2113
  };
2026
2114
  if (e?.value.width && e?.value.height) {
2027
2115
  const { height: i, width: s } = e.value, a = nt(s, i);
2028
2116
  return {
2029
- [o.AspectRatio]: {
2117
+ [r.AspectRatio]: {
2030
2118
  height: a.height,
2031
- unit: o.AspectRatio,
2119
+ unit: r.AspectRatio,
2032
2120
  width: a.width
2033
2121
  },
2034
- [o.Pixel]: {
2122
+ [r.Pixel]: {
2035
2123
  height: i,
2036
- unit: o.Pixel,
2124
+ unit: r.Pixel,
2037
2125
  width: s
2038
2126
  }
2039
2127
  };
@@ -2041,14 +2129,14 @@ let x = class extends B {
2041
2129
  }
2042
2130
  const t = this.lastImageSize.width && this.lastImageSize.height ? nt(this.lastImageSize.width, this.lastImageSize.height) : { height: 1, width: 1 };
2043
2131
  return {
2044
- [o.AspectRatio]: {
2132
+ [r.AspectRatio]: {
2045
2133
  height: t.height,
2046
- unit: o.AspectRatio,
2134
+ unit: r.AspectRatio,
2047
2135
  width: t.width
2048
2136
  },
2049
- [o.Pixel]: {
2137
+ [r.Pixel]: {
2050
2138
  height: this.lastImageSize.height,
2051
- unit: o.Pixel,
2139
+ unit: r.Pixel,
2052
2140
  width: this.lastImageSize.width
2053
2141
  }
2054
2142
  };
@@ -2097,7 +2185,11 @@ let x = class extends B {
2097
2185
  ));
2098
2186
  }
2099
2187
  updated(t) {
2100
- 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")) {
2101
2193
  if (!this.asset || !this.selectedFormat || this.selectedFormat.extension === t.get("selectedFormat")?.extension)
2102
2194
  return;
2103
2195
  const e = this.proxies?.find(
@@ -2105,7 +2197,7 @@ let x = class extends B {
2105
2197
  );
2106
2198
  this.loading = !0, this.apiGetTransformAssetLink({
2107
2199
  assetId: this.asset.id,
2108
- extension: x.getTransformExtension(this.asset.extension),
2200
+ extension: u.getTransformExtension(this.asset.extension),
2109
2201
  format: e?.proxyName ?? "",
2110
2202
  siteUrl: this.baseUrl,
2111
2203
  token: this.token,
@@ -2169,36 +2261,36 @@ let x = class extends B {
2169
2261
  useSession: this.useSession
2170
2262
  }).replace(/\/t\//g, "")
2171
2263
  });
2172
- const r = this.transformations.findLast(
2173
- (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)
2174
2266
  );
2175
- if (r?.value.unit === o.AspectRatio && r.value.ratioWidth && r.value.ratioHeight) {
2176
- 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;
2177
2269
  this.cropSize = {
2178
2270
  ...this.cropSize,
2179
2271
  cropMode: "free",
2180
2272
  focusMode: c ?? "manual",
2181
2273
  percentageHeight: 100,
2182
2274
  percentageWidth: 100,
2183
- position: g ?? W.CenterCenter,
2184
- ratioHeight: y,
2185
- ratioWidth: d,
2186
- unit: o.AspectRatio
2275
+ position: S ?? D.CenterCenter,
2276
+ ratioHeight: A,
2277
+ ratioWidth: p,
2278
+ unit: r.AspectRatio
2187
2279
  };
2188
- } else if (r) {
2189
- 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;
2190
2282
  this.cropSize = {
2191
2283
  ...this.cropSize,
2192
2284
  cropMode: "free",
2193
2285
  focusMode: c ?? "manual",
2194
- height: g,
2286
+ height: S,
2195
2287
  percentageHeight: 100,
2196
2288
  percentageWidth: 100,
2197
- position: y ?? W.CenterCenter,
2198
- unit: d ?? o.Pixel,
2199
- width: z,
2200
- x: b,
2201
- y: u
2289
+ position: A ?? D.CenterCenter,
2290
+ unit: p ?? r.Pixel,
2291
+ width: y,
2292
+ x: k,
2293
+ y: f
2202
2294
  };
2203
2295
  } else
2204
2296
  this.cropSize = {
@@ -2214,30 +2306,30 @@ let x = class extends B {
2214
2306
  height: 1,
2215
2307
  percentageHeight: 0,
2216
2308
  percentageWidth: 0,
2217
- position: W.CenterCenter,
2218
- unit: o.Pixel,
2309
+ position: D.CenterCenter,
2310
+ unit: r.Pixel,
2219
2311
  width: 1,
2220
2312
  x: 0,
2221
2313
  y: 0
2222
2314
  };
2223
2315
  const n = this.transformations.findLast(
2224
- (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)
2225
2317
  );
2226
- if (n?.value.unit === o.AspectRatio && n.value.ratioWidth && n.value.ratioHeight) {
2227
- 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;
2228
2320
  this.resizeSize = {
2229
2321
  ...this.resizeSize,
2230
2322
  ratioHeight: c,
2231
- ratioWidth: g,
2232
- unit: o.AspectRatio
2323
+ ratioWidth: S,
2324
+ unit: r.AspectRatio
2233
2325
  };
2234
2326
  } else if (n) {
2235
- const { height: c = 0, unit: g, width: y = 0 } = n.value;
2327
+ const { height: c = 0, unit: S, width: A = 0 } = n.value;
2236
2328
  this.resizeSize = {
2237
2329
  ...this.resizeSize,
2238
2330
  height: c,
2239
- unit: g ?? o.Pixel,
2240
- width: y
2331
+ unit: S ?? r.Pixel,
2332
+ width: A
2241
2333
  };
2242
2334
  } else
2243
2335
  this.resizeSize = {
@@ -2248,22 +2340,21 @@ let x = class extends B {
2248
2340
  * Apply silently no-op.
2249
2341
  */
2250
2342
  height: 1,
2251
- unit: o.Pixel,
2343
+ unit: r.Pixel,
2252
2344
  width: 1
2253
2345
  };
2254
- const h = this.transformations.findLast(
2346
+ const l = this.transformations.findLast(
2255
2347
  (c) => c.key === m.Rotate
2256
2348
  );
2257
- this.rotation = h?.value.rotation ?? 0;
2258
- 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(
2259
2351
  (c) => c.key === m.Metadata
2260
2352
  );
2261
- 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 = {
2262
2354
  extension: "",
2263
2355
  height: 0,
2264
- keepMetadata: f,
2265
- originalUrl: "",
2266
- quality: p,
2356
+ keepMetadata: g,
2357
+ quality: d,
2267
2358
  rotation: 0,
2268
2359
  url: "",
2269
2360
  width: 0,
@@ -2275,12 +2366,12 @@ let x = class extends B {
2275
2366
  if (!this.selectedFormat)
2276
2367
  return;
2277
2368
  const t = this.proxies?.find(
2278
- (r) => r.id === this.selectedProxy
2369
+ (o) => o.id === this.selectedProxy
2279
2370
  );
2280
2371
  this.loading = !0;
2281
2372
  const e = await this.apiGetTransformAssetLink({
2282
2373
  assetId: this.asset.id,
2283
- extension: x.getTransformExtension(this.selectedFormat.extension),
2374
+ extension: u.getTransformExtension(this.selectedFormat.extension),
2284
2375
  format: t?.proxyName ?? "",
2285
2376
  siteUrl: this.baseUrl,
2286
2377
  token: this.token,
@@ -2296,7 +2387,7 @@ let x = class extends B {
2296
2387
  keepAspectRatio: !0,
2297
2388
  ratioHeight: 1,
2298
2389
  ratioWidth: 1,
2299
- unit: o.Pixel,
2390
+ unit: r.Pixel,
2300
2391
  width: e.width
2301
2392
  }, this.cropSize = {
2302
2393
  cropMode: "free",
@@ -2305,18 +2396,18 @@ let x = class extends B {
2305
2396
  keepAspectRatio: this.cropSize.keepAspectRatio,
2306
2397
  percentageHeight: 100,
2307
2398
  percentageWidth: 100,
2308
- position: W.CenterCenter,
2399
+ position: D.CenterCenter,
2309
2400
  ratioHeight: 1,
2310
2401
  ratioWidth: 1,
2311
- unit: o.Pixel,
2402
+ unit: r.Pixel,
2312
2403
  width: e.width,
2313
2404
  x: 0,
2314
2405
  y: 0
2315
2406
  }, this.lastAction === m.Rotate && (this.rotation = 0), this.lastAction = void 0;
2316
2407
  const i = this.transformations.some(
2317
- (r) => r.key === m.Metadata
2408
+ (o) => o.key === m.Metadata
2318
2409
  ), s = this.transformations.findLast(
2319
- (r) => r.key === m.Quality
2410
+ (o) => o.key === m.Quality
2320
2411
  );
2321
2412
  this.selectedFormat = {
2322
2413
  ...this.selectedFormat,
@@ -2368,7 +2459,6 @@ let x = class extends B {
2368
2459
  extension: this.asset.extension,
2369
2460
  height: this.defaultSize.height,
2370
2461
  keepMetadata: !1,
2371
- originalUrl: this.asset.originalUrl,
2372
2462
  quality: t?.value?.quality || 100,
2373
2463
  rotation: 0,
2374
2464
  url: this.asset.imageUrl,
@@ -2386,17 +2476,26 @@ let x = class extends B {
2386
2476
  keepAspectRatio: !0,
2387
2477
  percentageHeight: 100,
2388
2478
  percentageWidth: 100,
2389
- position: W.CenterCenter,
2479
+ position: D.CenterCenter,
2390
2480
  ratioHeight: 1,
2391
2481
  ratioWidth: 1,
2392
- unit: o.Pixel,
2482
+ unit: r.Pixel,
2393
2483
  width: this.defaultSize.width,
2394
2484
  x: 0,
2395
2485
  y: 0
2396
- }, 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;
2397
2496
  }
2398
2497
  handleProxiesChange() {
2399
- !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());
2400
2499
  }
2401
2500
  async handleSelectedProxyChange(t) {
2402
2501
  if (!this.asset || !this.selectedProxy)
@@ -2410,25 +2509,25 @@ let x = class extends B {
2410
2509
  const i = this.proxies?.find((s) => s.id === t);
2411
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) => {
2412
2511
  if (s.key === m.Crop) {
2413
- 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;
2414
2513
  return {
2415
2514
  ...s,
2416
2515
  value: {
2417
2516
  ...s.value,
2418
2517
  height: n,
2419
- width: r,
2420
- x: h,
2421
- y: p
2518
+ width: o,
2519
+ x: l,
2520
+ y: d
2422
2521
  }
2423
2522
  };
2424
2523
  }
2425
2524
  if (s.key === m.Resize) {
2426
- 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;
2427
2526
  return {
2428
2527
  ...s,
2429
2528
  value: {
2430
2529
  height: n,
2431
- width: r
2530
+ width: o
2432
2531
  }
2433
2532
  };
2434
2533
  }
@@ -2443,24 +2542,24 @@ let x = class extends B {
2443
2542
  }, await this.updateComplete, this.cropSize = {
2444
2543
  cropMode: "free",
2445
2544
  focusMode: "manual",
2446
- height: this.lastCropSize[o.Pixel].height,
2545
+ height: this.lastCropSize[r.Pixel].height,
2447
2546
  keepAspectRatio: !0,
2448
2547
  percentageHeight: 100,
2449
2548
  percentageWidth: 100,
2450
- position: W.CenterCenter,
2549
+ position: D.CenterCenter,
2451
2550
  ratioHeight: 1,
2452
2551
  ratioWidth: 1,
2453
- unit: o.Pixel,
2454
- width: this.lastCropSize[o.Pixel].width,
2552
+ unit: r.Pixel,
2553
+ width: this.lastCropSize[r.Pixel].width,
2455
2554
  x: 0,
2456
2555
  y: 0
2457
2556
  }, this.resizeSize = {
2458
- height: this.lastResizeSize[o.Pixel].height,
2557
+ height: this.lastResizeSize[r.Pixel].height,
2459
2558
  keepAspectRatio: !0,
2460
2559
  ratioHeight: 1,
2461
2560
  ratioWidth: 1,
2462
- unit: o.Pixel,
2463
- width: this.lastResizeSize[o.Pixel].width
2561
+ unit: r.Pixel,
2562
+ width: this.lastResizeSize[r.Pixel].width
2464
2563
  };
2465
2564
  }
2466
2565
  handleLoadingChange() {
@@ -2480,12 +2579,12 @@ let x = class extends B {
2480
2579
  }
2481
2580
  handleActiveSettingChange() {
2482
2581
  this.cropperElement && (this.resizeSize = {
2483
- height: this.lastResizeSize[o.Pixel].height,
2582
+ height: this.lastResizeSize[r.Pixel].height,
2484
2583
  keepAspectRatio: !0,
2485
2584
  ratioHeight: 1,
2486
2585
  ratioWidth: 1,
2487
- unit: o.Pixel,
2488
- width: this.lastResizeSize[o.Pixel].width
2586
+ unit: r.Pixel,
2587
+ width: this.lastResizeSize[r.Pixel].width
2489
2588
  }, this.cropperElement.disabled = this.activeSetting !== "cx-asset-link-format-crop");
2490
2589
  }
2491
2590
  async handleRequestAutoCropSuggestion({
@@ -2494,33 +2593,33 @@ let x = class extends B {
2494
2593
  height: i,
2495
2594
  keepAspectRatio: s,
2496
2595
  percentageHeight: a,
2497
- percentageWidth: r,
2596
+ percentageWidth: o,
2498
2597
  ratioHeight: n,
2499
- ratioWidth: h,
2500
- unit: p,
2501
- useCropMode: f,
2598
+ ratioWidth: l,
2599
+ unit: d,
2600
+ useCropMode: g,
2502
2601
  width: c
2503
2602
  }) {
2504
2603
  if (!this.selectedFormat?.url || e === "manual")
2505
2604
  return;
2506
2605
  this.loading = !0, this.lastAction = m.Crop;
2507
- const g = await this.apiGetCropFocusMode({
2606
+ const S = await this.apiGetCropFocusMode({
2508
2607
  autoCropMode: e,
2509
2608
  cropHeight: i,
2510
2609
  cropWidth: c,
2511
2610
  imageUrl: this.selectedFormat.url
2512
2611
  });
2513
- if (g) {
2514
- let y = a, d = r;
2515
- 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 = {
2516
2615
  ...this.cropSize,
2517
- height: g.height,
2518
- percentageHeight: y ?? this.cropSize.percentageHeight,
2519
- percentageWidth: d ?? this.cropSize.percentageWidth,
2520
- width: g.width,
2521
- x: g.x * 100 / this.selectedFormat.width,
2522
- y: g.y * 100 / this.selectedFormat.height,
2523
- ...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 ? {
2524
2623
  cropMode: e,
2525
2624
  focusMode: "manual",
2526
2625
  keepAspectRatio: !1
@@ -2530,8 +2629,8 @@ let x = class extends B {
2530
2629
  },
2531
2630
  keepAspectRatio: s ?? this.cropSize.keepAspectRatio,
2532
2631
  ratioHeight: n ?? this.cropSize.ratioHeight,
2533
- ratioWidth: h ?? this.cropSize.ratioWidth,
2534
- unit: p ?? this.cropSize.unit
2632
+ ratioWidth: l ?? this.cropSize.ratioWidth,
2633
+ unit: d ?? this.cropSize.unit
2535
2634
  };
2536
2635
  }
2537
2636
  this.loading = !1, this.lastAction = void 0;
@@ -2541,32 +2640,32 @@ let x = class extends B {
2541
2640
  height: i,
2542
2641
  width: s,
2543
2642
  x: a,
2544
- y: r
2643
+ y: o
2545
2644
  } = e;
2546
2645
  if (s === 0 || i === 0)
2547
2646
  return;
2548
- const n = this.cropSize.percentageWidth !== s, h = this.cropSize.percentageHeight !== i;
2549
- let p = this.cropSize.height, f = this.cropSize.width;
2550
- 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(
2551
2650
  i * this.selectedFormat.height / 100
2552
2651
  ));
2553
2652
  const c = this.cropSize.focusMode;
2554
2653
  this.focusModes.find(
2555
- (y) => y.value === c
2654
+ (A) => A.value === c
2556
2655
  )?.auto && this.selectedFormat?.url && this.cropperElement ? await this.handleRequestAutoCropSuggestion({
2557
2656
  focusMode: c,
2558
- height: p,
2657
+ height: d,
2559
2658
  percentageHeight: i,
2560
2659
  percentageWidth: s,
2561
- width: f
2660
+ width: g
2562
2661
  }) : this.cropSize = {
2563
2662
  ...this.cropSize,
2564
- height: p,
2663
+ height: d,
2565
2664
  percentageHeight: i,
2566
2665
  percentageWidth: s,
2567
- width: f,
2666
+ width: g,
2568
2667
  x: a,
2569
- y: r
2668
+ y: o
2570
2669
  };
2571
2670
  }
2572
2671
  onCropDragStart() {
@@ -2587,9 +2686,26 @@ let x = class extends B {
2587
2686
  onDetailsHide(t) {
2588
2687
  this.activeSetting === t.target.localName && (this.activeSetting = "");
2589
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
+ }
2590
2700
  onProxyChange(t) {
2591
2701
  const e = t.detail;
2592
- 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;
2593
2709
  }
2594
2710
  async onCropModeChange(t) {
2595
2711
  const { mode: e } = t.detail;
@@ -2600,22 +2716,22 @@ let x = class extends B {
2600
2716
  });
2601
2717
  else {
2602
2718
  const s = this.focusModes.find(
2603
- (p) => p.value === this.cropSize.focusMode
2719
+ (d) => d.value === this.cropSize.focusMode
2604
2720
  )?.auto;
2605
- let a = this.cropSize.keepAspectRatio, r = this.cropSize.focusMode, n = this.cropSize.x, h = this.cropSize.y;
2606
- 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({
2607
2723
  cropMode: e,
2608
- focusMode: r,
2724
+ focusMode: o,
2609
2725
  height: this.cropSize.height,
2610
2726
  keepAspectRatio: a,
2611
2727
  width: this.cropSize.width
2612
2728
  }) : this.cropSize = {
2613
2729
  ...this.cropSize,
2614
2730
  cropMode: e,
2615
- focusMode: r,
2731
+ focusMode: o,
2616
2732
  keepAspectRatio: a,
2617
2733
  x: n,
2618
- y: h
2734
+ y: l
2619
2735
  };
2620
2736
  }
2621
2737
  }
@@ -2638,52 +2754,52 @@ let x = class extends B {
2638
2754
  }
2639
2755
  async onCropChange(t) {
2640
2756
  const e = this.cropSize.unit;
2641
- if (t.detail.unit === o.AspectRatio) {
2757
+ if (t.detail.unit === r.AspectRatio) {
2642
2758
  const i = t.detail.width / t.detail.height, s = this.asset ? Math.min(
2643
2759
  Math.max(Math.round(this.cropSize.height * i), 0),
2644
2760
  this.resizeSize.width
2645
2761
  ) : 0, a = this.asset ? Math.min(
2646
2762
  Math.max(Math.round(s / i), 0),
2647
2763
  this.resizeSize.height
2648
- ) : 0, r = this.asset ? a * 100 / this.selectedFormat.height : 100, n = this.asset ? s * 100 / this.selectedFormat.width : 100;
2649
- let h = this.cropSize.x, p = this.cropSize.y;
2650
- h + n > 100 && (h = 100 - n), p + r > 100 && (p = 100 - r);
2651
- 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;
2652
2768
  this.cropModes.find(
2653
- (g) => g.value === f
2654
- )?.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 = {
2655
2771
  ...this.cropSize,
2656
- cropMode: f,
2772
+ cropMode: g,
2657
2773
  height: a,
2658
2774
  keepAspectRatio: t.detail.keepAspectRatio,
2659
- percentageHeight: r,
2775
+ percentageHeight: o,
2660
2776
  percentageWidth: n,
2661
2777
  ratioHeight: t.detail.height,
2662
2778
  ratioWidth: t.detail.width,
2663
- unit: o.AspectRatio,
2779
+ unit: r.AspectRatio,
2664
2780
  width: s,
2665
- x: h,
2666
- y: p
2781
+ x: l,
2782
+ y: d
2667
2783
  };
2668
2784
  } else {
2669
2785
  const i = this.asset ? t.detail.height * 100 / this.selectedFormat.height : 100, s = this.asset ? t.detail.width * 100 / this.selectedFormat.width : 100;
2670
- let a = this.cropSize.x, r = this.cropSize.y;
2671
- 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);
2672
2788
  let n = this.cropSize.cropMode;
2673
- const h = this.cropModes.find(
2674
- (p) => p.value === n
2789
+ const l = this.cropModes.find(
2790
+ (d) => d.value === n
2675
2791
  )?.auto;
2676
- (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 = {
2677
2793
  ...this.cropSize,
2678
2794
  cropMode: n,
2679
2795
  height: t.detail.height,
2680
2796
  keepAspectRatio: t.detail.keepAspectRatio,
2681
2797
  percentageHeight: i,
2682
2798
  percentageWidth: s,
2683
- unit: o.Pixel,
2799
+ unit: r.Pixel,
2684
2800
  width: t.detail.width,
2685
2801
  x: a,
2686
- y: r
2802
+ y: o
2687
2803
  };
2688
2804
  }
2689
2805
  e !== this.cropSize.unit && (this.cropSize = {
@@ -2701,43 +2817,43 @@ let x = class extends B {
2701
2817
  });
2702
2818
  }
2703
2819
  onCropApply(t) {
2704
- if (this.preResetTransformations = void 0, this.lastAction = m.Crop, !this.asset) {
2820
+ if (this.clearResetSnapshot(), this.lastAction = m.Crop, !this.asset) {
2705
2821
  const {
2706
- focusMode: h,
2707
- height: p,
2708
- position: f,
2822
+ focusMode: l,
2823
+ height: d,
2824
+ position: g,
2709
2825
  ratioHeight: c,
2710
- ratioWidth: g,
2711
- unit: y,
2712
- width: d,
2713
- x: z,
2714
- y: b
2715
- } = this.cropSize, u = this.focusModes.find(
2716
- (_) => _.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
2717
2833
  )?.auto ?? !1;
2718
- if (y === o.AspectRatio) {
2719
- g && c && this.upsertTransformation({
2834
+ if (A === r.AspectRatio) {
2835
+ S && c && this.upsertTransformation({
2720
2836
  key: m.Crop,
2721
2837
  value: {
2722
- focusMode: h,
2723
- isFocusModeAuto: u,
2724
- position: f,
2838
+ focusMode: l,
2839
+ isFocusModeAuto: f,
2840
+ position: g,
2725
2841
  ratioHeight: c,
2726
- ratioWidth: g,
2727
- unit: y
2842
+ ratioWidth: S,
2843
+ unit: A
2728
2844
  }
2729
2845
  });
2730
2846
  return;
2731
2847
  }
2732
- (p || d) && this.upsertTransformation({
2848
+ (d || p) && this.upsertTransformation({
2733
2849
  key: m.Crop,
2734
2850
  value: {
2735
- focusMode: h,
2736
- height: p,
2737
- isFocusModeAuto: u,
2738
- position: f,
2739
- unit: y,
2740
- width: d,
2851
+ focusMode: l,
2852
+ height: d,
2853
+ isFocusModeAuto: f,
2854
+ position: g,
2855
+ unit: A,
2856
+ width: p,
2741
2857
  /**
2742
2858
  * Without an asset there is no cropper to drag, so x/y are always the 0
2743
2859
  * placeholder from cropSize's default — never a real manual offset. Omit
@@ -2745,8 +2861,8 @@ let x = class extends B {
2745
2861
  * string) so `hasManualXY` in buildTransformationString doesn't spuriously
2746
2862
  * suppress the focus mode / position `c_g_` gravity value.
2747
2863
  */
2748
- x: Number.isFinite(z) && z !== 0 ? z : void 0,
2749
- 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
2750
2866
  }
2751
2867
  });
2752
2868
  return;
@@ -2754,38 +2870,38 @@ let x = class extends B {
2754
2870
  const { height: e, mode: i, unit: s, width: a } = t.detail;
2755
2871
  if (!this.cropperElement || !this.selectedFormat)
2756
2872
  return;
2757
- const r = this.cropSize.focusMode, n = this.focusModes.find(
2758
- (h) => h.value === r
2873
+ const o = this.cropSize.focusMode, n = this.focusModes.find(
2874
+ (l) => l.value === o
2759
2875
  )?.auto ?? !1;
2760
2876
  if (e && a && s) {
2761
- let h = a, p = e;
2762
- 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)
2763
2879
  this.transformations = [
2764
2880
  ...this.transformations,
2765
2881
  {
2766
2882
  key: m.Crop,
2767
2883
  value: {
2768
- focusMode: r,
2769
- height: p,
2884
+ focusMode: o,
2885
+ height: d,
2770
2886
  isFocusModeAuto: n,
2771
2887
  mode: i,
2772
- width: h
2888
+ width: l
2773
2889
  }
2774
2890
  }
2775
2891
  ];
2776
2892
  else {
2777
- 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;
2778
2894
  this.transformations = [
2779
2895
  ...this.transformations,
2780
2896
  {
2781
2897
  key: m.Crop,
2782
2898
  value: {
2783
- focusMode: r,
2784
- height: p,
2899
+ focusMode: o,
2900
+ height: d,
2785
2901
  isFocusModeAuto: n,
2786
2902
  unit: s,
2787
- width: h,
2788
- x: f,
2903
+ width: l,
2904
+ x: g,
2789
2905
  y: c
2790
2906
  }
2791
2907
  }
@@ -2796,7 +2912,7 @@ let x = class extends B {
2796
2912
  {
2797
2913
  key: m.Crop,
2798
2914
  value: {
2799
- focusMode: r,
2915
+ focusMode: o,
2800
2916
  isFocusModeAuto: n,
2801
2917
  mode: i
2802
2918
  }
@@ -2804,9 +2920,9 @@ let x = class extends B {
2804
2920
  ]);
2805
2921
  }
2806
2922
  onResizeChange(t) {
2807
- if (t.detail.unit === o.AspectRatio) {
2923
+ if (t.detail.unit === r.AspectRatio) {
2808
2924
  const e = t.detail.width / t.detail.height, i = Math.max(
2809
- Math.round(this.lastResizeSize[o.Pixel].height * e),
2925
+ Math.round(this.lastResizeSize[r.Pixel].height * e),
2810
2926
  0
2811
2927
  ), s = Math.max(Math.round(i / e), 0);
2812
2928
  this.resizeSize = {
@@ -2829,14 +2945,14 @@ let x = class extends B {
2829
2945
  }
2830
2946
  onResizeApply(t) {
2831
2947
  const { height: e, unit: i, width: s } = t.detail;
2832
- if (this.preResetTransformations = void 0, this.lastAction = m.Resize, !this.asset) {
2833
- if (i === o.AspectRatio) {
2834
- const { ratioHeight: p, ratioWidth: f } = this.resizeSize;
2835
- 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({
2836
2952
  key: m.Resize,
2837
2953
  value: {
2838
- ratioHeight: p,
2839
- ratioWidth: f,
2954
+ ratioHeight: d,
2955
+ ratioWidth: g,
2840
2956
  unit: i
2841
2957
  }
2842
2958
  });
@@ -2854,14 +2970,14 @@ let x = class extends B {
2854
2970
  }
2855
2971
  if (!this.selectedFormat)
2856
2972
  return;
2857
- const a = this.selectedFormat.width || this.defaultSize.width, r = this.selectedFormat.height || this.defaultSize.height;
2858
- let n = s, h = e;
2859
- 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 = [
2860
2976
  ...this.transformations,
2861
2977
  {
2862
2978
  key: m.Resize,
2863
2979
  value: {
2864
- height: h,
2980
+ height: l,
2865
2981
  unit: i,
2866
2982
  width: n
2867
2983
  }
@@ -2873,7 +2989,7 @@ let x = class extends B {
2873
2989
  }
2874
2990
  onRotationApply(t) {
2875
2991
  const e = t.detail;
2876
- if (this.preResetTransformations = void 0, this.lastAction = m.Rotate, !this.asset) {
2992
+ if (this.clearResetSnapshot(), this.lastAction = m.Rotate, !this.asset) {
2877
2993
  e ? this.upsertTransformation({
2878
2994
  key: m.Rotate,
2879
2995
  value: {
@@ -2896,7 +3012,7 @@ let x = class extends B {
2896
3012
  }
2897
3013
  onQualityChange(t) {
2898
3014
  const e = t.detail;
2899
- 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;
2900
3016
  const i = {
2901
3017
  key: m.Quality,
2902
3018
  value: {
@@ -2907,7 +3023,7 @@ let x = class extends B {
2907
3023
  }
2908
3024
  onMetadataChange(t) {
2909
3025
  const e = t.detail;
2910
- if (this.preResetTransformations = void 0, this.selectedFormat && (this.selectedFormat = {
3026
+ if (this.clearResetSnapshot(), this.selectedFormat && (this.selectedFormat = {
2911
3027
  ...this.selectedFormat,
2912
3028
  keepMetadata: e
2913
3029
  }), !this.asset) {
@@ -2946,196 +3062,228 @@ let x = class extends B {
2946
3062
  quality: t ?? 100
2947
3063
  });
2948
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
+ }
2949
3083
  handleUndo() {
2950
- !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();
2951
3085
  }
2952
3086
  handleReset() {
2953
- this.preResetTransformations = [...this.transformations];
2954
- const t = !!this.defaultProxy && !!this.proxies?.some((e) => e.id === this.defaultProxy);
2955
- 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();
2956
3094
  }
2957
3095
  render() {
2958
- 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}>${_(
2959
3097
  !this.hideHeader,
2960
- () => 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>`,
2961
- () => Qt
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
2962
3100
  )}
2963
- ${M(
3101
+ ${_(
2964
3102
  !this.noFormat,
2965
- () => 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>`
2966
3104
  )}
2967
- ${M(
3105
+ ${_(
2968
3106
  !this.noCrop,
2969
- () => 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>`
2970
3108
  )}
2971
- ${M(
3109
+ ${_(
2972
3110
  !this.noResize,
2973
- () => 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>`
2974
3112
  )}
2975
- ${M(
3113
+ ${_(
2976
3114
  !this.noRotate,
2977
- () => 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>`
2978
- )}<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>${_(
2979
3117
  !this.noMetadata,
2980
- () => 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>`
2981
3119
  )}
2982
- ${M(
3120
+ ${_(
2983
3121
  this.useCustomExtension,
2984
- () => 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>`
2985
3123
  )}</div>`;
2986
3124
  }
2987
3125
  };
2988
- x.styles = [V, ze];
2989
- x.dependencies = {
2990
- "cx-asset-link-format-crop": C,
2991
- "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,
2992
3130
  "cx-asset-link-format-metadata": O,
2993
- "cx-asset-link-format-proxy": E,
3131
+ "cx-asset-link-format-proxy": M,
2994
3132
  "cx-asset-link-format-quality": T,
2995
- "cx-asset-link-format-resize": v,
3133
+ "cx-asset-link-format-resize": w,
2996
3134
  "cx-asset-link-format-rotation": H,
2997
3135
  "cx-button": Z,
2998
3136
  "cx-space": L,
2999
3137
  "cx-typography": U
3000
3138
  };
3001
- S([
3002
- l({ attribute: "base-url", type: String })
3003
- ], x.prototype, "baseUrl", 2);
3004
- S([
3005
- l({ attribute: "token", type: String })
3006
- ], x.prototype, "token", 2);
3007
- S([
3008
- l({ reflect: !1, type: Object })
3009
- ], x.prototype, "asset", 2);
3010
- S([
3011
- l({ attribute: "crop-modes", reflect: !1, type: Array })
3012
- ], x.prototype, "cropModes", 2);
3013
- S([
3014
- l({ attribute: "focus-modes", reflect: !1, type: Object })
3015
- ], x.prototype, "focusModes", 2);
3016
- S([
3017
- l({ reflect: !1, type: Array })
3018
- ], x.prototype, "extensions", 2);
3019
- S([
3020
- l({ reflect: !1, type: Array })
3021
- ], x.prototype, "proxies", 2);
3022
- S([
3023
- l({ attribute: "for-cropper", reflect: !0, type: String })
3024
- ], x.prototype, "forCropper", 2);
3025
- S([
3026
- l({ attribute: "use-session", reflect: !0, type: String })
3027
- ], x.prototype, "useSession", 2);
3028
- S([
3029
- l({ reflect: !1, type: Array })
3030
- ], x.prototype, "transformations", 2);
3031
- S([
3032
- l({ attribute: "selected-proxy", reflect: !0, type: String })
3033
- ], x.prototype, "selectedProxy", 2);
3034
- S([
3035
- l({ attribute: "default-proxy", reflect: !0, type: String })
3036
- ], x.prototype, "defaultProxy", 2);
3037
- S([
3038
- l({ attribute: "use-custom-extension", reflect: !0, type: Boolean })
3039
- ], x.prototype, "useCustomExtension", 2);
3040
- S([
3041
- l({ attribute: "no-metadata", reflect: !0, type: Boolean })
3042
- ], x.prototype, "noMetadata", 2);
3043
- S([
3044
- l({ attribute: "no-format", reflect: !0, type: Boolean })
3045
- ], x.prototype, "noFormat", 2);
3046
- S([
3047
- l({ attribute: "no-crop", reflect: !0, type: Boolean })
3048
- ], x.prototype, "noCrop", 2);
3049
- S([
3050
- l({ attribute: "no-resize", reflect: !0, type: Boolean })
3051
- ], x.prototype, "noResize", 2);
3052
- S([
3053
- l({ attribute: "no-rotate", reflect: !0, type: Boolean })
3054
- ], x.prototype, "noRotate", 2);
3055
- S([
3056
- l({ attribute: "last-image-size", reflect: !1, type: Object })
3057
- ], x.prototype, "lastImageSize", 2);
3058
- S([
3059
- l({ attribute: "hide-header", reflect: !1, type: Boolean })
3060
- ], x.prototype, "hideHeader", 2);
3061
- S([
3062
- l({ attribute: "can-reset", type: Boolean })
3063
- ], x.prototype, "canReset", 2);
3064
- S([
3065
- l({ attribute: !1, reflect: !1, type: Object })
3066
- ], x.prototype, "queryElement", 2);
3067
- S([
3068
- R()
3069
- ], x.prototype, "activeSetting", 2);
3070
- S([
3071
- R()
3072
- ], x.prototype, "selectedFormat", 2);
3073
- S([
3074
- R()
3075
- ], x.prototype, "resizeSize", 2);
3076
- S([
3077
- R()
3078
- ], x.prototype, "cropSize", 2);
3079
- S([
3080
- R()
3081
- ], x.prototype, "rotation", 2);
3082
- S([
3083
- R()
3084
- ], x.prototype, "defaultSize", 2);
3085
- S([
3086
- R()
3087
- ], x.prototype, "cropperElement", 2);
3088
- S([
3089
- R()
3090
- ], x.prototype, "parameters", 2);
3091
- S([
3092
- R()
3093
- ], x.prototype, "loading", 2);
3094
- S([
3095
- R()
3096
- ], x.prototype, "lastAction", 2);
3097
- S([
3098
- R()
3099
- ], x.prototype, "frozenIndex", 2);
3100
- S([
3101
- R()
3102
- ], x.prototype, "preResetTransformations", 2);
3103
- S([
3104
- F("transformations")
3105
- ], x.prototype, "handleTransformationsChange", 1);
3106
- S([
3107
- F("selectedProxy")
3108
- ], x.prototype, "handleSelectedProxyChange", 1);
3109
- S([
3110
- F("loading")
3111
- ], x.prototype, "handleLoadingChange", 1);
3112
- 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([
3113
3263
  G("cx-asset-link-format")
3114
- ], x);
3264
+ ], u);
3115
3265
  export {
3116
- x as C,
3117
- wt as D,
3118
- ct as F,
3119
- tt as O,
3120
- xe as a,
3121
- le as b,
3122
- Lt as c,
3123
- Hi as d,
3124
- Ti as e,
3125
- Ei as f,
3126
- Bt 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,
3127
3275
  ut as h,
3128
- At as i,
3276
+ Vt as i,
3129
3277
  lt as j,
3130
- _t as k,
3278
+ ct as k,
3131
3279
  Mt as l,
3132
3280
  pt as m,
3133
3281
  dt as n,
3134
3282
  Et as o,
3135
- Wi as p,
3136
- ae as q,
3137
- _i as r,
3138
- Mi as s,
3139
- Ii as t,
3140
- se as u
3283
+ Li as p,
3284
+ oe as q,
3285
+ Hi as r,
3286
+ Ti as s,
3287
+ Wi as t,
3288
+ ae as u
3141
3289
  };