import {
  useOrderTableColumns
} from "./chunk-DBYUB2YI.js";
import {
  DateCell
} from "./chunk-25LYVP3C.js";
import {
  getStylizedAmount
} from "./chunk-PXYDR7WQ.js";
import {
  IconAvatar
} from "./chunk-U2EI2ZLM.js";
import {
  useProductTableColumns
} from "./chunk-Z5I2Z6L3.js";
import {
  TwoColumnPage
} from "./chunk-E74OUNA3.js";
import {
  _DataTable,
  useDataTable
} from "./chunk-KYPPQGGE.js";
import {
  NoRecords
} from "./chunk-634XVU3D.js";
import {
  currencies
} from "./chunk-IQPN4PZJ.js";
import {
  DataTableStatusCell
} from "./chunk-MDABSESI.js";
import {
  TwoColumnPageSkeleton
} from "./chunk-INNFZYX2.js";
import {
  ActionMenu
} from "./chunk-BDGZ4EQO.js";
import {
  useOrderTableFilters
} from "./chunk-VIGX66F7.js";
import {
  useMemberTableQuery
} from "./chunk-HO7Z6MC3.js";
import {
  require_dist
} from "./chunk-ZZO3INVE.js";
import {
  useOrderTableQuery
} from "./chunk-3B6MTW5G.js";
import {
  useProductTableFilters
} from "./chunk-LNAXUDW2.js";
import {
  useProductTableQuery
} from "./chunk-VVWB3GIK.js";
import {
  useSubscriptionPlans
} from "./chunk-PBQ5M44A.js";
import {
  useApproveSeller,
  useDeleteSellerInvite,
  useRemoveSellerMember,
  useResendSellerInvite,
  useSeller,
  useSellerInvites,
  useSellerMembers,
  useSellerProducts,
  useSuspendSeller
} from "./chunk-LEG67A2R.js";
import {
  useOrders
} from "./chunk-TAKEQAZZ.js";
import {
  __toESM
} from "./chunk-NBMM2TZK.js";

// src/pages/stores/store-details/components/store-details.tsx
import { Children as Children3, useState as useState2 } from "react";
import { useParams } from "react-router-dom";
import { useTranslation as useTranslation13 } from "react-i18next";
var import_types3 = __toESM(require_dist(), 1);

// src/pages/stores/store-details/components/store-general-section.tsx
import { Children as Children2 } from "react";
import { Badge, Container, Text } from "@medusajs/ui";
import { useTranslation as useTranslation2 } from "react-i18next";

// src/pages/stores/store-details/components/store-detail-header.tsx
import { Children } from "react";
import { CheckCircleSolid, PencilSquare } from "@medusajs/icons";
import { Avatar, Heading, StatusBadge, Tooltip } from "@medusajs/ui";
import { useTranslation } from "react-i18next";
var import_types = __toESM(require_dist(), 1);
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
var getStatusColor = (status) => {
  switch (status) {
    case import_types.SellerStatus.OPEN:
      return "green";
    case import_types.SellerStatus.PENDING_APPROVAL:
      return "orange";
    case import_types.SellerStatus.SUSPENDED:
    case import_types.SellerStatus.TERMINATED:
      return "red";
    default:
      return "grey";
  }
};
var getStatusLabel = (status, t) => {
  switch (status) {
    case import_types.SellerStatus.OPEN:
      return t("stores.status.open");
    case import_types.SellerStatus.PENDING_APPROVAL:
      return t("stores.status.pending_approval");
    case import_types.SellerStatus.SUSPENDED:
      return t("stores.status.suspended");
    case import_types.SellerStatus.TERMINATED:
      return t("stores.status.terminated");
    default:
      return status;
  }
};
var StoreDetailTitle = ({ seller }) => {
  const { t } = useTranslation();
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-4", children: [
    /* @__PURE__ */ jsx(
      Avatar,
      {
        variant: "squared",
        size: "large",
        src: seller.logo || void 0,
        fallback: seller.name.charAt(0).toUpperCase()
      }
    ),
    /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
      /* @__PURE__ */ jsx(Heading, { children: seller.name }),
      seller.is_premium && /* @__PURE__ */ jsx(Tooltip, { content: t("stores.fields.premium"), children: /* @__PURE__ */ jsx(CheckCircleSolid, { className: "text-ui-tag-blue-icon" }) })
    ] })
  ] });
};
var StoreDetailEditButton = ({ seller }) => {
  const { t } = useTranslation();
  return /* @__PURE__ */ jsx(
    ActionMenu,
    {
      groups: [
        {
          actions: [
            {
              icon: /* @__PURE__ */ jsx(PencilSquare, {}),
              label: t("actions.edit"),
              to: `/stores/${seller.id}/edit`
            }
          ]
        }
      ]
    }
  );
};
var StoreDetailActions = ({
  seller,
  children
}) => {
  const { t } = useTranslation();
  return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-x-2", children: Children.count(children) > 0 ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
    /* @__PURE__ */ jsx(StatusBadge, { color: getStatusColor(seller.status), children: getStatusLabel(seller.status, t) }),
    /* @__PURE__ */ jsx(
      ActionMenu,
      {
        groups: [
          {
            actions: [
              {
                icon: /* @__PURE__ */ jsx(PencilSquare, {}),
                label: t("actions.edit"),
                to: `/stores/${seller.id}/edit`
              }
            ]
          }
        ]
      }
    )
  ] }) });
};
var StoreDetailHeader = ({
  seller,
  children
}) => {
  return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between px-6 py-4", children: Children.count(children) > 0 ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
    /* @__PURE__ */ jsx(StoreDetailTitle, { seller }),
    /* @__PURE__ */ jsx(StoreDetailActions, { seller })
  ] }) });
};

// src/pages/stores/store-details/components/store-general-section.tsx
import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
var StoreGeneralSection = ({
  seller,
  children
}) => {
  const { t } = useTranslation2();
  return /* @__PURE__ */ jsx2(Container, { className: "divide-y p-0", children: Children2.count(children) > 0 ? children : /* @__PURE__ */ jsxs2(Fragment2, { children: [
    /* @__PURE__ */ jsx2("div", { className: "bg-ui-bg-subtle relative h-32 w-full overflow-hidden rounded-t-lg", children: seller.banner ? /* @__PURE__ */ jsx2(
      "img",
      {
        src: seller.banner,
        alt: seller.name,
        className: "h-full w-full object-cover"
      }
    ) : /* @__PURE__ */ jsx2("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsx2(
      "div",
      {
        className: "h-full w-full",
        style: {
          background: `repeating-linear-gradient(
                      -45deg,
                      transparent,
                      transparent 10px,
                      rgba(255,255,255,0.5) 10px,
                      rgba(255,255,255,0.5) 20px
                    )`
        }
      }
    ) }) }),
    /* @__PURE__ */ jsx2(StoreDetailHeader, { seller }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.description") }),
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: seller.description || "-" })
    ] }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.handle") }),
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: seller.handle ? `/${seller.handle}` : "-" })
    ] }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.email") }),
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: seller.email || "-" })
    ] }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.phone") }),
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: seller.phone || "-" })
    ] }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.website") }),
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: seller.website_url || "-" })
    ] }),
    /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle grid grid-cols-2 px-6 py-4", children: [
      /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t("fields.currency") }),
      /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-2", children: [
        /* @__PURE__ */ jsx2(Badge, { size: "2xsmall", children: seller.currency_code?.toUpperCase() }),
        /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", children: currencies[seller.currency_code?.toUpperCase()]?.name || "-" })
      ] })
    ] })
  ] }) });
};

// src/pages/stores/store-details/components/store-payment-details-section.tsx
import { CreditCard, PencilSquare as PencilSquare2 } from "@medusajs/icons";
import { Container as Container2, Heading as Heading2, Text as Text2 } from "@medusajs/ui";
import { useTranslation as useTranslation3 } from "react-i18next";
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
var StorePaymentDetailsSection = ({
  seller
}) => {
  const { t } = useTranslation3();
  const details = seller.payment_details;
  const isABA = details?.country_code === "us";
  const accountIdentifier = isABA ? details?.account_number : details?.iban;
  const subtitle = [details?.bank_name, accountIdentifier].filter(Boolean).join(" \u2022 ");
  return /* @__PURE__ */ jsxs3(Container2, { className: "p-0", children: [
    /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between px-6 py-4", children: [
      /* @__PURE__ */ jsx3(Heading2, { level: "h2", children: t("store.paymentDetails.header") }),
      /* @__PURE__ */ jsx3(
        ActionMenu,
        {
          groups: [
            {
              actions: [
                {
                  label: t("actions.edit"),
                  icon: /* @__PURE__ */ jsx3(PencilSquare2, {}),
                  to: `/stores/${seller.id}/payment-details`
                }
              ]
            }
          ]
        }
      )
    ] }),
    details ? /* @__PURE__ */ jsx3("div", { className: "flex flex-col gap-2 px-2 pb-2", children: /* @__PURE__ */ jsx3("div", { className: "px-4 pb-2", children: /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-4", children: [
      /* @__PURE__ */ jsx3(IconAvatar, { size: "large", variant: "squared", children: /* @__PURE__ */ jsx3(CreditCard, {}) }),
      /* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col", children: [
        /* @__PURE__ */ jsx3(Text2, { size: "small", leading: "compact", weight: "plus", children: details.holder_name || "-" }),
        /* @__PURE__ */ jsx3(
          Text2,
          {
            size: "small",
            leading: "compact",
            className: "text-ui-fg-subtle",
            children: subtitle || "-"
          }
        )
      ] })
    ] }) }) }) : /* @__PURE__ */ jsxs3("div", { className: "flex flex-col items-center gap-y-1 pb-6 pt-2", children: [
      /* @__PURE__ */ jsx3(Text2, { size: "small", leading: "compact", weight: "plus", children: t("store.paymentDetails.empty.title") }),
      /* @__PURE__ */ jsx3(Text2, { size: "small", className: "text-ui-fg-muted", children: t("store.paymentDetails.empty.message") })
    ] })
  ] });
};

// src/pages/stores/store-details/components/store-company-details-section.tsx
import { Buildings, PencilSquare as PencilSquare3 } from "@medusajs/icons";
import { Container as Container3, Heading as Heading3, Text as Text3 } from "@medusajs/ui";
import { useTranslation as useTranslation4 } from "react-i18next";
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
var StoreCompanyDetailsSection = ({
  seller
}) => {
  const { t } = useTranslation4();
  const details = seller.professional_details;
  const hasDetails = details?.corporate_name || details?.registration_number || details?.tax_id;
  return /* @__PURE__ */ jsxs4(Container3, { className: "p-0", children: [
    /* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-between px-6 py-4", children: [
      /* @__PURE__ */ jsx4(Heading3, { level: "h2", children: t("store.professionalDetails.header") }),
      /* @__PURE__ */ jsx4(
        ActionMenu,
        {
          groups: [
            {
              actions: [
                {
                  label: t("actions.edit"),
                  icon: /* @__PURE__ */ jsx4(PencilSquare3, {}),
                  to: `/stores/${seller.id}/professional-details`
                }
              ]
            }
          ]
        }
      )
    ] }),
    hasDetails ? /* @__PURE__ */ jsx4("div", { className: "flex flex-col gap-2 px-2 pb-2", children: /* @__PURE__ */ jsx4("div", { className: "px-4 pb-2", children: /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-4", children: [
      /* @__PURE__ */ jsx4(IconAvatar, { size: "large", variant: "squared", children: /* @__PURE__ */ jsx4(Buildings, {}) }),
      /* @__PURE__ */ jsxs4("div", { className: "flex flex-1 flex-col", children: [
        /* @__PURE__ */ jsx4(Text3, { size: "small", leading: "compact", weight: "plus", children: details?.corporate_name || "-" }),
        /* @__PURE__ */ jsx4(
          Text3,
          {
            size: "small",
            leading: "compact",
            className: "text-ui-fg-subtle",
            children: [details?.registration_number, details?.tax_id].filter(Boolean).join(" \xB7 ") || "-"
          }
        )
      ] })
    ] }) }) }) : /* @__PURE__ */ jsxs4("div", { className: "flex flex-col items-center gap-y-1 pb-6 pt-2", children: [
      /* @__PURE__ */ jsx4(Text3, { size: "small", leading: "compact", weight: "plus", children: t("store.professionalDetails.empty.title") }),
      /* @__PURE__ */ jsx4(Text3, { size: "small", className: "text-ui-fg-muted", children: t("store.professionalDetails.empty.message") })
    ] })
  ] });
};

// src/pages/stores/store-details/components/store-configuration-section.tsx
import { CalendarMini } from "@medusajs/icons";
import { Container as Container4, Heading as Heading4, Table } from "@medusajs/ui";
import { useTranslation as useTranslation5 } from "react-i18next";
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
var StoreConfigurationSection = ({
  seller
}) => {
  const { t } = useTranslation5();
  const hasTimeOff = Boolean(seller.closed_from || seller.closed_to);
  return /* @__PURE__ */ jsxs5(Container4, { className: "divide-y p-0", children: [
    /* @__PURE__ */ jsx5("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx5(Heading4, { level: "h2", children: t("store.timeOff.header") }) }),
    hasTimeOff ? /* @__PURE__ */ jsxs5(Table, { children: [
      /* @__PURE__ */ jsx5(Table.Header, { children: /* @__PURE__ */ jsxs5(Table.Row, { children: [
        /* @__PURE__ */ jsx5(Table.HeaderCell, { children: t("fields.startDate") }),
        /* @__PURE__ */ jsx5(Table.HeaderCell, { children: t("fields.endDate") }),
        /* @__PURE__ */ jsx5(Table.HeaderCell, { children: t("fields.note") })
      ] }) }),
      /* @__PURE__ */ jsx5(Table.Body, { children: /* @__PURE__ */ jsxs5(Table.Row, { children: [
        /* @__PURE__ */ jsx5(Table.Cell, { children: /* @__PURE__ */ jsx5(DateCell, { date: seller.closed_from ?? null }) }),
        /* @__PURE__ */ jsx5(Table.Cell, { children: /* @__PURE__ */ jsx5(DateCell, { date: seller.closed_to ?? null }) }),
        /* @__PURE__ */ jsx5(Table.Cell, { children: /* @__PURE__ */ jsx5("span", { className: "text-ui-fg-base", children: seller.closure_note || "-" }) })
      ] }) })
    ] }) : /* @__PURE__ */ jsx5(
      NoRecords,
      {
        icon: /* @__PURE__ */ jsx5(CalendarMini, { className: "text-ui-fg-subtle" }),
        title: t("store.timeOff.empty.title"),
        message: t("store.timeOff.empty.message")
      }
    )
  ] });
};

// src/pages/stores/store-details/components/store-address-section.tsx
import { BuildingStorefront, PencilSquare as PencilSquare4 } from "@medusajs/icons";
import { Container as Container5, Heading as Heading5, Text as Text4 } from "@medusajs/ui";
import { useTranslation as useTranslation6 } from "react-i18next";
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
var StoreAddressSection = ({ seller }) => {
  const { t } = useTranslation6();
  const address = seller.address;
  const formatAddress = () => {
    const parts = [
      address?.address_1,
      address?.city,
      address?.postal_code,
      address?.country_code?.toUpperCase()
    ].filter(Boolean);
    return parts.length > 0 ? parts.join(", ") : null;
  };
  const formattedAddress = formatAddress();
  return /* @__PURE__ */ jsxs6(Container5, { className: "p-0", children: [
    /* @__PURE__ */ jsxs6("div", { className: "flex items-center justify-between px-6 py-4", children: [
      /* @__PURE__ */ jsx6(Heading5, { level: "h2", children: t("store.address.header") }),
      /* @__PURE__ */ jsx6(
        ActionMenu,
        {
          groups: [
            {
              actions: [
                {
                  label: t("actions.edit"),
                  icon: /* @__PURE__ */ jsx6(PencilSquare4, {}),
                  to: `/stores/${seller.id}/edit-address`
                }
              ]
            }
          ]
        }
      )
    ] }),
    formattedAddress ? /* @__PURE__ */ jsx6("div", { className: "flex flex-col gap-2 px-2 pb-2", children: /* @__PURE__ */ jsx6("div", { className: "px-4 pb-2", children: /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-4", children: [
      /* @__PURE__ */ jsx6(IconAvatar, { size: "large", variant: "squared", children: /* @__PURE__ */ jsx6(BuildingStorefront, {}) }),
      /* @__PURE__ */ jsxs6("div", { className: "flex flex-1 flex-col", children: [
        /* @__PURE__ */ jsx6(Text4, { size: "small", leading: "compact", weight: "plus", children: address?.name || t("store.address.defaultName") }),
        /* @__PURE__ */ jsx6(
          Text4,
          {
            size: "small",
            leading: "compact",
            className: "text-ui-fg-subtle",
            children: formattedAddress
          }
        )
      ] })
    ] }) }) }) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-col items-center gap-y-1 pb-6 pt-2", children: [
      /* @__PURE__ */ jsx6(Text4, { size: "small", leading: "compact", weight: "plus", children: t("store.address.empty.title") }),
      /* @__PURE__ */ jsx6(Text4, { size: "small", className: "text-ui-fg-muted", children: t("store.address.empty.message") })
    ] })
  ] });
};

// src/pages/stores/store-details/components/store-subscription-section.tsx
import { CurrencyDollar, TriangleRightMini } from "@medusajs/icons";
import { Container as Container6, Heading as Heading6, Text as Text5 } from "@medusajs/ui";
import { useTranslation as useTranslation7 } from "react-i18next";
import { Link } from "react-router-dom";
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
var StoreSubscriptionSection = ({
  seller
}) => {
  const { t } = useTranslation7();
  const { subscription_plans } = useSubscriptionPlans({
    currency_code: seller.currency_code,
    limit: 100,
    offset: 0
  });
  const plan = subscription_plans?.find(
    (p) => p.currency_code === seller.currency_code
  );
  if (!plan) {
    return null;
  }
  const override = plan.overrides?.find(
    (o) => o.reference === "seller" && o.reference_id === seller.id
  );
  const effectiveAmount = override?.monthly_amount ?? plan.monthly_amount;
  return /* @__PURE__ */ jsxs7(Container6, { className: "p-0", children: [
    /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx7(Heading6, { level: "h2", children: t("store.subscription.header") }) }),
    /* @__PURE__ */ jsx7("div", { className: "flex flex-col gap-2 px-2 pb-2", children: /* @__PURE__ */ jsx7(
      Link,
      {
        to: `/subscription-plans/${plan.id}`,
        className: "group outline-none rounded-md focus-within:shadow-borders-interactive-with-focus [&:hover>div]:bg-ui-bg-component-hover",
        children: /* @__PURE__ */ jsx7("div", { className: "shadow-elevation-card-rest bg-ui-bg-component rounded-md px-4 py-2 transition-colors", children: /* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-4", children: [
          /* @__PURE__ */ jsx7(IconAvatar, { size: "large", variant: "squared", children: /* @__PURE__ */ jsx7(CurrencyDollar, {}) }),
          /* @__PURE__ */ jsxs7("div", { className: "flex flex-1 flex-col", children: [
            /* @__PURE__ */ jsx7(Text5, { size: "small", leading: "compact", weight: "plus", children: plan.currency_code.toUpperCase() }),
            /* @__PURE__ */ jsxs7(
              Text5,
              {
                size: "small",
                leading: "compact",
                className: "text-ui-fg-subtle",
                children: [
                  getStylizedAmount(effectiveAmount, plan.currency_code),
                  "/",
                  t("store.subscription.month")
                ]
              }
            )
          ] }),
          /* @__PURE__ */ jsx7("div", { className: "flex size-7 items-center justify-center", children: /* @__PURE__ */ jsx7(TriangleRightMini, { className: "text-ui-fg-muted" }) })
        ] }) })
      }
    ) })
  ] });
};

// src/pages/stores/store-details/components/store-members-section/store-members-section.tsx
import { Button, Container as Container7, Heading as Heading7 } from "@medusajs/ui";
import { useTranslation as useTranslation9 } from "react-i18next";
import { Link as Link2 } from "react-router-dom";

// src/pages/stores/store-details/components/store-members-section/store-members-data-table.tsx
import { useMemo } from "react";
import { ArrowPath, Link as LinkIcon, Trash, User } from "@medusajs/icons";
import { Badge as Badge2, toast } from "@medusajs/ui";
import { keepPreviousData } from "@tanstack/react-query";
import { createColumnHelper } from "@tanstack/react-table";
import { useTranslation as useTranslation8 } from "react-i18next";
var import_types2 = __toESM(require_dist(), 1);
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
var PAGE_SIZE = 20;
var ROLE_TRANSLATION_MAP = {
  [import_types2.SellerRole.SELLER_ADMINISTRATION]: "users.roles.administration",
  [import_types2.SellerRole.INVENTORY_MANAGEMENT]: "users.roles.inventoryManagement",
  [import_types2.SellerRole.ORDER_MANAGEMENT]: "users.roles.orderManagement",
  [import_types2.SellerRole.ACCOUNTING]: "users.roles.accounting",
  [import_types2.SellerRole.SUPPORT]: "users.roles.support"
};
var trimTrailingSlashes = (value) => {
  let end = value.length;
  while (end > 0 && value.charCodeAt(end - 1) === 47) {
    end -= 1;
  }
  return end === value.length ? value : value.slice(0, end);
};
var buildVendorInviteUrl = (token) => {
  const vendorBase = trimTrailingSlashes(__VENDOR_URL__ || "/seller");
  const url = new URL(
    `${vendorBase}/invite`,
    typeof window === "undefined" ? "http://localhost" : window.location.origin
  );
  url.searchParams.set("token", token);
  return url.toString();
};
var StoreMembersDataTable = ({
  sellerId
}) => {
  const { t } = useTranslation8();
  const { raw } = useMemberTableQuery({ pageSize: PAGE_SIZE });
  const {
    seller_members,
    isPending: isMembersPending,
    isError,
    error
  } = useSellerMembers(
    sellerId,
    { limit: 100, offset: 0 },
    { placeholderData: keepPreviousData }
  );
  const { member_invites, isPending: isInvitesPending } = useSellerInvites(sellerId);
  const rows = useMemo(() => {
    const members = (seller_members ?? []).map((m) => ({
      kind: "member",
      id: m.id,
      email: m.member?.email ?? "-",
      role_id: m.role_id,
      is_owner: Boolean(m.is_owner),
      created_at: m.created_at,
      updated_at: m.updated_at,
      member: m
    }));
    const hasOwnerMember = members.some((m) => m.is_owner);
    const pendingInvites = (member_invites ?? []).filter((invite) => !invite.accepted);
    const inviteIsFutureOwner = !hasOwnerMember && pendingInvites.length === 1;
    const invites = pendingInvites.map((invite) => ({
      kind: "invite",
      id: invite.id,
      email: invite.email,
      role_id: invite.role_id,
      token: invite.token,
      is_owner: inviteIsFutureOwner,
      created_at: invite.created_at,
      updated_at: invite.updated_at
    }));
    return [...invites, ...members];
  }, [seller_members, member_invites]);
  const columns = useColumns(sellerId);
  const { table } = useDataTable({
    data: rows,
    columns,
    enablePagination: true,
    count: rows.length,
    pageSize: PAGE_SIZE,
    getRowId: (row) => `${row.kind}:${row.id}`
  });
  if (isError) {
    throw error;
  }
  return /* @__PURE__ */ jsx8(
    _DataTable,
    {
      table,
      columns,
      count: rows.length,
      pageSize: PAGE_SIZE,
      pagination: true,
      isLoading: isMembersPending || isInvitesPending,
      queryObject: raw,
      orderBy: [
        { key: "created_at", label: t("fields.createdAt") },
        { key: "updated_at", label: t("fields.updatedAt") }
      ],
      noRecords: {
        title: t("stores.emptyStates.users.title", "No users yet"),
        message: t(
          "stores.emptyStates.users.message",
          "Invite the first user to manage this store."
        ),
        icon: /* @__PURE__ */ jsx8(User, { className: "text-ui-fg-subtle" })
      }
    }
  );
};
var columnHelper = createColumnHelper();
var useColumns = (sellerId) => {
  const { t } = useTranslation8();
  return useMemo(
    () => [
      columnHelper.accessor("email", {
        header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.email") }) }),
        cell: ({ row }) => /* @__PURE__ */ jsxs8("div", { className: "flex size-full items-center gap-x-2 overflow-hidden", children: [
          /* @__PURE__ */ jsx8("span", { className: "truncate", children: row.original.email }),
          row.original.is_owner && /* @__PURE__ */ jsx8(
            Badge2,
            {
              size: "2xsmall",
              color: "grey",
              className: "flex-shrink-0",
              children: t("stores.members.mainAdmin", "Admin")
            }
          )
        ] })
      }),
      columnHelper.accessor("role_id", {
        header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.role") }) }),
        cell: ({ row }) => {
          const roleId = row.original.role_id;
          const translationKey = ROLE_TRANSLATION_MAP[roleId];
          const label = translationKey ? t(translationKey) : "-";
          return /* @__PURE__ */ jsx8("div", { className: "flex size-full items-center overflow-hidden", children: /* @__PURE__ */ jsx8("span", { className: "truncate", children: label }) });
        }
      }),
      columnHelper.display({
        id: "status",
        header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.status") }) }),
        cell: ({ row }) => {
          const isPending = row.original.kind === "invite";
          return /* @__PURE__ */ jsx8(DataTableStatusCell, { color: isPending ? "orange" : "green", children: isPending ? t("users.status.pending") : t("users.status.active") });
        }
      }),
      columnHelper.display({
        id: "actions",
        cell: ({ row }) => {
          if (row.original.kind === "member") {
            if (row.original.is_owner) return null;
            return /* @__PURE__ */ jsx8(
              MemberActions,
              {
                member: row.original.member,
                sellerId
              }
            );
          }
          return /* @__PURE__ */ jsx8(InviteActions, { invite: row.original, sellerId });
        }
      })
    ],
    [t, sellerId]
  );
};
var InviteActions = ({
  invite,
  sellerId
}) => {
  const { t } = useTranslation8();
  const { mutateAsync: resend } = useResendSellerInvite(sellerId);
  const { mutateAsync: deleteInvite } = useDeleteSellerInvite(sellerId);
  const handleResend = async () => {
    try {
      await resend({ invite_id: invite.id });
      toast.success(
        t("stores.members.invite.resendSuccess", { email: invite.email })
      );
    } catch (e) {
      toast.error(e.message);
    }
  };
  const handleCopyLink = async () => {
    try {
      let token = invite.token;
      if (!token) {
        const response = await resend({ invite_id: invite.id });
        token = response?.member_invite?.token ?? null;
      }
      if (!token) {
        toast.error(t("stores.members.invite.noVendorUrl"));
        return;
      }
      await navigator.clipboard.writeText(buildVendorInviteUrl(token));
      toast.success(t("stores.members.invite.linkCopied"));
    } catch (e) {
      toast.error(e.message);
    }
  };
  const handleDelete = async () => {
    try {
      await deleteInvite({ invite_id: invite.id });
      toast.success(
        t("stores.members.invite.deleteSuccess", { email: invite.email })
      );
    } catch (e) {
      toast.error(e.message);
    }
  };
  const groups = [
    {
      actions: [
        {
          icon: /* @__PURE__ */ jsx8(ArrowPath, {}),
          label: t("users.resendInvite"),
          onClick: handleResend
        },
        {
          icon: /* @__PURE__ */ jsx8(LinkIcon, {}),
          label: t("users.copyInviteLink"),
          onClick: handleCopyLink
        }
      ]
    },
    {
      actions: [
        {
          icon: /* @__PURE__ */ jsx8(Trash, {}),
          label: t("actions.delete"),
          onClick: handleDelete
        }
      ]
    }
  ];
  return /* @__PURE__ */ jsx8(ActionMenu, { groups });
};
var MemberActions = ({
  member,
  sellerId
}) => {
  const { t } = useTranslation8();
  const { mutateAsync: removeMember } = useRemoveSellerMember(
    sellerId,
    member.id
  );
  const handleRemove = async () => {
    try {
      await removeMember();
      toast.success(
        t("users.deleteUserSuccess", {
          name: member.member?.email
        })
      );
    } catch (e) {
      toast.error(e.message);
    }
  };
  return /* @__PURE__ */ jsx8(
    ActionMenu,
    {
      groups: [
        {
          actions: [
            {
              icon: /* @__PURE__ */ jsx8(Trash, {}),
              label: t("actions.remove"),
              onClick: handleRemove
            }
          ]
        }
      ]
    }
  );
};

// src/pages/stores/store-details/components/store-members-section/store-members-section.tsx
import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
var StoreMembersSection = ({ sellerId }) => {
  const { t } = useTranslation9();
  return /* @__PURE__ */ jsxs9(Container7, { className: "divide-y p-0", children: [
    /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between px-6 py-4", children: [
      /* @__PURE__ */ jsx9(Heading7, { level: "h2", children: t("users.domain", "Users") }),
      /* @__PURE__ */ jsx9(Link2, { to: "invite", children: /* @__PURE__ */ jsx9(Button, { size: "small", variant: "secondary", children: t("stores.members.addUser.action", "Add") }) })
    ] }),
    /* @__PURE__ */ jsx9(StoreMembersDataTable, { sellerId })
  ] });
};

// src/pages/stores/store-details/components/store-request-section.tsx
import { useState } from "react";
import { ExclamationCircleSolid } from "@medusajs/icons";
import {
  Button as Button2,
  Container as Container8,
  Heading as Heading8,
  Prompt,
  Text as Text6,
  Textarea,
  toast as toast2
} from "@medusajs/ui";
import { useTranslation as useTranslation10 } from "react-i18next";
import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
var StoreRequestSection = ({ seller }) => {
  const { t } = useTranslation10();
  const { mutateAsync: approveSeller, isPending: isApproving } = useApproveSeller(seller.id);
  const { mutateAsync: suspendSeller, isPending: isRejecting } = useSuspendSeller(seller.id);
  const { seller_members } = useSellerMembers(seller.id, { limit: 100 });
  const owner = seller_members?.find(
    (m) => m.is_owner
  );
  const ownerFullName = [owner?.member?.first_name, owner?.member?.last_name].filter(Boolean).join(" ").trim();
  const requesterLabel = ownerFullName || owner?.member?.email || seller.email || seller.name;
  return /* @__PURE__ */ jsxs10(Container8, { className: "p-0", children: [
    /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-x-3 border-b border-ui-border-base px-6 py-4", children: [
      /* @__PURE__ */ jsx10(ExclamationCircleSolid, { className: "text-ui-tag-blue-icon" }),
      /* @__PURE__ */ jsx10(Heading8, { level: "h2", children: t("stores.request.title") })
    ] }),
    /* @__PURE__ */ jsx10("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsx10(Text6, { className: "text-ui-fg-subtle", children: t("stores.request.description", { requester: requesterLabel }) }) }),
    /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-end gap-x-2 rounded-b-lg border-t border-ui-border-base bg-ui-bg-subtle px-6 py-4", children: [
      /* @__PURE__ */ jsx10(
        RequestActionPrompt,
        {
          trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.confirm") }),
          title: t("stores.request.confirmTitle", "Confirm request"),
          description: t(
            "stores.request.confirmDescription",
            "You are about to confirm this store request."
          ),
          confirmLabel: t("stores.request.confirm"),
          notePlaceholder: t(
            "stores.request.confirmNotePlaceholder",
            "Specify changes you made or additional requests"
          ),
          isLoading: isApproving,
          onConfirm: async (_note) => {
            try {
              await approveSeller();
              toast2.success(t("stores.request.confirmSuccess"));
            } catch (error) {
              toast2.error(error.message);
              throw error;
            }
          }
        }
      ),
      /* @__PURE__ */ jsx10(
        RequestActionPrompt,
        {
          trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.reject") }),
          title: t("stores.request.rejectTitle", "Reject request"),
          description: t(
            "stores.request.rejectDescription",
            "You are about to reject this store request."
          ),
          confirmLabel: t("stores.request.reject"),
          notePlaceholder: t(
            "stores.request.rejectNotePlaceholder",
            "Explain why you reject the request or suggest changes"
          ),
          isLoading: isRejecting,
          onConfirm: async (note) => {
            try {
              await suspendSeller({ reason: note || void 0 });
              toast2.success(t("stores.request.rejectSuccess"));
            } catch (error) {
              toast2.error(error.message);
              throw error;
            }
          }
        }
      )
    ] })
  ] });
};
var RequestActionPrompt = ({
  trigger,
  title,
  description,
  notePlaceholder,
  confirmLabel,
  isLoading,
  onConfirm
}) => {
  const { t } = useTranslation10();
  const [open, setOpen] = useState(false);
  const [note, setNote] = useState("");
  const handleSubmit = async () => {
    try {
      await onConfirm(note);
      setOpen(false);
      setNote("");
    } catch {
    }
  };
  return /* @__PURE__ */ jsxs10(Prompt, { open, onOpenChange: setOpen, children: [
    /* @__PURE__ */ jsx10(Prompt.Trigger, { asChild: true, children: trigger }),
    /* @__PURE__ */ jsxs10(Prompt.Content, { children: [
      /* @__PURE__ */ jsxs10(Prompt.Header, { children: [
        /* @__PURE__ */ jsx10(Prompt.Title, { children: title }),
        /* @__PURE__ */ jsx10(Prompt.Description, { children: description })
      ] }),
      /* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-3" }),
      /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-y-3 px-6 py-3", children: [
        /* @__PURE__ */ jsxs10(Text6, { size: "small", weight: "plus", className: "text-ui-fg-base", children: [
          t("stores.request.noteLabel", "Notes for vendor"),
          " ",
          /* @__PURE__ */ jsxs10("span", { className: "text-ui-fg-muted font-normal", children: [
            "(",
            t("fields.optional", "Optional"),
            ")"
          ] })
        ] }),
        /* @__PURE__ */ jsx10(
          Textarea,
          {
            placeholder: notePlaceholder,
            value: note,
            onChange: (e) => setNote(e.target.value)
          }
        )
      ] }),
      /* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-2" }),
      /* @__PURE__ */ jsxs10(Prompt.Footer, { children: [
        /* @__PURE__ */ jsx10(Prompt.Cancel, { disabled: isLoading, children: t("actions.cancel") }),
        /* @__PURE__ */ jsx10(
          Button2,
          {
            size: "small",
            variant: "primary",
            onClick: handleSubmit,
            isLoading,
            children: confirmLabel
          }
        )
      ] })
    ] })
  ] });
};

// src/pages/stores/store-details/components/store-orders-section.tsx
import { ShoppingCart } from "@medusajs/icons";
import { Container as Container9, Heading as Heading9 } from "@medusajs/ui";
import { keepPreviousData as keepPreviousData2 } from "@tanstack/react-query";
import { useTranslation as useTranslation11 } from "react-i18next";
import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
var PAGE_SIZE2 = 10;
var PREFIX = "store-orders";
var DEFAULT_RELATIONS = "*customer,*items,*sales_channel";
var DEFAULT_FIELDS = "id,status,display_id,created_at,email,fulfillment_status,payment_status,total,currency_code";
var StoreOrdersSection = ({ sellerId }) => {
  const { t } = useTranslation11();
  const { searchParams, raw } = useOrderTableQuery({
    pageSize: PAGE_SIZE2,
    prefix: PREFIX
  });
  const { orders, count, isLoading, isError, error } = useOrders(
    {
      ...searchParams,
      seller_id: [sellerId],
      fields: `${DEFAULT_FIELDS},${DEFAULT_RELATIONS}`
    },
    {
      placeholderData: keepPreviousData2
    }
  );
  const columns = useOrderTableColumns({
    exclude: ["sales_channel", "actions"]
  });
  const filters = useOrderTableFilters();
  const { table } = useDataTable({
    data: orders ?? [],
    columns,
    enablePagination: true,
    count,
    pageSize: PAGE_SIZE2,
    prefix: PREFIX
  });
  if (isError) {
    throw error;
  }
  return /* @__PURE__ */ jsxs11(Container9, { className: "divide-y p-0", "data-testid": "store-orders-section", children: [
    /* @__PURE__ */ jsx11(
      "div",
      {
        className: "flex items-center justify-between px-6 py-4",
        "data-testid": "store-orders-section-header",
        children: /* @__PURE__ */ jsx11(Heading9, { level: "h2", "data-testid": "store-orders-section-heading", children: t("orders.domain") })
      }
    ),
    /* @__PURE__ */ jsx11(
      _DataTable,
      {
        columns,
        table,
        pagination: true,
        navigateTo: (row) => `/orders/${row.original.id}`,
        filters,
        count,
        isLoading,
        pageSize: PAGE_SIZE2,
        orderBy: [
          { key: "display_id", label: t("orders.fields.displayId") },
          { key: "created_at", label: t("fields.createdAt") },
          { key: "updated_at", label: t("fields.updatedAt") }
        ],
        search: true,
        queryObject: raw,
        prefix: PREFIX,
        noRecords: {
          title: t("stores.emptyStates.orders.title", "No orders yet"),
          message: t(
            "stores.emptyStates.orders.message",
            "Orders placed at this store will appear here."
          ),
          icon: /* @__PURE__ */ jsx11(ShoppingCart, { className: "text-ui-fg-subtle" })
        }
      }
    )
  ] });
};

// src/pages/stores/store-details/components/store-products-section.tsx
import { Tag } from "@medusajs/icons";
import { Container as Container10, Heading as Heading10 } from "@medusajs/ui";
import { keepPreviousData as keepPreviousData3 } from "@tanstack/react-query";
import { useTranslation as useTranslation12 } from "react-i18next";
import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
var PAGE_SIZE3 = 10;
var PREFIX2 = "store-products";
var StoreProductsSection = ({
  sellerId
}) => {
  const { t } = useTranslation12();
  const { searchParams, raw } = useProductTableQuery({
    pageSize: PAGE_SIZE3,
    prefix: PREFIX2
  });
  const { products, count, isPending, isError, error } = useSellerProducts(
    sellerId,
    searchParams,
    {
      placeholderData: keepPreviousData3
    }
  );
  const columns = useProductTableColumns();
  const filters = useProductTableFilters(["product_types"]);
  const { table } = useDataTable({
    columns,
    data: products ?? [],
    count,
    getRowId: (row) => row.id,
    pageSize: PAGE_SIZE3,
    prefix: PREFIX2
  });
  if (isError) {
    throw error;
  }
  return /* @__PURE__ */ jsxs12(Container10, { className: "divide-y p-0", "data-testid": "store-products-section", children: [
    /* @__PURE__ */ jsx12(
      "div",
      {
        className: "flex items-center justify-between px-6 py-4",
        "data-testid": "store-products-section-header",
        children: /* @__PURE__ */ jsx12(Heading10, { level: "h2", "data-testid": "store-products-section-heading", children: t("products.domain") })
      }
    ),
    /* @__PURE__ */ jsx12(
      _DataTable,
      {
        table,
        filters,
        isLoading: isPending,
        columns,
        count,
        pageSize: PAGE_SIZE3,
        navigateTo: ({ original }) => `/products/${original.id}`,
        orderBy: [
          { key: "title", label: t("fields.title") },
          { key: "created_at", label: t("fields.createdAt") },
          { key: "updated_at", label: t("fields.updatedAt") }
        ],
        queryObject: raw,
        search: true,
        pagination: true,
        prefix: PREFIX2,
        noRecords: {
          title: t("stores.emptyStates.products.title", "No products yet"),
          message: t(
            "stores.emptyStates.products.message",
            "Products published by this store will appear here."
          ),
          icon: /* @__PURE__ */ jsx12(Tag, { className: "text-ui-fg-subtle" })
        }
      }
    )
  ] });
};

// src/pages/stores/store-details/components/store-details.tsx
import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
var TABS = ["orders", "products", "users", "timeOff"];
var TabBar = ({
  activeTab,
  onTabChange
}) => {
  const { t } = useTranslation13();
  const labels = {
    orders: t("orders.domain"),
    users: t("users.domain"),
    products: t("products.domain"),
    timeOff: t("store.timeOff.header")
  };
  return /* @__PURE__ */ jsx13(
    "div",
    {
      role: "tablist",
      "aria-label": t("stores.domain"),
      className: "flex flex-wrap items-center gap-x-3 py-2",
      "data-testid": "store-detail-tabs",
      children: TABS.map((tab) => {
        const isActive = activeTab === tab;
        return /* @__PURE__ */ jsx13(
          "button",
          {
            type: "button",
            onClick: () => onTabChange(tab),
            role: "tab",
            "aria-selected": isActive,
            "aria-controls": `store-detail-tab-panel-${tab}`,
            id: `store-detail-tab-${tab}`,
            "data-testid": `store-detail-tab-${tab}`,
            className: `txt-compact-medium-plus rounded-full px-4 py-1.5 transition-colors ${isActive ? "border-ui-border-base bg-ui-bg-base shadow-borders-base text-ui-fg-base" : "text-ui-fg-subtle hover:text-ui-fg-base"}`,
            children: labels[tab]
          },
          tab
        );
      })
    }
  );
};
var Root = ({ children }) => {
  const { id } = useParams();
  const [activeTab, setActiveTab] = useState2("orders");
  const { seller, isLoading, isError, error } = useSeller(id);
  if (isLoading || !seller) {
    return /* @__PURE__ */ jsx13(TwoColumnPageSkeleton, { mainSections: 3, sidebarSections: 3 });
  }
  if (isError) {
    throw error;
  }
  if (Children3.count(children) > 0) {
    return /* @__PURE__ */ jsx13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children });
  }
  return /* @__PURE__ */ jsxs13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children: [
    /* @__PURE__ */ jsxs13(TwoColumnPage.Main, { children: [
      seller.status === import_types3.SellerStatus.PENDING_APPROVAL && !seller.approved_at && !seller.rejected_at && /* @__PURE__ */ jsx13(StoreRequestSection, { seller }),
      /* @__PURE__ */ jsx13(StoreGeneralSection, { seller }),
      /* @__PURE__ */ jsx13(TabBar, { activeTab, onTabChange: setActiveTab }),
      activeTab === "orders" && /* @__PURE__ */ jsx13(
        "div",
        {
          role: "tabpanel",
          id: "store-detail-tab-panel-orders",
          "aria-labelledby": "store-detail-tab-orders",
          children: /* @__PURE__ */ jsx13(StoreOrdersSection, { sellerId: seller.id })
        }
      ),
      activeTab === "users" && /* @__PURE__ */ jsx13(
        "div",
        {
          role: "tabpanel",
          id: "store-detail-tab-panel-users",
          "aria-labelledby": "store-detail-tab-users",
          children: /* @__PURE__ */ jsx13(StoreMembersSection, { sellerId: seller.id })
        }
      ),
      activeTab === "products" && /* @__PURE__ */ jsx13(
        "div",
        {
          role: "tabpanel",
          id: "store-detail-tab-panel-products",
          "aria-labelledby": "store-detail-tab-products",
          children: /* @__PURE__ */ jsx13(StoreProductsSection, { sellerId: seller.id })
        }
      ),
      activeTab === "timeOff" && /* @__PURE__ */ jsx13(
        "div",
        {
          role: "tabpanel",
          id: "store-detail-tab-panel-timeOff",
          "aria-labelledby": "store-detail-tab-timeOff",
          children: /* @__PURE__ */ jsx13(StoreConfigurationSection, { seller })
        }
      )
    ] }),
    /* @__PURE__ */ jsxs13(TwoColumnPage.Sidebar, { children: [
      /* @__PURE__ */ jsx13(StoreAddressSection, { seller }),
      /* @__PURE__ */ jsx13(StoreCompanyDetailsSection, { seller }),
      /* @__PURE__ */ jsx13(StorePaymentDetailsSection, { seller }),
      /* @__PURE__ */ jsx13(StoreSubscriptionSection, { seller })
    ] })
  ] });
};
var StoreDetailPage = Object.assign(Root, {
  Main: TwoColumnPage.Main,
  Sidebar: TwoColumnPage.Sidebar,
  MainGeneralSection: StoreGeneralSection,
  MainConfigurationSection: StoreConfigurationSection,
  MainPaymentDetailsSection: StorePaymentDetailsSection,
  MainCompanyDetailsSection: StoreCompanyDetailsSection,
  SidebarAddressSection: StoreAddressSection,
  SidebarSubscriptionSection: StoreSubscriptionSection,
  SidebarMembersSection: StoreMembersSection,
  Header: StoreDetailHeader,
  HeaderTitle: StoreDetailTitle,
  HeaderActions: StoreDetailActions,
  HeaderEditButton: StoreDetailEditButton
});

export {
  StoreDetailPage
};
