@odla-ai/chapter 0.62.0 → 0.63.0

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.
@@ -1,8 +1,8 @@
1
1
  import * as preact from 'preact';
2
2
  import { ComponentChildren, JSX } from 'preact';
3
3
  import { CrmClient, CrmConfig, Crm, FieldConditions, CrmRecord, FieldType } from '@odla-ai/crm';
4
- import { a as ChapterBrand, b as ChapterCopyInput, c as ChapterCopy, M as MemberContentDocument, E as EffectiveMemberContent, d as MemberContentTierAuthority } from '../../copy-context-BJUkVUjE.js';
5
- export { C as ChapterCopyProvider, u as useChapterCopy } from '../../copy-context-BJUkVUjE.js';
4
+ import { a as ChapterBrand, b as ChapterCopyInput, c as ChapterCopy, M as MemberContentDocument, E as EffectiveMemberContent, d as MemberContentTierAuthority } from '../../copy-context-BNKK7ZDm.js';
5
+ export { C as ChapterCopyProvider, u as useChapterCopy } from '../../copy-context-BNKK7ZDm.js';
6
6
  import { CrmLifecycleAdapter, CrmWorkspaceMasterContext, CrmWorkspaceRecordContext, RecordPanelTab } from '@odla-ai/crm/ui';
7
7
 
8
8
  /** Normalized public auth configuration consumed by the Clerk gate. */
@@ -44,11 +44,11 @@ import {
44
44
  networkRecordsWorkspace,
45
45
  peopleSection,
46
46
  useAdminResource
47
- } from "../../chunk-MUUBATZJ.js";
47
+ } from "../../chunk-S6VPJFHL.js";
48
48
  import {
49
49
  ChapterCopyProvider,
50
50
  useChapterCopy
51
- } from "../../chunk-7CVP6VSO.js";
51
+ } from "../../chunk-OXYMVK2O.js";
52
52
  export {
53
53
  APPLICATION_STAGES,
54
54
  AdminNote,
@@ -1,6 +1,6 @@
1
1
  export { APPLICATION_STAGES, AdminAccountMenuProps, AdminBuilderLibraryData, AdminChrome, AdminMemberContentData, AdminNote, AdminPage, AdminResource, AdminRouteState, AdminRouteTarget, AdminRouting, AdminSection, AdminSectionContext, AdminWorkspace, AdminWorkspaceFrameProps, AdminWorkspaceNavProps, AdmissionGrantsWorkspace, AvailabilitySectionOptions, BillingSectionOptions, BuilderLibraryAdmin, CandidateStagePanel, CandidateStagePanelProps, ChapterAdmin, ChapterAdminAuthAdapter, ChapterAdminAuthConfig, ChapterAdminAuthLoadContext, ChapterAdminProps, ChapterAdminUser, CollectionSectionOptions, DISPUTE_STATUS_WORDS, DashboardSectionOptions, EmailSectionOptions, LeaderAdmissionAction, LeaderAdmissionActionProps, LeaderNetworkOverview, MeetingsSectionOptions, MemberContentAdmin, MembershipDisputeRow, MembershipDisputes, MembershipPolicyVersions, MembershipPolicyVersionsProps, NamedSeatRecordPanel, NamedSeatRecordPanelProps, NetworkRecordEditor, NetworkRecordsWorkspace, NetworkSeatBilling, NetworkShareActions, NetworkShareActionsProps, Panel, PaymentRecoveryQueue, PeopleSectionOptions, RecordActions, RecordActionsProps, RecordAdmissionPanel, RecordAdmissionPanelProps, ThemeWarning, adminFetch, adminRouteFromUrl, adminRouteHref, adminSectionFromUrl, adminSectionHref, admissionGrantsWorkspace, applicationLifecycleAdapter, availabilitySection, billingSection, builderLibrarySection, collectionSection, dashboardSection, defaultAdminSections, defaultAdminWorkspaces, emailSection, loadChapterAdminConfig, loadChapterAdminUser, meetingsSection, memberContentSection, networkRecordsWorkspace, peopleSection, useAdminResource } from './admin/index.js';
2
- export { C as ChapterCopyProvider, u as useChapterCopy } from '../copy-context-BJUkVUjE.js';
3
- export { ADDITIONAL_MEMBER_COPY, AdditionalMemberCopy, AdditionalMemberDraft, AdditionalMemberEditor, AdditionalMemberEditorOptions, AdditionalMemberEditorProps, AdditionalMemberFieldNames, AdditionalMemberFields, AdditionalMemberFieldsProps, AdditionalMemberOffer, AdditionalMemberOptions, ApiFn, BrandStyle, BrandStyleProps, CheckoutSeatEditor, CheckoutSeatEditorContext, DefaultHome, GiftCodeRedeemResult, GiftCodeRedeemer, GiftCodeRedeemerCopy, GiftCodeRedeemerProps, GiftOfferCards, GiftOfferCardsMode, GiftOfferCardsProps, GiftPurchases, GiftPurchasesProps, JoinBookingPreload, JoinBookingSimulation, JoinConfig, JoinFlowState, JoinIsland, JoinIslandProps, JoinSimulation, JoinStepRenderContext, JoinSubmitButton, JoinSubmitRenderContext, JoinTier, JoinTierRenderContext, JourneyFrame, LockedPill, LockedScreen, MEMBERSHIP_CARD_TOKEN_DEFAULTS, MemberContentArea, MemberContentAreaProps, MemberGifts, MemberPlaceholderBody, MemberPortal, MemberPortalProps, MemberProfilePage, MemberProfileView, MemberProvisionalRenderContext, MemberRestart, MembersArea, MembersAreaProps, MembershipCardTokenName, MembershipCards, MembershipCardsMode, MembershipCardsProps, NAMED_SEAT_RECIPIENT_WORDS, NamedSeatInvitationLink, NamedSeatInvitationLinkProps, NamedSeatPurchase, NamedSeatRecipientLine, PACKAGED_PORTAL_FEATURES, PROFILE_SEGMENT, PaymentPriceLines, PaymentStep, PaymentStepProps, PaymentStepSimulation, PlaceholderScreen, PortalAvatar, PortalContext, PortalFeature, PortalFeatures, PortalHomeSlots, PortalIcon, PortalMe, PortalMeResponse, PortalNav, PortalPage, PortalRoute, PortalRouting, PortalTile, RescheduleProps, Rescheduler, Slot, SlotPicker, SlotPickerClasses, SlotPickerProps, SubResponse, TierPlaceholder, UpgradeLink, additionalMemberSelection, choosePrompt, dayKey, dayLabel, fmtDate, fmtMoney, fullLabel, groupSlotsByDay, hrefFor, loadJoinResume, memberMonth, membershipApplicationHref, namedSeatInvitationMessage, namedSeatInvitationShareable, namedSeatInvitationUrl, navTag, placeholderBadge, routeFromLocation, sameRoute, startingPrompts, tierNeedsPayment, timeLabel, tzShort, useTierSelection } from './member/index.js';
2
+ export { C as ChapterCopyProvider, u as useChapterCopy } from '../copy-context-BNKK7ZDm.js';
3
+ export { ADDITIONAL_MEMBER_COPY, AdditionalMemberCopy, AdditionalMemberDraft, AdditionalMemberEditor, AdditionalMemberEditorOptions, AdditionalMemberEditorProps, AdditionalMemberFieldNames, AdditionalMemberFields, AdditionalMemberFieldsProps, AdditionalMemberOffer, AdditionalMemberOptions, ApiFn, BrandStyle, BrandStyleProps, CheckoutSeatEditor, CheckoutSeatEditorContext, CopyButton, CourseHomePanel, CoursePage, DefaultHome, GiftCodeRedeemResult, GiftCodeRedeemer, GiftCodeRedeemerCopy, GiftCodeRedeemerProps, GiftOfferCards, GiftOfferCardsMode, GiftOfferCardsProps, GiftPurchases, GiftPurchasesProps, InviteLinkCard, JoinBookingPreload, JoinBookingSimulation, JoinConfig, JoinFlowState, JoinIsland, JoinIslandProps, JoinSimulation, JoinStepRenderContext, JoinSubmitButton, JoinSubmitRenderContext, JoinTier, JoinTierRenderContext, JourneyFrame, LockedPill, LockedScreen, MEMBERSHIP_CARD_TOKEN_DEFAULTS, MemberContentArea, MemberContentAreaProps, MemberCourseView, MemberGifts, MemberPlaceholderBody, MemberPortal, MemberPortalProps, MemberProfilePage, MemberProfileView, MemberProvisionalRenderContext, MemberReferrals, MemberRestart, MembersArea, MembersAreaProps, MembershipCardTokenName, MembershipCards, MembershipCardsMode, MembershipCardsProps, NAMED_SEAT_RECIPIENT_WORDS, NamedSeatInvitationLink, NamedSeatInvitationLinkProps, NamedSeatPurchase, NamedSeatRecipientLine, OfficialCard, PACKAGED_PORTAL_FEATURES, PROFILE_SEGMENT, PaymentPriceLines, PaymentStep, PaymentStepProps, PaymentStepSimulation, PlaceholderScreen, PortalAvatar, PortalContext, PortalFeature, PortalFeatures, PortalHomeSlots, PortalIcon, PortalMe, PortalMeResponse, PortalNav, PortalPage, PortalRoute, PortalRouting, PortalTile, PostCard, ProfileReferrals, ReferralsCard, RescheduleProps, Rescheduler, SeatActions, ShareHome, SharePage, Slot, SlotPicker, SlotPickerClasses, SlotPickerProps, SubResponse, TierPlaceholder, UpgradeLink, additionalMemberSelection, articleFor, choosePrompt, dayKey, dayLabel, fmtDate, fmtMoney, fullLabel, groupSlotsByDay, hrefFor, isIOS, linkedinShareUrl, loadJoinResume, mailtoHref, memberMonth, membershipApplicationHref, namedSeatInvitationMessage, namedSeatInvitationShareable, namedSeatInvitationUrl, navTag, placeholderBadge, referralFromLocation, routeFromLocation, sameRoute, seatLine, shareVars, smsHref, startingPrompts, tierNeedsPayment, timeLabel, tzShort, useCourse, useMemberReferrals, useTierSelection } from './member/index.js';
4
4
  import 'preact';
5
5
  import '@odla-ai/crm';
6
6
  import '@odla-ai/crm/ui';
package/dist/ui/index.js CHANGED
@@ -2,10 +2,14 @@ import {
2
2
  ADDITIONAL_MEMBER_COPY,
3
3
  AdditionalMemberEditor,
4
4
  AdditionalMemberFields,
5
+ CopyButton,
6
+ CourseHomePanel,
7
+ CoursePage,
5
8
  DefaultHome,
6
9
  GiftCodeRedeemer,
7
10
  GiftOfferCards,
8
11
  GiftPurchases,
12
+ InviteLinkCard,
9
13
  JoinIsland,
10
14
  JoinSubmitButton,
11
15
  JourneyFrame,
@@ -24,6 +28,7 @@ import {
24
28
  NamedSeatInvitationLink,
25
29
  NamedSeatPurchase,
26
30
  NamedSeatRecipientLine,
31
+ OfficialCard,
27
32
  PACKAGED_PORTAL_FEATURES,
28
33
  PROFILE_SEGMENT,
29
34
  PaymentStep,
@@ -33,20 +38,24 @@ import {
33
38
  PortalNav,
34
39
  PortalPage,
35
40
  PortalTile,
41
+ PostCard,
42
+ ProfileReferrals,
43
+ ReferralsCard,
36
44
  Rescheduler,
45
+ SeatActions,
46
+ ShareHome,
47
+ SharePage,
37
48
  SlotPicker,
38
49
  TierPlaceholder,
39
50
  UpgradeLink,
40
51
  additionalMemberSelection,
52
+ articleFor,
41
53
  choosePrompt,
42
- dayKey,
43
- dayLabel,
44
- fmtDate,
45
- fmtMoney,
46
- fullLabel,
47
- groupSlotsByDay,
48
54
  hrefFor,
55
+ isIOS,
56
+ linkedinShareUrl,
49
57
  loadJoinResume,
58
+ mailtoHref,
50
59
  memberMonth,
51
60
  membershipApplicationHref,
52
61
  namedSeatInvitationMessage,
@@ -54,14 +63,18 @@ import {
54
63
  namedSeatInvitationUrl,
55
64
  navTag,
56
65
  placeholderBadge,
66
+ referralFromLocation,
57
67
  routeFromLocation,
58
68
  sameRoute,
69
+ seatLine,
70
+ shareVars,
71
+ smsHref,
59
72
  startingPrompts,
60
73
  tierNeedsPayment,
61
- timeLabel,
62
- tzShort,
74
+ useCourse,
75
+ useMemberReferrals,
63
76
  useTierSelection
64
- } from "../chunk-ZIYK3OV2.js";
77
+ } from "../chunk-QPFJBHHK.js";
65
78
  import {
66
79
  APPLICATION_STAGES,
67
80
  AdminNote,
@@ -108,12 +121,20 @@ import {
108
121
  networkRecordsWorkspace,
109
122
  peopleSection,
110
123
  useAdminResource
111
- } from "../chunk-MUUBATZJ.js";
124
+ } from "../chunk-S6VPJFHL.js";
112
125
  import {
113
126
  BrandStyle,
114
127
  ChapterCopyProvider,
128
+ dayKey,
129
+ dayLabel,
130
+ fmtDate,
131
+ fmtMoney,
132
+ fullLabel,
133
+ groupSlotsByDay,
134
+ timeLabel,
135
+ tzShort,
115
136
  useChapterCopy
116
- } from "../chunk-7CVP6VSO.js";
137
+ } from "../chunk-OXYMVK2O.js";
117
138
  import "../chunk-IVXVECKR.js";
118
139
  export {
119
140
  ADDITIONAL_MEMBER_COPY,
@@ -128,11 +149,15 @@ export {
128
149
  CandidateStagePanel,
129
150
  ChapterAdmin,
130
151
  ChapterCopyProvider,
152
+ CopyButton,
153
+ CourseHomePanel,
154
+ CoursePage,
131
155
  DISPUTE_STATUS_WORDS,
132
156
  DefaultHome,
133
157
  GiftCodeRedeemer,
134
158
  GiftOfferCards,
135
159
  GiftPurchases,
160
+ InviteLinkCard,
136
161
  JoinIsland,
137
162
  JoinSubmitButton,
138
163
  JourneyFrame,
@@ -161,6 +186,7 @@ export {
161
186
  NetworkRecordsWorkspace,
162
187
  NetworkSeatBilling,
163
188
  NetworkShareActions,
189
+ OfficialCard,
164
190
  PACKAGED_PORTAL_FEATURES,
165
191
  PROFILE_SEGMENT,
166
192
  Panel,
@@ -172,9 +198,15 @@ export {
172
198
  PortalNav,
173
199
  PortalPage,
174
200
  PortalTile,
201
+ PostCard,
202
+ ProfileReferrals,
175
203
  RecordActions,
176
204
  RecordAdmissionPanel,
205
+ ReferralsCard,
177
206
  Rescheduler,
207
+ SeatActions,
208
+ ShareHome,
209
+ SharePage,
178
210
  SlotPicker,
179
211
  ThemeWarning,
180
212
  TierPlaceholder,
@@ -187,6 +219,7 @@ export {
187
219
  adminSectionHref,
188
220
  admissionGrantsWorkspace,
189
221
  applicationLifecycleAdapter,
222
+ articleFor,
190
223
  availabilitySection,
191
224
  billingSection,
192
225
  builderLibrarySection,
@@ -203,9 +236,12 @@ export {
203
236
  fullLabel,
204
237
  groupSlotsByDay,
205
238
  hrefFor,
239
+ isIOS,
240
+ linkedinShareUrl,
206
241
  loadChapterAdminConfig,
207
242
  loadChapterAdminUser,
208
243
  loadJoinResume,
244
+ mailtoHref,
209
245
  meetingsSection,
210
246
  memberContentSection,
211
247
  memberMonth,
@@ -217,14 +253,20 @@ export {
217
253
  networkRecordsWorkspace,
218
254
  peopleSection,
219
255
  placeholderBadge,
256
+ referralFromLocation,
220
257
  routeFromLocation,
221
258
  sameRoute,
259
+ seatLine,
260
+ shareVars,
261
+ smsHref,
222
262
  startingPrompts,
223
263
  tierNeedsPayment,
224
264
  timeLabel,
225
265
  tzShort,
226
266
  useAdminResource,
227
267
  useChapterCopy,
268
+ useCourse,
269
+ useMemberReferrals,
228
270
  useTierSelection
229
271
  };
230
272
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import * as preact from 'preact';
2
2
  import { ComponentChildren, JSX } from 'preact';
3
- import { e as MemberContentProjection, f as MemberContentPageProjection, P as PortalCopy, g as MemberPageFeatureName, c as ChapterCopy, a as ChapterBrand, h as MemberPageIcon } from '../../copy-context-BJUkVUjE.js';
4
- export { C as ChapterCopyProvider, u as useChapterCopy } from '../../copy-context-BJUkVUjE.js';
3
+ import { e as MemberContentProjection, f as MemberContentPageProjection, P as PortalCopy, g as MemberPageFeatureName, c as ChapterCopy, a as ChapterBrand, h as MemberPageIcon } from '../../copy-context-BNKK7ZDm.js';
4
+ export { C as ChapterCopyProvider, u as useChapterCopy } from '../../copy-context-BNKK7ZDm.js';
5
5
  import { ThemeTokenOverrides } from '@odla-ai/ui/components';
6
6
  import { FieldType, FieldConditions } from '@odla-ai/crm';
7
7
 
@@ -1111,4 +1111,176 @@ declare function PortalIcon({ name, size, label }: {
1111
1111
  */
1112
1112
  declare const PACKAGED_PORTAL_FEATURES: PortalFeatures;
1113
1113
 
1114
- export { ADDITIONAL_MEMBER_COPY, type AdditionalMemberCopy, type AdditionalMemberDraft, AdditionalMemberEditor, type AdditionalMemberEditorOptions, type AdditionalMemberEditorProps, type AdditionalMemberFieldNames, AdditionalMemberFields, type AdditionalMemberFieldsProps, type AdditionalMemberOffer, type AdditionalMemberOptions, type ApiFn, BrandStyle, type BrandStyleProps, type CheckoutSeatEditor, type CheckoutSeatEditorContext, DefaultHome, type GiftCodeRedeemResult, GiftCodeRedeemer, type GiftCodeRedeemerCopy, type GiftCodeRedeemerProps, GiftOfferCards, type GiftOfferCardsMode, type GiftOfferCardsProps, GiftPurchases, type GiftPurchasesProps, type JoinBookingPreload, type JoinBookingSimulation, type JoinConfig, type JoinFlowState, JoinIsland, type JoinIslandProps, type JoinSimulation, type JoinStepRenderContext, JoinSubmitButton, type JoinSubmitRenderContext, type JoinTier, type JoinTierRenderContext, JourneyFrame, LockedPill, LockedScreen, MEMBERSHIP_CARD_TOKEN_DEFAULTS, MemberContentArea, type MemberContentAreaProps, MemberGifts, MemberPlaceholderBody, MemberPortal, type MemberPortalProps, MemberProfilePage, type MemberProfileView, type MemberProvisionalRenderContext, MemberRestart, MembersArea, type MembersAreaProps, type MembershipCardTokenName, MembershipCards, type MembershipCardsMode, type MembershipCardsProps, NAMED_SEAT_RECIPIENT_WORDS, NamedSeatInvitationLink, type NamedSeatInvitationLinkProps, NamedSeatPurchase, NamedSeatRecipientLine, PACKAGED_PORTAL_FEATURES, PROFILE_SEGMENT, type PaymentPriceLines, PaymentStep, type PaymentStepProps, type PaymentStepSimulation, PlaceholderScreen, PortalAvatar, type PortalContext, type PortalFeature, type PortalFeatures, type PortalHomeSlots, PortalIcon, type PortalMe, type PortalMeResponse, PortalNav, PortalPage, type PortalRoute, type PortalRouting, PortalTile, type RescheduleProps, Rescheduler, type Slot, SlotPicker, type SlotPickerClasses, type SlotPickerProps, type SubResponse, TierPlaceholder, UpgradeLink, additionalMemberSelection, choosePrompt, dayKey, dayLabel, fmtDate, fmtMoney, fullLabel, groupSlotsByDay, hrefFor, loadJoinResume, memberMonth, membershipApplicationHref, namedSeatInvitationMessage, namedSeatInvitationShareable, namedSeatInvitationUrl, navTag, placeholderBadge, routeFromLocation, sameRoute, startingPrompts, tierNeedsPayment, timeLabel, tzShort, useTierSelection };
1114
+ /** One reading, task or recording before a session. A material without a link stays hidden. */
1115
+ interface CourseMaterial {
1116
+ kind: "read" | "do" | "watch" | "extra";
1117
+ label: string;
1118
+ meta?: string;
1119
+ url?: string;
1120
+ }
1121
+ /** One live session. */
1122
+ interface CourseSession {
1123
+ date: string;
1124
+ startsAt: number;
1125
+ endsAt: number;
1126
+ topic: string;
1127
+ description?: string;
1128
+ materials: CourseMaterial[];
1129
+ }
1130
+ /** A guide shown on the course page. */
1131
+ interface CourseGuide {
1132
+ name: string;
1133
+ role?: string;
1134
+ bio?: string;
1135
+ photoUrl?: string;
1136
+ }
1137
+
1138
+ /** `GET /api/member/courses/:id`, as the portal reads it. */
1139
+ interface MemberCourseView {
1140
+ course: {
1141
+ id: string;
1142
+ title: string;
1143
+ timezone: string;
1144
+ capacity: number;
1145
+ seatsLeft: number;
1146
+ status: "open" | "full" | "closed";
1147
+ content: {
1148
+ basedOn?: string;
1149
+ short?: string;
1150
+ when?: string;
1151
+ start?: string;
1152
+ dates?: string;
1153
+ outcomes?: string[];
1154
+ time?: string;
1155
+ partnerMarkdown?: string;
1156
+ };
1157
+ guides: CourseGuide[];
1158
+ sessions: CourseSession[];
1159
+ toolkit: Array<Omit<CourseMaterial, "kind">>;
1160
+ };
1161
+ enrollment: {
1162
+ status: "enrolled" | "waitlisted" | "pending";
1163
+ waitlistPosition: number | null;
1164
+ } | null;
1165
+ meetUrl?: string;
1166
+ result?: string;
1167
+ }
1168
+ /** Load a course and act on it; every action returns the fresh view. */
1169
+ declare function useCourse(ctx: PortalContext, courseId: string | undefined): {
1170
+ view: MemberCourseView | null;
1171
+ error: string | null;
1172
+ busy: boolean;
1173
+ act: (action: "enroll" | "withdraw") => Promise<void>;
1174
+ };
1175
+ /** The seat line: "18 of 20 seats open", "You're in…", or the waitlist place. */
1176
+ declare function seatLine(view: MemberCourseView, copy: PortalContext["copy"]["course"]): string;
1177
+ /** Reserve, give up (asking first), join or leave the waitlist. */
1178
+ declare function SeatActions({ ctx, course, details }: {
1179
+ ctx: PortalContext;
1180
+ course: ReturnType<typeof useCourse>;
1181
+ details?: () => void;
1182
+ }): preact.JSX.Element;
1183
+ /** The course feature page: overview and seat box, guides, sessions with materials, outcomes and toolkit. */
1184
+ declare function CoursePage({ page, ctx }: {
1185
+ page: MemberContentPageProjection;
1186
+ ctx: PortalContext;
1187
+ }): preact.JSX.Element;
1188
+ /**
1189
+ * The course's Home panel. A locked course draws only from its catalog page
1190
+ * (the course API refuses a tier outside its audience), and the portal lays
1191
+ * the upgrade overlay over it.
1192
+ */
1193
+ declare function CourseHomePanel({ page, ctx }: {
1194
+ page: MemberContentPageProjection;
1195
+ ctx: PortalContext;
1196
+ }): preact.JSX.Element;
1197
+
1198
+ /** `GET /api/member/referrals`, as the portal reads it. */
1199
+ interface MemberReferrals {
1200
+ code: string;
1201
+ link: string;
1202
+ joined: {
1203
+ count: number;
1204
+ names: string[];
1205
+ };
1206
+ inProcess: number;
1207
+ credit: {
1208
+ perFriendCents: number;
1209
+ offNextYearCents: number;
1210
+ } | null;
1211
+ }
1212
+ /** "a Founding Member", "an Associate Member": the article that reads right before a tier name. */
1213
+ declare const articleFor: (word: string) => "a" | "an";
1214
+ /** Values every share template can use. */
1215
+ declare function shareVars(me: PortalMe, referrals: MemberReferrals | null): Record<string, string>;
1216
+ /** LinkedIn's share box, opened with the post and the member's own link. */
1217
+ declare const linkedinShareUrl: (post: string, link: string) => string;
1218
+ /** A mailto: link the member's own mail app opens. Nothing is sent from any server. */
1219
+ declare const mailtoHref: (subject: string, body: string) => string;
1220
+ /** iPhones read the message after `sms:&body=`, other phones after `sms:?body=`. */
1221
+ declare const smsHref: (body: string, ios: boolean) => string;
1222
+ /** Whether this browser is an iPhone or iPad (including iPadOS reporting as a Mac). */
1223
+ declare const isIOS: (nav: {
1224
+ userAgent: string;
1225
+ platform?: string;
1226
+ maxTouchPoints?: number;
1227
+ }) => boolean;
1228
+ /** Load the member's referrals once; null until loaded or when the feature is off. */
1229
+ declare function useMemberReferrals(api: ApiFn): {
1230
+ data: MemberReferrals | null;
1231
+ failed: boolean;
1232
+ };
1233
+
1234
+ /** A button that copies `text` and says so briefly. */
1235
+ declare function CopyButton({ text, label, ctx, variant }: {
1236
+ text: string;
1237
+ label: string;
1238
+ ctx: PortalContext;
1239
+ variant?: "ghost";
1240
+ }): preact.JSX.Element;
1241
+ /** The "Make it official on LinkedIn" card with its dialog. */
1242
+ declare function OfficialCard({ ctx, referrals, example }: {
1243
+ ctx: PortalContext;
1244
+ referrals: MemberReferrals | null;
1245
+ example?: ComponentChildren;
1246
+ }): preact.JSX.Element;
1247
+ /** The post card: a prewritten LinkedIn post carrying the member's own link. */
1248
+ declare function PostCard({ ctx, referrals }: {
1249
+ ctx: PortalContext;
1250
+ referrals: MemberReferrals | null;
1251
+ }): preact.JSX.Element;
1252
+ /** The invite-link card: copy, email or text it. Nothing is sent from any server. */
1253
+ declare function InviteLinkCard({ ctx, referrals }: {
1254
+ ctx: PortalContext;
1255
+ referrals: MemberReferrals | null;
1256
+ }): preact.JSX.Element;
1257
+ /** "Your referrals": joined, in process, and (for dues-paying members on sites with credit) credit off next year. */
1258
+ declare function ReferralsCard({ ctx, referrals }: {
1259
+ ctx: PortalContext;
1260
+ referrals: MemberReferrals | null;
1261
+ }): preact.JSX.Element | null;
1262
+ /** The share feature page (e.g. "Pass the Salt"). */
1263
+ declare function SharePage({ page, ctx, example }: {
1264
+ page: MemberContentPageProjection;
1265
+ ctx: PortalContext;
1266
+ example?: ComponentChildren;
1267
+ }): preact.JSX.Element;
1268
+ /** The share feature's Home block: the official card, the post, and the link. */
1269
+ declare function ShareHome({ ctx }: {
1270
+ ctx: PortalContext;
1271
+ }): preact.JSX.Element;
1272
+ /** The profile's referrals card, loading its own data. */
1273
+ declare function ProfileReferrals({ ctx }: {
1274
+ ctx: PortalContext;
1275
+ }): preact.JSX.Element;
1276
+
1277
+ /**
1278
+ * The invite code from the page's `?ref=`, for visitors whose browser blocks
1279
+ * the referral cookie. The server prefers its cookie and looks the code up
1280
+ * itself; this only forwards what the address carries.
1281
+ */
1282
+ declare function referralFromLocation(search?: string): {
1283
+ referralCode?: string;
1284
+ };
1285
+
1286
+ export { ADDITIONAL_MEMBER_COPY, type AdditionalMemberCopy, type AdditionalMemberDraft, AdditionalMemberEditor, type AdditionalMemberEditorOptions, type AdditionalMemberEditorProps, type AdditionalMemberFieldNames, AdditionalMemberFields, type AdditionalMemberFieldsProps, type AdditionalMemberOffer, type AdditionalMemberOptions, type ApiFn, BrandStyle, type BrandStyleProps, type CheckoutSeatEditor, type CheckoutSeatEditorContext, CopyButton, CourseHomePanel, CoursePage, DefaultHome, type GiftCodeRedeemResult, GiftCodeRedeemer, type GiftCodeRedeemerCopy, type GiftCodeRedeemerProps, GiftOfferCards, type GiftOfferCardsMode, type GiftOfferCardsProps, GiftPurchases, type GiftPurchasesProps, InviteLinkCard, type JoinBookingPreload, type JoinBookingSimulation, type JoinConfig, type JoinFlowState, JoinIsland, type JoinIslandProps, type JoinSimulation, type JoinStepRenderContext, JoinSubmitButton, type JoinSubmitRenderContext, type JoinTier, type JoinTierRenderContext, JourneyFrame, LockedPill, LockedScreen, MEMBERSHIP_CARD_TOKEN_DEFAULTS, MemberContentArea, type MemberContentAreaProps, type MemberCourseView, MemberGifts, MemberPlaceholderBody, MemberPortal, type MemberPortalProps, MemberProfilePage, type MemberProfileView, type MemberProvisionalRenderContext, type MemberReferrals, MemberRestart, MembersArea, type MembersAreaProps, type MembershipCardTokenName, MembershipCards, type MembershipCardsMode, type MembershipCardsProps, NAMED_SEAT_RECIPIENT_WORDS, NamedSeatInvitationLink, type NamedSeatInvitationLinkProps, NamedSeatPurchase, NamedSeatRecipientLine, OfficialCard, PACKAGED_PORTAL_FEATURES, PROFILE_SEGMENT, type PaymentPriceLines, PaymentStep, type PaymentStepProps, type PaymentStepSimulation, PlaceholderScreen, PortalAvatar, type PortalContext, type PortalFeature, type PortalFeatures, type PortalHomeSlots, PortalIcon, type PortalMe, type PortalMeResponse, PortalNav, PortalPage, type PortalRoute, type PortalRouting, PortalTile, PostCard, ProfileReferrals, ReferralsCard, type RescheduleProps, Rescheduler, SeatActions, ShareHome, SharePage, type Slot, SlotPicker, type SlotPickerClasses, type SlotPickerProps, type SubResponse, TierPlaceholder, UpgradeLink, additionalMemberSelection, articleFor, choosePrompt, dayKey, dayLabel, fmtDate, fmtMoney, fullLabel, groupSlotsByDay, hrefFor, isIOS, linkedinShareUrl, loadJoinResume, mailtoHref, memberMonth, membershipApplicationHref, namedSeatInvitationMessage, namedSeatInvitationShareable, namedSeatInvitationUrl, navTag, placeholderBadge, referralFromLocation, routeFromLocation, sameRoute, seatLine, shareVars, smsHref, startingPrompts, tierNeedsPayment, timeLabel, tzShort, useCourse, useMemberReferrals, useTierSelection };
@@ -2,10 +2,14 @@ import {
2
2
  ADDITIONAL_MEMBER_COPY,
3
3
  AdditionalMemberEditor,
4
4
  AdditionalMemberFields,
5
+ CopyButton,
6
+ CourseHomePanel,
7
+ CoursePage,
5
8
  DefaultHome,
6
9
  GiftCodeRedeemer,
7
10
  GiftOfferCards,
8
11
  GiftPurchases,
12
+ InviteLinkCard,
9
13
  JoinIsland,
10
14
  JoinSubmitButton,
11
15
  JourneyFrame,
@@ -24,6 +28,7 @@ import {
24
28
  NamedSeatInvitationLink,
25
29
  NamedSeatPurchase,
26
30
  NamedSeatRecipientLine,
31
+ OfficialCard,
27
32
  PACKAGED_PORTAL_FEATURES,
28
33
  PROFILE_SEGMENT,
29
34
  PaymentStep,
@@ -33,20 +38,24 @@ import {
33
38
  PortalNav,
34
39
  PortalPage,
35
40
  PortalTile,
41
+ PostCard,
42
+ ProfileReferrals,
43
+ ReferralsCard,
36
44
  Rescheduler,
45
+ SeatActions,
46
+ ShareHome,
47
+ SharePage,
37
48
  SlotPicker,
38
49
  TierPlaceholder,
39
50
  UpgradeLink,
40
51
  additionalMemberSelection,
52
+ articleFor,
41
53
  choosePrompt,
42
- dayKey,
43
- dayLabel,
44
- fmtDate,
45
- fmtMoney,
46
- fullLabel,
47
- groupSlotsByDay,
48
54
  hrefFor,
55
+ isIOS,
56
+ linkedinShareUrl,
49
57
  loadJoinResume,
58
+ mailtoHref,
50
59
  memberMonth,
51
60
  membershipApplicationHref,
52
61
  namedSeatInvitationMessage,
@@ -54,19 +63,31 @@ import {
54
63
  namedSeatInvitationUrl,
55
64
  navTag,
56
65
  placeholderBadge,
66
+ referralFromLocation,
57
67
  routeFromLocation,
58
68
  sameRoute,
69
+ seatLine,
70
+ shareVars,
71
+ smsHref,
59
72
  startingPrompts,
60
73
  tierNeedsPayment,
61
- timeLabel,
62
- tzShort,
74
+ useCourse,
75
+ useMemberReferrals,
63
76
  useTierSelection
64
- } from "../../chunk-ZIYK3OV2.js";
77
+ } from "../../chunk-QPFJBHHK.js";
65
78
  import {
66
79
  BrandStyle,
67
80
  ChapterCopyProvider,
81
+ dayKey,
82
+ dayLabel,
83
+ fmtDate,
84
+ fmtMoney,
85
+ fullLabel,
86
+ groupSlotsByDay,
87
+ timeLabel,
88
+ tzShort,
68
89
  useChapterCopy
69
- } from "../../chunk-7CVP6VSO.js";
90
+ } from "../../chunk-OXYMVK2O.js";
70
91
  import "../../chunk-IVXVECKR.js";
71
92
  export {
72
93
  ADDITIONAL_MEMBER_COPY,
@@ -74,10 +95,14 @@ export {
74
95
  AdditionalMemberFields,
75
96
  BrandStyle,
76
97
  ChapterCopyProvider,
98
+ CopyButton,
99
+ CourseHomePanel,
100
+ CoursePage,
77
101
  DefaultHome,
78
102
  GiftCodeRedeemer,
79
103
  GiftOfferCards,
80
104
  GiftPurchases,
105
+ InviteLinkCard,
81
106
  JoinIsland,
82
107
  JoinSubmitButton,
83
108
  JourneyFrame,
@@ -96,6 +121,7 @@ export {
96
121
  NamedSeatInvitationLink,
97
122
  NamedSeatPurchase,
98
123
  NamedSeatRecipientLine,
124
+ OfficialCard,
99
125
  PACKAGED_PORTAL_FEATURES,
100
126
  PROFILE_SEGMENT,
101
127
  PaymentStep,
@@ -105,11 +131,18 @@ export {
105
131
  PortalNav,
106
132
  PortalPage,
107
133
  PortalTile,
134
+ PostCard,
135
+ ProfileReferrals,
136
+ ReferralsCard,
108
137
  Rescheduler,
138
+ SeatActions,
139
+ ShareHome,
140
+ SharePage,
109
141
  SlotPicker,
110
142
  TierPlaceholder,
111
143
  UpgradeLink,
112
144
  additionalMemberSelection,
145
+ articleFor,
113
146
  choosePrompt,
114
147
  dayKey,
115
148
  dayLabel,
@@ -118,7 +151,10 @@ export {
118
151
  fullLabel,
119
152
  groupSlotsByDay,
120
153
  hrefFor,
154
+ isIOS,
155
+ linkedinShareUrl,
121
156
  loadJoinResume,
157
+ mailtoHref,
122
158
  memberMonth,
123
159
  membershipApplicationHref,
124
160
  namedSeatInvitationMessage,
@@ -126,13 +162,19 @@ export {
126
162
  namedSeatInvitationUrl,
127
163
  navTag,
128
164
  placeholderBadge,
165
+ referralFromLocation,
129
166
  routeFromLocation,
130
167
  sameRoute,
168
+ seatLine,
169
+ shareVars,
170
+ smsHref,
131
171
  startingPrompts,
132
172
  tierNeedsPayment,
133
173
  timeLabel,
134
174
  tzShort,
135
175
  useChapterCopy,
176
+ useCourse,
177
+ useMemberReferrals,
136
178
  useTierSelection
137
179
  };
138
180
  //# sourceMappingURL=index.js.map