@medusajs/dashboard 3.0.0-snapshot-20250408093127 → 3.0.0-snapshot-20250408165354

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 (28) hide show
  1. package/dist/{add-campaign-promotions-S4RPJCM3.mjs → add-campaign-promotions-ZVOK5XD2.mjs} +3 -3
  2. package/dist/app.js +15 -17
  3. package/dist/app.mjs +2 -2
  4. package/dist/{campaign-detail-VZCIV6J2.mjs → campaign-detail-ITINMJJH.mjs} +3 -3
  5. package/dist/{chunk-COWOVK7V.mjs → chunk-43EZDQEG.mjs} +1 -1
  6. package/dist/{chunk-LTAELOQY.mjs → chunk-5ZEHQCGN.mjs} +2 -0
  7. package/dist/{chunk-XFWMZTRJ.mjs → chunk-AQS3BSDG.mjs} +1 -1
  8. package/dist/{chunk-OQWC3NYL.mjs → chunk-LQFD6I7N.mjs} +1 -1
  9. package/dist/{chunk-BHR7HI36.mjs → chunk-OPZDUI6B.mjs} +16 -16
  10. package/dist/{chunk-6D4RSLIE.mjs → chunk-PBEBKGPJ.mjs} +1 -1
  11. package/dist/{chunk-GEGIBWTP.mjs → chunk-Q5DI5VYN.mjs} +12 -16
  12. package/dist/{inventory-detail-II5GKKB7.mjs → inventory-detail-UBCCADB3.mjs} +1 -1
  13. package/dist/{product-attributes-YFZQAOYI.mjs → product-attributes-GKM272E2.mjs} +3 -3
  14. package/dist/{product-create-Y4IVSBA6.mjs → product-create-6IIIZWTB.mjs} +3 -3
  15. package/dist/{product-detail-FBWJRKX2.mjs → product-detail-KCPBP53S.mjs} +3 -3
  16. package/dist/{product-edit-NM2GVJ7Q.mjs → product-edit-PBISK6ZJ.mjs} +3 -3
  17. package/dist/{product-media-OT76YWHQ.mjs → product-media-34NDO6DC.mjs} +2 -2
  18. package/dist/{product-organization-5PDSUBSE.mjs → product-organization-QZ5AXVG5.mjs} +3 -3
  19. package/dist/{product-shipping-profile-CCDRGNAC.mjs → product-shipping-profile-Z2MVNVBT.mjs} +3 -3
  20. package/dist/{promotion-detail-P3VRYTPI.mjs → promotion-detail-DKYNPGDK.mjs} +2 -2
  21. package/dist/{promotion-list-FBGWJNY4.mjs → promotion-list-AGVOXS5Q.mjs} +3 -3
  22. package/dist/{reservation-detail-I4DM7TQ4.mjs → reservation-detail-QKUCAH7D.mjs} +1 -1
  23. package/dist/{reset-password-M5TP45NC.mjs → reset-password-HHFO6CDI.mjs} +1 -1
  24. package/package.json +9 -9
  25. package/src/i18n/translations/$schema.json +4 -0
  26. package/src/i18n/translations/en.json +1 -0
  27. package/src/i18n/translations/es.json +1 -0
  28. package/src/routes/inventory/inventory-detail/components/inventory-item-general-section.tsx +14 -18
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  usePromotionTableColumns,
3
3
  usePromotionTableQuery
4
- } from "./chunk-XFWMZTRJ.mjs";
5
- import "./chunk-COWOVK7V.mjs";
4
+ } from "./chunk-AQS3BSDG.mjs";
5
+ import "./chunk-43EZDQEG.mjs";
6
6
  import "./chunk-MSDRGCRR.mjs";
7
7
  import "./chunk-ADOCJB6L.mjs";
8
8
  import "./chunk-LQTHYS2Z.mjs";
@@ -30,7 +30,7 @@ import {
30
30
  useRouteModal
31
31
  } from "./chunk-ZCO6EK4W.mjs";
32
32
  import "./chunk-4GQOUCX6.mjs";
33
- import "./chunk-LTAELOQY.mjs";
33
+ import "./chunk-5ZEHQCGN.mjs";
34
34
  import "./chunk-LPEUYMRK.mjs";
35
35
  import "./chunk-OC7BQLYI.mjs";
36
36
  import "./chunk-6UX3SSRT.mjs";
package/dist/app.js CHANGED
@@ -9605,6 +9605,7 @@ var init_en = __esm({
9605
9605
  manageLocationQuantity: "Manage location quantity",
9606
9606
  deleteWarning: "You are about to delete an inventory item. This action cannot be undone.",
9607
9607
  editItemDetails: "Edit item details",
9608
+ quantityAcrossLocations: "{{quantity}} across {{locations}} locations",
9608
9609
  create: {
9609
9610
  title: "Create Inventory Item",
9610
9611
  details: "Details",
@@ -12574,6 +12575,7 @@ var init_es = __esm({
12574
12575
  manageLocations: "Gestionar ubicaciones",
12575
12576
  deleteWarning: "Est\xE1s a punto de eliminar un \xEDtem de inventario. Esta acci\xF3n no puede deshacerse.",
12576
12577
  editItemDetails: "Editar detalles del \xEDtem",
12578
+ quantityAcrossLocations: "{{quantity}} en {{locations}} ubicaciones",
12577
12579
  create: {
12578
12580
  title: "Crear \xCDtem de Inventario",
12579
12581
  details: "Detalles",
@@ -133709,7 +133711,7 @@ var init_loader16 = __esm({
133709
133711
  });
133710
133712
 
133711
133713
  // src/routes/inventory/inventory-detail/components/inventory-item-general-section.tsx
133712
- var import_ui277, import_icons118, import_react_i18next297, import_jsx_runtime412, InventoryItemGeneralSection, getQuantityFormat;
133714
+ var import_ui277, import_icons118, import_react_i18next297, import_jsx_runtime412, InventoryItemGeneralSection;
133713
133715
  var init_inventory_item_general_section = __esm({
133714
133716
  "src/routes/inventory/inventory-detail/components/inventory-item-general-section.tsx"() {
133715
133717
  "use strict";
@@ -133723,6 +133725,15 @@ var init_inventory_item_general_section = __esm({
133723
133725
  inventoryItem
133724
133726
  }) => {
133725
133727
  const { t: t5 } = (0, import_react_i18next297.useTranslation)();
133728
+ const getQuantityFormat = (quantity) => {
133729
+ if (quantity !== void 0 && !isNaN(quantity)) {
133730
+ return t5("inventory.quantityAcrossLocations", {
133731
+ quantity,
133732
+ locations: inventoryItem.location_levels?.length
133733
+ });
133734
+ }
133735
+ return "-";
133736
+ };
133726
133737
  return /* @__PURE__ */ (0, import_jsx_runtime412.jsxs)(import_ui277.Container, { className: "divide-y p-0", children: [
133727
133738
  /* @__PURE__ */ (0, import_jsx_runtime412.jsxs)("div", { className: "flex items-center justify-between px-6 py-4", children: [
133728
133739
  /* @__PURE__ */ (0, import_jsx_runtime412.jsxs)(import_ui277.Heading, { children: [
@@ -133752,20 +133763,14 @@ var init_inventory_item_general_section = __esm({
133752
133763
  SectionRow,
133753
133764
  {
133754
133765
  title: t5("fields.inStock"),
133755
- value: getQuantityFormat(
133756
- inventoryItem.stocked_quantity,
133757
- inventoryItem.location_levels?.length
133758
- )
133766
+ value: getQuantityFormat(inventoryItem.stocked_quantity)
133759
133767
  }
133760
133768
  ),
133761
133769
  /* @__PURE__ */ (0, import_jsx_runtime412.jsx)(
133762
133770
  SectionRow,
133763
133771
  {
133764
133772
  title: t5("inventory.reserved"),
133765
- value: getQuantityFormat(
133766
- inventoryItem.reserved_quantity,
133767
- inventoryItem.location_levels?.length
133768
- )
133773
+ value: getQuantityFormat(inventoryItem.reserved_quantity)
133769
133774
  }
133770
133775
  ),
133771
133776
  /* @__PURE__ */ (0, import_jsx_runtime412.jsx)(
@@ -133773,19 +133778,12 @@ var init_inventory_item_general_section = __esm({
133773
133778
  {
133774
133779
  title: t5("inventory.available"),
133775
133780
  value: getQuantityFormat(
133776
- inventoryItem.stocked_quantity - inventoryItem.reserved_quantity,
133777
- inventoryItem.location_levels?.length
133781
+ inventoryItem.stocked_quantity - inventoryItem.reserved_quantity
133778
133782
  )
133779
133783
  }
133780
133784
  )
133781
133785
  ] });
133782
133786
  };
133783
- getQuantityFormat = (quantity, locations) => {
133784
- if (quantity !== void 0 && !isNaN(quantity)) {
133785
- return `${quantity} across ${locations ?? "-"} locations`;
133786
- }
133787
- return "-";
133788
- };
133789
133787
  }
133790
133788
  });
133791
133789
 
package/dist/app.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  DashboardApp
3
- } from "./chunk-BHR7HI36.mjs";
3
+ } from "./chunk-OPZDUI6B.mjs";
4
4
  import "./chunk-BC3M3N6P.mjs";
5
5
  import "./chunk-ONB3JEHR.mjs";
6
6
  import "./chunk-4GQOUCX6.mjs";
7
7
  import "./chunk-2VTICXJR.mjs";
8
8
  import "./chunk-D3YQN7HV.mjs";
9
9
  import "./chunk-VDBOSWVE.mjs";
10
- import "./chunk-LTAELOQY.mjs";
10
+ import "./chunk-5ZEHQCGN.mjs";
11
11
  import "./chunk-MNXC6Q4F.mjs";
12
12
  import "./chunk-C5P5PL3E.mjs";
13
13
  import "./chunk-LPEUYMRK.mjs";
@@ -4,8 +4,8 @@ import {
4
4
  import {
5
5
  usePromotionTableColumns,
6
6
  usePromotionTableQuery
7
- } from "./chunk-XFWMZTRJ.mjs";
8
- import "./chunk-COWOVK7V.mjs";
7
+ } from "./chunk-AQS3BSDG.mjs";
8
+ import "./chunk-43EZDQEG.mjs";
9
9
  import "./chunk-MSDRGCRR.mjs";
10
10
  import "./chunk-ADOCJB6L.mjs";
11
11
  import "./chunk-LQTHYS2Z.mjs";
@@ -31,7 +31,7 @@ import {
31
31
  import "./chunk-C76H5USB.mjs";
32
32
  import "./chunk-PWBTCXBJ.mjs";
33
33
  import "./chunk-4GQOUCX6.mjs";
34
- import "./chunk-LTAELOQY.mjs";
34
+ import "./chunk-5ZEHQCGN.mjs";
35
35
  import {
36
36
  useExtension
37
37
  } from "./chunk-C5P5PL3E.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  i18n
3
- } from "./chunk-LTAELOQY.mjs";
3
+ } from "./chunk-5ZEHQCGN.mjs";
4
4
 
5
5
  // src/lib/promotions.ts
6
6
  var promotionStatusMap = {
@@ -9552,6 +9552,7 @@ var en_default = {
9552
9552
  manageLocationQuantity: "Manage location quantity",
9553
9553
  deleteWarning: "You are about to delete an inventory item. This action cannot be undone.",
9554
9554
  editItemDetails: "Edit item details",
9555
+ quantityAcrossLocations: "{{quantity}} across {{locations}} locations",
9555
9556
  create: {
9556
9557
  title: "Create Inventory Item",
9557
9558
  details: "Details",
@@ -12516,6 +12517,7 @@ var es_default = {
12516
12517
  manageLocations: "Gestionar ubicaciones",
12517
12518
  deleteWarning: "Est\xE1s a punto de eliminar un \xEDtem de inventario. Esta acci\xF3n no puede deshacerse.",
12518
12519
  editItemDetails: "Editar detalles del \xEDtem",
12520
+ quantityAcrossLocations: "{{quantity}} en {{locations}} ubicaciones",
12519
12521
  create: {
12520
12522
  title: "Crear \xCDtem de Inventario",
12521
12523
  details: "Detalles",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPromotionStatus
3
- } from "./chunk-COWOVK7V.mjs";
3
+ } from "./chunk-43EZDQEG.mjs";
4
4
  import {
5
5
  TextCell,
6
6
  TextHeader
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-6GU6IDUA.mjs";
11
11
  import {
12
12
  i18n
13
- } from "./chunk-LTAELOQY.mjs";
13
+ } from "./chunk-5ZEHQCGN.mjs";
14
14
  import {
15
15
  Form
16
16
  } from "./chunk-OBQI23QM.mjs";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-D3YQN7HV.mjs";
14
14
  import {
15
15
  I18n
16
- } from "./chunk-LTAELOQY.mjs";
16
+ } from "./chunk-5ZEHQCGN.mjs";
17
17
  import {
18
18
  Thumbnail
19
19
  } from "./chunk-MNXC6Q4F.mjs";
@@ -3326,7 +3326,7 @@ function getRouteMap({
3326
3326
  children: [
3327
3327
  {
3328
3328
  path: "create",
3329
- lazy: () => import("./product-create-Y4IVSBA6.mjs")
3329
+ lazy: () => import("./product-create-6IIIZWTB.mjs")
3330
3330
  },
3331
3331
  {
3332
3332
  path: "import",
@@ -3342,7 +3342,7 @@ function getRouteMap({
3342
3342
  path: ":id",
3343
3343
  errorElement: /* @__PURE__ */ jsx18(ErrorBoundary, {}),
3344
3344
  lazy: async () => {
3345
- const { Breadcrumb, loader } = await import("./product-detail-FBWJRKX2.mjs");
3345
+ const { Breadcrumb, loader } = await import("./product-detail-KCPBP53S.mjs");
3346
3346
  return {
3347
3347
  Component: Outlet4,
3348
3348
  loader,
@@ -3354,11 +3354,11 @@ function getRouteMap({
3354
3354
  children: [
3355
3355
  {
3356
3356
  path: "",
3357
- lazy: () => import("./product-detail-FBWJRKX2.mjs"),
3357
+ lazy: () => import("./product-detail-KCPBP53S.mjs"),
3358
3358
  children: [
3359
3359
  {
3360
3360
  path: "edit",
3361
- lazy: () => import("./product-edit-NM2GVJ7Q.mjs")
3361
+ lazy: () => import("./product-edit-PBISK6ZJ.mjs")
3362
3362
  },
3363
3363
  {
3364
3364
  path: "edit-variant",
@@ -3370,19 +3370,19 @@ function getRouteMap({
3370
3370
  },
3371
3371
  {
3372
3372
  path: "attributes",
3373
- lazy: () => import("./product-attributes-YFZQAOYI.mjs")
3373
+ lazy: () => import("./product-attributes-GKM272E2.mjs")
3374
3374
  },
3375
3375
  {
3376
3376
  path: "organization",
3377
- lazy: () => import("./product-organization-5PDSUBSE.mjs")
3377
+ lazy: () => import("./product-organization-QZ5AXVG5.mjs")
3378
3378
  },
3379
3379
  {
3380
3380
  path: "shipping-profile",
3381
- lazy: () => import("./product-shipping-profile-CCDRGNAC.mjs")
3381
+ lazy: () => import("./product-shipping-profile-Z2MVNVBT.mjs")
3382
3382
  },
3383
3383
  {
3384
3384
  path: "media",
3385
- lazy: () => import("./product-media-OT76YWHQ.mjs")
3385
+ lazy: () => import("./product-media-34NDO6DC.mjs")
3386
3386
  },
3387
3387
  {
3388
3388
  path: "prices",
@@ -3592,7 +3592,7 @@ function getRouteMap({
3592
3592
  children: [
3593
3593
  {
3594
3594
  path: "",
3595
- lazy: () => import("./promotion-list-FBGWJNY4.mjs")
3595
+ lazy: () => import("./promotion-list-AGVOXS5Q.mjs")
3596
3596
  },
3597
3597
  {
3598
3598
  path: "create",
@@ -3601,7 +3601,7 @@ function getRouteMap({
3601
3601
  {
3602
3602
  path: ":id",
3603
3603
  lazy: async () => {
3604
- const { Component, Breadcrumb, loader } = await import("./promotion-detail-P3VRYTPI.mjs");
3604
+ const { Component, Breadcrumb, loader } = await import("./promotion-detail-DKYNPGDK.mjs");
3605
3605
  return {
3606
3606
  Component,
3607
3607
  loader,
@@ -3646,7 +3646,7 @@ function getRouteMap({
3646
3646
  {
3647
3647
  path: ":id",
3648
3648
  lazy: async () => {
3649
- const { Component, Breadcrumb, loader } = await import("./campaign-detail-VZCIV6J2.mjs");
3649
+ const { Component, Breadcrumb, loader } = await import("./campaign-detail-ITINMJJH.mjs");
3650
3650
  return {
3651
3651
  Component,
3652
3652
  loader,
@@ -3670,7 +3670,7 @@ function getRouteMap({
3670
3670
  },
3671
3671
  {
3672
3672
  path: "add-promotions",
3673
- lazy: () => import("./add-campaign-promotions-S4RPJCM3.mjs")
3673
+ lazy: () => import("./add-campaign-promotions-ZVOK5XD2.mjs")
3674
3674
  }
3675
3675
  ]
3676
3676
  }
@@ -3892,7 +3892,7 @@ function getRouteMap({
3892
3892
  {
3893
3893
  path: ":id",
3894
3894
  lazy: async () => {
3895
- const { Component, Breadcrumb, loader } = await import("./reservation-detail-I4DM7TQ4.mjs");
3895
+ const { Component, Breadcrumb, loader } = await import("./reservation-detail-QKUCAH7D.mjs");
3896
3896
  return {
3897
3897
  Component,
3898
3898
  loader,
@@ -3938,7 +3938,7 @@ function getRouteMap({
3938
3938
  {
3939
3939
  path: ":id",
3940
3940
  lazy: async () => {
3941
- const { Component, Breadcrumb, loader } = await import("./inventory-detail-II5GKKB7.mjs");
3941
+ const { Component, Breadcrumb, loader } = await import("./inventory-detail-UBCCADB3.mjs");
3942
3942
  return {
3943
3943
  Component,
3944
3944
  loader,
@@ -4626,7 +4626,7 @@ function getRouteMap({
4626
4626
  },
4627
4627
  {
4628
4628
  path: "/reset-password",
4629
- lazy: () => import("./reset-password-M5TP45NC.mjs")
4629
+ lazy: () => import("./reset-password-HHFO6CDI.mjs")
4630
4630
  },
4631
4631
  {
4632
4632
  path: "/invite",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getLinkedFields
3
- } from "./chunk-BHR7HI36.mjs";
3
+ } from "./chunk-OPZDUI6B.mjs";
4
4
 
5
5
  // src/routes/products/product-detail/constants.ts
6
6
  var PRODUCT_DETAIL_FIELDS = getLinkedFields(
@@ -14,6 +14,15 @@ var InventoryItemGeneralSection = ({
14
14
  inventoryItem
15
15
  }) => {
16
16
  const { t } = useTranslation();
17
+ const getQuantityFormat = (quantity) => {
18
+ if (quantity !== void 0 && !isNaN(quantity)) {
19
+ return t("inventory.quantityAcrossLocations", {
20
+ quantity,
21
+ locations: inventoryItem.location_levels?.length
22
+ });
23
+ }
24
+ return "-";
25
+ };
17
26
  return /* @__PURE__ */ jsxs(Container, { className: "divide-y p-0", children: [
18
27
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
19
28
  /* @__PURE__ */ jsxs(Heading, { children: [
@@ -43,20 +52,14 @@ var InventoryItemGeneralSection = ({
43
52
  SectionRow,
44
53
  {
45
54
  title: t("fields.inStock"),
46
- value: getQuantityFormat(
47
- inventoryItem.stocked_quantity,
48
- inventoryItem.location_levels?.length
49
- )
55
+ value: getQuantityFormat(inventoryItem.stocked_quantity)
50
56
  }
51
57
  ),
52
58
  /* @__PURE__ */ jsx(
53
59
  SectionRow,
54
60
  {
55
61
  title: t("inventory.reserved"),
56
- value: getQuantityFormat(
57
- inventoryItem.reserved_quantity,
58
- inventoryItem.location_levels?.length
59
- )
62
+ value: getQuantityFormat(inventoryItem.reserved_quantity)
60
63
  }
61
64
  ),
62
65
  /* @__PURE__ */ jsx(
@@ -64,19 +67,12 @@ var InventoryItemGeneralSection = ({
64
67
  {
65
68
  title: t("inventory.available"),
66
69
  value: getQuantityFormat(
67
- inventoryItem.stocked_quantity - inventoryItem.reserved_quantity,
68
- inventoryItem.location_levels?.length
70
+ inventoryItem.stocked_quantity - inventoryItem.reserved_quantity
69
71
  )
70
72
  }
71
73
  )
72
74
  ] });
73
75
  };
74
- var getQuantityFormat = (quantity, locations) => {
75
- if (quantity !== void 0 && !isNaN(quantity)) {
76
- return `${quantity} across ${locations ?? "-"} locations`;
77
- }
78
- return "-";
79
- };
80
76
 
81
77
  export {
82
78
  InventoryItemGeneralSection
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InventoryItemGeneralSection
3
- } from "./chunk-GEGIBWTP.mjs";
3
+ } from "./chunk-Q5DI5VYN.mjs";
4
4
  import {
5
5
  TextCell,
6
6
  TextHeader
@@ -11,18 +11,18 @@ import {
11
11
  } from "./chunk-ZCO6EK4W.mjs";
12
12
  import {
13
13
  PRODUCT_DETAIL_FIELDS
14
- } from "./chunk-6D4RSLIE.mjs";
14
+ } from "./chunk-PBEBKGPJ.mjs";
15
15
  import {
16
16
  FormExtensionZone,
17
17
  useExtendableForm
18
- } from "./chunk-BHR7HI36.mjs";
18
+ } from "./chunk-OPZDUI6B.mjs";
19
19
  import "./chunk-BC3M3N6P.mjs";
20
20
  import "./chunk-ONB3JEHR.mjs";
21
21
  import "./chunk-4GQOUCX6.mjs";
22
22
  import "./chunk-2VTICXJR.mjs";
23
23
  import "./chunk-D3YQN7HV.mjs";
24
24
  import "./chunk-VDBOSWVE.mjs";
25
- import "./chunk-LTAELOQY.mjs";
25
+ import "./chunk-5ZEHQCGN.mjs";
26
26
  import "./chunk-MNXC6Q4F.mjs";
27
27
  import {
28
28
  useExtension
@@ -25,7 +25,7 @@ import {
25
25
  UploadMediaFormItem,
26
26
  decorateVariantsWithDefaultValues,
27
27
  normalizeProductFormValues
28
- } from "./chunk-OQWC3NYL.mjs";
28
+ } from "./chunk-LQFD6I7N.mjs";
29
29
  import {
30
30
  CSS
31
31
  } from "./chunk-ACBS6KFT.mjs";
@@ -63,14 +63,14 @@ import {
63
63
  import {
64
64
  FormExtensionZone,
65
65
  useExtendableForm
66
- } from "./chunk-BHR7HI36.mjs";
66
+ } from "./chunk-OPZDUI6B.mjs";
67
67
  import "./chunk-BC3M3N6P.mjs";
68
68
  import "./chunk-ONB3JEHR.mjs";
69
69
  import "./chunk-4GQOUCX6.mjs";
70
70
  import "./chunk-2VTICXJR.mjs";
71
71
  import "./chunk-D3YQN7HV.mjs";
72
72
  import "./chunk-VDBOSWVE.mjs";
73
- import "./chunk-LTAELOQY.mjs";
73
+ import "./chunk-5ZEHQCGN.mjs";
74
74
  import "./chunk-MNXC6Q4F.mjs";
75
75
  import {
76
76
  useExtension
@@ -28,15 +28,15 @@ import {
28
28
  import "./chunk-PWBTCXBJ.mjs";
29
29
  import {
30
30
  PRODUCT_DETAIL_FIELDS
31
- } from "./chunk-6D4RSLIE.mjs";
32
- import "./chunk-BHR7HI36.mjs";
31
+ } from "./chunk-PBEBKGPJ.mjs";
32
+ import "./chunk-OPZDUI6B.mjs";
33
33
  import "./chunk-BC3M3N6P.mjs";
34
34
  import "./chunk-ONB3JEHR.mjs";
35
35
  import "./chunk-4GQOUCX6.mjs";
36
36
  import "./chunk-2VTICXJR.mjs";
37
37
  import "./chunk-D3YQN7HV.mjs";
38
38
  import "./chunk-VDBOSWVE.mjs";
39
- import "./chunk-LTAELOQY.mjs";
39
+ import "./chunk-5ZEHQCGN.mjs";
40
40
  import "./chunk-MNXC6Q4F.mjs";
41
41
  import {
42
42
  useExtension
@@ -15,18 +15,18 @@ import {
15
15
  } from "./chunk-ZCO6EK4W.mjs";
16
16
  import {
17
17
  PRODUCT_DETAIL_FIELDS
18
- } from "./chunk-6D4RSLIE.mjs";
18
+ } from "./chunk-PBEBKGPJ.mjs";
19
19
  import {
20
20
  FormExtensionZone,
21
21
  useExtendableForm
22
- } from "./chunk-BHR7HI36.mjs";
22
+ } from "./chunk-OPZDUI6B.mjs";
23
23
  import "./chunk-BC3M3N6P.mjs";
24
24
  import "./chunk-ONB3JEHR.mjs";
25
25
  import "./chunk-4GQOUCX6.mjs";
26
26
  import "./chunk-2VTICXJR.mjs";
27
27
  import "./chunk-D3YQN7HV.mjs";
28
28
  import "./chunk-VDBOSWVE.mjs";
29
- import "./chunk-LTAELOQY.mjs";
29
+ import "./chunk-5ZEHQCGN.mjs";
30
30
  import "./chunk-MNXC6Q4F.mjs";
31
31
  import {
32
32
  useExtension
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EditProductMediaSchema,
3
3
  UploadMediaFormItem
4
- } from "./chunk-OQWC3NYL.mjs";
4
+ } from "./chunk-LQFD6I7N.mjs";
5
5
  import {
6
6
  CSS
7
7
  } from "./chunk-ACBS6KFT.mjs";
@@ -16,7 +16,7 @@ import {
16
16
  RouteFocusModal,
17
17
  useRouteModal
18
18
  } from "./chunk-ZCO6EK4W.mjs";
19
- import "./chunk-LTAELOQY.mjs";
19
+ import "./chunk-5ZEHQCGN.mjs";
20
20
  import "./chunk-OBQI23QM.mjs";
21
21
  import {
22
22
  useProduct,
@@ -17,18 +17,18 @@ import {
17
17
  } from "./chunk-ZCO6EK4W.mjs";
18
18
  import {
19
19
  PRODUCT_DETAIL_FIELDS
20
- } from "./chunk-6D4RSLIE.mjs";
20
+ } from "./chunk-PBEBKGPJ.mjs";
21
21
  import {
22
22
  FormExtensionZone,
23
23
  useExtendableForm
24
- } from "./chunk-BHR7HI36.mjs";
24
+ } from "./chunk-OPZDUI6B.mjs";
25
25
  import "./chunk-BC3M3N6P.mjs";
26
26
  import "./chunk-ONB3JEHR.mjs";
27
27
  import "./chunk-4GQOUCX6.mjs";
28
28
  import "./chunk-2VTICXJR.mjs";
29
29
  import "./chunk-D3YQN7HV.mjs";
30
30
  import "./chunk-VDBOSWVE.mjs";
31
- import "./chunk-LTAELOQY.mjs";
31
+ import "./chunk-5ZEHQCGN.mjs";
32
32
  import "./chunk-MNXC6Q4F.mjs";
33
33
  import {
34
34
  useExtension
@@ -14,15 +14,15 @@ import {
14
14
  } from "./chunk-ZCO6EK4W.mjs";
15
15
  import {
16
16
  PRODUCT_DETAIL_FIELDS
17
- } from "./chunk-6D4RSLIE.mjs";
18
- import "./chunk-BHR7HI36.mjs";
17
+ } from "./chunk-PBEBKGPJ.mjs";
18
+ import "./chunk-OPZDUI6B.mjs";
19
19
  import "./chunk-BC3M3N6P.mjs";
20
20
  import "./chunk-ONB3JEHR.mjs";
21
21
  import "./chunk-4GQOUCX6.mjs";
22
22
  import "./chunk-2VTICXJR.mjs";
23
23
  import "./chunk-D3YQN7HV.mjs";
24
24
  import "./chunk-VDBOSWVE.mjs";
25
- import "./chunk-LTAELOQY.mjs";
25
+ import "./chunk-5ZEHQCGN.mjs";
26
26
  import "./chunk-MNXC6Q4F.mjs";
27
27
  import "./chunk-C5P5PL3E.mjs";
28
28
  import "./chunk-LPEUYMRK.mjs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-UCMPRD5U.mjs";
10
10
  import {
11
11
  getPromotionStatus
12
- } from "./chunk-COWOVK7V.mjs";
12
+ } from "./chunk-43EZDQEG.mjs";
13
13
  import {
14
14
  formatCurrency
15
15
  } from "./chunk-OV5NMSY6.mjs";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-2RQLKDBF.mjs";
22
22
  import "./chunk-PWBTCXBJ.mjs";
23
23
  import "./chunk-4GQOUCX6.mjs";
24
- import "./chunk-LTAELOQY.mjs";
24
+ import "./chunk-5ZEHQCGN.mjs";
25
25
  import {
26
26
  useExtension
27
27
  } from "./chunk-C5P5PL3E.mjs";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  usePromotionTableColumns,
3
3
  usePromotionTableQuery
4
- } from "./chunk-XFWMZTRJ.mjs";
5
- import "./chunk-COWOVK7V.mjs";
4
+ } from "./chunk-AQS3BSDG.mjs";
5
+ import "./chunk-43EZDQEG.mjs";
6
6
  import "./chunk-MSDRGCRR.mjs";
7
7
  import "./chunk-ADOCJB6L.mjs";
8
8
  import "./chunk-LQTHYS2Z.mjs";
@@ -25,7 +25,7 @@ import {
25
25
  import "./chunk-C76H5USB.mjs";
26
26
  import "./chunk-PWBTCXBJ.mjs";
27
27
  import "./chunk-4GQOUCX6.mjs";
28
- import "./chunk-LTAELOQY.mjs";
28
+ import "./chunk-5ZEHQCGN.mjs";
29
29
  import {
30
30
  useExtension
31
31
  } from "./chunk-C5P5PL3E.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InventoryItemGeneralSection
3
- } from "./chunk-GEGIBWTP.mjs";
3
+ } from "./chunk-Q5DI5VYN.mjs";
4
4
  import "./chunk-YOYOJU5D.mjs";
5
5
  import {
6
6
  SectionRow
@@ -3,7 +3,7 @@ import "./chunk-EQTBJSBZ.mjs";
3
3
  import "./chunk-4GQOUCX6.mjs";
4
4
  import {
5
5
  i18n
6
- } from "./chunk-LTAELOQY.mjs";
6
+ } from "./chunk-5ZEHQCGN.mjs";
7
7
  import {
8
8
  Form
9
9
  } from "./chunk-OBQI23QM.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/dashboard",
3
- "version": "3.0.0-snapshot-20250408093127",
3
+ "version": "3.0.0-snapshot-20250408165354",
4
4
  "scripts": {
5
5
  "generate:static": "node ./scripts/generate-currencies.js && prettier --write ./src/lib/currencies.ts",
6
6
  "dev": "vite",
@@ -44,10 +44,10 @@
44
44
  "@dnd-kit/sortable": "^8.0.0",
45
45
  "@hookform/error-message": "^2.0.1",
46
46
  "@hookform/resolvers": "3.4.2",
47
- "@medusajs/admin-shared": "3.0.0-snapshot-20250408093127",
48
- "@medusajs/icons": "3.0.0-snapshot-20250408093127",
49
- "@medusajs/js-sdk": "3.0.0-snapshot-20250408093127",
50
- "@medusajs/ui": "4.0.8-snapshot-20250408093127",
47
+ "@medusajs/admin-shared": "3.0.0-snapshot-20250408165354",
48
+ "@medusajs/icons": "3.0.0-snapshot-20250408165354",
49
+ "@medusajs/js-sdk": "3.0.0-snapshot-20250408165354",
50
+ "@medusajs/ui": "4.0.8-snapshot-20250408165354",
51
51
  "@tanstack/react-query": "5.64.2",
52
52
  "@tanstack/react-table": "8.20.5",
53
53
  "@tanstack/react-virtual": "^3.8.3",
@@ -74,10 +74,10 @@
74
74
  "zod": "3.22.4"
75
75
  },
76
76
  "devDependencies": {
77
- "@medusajs/admin-shared": "3.0.0-snapshot-20250408093127",
78
- "@medusajs/admin-vite-plugin": "3.0.0-snapshot-20250408093127",
79
- "@medusajs/types": "3.0.0-snapshot-20250408093127",
80
- "@medusajs/ui-preset": "3.0.0-snapshot-20250408093127",
77
+ "@medusajs/admin-shared": "3.0.0-snapshot-20250408165354",
78
+ "@medusajs/admin-vite-plugin": "3.0.0-snapshot-20250408165354",
79
+ "@medusajs/types": "3.0.0-snapshot-20250408165354",
80
+ "@medusajs/ui-preset": "3.0.0-snapshot-20250408165354",
81
81
  "@types/node": "^20.11.15",
82
82
  "@types/react": "^18.2.79",
83
83
  "@types/react-dom": "^18.2.25",
@@ -3043,6 +3043,9 @@
3043
3043
  "editItemDetails": {
3044
3044
  "type": "string"
3045
3045
  },
3046
+ "quantityAcrossLocations": {
3047
+ "type": "string"
3048
+ },
3046
3049
  "create": {
3047
3050
  "type": "object",
3048
3051
  "properties": {
@@ -3258,6 +3261,7 @@
3258
3261
  "manageLocationQuantity",
3259
3262
  "deleteWarning",
3260
3263
  "editItemDetails",
3264
+ "quantityAcrossLocations",
3261
3265
  "create",
3262
3266
  "reservation",
3263
3267
  "adjustInventory",
@@ -814,6 +814,7 @@
814
814
  "manageLocationQuantity": "Manage location quantity",
815
815
  "deleteWarning": "You are about to delete an inventory item. This action cannot be undone.",
816
816
  "editItemDetails": "Edit item details",
817
+ "quantityAcrossLocations": "{{quantity}} across {{locations}} locations",
817
818
  "create": {
818
819
  "title": "Create Inventory Item",
819
820
  "details": "Details",
@@ -772,6 +772,7 @@
772
772
  "manageLocations": "Gestionar ubicaciones",
773
773
  "deleteWarning": "Estás a punto de eliminar un ítem de inventario. Esta acción no puede deshacerse.",
774
774
  "editItemDetails": "Editar detalles del ítem",
775
+ "quantityAcrossLocations": "{{quantity}} en {{locations}} ubicaciones",
775
776
  "create": {
776
777
  "title": "Crear Ítem de Inventario",
777
778
  "details": "Detalles",
@@ -13,6 +13,17 @@ export const InventoryItemGeneralSection = ({
13
13
  inventoryItem,
14
14
  }: InventoryItemGeneralSectionProps) => {
15
15
  const { t } = useTranslation()
16
+
17
+ const getQuantityFormat = (quantity: number) => {
18
+ if (quantity !== undefined && !isNaN(quantity)) {
19
+ return t("inventory.quantityAcrossLocations", {
20
+ quantity,
21
+ locations: inventoryItem.location_levels?.length,
22
+ })
23
+ }
24
+
25
+ return "-"
26
+ }
16
27
  return (
17
28
  <Container className="divide-y p-0">
18
29
  <div className="flex items-center justify-between px-6 py-4">
@@ -36,34 +47,19 @@ export const InventoryItemGeneralSection = ({
36
47
  <SectionRow title={t("fields.sku")} value={inventoryItem.sku ?? "-"} />
37
48
  <SectionRow
38
49
  title={t("fields.inStock")}
39
- value={getQuantityFormat(
40
- inventoryItem.stocked_quantity,
41
- inventoryItem.location_levels?.length
42
- )}
50
+ value={getQuantityFormat(inventoryItem.stocked_quantity)}
43
51
  />
44
52
 
45
53
  <SectionRow
46
54
  title={t("inventory.reserved")}
47
- value={getQuantityFormat(
48
- inventoryItem.reserved_quantity,
49
- inventoryItem.location_levels?.length
50
- )}
55
+ value={getQuantityFormat(inventoryItem.reserved_quantity)}
51
56
  />
52
57
  <SectionRow
53
58
  title={t("inventory.available")}
54
59
  value={getQuantityFormat(
55
- inventoryItem.stocked_quantity - inventoryItem.reserved_quantity,
56
- inventoryItem.location_levels?.length
60
+ inventoryItem.stocked_quantity - inventoryItem.reserved_quantity
57
61
  )}
58
62
  />
59
63
  </Container>
60
64
  )
61
65
  }
62
-
63
- const getQuantityFormat = (quantity: number, locations?: number) => {
64
- if (quantity !== undefined && !isNaN(quantity)) {
65
- return `${quantity} across ${locations ?? "-"} locations`
66
- }
67
-
68
- return "-"
69
- }