@mercurjs/vendor 2.2.0-canary.39 → 2.2.0-canary.41

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 (125) hide show
  1. package/dist/{[id]-XLUKGPLL.js → [id]-5OOWGWHL.js} +52 -17
  2. package/dist/{[id]-J5UPTFQM.js → [id]-5RQ7NFL7.js} +102 -27
  3. package/dist/{[id]-5P5LTATX.js → [id]-ARHFE7ID.js} +28 -10
  4. package/dist/{[id]-DVFWG6XZ.js → [id]-BGOV2BKI.js} +124 -30
  5. package/dist/{[id]-TGP6MMMJ.js → [id]-KUVSIFMW.js} +6 -6
  6. package/dist/{[id]-3PB4ZW3D.js → [id]-LFYUX6ON.js} +41 -19
  7. package/dist/{[id]-KSROQUIC.js → [id]-M6DVHCGK.js} +32 -15
  8. package/dist/{[id]-OG4D44M4.js → [id]-MFEOWOHY.js} +246 -156
  9. package/dist/{[id]-Q5C2MVHS.js → [id]-TF35KIFE.js} +123 -41
  10. package/dist/{[id]-O22LRQBI.js → [id]-WG6ZEK3I.js} +62 -25
  11. package/dist/{[id]-ESWNTTKU.js → [id]-YDR5VTPB.js} +6 -6
  12. package/dist/{[id]-ISKSMHND.js → [id]-ZV36X6E6.js} +52 -17
  13. package/dist/{add-C3MXH64T.js → add-PUXNN6CE.js} +15 -12
  14. package/dist/{add-JWIJVAMY.js → add-TCNRAUZF.js} +2 -2
  15. package/dist/{add-customer-groups-IPYD62GM.js → add-customer-groups-FB5T6PQN.js} +1 -1
  16. package/dist/{add-products-PEG6AWCO.js → add-products-DGJ6LFWC.js} +6 -6
  17. package/dist/{add-promotions-EGJYH3N6.js → add-promotions-TJDK7HLW.js} +4 -4
  18. package/dist/{areas-KGUPDMWG.js → areas-IYGBRCRH.js} +2 -2
  19. package/dist/{campaigns-BQBUZDPP.js → campaigns-OVHA6HH2.js} +2 -2
  20. package/dist/{categories-WKSXPHX6.js → categories-XVD4SWIS.js} +2 -2
  21. package/dist/{chunk-442JMKOJ.js → chunk-2K3RNFEC.js} +2 -2
  22. package/dist/{chunk-LRGMWXWW.js → chunk-3EF326ZJ.js} +16 -5
  23. package/dist/{chunk-6YE7WQLK.js → chunk-3F4MUPGR.js} +1 -1
  24. package/dist/{chunk-UFJQ7D4A.js → chunk-3N3K55NN.js} +34 -13
  25. package/dist/{chunk-XJSF7HIV.js → chunk-4TGDYJMA.js} +19 -8
  26. package/dist/{chunk-3ALBZK4M.js → chunk-4YM7N6OQ.js} +4 -1
  27. package/dist/{chunk-WADTVVSQ.js → chunk-5CHFC47S.js} +42 -11
  28. package/dist/{chunk-BAVE4NRL.js → chunk-7HLAOLG7.js} +1 -1
  29. package/dist/{chunk-X3ZH4SMS.js → chunk-BUQXFADV.js} +27 -6
  30. package/dist/{chunk-EGEC3BY2.js → chunk-CSZ6RV7N.js} +13 -6
  31. package/dist/{chunk-JAKAZ3ZY.js → chunk-D76WZZSB.js} +1 -1
  32. package/dist/{chunk-2UPEWY5I.js → chunk-E5BSLZR5.js} +10 -4
  33. package/dist/{chunk-FRYZRBLA.js → chunk-INYLPVCG.js} +2 -2
  34. package/dist/{chunk-MI7PXP7H.js → chunk-JY2XON7H.js} +1 -1
  35. package/dist/{chunk-2QEFRSKJ.js → chunk-KZQFIPY2.js} +37 -3
  36. package/dist/{chunk-CAE5333U.js → chunk-MAW6ZT3D.js} +1 -1
  37. package/dist/{chunk-H6LZ77GX.js → chunk-QGZH3D2P.js} +4 -1
  38. package/dist/{chunk-ZG6T4LG6.js → chunk-T7OX3EOG.js} +58 -29
  39. package/dist/{chunk-MUGQQY6P.js → chunk-TB3B7NEX.js} +48 -10
  40. package/dist/{chunk-EIEPLZ7H.js → chunk-TJKZ5QCJ.js} +1 -1
  41. package/dist/{chunk-BNR46M4J.js → chunk-TPGIMZLI.js} +1 -1
  42. package/dist/{chunk-KSVCLDMO.js → chunk-TRUC5GIG.js} +15 -4
  43. package/dist/{chunk-MGV65SKV.js → chunk-UEJJFJVX.js} +15 -5
  44. package/dist/{chunk-YMICE6QS.js → chunk-UWZVAW6K.js} +5 -3
  45. package/dist/{chunk-Q4W6OMSR.js → chunk-VD27SL7H.js} +1 -1
  46. package/dist/{chunk-NMPZRRHM.js → chunk-VMHLOWKL.js} +16 -6
  47. package/dist/{chunk-YZBEJ3CY.js → chunk-VYSB4CTB.js} +1500 -1370
  48. package/dist/{chunk-XRLRKSND.js → chunk-W3UHAQCV.js} +3 -2
  49. package/dist/{chunk-Q57UH7FE.js → chunk-WQQMCV7M.js} +1 -1
  50. package/dist/{chunk-IGVP55PK.js → chunk-WTYASKLY.js} +4 -4
  51. package/dist/{chunk-EAK75O26.js → chunk-Y4PM3IDZ.js} +1 -1
  52. package/dist/{chunk-2434FG47.js → chunk-YD43PVVT.js} +15 -4
  53. package/dist/{chunk-5KCDUBPF.js → chunk-ZOJP2DHA.js} +1 -1
  54. package/dist/{chunk-Y3WDFB7J.js → chunk-ZZUJHLFM.js} +1 -1
  55. package/dist/{collections-3N6NHNO3.js → collections-PRMRAQSQ.js} +5 -5
  56. package/dist/{create-2YMKREP2.js → create-2RGNAVVY.js} +1 -1
  57. package/dist/{create-RA6NUBNO.js → create-5S3GWAUX.js} +2 -2
  58. package/dist/{create-Q7PD6MKG.js → create-EAIGKLSC.js} +1 -1
  59. package/dist/{create-52MHLRAU.js → create-HEZYB7RF.js} +1 -1
  60. package/dist/{create-6JFEKPWB.js → create-KM5HXMYT.js} +7 -7
  61. package/dist/{create-XIZQBWH5.js → create-N534JQPH.js} +2 -2
  62. package/dist/{create-3NGK5I6L.js → create-NEK6JCKR.js} +1 -1
  63. package/dist/{create-FPIFC5TE.js → create-QU45XB4S.js} +12 -8
  64. package/dist/{create-QO72DNYF.js → create-QZDRRIB6.js} +5 -5
  65. package/dist/{create-OQX3EUET.js → create-RPBHXU32.js} +1 -1
  66. package/dist/{create-QMEQGDUS.js → create-VL7LDTVE.js} +1 -1
  67. package/dist/{customer-group-add-customers-3C2XPMSD.js → customer-group-add-customers-2C53NFBJ.js} +1 -1
  68. package/dist/{customer-group-detail-LUVO4MX6.js → customer-group-detail-3UR5AUY3.js} +2 -2
  69. package/dist/{customer-group-edit-N77RCW6I.js → customer-group-edit-WMGWG2OH.js} +40 -25
  70. package/dist/{customer-groups-FO6XVXFI.js → customer-groups-2T2HEYQ6.js} +25 -8
  71. package/dist/{customers-OQP7WC2G.js → customers-NVTX4FK2.js} +2 -2
  72. package/dist/{edit-ZNFDORB5.js → edit-4PMUQMTL.js} +2 -2
  73. package/dist/{edit-2BJHCU5E.js → edit-4PWAJ7A3.js} +1 -1
  74. package/dist/{edit-OZFW3BBS.js → edit-GE2UOMBI.js} +7 -7
  75. package/dist/{edit-UNN3QTEJ.js → edit-HK6HAYZW.js} +18 -5
  76. package/dist/{edit-T4IFCD3F.js → edit-IRH2IGXB.js} +3 -3
  77. package/dist/{edit-IJ6DCBUU.js → edit-JDYB3U7H.js} +21 -7
  78. package/dist/{edit-7SBPHN6P.js → edit-KEUVWNLU.js} +18 -5
  79. package/dist/{edit-WO4A636W.js → edit-NHQJLCAK.js} +1 -1
  80. package/dist/{edit-YCM5FRGL.js → edit-NR3WDBFF.js} +29 -13
  81. package/dist/{edit-XBOZLGI2.js → edit-TD7QFM4Z.js} +1 -1
  82. package/dist/{edit-TBT3QGGW.js → edit-WEUFBORT.js} +4 -5
  83. package/dist/{edit-ZJKNYVCO.js → edit-ZGAOUZYP.js} +4 -5
  84. package/dist/{edit-inventory-item-QMYWEBZ3.js → edit-inventory-item-UKBKVTYI.js} +18 -5
  85. package/dist/extension-targets.d.ts +206 -0
  86. package/dist/extension-targets.js +1 -0
  87. package/dist/{fulfillment-providers-XWFKXOUX.js → fulfillment-providers-SJRXA3EC.js} +3 -3
  88. package/dist/index.d.ts +2 -0
  89. package/dist/index.js +155 -128
  90. package/dist/{inventory-ZGGENULY.js → inventory-MFA4C6TO.js} +2 -2
  91. package/dist/{invite-AXTW6P6L.js → invite-WTFQ6UV2.js} +3 -3
  92. package/dist/{login-YUWOWICV.js → login-2CQ6RYIE.js} +1 -1
  93. package/dist/{media-JVYMNE2Z.js → media-QIWRWMSV.js} +4 -4
  94. package/dist/{media-3ZLEAL6U.js → media-XFZNEQCY.js} +1 -1
  95. package/dist/{metadata-K6WS5S5Z.js → metadata-5Q6FLVX4.js} +1 -1
  96. package/dist/{metadata-NRYGXCD3.js → metadata-6OYHLPLA.js} +1 -1
  97. package/dist/{metadata-GTSYILV2.js → metadata-ADXGD4Y6.js} +1 -1
  98. package/dist/{metadata-O7TWMZNX.js → metadata-J447GEBP.js} +1 -1
  99. package/dist/{metadata-4LYZ5AJ2.js → metadata-VTQ2CGZX.js} +1 -1
  100. package/dist/{offer-create-page-PHG2PDUQ.js → offer-create-page-JP5Z2CAG.js} +18 -10
  101. package/dist/{offer-detail-page-RN4WECNF.js → offer-detail-page-FF7SJX7E.js} +70 -16
  102. package/dist/{offer-variant-detail-page-YQXETIWY.js → offer-variant-detail-page-KURNVWYU.js} +13 -5
  103. package/dist/{offers-4A6TNOBW.js → offers-XDLT2AEJ.js} +5 -5
  104. package/dist/{onboarding-TUGXFOA6.js → onboarding-BXFZZHIW.js} +31 -16
  105. package/dist/{orders-2RXDIAWC.js → orders-ML36IAEE.js} +4 -4
  106. package/dist/{organization-TBNIRH7N.js → organization-2BZGUGLM.js} +1 -1
  107. package/dist/pages/index.d.ts +81 -66
  108. package/dist/pages/index.js +31 -29
  109. package/dist/{payouts-TRFBXEDP.js → payouts-WFLYAMEU.js} +2 -2
  110. package/dist/{price-lists-2TEBUG7S.js → price-lists-PG33QKVZ.js} +2 -2
  111. package/dist/{product-tags-CSM2HUMF.js → product-tags-WBERDKIH.js} +7 -7
  112. package/dist/{product-types-CQ7OCF42.js → product-types-4PTJW5DE.js} +2 -2
  113. package/dist/{product-variant-edit-3CVSKGZ6.js → product-variant-edit-TUIVXPXO.js} +2 -2
  114. package/dist/{products-OE6AYPFI.js → products-CZMAHOE3.js} +6 -6
  115. package/dist/{products-I7XBRIVQ.js → products-ZFB35IHK.js} +15 -13
  116. package/dist/{promotions-CYAMHAJQ.js → promotions-APUOIWRR.js} +5 -5
  117. package/dist/{register-376SEOMZ.js → register-MQDAUF64.js} +2 -2
  118. package/dist/{reset-password-46WJA4HT.js → reset-password-SKUJJLSV.js} +1 -1
  119. package/dist/{return-reasons-2F2U6NEY.js → return-reasons-ZX7KIFTS.js} +5 -5
  120. package/dist/{settings-U7CM7PNQ.js → settings-AYPJWXFO.js} +9 -9
  121. package/dist/{shipping-profiles-HZFZ4HEU.js → shipping-profiles-4TJ4IH6U.js} +2 -2
  122. package/dist/{store-FQD3OYBF.js → store-FK643K5M.js} +52 -25
  123. package/dist/{store-select-S55SW3BP.js → store-select-IWYWXESC.js} +20 -2
  124. package/dist/{team-GHRVM6RK.js → team-DZHLNPCO.js} +3 -3
  125. package/package.json +23 -18
@@ -15,7 +15,7 @@ import "./chunk-FQERBIVS.js";
15
15
  import {
16
16
  _DataTable,
17
17
  useDataTable
18
- } from "./chunk-XRLRKSND.js";
18
+ } from "./chunk-W3UHAQCV.js";
19
19
  import "./chunk-YN3FGNJM.js";
20
20
  import "./chunk-KCHYLLVG.js";
21
21
  import "./chunk-634XVU3D.js";
@@ -71,9 +71,11 @@ var loader = async ({ params }) => {
71
71
  // src/pages/inventory/[id]/inventory-detail-page.tsx
72
72
  import { Children } from "react";
73
73
  import { useLoaderData, useParams } from "react-router-dom";
74
+ import { WidgetZone } from "@mercurjs/dashboard-shared";
74
75
 
75
76
  // src/pages/inventory/[id]/_components/inventory-item-attributes/attributes-section.tsx
76
77
  import { Container, Heading } from "@medusajs/ui";
78
+ import { DisplayExtensionZone } from "@mercurjs/dashboard-shared";
77
79
  import { PencilSquare } from "@medusajs/icons";
78
80
  import { useTranslation } from "react-i18next";
79
81
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -113,6 +115,14 @@ var InventoryItemAttributeSection = ({
113
115
  title: t("fields.countryOfOrigin"),
114
116
  value: getFormattedCountry(inventoryItem.origin_country)
115
117
  }
118
+ ),
119
+ /* @__PURE__ */ jsx(
120
+ DisplayExtensionZone,
121
+ {
122
+ model: "inventory_item",
123
+ zone: "attributes",
124
+ data: inventoryItem
125
+ }
116
126
  )
117
127
  ] });
118
128
  };
@@ -121,7 +131,9 @@ var InventoryItemAttributeSection = ({
121
131
  import { Container as Container2, Heading as Heading2 } from "@medusajs/ui";
122
132
  import { PencilSquare as PencilSquare2 } from "@medusajs/icons";
123
133
  import { useTranslation as useTranslation2 } from "react-i18next";
134
+ import { DisplayExtensionZone as DisplayExtensionZone2, DisplayField } from "@mercurjs/dashboard-shared";
124
135
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
136
+ var GENERAL_FIELD_IDS = ["title", "sku", "in_stock", "reserved", "available"];
125
137
  var InventoryItemGeneralSection = ({
126
138
  inventoryItem
127
139
  }) => {
@@ -137,11 +149,20 @@ var InventoryItemGeneralSection = ({
137
149
  const availableQuantity = stockedQuantity - reservedQuantity;
138
150
  return /* @__PURE__ */ jsxs2(Container2, { className: "divide-y p-0", children: [
139
151
  /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between px-6 py-4", children: [
140
- /* @__PURE__ */ jsxs2(Heading2, { children: [
141
- inventoryItem.title ?? inventoryItem.sku,
142
- " ",
143
- t("fields.details")
144
- ] }),
152
+ /* @__PURE__ */ jsx2(
153
+ DisplayField,
154
+ {
155
+ model: "inventory_item",
156
+ zone: "general",
157
+ id: "title",
158
+ data: inventoryItem,
159
+ children: /* @__PURE__ */ jsxs2(Heading2, { children: [
160
+ inventoryItem.title ?? inventoryItem.sku,
161
+ " ",
162
+ t("fields.details")
163
+ ] })
164
+ }
165
+ ),
145
166
  /* @__PURE__ */ jsx2(
146
167
  ActionMenu,
147
168
  {
@@ -159,36 +180,81 @@ var InventoryItemGeneralSection = ({
159
180
  }
160
181
  )
161
182
  ] }),
162
- /* @__PURE__ */ jsx2(SectionRow, { title: t("fields.sku"), value: inventoryItem.sku ?? "-" }),
163
183
  /* @__PURE__ */ jsx2(
164
- SectionRow,
184
+ DisplayField,
165
185
  {
166
- title: t("fields.inStock"),
167
- value: getQuantityFormat(
168
- stockedQuantity,
169
- inventoryItem.location_levels?.length
186
+ model: "inventory_item",
187
+ zone: "general",
188
+ id: "sku",
189
+ data: inventoryItem,
190
+ children: /* @__PURE__ */ jsx2(SectionRow, { title: t("fields.sku"), value: inventoryItem.sku ?? "-" })
191
+ }
192
+ ),
193
+ /* @__PURE__ */ jsx2(
194
+ DisplayField,
195
+ {
196
+ model: "inventory_item",
197
+ zone: "general",
198
+ id: "in_stock",
199
+ data: inventoryItem,
200
+ children: /* @__PURE__ */ jsx2(
201
+ SectionRow,
202
+ {
203
+ title: t("fields.inStock"),
204
+ value: getQuantityFormat(
205
+ stockedQuantity,
206
+ inventoryItem.location_levels?.length
207
+ )
208
+ }
170
209
  )
171
210
  }
172
211
  ),
173
212
  /* @__PURE__ */ jsx2(
174
- SectionRow,
213
+ DisplayField,
175
214
  {
176
- title: t("inventory.reserved"),
177
- value: getQuantityFormat(
178
- reservedQuantity,
179
- inventoryItem.location_levels?.length
215
+ model: "inventory_item",
216
+ zone: "general",
217
+ id: "reserved",
218
+ data: inventoryItem,
219
+ children: /* @__PURE__ */ jsx2(
220
+ SectionRow,
221
+ {
222
+ title: t("inventory.reserved"),
223
+ value: getQuantityFormat(
224
+ reservedQuantity,
225
+ inventoryItem.location_levels?.length
226
+ )
227
+ }
180
228
  )
181
229
  }
182
230
  ),
183
231
  /* @__PURE__ */ jsx2(
184
- SectionRow,
232
+ DisplayField,
185
233
  {
186
- title: t("inventory.available"),
187
- value: getQuantityFormat(
188
- availableQuantity,
189
- inventoryItem.location_levels?.length
234
+ model: "inventory_item",
235
+ zone: "general",
236
+ id: "available",
237
+ data: inventoryItem,
238
+ children: /* @__PURE__ */ jsx2(
239
+ SectionRow,
240
+ {
241
+ title: t("inventory.available"),
242
+ value: getQuantityFormat(
243
+ availableQuantity,
244
+ inventoryItem.location_levels?.length
245
+ )
246
+ }
190
247
  )
191
248
  }
249
+ ),
250
+ /* @__PURE__ */ jsx2(
251
+ DisplayExtensionZone2,
252
+ {
253
+ model: "inventory_item",
254
+ zone: "general",
255
+ data: inventoryItem,
256
+ builtInFieldIds: GENERAL_FIELD_IDS
257
+ }
192
258
  )
193
259
  ] });
194
260
  };
@@ -203,6 +269,7 @@ var getQuantityFormat = (quantity, locations) => {
203
269
  import { Button, Container as Container3, Heading as Heading3 } from "@medusajs/ui";
204
270
  import { useTranslation as useTranslation5 } from "react-i18next";
205
271
  import { Link } from "react-router-dom";
272
+ import { DisplayExtensionZone as DisplayExtensionZone3 } from "@mercurjs/dashboard-shared";
206
273
 
207
274
  // src/pages/inventory/[id]/_components/location-levels-table/use-location-list-table-columns.tsx
208
275
  import { createColumnHelper } from "@tanstack/react-table";
@@ -404,7 +471,15 @@ var InventoryItemLocationLevelsSection = ({
404
471
  /* @__PURE__ */ jsx6(Heading3, { children: t("inventory.locationLevels") }),
405
472
  /* @__PURE__ */ jsx6(Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx6(Link, { to: "locations", children: t("inventory.manageLocations") }) })
406
473
  ] }),
407
- /* @__PURE__ */ jsx6(ItemLocationListTable, { inventory_item_id: inventoryItem.id })
474
+ /* @__PURE__ */ jsx6(ItemLocationListTable, { inventory_item_id: inventoryItem.id }),
475
+ /* @__PURE__ */ jsx6(
476
+ DisplayExtensionZone3,
477
+ {
478
+ model: "inventory_item",
479
+ zone: "locations",
480
+ data: inventoryItem
481
+ }
482
+ )
408
483
  ] });
409
484
  };
410
485
 
@@ -413,6 +488,7 @@ import { TriangleRightMini } from "@medusajs/icons";
413
488
  import { Container as Container4, Heading as Heading4 } from "@medusajs/ui";
414
489
  import { useTranslation as useTranslation6 } from "react-i18next";
415
490
  import { Link as Link2 } from "react-router-dom";
491
+ import { DisplayExtensionZone as DisplayExtensionZone4 } from "@mercurjs/dashboard-shared";
416
492
  import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
417
493
  var InventoryItemVariantsSection = ({
418
494
  variants
@@ -445,7 +521,15 @@ var InventoryItemVariantsSection = ({
445
521
  },
446
522
  variant.id
447
523
  );
448
- }) })
524
+ }) }),
525
+ /* @__PURE__ */ jsx7(
526
+ DisplayExtensionZone4,
527
+ {
528
+ model: "inventory_item",
529
+ zone: "variants",
530
+ data: variants
531
+ }
532
+ )
449
533
  ] });
450
534
  };
451
535
 
@@ -471,19 +555,29 @@ var Root = ({ children }) => {
471
555
  );
472
556
  }
473
557
  return /* @__PURE__ */ jsx8(Fragment, { children: Children.count(children) > 0 ? children : /* @__PURE__ */ jsxs5(TwoColumnPage, { data: inventory_item, children: [
474
- /* @__PURE__ */ jsxs5(TwoColumnPage.Main, { children: [
558
+ /* @__PURE__ */ jsx8(TwoColumnPage.Main, { children: /* @__PURE__ */ jsxs5(WidgetZone, { id: "inventory.detail.main", data: inventory_item, children: [
475
559
  /* @__PURE__ */ jsx8(InventoryItemGeneralSection, { inventoryItem: inventory_item }),
476
- /* @__PURE__ */ jsx8(InventoryItemLocationLevelsSection, { inventoryItem: inventory_item })
477
- ] }),
478
- /* @__PURE__ */ jsxs5(TwoColumnPage.Sidebar, { children: [
560
+ /* @__PURE__ */ jsx8(
561
+ InventoryItemLocationLevelsSection,
562
+ {
563
+ inventoryItem: inventory_item
564
+ }
565
+ )
566
+ ] }) }),
567
+ /* @__PURE__ */ jsx8(TwoColumnPage.Sidebar, { children: /* @__PURE__ */ jsxs5(WidgetZone, { id: "inventory.detail.side", data: inventory_item, children: [
479
568
  /* @__PURE__ */ jsx8(
480
569
  InventoryItemVariantsSection,
481
570
  {
482
571
  variants: inventory_item.variants
483
572
  }
484
573
  ),
485
- /* @__PURE__ */ jsx8(InventoryItemAttributeSection, { inventoryItem: inventory_item })
486
- ] })
574
+ /* @__PURE__ */ jsx8(
575
+ InventoryItemAttributeSection,
576
+ {
577
+ inventoryItem: inventory_item
578
+ }
579
+ )
580
+ ] }) })
487
581
  ] }) });
488
582
  };
489
583
  var InventoryDetailPage = Object.assign(Root, {
@@ -37,15 +37,15 @@ import "./chunk-3BXCPHN6.js";
37
37
  import "./chunk-JRTZWK77.js";
38
38
  import {
39
39
  useProductTableColumns
40
- } from "./chunk-Q57UH7FE.js";
41
- import "./chunk-BAVE4NRL.js";
40
+ } from "./chunk-WQQMCV7M.js";
41
+ import "./chunk-7HLAOLG7.js";
42
42
  import {
43
43
  useProductTableQuery
44
- } from "./chunk-H6LZ77GX.js";
44
+ } from "./chunk-QGZH3D2P.js";
45
45
  import "./chunk-FWPGOIFA.js";
46
46
  import {
47
47
  useProductTableFilters
48
- } from "./chunk-Y3WDFB7J.js";
48
+ } from "./chunk-ZZUJHLFM.js";
49
49
  import "./chunk-DB6ANJBO.js";
50
50
  import "./chunk-PHOCVOZ5.js";
51
51
  import "./chunk-IQPN4PZJ.js";
@@ -53,7 +53,7 @@ import "./chunk-FQERBIVS.js";
53
53
  import {
54
54
  _DataTable,
55
55
  useDataTable
56
- } from "./chunk-XRLRKSND.js";
56
+ } from "./chunk-W3UHAQCV.js";
57
57
  import "./chunk-YN3FGNJM.js";
58
58
  import "./chunk-KCHYLLVG.js";
59
59
  import "./chunk-634XVU3D.js";
@@ -62,7 +62,7 @@ import {
62
62
  } from "./chunk-YV6MK4PZ.js";
63
63
  import "./chunk-THHRRYRS.js";
64
64
  import "./chunk-LRD242C7.js";
65
- import "./chunk-YZBEJ3CY.js";
65
+ import "./chunk-VYSB4CTB.js";
66
66
  import "./chunk-WIYFXWRI.js";
67
67
  import {
68
68
  SingleColumnPageSkeleton
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ProductGeneralSection,
3
3
  ProductMediaSection
4
- } from "./chunk-MUGQQY6P.js";
4
+ } from "./chunk-TB3B7NEX.js";
5
5
  import {
6
6
  SectionRow
7
7
  } from "./chunk-4TLP3TAA.js";
@@ -13,7 +13,7 @@ import "./chunk-FQERBIVS.js";
13
13
  import {
14
14
  _DataTable,
15
15
  useDataTable
16
- } from "./chunk-XRLRKSND.js";
16
+ } from "./chunk-W3UHAQCV.js";
17
17
  import "./chunk-YN3FGNJM.js";
18
18
  import "./chunk-KCHYLLVG.js";
19
19
  import "./chunk-634XVU3D.js";
@@ -26,7 +26,7 @@ import {
26
26
  import "./chunk-LRD242C7.js";
27
27
  import {
28
28
  require_dist
29
- } from "./chunk-YZBEJ3CY.js";
29
+ } from "./chunk-VYSB4CTB.js";
30
30
  import {
31
31
  Thumbnail
32
32
  } from "./chunk-WIYFXWRI.js";
@@ -89,13 +89,23 @@ import {
89
89
  } from "./chunk-NBMM2TZK.js";
90
90
 
91
91
  // src/pages/products/[id]/loader.tsx
92
- var productDetailQuery = (id) => ({
93
- queryKey: productsQueryKeys.detail(id, PRODUCT_DETAIL_QUERY),
94
- queryFn: async () => sdk.vendor.products.$id.query({
95
- $id: id,
96
- ...PRODUCT_DETAIL_QUERY
97
- })
92
+ import { getExtensionRegistry, withLinkFields } from "@mercurjs/dashboard-shared";
93
+ var productDetailQueryWithLinks = () => ({
94
+ fields: withLinkFields(
95
+ PRODUCT_DETAIL_QUERY.fields,
96
+ getExtensionRegistry()?.getLinks("product") ?? []
97
+ )
98
98
  });
99
+ var productDetailQuery = (id) => {
100
+ const query = productDetailQueryWithLinks();
101
+ return {
102
+ queryKey: productsQueryKeys.detail(id, query),
103
+ queryFn: async () => sdk.vendor.products.$id.query({
104
+ $id: id,
105
+ ...query
106
+ })
107
+ };
108
+ };
99
109
  var loader = async ({ params }) => {
100
110
  const id = params.id;
101
111
  const query = productDetailQuery(id);
@@ -109,6 +119,7 @@ var loader = async ({ params }) => {
109
119
  // src/pages/products/[id]/product-detail-page.tsx
110
120
  import { Children } from "react";
111
121
  import { useLoaderData, useParams } from "react-router-dom";
122
+ import { WidgetZone } from "@mercurjs/dashboard-shared";
112
123
 
113
124
  // src/pages/products/[id]/_components/product-active-edit-section/product-active-edit-section.tsx
114
125
  var import_types = __toESM(require_dist(), 1);
@@ -224,6 +235,7 @@ import { PencilSquare } from "@medusajs/icons";
224
235
  import { Badge, Container, Heading, Tooltip } from "@medusajs/ui";
225
236
  import { useTranslation as useTranslation2 } from "react-i18next";
226
237
  import { Link } from "react-router-dom";
238
+ import { DisplayExtensionZone } from "@mercurjs/dashboard-shared";
227
239
  import { jsx as jsx2, jsxs } from "react/jsx-runtime";
228
240
  var ProductOrganizationSection = ({
229
241
  product
@@ -319,7 +331,8 @@ var ProductOrganizationSection = ({
319
331
  ) : void 0,
320
332
  "data-testid": "product-type-row"
321
333
  }
322
- )
334
+ ),
335
+ /* @__PURE__ */ jsx2(DisplayExtensionZone, { model: "product", zone: "organize", data: product })
323
336
  ]
324
337
  }
325
338
  );
@@ -347,6 +360,7 @@ import {
347
360
  Tooltip as Tooltip2,
348
361
  usePrompt as usePrompt2
349
362
  } from "@medusajs/ui";
363
+ import { DisplayExtensionZone as DisplayExtensionZone2 } from "@mercurjs/dashboard-shared";
350
364
  import { keepPreviousData } from "@tanstack/react-query";
351
365
  import { createColumnHelper } from "@tanstack/react-table";
352
366
  import { useTranslation as useTranslation3 } from "react-i18next";
@@ -426,7 +440,8 @@ var ProductVariantSection = ({
426
440
  message: t("products.variants.empty.description")
427
441
  }
428
442
  }
429
- )
443
+ ),
444
+ /* @__PURE__ */ jsx3(DisplayExtensionZone2, { model: "product", zone: "variants", data: product })
430
445
  ] });
431
446
  };
432
447
  var columnHelper = createColumnHelper();
@@ -606,6 +621,7 @@ import {
606
621
  Tooltip as Tooltip3,
607
622
  usePrompt as usePrompt3
608
623
  } from "@medusajs/ui";
624
+ import { DisplayExtensionZone as DisplayExtensionZone3 } from "@mercurjs/dashboard-shared";
609
625
  import { useTranslation as useTranslation4 } from "react-i18next";
610
626
  var import_types2 = __toESM(require_dist(), 1);
611
627
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -794,7 +810,8 @@ var ProductAttributeSection = ({
794
810
  attributes: infoAttributes,
795
811
  productId: product.id
796
812
  }
797
- )
813
+ ),
814
+ /* @__PURE__ */ jsx4(DisplayExtensionZone3, { model: "product", zone: "attributes", data: product })
798
815
  ] });
799
816
  };
800
817
 
@@ -802,6 +819,7 @@ var ProductAttributeSection = ({
802
819
  import { PencilSquare as PencilSquare4, ShoppingBag } from "@medusajs/icons";
803
820
  import { Container as Container4, Heading as Heading4 } from "@medusajs/ui";
804
821
  import { useTranslation as useTranslation5 } from "react-i18next";
822
+ import { DisplayExtensionZone as DisplayExtensionZone4 } from "@mercurjs/dashboard-shared";
805
823
  import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
806
824
  var ProductShippingProfileSection = ({
807
825
  product
@@ -836,7 +854,8 @@ var ProductShippingProfileSection = ({
836
854
  descriptionKey: shippingProfile.type,
837
855
  icon: /* @__PURE__ */ jsx5(ShoppingBag, {})
838
856
  }
839
- )
857
+ ),
858
+ /* @__PURE__ */ jsx5(DisplayExtensionZone4, { model: "product", zone: "shipping-profile", data: product })
840
859
  ] });
841
860
  };
842
861
 
@@ -844,6 +863,7 @@ var ProductShippingProfileSection = ({
844
863
  import { Channels, PencilSquare as PencilSquare5 } from "@medusajs/icons";
845
864
  import { Container as Container5, Heading as Heading5, Text as Text2, Tooltip as Tooltip4 } from "@medusajs/ui";
846
865
  import { Trans, useTranslation as useTranslation6 } from "react-i18next";
866
+ import { DisplayExtensionZone as DisplayExtensionZone5 } from "@mercurjs/dashboard-shared";
847
867
  import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
848
868
  var ProductSalesChannelSection = ({
849
869
  product
@@ -922,7 +942,8 @@ var ProductSalesChannelSection = ({
922
942
  )
923
943
  ]
924
944
  }
925
- ) }) })
945
+ ) }) }),
946
+ /* @__PURE__ */ jsx6(DisplayExtensionZone5, { model: "product", zone: "sales-channels", data: product })
926
947
  ] });
927
948
  };
928
949
 
@@ -945,16 +966,16 @@ var Root = ({ children }) => {
945
966
  throw error;
946
967
  }
947
968
  return Children.count(children) > 0 ? /* @__PURE__ */ jsx7(TwoColumnPage, { data: product, "data-testid": "product-detail-page", children }) : /* @__PURE__ */ jsxs6(TwoColumnPage, { data: product, "data-testid": "product-detail-page", children: [
948
- /* @__PURE__ */ jsxs6(TwoColumnPage.Main, { "data-testid": "product-detail-main", children: [
969
+ /* @__PURE__ */ jsx7(TwoColumnPage.Main, { "data-testid": "product-detail-main", children: /* @__PURE__ */ jsxs6(WidgetZone, { id: "product.detail.main", data: product, children: [
949
970
  /* @__PURE__ */ jsx7(ProductActiveEditSection, { product }),
950
971
  /* @__PURE__ */ jsx7(ProductGeneralSection, { product }),
951
972
  /* @__PURE__ */ jsx7(ProductMediaSection, { product }),
952
973
  /* @__PURE__ */ jsx7(ProductVariantSection, { product })
953
- ] }),
954
- /* @__PURE__ */ jsxs6(TwoColumnPage.Sidebar, { "data-testid": "product-detail-sidebar", children: [
974
+ ] }) }),
975
+ /* @__PURE__ */ jsx7(TwoColumnPage.Sidebar, { "data-testid": "product-detail-sidebar", children: /* @__PURE__ */ jsxs6(WidgetZone, { id: "product.detail.side", data: product, children: [
955
976
  /* @__PURE__ */ jsx7(ProductOrganizationSection, { product }),
956
977
  /* @__PURE__ */ jsx7(ProductAttributeSection, { product })
957
- ] })
978
+ ] }) })
958
979
  ] });
959
980
  };
960
981
  var ProductDetailPage = Object.assign(Root, {
@@ -971,5 +992,6 @@ var ProductDetailPage = Object.assign(Root, {
971
992
  });
972
993
  export {
973
994
  ProductDetailPage,
974
- loader
995
+ loader,
996
+ productDetailQueryWithLinks
975
997
  };
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-42R54Z2X.js";
5
5
  import {
6
6
  useProductTableColumns
7
- } from "./chunk-Q57UH7FE.js";
8
- import "./chunk-BAVE4NRL.js";
7
+ } from "./chunk-WQQMCV7M.js";
8
+ import "./chunk-7HLAOLG7.js";
9
9
  import {
10
10
  useProductTableQuery
11
- } from "./chunk-H6LZ77GX.js";
11
+ } from "./chunk-QGZH3D2P.js";
12
12
  import "./chunk-FWPGOIFA.js";
13
13
  import {
14
14
  useProductTableFilters
15
- } from "./chunk-Y3WDFB7J.js";
15
+ } from "./chunk-ZZUJHLFM.js";
16
16
  import "./chunk-DB6ANJBO.js";
17
17
  import "./chunk-PHOCVOZ5.js";
18
18
  import "./chunk-FQERBIVS.js";
19
19
  import {
20
20
  _DataTable,
21
21
  useDataTable
22
- } from "./chunk-XRLRKSND.js";
22
+ } from "./chunk-W3UHAQCV.js";
23
23
  import "./chunk-YN3FGNJM.js";
24
24
  import "./chunk-KCHYLLVG.js";
25
25
  import "./chunk-634XVU3D.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-YV6MK4PZ.js";
29
29
  import "./chunk-THHRRYRS.js";
30
30
  import "./chunk-LRD242C7.js";
31
- import "./chunk-YZBEJ3CY.js";
31
+ import "./chunk-VYSB4CTB.js";
32
32
  import "./chunk-WIYFXWRI.js";
33
33
  import {
34
34
  SingleColumnPageSkeleton
@@ -91,30 +91,43 @@ var loader = async ({ params }) => {
91
91
  // src/pages/collections/[id]/collection-detail-page.tsx
92
92
  import { Children } from "react";
93
93
  import { useLoaderData, useParams } from "react-router-dom";
94
+ import { WidgetZone } from "@mercurjs/dashboard-shared";
94
95
 
95
96
  // src/pages/collections/[id]/_components/collection-general-section/collection-general-section.tsx
96
97
  import { Container, Heading, Text } from "@medusajs/ui";
97
98
  import { useTranslation } from "react-i18next";
99
+ import { DisplayExtensionZone, DisplayField } from "@mercurjs/dashboard-shared";
98
100
  import { jsx, jsxs } from "react/jsx-runtime";
101
+ var GENERAL_FIELD_IDS = ["title", "handle"];
99
102
  var CollectionGeneralSection = ({
100
103
  collection
101
104
  }) => {
102
105
  const { t } = useTranslation();
103
106
  return /* @__PURE__ */ jsxs(Container, { className: "divide-y p-0", children: [
104
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx(Heading, { children: collection.title }) }),
105
- /* @__PURE__ */ jsxs("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
107
+ /* @__PURE__ */ jsx(DisplayField, { model: "collection", zone: "general", id: "title", data: collection, children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx(Heading, { children: collection.title }) }) }),
108
+ /* @__PURE__ */ jsx(DisplayField, { model: "collection", zone: "general", id: "handle", data: collection, children: /* @__PURE__ */ jsxs("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
106
109
  /* @__PURE__ */ jsx(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.handle") }),
107
110
  /* @__PURE__ */ jsxs(Text, { size: "small", children: [
108
111
  "/",
109
112
  collection.handle
110
113
  ] })
111
- ] })
114
+ ] }) }),
115
+ /* @__PURE__ */ jsx(
116
+ DisplayExtensionZone,
117
+ {
118
+ model: "collection",
119
+ zone: "general",
120
+ data: collection,
121
+ builtInFieldIds: GENERAL_FIELD_IDS
122
+ }
123
+ )
112
124
  ] });
113
125
  };
114
126
 
115
127
  // src/pages/collections/[id]/_components/collection-icon-section/collection-icon-section.tsx
116
128
  import { Container as Container2, Heading as Heading2, Text as Text2 } from "@medusajs/ui";
117
129
  import { useTranslation as useTranslation2 } from "react-i18next";
130
+ import { DisplayExtensionZone as DisplayExtensionZone2 } from "@mercurjs/dashboard-shared";
118
131
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
119
132
  var CollectionIconSection = ({
120
133
  collection
@@ -143,13 +156,14 @@ var CollectionIconSection = ({
143
156
  }
144
157
  ),
145
158
  /* @__PURE__ */ jsx2(Text2, { size: "small", className: "text-ui-fg-muted", children: t("collections.icon.empty.description") })
146
- ] }) })
159
+ ] }) }),
160
+ /* @__PURE__ */ jsx2(DisplayExtensionZone2, { model: "collection", zone: "icon", data: collection })
147
161
  ] });
148
162
  };
149
163
 
150
164
  // src/pages/collections/[id]/_components/collection-media-section/collection-media-section.tsx
151
165
  import { ThumbnailBadge } from "@medusajs/icons";
152
- import { ListBadge } from "@mercurjs/dashboard-shared";
166
+ import { DisplayExtensionZone as DisplayExtensionZone3, ListBadge } from "@mercurjs/dashboard-shared";
153
167
  import { Container as Container3, Heading as Heading3, Text as Text3, Tooltip } from "@medusajs/ui";
154
168
  import { useTranslation as useTranslation3 } from "react-i18next";
155
169
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -193,7 +207,8 @@ var CollectionMediaSection = ({
193
207
  }
194
208
  ),
195
209
  /* @__PURE__ */ jsx3(Text3, { size: "small", className: "text-ui-fg-muted", children: t("collections.media.empty.description") })
196
- ] }) })
210
+ ] }) }),
211
+ /* @__PURE__ */ jsx3(DisplayExtensionZone3, { model: "collection", zone: "media", data: collection })
197
212
  ] });
198
213
  };
199
214
 
@@ -203,6 +218,7 @@ import { Checkbox, Container as Container4, Heading as Heading4, toast, usePromp
203
218
  import { createColumnHelper } from "@tanstack/react-table";
204
219
  import { useMemo } from "react";
205
220
  import { useTranslation as useTranslation4 } from "react-i18next";
221
+ import { DisplayExtensionZone as DisplayExtensionZone4 } from "@mercurjs/dashboard-shared";
206
222
  import { keepPreviousData } from "@tanstack/react-query";
207
223
  import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
208
224
  var PAGE_SIZE = 10;
@@ -307,7 +323,8 @@ var CollectionProductSection = ({
307
323
  message: t("collections.products.list.noRecordsMessage")
308
324
  }
309
325
  }
310
- )
326
+ ),
327
+ /* @__PURE__ */ jsx4(DisplayExtensionZone4, { model: "collection", zone: "products", data: collection })
311
328
  ] });
312
329
  };
313
330
  var ProductActions = ({
@@ -433,12 +450,12 @@ var Root = ({ children }) => {
433
450
  return /* @__PURE__ */ jsx5(SingleColumnPageSkeleton, { sections: 4 });
434
451
  }
435
452
  if (isError) throw error;
436
- return /* @__PURE__ */ jsx5(Fragment, { children: Children.count(children) > 0 ? children : /* @__PURE__ */ jsxs5(SingleColumnPage, { data: collection, children: [
453
+ return /* @__PURE__ */ jsx5(Fragment, { children: Children.count(children) > 0 ? children : /* @__PURE__ */ jsx5(SingleColumnPage, { data: collection, children: /* @__PURE__ */ jsxs5(WidgetZone, { id: "collections.detail.main", data: collection, children: [
437
454
  /* @__PURE__ */ jsx5(CollectionGeneralSection, { collection }),
438
455
  /* @__PURE__ */ jsx5(CollectionMediaSection, { collection }),
439
456
  /* @__PURE__ */ jsx5(CollectionIconSection, { collection }),
440
457
  /* @__PURE__ */ jsx5(CollectionProductSection, { collection })
441
- ] }) });
458
+ ] }) }) });
442
459
  };
443
460
  var CollectionDetailPage = Object.assign(Root, {
444
461
  GeneralSection: CollectionGeneralSection,