@artsy/cohesion 4.364.0--canary.709.14894.0 → 4.364.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # v4.364.0 (Wed Jun 24 2026)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - chore: add analytics schema for OS bulk edit [#708](https://github.com/artsy/cohesion/pull/708) ([@mzikherman](https://github.com/mzikherman))
6
+
7
+ #### Authors: 1
8
+
9
+ - Matt Zikherman ([@mzikherman](https://github.com/mzikherman))
10
+
11
+ ---
12
+
1
13
  # v4.363.0 (Tue Jun 23 2026)
2
14
 
3
15
  #### 🚀 Enhancement
@@ -78,6 +78,7 @@ export declare enum ContextModule {
78
78
  boothsTab = "boothsTab",
79
79
  bottomTabs = "bottomTabs",
80
80
  browseFair = "browseFair",
81
+ bulkEditDrawer = "bulkEditDrawer",
81
82
  categoryRail = "categoryRail",
82
83
  cityGuideCard = "cityGuideCard",
83
84
  collectionCard = "collectionCard",
@@ -92,6 +92,7 @@ exports.ContextModule = ContextModule;
92
92
  ContextModule["boothsTab"] = "boothsTab";
93
93
  ContextModule["bottomTabs"] = "bottomTabs";
94
94
  ContextModule["browseFair"] = "browseFair";
95
+ ContextModule["bulkEditDrawer"] = "bulkEditDrawer";
95
96
  ContextModule["categoryRail"] = "categoryRail";
96
97
  ContextModule["cityGuideCard"] = "cityGuideCard";
97
98
  ContextModule["collectionCard"] = "collectionCard";
@@ -53,5 +53,6 @@ export * from "./CMS/Events/UploadArtworkFlow";
53
53
  export * from "./os/Events";
54
54
  export * from "./os/Values/OsContextModule";
55
55
  export * from "./os/Values/OsOwnerType";
56
- export * from "./os/Events/InventoryTable";
56
+ export * from "./os/Events/Click";
57
57
  export * from "./os/Events/MultiAddFlow";
58
+ export * from "./os/Events/Submit";
@@ -556,14 +556,14 @@ Object.keys(_OsOwnerType).forEach(function (key) {
556
556
  });
557
557
  });
558
558
 
559
- var _InventoryTable = require("./os/Events/InventoryTable");
559
+ var _Click2 = require("./os/Events/Click");
560
560
 
561
- Object.keys(_InventoryTable).forEach(function (key) {
561
+ Object.keys(_Click2).forEach(function (key) {
562
562
  if (key === "default" || key === "__esModule") return;
563
563
  Object.defineProperty(exports, key, {
564
564
  enumerable: true,
565
565
  get: function get() {
566
- return _InventoryTable[key];
566
+ return _Click2[key];
567
567
  }
568
568
  });
569
569
  });
@@ -578,4 +578,16 @@ Object.keys(_MultiAddFlow).forEach(function (key) {
578
578
  return _MultiAddFlow[key];
579
579
  }
580
580
  });
581
+ });
582
+
583
+ var _Submit = require("./os/Events/Submit");
584
+
585
+ Object.keys(_Submit).forEach(function (key) {
586
+ if (key === "default" || key === "__esModule") return;
587
+ Object.defineProperty(exports, key, {
588
+ enumerable: true,
589
+ get: function get() {
590
+ return _Submit[key];
591
+ }
592
+ });
581
593
  });
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Schemas describing Art OS bulk-action click events
3
+ * @packageDocumentation
4
+ */
5
+ import { OsContextModule } from "../Values/OsContextModule";
6
+ import { OsOwnerType } from "../Values/OsOwnerType";
7
+ import { OsActionType } from "./index";
8
+ /**
9
+ * A partner selects an item from the inventory Actions dropdown - also fired from
10
+ * the row action menu, the right-click context menu, and the bulk Edit button.
11
+ * Reusable across surfaces: `value` is the menu item, `label` is the trigger.
12
+ *
13
+ * @example
14
+ * ```
15
+ * {
16
+ * action: "clickedActionsDropdown",
17
+ * context_module: "actionsDropdown",
18
+ * context_page_owner_type: "inventory",
19
+ * value: "Add to Artsy (as Draft)",
20
+ * label: "action button",
21
+ * artwork_ids: ["5d2b5b5d5e5b5d000e1b5b5d"]
22
+ * }
23
+ * ```
24
+ */
25
+ export interface ClickedActionsDropdown {
26
+ action: OsActionType.clickedActionsDropdown;
27
+ context_module: OsContextModule.actionsDropdown;
28
+ context_page_owner_type: OsOwnerType;
29
+ value: string;
30
+ label: string;
31
+ artwork_ids: string[];
32
+ }
33
+ /**
34
+ * A partner cancels the bulk-edit drawer without applying changes.
35
+ *
36
+ * @example
37
+ * ```
38
+ * {
39
+ * action: "clickedCancelBulkEdit",
40
+ * context_module: "bulkEditDrawer",
41
+ * context_page_owner_type: "inventory",
42
+ * artwork_ids: ["5d2b5b5d5e5b5d000e1b5b5d"]
43
+ * }
44
+ * ```
45
+ */
46
+ export interface ClickedCancelBulkEdit {
47
+ action: OsActionType.clickedCancelBulkEdit;
48
+ context_module: OsContextModule.bulkEditDrawer;
49
+ context_page_owner_type: OsOwnerType;
50
+ artwork_ids: string[];
51
+ }
52
+ export type OsClickEvent = ClickedActionsDropdown | ClickedCancelBulkEdit;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Schemas describing Art OS bulk-action submit events (tied to backend changes)
3
+ * @packageDocumentation
4
+ */
5
+ import { OsContextModule } from "../Values/OsContextModule";
6
+ import { OsOwnerType } from "../Values/OsOwnerType";
7
+ import { OsActionType } from "./index";
8
+ /**
9
+ * A partner applies changes in the bulk-edit drawer. `labels` lists the edited
10
+ * fields and `values` carries each field's submitted value, index-aligned.
11
+ *
12
+ * @example
13
+ * ```
14
+ * {
15
+ * action: "bulkEditedArtworks",
16
+ * context_module: "bulkEditDrawer",
17
+ * context_page_owner_type: "inventory",
18
+ * labels: ["availability", "price"],
19
+ * values: ["for sale", "USD 1000"],
20
+ * artwork_ids: ["5d2b5b5d5e5b5d000e1b5b5d"],
21
+ * artwork_count: 30
22
+ * }
23
+ * ```
24
+ */
25
+ export interface BulkEditedArtworks {
26
+ action: OsActionType.bulkEditedArtworks;
27
+ context_module: OsContextModule.bulkEditDrawer;
28
+ context_page_owner_type: OsOwnerType;
29
+ labels: string[];
30
+ values: string[];
31
+ artwork_ids: string[];
32
+ artwork_count: number;
33
+ }
34
+ /**
35
+ * A partner confirms deletion of a single artwork in the delete modal.
36
+ * Fires only on a confirmed delete; cancelling is not tracked.
37
+ *
38
+ * @example
39
+ * ```
40
+ * {
41
+ * action: "deletedArtwork",
42
+ * context_module: "deleteModal",
43
+ * context_page_owner_type: "inventory",
44
+ * value: "confirm",
45
+ * artwork_ids: ["5d2b5b5d5e5b5d000e1b5b5d"]
46
+ * }
47
+ * ```
48
+ */
49
+ export interface DeletedArtwork {
50
+ action: OsActionType.deletedArtwork;
51
+ context_module: OsContextModule.deleteModal;
52
+ context_page_owner_type: OsOwnerType;
53
+ value: "confirm";
54
+ artwork_ids: string[];
55
+ }
56
+ /**
57
+ * A partner confirms or cancels distributing artworks to Artsy in the distribute modal.
58
+ *
59
+ * @example
60
+ * ```
61
+ * {
62
+ * action: "distributedArtworks",
63
+ * context_module: "distributeModal",
64
+ * context_page_owner_type: "inventory",
65
+ * destination: ["artsy"],
66
+ * value: "confirm",
67
+ * artwork_ids: ["5d2b5b5d5e5b5d000e1b5b5d"],
68
+ * selected_count: 2
69
+ * }
70
+ * ```
71
+ */
72
+ export interface DistributedArtworks {
73
+ action: OsActionType.distributedArtworks;
74
+ context_module: OsContextModule.distributeModal;
75
+ context_page_owner_type: OsOwnerType;
76
+ destination: string[];
77
+ value: "confirm" | "cancel";
78
+ artwork_ids: string[];
79
+ selected_count: number;
80
+ }
81
+ export type OsSubmitEvent = BulkEditedArtworks | DeletedArtwork | DistributedArtworks;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,12 @@
1
- import { OsInventoryTable } from "./InventoryTable";
1
+ import { OsClickEvent } from "./Click";
2
2
  import { OsMultiAddFlow } from "./MultiAddFlow";
3
+ import { OsSubmitEvent } from "./Submit";
3
4
  /**
4
5
  * List of valid schemas for Art OS analytics actions
5
6
  *
6
7
  * Each event describes one ActionType
7
8
  */
8
- export type OsEvent = OsMultiAddFlow | OsInventoryTable;
9
+ export type OsEvent = OsMultiAddFlow | OsClickEvent | OsSubmitEvent;
9
10
  /**
10
11
  * List of all Art OS actions
11
12
  *
@@ -13,23 +14,15 @@ export type OsEvent = OsMultiAddFlow | OsInventoryTable;
13
14
  */
14
15
  export declare enum OsActionType {
15
16
  /**
16
- * Corresponds to {@link OsInventoryTable}
17
+ * Corresponds to {@link BulkEditedArtworks}
17
18
  */
18
- addedArtist = "addedArtist",
19
- /**
20
- * Corresponds to {@link OsInventoryTable}
21
- */
22
- addedArtworkDocument = "addedArtworkDocument",
23
- /**
24
- * Corresponds to {@link OsInventoryTable}
25
- */
26
- addedLocation = "addedLocation",
19
+ bulkEditedArtworks = "bulkEditedArtworks",
27
20
  /**
28
21
  * Corresponds to {@link CancelledArtworkImport}
29
22
  */
30
23
  cancelledArtworkImport = "cancelledArtworkImport",
31
24
  /**
32
- * Corresponds to {@link OsInventoryTable}
25
+ * Corresponds to {@link ClickedActionsDropdown}
33
26
  */
34
27
  clickedActionsDropdown = "clickedActionsDropdown",
35
28
  /**
@@ -37,21 +30,13 @@ export declare enum OsActionType {
37
30
  */
38
31
  clickedAddFromFile = "clickedAddFromFile",
39
32
  /**
40
- * Corresponds to {@link OsInventoryTable}
33
+ * Corresponds to {@link ClickedCancelBulkEdit}
41
34
  */
42
- clickedArtworkRow = "clickedArtworkRow",
43
- /**
44
- * Corresponds to {@link OsInventoryTable}
45
- */
46
- clickedEditionSetRow = "clickedEditionSetRow",
35
+ clickedCancelBulkEdit = "clickedCancelBulkEdit",
47
36
  /**
48
37
  * Corresponds to {@link ClickedExitDropZone}
49
38
  */
50
39
  clickedExitDropZone = "clickedExitDropZone",
51
- /**
52
- * Corresponds to {@link OsInventoryTable}
53
- */
54
- clickedImagesModal = "clickedImagesModal",
55
40
  /**
56
41
  * Corresponds to {@link CompletedArtworkImport}
57
42
  */
@@ -61,21 +46,21 @@ export declare enum OsActionType {
61
46
  */
62
47
  createdImportedArtworks = "createdImportedArtworks",
63
48
  /**
64
- * Corresponds to {@link EditedArtworkField}
49
+ * Corresponds to {@link DeletedArtwork}
65
50
  */
66
- editedArtworkField = "editedArtworkField",
51
+ deletedArtwork = "deletedArtwork",
67
52
  /**
68
- * Corresponds to {@link ResumedArtworkImport}
53
+ * Corresponds to {@link DistributedArtworks}
69
54
  */
70
- resumedArtworkImport = "resumedArtworkImport",
55
+ distributedArtworks = "distributedArtworks",
71
56
  /**
72
- * Corresponds to {@link OsInventoryTable}
57
+ * Corresponds to {@link EditedArtworkField}
73
58
  */
74
- removedArtworkDocument = "removedArtworkDocument",
59
+ editedArtworkField = "editedArtworkField",
75
60
  /**
76
- * Corresponds to {@link OsInventoryTable}
61
+ * Corresponds to {@link ResumedArtworkImport}
77
62
  */
78
- savedArtworkImages = "savedArtworkImages",
63
+ resumedArtworkImport = "resumedArtworkImport",
79
64
  /**
80
65
  * Corresponds to {@link StartedArtworkImport}
81
66
  */
@@ -20,21 +20,17 @@ var OsActionType;
20
20
  exports.OsActionType = OsActionType;
21
21
 
22
22
  (function (OsActionType) {
23
- OsActionType["addedArtist"] = "addedArtist";
24
- OsActionType["addedArtworkDocument"] = "addedArtworkDocument";
25
- OsActionType["addedLocation"] = "addedLocation";
23
+ OsActionType["bulkEditedArtworks"] = "bulkEditedArtworks";
26
24
  OsActionType["cancelledArtworkImport"] = "cancelledArtworkImport";
27
25
  OsActionType["clickedActionsDropdown"] = "clickedActionsDropdown";
28
26
  OsActionType["clickedAddFromFile"] = "clickedAddFromFile";
29
- OsActionType["clickedArtworkRow"] = "clickedArtworkRow";
30
- OsActionType["clickedEditionSetRow"] = "clickedEditionSetRow";
27
+ OsActionType["clickedCancelBulkEdit"] = "clickedCancelBulkEdit";
31
28
  OsActionType["clickedExitDropZone"] = "clickedExitDropZone";
32
- OsActionType["clickedImagesModal"] = "clickedImagesModal";
33
29
  OsActionType["completedArtworkImport"] = "completedArtworkImport";
34
30
  OsActionType["createdImportedArtworks"] = "createdImportedArtworks";
31
+ OsActionType["deletedArtwork"] = "deletedArtwork";
32
+ OsActionType["distributedArtworks"] = "distributedArtworks";
35
33
  OsActionType["editedArtworkField"] = "editedArtworkField";
36
34
  OsActionType["resumedArtworkImport"] = "resumedArtworkImport";
37
- OsActionType["removedArtworkDocument"] = "removedArtworkDocument";
38
- OsActionType["savedArtworkImages"] = "savedArtworkImages";
39
35
  OsActionType["startedArtworkImport"] = "startedArtworkImport";
40
36
  })(OsActionType || (exports.OsActionType = OsActionType = {}));
@@ -6,11 +6,9 @@
6
6
  */
7
7
  export declare enum OsContextModule {
8
8
  actionsDropdown = "actionsDropdown",
9
- addArtistModal = "addArtistModal",
10
- addLocationModal = "addLocationModal",
11
- artworkTable = "artworkTable",
12
- documentsModal = "documentsModal",
13
- imagesModal = "imagesModal",
9
+ bulkEditDrawer = "bulkEditDrawer",
10
+ deleteModal = "deleteModal",
11
+ distributeModal = "distributeModal",
14
12
  multiAdd = "multiAdd",
15
13
  multiAddReview = "multiAddReview"
16
14
  }
@@ -16,11 +16,9 @@ exports.OsContextModule = OsContextModule;
16
16
 
17
17
  (function (OsContextModule) {
18
18
  OsContextModule["actionsDropdown"] = "actionsDropdown";
19
- OsContextModule["addArtistModal"] = "addArtistModal";
20
- OsContextModule["addLocationModal"] = "addLocationModal";
21
- OsContextModule["artworkTable"] = "artworkTable";
22
- OsContextModule["documentsModal"] = "documentsModal";
23
- OsContextModule["imagesModal"] = "imagesModal";
19
+ OsContextModule["bulkEditDrawer"] = "bulkEditDrawer";
20
+ OsContextModule["deleteModal"] = "deleteModal";
21
+ OsContextModule["distributeModal"] = "distributeModal";
24
22
  OsContextModule["multiAdd"] = "multiAdd";
25
23
  OsContextModule["multiAddReview"] = "multiAddReview";
26
24
  })(OsContextModule || (exports.OsContextModule = OsContextModule = {}));
@@ -4,6 +4,6 @@
4
4
  * @packageDocumentation
5
5
  */
6
6
  export declare enum OsOwnerType {
7
- list = "list",
7
+ collection = "collection",
8
8
  inventory = "inventory"
9
9
  }
@@ -14,6 +14,6 @@ var OsOwnerType;
14
14
  exports.OsOwnerType = OsOwnerType;
15
15
 
16
16
  (function (OsOwnerType) {
17
- OsOwnerType["list"] = "list";
17
+ OsOwnerType["collection"] = "collection";
18
18
  OsOwnerType["inventory"] = "inventory";
19
19
  })(OsOwnerType || (exports.OsOwnerType = OsOwnerType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/cohesion",
3
- "version": "4.364.0--canary.709.14894.0",
3
+ "version": "4.364.0",
4
4
  "description": "Analytics schema",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -1,320 +0,0 @@
1
- import { OsContextModule } from "../Values/OsContextModule";
2
- import { OsOwnerType } from "../Values/OsOwnerType";
3
- import { OsActionType } from ".";
4
- /**
5
- * Schemas describing Art OS Inventory Table events
6
- * @packageDocumentation
7
- */
8
- /**
9
- * A partner clicks a row to expand or collapse the Artsy CMS sub-row.
10
- * Import rows and Inventory-Only rows (artsyListing === false) are not expandable.
11
- *
12
- * This schema describes events sent to Segment from [[OsClickedArtworkRow]]
13
- *
14
- * @example
15
- * ```
16
- * {
17
- * action: "clickedArtworkRow",
18
- * context_module: "artworkTable",
19
- * context_page_owner_type: "inventory",
20
- * artwork_id: "abc123"
21
- * }
22
- * ```
23
- */
24
- export interface OsClickedArtworkRow {
25
- action: OsActionType.clickedArtworkRow;
26
- context_module: OsContextModule.artworkTable;
27
- context_page_owner_type: OsOwnerType;
28
- artwork_id: string;
29
- }
30
- /**
31
- * A partner clicks an edition set row to expand or collapse its details sub-row.
32
- *
33
- * This schema describes events sent to Segment from [[OsClickedEditionSetRow]]
34
- *
35
- * @example
36
- * ```
37
- * {
38
- * action: "clickedEditionSetRow",
39
- * context_module: "artworkTable",
40
- * context_page_owner_type: "inventory",
41
- * artwork_id: "abc123",
42
- * edition_set_id: "xyz789"
43
- * }
44
- * ```
45
- */
46
- export interface OsClickedEditionSetRow {
47
- action: OsActionType.clickedEditionSetRow;
48
- context_module: OsContextModule.artworkTable;
49
- context_page_owner_type: OsOwnerType;
50
- artwork_id: string;
51
- edition_set_id: string;
52
- }
53
- /**
54
- * A partner edits a field inline in the inventory table.
55
- * Fires on mutation success (not on the toast render).
56
- * All field edits share this single event; use `field` to distinguish them.
57
- *
58
- * This schema describes events sent to Segment from [[OsEditedArtworkField]]
59
- *
60
- * @example
61
- * ```
62
- * {
63
- * action: "editedArtworkField",
64
- * context_module: "artworkTable",
65
- * context_page_owner_type: "inventory",
66
- * artwork_id: "abc123",
67
- * field: "title",
68
- * old_value: "Untitled",
69
- * new_value: "Blue"
70
- * }
71
- * ```
72
- *
73
- * @example Medium with free-text flag
74
- * ```
75
- * {
76
- * action: "editedArtworkField",
77
- * context_module: "artworkTable",
78
- * context_page_owner_type: "inventory",
79
- * artwork_id: "abc123",
80
- * field: "medium",
81
- * old_value: "Oil on canvas",
82
- * new_value: "Watercolor",
83
- * is_free_text: true
84
- * }
85
- * ```
86
- *
87
- * @example Artist autocomplete match
88
- * ```
89
- * {
90
- * action: "editedArtworkField",
91
- * context_module: "artworkTable",
92
- * context_page_owner_type: "inventory",
93
- * artwork_id: "abc123",
94
- * field: "artist",
95
- * value: "matched",
96
- * matched_id: "artist-internal-id"
97
- * }
98
- * ```
99
- */
100
- export interface OsEditedArtworkField {
101
- action: OsActionType.editedArtworkField;
102
- context_module: OsContextModule.artworkTable;
103
- context_page_owner_type: OsOwnerType;
104
- artwork_id: string;
105
- /** Present only for edition-set variant rows in the Artsy CMS sub-row */
106
- edition_set_id?: string;
107
- field: "artist" | "availability" | "certificateOfAuthenticity" | "dimensions" | "location" | "medium" | "price" | "priceCurrency" | "privateNotes" | "title" | "year";
108
- /** Omit for privateNotes (free text — don't log contents) */
109
- old_value?: string;
110
- /** Omit for privateNotes (free text — don't log contents) */
111
- new_value?: string;
112
- /** Medium only: true = free text entered, false = predefined mediumType selected */
113
- is_free_text?: boolean;
114
- /** Artist and location only: the action taken on the autocomplete */
115
- value?: "add" | "matched" | "removed";
116
- /** Artist and location only: the resolved Artsy entity ID */
117
- matched_id?: string;
118
- }
119
- /**
120
- * A partner successfully adds a new location via the Add Location modal (2-step flow).
121
- * Fires on useCreatePartnerLocation mutation success.
122
- *
123
- * This schema describes events sent to Segment from [[OsAddedLocation]]
124
- *
125
- * @example
126
- * ```
127
- * {
128
- * action: "addedLocation",
129
- * context_module: "addLocationModal",
130
- * context_page_owner_type: "inventory",
131
- * artwork_id: "abc123",
132
- * location_id: "loc456"
133
- * }
134
- * ```
135
- */
136
- export interface OsAddedLocation {
137
- action: OsActionType.addedLocation;
138
- context_module: OsContextModule.addLocationModal;
139
- context_page_owner_type: OsOwnerType;
140
- artwork_id: string;
141
- location_id: string;
142
- }
143
- /**
144
- * A partner successfully adds a new artist via the Add Artist modal.
145
- * Fires on mutation success.
146
- *
147
- * This schema describes events sent to Segment from [[OsAddedArtist]]
148
- *
149
- * @example
150
- * ```
151
- * {
152
- * action: "addedArtist",
153
- * context_module: "addArtistModal",
154
- * context_page_owner_type: "inventory",
155
- * artwork_id: "abc123",
156
- * artist_id: "artist789"
157
- * }
158
- * ```
159
- */
160
- export interface OsAddedArtist {
161
- action: OsActionType.addedArtist;
162
- context_module: OsContextModule.addArtistModal;
163
- context_page_owner_type: OsOwnerType;
164
- artwork_id: string;
165
- artist_id: string;
166
- }
167
- /**
168
- * A partner clicks the image cell to open the Images modal.
169
- *
170
- * This schema describes events sent to Segment from [[OsClickedImagesModal]]
171
- *
172
- * @example
173
- * ```
174
- * {
175
- * action: "clickedImagesModal",
176
- * context_module: "imagesModal",
177
- * context_page_owner_type: "inventory",
178
- * artwork_id: "abc123"
179
- * }
180
- * ```
181
- */
182
- export interface OsClickedImagesModal {
183
- action: OsActionType.clickedImagesModal;
184
- context_module: OsContextModule.imagesModal;
185
- context_page_owner_type: OsOwnerType;
186
- artwork_id: string;
187
- }
188
- /**
189
- * A partner saves changes in the Images modal (reorders, removals, and/or new uploads).
190
- * Fires on save/confirm mutation success ("Images saved successfully").
191
- *
192
- * This schema describes events sent to Segment from [[OsSavedArtworkImages]]
193
- *
194
- * @example
195
- * ```
196
- * {
197
- * action: "savedArtworkImages",
198
- * context_module: "imagesModal",
199
- * context_page_owner_type: "inventory",
200
- * artwork_id: "abc123",
201
- * added_count: 2,
202
- * removed_count: 1,
203
- * reordered: true
204
- * }
205
- * ```
206
- */
207
- export interface OsSavedArtworkImages {
208
- action: OsActionType.savedArtworkImages;
209
- context_module: OsContextModule.imagesModal;
210
- context_page_owner_type: OsOwnerType;
211
- artwork_id: string;
212
- added_count: number;
213
- removed_count: number;
214
- reordered: boolean;
215
- }
216
- /**
217
- * A partner uploads a document via the Documents modal.
218
- * Fires on useCreateCatalogArtworkDocument mutation success ("Document uploaded").
219
- *
220
- * This schema describes events sent to Segment from [[OsAddedArtworkDocument]]
221
- *
222
- * @example
223
- * ```
224
- * {
225
- * action: "addedArtworkDocument",
226
- * context_module: "documentsModal",
227
- * context_page_owner_type: "inventory",
228
- * artwork_id: "abc123",
229
- * document_count: 3
230
- * }
231
- * ```
232
- */
233
- export interface OsAddedArtworkDocument {
234
- action: OsActionType.addedArtworkDocument;
235
- context_module: OsContextModule.documentsModal;
236
- context_page_owner_type: OsOwnerType;
237
- artwork_id: string;
238
- /** Document count after the upload */
239
- document_count: number;
240
- /** File metadata if accessible: type (e.g. "pdf") and size (e.g. "1MB") */
241
- value?: {
242
- type: string;
243
- size: string;
244
- };
245
- }
246
- /**
247
- * A partner deletes a document via the Documents modal (after confirmation).
248
- * Fires on useDeleteCatalogArtworkDocument mutation success ("Document deleted").
249
- *
250
- * This schema describes events sent to Segment from [[OsRemovedArtworkDocument]]
251
- *
252
- * @example
253
- * ```
254
- * {
255
- * action: "removedArtworkDocument",
256
- * context_module: "documentsModal",
257
- * context_page_owner_type: "inventory",
258
- * artwork_id: "abc123",
259
- * document_count: 2
260
- * }
261
- * ```
262
- */
263
- export interface OsRemovedArtworkDocument {
264
- action: OsActionType.removedArtworkDocument;
265
- context_module: OsContextModule.documentsModal;
266
- context_page_owner_type: OsOwnerType;
267
- artwork_id: string;
268
- /** Document count after the deletion */
269
- document_count: number;
270
- }
271
- /**
272
- * A partner selects an item from any inventory actions dropdown.
273
- * Covers the three top-bar dropdowns ("Add to", "Open in Studio", "More") and the
274
- * per-row / right-click menus. `label` identifies which specific button or trigger
275
- * the partner used; `value` is the action item they selected within it.
276
- *
277
- * This schema describes events sent to Segment from [[OsClickedActionsDropdown]]
278
- *
279
- * @example Top-bar "Add to" dropdown
280
- * ```
281
- * {
282
- * action: "clickedActionsDropdown",
283
- * context_module: "actionsDropdown",
284
- * context_page_owner_type: "inventory",
285
- * value: "Add to Artsy",
286
- * label: "add to dropdown",
287
- * artwork_ids: ["abc123", "def456"]
288
- * }
289
- * ```
290
- *
291
- * @example Right-click context menu
292
- * ```
293
- * {
294
- * action: "clickedActionsDropdown",
295
- * context_module: "actionsDropdown",
296
- * context_page_owner_type: "inventory",
297
- * value: "Convert to Edition Set",
298
- * label: "context menu",
299
- * artwork_ids: ["abc123"]
300
- * }
301
- * ```
302
- */
303
- export interface OsClickedActionsDropdown {
304
- action: OsActionType.clickedActionsDropdown;
305
- context_module: OsContextModule.actionsDropdown;
306
- context_page_owner_type: OsOwnerType;
307
- /**
308
- * The specific action item selected within the dropdown.
309
- * Top-bar "Add to": "Add to Artsy" | "Add to Collection"
310
- * Top-bar "Open in Studio": "Tearsheet" | "Checklist" | "Instagram Post" | "Mailchimp Campaign"
311
- * Top-bar "More": "Delete"
312
- * Row/context menu only: "Remove from Artsy" | "Change Collection" | "Remove from Collection" |
313
- * "Convert to Edition Set" | "Edit Edition Set" | "Convert to Unique"
314
- */
315
- value: "Add to Artsy" | "Add to Collection" | "Change Collection" | "Checklist" | "Convert to Edition Set" | "Convert to Unique" | "Delete" | "Edit Edition Set" | "Instagram Post" | "Mailchimp Campaign" | "Remove from Artsy" | "Remove from Collection" | "Tearsheet";
316
- /** Which button or trigger the partner used to open this dropdown */
317
- label: "add to dropdown" | "context menu" | "more dropdown" | "row action" | "studio dropdown";
318
- artwork_ids: string[];
319
- }
320
- export type OsInventoryTable = OsAddedArtist | OsAddedArtworkDocument | OsAddedLocation | OsClickedActionsDropdown | OsClickedArtworkRow | OsClickedEditionSetRow | OsClickedImagesModal | OsEditedArtworkField | OsRemovedArtworkDocument | OsSavedArtworkImages;