import { Ctx as a } from "./accelbyte-widgets33.mjs";
import { FeatureFlags as t } from "./accelbyte-widgets57.mjs";
import { AccPath as e } from "./accelbyte-widgets34.mjs";
import { FeUtils as r } from "./accelbyte-widgets45.mjs";
import l from "classnames";
import n from "react";
import o from "./accelbyte-widgets334.mjs";
const i = {
  accountOverview: () => a.hasFeature(t.isAccountOverviewVisible),
  redeemCode: () => a.hasFeature(t.isRedeemCodeVisible),
  profile: () => a.hasFeature(t.isMyProfileVisible),
  changePassword: () => a.hasFeature(t.isChangePasswordVisible),
  purchasedItems: () => a.hasFeature(t.isPurchasedItemsVisible),
  orderHistory: () => a.hasFeature(t.isOrderHistoryVisible),
  paymentMethods: () => a.hasFeature(t.isPaymentMethodsVisible),
  privacyRecords: () => a.hasFeature(t.isLegalAgreementsVisible),
  personalData: () => a.hasFeature(t.isPersonalDataVisible),
  deleteAccount: () => a.hasFeature(t.isDeleteAccountVisible),
  linkedAccounts: () => a.hasFeature(t.isLinkedAccountsVisible),
  notification: () => a.hasFeature(t.isNotificationsVisible),
  subscription: () => a.hasFeature(t.isSubscriptionsVisible)
}, p = () => /* @__PURE__ */ n.createElement(
  "div",
  {
    key: "profileSeparator",
    className: l(o.separator, r.separatorVisibility([!!i.accountOverview()], o.hide))
  }
), d = () => /* @__PURE__ */ n.createElement(
  "div",
  {
    key: "purchasedSeparator",
    className: l(
      o.separator,
      r.separatorVisibility(
        [
          !!i.purchasedItems(),
          !!i.subscription(),
          !!i.orderHistory(),
          !!i.paymentMethods(),
          !!i.redeemCode()
        ],
        o.hide
      )
    )
  }
), y = () => /* @__PURE__ */ n.createElement(
  "div",
  {
    key: "notificationSeparator",
    className: l(
      o.separator,
      r.separatorVisibility(
        [
          !!i.notification(),
          !!i.privacyRecords(),
          !!i.personalData(),
          !!i.deleteAccount()
        ],
        o.hide
      )
    )
  }
), f = [
  {
    type: "link",
    key: "overview",
    to: e.Overview.link,
    label: "Navigation.account.overview",
    isVisible: i.accountOverview
  },
  {
    type: "separator",
    component: p
  },
  {
    type: "link",
    key: "profile",
    to: e.Profile.link,
    label: "Navigation.account.profile",
    isVisible: i.profile
  },
  {
    type: "link",
    key: "change-password",
    to: e.ChangePassword.link,
    label: "Navigation.account.changePassword",
    isVisible: i.changePassword
  },
  {
    type: "link",
    key: "linked-accounts",
    to: e.LinkedAccounts.link,
    label: "Navigation.account.linkedAccounts",
    isVisible: i.linkedAccounts
  },
  {
    type: "separator",
    component: d
  },
  {
    type: "link",
    key: "purchased-items",
    to: e.PurchasedItems.link,
    label: "Navigation.account.purchasedItems",
    isVisible: i.purchasedItems
  },
  {
    type: "link",
    key: "order-history",
    to: e.OrderHistory.link,
    label: "Navigation.account.orderHistory",
    isVisible: i.orderHistory
  },
  {
    type: "link",
    key: "payment-methods",
    to: e.PaymentMethods.link,
    label: "Navigation.account.payment-methods",
    isVisible: i.paymentMethods
  },
  {
    type: "link",
    key: "redeem-code",
    to: e.RedeemCode.link,
    label: "Navigation.account.redeemCode",
    isVisible: i.redeemCode
  },
  {
    type: "separator",
    component: y
  },
  {
    type: "link",
    key: "notification",
    to: e.NotificationPreferences.link,
    label: "Navigation.account.notifications",
    isVisible: i.notification
  },
  {
    type: "link",
    key: "legal-agreements",
    to: e.PrivacyRecords.link,
    label: "Navigation.account.privacyRecords",
    isVisible: i.privacyRecords
  },
  {
    type: "link",
    key: "personal-data",
    to: e.PersonalData.link,
    label: "Navigation.account.personalData",
    isVisible: i.personalData
  },
  {
    type: "link",
    key: "account-deletion",
    to: e.AccountDeletion.link,
    label: "Navigation.account.accountDeletion",
    isVisible: i.deleteAccount
  }
], s = (c) => /* @__PURE__ */ n.createElement("div", { key: c, className: o.separator });
e.Overview.link, e.Profile.link, e.ChangePassword.link, e.LinkedAccounts.link, e.PurchasedItems.link, e.OrderHistory.link, e.PaymentMethods.link, e.RedeemCode.link, e.NotificationPreferences.link, e.PrivacyRecords.link, e.PersonalData.link, e.AccountDeletion.link;
export {
  f as accountPageNav,
  i as menuVisibility
};
