@orangelogic/design-system 2.191.0 → 2.192.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 (61) hide show
  1. package/library/chunks/{asset-link-format.CEDcHah6.js → asset-link-format.CDd4iPA2.js} +1141 -992
  2. package/library/chunks/{color-swatch-group.tnhiQ0jp.js → color-swatch-group.NOcRP-23.js} +4 -3
  3. package/library/chunks/{confirm-popover.CrQKEChc.js → confirm-popover.jCP9CdcD.js} +1 -1
  4. package/library/chunks/content-builder.BX4pHujE.js +60 -0
  5. package/library/chunks/{dialog.CWGtufDA.js → dialog.B6hZ7fvn.js} +2 -2
  6. package/library/chunks/{document-viewer.C90j1Xrr.js → document-viewer.CRluR-_W.js} +3 -2
  7. package/library/chunks/{image.CTMzUqCC.js → image.CiQwSDfe.js} +186 -187
  8. package/library/chunks/{toast.CXEAfCvN.js → toast.C5Ir5yKA.js} +1 -1
  9. package/library/chunks/transformation.BfIEi4p4.js +300 -0
  10. package/library/components/asset-link-format.js +2 -2
  11. package/library/components/atoms.js +3 -3
  12. package/library/components/color-swatch-group.js +3 -3
  13. package/library/components/confirm-popover.js +2 -2
  14. package/library/components/cropper.js +1 -1
  15. package/library/components/dialog.js +1 -1
  16. package/library/components/document-viewer.js +2 -2
  17. package/library/components/drawer.js +2 -2
  18. package/library/components/file-on-demand.js +2 -2
  19. package/library/components/image.js +2 -3
  20. package/library/components/masonry.js +136 -107
  21. package/library/components/molecules.js +1 -1
  22. package/library/components/organisms.js +2 -2
  23. package/library/components/popup.js +100 -97
  24. package/library/components/select.js +16 -11
  25. package/library/components/types.js +21757 -21460
  26. package/library/components/video.js +1 -1
  27. package/library/package.json +1 -1
  28. package/library/packages/atoms/src/components/image/image.d.ts +36 -4
  29. package/library/packages/atoms/src/components/popup/popup.d.ts +11 -0
  30. package/library/packages/atoms/src/components/select/select.d.ts +8 -0
  31. package/library/packages/events/src/cx-asset-transformation-dialog-confirm.d.ts +2 -0
  32. package/library/packages/molecules/src/cropper/cropper.d.ts +0 -1
  33. package/library/packages/molecules/src/cropper/react/Cropper.d.ts +0 -1
  34. package/library/packages/molecules/src/gallery-item/gallery-item.d.ts +10 -0
  35. package/library/packages/molecules/src/masonry/masonry.d.ts +24 -0
  36. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +46 -2
  37. package/library/packages/organisms/src/asset-link-format/components/asset-link-format-proxy/asset-link-format-proxy.d.ts +36 -1
  38. package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +20 -2
  39. package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +101 -0
  40. package/library/packages/organisms/src/carousel/carousel.d.ts +26 -0
  41. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +65 -1
  42. package/library/packages/organisms/src/content-builder/blocks/video/video.d.ts +5 -0
  43. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +2 -1
  44. package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +6 -0
  45. package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +1 -0
  46. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +1 -0
  47. package/library/packages/organisms/src/content-builder/configs/image.d.ts +2 -0
  48. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
  49. package/library/packages/organisms/src/content-builder/configs/video.d.ts +1 -0
  50. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +10 -0
  51. package/library/packages/organisms/src/content-builder/styleController.d.ts +2 -0
  52. package/library/packages/tools/src/fetch-image/fetch-image.d.ts +28 -5
  53. package/library/packages/types/src/asset-link-format.d.ts +0 -1
  54. package/library/packages/types/src/content-builder.d.ts +7 -0
  55. package/library/packages/types/src/gallery-item.d.ts +1 -0
  56. package/library/packages/types/src/masonry.d.ts +1 -0
  57. package/library/packages/utils/src/transformation/transformation.d.ts +91 -0
  58. package/library/react-web-component.d.ts +63 -7
  59. package/library/utils.js +192 -182
  60. package/package.json +1 -1
  61. package/library/chunks/transformation.8uLv6uwG.js +0 -264
@@ -22,19 +22,19 @@
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; hasError: boolean; id: string; loading: boolean; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; src: string; };
25
+ export type CxMasonryMasonryItem = { alt: string; extension: string; hasError: boolean; id: string; loading: boolean; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; 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; };
29
29
  export type CxShareOptionListShareOptionListItem = { disabled: boolean; icon: string; id: string; name: string; tooltip: string; };
30
30
  export type CxStepperWizardStepData = { color: string; description: string; icon: string; iconVariant: 'outlined' | 'filled' | 'fa'; id: string; name: string; readonly: boolean; state: 'Done' | 'Active' | 'None' | 'Disabled'; };
31
- export type CxAssetLinkFormatAsset = { allowATSLink: boolean; docSubType: string; docType: 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; height: string; id: string; identifier: string; imageUrl: string; name: string; originalUrl: string; scrubUrl: string; size: string; tags: string; width: string; };
31
+ export type CxAssetLinkFormatAsset = { allowATSLink: boolean; docSubType: string; docType: 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; height: string; id: string; identifier: string; imageUrl: string; name: string; scrubUrl: string; size: string; tags: string; width: string; };
32
32
  export type CxAssetLinkFormatCropMode = { auto: boolean; disabledSize: boolean; label: string; value: string; };
33
33
  export type CxAssetLinkFormatFocusMode = { auto: boolean; label: string; value: string; };
34
34
  export type CxAssetLinkFormatProxy = { cdnName: string; extension: string; formatHeight: number; formatWidth: number; height: number; id: string; permanentLink: string; proxyLabel: string; proxyName: string; width: number; };
35
35
  export type CxAssetLinkFormatTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; position: 'bottom-center' | 'bottom-left' | 'bottom-right' | 'center-center' | 'center-left' | 'center-right' | 'top-center' | 'top-left' | 'top-right'; quality: number; ratioHeight: number; ratioWidth: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
36
- export type CxBentoGridGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
37
- export type CxCarouselGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
36
+ export type CxBentoGridGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
37
+ export type CxCarouselGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
38
38
  export type CxChatbotChatbotEvent = { event: string; excludedFromPurposes: string[]; label: string; };
39
39
  export type CxTableTimeFormatterParams = { color: string; fontSize: string; fontWeight: string; inputUnit: string; locale: string; placeholder: string; style: dictionary; unitsFormat: string; displayStyle: string; paramsMapField: string; paramsMap: dictionary; };
40
40
  export type CxTableTextFormatParams = { colorMap: dictionary; color: string; };
@@ -2503,6 +2503,14 @@
2503
2503
  * The path to the image to load.
2504
2504
  */
2505
2505
  src?: string;
2506
+ /**
2507
+ * Candidate sources for the underlying `img`, as a standard `srcset` value (e.g. `"…/re_w_400/img.jpg 400w, …/re_w_800/img.jpg 800w"`). <br/> Lets the browser fetch and decode only the pixels the layout needs, which is what bounds memory on image-heavy pages — a large original decodes to `naturalWidth × naturalHeight × 4` bytes regardless of its display size. Pair with `sizes`; without it the browser assumes the image is `100vw` wide.
2508
+ */
2509
+ srcset?: string;
2510
+ /**
2511
+ * The `sizes` attribute for the underlying `img`, describing the rendered width (e.g. `"400px"`). Only meaningful together with `srcset`.
2512
+ */
2513
+ sizes?: string;
2506
2514
  /**
2507
2515
  * The path to the placeholder image to be shown if src is not available.
2508
2516
  */
@@ -2552,7 +2560,7 @@
2552
2560
  */
2553
2561
  retryOnError?: boolean;
2554
2562
  /**
2555
- * Maximum number of retry attempts when `retry-on-error` is enabled.
2563
+ * Maximum number of retry attempts when `retry-on-error` is enabled. <br/> Set high enough to outlast a transient backend overload: a page full of images can push the transform service into 503s, and those images need to keep retrying until it recovers rather than falling back to a broken-image icon. The backoff is exponential and capped at 10s per attempt, so the attempts spread out instead of adding to the load.
2556
2564
  */
2557
2565
  maxRetries?: number;
2558
2566
  /**
@@ -5628,7 +5636,7 @@
5628
5636
  /**
5629
5637
  *
5630
5638
  */
5631
- image?: { extension: string; height: number; originalUrl: string; rotation: number; url: string; width: number; x: number; y: number; };
5639
+ image?: { extension: string; height: number; rotation: number; url: string; width: number; x: number; y: number; };
5632
5640
  /**
5633
5641
  *
5634
5642
  */
@@ -6754,7 +6762,15 @@
6754
6762
  /**
6755
6763
  * The key to use for the id of the items in the masonry layout.
6756
6764
  */
6757
- idKey?: 'src' | 'loading' | 'alt' | 'hasError' | 'id' | 'objectFit';
6765
+ idKey?: 'src' | 'extension' | 'loading' | 'alt' | 'hasError' | 'id' | 'objectFit';
6766
+ /**
6767
+ * 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.
6768
+ */
6769
+ format?: string;
6770
+ /**
6771
+ * Whether `format` was picked by hand. When false each item's format follows its own file extension instead, so a mixed list can serve animated originals and resizable raster proxies side by side.
6772
+ */
6773
+ manualFormat?: boolean;
6758
6774
  /**
6759
6775
  * When true, forwards `no-crossorigin` to each inner `cx-image`, disabling CORS mode (e.g. in Site Builder contexts where CORS headers are absent).
6760
6776
  */
@@ -7859,6 +7875,14 @@
7859
7875
  * The ID of the default proxy format. This is a string that represents the ID of the selected proxy format from the list of available proxies.
7860
7876
  */
7861
7877
  defaultProxy?: string;
7878
+ /**
7879
+ * Whether the format listbox offers an `Auto` entry, which derives the proxy from the asset's file extension instead of the author naming one.
7880
+ */
7881
+ canAutoFormat?: boolean;
7882
+ /**
7883
+ * Whether `Auto` is the current choice. <br/> Tracked next to `selectedProxy` rather than encoded into it, so `selectedProxy` stays a real proxy id for every consumer that reads it — only the origin of that id differs.
7884
+ */
7885
+ autoFormat?: boolean;
7862
7886
  /**
7863
7887
  *
7864
7888
  */
@@ -7941,6 +7965,10 @@
7941
7965
  * The default format to fall back to if the asset has no transformations or selected proxy.
7942
7966
  */
7943
7967
  defaultFormat?: string;
7968
+ /**
7969
+ * Whether the author picked the format by hand rather than letting it follow the asset's file extension. `false` (the default) means `Auto`.
7970
+ */
7971
+ manualFormat?: boolean;
7944
7972
  /**
7945
7973
  * Optional label rendered as the dialog title. Falls back to the localized "Asset format" term.
7946
7974
  */
@@ -8031,6 +8059,18 @@
8031
8059
  * Total number of items in the dataset, including those not yet loaded. When set, the scroll container height is extended to reflect the full dataset size so the scrollbar is accurate from the first render. Unloaded slots are approximated as 1×1 items.
8032
8060
  */
8033
8061
  totalItems?: number;
8062
+ /**
8063
+ * 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.
8064
+ */
8065
+ format?: string;
8066
+ /**
8067
+ * Whether `format` was picked by hand. When false each item's format follows its own file extension instead, so a mixed grid can serve animated originals and resizable raster proxies side by side.
8068
+ */
8069
+ manualFormat?: boolean;
8070
+ /**
8071
+ * Delay in milliseconds between releasing one row of images and the next. <br/> Images are held back until their row is released, so the browser opens roughly one row's worth of requests at a time instead of one per rendered item. Each transform URL is an uncached backend render, and enough of them in parallel returns 503. <br/> A row also waits for the previous row's images to finish (capped by `ROW_RELEASE_TIMEOUT`), so this is the floor between releases rather than the exact cadence. Set to `0` to disable gating and let every rendered row load immediately.
8072
+ */
8073
+ rowReleaseDelay?: number;
8034
8074
  /**
8035
8075
  * The show content type.
8036
8076
  */
@@ -8187,6 +8227,14 @@
8187
8227
  * The real total number of data in the carousel. Not affected by chunking.
8188
8228
  */
8189
8229
  totalData?: number;
8230
+ /**
8231
+ * The proxy format the slide 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.
8232
+ */
8233
+ format?: string;
8234
+ /**
8235
+ * Whether `format` was picked by hand. When false each slide's format follows its own file extension instead, so a mixed carousel can serve animated originals and resizable raster proxies side by side.
8236
+ */
8237
+ manualFormat?: boolean;
8190
8238
  /**
8191
8239
  * When set, allows the user to navigate the carousel in the same direction indefinitely.
8192
8240
  */
@@ -9585,6 +9633,10 @@
9585
9633
  * Asset transformation proxy format key.
9586
9634
  */
9587
9635
  format?: string;
9636
+ /**
9637
+ * Whether `format` was picked by hand. When false each card's format follows its own file extension instead.
9638
+ */
9639
+ manualFormat?: boolean;
9588
9640
  /**
9589
9641
  * Asset transformations applied to the image.
9590
9642
  */
@@ -9711,6 +9763,10 @@
9711
9763
  * Asset transformation proxy format key.
9712
9764
  */
9713
9765
  format?: string;
9766
+ /**
9767
+ * Whether `format` was picked by hand. When false each item's format follows its own file extension instead.
9768
+ */
9769
+ manualFormat?: boolean;
9714
9770
  /**
9715
9771
  * Asset transformations applied to the image.
9716
9772
  */