@fluid-app/portal-sdk 0.1.424 → 0.1.425
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AppNavigationContext-Idqjc7nS.d.mts → AppNavigationContext-BapA3XvZ.d.mts} +31 -2
- package/dist/{AppNavigationContext-Idqjc7nS.d.mts.map → AppNavigationContext-BapA3XvZ.d.mts.map} +1 -1
- package/dist/{AppNavigationContext-CEKWpFX5.d.cts → AppNavigationContext-C_pNl-VW.d.cts} +31 -2
- package/dist/{AppNavigationContext-CEKWpFX5.d.cts.map → AppNavigationContext-C_pNl-VW.d.cts.map} +1 -1
- package/dist/{FluidProvider-D47n4t4O.mjs → FluidProvider-BXletm_I.mjs} +6 -1
- package/dist/FluidProvider-BXletm_I.mjs.map +1 -0
- package/dist/{FluidProvider-I5DPaIq7.cjs → FluidProvider-BnVDi4-p.cjs} +6 -1
- package/dist/{FluidProvider-I5DPaIq7.cjs.map → FluidProvider-BnVDi4-p.cjs.map} +1 -1
- package/dist/{MessagingScreen-BDdKYIHx.mjs → MessagingScreen-6kz-1RZc.mjs} +2 -2
- package/dist/{MessagingScreen-D0O8xW76.cjs → MessagingScreen-BCgK_dYs.cjs} +2 -2
- package/dist/{MessagingScreen-D0O8xW76.cjs.map → MessagingScreen-BCgK_dYs.cjs.map} +1 -1
- package/dist/{MessagingScreen-PjonlrbP.mjs → MessagingScreen-D4z8CIKL.mjs} +2 -2
- package/dist/{MessagingScreen-PjonlrbP.mjs.map → MessagingScreen-D4z8CIKL.mjs.map} +1 -1
- package/dist/{MessagingScreen-D0wUe3lf.cjs → MessagingScreen-DpJGejgC.cjs} +2 -2
- package/dist/{OrdersScreen-CjGXXxM8.cjs → OrdersScreen-BmyfvEqN.cjs} +2 -2
- package/dist/{OrdersScreen-BHG5eXh0.cjs → OrdersScreen-CYuOVIww.cjs} +2 -2
- package/dist/{OrdersScreen-BHG5eXh0.cjs.map → OrdersScreen-CYuOVIww.cjs.map} +1 -1
- package/dist/{OrdersScreen-DLAI4jsK.mjs → OrdersScreen-o_PLuKUM.mjs} +2 -2
- package/dist/{OrdersScreen-DLAI4jsK.mjs.map → OrdersScreen-o_PLuKUM.mjs.map} +1 -1
- package/dist/{OrdersScreen-LzQQJMzR.mjs → OrdersScreen-vsc-SYkK.mjs} +2 -2
- package/dist/{ProfileScreen-CxDJWEsQ.cjs → ProfileScreen-C5EUzbF8.cjs} +3 -3
- package/dist/{ProfileScreen-C5reXe9_.mjs → ProfileScreen-D83kjWd0.mjs} +3 -3
- package/dist/{ProfileScreen-C5reXe9_.mjs.map → ProfileScreen-D83kjWd0.mjs.map} +1 -1
- package/dist/{ProfileScreen-KbukmlpZ.cjs → ProfileScreen-DzvC_515.cjs} +3 -3
- package/dist/{ProfileScreen-KbukmlpZ.cjs.map → ProfileScreen-DzvC_515.cjs.map} +1 -1
- package/dist/{ProfileScreen-DW25vwP-.mjs → ProfileScreen-YrHltR6x.mjs} +3 -3
- package/dist/{ShopScreen-Duq8iwZ4.cjs → ShopScreen-CBkt_iPr.cjs} +2 -2
- package/dist/{ShopScreen-Duq8iwZ4.cjs.map → ShopScreen-CBkt_iPr.cjs.map} +1 -1
- package/dist/{ShopScreen-CzT9-FEC.mjs → ShopScreen-DVdmH7cK.mjs} +2 -2
- package/dist/{ShopScreen-ek54Fq83.mjs → ShopScreen-D_pNIWJD.mjs} +2 -2
- package/dist/{ShopScreen-ek54Fq83.mjs.map → ShopScreen-D_pNIWJD.mjs.map} +1 -1
- package/dist/{ShopScreen-Bixv5p-I.cjs → ShopScreen-Ecqtinzw.cjs} +2 -2
- package/dist/{SubscriptionsScreen-BtRrPLce.cjs → SubscriptionsScreen-BB6yS_3N.cjs} +3 -3
- package/dist/{SubscriptionsScreen-GRZiq5Zf.mjs → SubscriptionsScreen-CAmRhYlf.mjs} +3 -3
- package/dist/{SubscriptionsScreen-GRZiq5Zf.mjs.map → SubscriptionsScreen-CAmRhYlf.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-BXqG2nYL.cjs → SubscriptionsScreen-CHSL9_VN.cjs} +3 -3
- package/dist/{SubscriptionsScreen-BXqG2nYL.cjs.map → SubscriptionsScreen-CHSL9_VN.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-Un3ltQBo.mjs → SubscriptionsScreen-D2edc5dV.mjs} +3 -3
- package/dist/adapters/account-api-adapter.d.ts.map +1 -1
- package/dist/hooks/use-member-type.d.ts +22 -0
- package/dist/hooks/use-member-type.d.ts.map +1 -0
- package/dist/index.cjs +106 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +66 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +66 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +101 -19
- package/dist/index.mjs.map +1 -1
- package/dist/preview/preview-entry.cjs +2 -2
- package/dist/preview/preview-entry.mjs +2 -2
- package/dist/{use-portal-card-add-3ds-flow-CShDzkkS.cjs → use-portal-card-add-3ds-flow-CXCRBXNa.cjs} +2 -2
- package/dist/{use-portal-card-add-3ds-flow-CShDzkkS.cjs.map → use-portal-card-add-3ds-flow-CXCRBXNa.cjs.map} +1 -1
- package/dist/{use-portal-card-add-3ds-flow-CpgFHyQy.mjs → use-portal-card-add-3ds-flow-D3z91P3y.mjs} +2 -2
- package/dist/{use-portal-card-add-3ds-flow-CpgFHyQy.mjs.map → use-portal-card-add-3ds-flow-D3z91P3y.mjs.map} +1 -1
- package/dist/{widget-package-utils-DNRnAugY.mjs → widget-package-utils-3DFfnS9d.mjs} +2 -2
- package/dist/{widget-package-utils-DNRnAugY.mjs.map → widget-package-utils-3DFfnS9d.mjs.map} +1 -1
- package/dist/{widget-package-utils-BqBQ9q19.cjs → widget-package-utils-CFK8lNI9.cjs} +2 -2
- package/dist/{widget-package-utils-BqBQ9q19.cjs.map → widget-package-utils-CFK8lNI9.cjs.map} +1 -1
- package/dist/widgets/authoring-condition.d.cts +1 -1
- package/dist/widgets/authoring-condition.d.mts +1 -1
- package/package.json +15 -15
- package/dist/FluidProvider-D47n4t4O.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./translation-adapter-MZ6leQpX.mjs";
|
|
2
|
-
import "./FluidProvider-
|
|
2
|
+
import "./FluidProvider-BXletm_I.mjs";
|
|
3
3
|
import "./FluidThemeProvider-D_O4NV2b.mjs";
|
|
4
4
|
import "./ScreenRenderer-CBL1EEk8.mjs";
|
|
5
5
|
import "./use-account-CVCEuI6e.mjs";
|
|
@@ -33,7 +33,7 @@ import "./MediaRenderer-BydUiy9x.mjs";
|
|
|
33
33
|
import "./CarouselWidget-FrIFGcE_.mjs";
|
|
34
34
|
import "./CatchUpWidget-BCg7niWS.mjs";
|
|
35
35
|
import "./src-CAi8-qUm.mjs";
|
|
36
|
-
import { n as subscriptionsScreenPropertySchema, t as SubscriptionsScreen } from "./SubscriptionsScreen-
|
|
36
|
+
import { n as subscriptionsScreenPropertySchema, t as SubscriptionsScreen } from "./SubscriptionsScreen-CAmRhYlf.mjs";
|
|
37
37
|
import "./ChartWidget-CWOO-QfP.mjs";
|
|
38
38
|
import "./ContainerWidget-r8Ci_cfa.mjs";
|
|
39
39
|
import "./EmbedWidget-BuvQG92a.mjs";
|
|
@@ -53,7 +53,7 @@ import "./ShopWidget-DuT6N9qR.mjs";
|
|
|
53
53
|
import "./translation-adapter-CEW711cA.mjs";
|
|
54
54
|
import "./translation-adapter-Cyi4VWDA.mjs";
|
|
55
55
|
import "./ScreenHeaderContext-BR9cGisQ.mjs";
|
|
56
|
-
import "./use-portal-card-add-3ds-flow-
|
|
56
|
+
import "./use-portal-card-add-3ds-flow-D3z91P3y.mjs";
|
|
57
57
|
import "./display-naBonVqF.mjs";
|
|
58
58
|
import "./Combobox-ddoKuFoT.mjs";
|
|
59
59
|
export { SubscriptionsScreen, subscriptionsScreenPropertySchema };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-api-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/account-api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAOrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"account-api-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/account-api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAOrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAqCvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAwBvE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MemberPermissionKey } from "@fluid-app/portal-core/account-types";
|
|
2
|
+
export interface MemberTypeInfo {
|
|
3
|
+
/** Real per-company member-type slug (rep/customer/affiliate/...), or null while loading. */
|
|
4
|
+
slug: string | null;
|
|
5
|
+
/** Admin-facing display label (e.g. "Affiliate"), or null when unknown. */
|
|
6
|
+
name: string | null;
|
|
7
|
+
/** Whether the member may access rep-only surfaces (rep_eligible). */
|
|
8
|
+
canAccessRepSurfaces: boolean;
|
|
9
|
+
/** Predicate for any member-type permission key. */
|
|
10
|
+
can: (key: MemberPermissionKey) => boolean;
|
|
11
|
+
/** True until the account query resolves. */
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolve the current member's type identity and capabilities.
|
|
16
|
+
*
|
|
17
|
+
* The single hook UI should use to display the member type (name/slug) and
|
|
18
|
+
* to gate behavior on permissions, instead of comparing the binary
|
|
19
|
+
* `member_type` string. Backed by the same cached `useAccount()` query.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useMemberType(): MemberTypeInfo;
|
|
22
|
+
//# sourceMappingURL=use-member-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-member-type.d.ts","sourceRoot":"","sources":["../../src/hooks/use-member-type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAShF,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sEAAsE;IACtE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,GAAG,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAC3C,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,cAAc,CAgB9C"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-9hOWP6kD.cjs");
|
|
3
|
-
const require_FluidProvider = require("./FluidProvider-
|
|
3
|
+
const require_FluidProvider = require("./FluidProvider-BnVDi4-p.cjs");
|
|
4
4
|
const require_FluidThemeProvider = require("./FluidThemeProvider-DMfCMPLp.cjs");
|
|
5
5
|
const require_ScreenRenderer = require("./ScreenRenderer-B-ZfGmhX.cjs");
|
|
6
6
|
const require_use_account = require("./use-account-C596ARpR.cjs");
|
|
@@ -59,26 +59,26 @@ require("./translation-adapter-Bk39NA29.cjs");
|
|
|
59
59
|
require("./translation-adapter-gG3HRmZf.cjs");
|
|
60
60
|
const require_use_navigation_parent = require("./use-navigation-parent-BR0d5weV.cjs");
|
|
61
61
|
const require_ScreenHeaderContext = require("./ScreenHeaderContext-NGY43GoF.cjs");
|
|
62
|
-
const require_widget_package_utils = require("./widget-package-utils-
|
|
62
|
+
const require_widget_package_utils = require("./widget-package-utils-CFK8lNI9.cjs");
|
|
63
63
|
const require_use_store = require("./use-store-Dl3HEHrF.cjs");
|
|
64
64
|
const require_CustomersScreen = require("./CustomersScreen-DEv5--MK.cjs");
|
|
65
65
|
const require_AppNavigationContext = require("./AppNavigationContext-D1Xx1-jH.cjs");
|
|
66
66
|
const require_authoring = require("./authoring-HytiVeJw.cjs");
|
|
67
|
-
const require_MessagingScreen = require("./MessagingScreen-
|
|
68
|
-
require("./use-portal-card-add-3ds-flow-
|
|
67
|
+
const require_MessagingScreen = require("./MessagingScreen-BCgK_dYs.cjs");
|
|
68
|
+
require("./use-portal-card-add-3ds-flow-CXCRBXNa.cjs");
|
|
69
69
|
require("./display-tXE9ewkB.cjs");
|
|
70
70
|
require("./Combobox-Cgct29Ug.cjs");
|
|
71
71
|
require("./prop-types-XaMasfW8.cjs");
|
|
72
72
|
require("./use-mysite-portal-DhSTHOio.cjs");
|
|
73
|
-
const require_ProfileScreen = require("./ProfileScreen-
|
|
74
|
-
const require_SubscriptionsScreen = require("./SubscriptionsScreen-
|
|
73
|
+
const require_ProfileScreen = require("./ProfileScreen-DzvC_515.cjs");
|
|
74
|
+
const require_SubscriptionsScreen = require("./SubscriptionsScreen-CHSL9_VN.cjs");
|
|
75
75
|
require("./dist-CqlQDYSy.cjs");
|
|
76
76
|
require("./es-Br4TMHJ0.cjs");
|
|
77
77
|
require("./dist-DQtwuPjl.cjs");
|
|
78
|
-
const require_OrdersScreen = require("./OrdersScreen-
|
|
78
|
+
const require_OrdersScreen = require("./OrdersScreen-CYuOVIww.cjs");
|
|
79
79
|
const require_MySiteScreen = require("./MySiteScreen-BgrzSbPN.cjs");
|
|
80
80
|
require("./dist-DabhBHre.cjs");
|
|
81
|
-
const require_ShopScreen = require("./ShopScreen-
|
|
81
|
+
const require_ShopScreen = require("./ShopScreen-CBkt_iPr.cjs");
|
|
82
82
|
require("./AppDownloadScreen-BA3cCSbG.cjs");
|
|
83
83
|
let react = require("react");
|
|
84
84
|
react = require_chunk.__toESM(react);
|
|
@@ -1826,12 +1826,12 @@ function BuilderScreenViewImpl({ screen, className }) {
|
|
|
1826
1826
|
const BuilderScreenView = (0, react.memo)(BuilderScreenViewImpl);
|
|
1827
1827
|
//#endregion
|
|
1828
1828
|
//#region src/shell/system-screen-map.ts
|
|
1829
|
-
const ProfileScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ProfileScreen-
|
|
1830
|
-
const OrdersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./OrdersScreen-
|
|
1831
|
-
const SubscriptionsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./SubscriptionsScreen-
|
|
1832
|
-
const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-
|
|
1829
|
+
const ProfileScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ProfileScreen-C5EUzbF8.cjs")).then((m) => ({ default: m.ProfileScreen })));
|
|
1830
|
+
const OrdersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./OrdersScreen-BmyfvEqN.cjs")).then((m) => ({ default: m.OrdersScreen })));
|
|
1831
|
+
const SubscriptionsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./SubscriptionsScreen-BB6yS_3N.cjs")).then((m) => ({ default: m.SubscriptionsScreen })));
|
|
1832
|
+
const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-DpJGejgC.cjs")).then((m) => ({ default: m.MessagingScreen })));
|
|
1833
1833
|
const ContactsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ContactsScreen-D9Pn0DnC.cjs")).then((m) => ({ default: m.ContactsScreen })));
|
|
1834
|
-
const ShopScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShopScreen-
|
|
1834
|
+
const ShopScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShopScreen-Ecqtinzw.cjs")).then((m) => ({ default: m.ShopScreen })));
|
|
1835
1835
|
const CustomersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./CustomersScreen-C3ayVDk-.cjs")).then((m) => ({ default: m.CustomersScreen })));
|
|
1836
1836
|
const ShareablesScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShareablesScreen-CDwi2BEq.cjs")).then((m) => ({ default: m.ShareablesScreen })));
|
|
1837
1837
|
const MySiteScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MySiteScreen-BmO4MEB8.cjs")).then((m) => ({ default: m.MySiteScreen })));
|
|
@@ -2722,6 +2722,88 @@ async function loadFetchedAndExplicitWidgetPackages(explicitWidgetPackages, desc
|
|
|
2722
2722
|
return require_widget_package_utils.loadWidgetPackages(require_widget_package_utils.dedupeWidgetPackagesByPackageIdAndVersion([...explicitWidgetPackages, ...fetchedWidgetPackages]), loadOptions);
|
|
2723
2723
|
}
|
|
2724
2724
|
//#endregion
|
|
2725
|
+
//#region ../core/src/member-permissions.ts
|
|
2726
|
+
/**
|
|
2727
|
+
* Whether the current member has the given capability.
|
|
2728
|
+
*
|
|
2729
|
+
* Prefers the native `member_type_detail.permissions` map. When no detail
|
|
2730
|
+
* is present yet (backfill gap), falls back to the legacy binary type:
|
|
2731
|
+
* `rep_eligible` is granted to reps and denied to customers, preserving
|
|
2732
|
+
* today's behavior. Unknown keys deny by default.
|
|
2733
|
+
*/
|
|
2734
|
+
function hasMemberPermission(account, key) {
|
|
2735
|
+
if (!account) return false;
|
|
2736
|
+
const permissions = account.member_type_detail?.permissions;
|
|
2737
|
+
if (permissions) {
|
|
2738
|
+
const requested = permissions[key];
|
|
2739
|
+
if (requested !== void 0) return requested === true;
|
|
2740
|
+
if (key === "rep_eligible") return permissions.search_enabled === true;
|
|
2741
|
+
if (key === "search_enabled") return permissions.rep_eligible === true;
|
|
2742
|
+
return false;
|
|
2743
|
+
}
|
|
2744
|
+
if (key === "rep_eligible" || key === "search_enabled") return account.member_type !== "customer";
|
|
2745
|
+
return false;
|
|
2746
|
+
}
|
|
2747
|
+
/**
|
|
2748
|
+
* Whether the current member may access rep-only portal surfaces
|
|
2749
|
+
* (Messages, My Site, and any rep-gated custom screen). This is the single
|
|
2750
|
+
* gate the shell should consult instead of `member_type === "customer"`.
|
|
2751
|
+
*/
|
|
2752
|
+
function canAccessRepSurfaces(account) {
|
|
2753
|
+
return hasMemberPermission(account, "rep_eligible");
|
|
2754
|
+
}
|
|
2755
|
+
/**
|
|
2756
|
+
* Whether the member is KNOWN to lack rep access — true only once a loaded
|
|
2757
|
+
* account resolves to no rep-eligibility. An unresolved (loading) or absent
|
|
2758
|
+
* account is NOT treated as denied, so shell gating stays permissive while
|
|
2759
|
+
* the account query is in flight. This matches the pre-migration behavior
|
|
2760
|
+
* (which defaulted an unknown member to rep) and avoids briefly filtering a
|
|
2761
|
+
* rep's own navigation — which, combined with the root-path redirect, could
|
|
2762
|
+
* otherwise misroute a rep whose first item is rep-only. Use this for
|
|
2763
|
+
* gating; use `canAccessRepSurfaces` for a positive capability check on an
|
|
2764
|
+
* already-loaded account.
|
|
2765
|
+
*/
|
|
2766
|
+
function deniesRepSurfaces(account) {
|
|
2767
|
+
return Boolean(account) && !canAccessRepSurfaces(account);
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* The real per-company member-type slug (`rep`, `customer`, or a custom
|
|
2771
|
+
* slug like `affiliate`). Falls back to the binary `member_type` when no
|
|
2772
|
+
* detail is present.
|
|
2773
|
+
*/
|
|
2774
|
+
function memberTypeSlug(account) {
|
|
2775
|
+
if (!account) return null;
|
|
2776
|
+
return account.member_type_detail?.slug ?? account.member_type;
|
|
2777
|
+
}
|
|
2778
|
+
/**
|
|
2779
|
+
* The admin-facing display label for the member type (e.g. "Affiliate").
|
|
2780
|
+
* Null when no detail is present — callers should not fabricate a label
|
|
2781
|
+
* from the binary type.
|
|
2782
|
+
*/
|
|
2783
|
+
function memberTypeName(account) {
|
|
2784
|
+
return account?.member_type_detail?.name ?? null;
|
|
2785
|
+
}
|
|
2786
|
+
//#endregion
|
|
2787
|
+
//#region src/hooks/use-member-type.ts
|
|
2788
|
+
/**
|
|
2789
|
+
* Resolve the current member's type identity and capabilities.
|
|
2790
|
+
*
|
|
2791
|
+
* The single hook UI should use to display the member type (name/slug) and
|
|
2792
|
+
* to gate behavior on permissions, instead of comparing the binary
|
|
2793
|
+
* `member_type` string. Backed by the same cached `useAccount()` query.
|
|
2794
|
+
*/
|
|
2795
|
+
function useMemberType() {
|
|
2796
|
+
const { data: account, isLoading } = require_use_account.useAccount();
|
|
2797
|
+
const can = (0, react.useCallback)((key) => hasMemberPermission(account, key), [account]);
|
|
2798
|
+
return {
|
|
2799
|
+
slug: memberTypeSlug(account),
|
|
2800
|
+
name: memberTypeName(account),
|
|
2801
|
+
canAccessRepSurfaces: canAccessRepSurfaces(account),
|
|
2802
|
+
can,
|
|
2803
|
+
isLoading
|
|
2804
|
+
};
|
|
2805
|
+
}
|
|
2806
|
+
//#endregion
|
|
2725
2807
|
//#region src/hooks/demo-data/calendar-events.ts
|
|
2726
2808
|
const now$4 = /* @__PURE__ */ new Date();
|
|
2727
2809
|
function daysFromNow$1(days, hour, minute = 0) {
|
|
@@ -3413,15 +3495,15 @@ const CORE_PAGE_IDS = {
|
|
|
3413
3495
|
//#endregion
|
|
3414
3496
|
//#region src/screens/index.ts
|
|
3415
3497
|
const screenPropertySchemas = {
|
|
3416
|
-
ProfileScreen: () => Promise.resolve().then(() => require("./ProfileScreen-
|
|
3417
|
-
MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-
|
|
3498
|
+
ProfileScreen: () => Promise.resolve().then(() => require("./ProfileScreen-C5EUzbF8.cjs")).then((m) => m.profileScreenPropertySchema),
|
|
3499
|
+
MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-DpJGejgC.cjs")).then((m) => m.messagingScreenPropertySchema),
|
|
3418
3500
|
ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-D9Pn0DnC.cjs")).then((m) => m.contactsScreenPropertySchema),
|
|
3419
|
-
OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-
|
|
3420
|
-
SubscriptionsScreen: () => Promise.resolve().then(() => require("./SubscriptionsScreen-
|
|
3501
|
+
OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-BmyfvEqN.cjs")).then((m) => m.ordersScreenPropertySchema),
|
|
3502
|
+
SubscriptionsScreen: () => Promise.resolve().then(() => require("./SubscriptionsScreen-BB6yS_3N.cjs")).then((m) => m.subscriptionsScreenPropertySchema),
|
|
3421
3503
|
CustomersScreen: () => Promise.resolve().then(() => require("./CustomersScreen-C3ayVDk-.cjs")).then((m) => m.customersScreenPropertySchema),
|
|
3422
3504
|
MySiteScreen: () => Promise.resolve().then(() => require("./MySiteScreen-BmO4MEB8.cjs")).then((m) => m.mySiteScreenPropertySchema),
|
|
3423
3505
|
ShareablesScreen: () => Promise.resolve().then(() => require("./ShareablesScreen-CDwi2BEq.cjs")).then((m) => m.shareablesScreenPropertySchema),
|
|
3424
|
-
ShopScreen: () => Promise.resolve().then(() => require("./ShopScreen-
|
|
3506
|
+
ShopScreen: () => Promise.resolve().then(() => require("./ShopScreen-Ecqtinzw.cjs")).then((m) => m.shopScreenPropertySchema),
|
|
3425
3507
|
AppDownloadScreen: () => Promise.resolve().then(() => require("./AppDownloadScreen-BA3cCSbG.cjs")).then((n) => n.AppDownloadScreen_exports).then((m) => m.appDownloadScreenPropertySchema)
|
|
3426
3508
|
};
|
|
3427
3509
|
/**
|
|
@@ -3832,6 +3914,7 @@ exports.buildThemeDefinition = require_FluidThemeProvider.buildThemeDefinition;
|
|
|
3832
3914
|
exports.buildWidgetRegistry = require_widget_package_utils.buildWidgetRegistry;
|
|
3833
3915
|
exports.bulletListWidgetPropertySchema = require_BulletListWidget.bulletListWidgetPropertySchema;
|
|
3834
3916
|
exports.calendarWidgetPropertySchema = require_CalendarWidget.calendarWidgetPropertySchema;
|
|
3917
|
+
exports.canAccessRepSurfaces = canAccessRepSurfaces;
|
|
3835
3918
|
exports.cardWidgetPropertySchema = require_CardWidget.cardWidgetPropertySchema;
|
|
3836
3919
|
exports.carouselWidgetPropertySchema = require_CarouselWidget.carouselWidgetPropertySchema;
|
|
3837
3920
|
exports.catchUpWidgetPropertySchema = require_CatchUpWidget.catchUpWidgetPropertySchema;
|
|
@@ -3848,6 +3931,7 @@ exports.createWidgetRegistry = require_FluidProvider.createWidgetRegistry;
|
|
|
3848
3931
|
exports.customersScreenPropertySchema = require_CustomersScreen.customersScreenPropertySchema;
|
|
3849
3932
|
exports.defineWidget = require_authoring.defineWidget;
|
|
3850
3933
|
exports.defineWidgetPackage = require_authoring.defineWidgetPackage;
|
|
3934
|
+
exports.deniesRepSurfaces = deniesRepSurfaces;
|
|
3851
3935
|
exports.deriveDarkVariant = require_FluidThemeProvider.deriveDarkVariant;
|
|
3852
3936
|
exports.deserialiseTheme = require_FluidThemeProvider.deserialiseTheme;
|
|
3853
3937
|
exports.embedWidgetPropertySchema = require_EmbedWidget.embedWidgetPropertySchema;
|
|
@@ -3867,6 +3951,7 @@ exports.getThemeModeAttribute = getThemeModeAttribute;
|
|
|
3867
3951
|
exports.groupChildrenByColumn = require_LayoutWidget.groupChildrenByColumn;
|
|
3868
3952
|
exports.groupPropertyFields = require_registries.groupPropertyFields;
|
|
3869
3953
|
exports.hasData = require_hook_types.hasData;
|
|
3954
|
+
exports.hasMemberPermission = hasMemberPermission;
|
|
3870
3955
|
exports.imageWidgetPropertySchema = require_ImageWidget.imageWidgetPropertySchema;
|
|
3871
3956
|
exports.isActivitySlug = require_hook_types.isActivitySlug;
|
|
3872
3957
|
exports.isContactStatus = isContactStatus;
|
|
@@ -3883,6 +3968,8 @@ exports.layoutWidgetPropertySchema = require_LayoutWidget.layoutWidgetPropertySc
|
|
|
3883
3968
|
exports.linkWidgetPropertySchema = require_LinkWidget.linkWidgetPropertySchema;
|
|
3884
3969
|
exports.listWidgetPropertySchema = require_ListWidget.listWidgetPropertySchema;
|
|
3885
3970
|
exports.matchSlugPrefix = require_use_navigation_parent.matchSlugPrefix;
|
|
3971
|
+
exports.memberTypeName = memberTypeName;
|
|
3972
|
+
exports.memberTypeSlug = memberTypeSlug;
|
|
3886
3973
|
exports.mergeDarkOverrides = require_FluidThemeProvider.mergeDarkOverrides;
|
|
3887
3974
|
exports.mergeRegisteredWidgetsIntoRegistry = require_widget_package_utils.mergeRegisteredWidgetsIntoRegistry;
|
|
3888
3975
|
exports.messagingScreenPropertySchema = require_MessagingScreen.messagingScreenPropertySchema;
|
|
@@ -3937,6 +4024,7 @@ exports.useFluidContext = require_FluidProvider.useFluidContext;
|
|
|
3937
4024
|
exports.useFluidProfile = require_widget_package_utils.useFluidProfile;
|
|
3938
4025
|
exports.useFluidTheme = require_hook_types.useFluidTheme;
|
|
3939
4026
|
exports.useLogout = require_widget_package_utils.useLogout;
|
|
4027
|
+
exports.useMemberType = useMemberType;
|
|
3940
4028
|
exports.useMessagingAuth = require_MessagingScreen.useMessagingAuth;
|
|
3941
4029
|
exports.useMessagingConfig = require_MessagingScreen.useMessagingConfig;
|
|
3942
4030
|
exports.useMySite = useMySite;
|