@crystaldesign/diva-backoffice 26.10.0-beta.2 → 26.10.0-beta.21

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 (76) hide show
  1. package/build/esm/index.js +3031 -2227
  2. package/build/types/backoffice/src/Configuration.d.ts +3 -2
  3. package/build/types/backoffice/src/Configuration.d.ts.map +1 -1
  4. package/build/types/backoffice/src/layout/Content/index.d.ts.map +1 -1
  5. package/build/types/backoffice/src/layout/Toolbar/Tools/WYSIWYG_Configurator/useWysiwygConfigurator.d.ts.map +1 -1
  6. package/build/types/backoffice/src/layout/Toolbar/Tools/WYSIWYG_Configurator/useWysiwygConfigurator.test.d.ts +2 -0
  7. package/build/types/backoffice/src/layout/Toolbar/Tools/WYSIWYG_Configurator/useWysiwygConfigurator.test.d.ts.map +1 -0
  8. package/build/types/backoffice/src/store/ContentStore.d.ts.map +1 -1
  9. package/build/types/backoffice/src/store/RootStore.d.ts +4 -1
  10. package/build/types/backoffice/src/store/RootStore.d.ts.map +1 -1
  11. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/index.d.ts +1 -1
  12. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/index.d.ts.map +1 -1
  13. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/types.d.ts +2 -0
  14. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/types.d.ts.map +1 -1
  15. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/useUploadState.d.ts +2 -1
  16. package/build/types/backoffice/src/ui/CommonComponents/UploadModal/useUploadState.d.ts.map +1 -1
  17. package/build/types/backoffice/src/ui/CommonComponents/commonEnums.d.ts.map +1 -1
  18. package/build/types/backoffice/src/ui/IDMCatalogEditor/modules/TableItems/index.d.ts.map +1 -1
  19. package/build/types/backoffice/src/ui/IDMCatalogEditor/modules/TableOptions/index.d.ts.map +1 -1
  20. package/build/types/backoffice/src/ui/IDMCollectionEditor/Tables/CollectionMembers.d.ts.map +1 -1
  21. package/build/types/backoffice/src/ui/IDMEnricherEditor/hooks/useModule.d.ts.map +1 -1
  22. package/build/types/backoffice/src/ui/IDMEnricherEditor/index.d.ts.map +1 -1
  23. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableEnrichment/PropertyObjectExpandedEditor.d.ts +6 -0
  24. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableEnrichment/PropertyObjectExpandedEditor.d.ts.map +1 -0
  25. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableEnrichment/index.d.ts +8 -0
  26. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableEnrichment/index.d.ts.map +1 -0
  27. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableTabGroups/index.d.ts.map +1 -1
  28. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/index.d.ts +9 -0
  29. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/index.d.ts.map +1 -0
  30. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/modules/TablePropertyDefinitions/index.d.ts +3 -0
  31. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/modules/TablePropertyDefinitions/index.d.ts.map +1 -0
  32. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/types.d.ts +5 -0
  33. package/build/types/backoffice/src/ui/IDMPropertyDefinitionsEditor/types.d.ts.map +1 -0
  34. package/build/types/backoffice/src/ui/Maintenance/components/StatsRow.d.ts.map +1 -1
  35. package/build/types/backoffice/src/ui/Maintenance/components/StatusBadges.d.ts.map +1 -1
  36. package/build/types/backoffice/src/ui/Maintenance/types.d.ts +11 -1
  37. package/build/types/backoffice/src/ui/Maintenance/types.d.ts.map +1 -1
  38. package/build/types/backoffice/src/ui/Table/utils/getColumnFilterProps.d.ts.map +1 -1
  39. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ApprovalWorkspace/index.d.ts +9 -3
  40. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ApprovalWorkspace/index.d.ts.map +1 -1
  41. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/FullscreenViewer/index.d.ts.map +1 -1
  42. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ImagePanel/index.d.ts +2 -3
  43. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ImagePanel/index.d.ts.map +1 -1
  44. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/LeftSlider/index.d.ts +1 -2
  45. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/LeftSlider/index.d.ts.map +1 -1
  46. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/MetadataPanel/index.d.ts +1 -1
  47. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/MetadataPanel/index.d.ts.map +1 -1
  48. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ShortcutLegend/index.d.ts +3 -2
  49. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/ShortcutLegend/index.d.ts.map +1 -1
  50. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/SideBySideViewer/index.d.ts +16 -3
  51. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/SideBySideViewer/index.d.ts.map +1 -1
  52. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantCompareView/index.d.ts +17 -0
  53. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantCompareView/index.d.ts.map +1 -0
  54. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantPanel/index.d.ts +20 -0
  55. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantPanel/index.d.ts.map +1 -0
  56. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantSlider/index.d.ts +31 -0
  57. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/components/VariantSlider/index.d.ts.map +1 -0
  58. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/hooks/useRenderJobData.d.ts +17 -0
  59. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/hooks/useRenderJobData.d.ts.map +1 -1
  60. package/build/types/backoffice/src/ui/TableRenderJobs/components/RenderApprove/index.d.ts.map +1 -1
  61. package/build/types/backoffice/src/ui/TableRenderJobs/constants.d.ts +9 -0
  62. package/build/types/backoffice/src/ui/TableRenderJobs/constants.d.ts.map +1 -1
  63. package/build/types/backoffice/src/ui/TableRenderJobs/hooks/useAddRenderJobImageVariant.d.ts +9 -0
  64. package/build/types/backoffice/src/ui/TableRenderJobs/hooks/useAddRenderJobImageVariant.d.ts.map +1 -0
  65. package/build/types/backoffice/src/ui/TableRenderJobs/hooks/useSelectRenderJobVariant.d.ts +10 -0
  66. package/build/types/backoffice/src/ui/TableRenderJobs/hooks/useSelectRenderJobVariant.d.ts.map +1 -0
  67. package/build/types/backoffice/src/ui/TableRenderJobs/hooks/useUploadRenderJobImage.d.ts.map +1 -1
  68. package/build/types/backoffice/src/ui/TableRenderJobs/types.d.ts +40 -0
  69. package/build/types/backoffice/src/ui/TableRenderJobs/types.d.ts.map +1 -1
  70. package/build/types/backoffice/src/ui/TableRenderJobs/utils.d.ts +14 -0
  71. package/build/types/backoffice/src/ui/TableRenderJobs/utils.d.ts.map +1 -0
  72. package/build/types/backoffice/src/utils/isRelatedRoutePath.d.ts +8 -0
  73. package/build/types/backoffice/src/utils/isRelatedRoutePath.d.ts.map +1 -0
  74. package/package.json +9 -9
  75. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableProperties/index.d.ts +0 -5
  76. package/build/types/backoffice/src/ui/IDMEnricherEditor/modules/TableProperties/index.d.ts.map +0 -1
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { RenderApproveMedia, RenderApproveVariant } from '../../../../types';
3
+ interface Props {
4
+ variant: RenderApproveVariant;
5
+ /** Number of variants in the batch, for the "Variante 2/3" label. */
6
+ total: number;
7
+ /** Blocks the take-over action (read-only job, session busy, ...). */
8
+ disabled?: boolean;
9
+ /** A take-over request is currently in flight. */
10
+ busy?: boolean;
11
+ onSelect?: (mediaItemId: string) => void;
12
+ onOpenFullscreen?: (media: RenderApproveMedia) => void;
13
+ }
14
+ /**
15
+ * One image variant with its take-over action. Shared by the variant slider and
16
+ * the comparison view so both offer the exact same interaction.
17
+ */
18
+ export default function VariantPanel({ variant, total, disabled, busy, onSelect, onOpenFullscreen }: Props): React.JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/components/VariantPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,UAAU,KAAK;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,KAAK,qBA2BzG"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import type { Swiper as SwiperClass } from 'swiper';
3
+ import { RenderApproveMedia, RenderApproveVariant } from '../../../../types';
4
+ import 'swiper/css';
5
+ import 'swiper/css/navigation';
6
+ import 'swiper/css/pagination';
7
+ interface Props {
8
+ variants: RenderApproveVariant[];
9
+ disabled?: boolean;
10
+ busy?: boolean;
11
+ onSelect?: (mediaItemId: string) => void;
12
+ onOpenFullscreen?: (media: RenderApproveMedia) => void;
13
+ /** Receives the Swiper instance so the parent can drive prev/next from keyboard shortcuts. */
14
+ onSwiperInit?: (swiper: SwiperClass) => void;
15
+ }
16
+ /**
17
+ * Horizontal swiper over the generated image variants on the result side of the
18
+ * approval viewer.
19
+ *
20
+ * Opens on the variant currently taken over as the product image; the generated
21
+ * order stays untouched so the "Variante 2/3" labels keep matching the slide
22
+ * positions.
23
+ *
24
+ * Not looped on purpose: with two or three slides the "Variante 2/3" label is
25
+ * the main orientation aid and wrapping around would make it misleading.
26
+ * Swiper's keyboard module stays disabled because Arrow Left/Right navigate
27
+ * between render jobs; Q/E drive this swiper via `useKeyboardShortcuts`.
28
+ */
29
+ export default function VariantSlider({ variants, disabled, busy, onSelect, onOpenFullscreen, onSwiperInit }: Props): React.JSX.Element;
30
+ export {};
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/components/VariantSlider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,YAAY,CAAC;AACpB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAE/B,UAAU,KAAK;IACb,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,8FAA8F;IAC9F,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,KAAK,qBAgClH"}
@@ -8,12 +8,29 @@ interface UseRenderJobDataResult {
8
8
  applyRenderImages: (renderImages: RenderImage[]) => void;
9
9
  }
10
10
  export declare function getMediaItemId(job: RenderJob | undefined): string | undefined;
11
+ /**
12
+ * Returns the URL of the given image variant.
13
+ * Some legacy items have the variant URLs shifted under the wrong dict key, so the key itself
14
+ * can't be trusted - match on the `_<variant>.` file-name suffix that the storage upload wrote instead.
15
+ * URLs without one of the known variant suffixes (gal/low/std/big) aren't tied to a specific variant
16
+ * (e.g. generic fallback images, or filenames that happen to end in `_<word>.<ext>`), so they're
17
+ * trusted under whichever key they're stored.
18
+ * @param variants
19
+ * @param variant
20
+ */
21
+ export declare function getImageVariantUrl(variants: Record<string, string> | undefined, variant: string): string | undefined;
11
22
  export declare function resolveMediaItem(baseUrl: string, jwt: string | undefined, mediaItemId?: string, mediaItemRef?: string): Promise<RenderApproveMedia | null>;
12
23
  /**
13
24
  * Loads the render job by id together with the left (real-time render) and
14
25
  * right (resolved media item) images. Each id change cancels the previous
15
26
  * fetch via an abort flag so stale responses cannot overwrite newer state.
16
27
  *
28
+ * Everything is revealed in stages, because a job switch otherwise shows
29
+ * nothing until the slowest request of the whole chain is done: the preview and
30
+ * the `renderImages` slides come straight from the job document, the result
31
+ * image is one further request away, and only the product media (one catalog
32
+ * call plus two media calls per image) and the slide names arrive late.
33
+ *
17
34
  * State mutations (approve/reject) live in `useUpdateRenderJobState` so the
18
35
  * session hook can call them without depending on the currently-loaded job.
19
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useRenderJobData.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/hooks/useRenderJobData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIjG,UAAU,sBAAsB;IAC9B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8JAA8J;IAC9J,iBAAiB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM7E;AAuHD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAapC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,sBAAsB,CA6IjG"}
1
+ {"version":3,"file":"useRenderJobData.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/hooks/useRenderJobData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAwB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIvH,UAAU,sBAAsB;IAC9B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8JAA8J;IAC9J,iBAAiB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM7E;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAapH;AAqGD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAapC;AA2FD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,sBAAsB,CA2HjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAqD3D,MAAM,CAAC,OAAO,UAAU,aAAa,sBA4mBpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/TableRenderJobs/components/RenderApprove/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAuD3D,MAAM,CAAC,OAAO,UAAU,aAAa,sBA6rBpC"}
@@ -72,6 +72,15 @@ export declare const KEY_MAP: {
72
72
  readonly swiperNext: {
73
73
  readonly code: "KeyD";
74
74
  };
75
+ readonly variantPrev: {
76
+ readonly code: "KeyQ";
77
+ };
78
+ readonly variantNext: {
79
+ readonly code: "KeyE";
80
+ };
81
+ readonly compare: {
82
+ readonly code: "KeyC";
83
+ };
75
84
  readonly details: {
76
85
  readonly code: "KeyD";
77
86
  readonly mod: true;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/TableRenderJobs/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAQpB,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYmC,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,OAAO,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/TableRenderJobs/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAQpB,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBmC,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,OAAO,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Adds a manually uploaded image to an AI job's image variants and takes it over as
3
+ * the result image via `POST ${mediaService}/renderjobs/:id/variants`.
4
+ *
5
+ * The endpoint also seeds the list from the previous result and moves the file name
6
+ * and job reference onto the upload, so a plain JSON patch cannot replace it.
7
+ */
8
+ export default function useAddRenderJobImageVariant(): (id: string, mediaItemId: string, mediaItemRefId: string) => Promise<any>;
9
+ //# sourceMappingURL=useAddRenderJobImageVariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddRenderJobImageVariant.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/TableRenderJobs/hooks/useAddRenderJobImageVariant.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,SAMpC,MAAM,eAAe,MAAM,kBAAkB,MAAM,kBA+BjE"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Takes one generated image variant over as the render job's result image via
3
+ * `POST ${mediaService}/renderjobs/:id/variants/select`.
4
+ *
5
+ * The endpoint moves the canonical file name and the job reference from the
6
+ * previously selected variant to the new one, so this must not be replaced by a
7
+ * plain JSON patch on `fileUrl` / `mediaItemRef`.
8
+ */
9
+ export default function useSelectRenderJobVariant(): (id: string, mediaItemId: string) => Promise<any>;
10
+ //# sourceMappingURL=useSelectRenderJobVariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectRenderJobVariant.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/TableRenderJobs/hooks/useSelectRenderJobVariant.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,SAMlC,MAAM,eAAe,MAAM,kBA+BzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUploadRenderJobImage.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/TableRenderJobs/hooks/useUploadRenderJobImage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkBrC;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnG;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB;mBAY9B,IAAI,OAAO,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;;;EA2EpD"}
1
+ {"version":3,"file":"useUploadRenderJobImage.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/TableRenderJobs/hooks/useUploadRenderJobImage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAOpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkBrC;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnG;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB;mBAa9B,IAAI,OAAO,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;;;EAmFpD"}
@@ -10,6 +10,21 @@ export interface RenderImage {
10
10
  mediaItemRefId?: string;
11
11
  url: string;
12
12
  }
13
+ /**
14
+ * One generated AI output image of a multi-variant render job.
15
+ *
16
+ * Not to be confused with {@link RenderImage}, which holds the *input* images
17
+ * sent to the AI. The variant currently taken over as the product image is the
18
+ * one referenced by the job's `mediaItems[0]` - it is not flagged separately.
19
+ */
20
+ export interface RenderImageVariant {
21
+ url: string;
22
+ mediaItemId?: string;
23
+ mediaItemRefId?: string;
24
+ /** Zero-based position in the generated batch. */
25
+ index: number;
26
+ created?: number;
27
+ }
13
28
  /**
14
29
  * Subset of the render job payload returned by `GET /renderjobs/:id`
15
30
  * that the RenderApprove session actually uses. Extra fields from the API
@@ -43,6 +58,10 @@ export interface RenderJob {
43
58
  }[];
44
59
  /** Ordered list of input images sent to the AI, each with its CDN url and (when known) its MediaItemRef id. */
45
60
  renderImages?: RenderImage[];
61
+ /** How many image variants the AI engine was asked to generate (1-3). Undefined behaves like 1. */
62
+ nrOfVariants?: number;
63
+ /** The generated output images. Only present on jobs that requested more than one variant. */
64
+ imageVariants?: RenderImageVariant[];
46
65
  created?: number;
47
66
  [key: string]: any;
48
67
  }
@@ -69,9 +88,24 @@ export interface RenderApproveMedia {
69
88
  name?: string;
70
89
  /** Free-form metadata dictionary of the MediaItem / MediaItemRef. */
71
90
  metadata?: Record<string, any>;
91
+ /** Storage-generated image variants keyed by size (e.g. `big`, `gal`). For TIFFs these are PNGs. */
92
+ variants?: Record<string, string>;
72
93
  /** True for the realtime render preview slide (independent of its position). */
73
94
  isPreview?: boolean;
74
95
  }
96
+ /**
97
+ * One resolved image variant on the result side of the viewer. Carries the
98
+ * `mediaItemId` explicitly because that - not the ambiguous
99
+ * {@link RenderApproveMedia.id} - is the key the select endpoint expects.
100
+ */
101
+ export interface RenderApproveVariant extends RenderApproveMedia {
102
+ /** MediaItem of this variant; the payload of `POST /renderjobs/:id/variants/select`. */
103
+ mediaItemId: string;
104
+ /** Zero-based position in the generated batch, used for the "Variante 2/3" label. */
105
+ index: number;
106
+ /** True for the variant currently taken over as the product image. */
107
+ selected: boolean;
108
+ }
75
109
  export interface RenderApproveImages {
76
110
  /** First slide / fullscreen source (always the realtime render preview). */
77
111
  left?: RenderApproveMedia;
@@ -84,5 +118,11 @@ export interface RenderApproveImages {
84
118
  */
85
119
  leftSlides?: RenderApproveMedia[];
86
120
  right?: RenderApproveMedia;
121
+ /**
122
+ * All generated variants of an AI job, ordered by `index`. Empty for jobs that
123
+ * produced a single image - `right` alone is shown in that case, exactly as
124
+ * before variants existed.
125
+ */
126
+ rightSlides?: RenderApproveVariant[];
87
127
  }
88
128
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/TableRenderJobs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;IAC1E,IAAI,EAAE,iBAAiB,CAAC;CACzB;AACD,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjE,+GAA+G;IAC/G,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gHAAgH;IAChH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/TableRenderJobs/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { RenderApproveMedia } from './types';
2
+ /**
3
+ * Resolves the url a browser can actually display for a media entry.
4
+ *
5
+ * Render jobs with `fileFormat: 'tif'` produce TIFF results, which no browser
6
+ * renders natively. The storage generates PNG variants for them, so the `big`
7
+ * variant (falling back to `gal`, then the thumbnail) is displayed instead of
8
+ * the raw `cdnUrl`. Mirrors the handling in the media item table cells.
9
+ *
10
+ * @param media the media entry to resolve, may be undefined while loading
11
+ * @returns the displayable url, or `null` when no renderable source exists
12
+ */
13
+ export declare function getViewerUrl(media?: RenderApproveMedia): string | null;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/TableRenderJobs/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAK7C;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAMtE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Whether two router paths belong to the same route branch, i.e. they are equal or one is a sub route of the other
3
+ * (e.g. `/admin/renderjobs` and its `/admin/renderjobs/renderapprove` sub route).
4
+ *
5
+ * Used to decide whether view state may survive a navigation.
6
+ */
7
+ export declare function isRelatedRoutePath(from: string, to: string): boolean;
8
+ //# sourceMappingURL=isRelatedRoutePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRelatedRoutePath.d.ts","sourceRoot":"","sources":["../../../../../src/utils/isRelatedRoutePath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,WAE1D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-backoffice",
3
- "version": "26.10.0-beta.2",
3
+ "version": "26.10.0-beta.21",
4
4
  "license": "COMMERCIAL",
5
5
  "devDependencies": {
6
6
  "@testing-library/jest-dom": "^6.5.0",
@@ -15,13 +15,13 @@
15
15
  "dependencies": {
16
16
  "@ant-design/icons": "6.1.0",
17
17
  "@babel/runtime": "7.24.7",
18
- "@crystaldesign/content-box": "26.10.0-beta.2",
19
- "@crystaldesign/content-item": "26.10.0-beta.2",
20
- "@crystaldesign/diva-core": "26.10.0-beta.2",
21
- "@crystaldesign/diva-utils": "26.10.0-beta.2",
22
- "@crystaldesign/media-upload": "26.10.0-beta.2",
23
- "@crystaldesign/rtf-editor": "26.10.0-beta.2",
24
- "@crystaldesign/spreadsheet": "26.10.0-beta.2",
18
+ "@crystaldesign/content-box": "26.10.0-beta.21",
19
+ "@crystaldesign/content-item": "26.10.0-beta.21",
20
+ "@crystaldesign/diva-core": "26.10.0-beta.21",
21
+ "@crystaldesign/diva-utils": "26.10.0-beta.21",
22
+ "@crystaldesign/media-upload": "26.10.0-beta.21",
23
+ "@crystaldesign/rtf-editor": "26.10.0-beta.21",
24
+ "@crystaldesign/spreadsheet": "26.10.0-beta.21",
25
25
  "@dnd-kit/core": "^6.1.0",
26
26
  "@dnd-kit/sortable": "^8.0.0",
27
27
  "@dnd-kit/utilities": "^3.2.2",
@@ -56,5 +56,5 @@
56
56
  },
57
57
  "module": "build/esm/index.js",
58
58
  "types": "./build/types/backoffice/src/index.d.ts",
59
- "gitHead": "88438ab737d6cbf5e8fe824ec288d6854bfb4eb9"
59
+ "gitHead": "5e88d0ebb780247f5a9d8f598381905682a1409d"
60
60
  }
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const TableProperties: (() => React.JSX.Element) & {
3
- displayName: string;
4
- };
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/IDMEnricherEditor/modules/TableProperties/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAavC,eAAO,MAAM,eAAe;;CA2N1B,CAAC"}