@orangelogic/design-system 3.6.0 → 3.8.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 (25) hide show
  1. package/library/chunks/{asset-link-format.Bj6HJXSZ.js → asset-link-format.B-tXtkr4.js} +804 -785
  2. package/library/chunks/{color-swatch-group.Bz2acokX.js → color-swatch-group.D1evXBSR.js} +1 -1
  3. package/library/chunks/{document-viewer.BZw451dy.js → document-viewer.C_3p-Fr2.js} +1 -1
  4. package/library/chunks/{index.Bf5ia_yC.js → index.B60ncEsL.js} +3 -3
  5. package/library/chunks/{transformation.CkwgrwKQ.js → transformation.DNl_AZs1.js} +128 -106
  6. package/library/chunks/{types.BjHMUzQj.js → types.CRoGmgCO.js} +8892 -8880
  7. package/library/components/asset-link-format.js +2 -2
  8. package/library/components/atoms.js +1 -1
  9. package/library/components/color-swatch-group.js +1 -1
  10. package/library/components/document-viewer.js +1 -1
  11. package/library/components/masonry.js +7 -7
  12. package/library/components/organisms.js +2 -2
  13. package/library/components/types.js +95 -93
  14. package/library/package.json +1 -1
  15. package/library/packages/molecules/src/icon-picker/icon-picker.d.ts +2 -0
  16. package/library/packages/molecules/src/masonry/masonry.d.ts +1 -1
  17. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +6 -0
  18. package/library/packages/organisms/src/content-builder-viewer/content-builder-viewer.d.ts +5 -5
  19. package/library/packages/services/src/api/asset/asset.d.ts +1 -2
  20. package/library/packages/tools/src/fetch-image/fetch-image.d.ts +10 -0
  21. package/library/packages/types/src/masonry.d.ts +1 -0
  22. package/library/packages/utils/src/transformation/transformation.d.ts +42 -7
  23. package/library/react-web-component.d.ts +2 -2
  24. package/library/utils.js +83 -81
  25. package/package.json +1 -1
@@ -8,7 +8,6 @@ export declare const FIELD_DOC_CAPTION_LONG = "Document.CaptionLong";
8
8
  export declare const FIELD_EXTENSION = "Document.FileExtension";
9
9
  export declare const FIELD_FILE_SIZE = "CoreField.FileSize";
10
10
  export declare const FIELD_IDENTIFIER = "CoreField.Identifier";
11
- export declare const FIELD_KEYWORDS = "CoreField.Keywords";
12
11
  export declare const FIELD_MAX_HEIGHT = "CoreField.MaxHeight";
13
12
  export declare const FIELD_MAX_WIDTH = "CoreField.MaxWidth";
14
13
  export declare const FIELD_RECORD_ID = "Document.RecordID";
@@ -50,7 +49,7 @@ export declare function apiGetAssets({ extraFields, getPermanentAssetsPaths, isS
50
49
  * distinct from `CoreField.MaximumWidth`, which describes the original file.
51
50
  */
52
51
  export declare function readSearchAssetItemWidth(item: SearchAssetsItem, field: string): number | undefined;
53
- export declare function apiGetAssetsInFolder({ countPerPage, directParentFolderIdentifier, extraFields, getPermanentAssetsPaths, isSiteBuilder, limitedDocTypes, pageNumber, parentFolderIdentifier, searchTerm, securityByPassToken, sortOrder, token, }: GetAssetsInFolderRequest): Promise<GetAssetsInFolderResponse>;
52
+ export declare function apiGetAssetsInFolder({ countPerPage, directParentFolderIdentifier, excludedDocTypes, extraFields, getPermanentAssetsPaths, isSiteBuilder, limitedDocTypes, pageNumber, parentFolderIdentifier, searchTerm, securityByPassToken, sortOrder, token, }: GetAssetsInFolderRequest): Promise<GetAssetsInFolderResponse>;
54
53
  export declare function apiGetCropFocusMode({ autoCropMode, cropHeight, cropWidth, imageUrl, useSession, }: GetCropZoneSuggestionRequest): Promise<GetCropZoneSuggestionResponse | null>;
55
54
  export declare function apiGetAvailableProxies({ assetRecordId, isSiteBuilder, siteUrl, token, useSession, }: {
56
55
  assetRecordId: string;
@@ -6,6 +6,14 @@ export type ExtendedGalleryItem = GalleryItem & {
6
6
  [key: string]: string | undefined;
7
7
  };
8
8
  type FetchImageControllerOptions = {
9
+ /**
10
+ * Whether delivery URLs carry the `.auto` marker, letting the backend serve a rendition
11
+ * suited to the asset instead of the file the URL names.
12
+ *
13
+ * Defaults to `false`: a consumer opts in deliberately, so a surface that needs the
14
+ * asset exactly as stored (an editor preview, say) never picks this up by accident.
15
+ */
16
+ autoFormat?: boolean;
9
17
  isSiteBuilder?: boolean;
10
18
  maxEnd?: number;
11
19
  pageSize?: number;
@@ -24,6 +32,8 @@ export declare class FetchImageController implements ReactiveController {
24
32
  private readonly authToken;
25
33
  private securityByPassToken;
26
34
  private readonly isSiteBuilder;
35
+ /** Whether delivery URLs carry the `.auto` marker. See `FetchImageControllerOptions`. */
36
+ private readonly autoFormat;
27
37
  private requestEpoch;
28
38
  constructor(host: ReactiveElement, options?: FetchImageControllerOptions);
29
39
  get totalDataCount(): number;
@@ -12,6 +12,7 @@ export type MasonryItem = {
12
12
  loading?: boolean;
13
13
  maxWidth?: string;
14
14
  objectFit?: ObjectFit;
15
+ size?: string;
15
16
  src: string;
16
17
  };
17
18
  export type MasonryItemAction = {
@@ -79,17 +79,52 @@ export declare function resolveAutoMaxWidth(manualFormat: boolean, proxyWidth: s
79
79
  * Picks the proxy format an asset should be served under when the author chose `Auto`
80
80
  * instead of naming a format.
81
81
  *
82
- * Extensions that would lose something to a transcode (animation, alpha, bit depth) take
83
- * the original-file proxy, but only up to `AUTO_ORIGINAL_FORMAT_MAX_BYTES`; everything
84
- * else takes the transcoded raster proxy, which is the one `buildAssetSrcset` may resize.
82
+ * Two things have to hold before the original file is served untouched:
85
83
  *
86
- * An unknown or missing extension resolves to the raster proxy — the safe default for the
87
- * majority of assets, and the same value the format ladders already fall back to.
84
+ * 1. The source is itself a displayable image (`IMAGE_ORIGINAL_EXTENSIONS`). For a
85
+ * document source the original-file proxy is a PDF, which cannot be transformed or
86
+ * displayed as an image, so those always take the transcoded raster proxy.
87
+ * 2. It is no larger than `AUTO_ORIGINAL_FORMAT_MAX_BYTES` — past that, delivering the
88
+ * original costs the viewer more than the fidelity it preserves.
88
89
  *
89
- * An unknown *size* does not: a size the API did not report is treated as within the
90
- * limit, so a missing field never silently strips a GIF of its animation.
90
+ * The delivery URL still carries the `AUTO_FORMAT_EXTENSION` marker (see
91
+ * `applyAutoFormatToAssetUrl`) so the backend picks the exact rendition; this only decides
92
+ * which proxy to ask for in the first place.
93
+ *
94
+ * An unknown or missing extension resolves to the raster proxy — the safe default, since
95
+ * it is a real image whatever the source turns out to be. An unknown *size* does not: a
96
+ * size the API did not report is treated as within the limit, so a missing field never
97
+ * silently downgrades an image away from its original.
91
98
  */
92
99
  export declare function resolveAutoFormat(extension: string | null | undefined, size?: string | number | null): string;
100
+ /**
101
+ * Extension marker that asks the backend to serve whichever rendition suits the asset,
102
+ * rather than the exact file the delivery URL names.
103
+ */
104
+ export declare const AUTO_FORMAT_EXTENSION = ".auto";
105
+ /**
106
+ * Appends the `.auto` marker to an asset-link URL, letting the backend pick a rendition
107
+ * suited to the source instead of returning the file exactly as named.
108
+ *
109
+ * The existing extension is kept (`photo.jpg` becomes `photo.jpg.auto`): the URL names a
110
+ * real proxy file, and rewriting that name is the backend's business, not ours. Only the
111
+ * final path segment is touched, so the access key and any `/t/` transform segment are
112
+ * preserved and a configured crop or resize still applies.
113
+ *
114
+ * An animated GIF served as the original file is left alone: whatever rendition the
115
+ * backend picked instead would be a still frame, so the marker would cost the animation.
116
+ * A GIF under any other format is already a rendered still, so it has nothing left to
117
+ * lose and takes the marker like anything else — the same distinction `buildAssetSrcset`
118
+ * draws before it resizes.
119
+ *
120
+ * Returns the URL unchanged when it is not an asset link (arbitrary external sources are
121
+ * never rewritten), when there is no final segment to append to, or when the marker is
122
+ * already present, so the call is safe to repeat.
123
+ */
124
+ export declare function applyAutoFormatToAssetUrl(url: string, options?: {
125
+ extension?: string | null;
126
+ format?: string;
127
+ }): string;
93
128
  /**
94
129
  * Builds a `srcset` value for an asset-link URL by emitting one width-only resize
95
130
  * candidate per ladder entry, letting the browser fetch and decode only the pixels
@@ -22,7 +22,7 @@
22
22
  export type CxGraphViewNodeAction = { controlType: 'default' | 'switch'; icon: string; id: string; name: string; showDivider: boolean; style: { color: string; }; };
23
23
  export type CxGraphViewRecord = any;
24
24
  export type CxGraphViewSummary = { icon: string; texts: string[]; };
25
- export type CxMasonryMasonryItem = { alt: string; extension: string; hasError: boolean; id: string; loading: boolean; maxWidth: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; src: string; };
25
+ export type CxMasonryMasonryItem = { alt: string; extension: string; hasError: boolean; id: string; loading: boolean; maxWidth: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; size: string; src: string; };
26
26
  export type CxMasonryMasonryItemAction = { color: string; event: string; icon: string; src: string; tooltip: string; };
27
27
  export type CxMentionsAutocompleteItem = { id: string; label: string; name: string; suffixContent: string; suffixIcon: string; suffixTooltip: string; suffixType: 'badge'; title: string; type: string; };
28
28
  export type CxMultiSelectColumnData = { id: string; items: { disabled: boolean; group: string; id: string; index: string; text: string; tooltip: string; type: string; }[]; sort: boolean; title: string; };
@@ -6774,7 +6774,7 @@
6774
6774
  /**
6775
6775
  * The key to use for the id of the items in the masonry layout.
6776
6776
  */
6777
- idKey?: 'src' | 'extension' | 'loading' | 'maxWidth' | 'alt' | 'hasError' | 'id' | 'objectFit';
6777
+ idKey?: 'src' | 'extension' | 'loading' | 'maxWidth' | 'size' | 'alt' | 'hasError' | 'id' | 'objectFit';
6778
6778
  /**
6779
6779
  * The proxy format the item images were resolved with. <br/> Only used to decide whether a `srcset` may be generated: an original-file format paired with an animated source must be delivered untouched.
6780
6780
  */
package/library/utils.js CHANGED
@@ -1,52 +1,52 @@
1
- import { b as _ } from "./chunks/url.CGdWC06g.js";
2
- import { R as yt, f as At, g as Et, h as It, U as Lt, a as Ft, d as Rt, c as bt, i as Ot, r as Vt, t as vt, e as kt } from "./chunks/url.CGdWC06g.js";
1
+ import { b as k } from "./chunks/url.CGdWC06g.js";
2
+ import { R as Ct, f as xt, g as Et, h as It, U as Lt, a as Ft, d as Rt, c as Ot, i as bt, r as Vt, t as vt, e as _t } from "./chunks/url.CGdWC06g.js";
3
3
  import { j as Ut, f as Yt, b as Nt, c as Pt, g as Wt, e as Xt, i as Ht, a as Bt, h as Gt, m as $t, d as zt, r as qt, t as Qt } from "./chunks/toast.C5Ir5yKA.js";
4
- import { e as jt, a as Jt, f as Kt, g as te, d as ee, b as re, c as ae, i as se, p as oe, s as ne } from "./chunks/browser.BHOCIF_A.js";
4
+ import { e as Zt, a as Jt, f as Kt, g as te, d as ee, b as re, c as ae, i as se, p as oe, s as ne } from "./chunks/browser.BHOCIF_A.js";
5
5
  import { d as le, C as ce, e as ue, H as me, R as fe, c as he, h as ge, f as de, g as pe, l as De, a as Te, p as we, b as Me } from "./chunks/color.LzSGBy7o.js";
6
- import { a as Ce, g as xe } from "./chunks/active-elements.jTVWtBDp.js";
7
- import { a as Ae, p as Ee, c as Ie, b as Le, s as Fe, w as Re } from "./chunks/event.BeKOsirN.js";
8
- import { t as Oe } from "./chunks/converters.DkDtLstb.js";
6
+ import { a as Ae, g as ye } from "./chunks/active-elements.jTVWtBDp.js";
7
+ import { a as xe, p as Ee, c as Ie, b as Le, s as Fe, w as Re } from "./chunks/event.BeKOsirN.js";
8
+ import { t as be } from "./chunks/converters.DkDtLstb.js";
9
9
  import { c as ve } from "./chunks/custom-element.L4WJXn1j.js";
10
- import { d as _e } from "./chunks/debounce.DaHuiSGU.js";
10
+ import { d as ke } from "./chunks/debounce.DaHuiSGU.js";
11
11
  import { d as Ye } from "./chunks/default-value.COZopaet.js";
12
12
  import { d as Pe } from "./chunks/drag.DenOh3AE.js";
13
13
  import { f as Xe } from "./chunks/focus-when-visible.jWSw9ks0.js";
14
14
  import { f as U } from "./chunks/form.C8LMdQB4.js";
15
15
  import { F as Be, c as Ge, g as $e, v as ze, a as qe } from "./chunks/form.C8LMdQB4.js";
16
- import { L as Ze, r as je } from "./chunks/i18n.BA19xtyU.js";
16
+ import { L as je, r as Ze } from "./chunks/i18n.BA19xtyU.js";
17
17
  import { c as Ke, q as tr } from "./chunks/math.DuKzLacZ.js";
18
18
  import { g as rr } from "./chunks/modal.Ct0bJBSe.js";
19
19
  import { g as sr, l as or, s as nr, u as ir } from "./chunks/scroll.xtO5yojm.js";
20
- import { k as x } from "./chunks/dom.DShN_5Jh.js";
20
+ import { k as y } from "./chunks/dom.DShN_5Jh.js";
21
21
  import { c as cr, d as ur, h as mr, m as fr, a as hr, g as gr, j as dr, b as pr, f as Dr, i as Tr, e as wr, l as Mr, s as Sr } from "./chunks/dom.DShN_5Jh.js";
22
- import { H as xr, a as yr, g as Ar } from "./chunks/slot.j5oheLJC.js";
22
+ import { H as yr, a as Cr, g as xr } from "./chunks/slot.j5oheLJC.js";
23
23
  import { a as Ir, g as Lr } from "./chunks/tabbable.BwnZBHrm.js";
24
24
  import { i as Rr } from "./chunks/user-agent.D9aPuOyL.js";
25
- import { w as Or } from "./chunks/watch.DJF5K-8U.js";
25
+ import { w as br } from "./chunks/watch.DJF5K-8U.js";
26
26
  import { C as vr } from "./chunks/calendar-grid.BWjcZL5W.js";
27
- import { b as _r, c as Ur, f as Yr, h as Nr, g as Pr, a as Wr, i as Xr, d as Hr, n as Br, e as Gr, p as $r, t as zr } from "./chunks/date.iWq_pkIk.js";
27
+ import { b as kr, c as Ur, f as Yr, h as Nr, g as Pr, a as Wr, i as Xr, d as Hr, n as Br, e as Gr, p as $r, t as zr } from "./chunks/date.iWq_pkIk.js";
28
28
  import { f as c, a as u, D as m } from "./chunks/date-picker.BGHn6qg8.js";
29
29
  import { f as Qr } from "./chunks/content-builder.BX4pHujE.js";
30
- import { c as jr, f as Jr, e as Kr, b as ta, g as ea, d as ra, i as aa, r as sa, a as oa } from "./chunks/image.Y5c_hFx8.js";
30
+ import { c as Zr, f as Jr, e as Kr, b as ta, g as ea, d as ra, i as aa, r as sa, a as oa } from "./chunks/image.Y5c_hFx8.js";
31
31
  import { b as ia, e as la } from "./chunks/waveform.1U9U_0rd.js";
32
32
  import { c as ua, b as ma, a as fa, e as ha, d as ga, f as da, g as pa, r as Da, s as Ta } from "./chunks/number.Cx2ncfJJ.js";
33
33
  import { s as Ma } from "./chunks/parse.Cu5nBDTb.js";
34
- import { b as Ca, n as xa, d as ya, e as Aa, f as Ea, y as Ia, o as La, g as Fa, h as Ra, l as ba, p as Oa, z as Va, x as va, a as ka, c as _a, s as Ua, w as Ya, r as Na, t as Pa, q as Wa, v as Xa, i as Ha, m as Ba, u as Ga } from "./chunks/string.Demn8Xmk.js";
34
+ import { b as Aa, n as ya, d as Ca, e as xa, f as Ea, y as Ia, o as La, g as Fa, h as Ra, l as Oa, p as ba, z as Va, x as va, a as _a, c as ka, s as Ua, w as Ya, r as Na, t as Pa, q as Wa, v as Xa, i as Ha, m as Ba, u as Ga } from "./chunks/string.Demn8Xmk.js";
35
35
  import { g as za, a as qa } from "./chunks/template.ClovJacp.js";
36
- import { c as Za, f as ja, a as Ja, g as Ka } from "./chunks/time.DYWuX2id.js";
37
- import { A as es, g as rs, S as as, c as ss, f as os, b as ns, e as is, d as ls, h as cs, p as us, r as ms, a as fs } from "./chunks/transformation.CkwgrwKQ.js";
36
+ import { c as ja, f as Za, a as Ja, g as Ka } from "./chunks/time.DYWuX2id.js";
37
+ import { A as es, j as rs, i as as, S as ss, d as os, c as ns, g as is, b as ls, f as cs, e as us, h as ms, p as fs, r as hs, a as gs } from "./chunks/transformation.DNl_AZs1.js";
38
38
  function n(t) {
39
39
  const e = t.getFullYear(), r = String(t.getMonth() + 1).padStart(2, "0"), s = String(t.getDate()).padStart(2, "0");
40
40
  return `${e}-${r}-${s}`;
41
41
  }
42
- function y(t) {
42
+ function C(t) {
43
43
  const e = String(t.getHours()).padStart(2, "0"), r = String(t.getMinutes()).padStart(2, "0"), s = String(t.getSeconds()).padStart(2, "0");
44
44
  return `${e}:${r}:${s}`;
45
45
  }
46
46
  function h(t, e) {
47
47
  return new Date(t.getFullYear(), t.getMonth(), t.getDate() + e);
48
48
  }
49
- function A(t) {
49
+ function x(t) {
50
50
  const e = t.getDay(), r = e === 0 ? -6 : 1 - e;
51
51
  return h(t, r);
52
52
  }
@@ -68,7 +68,7 @@ function R(t) {
68
68
  const e = t.getMonth() < 6 ? 0 : 6;
69
69
  return new Date(t.getFullYear(), e, 1);
70
70
  }
71
- function b(t) {
71
+ function O(t) {
72
72
  const e = t.getMonth() < 6 ? 0 : 6;
73
73
  return new Date(t.getFullYear(), e + 6, 0);
74
74
  }
@@ -87,9 +87,9 @@ class Q {
87
87
  const a = new Date(r.getTime() - 18e5);
88
88
  return {
89
89
  fromDate: n(a),
90
- fromTime: y(a),
90
+ fromTime: C(a),
91
91
  toDate: s,
92
- toTime: y(r)
92
+ toTime: C(r)
93
93
  };
94
94
  }
95
95
  case c.today:
@@ -137,7 +137,7 @@ class Q {
137
137
  toTime: u
138
138
  };
139
139
  case c.thisWeek: {
140
- const a = A(r);
140
+ const a = x(r);
141
141
  return {
142
142
  fromDate: n(a),
143
143
  fromTime: m,
@@ -146,7 +146,7 @@ class Q {
146
146
  };
147
147
  }
148
148
  case c.lastWeek: {
149
- const a = h(A(r), -7);
149
+ const a = h(x(r), -7);
150
150
  return {
151
151
  fromDate: n(a),
152
152
  fromTime: m,
@@ -194,7 +194,7 @@ class Q {
194
194
  return {
195
195
  fromDate: n(R(r)),
196
196
  fromTime: m,
197
- toDate: n(b(r)),
197
+ toDate: n(O(r)),
198
198
  toTime: u
199
199
  };
200
200
  case c.lastHalfYear: {
@@ -202,7 +202,7 @@ class Q {
202
202
  return {
203
203
  fromDate: n(R(a)),
204
204
  fromTime: m,
205
- toDate: n(b(a)),
205
+ toDate: n(O(a)),
206
206
  toTime: u
207
207
  };
208
208
  }
@@ -226,7 +226,7 @@ class Q {
226
226
  throw new Error(`Unsupported date range preset: ${e}`);
227
227
  }
228
228
  }
229
- function Z(t) {
229
+ function j(t) {
230
230
  const e = /* @__PURE__ */ new Date(`${t}T00:00:00Z`);
231
231
  if (Number.isNaN(e.getTime()))
232
232
  return 0;
@@ -237,7 +237,7 @@ function Z(t) {
237
237
  const a = new Date(Date.UTC(r.getUTCFullYear(), 0, 1)), o = (r.getTime() - a.getTime()) / 864e5;
238
238
  return Math.ceil((o + 1) / 7);
239
239
  }
240
- function j(t) {
240
+ function Z(t) {
241
241
  if (!this.ownerDocument.defaultView?.Matrix3 || !t)
242
242
  return;
243
243
  const e = this.ownerDocument.defaultView?.location.origin;
@@ -263,7 +263,7 @@ function J(t) {
263
263
  }
264
264
  function K(t, e = void 0) {
265
265
  !this.ownerDocument.defaultView?.Matrix3 || !t || this.ownerDocument.defaultView?.open(
266
- _(t, "https://", !0),
266
+ k(t, "https://", !0),
267
267
  e ?? "_blank"
268
268
  );
269
269
  }
@@ -290,14 +290,14 @@ function et(t, e) {
290
290
  }
291
291
  class rt {
292
292
  constructor(e) {
293
- this.currentZIndex = x(), (this.host = e).addController(this);
293
+ this.currentZIndex = y(), (this.host = e).addController(this);
294
294
  }
295
295
  hostConnected() {
296
296
  }
297
297
  hostDisconnected() {
298
298
  }
299
299
  async activatePopup() {
300
- this.currentZIndex = x();
300
+ this.currentZIndex = y();
301
301
  }
302
302
  }
303
303
  class at {
@@ -327,11 +327,11 @@ class at {
327
327
  }
328
328
  }
329
329
  const st = (t) => t.ctrlKey || t.metaKey;
330
- function O(t) {
330
+ function b(t) {
331
331
  return t.replaceAll(" ", "_");
332
332
  }
333
333
  function ot(t) {
334
- return t.value ?? O(t.typeface);
334
+ return t.value ?? b(t.typeface);
335
335
  }
336
336
  function nt(t) {
337
337
  const e = [
@@ -339,7 +339,7 @@ function nt(t) {
339
339
  t.fontStyle,
340
340
  t.fontWeight
341
341
  ].filter((r) => r != null && r !== "").join("_");
342
- return O(e);
342
+ return b(e);
343
343
  }
344
344
  function V(t) {
345
345
  return t.length >= 2 && (t.startsWith("'") && t.endsWith("'") || t.startsWith('"') && t.endsWith('"'));
@@ -540,15 +540,15 @@ async function* Mt({
540
540
  throw new Error("Canvas is required");
541
541
  if (!o)
542
542
  throw new Error("Video is required");
543
- const { columns: i, frameHeight: l, frameWidth: p, rows: f, spriteCtx: k } = e;
543
+ const { columns: i, frameHeight: l, frameWidth: p, rows: f, spriteCtx: _ } = e;
544
544
  try {
545
545
  for (let g = 0; g < f; g++)
546
546
  for (let d = 0; d < i; d++) {
547
547
  const T = g * i + d, D = T * s;
548
548
  if (D >= r)
549
549
  continue;
550
- const w = d * p, M = g * l, S = H(t[a] ?? [], d, g), C = d === i - 1 && g === f - 1 || D + s >= r;
551
- S ? yield { ...S, isLastFrame: C } : (await B(o, D, s), k.drawImage(
550
+ const w = d * p, M = g * l, S = H(t[a] ?? [], d, g), A = d === i - 1 && g === f - 1 || D + s >= r;
551
+ S ? yield { ...S, isLastFrame: A } : (await B(o, D, s), _.drawImage(
552
552
  o,
553
553
  w,
554
554
  M,
@@ -560,7 +560,7 @@ async function* Mt({
560
560
  frameHeight: l,
561
561
  frameWidth: p,
562
562
  index: T,
563
- isLastFrame: C,
563
+ isLastFrame: A,
564
564
  row: g,
565
565
  rows: f,
566
566
  time: Number(D.toFixed(X)),
@@ -582,7 +582,8 @@ function St({
582
582
  }
583
583
  export {
584
584
  es as AUTO_FALLBACK_FORMAT,
585
- rs as AUTO_ORIGINAL_FORMAT_MAX_BYTES,
585
+ rs as AUTO_FORMAT_EXTENSION,
586
+ as as AUTO_ORIGINAL_FORMAT_MAX_BYTES,
586
587
  le as CMYK_VALIDATION_REGEX,
587
588
  vr as CalendarGrid,
588
589
  ce as ColorType,
@@ -592,34 +593,35 @@ export {
592
593
  Be as FormControlController,
593
594
  ue as HEX_ALPHA_VALIDATION_REGEX,
594
595
  me as HEX_VALIDATION_REGEX,
595
- xr as HasSlotController,
596
+ yr as HasSlotController,
596
597
  ft as HistoryManager,
597
598
  W as KeyboardKey,
598
- Ze as LocalizeController,
599
+ je as LocalizeController,
599
600
  X as PRECISION,
600
- yt as RELATIVE_URL_REGEX,
601
+ Ct as RELATIVE_URL_REGEX,
601
602
  fe as RGB_VALIDATION_REGEX,
602
- as as SRCSET_WIDTH_LADDER,
603
- At as URL_DOMAIN_VALIDATION_REGEX,
603
+ ss as SRCSET_WIDTH_LADDER,
604
+ xt as URL_DOMAIN_VALIDATION_REGEX,
604
605
  Et as URL_INTRANET_DOMAIN_VALIDATION_REGEX,
605
606
  It as URL_PROTOCOL_VALIDATION_REGEX,
606
607
  Lt as URL_VALIDATION_REGEX,
607
- Ce as activeElements,
608
- _r as addMonths,
608
+ Ae as activeElements,
609
+ kr as addMonths,
609
610
  Ut as adjustRelativeValues,
610
- Ae as animateTo,
611
- _ as appendProtocol,
611
+ xe as animateTo,
612
+ k as appendProtocol,
612
613
  Ft as appendQueryParam,
613
- ss as applyTransformationsToUrl,
614
- os as applyWidthToAssetUrl,
615
- ns as buildAssetSrcset,
616
- is as buildSizesFromDisplayWidth,
617
- ls as buildTransformationString,
614
+ os as applyAutoFormatToAssetUrl,
615
+ ns as applyTransformationsToUrl,
616
+ is as applyWidthToAssetUrl,
617
+ ls as buildAssetSrcset,
618
+ cs as buildSizesFromDisplayWidth,
619
+ us as buildTransformationString,
618
620
  ia as buildWaveformPath,
619
- jr as calculateAspectRatioFit,
621
+ Zr as calculateAspectRatioFit,
620
622
  Ke as clamp,
621
623
  Jr as cleanImageFileName,
622
- Za as clearZeroDurationParts,
624
+ ja as clearZeroDurationParts,
623
625
  he as convertColor,
624
626
  ua as convertDataUnits,
625
627
  ma as convertDurationToMilliseconds,
@@ -629,20 +631,20 @@ export {
629
631
  cr as cssValueToPx,
630
632
  ve as customElement,
631
633
  Ge as customErrorValidityState,
632
- _e as debounce,
634
+ ke as debounce,
633
635
  Ye as defaultValue,
634
636
  et as downloadAsset,
635
637
  Pe as drag,
636
- Ca as emptyToSpace,
637
- xa as escapeXML,
638
+ Aa as emptyToSpace,
639
+ ya as escapeXML,
638
640
  ge as extractColor,
639
- ya as extractExtension,
641
+ Ca as extractExtension,
640
642
  Mt as extractFrames,
641
- Aa as extractRootData,
643
+ xa as extractRootData,
642
644
  ha as extractValueAndUnit,
643
645
  la as extractWaveformPeaks,
644
646
  Qr as fetchCortexApi,
645
- jt as findAncestorWithBuggyStyle,
647
+ Zt as findAncestorWithBuggyStyle,
646
648
  Jt as findContainingBlock,
647
649
  Kt as findCuttingAncestor,
648
650
  H as findFrameByColAndRow,
@@ -650,7 +652,7 @@ export {
650
652
  Xe as focusWhenVisible,
651
653
  U as formCollections,
652
654
  ga as formatAspectRatioString,
653
- ja as formatDurationPartsManually,
655
+ Za as formatDurationPartsManually,
654
656
  Ur as formatIsoToDisplay,
655
657
  Yr as formatMonthYearLabel,
656
658
  da as formatNumberWithGrouping,
@@ -668,9 +670,9 @@ export {
668
670
  de as getColorType,
669
671
  ea as getContainedImageSize,
670
672
  fr as getCortexPopupLayer,
671
- x as getCurrentZIndex,
673
+ y as getCurrentZIndex,
672
674
  Nr as getDateMask,
673
- xe as getDeepestActiveElement,
675
+ ye as getDeepestActiveElement,
674
676
  Pt as getDeviceType,
675
677
  Ka as getDurationPartsByUnitsFormat,
676
678
  hr as getElementFromHTMLString,
@@ -680,7 +682,7 @@ export {
680
682
  P as getFormControls,
681
683
  za as getHighlightedTitle,
682
684
  qa as getHighlightedTitleHtml,
683
- yr as getInnerHTML,
685
+ Cr as getInnerHTML,
684
686
  St as getInterval,
685
687
  pe as getLightDarkCssString,
686
688
  ra as getNaturalWidthHeight,
@@ -691,11 +693,11 @@ export {
691
693
  Fa as getRootIDString,
692
694
  Ir as getTabbableBoundary,
693
695
  Lr as getTabbableElements,
694
- Ar as getTextContent,
696
+ xr as getTextContent,
695
697
  Wr as getTodayIsoDate,
696
698
  ot as getTypefaceOptionValue,
697
699
  Wt as groupBy,
698
- cs as hasTransformSegment,
700
+ ms as hasTransformSegment,
699
701
  Ra as htmlToPlainText,
700
702
  Xt as insertAtIndex,
701
703
  wt as insertFrameToCache,
@@ -708,17 +710,17 @@ export {
708
710
  re as isFirefox,
709
711
  lt as isFontFamilyAvailable,
710
712
  mt as isFormInteracted,
711
- ba as isGalleryItemCardType,
713
+ Oa as isGalleryItemCardType,
712
714
  ae as isIOS,
713
715
  wr as isInElement,
714
716
  st as isModKey,
715
717
  se as isSafari,
716
718
  aa as isSaveSrcValid,
717
- bt as isValidDomainOrIntranetUrl,
719
+ Ot as isValidDomainOrIntranetUrl,
718
720
  Xr as isValidIsoDate,
719
- Ot as isValidUrl,
721
+ bt as isValidUrl,
720
722
  Hr as isoToDate,
721
- Z as isoWeekNumber,
723
+ j as isoWeekNumber,
722
724
  Mr as loadScript,
723
725
  or as lockBodyScrolling,
724
726
  De as luminanceTextColor,
@@ -727,15 +729,15 @@ export {
727
729
  $t as multiSelectTo,
728
730
  Br as normalizeToIsoDate,
729
731
  ht as omit,
730
- j as openAssetOverview,
732
+ Z as openAssetOverview,
731
733
  J as openFolderOverview,
732
734
  K as openLink,
733
- Oa as padPath,
735
+ ba as padPath,
734
736
  Va as parseBooleanString,
735
737
  Te as parseBorder,
736
738
  Gr as parseDisplayToIso,
737
739
  Ee as parseDuration,
738
- us as parseFileSizeToBytes,
740
+ fs as parseFileSizeToBytes,
739
741
  $r as parseIsoDate,
740
742
  dt as parseJsonString,
741
743
  we as parseLightDark,
@@ -748,17 +750,17 @@ export {
748
750
  Y as quoteFontFamily,
749
751
  Dt as readLocalStorageValue,
750
752
  va as reducePathToDirectChild,
751
- je as registerTranslation,
753
+ Ze as registerTranslation,
752
754
  zt as removeAtIndex,
753
755
  qt as removeMultipleAtIndex,
754
756
  sa as resizeImage,
755
- ms as resolveAutoFormat,
756
- fs as resolveAutoMaxWidth,
757
+ hs as resolveAutoFormat,
758
+ gs as resolveAutoMaxWidth,
757
759
  Vt as resolveSpaceUrl,
758
760
  Da as rotateBox,
759
761
  oa as rotateImage,
760
- ka as safeExtension,
761
- _a as safeString,
762
+ _a as safeExtension,
763
+ ka as safeString,
762
764
  Ua as sanitizeHTML,
763
765
  Ta as sanitizeRotation,
764
766
  nr as scrollIntoView,
@@ -772,14 +774,14 @@ export {
772
774
  Fe as stopAnimations,
773
775
  ne as supportHLS,
774
776
  v as testFontAvailability,
775
- Oe as timecodeConverter,
777
+ be as timecodeConverter,
776
778
  Na as toCamelCase,
777
779
  zr as toIsoDate,
778
780
  Pa as toKebabCase,
779
781
  Wa as toPascalCase,
780
782
  vt as toRelativeUrl,
781
783
  Xa as toTitleCase,
782
- kt as toUrlPathKey,
784
+ _t as toUrlPathKey,
783
785
  Qt as toast,
784
786
  Ha as truncateTextMiddle,
785
787
  Ba as unescapeXML,
@@ -789,6 +791,6 @@ export {
789
791
  ze as validValidityState,
790
792
  qe as valueMissingValidityState,
791
793
  Re as waitForEvent,
792
- Or as watch,
794
+ br as watch,
793
795
  Tt as writeLocalStorageValue
794
796
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "3.6.0",
4
+ "version": "3.8.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {