@metrifox/react-sdk 0.0.6 → 0.0.8
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/README.md +168 -0
- package/dist/index.cjs +14 -14
- package/dist/index.d.ts +220 -1
- package/dist/index.js +14 -14
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,10 +7,28 @@ interface MetrifoxInitConfig {
|
|
|
7
7
|
}
|
|
8
8
|
declare const metrifoxInit: (config: MetrifoxInitConfig) => void;
|
|
9
9
|
|
|
10
|
+
declare enum ResetIntervals {
|
|
11
|
+
NONE = "none",
|
|
12
|
+
DAILY = "daily",
|
|
13
|
+
WEEKLY = "weekly",
|
|
14
|
+
MONTHLY = "monthly",
|
|
15
|
+
QUARTERLY = "quarterly",
|
|
16
|
+
YEARLY = "yearly",
|
|
17
|
+
BI_ANNUALLY = "biannually"
|
|
18
|
+
}
|
|
10
19
|
declare enum FeatureType {
|
|
11
20
|
BOOLEAN = "boolean",
|
|
12
21
|
METERED = "metered"
|
|
13
22
|
}
|
|
23
|
+
declare enum FeatureStatus {
|
|
24
|
+
ARCHIVED = "archived",
|
|
25
|
+
ACTIVE = "active",
|
|
26
|
+
ALL = "all"
|
|
27
|
+
}
|
|
28
|
+
declare enum EnforcementType {
|
|
29
|
+
SOFT = "soft",
|
|
30
|
+
HARD = "hard"
|
|
31
|
+
}
|
|
14
32
|
declare enum SubscriptionStatus {
|
|
15
33
|
ACTIVE = "active",
|
|
16
34
|
IN_TRIAL = "in_trial",
|
|
@@ -19,6 +37,17 @@ declare enum SubscriptionStatus {
|
|
|
19
37
|
DEACTIVATED = "deactivated",
|
|
20
38
|
PAUSED = "paused"
|
|
21
39
|
}
|
|
40
|
+
declare enum PriceTypes {
|
|
41
|
+
ONE_OFF = "OneOff",
|
|
42
|
+
FIXED_RECURRING = "RecurringFixed",
|
|
43
|
+
USAGE_BASED = "UsageBased"
|
|
44
|
+
}
|
|
45
|
+
declare enum OneOffType {
|
|
46
|
+
PER_UNIT = "per_unit",
|
|
47
|
+
PER_PACKAGE = "per_package",
|
|
48
|
+
FLAT = "flat",
|
|
49
|
+
PERCENTAGE = "percentage"
|
|
50
|
+
}
|
|
22
51
|
|
|
23
52
|
type SectionKey = "upcomingInvoice" | "subscription" | "creditBalance" | "entitlementUsage" | "paymentOverview" | "billingHistory" | "plan";
|
|
24
53
|
interface CustomerPortalProps {
|
|
@@ -132,7 +161,197 @@ interface ICustomerDetails {
|
|
|
132
161
|
tenant_checkout_username: string;
|
|
133
162
|
}
|
|
134
163
|
type InvoiceStatus = "draft" | "pending" | "open" | "voided" | "paid" | "written_off" | "refunded" | "overdue" | "due";
|
|
164
|
+
interface Offering {
|
|
165
|
+
created_at: string;
|
|
166
|
+
description: string;
|
|
167
|
+
display_text: string;
|
|
168
|
+
id: string;
|
|
169
|
+
metadata: null;
|
|
170
|
+
name: string;
|
|
171
|
+
offering_id: string;
|
|
172
|
+
offering_type: string;
|
|
173
|
+
offering_key: string;
|
|
174
|
+
status: string;
|
|
175
|
+
updated_at: string;
|
|
176
|
+
version_number: number;
|
|
177
|
+
checkout_url: string | null;
|
|
178
|
+
is_visible: boolean;
|
|
179
|
+
is_free: boolean;
|
|
180
|
+
is_custom: boolean;
|
|
181
|
+
is_current_plan: boolean;
|
|
182
|
+
custom_cta_text: string | null;
|
|
183
|
+
custom_cta_url: string | null;
|
|
184
|
+
base_entitlement_plan_name: string | null;
|
|
185
|
+
trial_duration_unit: string | null;
|
|
186
|
+
trial_duration_value: number | null;
|
|
187
|
+
price_options: PriceOption[];
|
|
188
|
+
entitlements: Entitlement[];
|
|
189
|
+
base_entitlements: Entitlement[];
|
|
190
|
+
entitlement_price_options: PriceOption[];
|
|
191
|
+
credit_attachment_price_options: PriceOption[];
|
|
192
|
+
credit_attachments: CreditSystemProps[];
|
|
193
|
+
base_entitlements_plan_name: string;
|
|
194
|
+
version_id: string;
|
|
195
|
+
is_invoiceable: boolean;
|
|
196
|
+
}
|
|
197
|
+
interface PriceOption {
|
|
198
|
+
metadata: Record<string, string>;
|
|
199
|
+
id: string;
|
|
200
|
+
owner_type: "OfferingVersion" | string;
|
|
201
|
+
price_type: PriceTypes;
|
|
202
|
+
price_owner: PriceOwner;
|
|
203
|
+
price: Price;
|
|
204
|
+
created_at: string;
|
|
205
|
+
updated_at: string;
|
|
206
|
+
}
|
|
207
|
+
interface PriceOwner {
|
|
208
|
+
id: string;
|
|
209
|
+
name: string;
|
|
210
|
+
offering_id: string;
|
|
211
|
+
display_text: string;
|
|
212
|
+
description: string;
|
|
213
|
+
charge_key: string;
|
|
214
|
+
charge_model: string;
|
|
215
|
+
metadata: Record<string, string> | null;
|
|
216
|
+
created_by: string;
|
|
217
|
+
updated_by: string | null;
|
|
218
|
+
deleted_by: string | null;
|
|
219
|
+
created_at: string;
|
|
220
|
+
updated_at: string;
|
|
221
|
+
deleted_at: string | null;
|
|
222
|
+
tenant_id: string;
|
|
223
|
+
price_option_id: string;
|
|
224
|
+
}
|
|
225
|
+
interface CreditOwner {
|
|
226
|
+
id: string;
|
|
227
|
+
name: string;
|
|
228
|
+
key: string;
|
|
229
|
+
description: string;
|
|
230
|
+
status: string;
|
|
231
|
+
credit_system_id: string;
|
|
232
|
+
credit_unit_singular: string;
|
|
233
|
+
credit_unit_plural: string;
|
|
234
|
+
unit_singular: string;
|
|
235
|
+
unit_plural: string;
|
|
236
|
+
price_options: PriceOption[];
|
|
237
|
+
}
|
|
238
|
+
interface CreditSystemProps {
|
|
239
|
+
status: FeatureStatus;
|
|
240
|
+
id: string;
|
|
241
|
+
name?: string;
|
|
242
|
+
credit_name: string;
|
|
243
|
+
credit_key: string;
|
|
244
|
+
credit_system_id: string;
|
|
245
|
+
credit_unit_singular: string;
|
|
246
|
+
credit_unit_plural: string;
|
|
247
|
+
source_type: string;
|
|
248
|
+
source_id: string;
|
|
249
|
+
use_default_price: boolean;
|
|
250
|
+
topup_enabled: boolean;
|
|
251
|
+
reset_interval: string;
|
|
252
|
+
included_usage: number;
|
|
253
|
+
carryover_enabled: boolean;
|
|
254
|
+
carryover_action: string;
|
|
255
|
+
expiry_value: number | null;
|
|
256
|
+
expiry_interval: number | null;
|
|
257
|
+
can_expire: boolean;
|
|
258
|
+
is_mandatory: boolean;
|
|
259
|
+
low_balance_threshold: number | null;
|
|
260
|
+
display_text: string | null;
|
|
261
|
+
included_usage_text: string;
|
|
262
|
+
price_options: PriceOption[];
|
|
263
|
+
tiers: Tier[];
|
|
264
|
+
}
|
|
265
|
+
interface Price {
|
|
266
|
+
id: string;
|
|
267
|
+
name: string;
|
|
268
|
+
currency: string;
|
|
269
|
+
price: number;
|
|
270
|
+
price_type: string;
|
|
271
|
+
tax_inclusion: "inclusive" | "exclusive" | string;
|
|
272
|
+
tax_type: string | null;
|
|
273
|
+
tax_rate: number | null;
|
|
274
|
+
billing_interval: "monthly" | "yearly" | string;
|
|
275
|
+
billing_interval_value: number;
|
|
276
|
+
trial_period: string | null;
|
|
277
|
+
trial_period_value: number;
|
|
278
|
+
invoice_timing: "in_advance" | "in_arrears" | string;
|
|
279
|
+
unit_label: string;
|
|
280
|
+
unit_per_package: number;
|
|
281
|
+
created_at: string;
|
|
282
|
+
type: PriceTypes;
|
|
283
|
+
updated_at: string;
|
|
284
|
+
package_name: string;
|
|
285
|
+
is_custom: boolean;
|
|
286
|
+
entitlement: Entitlement;
|
|
287
|
+
tiers?: Tier[];
|
|
288
|
+
tier_type: string;
|
|
289
|
+
owner: Entitlement | CreditOwner;
|
|
290
|
+
}
|
|
291
|
+
interface Tier {
|
|
292
|
+
pricing_model: OneOffType;
|
|
293
|
+
first_unit: number;
|
|
294
|
+
last_unit: number;
|
|
295
|
+
unit_price: number;
|
|
296
|
+
package_price: number;
|
|
297
|
+
package_size: number | null;
|
|
298
|
+
percentage: number;
|
|
299
|
+
min_price: number | null;
|
|
300
|
+
max_price: number | null;
|
|
301
|
+
flat_fee: number | null;
|
|
302
|
+
}
|
|
303
|
+
interface Entitlement {
|
|
304
|
+
carryover_enabled: boolean;
|
|
305
|
+
id: string;
|
|
306
|
+
name?: string;
|
|
307
|
+
enforcement_type: EnforcementType;
|
|
308
|
+
reset_interval: ResetIntervals;
|
|
309
|
+
reset_anchor: string;
|
|
310
|
+
display_text: string;
|
|
311
|
+
price_display_text: string;
|
|
312
|
+
quota: number;
|
|
313
|
+
included_usage: number;
|
|
314
|
+
carryover_action: string;
|
|
315
|
+
override_quota: number | null;
|
|
316
|
+
feature: Feature;
|
|
317
|
+
is_visible: boolean;
|
|
318
|
+
offering_version_id: string;
|
|
319
|
+
credit_key?: string;
|
|
320
|
+
credit_cost?: number | null;
|
|
321
|
+
pre_paid_credit_system_id?: string;
|
|
322
|
+
min_purchase_quantity?: number;
|
|
323
|
+
}
|
|
324
|
+
interface Feature {
|
|
325
|
+
id: string;
|
|
326
|
+
key: string;
|
|
327
|
+
name: string;
|
|
328
|
+
description: string;
|
|
329
|
+
feature_type: FeatureType;
|
|
330
|
+
usage_model: string;
|
|
331
|
+
event_names: string;
|
|
332
|
+
aggregation_method: string;
|
|
333
|
+
unit_singular: string;
|
|
334
|
+
unit_plural: string;
|
|
335
|
+
status: FeatureStatus;
|
|
336
|
+
created_at: string;
|
|
337
|
+
}
|
|
135
338
|
|
|
136
339
|
declare const CustomerPortal: ({ customerKey, sectionsConfig }: CustomerPortalProps) => react_jsx_runtime.JSX.Element;
|
|
137
340
|
|
|
138
|
-
|
|
341
|
+
declare const PriceCard: ({ plan, interval, featureOrderMap, isPricePage, isCustomerPortal, statusTag, addPriceButton, buttonText, isCurrentPlan, planActions, cardAction, buttonAction, }: {
|
|
342
|
+
plan: Offering;
|
|
343
|
+
interval: string;
|
|
344
|
+
featureOrderMap: Map<string, number>;
|
|
345
|
+
isPricePage?: boolean;
|
|
346
|
+
isCustomerPortal?: boolean;
|
|
347
|
+
statusTag?: React.ReactNode;
|
|
348
|
+
addPriceButton?: React.ReactNode;
|
|
349
|
+
buttonText?: string;
|
|
350
|
+
isCurrentPlan?: boolean;
|
|
351
|
+
planActions?: React.ReactNode;
|
|
352
|
+
cardAction?: () => void;
|
|
353
|
+
buttonAction?: () => void;
|
|
354
|
+
}) => react_jsx_runtime.JSX.Element | null;
|
|
355
|
+
|
|
356
|
+
export { CustomerPortal, PriceCard, metrifoxInit };
|
|
357
|
+
export type { Offering as ProductOffering };
|