@schematichq/schematic-components 0.3.7 → 0.3.9
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/schematic-components.cjs.js +148 -149
- package/dist/schematic-components.d.ts +49 -5
- package/dist/schematic-components.esm.js +148 -149
- package/package.json +1 -1
|
@@ -1227,6 +1227,7 @@ __export(src_exports, {
|
|
|
1227
1227
|
ProgressBar: () => ProgressBar,
|
|
1228
1228
|
Root: () => Root,
|
|
1229
1229
|
SchematicEmbed: () => SchematicEmbed,
|
|
1230
|
+
StyledCard: () => StyledCard,
|
|
1230
1231
|
Text: () => Text,
|
|
1231
1232
|
Tooltip: () => Tooltip,
|
|
1232
1233
|
UpcomingBill: () => UpcomingBill,
|
|
@@ -7368,22 +7369,6 @@ function CompanyPlanWithBillingSubViewFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7368
7369
|
};
|
|
7369
7370
|
}
|
|
7370
7371
|
|
|
7371
|
-
// src/api/models/PreviewObject.ts
|
|
7372
|
-
function PreviewObjectFromJSON(json) {
|
|
7373
|
-
return PreviewObjectFromJSONTyped(json, false);
|
|
7374
|
-
}
|
|
7375
|
-
function PreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7376
|
-
if (json == null) {
|
|
7377
|
-
return json;
|
|
7378
|
-
}
|
|
7379
|
-
return {
|
|
7380
|
-
description: json["description"] == null ? void 0 : json["description"],
|
|
7381
|
-
id: json["id"],
|
|
7382
|
-
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7383
|
-
name: json["name"]
|
|
7384
|
-
};
|
|
7385
|
-
}
|
|
7386
|
-
|
|
7387
7372
|
// src/api/models/EntityKeyDefinitionResponseData.ts
|
|
7388
7373
|
function EntityKeyDefinitionResponseDataFromJSON(json) {
|
|
7389
7374
|
return EntityKeyDefinitionResponseDataFromJSONTyped(json, false);
|
|
@@ -7461,6 +7446,22 @@ function EntityTraitDetailResponseDataFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7461
7446
|
};
|
|
7462
7447
|
}
|
|
7463
7448
|
|
|
7449
|
+
// src/api/models/GenericPreviewObject.ts
|
|
7450
|
+
function GenericPreviewObjectFromJSON(json) {
|
|
7451
|
+
return GenericPreviewObjectFromJSONTyped(json, false);
|
|
7452
|
+
}
|
|
7453
|
+
function GenericPreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7454
|
+
if (json == null) {
|
|
7455
|
+
return json;
|
|
7456
|
+
}
|
|
7457
|
+
return {
|
|
7458
|
+
description: json["description"] == null ? void 0 : json["description"],
|
|
7459
|
+
id: json["id"],
|
|
7460
|
+
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7461
|
+
name: json["name"]
|
|
7462
|
+
};
|
|
7463
|
+
}
|
|
7464
|
+
|
|
7464
7465
|
// src/api/models/CompanyDetailResponseData.ts
|
|
7465
7466
|
function CompanyDetailResponseDataFromJSON(json) {
|
|
7466
7467
|
return CompanyDetailResponseDataFromJSONTyped(json, false);
|
|
@@ -7487,13 +7488,29 @@ function CompanyDetailResponseDataFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7487
7488
|
logoUrl: json["logo_url"] == null ? void 0 : json["logo_url"],
|
|
7488
7489
|
name: json["name"],
|
|
7489
7490
|
plan: json["plan"] == null ? void 0 : CompanyPlanWithBillingSubViewFromJSON(json["plan"]),
|
|
7490
|
-
plans: json["plans"].map(
|
|
7491
|
+
plans: json["plans"].map(GenericPreviewObjectFromJSON),
|
|
7491
7492
|
traits: json["traits"] == null ? void 0 : json["traits"],
|
|
7492
7493
|
updatedAt: new Date(json["updated_at"]),
|
|
7493
7494
|
userCount: json["user_count"]
|
|
7494
7495
|
};
|
|
7495
7496
|
}
|
|
7496
7497
|
|
|
7498
|
+
// src/api/models/PreviewObject.ts
|
|
7499
|
+
function PreviewObjectFromJSON(json) {
|
|
7500
|
+
return PreviewObjectFromJSONTyped(json, false);
|
|
7501
|
+
}
|
|
7502
|
+
function PreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7503
|
+
if (json == null) {
|
|
7504
|
+
return json;
|
|
7505
|
+
}
|
|
7506
|
+
return {
|
|
7507
|
+
description: json["description"] == null ? void 0 : json["description"],
|
|
7508
|
+
id: json["id"],
|
|
7509
|
+
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7510
|
+
name: json["name"]
|
|
7511
|
+
};
|
|
7512
|
+
}
|
|
7513
|
+
|
|
7497
7514
|
// src/api/models/EventSummaryResponseData.ts
|
|
7498
7515
|
function EventSummaryResponseDataFromJSON(json) {
|
|
7499
7516
|
return EventSummaryResponseDataFromJSONTyped(json, false);
|
|
@@ -8865,7 +8882,7 @@ var EmbedProvider = ({
|
|
|
8865
8882
|
(0, import_react2.useEffect)(() => {
|
|
8866
8883
|
if (accessToken) {
|
|
8867
8884
|
const { headers = {} } = apiConfig ?? {};
|
|
8868
|
-
headers["X-Schematic-Components-Version"] = "0.3.
|
|
8885
|
+
headers["X-Schematic-Components-Version"] = "0.3.9";
|
|
8869
8886
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
8870
8887
|
const config = new Configuration({
|
|
8871
8888
|
...apiConfig,
|
|
@@ -9798,14 +9815,13 @@ var FeatureName = ({
|
|
|
9798
9815
|
};
|
|
9799
9816
|
var CheckoutDialog = () => {
|
|
9800
9817
|
const theme = nt();
|
|
9801
|
-
const { api, data, setLayout } = useEmbed();
|
|
9818
|
+
const { api, data, mode, setLayout } = useEmbed();
|
|
9802
9819
|
const [checkoutStage, setCheckoutStage] = (0, import_react8.useState)(
|
|
9803
9820
|
"plan"
|
|
9804
9821
|
);
|
|
9805
9822
|
const [planPeriod, setPlanPeriod] = (0, import_react8.useState)(
|
|
9806
|
-
|
|
9823
|
+
data.company?.plan?.planPeriod || "month"
|
|
9807
9824
|
);
|
|
9808
|
-
const [selectedPlan, setSelectedPlan] = (0, import_react8.useState)();
|
|
9809
9825
|
const [charges, setCharges] = (0, import_react8.useState)();
|
|
9810
9826
|
const [paymentMethodId, setPaymentMethodId] = (0, import_react8.useState)();
|
|
9811
9827
|
const [isLoading, setIsLoading] = (0, import_react8.useState)(false);
|
|
@@ -9816,26 +9832,29 @@ var CheckoutDialog = () => {
|
|
|
9816
9832
|
const [stripe, setStripe] = (0, import_react8.useState)(null);
|
|
9817
9833
|
const [setupIntent, setSetupIntent] = (0, import_react8.useState)();
|
|
9818
9834
|
const { paymentMethod, currentPlan, availablePlans, planPeriodOptions } = (0, import_react8.useMemo)(() => {
|
|
9819
|
-
const showMonthlyPriceOption = data.activePlans.some(
|
|
9820
|
-
(plan) => typeof plan.yearlyPrice !== "undefined"
|
|
9821
|
-
);
|
|
9822
|
-
const showYearlyPriceOption = data.activePlans.some(
|
|
9823
|
-
(plan) => typeof plan.yearlyPrice !== "undefined"
|
|
9824
|
-
);
|
|
9825
9835
|
const planPeriodOptions2 = [];
|
|
9826
|
-
if (
|
|
9836
|
+
if (data.activePlans.some((plan) => plan.monthlyPrice)) {
|
|
9827
9837
|
planPeriodOptions2.push("month");
|
|
9828
9838
|
}
|
|
9829
|
-
if (
|
|
9839
|
+
if (data.activePlans.some((plan) => plan.yearlyPrice)) {
|
|
9830
9840
|
planPeriodOptions2.push("year");
|
|
9831
9841
|
}
|
|
9832
9842
|
return {
|
|
9833
9843
|
paymentMethod: data.subscription?.paymentMethod,
|
|
9834
9844
|
currentPlan: data.company?.plan,
|
|
9835
|
-
availablePlans: data.activePlans
|
|
9845
|
+
availablePlans: mode === "edit" ? data.activePlans : data.activePlans.filter((plan) => {
|
|
9846
|
+
return planPeriod === "month" && plan.monthlyPrice || planPeriod === "year" && plan.yearlyPrice;
|
|
9847
|
+
}),
|
|
9836
9848
|
planPeriodOptions: planPeriodOptions2
|
|
9837
9849
|
};
|
|
9838
|
-
}, [
|
|
9850
|
+
}, [
|
|
9851
|
+
data.subscription?.paymentMethod,
|
|
9852
|
+
data.company,
|
|
9853
|
+
data.activePlans,
|
|
9854
|
+
mode,
|
|
9855
|
+
planPeriod
|
|
9856
|
+
]);
|
|
9857
|
+
const [selectedPlan, setSelectedPlan] = (0, import_react8.useState)(() => availablePlans.find((plan) => plan.id === currentPlan?.id));
|
|
9839
9858
|
const savingsPercentage = (0, import_react8.useMemo)(() => {
|
|
9840
9859
|
if (selectedPlan) {
|
|
9841
9860
|
const monthly = (selectedPlan?.monthlyPrice?.price || 0) * 12;
|
|
@@ -9855,8 +9874,11 @@ var CheckoutDialog = () => {
|
|
|
9855
9874
|
const isLightBackground = useIsLightBackground();
|
|
9856
9875
|
const selectPlan = (0, import_react8.useCallback)(
|
|
9857
9876
|
async (plan, newPeriod) => {
|
|
9858
|
-
setSelectedPlan(plan);
|
|
9859
9877
|
setCharges(void 0);
|
|
9878
|
+
if (plan.id === currentPlan?.id && newPeriod && newPeriod === currentPlan?.planPeriod) {
|
|
9879
|
+
return;
|
|
9880
|
+
}
|
|
9881
|
+
setSelectedPlan(plan);
|
|
9860
9882
|
const period = newPeriod || planPeriod;
|
|
9861
9883
|
const priceId = (period === "month" ? plan?.monthlyPrice : plan?.yearlyPrice)?.id;
|
|
9862
9884
|
if (!priceId || !api) {
|
|
@@ -9879,14 +9901,14 @@ var CheckoutDialog = () => {
|
|
|
9879
9901
|
setIsLoading(false);
|
|
9880
9902
|
}
|
|
9881
9903
|
},
|
|
9882
|
-
[api, planPeriod]
|
|
9904
|
+
[api, currentPlan, planPeriod]
|
|
9883
9905
|
);
|
|
9884
9906
|
const changePlanPeriod = (0, import_react8.useCallback)(
|
|
9885
9907
|
(period) => {
|
|
9886
|
-
setPlanPeriod(period);
|
|
9887
9908
|
if (selectedPlan) {
|
|
9888
9909
|
selectPlan(selectedPlan, period);
|
|
9889
9910
|
}
|
|
9911
|
+
setPlanPeriod(period);
|
|
9890
9912
|
},
|
|
9891
9913
|
[selectedPlan, selectPlan]
|
|
9892
9914
|
);
|
|
@@ -9924,7 +9946,7 @@ var CheckoutDialog = () => {
|
|
|
9924
9946
|
document.body.style.overflow = "";
|
|
9925
9947
|
};
|
|
9926
9948
|
}, []);
|
|
9927
|
-
const allowCheckout = api && selectedPlan && (paymentMethod && !showPaymentForm || paymentMethodId) && !isLoading;
|
|
9949
|
+
const allowCheckout = api && selectedPlan && (selectedPlan.id !== currentPlan?.id || planPeriod !== currentPlan.planPeriod) && (paymentMethod && !showPaymentForm || paymentMethodId) && !isLoading;
|
|
9928
9950
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Modal, { size: "lg", children: [
|
|
9929
9951
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ModalHeader, { bordered: true, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Flex, { $gap: "1rem", children: [
|
|
9930
9952
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Flex, { $gap: "0.5rem", $alignItems: "center", children: [
|
|
@@ -10067,6 +10089,7 @@ var CheckoutDialog = () => {
|
|
|
10067
10089
|
}
|
|
10068
10090
|
return 0;
|
|
10069
10091
|
}).map((plan) => {
|
|
10092
|
+
const isCurrentPlan = plan.id === selectedPlan?.id;
|
|
10070
10093
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
10071
10094
|
Flex,
|
|
10072
10095
|
{
|
|
@@ -10107,7 +10130,7 @@ var CheckoutDialog = () => {
|
|
|
10107
10130
|
planPeriod
|
|
10108
10131
|
] })
|
|
10109
10132
|
] }),
|
|
10110
|
-
|
|
10133
|
+
isCurrentPlan && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10111
10134
|
Flex,
|
|
10112
10135
|
{
|
|
10113
10136
|
$position: "absolute",
|
|
@@ -10162,7 +10185,7 @@ var CheckoutDialog = () => {
|
|
|
10162
10185
|
})
|
|
10163
10186
|
}
|
|
10164
10187
|
),
|
|
10165
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.
|
|
10188
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10166
10189
|
Flex,
|
|
10167
10190
|
{
|
|
10168
10191
|
$flexDirection: "column",
|
|
@@ -10171,58 +10194,56 @@ var CheckoutDialog = () => {
|
|
|
10171
10194
|
$width: "100%",
|
|
10172
10195
|
$height: "auto",
|
|
10173
10196
|
$padding: "1.5rem",
|
|
10174
|
-
children:
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10179
|
-
|
|
10180
|
-
|
|
10181
|
-
|
|
10182
|
-
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
|
|
10188
|
-
|
|
10189
|
-
|
|
10190
|
-
|
|
10191
|
-
|
|
10192
|
-
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10197
|
+
children: !isCurrentPlan ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box, { $position: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10198
|
+
EmbedButton,
|
|
10199
|
+
{
|
|
10200
|
+
disabled: isLoading || plan.valid === false,
|
|
10201
|
+
isLoading,
|
|
10202
|
+
...plan.valid === true && {
|
|
10203
|
+
onClick: () => selectPlan(plan)
|
|
10204
|
+
},
|
|
10205
|
+
$size: "sm",
|
|
10206
|
+
$color: "primary",
|
|
10207
|
+
$variant: "outline",
|
|
10208
|
+
children: plan.valid === false ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10209
|
+
Tooltip,
|
|
10210
|
+
{
|
|
10211
|
+
label: "Over usage limit",
|
|
10212
|
+
description: " Current usage exceeds limit of this plan"
|
|
10213
|
+
}
|
|
10214
|
+
) : "Select"
|
|
10215
|
+
}
|
|
10216
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
10217
|
+
Flex,
|
|
10218
|
+
{
|
|
10219
|
+
$justifyContent: "center",
|
|
10220
|
+
$alignItems: "center",
|
|
10221
|
+
$gap: "0.25rem",
|
|
10222
|
+
$fontSize: "0.9375rem",
|
|
10223
|
+
$padding: "0.625rem 0",
|
|
10224
|
+
children: [
|
|
10225
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10226
|
+
Icon2,
|
|
10227
|
+
{
|
|
10228
|
+
name: "check-rounded",
|
|
10229
|
+
style: {
|
|
10230
|
+
fontSize: 20,
|
|
10231
|
+
lineHeight: "1",
|
|
10232
|
+
color: theme.primary
|
|
10201
10233
|
}
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
plan.id !== selectedPlan?.id && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box, { $position: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10207
|
-
EmbedButton,
|
|
10208
|
-
{
|
|
10209
|
-
disabled: isLoading || plan.valid === false,
|
|
10210
|
-
...plan.valid === true && {
|
|
10211
|
-
onClick: () => selectPlan(plan)
|
|
10212
|
-
},
|
|
10213
|
-
$size: "sm",
|
|
10214
|
-
$color: "primary",
|
|
10215
|
-
$variant: "outline",
|
|
10216
|
-
children: plan.valid === false ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10217
|
-
Tooltip,
|
|
10234
|
+
}
|
|
10235
|
+
),
|
|
10236
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10237
|
+
Text,
|
|
10218
10238
|
{
|
|
10219
|
-
|
|
10220
|
-
|
|
10239
|
+
$lineHeight: "1.4",
|
|
10240
|
+
$color: theme.typography.text.color,
|
|
10241
|
+
children: "Selected"
|
|
10221
10242
|
}
|
|
10222
|
-
)
|
|
10223
|
-
|
|
10224
|
-
|
|
10225
|
-
|
|
10243
|
+
)
|
|
10244
|
+
]
|
|
10245
|
+
}
|
|
10246
|
+
)
|
|
10226
10247
|
}
|
|
10227
10248
|
)
|
|
10228
10249
|
]
|
|
@@ -10446,7 +10467,7 @@ var CheckoutDialog = () => {
|
|
|
10446
10467
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10447
10468
|
Flex,
|
|
10448
10469
|
{
|
|
10449
|
-
...
|
|
10470
|
+
...allowCheckout && {
|
|
10450
10471
|
$opacity: "0.625",
|
|
10451
10472
|
$textDecoration: "line-through"
|
|
10452
10473
|
},
|
|
@@ -10479,7 +10500,7 @@ var CheckoutDialog = () => {
|
|
|
10479
10500
|
]
|
|
10480
10501
|
}
|
|
10481
10502
|
),
|
|
10482
|
-
|
|
10503
|
+
allowCheckout && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box, { $marginBottom: "1rem", children: [
|
|
10483
10504
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10484
10505
|
Box,
|
|
10485
10506
|
{
|
|
@@ -10671,6 +10692,7 @@ var CheckoutDialog = () => {
|
|
|
10671
10692
|
checkoutStage === "plan" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
10672
10693
|
EmbedButton,
|
|
10673
10694
|
{
|
|
10695
|
+
isLoading,
|
|
10674
10696
|
...allowCheckout ? {
|
|
10675
10697
|
onClick: async () => {
|
|
10676
10698
|
if (!data.component?.id) {
|
|
@@ -10900,69 +10922,47 @@ var import_react12 = require("react");
|
|
|
10900
10922
|
|
|
10901
10923
|
// src/components/layout/card/styles.ts
|
|
10902
10924
|
var Element = dt(Box)``;
|
|
10903
|
-
var StyledCard = dt.div(
|
|
10904
|
-
(
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
|
|
10909
|
-
|
|
10910
|
-
|
|
10911
|
-
|
|
10912
|
-
|
|
10913
|
-
|
|
10914
|
-
|
|
10915
|
-
|
|
10916
|
-
|
|
10917
|
-
|
|
10918
|
-
|
|
10919
|
-
|
|
10920
|
-
|
|
10921
|
-
|
|
10922
|
-
|
|
10923
|
-
|
|
10924
|
-
|
|
10925
|
-
|
|
10926
|
-
|
|
10927
|
-
|
|
10928
|
-
|
|
10929
|
-
|
|
10930
|
-
|
|
10931
|
-
|
|
10932
|
-
|
|
10933
|
-
|
|
10934
|
-
|
|
10935
|
-
|
|
10936
|
-
|
|
10937
|
-
|
|
10938
|
-
${$sectionLayout === "merged" ? lt`
|
|
10939
|
-
border-bottom: 1px solid ${borderColor};
|
|
10940
|
-
` : lt`
|
|
10941
|
-
margin-bottom: 1rem;
|
|
10942
|
-
`}
|
|
10943
|
-
}
|
|
10944
|
-
}
|
|
10945
|
-
`;
|
|
10946
|
-
}
|
|
10947
|
-
);
|
|
10925
|
+
var StyledCard = dt.div(({ theme }) => {
|
|
10926
|
+
const { l: l2 } = hexToHSL(theme.card.background);
|
|
10927
|
+
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
10928
|
+
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
10929
|
+
const boxShadow = "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A";
|
|
10930
|
+
const Selector = theme.sectionLayout === "merged" ? "&" : Element;
|
|
10931
|
+
return lt`
|
|
10932
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
10933
|
+
box-sizing: border-box;
|
|
10934
|
+
|
|
10935
|
+
*,
|
|
10936
|
+
*::before,
|
|
10937
|
+
*::after {
|
|
10938
|
+
box-sizing: inherit;
|
|
10939
|
+
}
|
|
10940
|
+
|
|
10941
|
+
${Selector} {
|
|
10942
|
+
color: ${theme.typography.text.color};
|
|
10943
|
+
background: ${theme.card.background};
|
|
10944
|
+
border-radius: ${borderRadius};
|
|
10945
|
+
${theme.card.hasShadow && `box-shadow: ${boxShadow};`}
|
|
10946
|
+
}
|
|
10947
|
+
|
|
10948
|
+
${Element} {
|
|
10949
|
+
padding: ${theme.card.padding * 0.75 / TEXT_BASE_SIZE}rem
|
|
10950
|
+
${theme.card.padding / TEXT_BASE_SIZE}rem;
|
|
10951
|
+
|
|
10952
|
+
${theme.sectionLayout === "merged" ? lt`
|
|
10953
|
+
border-bottom: 1px solid ${borderColor};
|
|
10954
|
+
` : lt`
|
|
10955
|
+
margin-bottom: 1rem;
|
|
10956
|
+
`}
|
|
10957
|
+
}
|
|
10958
|
+
`;
|
|
10959
|
+
});
|
|
10948
10960
|
|
|
10949
10961
|
// src/components/layout/card/Card.tsx
|
|
10950
10962
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
10951
10963
|
var Card = (0, import_react12.forwardRef)(
|
|
10952
10964
|
({ children, className }, ref) => {
|
|
10953
|
-
|
|
10954
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
10955
|
-
StyledCard,
|
|
10956
|
-
{
|
|
10957
|
-
ref,
|
|
10958
|
-
className,
|
|
10959
|
-
$sectionLayout: theme?.sectionLayout,
|
|
10960
|
-
$borderRadius: theme?.card?.borderRadius,
|
|
10961
|
-
$padding: theme?.card?.padding,
|
|
10962
|
-
$shadow: theme?.card?.hasShadow,
|
|
10963
|
-
children
|
|
10964
|
-
}
|
|
10965
|
-
);
|
|
10965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(StyledCard, { ref, className, children });
|
|
10966
10966
|
}
|
|
10967
10967
|
);
|
|
10968
10968
|
Card.displayName = "Card";
|
|
@@ -11257,8 +11257,7 @@ function resolveDesignProps3(props) {
|
|
|
11257
11257
|
usage: {
|
|
11258
11258
|
isVisible: props.usage?.isVisible ?? true,
|
|
11259
11259
|
fontStyle: props.usage?.fontStyle ?? "heading5"
|
|
11260
|
-
}
|
|
11261
|
-
visibleFeatures: props.visibleFeatures ?? []
|
|
11260
|
+
}
|
|
11262
11261
|
};
|
|
11263
11262
|
}
|
|
11264
11263
|
var MeteredFeatures = (0, import_react16.forwardRef)(({ className, ...rest }, ref) => {
|
|
@@ -11269,7 +11268,7 @@ var MeteredFeatures = (0, import_react16.forwardRef)(({ className, ...rest }, re
|
|
|
11269
11268
|
const { data } = useEmbed();
|
|
11270
11269
|
const isLightBackground = useIsLightBackground();
|
|
11271
11270
|
const features = (data.featureUsage?.features || []).filter(({ feature }) => {
|
|
11272
|
-
return
|
|
11271
|
+
return feature?.featureType === "event" || feature?.featureType === "trait";
|
|
11273
11272
|
});
|
|
11274
11273
|
if (features.length === 0) {
|
|
11275
11274
|
return null;
|
|
@@ -581,10 +581,10 @@ declare interface CompanyDetailResponseData {
|
|
|
581
581
|
plan?: CompanyPlanWithBillingSubView;
|
|
582
582
|
/**
|
|
583
583
|
*
|
|
584
|
-
* @type {Array<
|
|
584
|
+
* @type {Array<GenericPreviewObject>}
|
|
585
585
|
* @memberof CompanyDetailResponseData
|
|
586
586
|
*/
|
|
587
|
-
plans: Array<
|
|
587
|
+
plans: Array<GenericPreviewObject>;
|
|
588
588
|
/**
|
|
589
589
|
* A map of trait names to trait values
|
|
590
590
|
* @type {object}
|
|
@@ -1164,7 +1164,6 @@ declare interface DesignProps_3 {
|
|
|
1164
1164
|
isVisible: boolean;
|
|
1165
1165
|
fontStyle: FontStyle;
|
|
1166
1166
|
};
|
|
1167
|
-
visibleFeatures: string[];
|
|
1168
1167
|
}
|
|
1169
1168
|
|
|
1170
1169
|
declare interface DesignProps_4 {
|
|
@@ -1201,7 +1200,7 @@ declare interface DesignProps_5 {
|
|
|
1201
1200
|
callToAction: {
|
|
1202
1201
|
isVisible: boolean;
|
|
1203
1202
|
buttonSize: "sm" | "md" | "lg";
|
|
1204
|
-
buttonStyle: "primary" | "secondary"
|
|
1203
|
+
buttonStyle: "primary" | "secondary";
|
|
1205
1204
|
};
|
|
1206
1205
|
}
|
|
1207
1206
|
|
|
@@ -1235,7 +1234,7 @@ declare interface ElementProps {
|
|
|
1235
1234
|
|
|
1236
1235
|
export declare const EmbedButton: IStyledComponentBase<"web", Substitute<ButtonProps, {
|
|
1237
1236
|
$size?: "sm" | "md" | "lg";
|
|
1238
|
-
$color?: "primary" | "secondary"
|
|
1237
|
+
$color?: "primary" | "secondary";
|
|
1239
1238
|
$variant?: "outline" | "filled";
|
|
1240
1239
|
}>> & string & Omit<({ color, size, variant, disabled, isLoading, children, ...props }: ButtonProps) => JSX_2.Element, keyof Component<any, {}, any>>;
|
|
1241
1240
|
|
|
@@ -1971,6 +1970,49 @@ ref?: ((instance: HTMLDivElement | null) => void | DO_NOT_USE_OR_YOU_WILL_BE_FIR
|
|
|
1971
1970
|
|
|
1972
1971
|
export declare type FontStyle = keyof EmbedThemeSettings["typography"];
|
|
1973
1972
|
|
|
1973
|
+
/**
|
|
1974
|
+
* Schematic API
|
|
1975
|
+
* Schematic API
|
|
1976
|
+
*
|
|
1977
|
+
* The version of the OpenAPI document: 0.1
|
|
1978
|
+
*
|
|
1979
|
+
*
|
|
1980
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
1981
|
+
* https://openapi-generator.tech
|
|
1982
|
+
* Do not edit the class manually.
|
|
1983
|
+
*/
|
|
1984
|
+
/**
|
|
1985
|
+
*
|
|
1986
|
+
* @export
|
|
1987
|
+
* @interface GenericPreviewObject
|
|
1988
|
+
*/
|
|
1989
|
+
declare interface GenericPreviewObject {
|
|
1990
|
+
/**
|
|
1991
|
+
*
|
|
1992
|
+
* @type {string}
|
|
1993
|
+
* @memberof GenericPreviewObject
|
|
1994
|
+
*/
|
|
1995
|
+
description?: string | null;
|
|
1996
|
+
/**
|
|
1997
|
+
*
|
|
1998
|
+
* @type {string}
|
|
1999
|
+
* @memberof GenericPreviewObject
|
|
2000
|
+
*/
|
|
2001
|
+
id: string;
|
|
2002
|
+
/**
|
|
2003
|
+
*
|
|
2004
|
+
* @type {string}
|
|
2005
|
+
* @memberof GenericPreviewObject
|
|
2006
|
+
*/
|
|
2007
|
+
imageUrl?: string | null;
|
|
2008
|
+
/**
|
|
2009
|
+
*
|
|
2010
|
+
* @type {string}
|
|
2011
|
+
* @memberof GenericPreviewObject
|
|
2012
|
+
*/
|
|
2013
|
+
name: string;
|
|
2014
|
+
}
|
|
2015
|
+
|
|
1974
2016
|
declare interface GetSetupIntentRequest {
|
|
1975
2017
|
componentId: string;
|
|
1976
2018
|
}
|
|
@@ -3189,6 +3231,8 @@ declare interface StripeEmbedInfo {
|
|
|
3189
3231
|
setupIntentClientSecret?: string | null;
|
|
3190
3232
|
}
|
|
3191
3233
|
|
|
3234
|
+
export declare const StyledCard: IStyledComponentBase<"web", FastOmit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
3235
|
+
|
|
3192
3236
|
declare const Text_2: IStyledComponentBase<"web", Substitute<FastOmit<Substitute<DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Omit<DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
3193
3237
|
ref?: ((instance: HTMLSpanElement | null) => void | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | RefObject<HTMLSpanElement> | null | undefined;
|
|
3194
3238
|
}>, never>, TextProps>> & string;
|
|
@@ -7329,22 +7329,6 @@ function CompanyPlanWithBillingSubViewFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7329
7329
|
};
|
|
7330
7330
|
}
|
|
7331
7331
|
|
|
7332
|
-
// src/api/models/PreviewObject.ts
|
|
7333
|
-
function PreviewObjectFromJSON(json) {
|
|
7334
|
-
return PreviewObjectFromJSONTyped(json, false);
|
|
7335
|
-
}
|
|
7336
|
-
function PreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7337
|
-
if (json == null) {
|
|
7338
|
-
return json;
|
|
7339
|
-
}
|
|
7340
|
-
return {
|
|
7341
|
-
description: json["description"] == null ? void 0 : json["description"],
|
|
7342
|
-
id: json["id"],
|
|
7343
|
-
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7344
|
-
name: json["name"]
|
|
7345
|
-
};
|
|
7346
|
-
}
|
|
7347
|
-
|
|
7348
7332
|
// src/api/models/EntityKeyDefinitionResponseData.ts
|
|
7349
7333
|
function EntityKeyDefinitionResponseDataFromJSON(json) {
|
|
7350
7334
|
return EntityKeyDefinitionResponseDataFromJSONTyped(json, false);
|
|
@@ -7422,6 +7406,22 @@ function EntityTraitDetailResponseDataFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7422
7406
|
};
|
|
7423
7407
|
}
|
|
7424
7408
|
|
|
7409
|
+
// src/api/models/GenericPreviewObject.ts
|
|
7410
|
+
function GenericPreviewObjectFromJSON(json) {
|
|
7411
|
+
return GenericPreviewObjectFromJSONTyped(json, false);
|
|
7412
|
+
}
|
|
7413
|
+
function GenericPreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7414
|
+
if (json == null) {
|
|
7415
|
+
return json;
|
|
7416
|
+
}
|
|
7417
|
+
return {
|
|
7418
|
+
description: json["description"] == null ? void 0 : json["description"],
|
|
7419
|
+
id: json["id"],
|
|
7420
|
+
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7421
|
+
name: json["name"]
|
|
7422
|
+
};
|
|
7423
|
+
}
|
|
7424
|
+
|
|
7425
7425
|
// src/api/models/CompanyDetailResponseData.ts
|
|
7426
7426
|
function CompanyDetailResponseDataFromJSON(json) {
|
|
7427
7427
|
return CompanyDetailResponseDataFromJSONTyped(json, false);
|
|
@@ -7448,13 +7448,29 @@ function CompanyDetailResponseDataFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
7448
7448
|
logoUrl: json["logo_url"] == null ? void 0 : json["logo_url"],
|
|
7449
7449
|
name: json["name"],
|
|
7450
7450
|
plan: json["plan"] == null ? void 0 : CompanyPlanWithBillingSubViewFromJSON(json["plan"]),
|
|
7451
|
-
plans: json["plans"].map(
|
|
7451
|
+
plans: json["plans"].map(GenericPreviewObjectFromJSON),
|
|
7452
7452
|
traits: json["traits"] == null ? void 0 : json["traits"],
|
|
7453
7453
|
updatedAt: new Date(json["updated_at"]),
|
|
7454
7454
|
userCount: json["user_count"]
|
|
7455
7455
|
};
|
|
7456
7456
|
}
|
|
7457
7457
|
|
|
7458
|
+
// src/api/models/PreviewObject.ts
|
|
7459
|
+
function PreviewObjectFromJSON(json) {
|
|
7460
|
+
return PreviewObjectFromJSONTyped(json, false);
|
|
7461
|
+
}
|
|
7462
|
+
function PreviewObjectFromJSONTyped(json, ignoreDiscriminator) {
|
|
7463
|
+
if (json == null) {
|
|
7464
|
+
return json;
|
|
7465
|
+
}
|
|
7466
|
+
return {
|
|
7467
|
+
description: json["description"] == null ? void 0 : json["description"],
|
|
7468
|
+
id: json["id"],
|
|
7469
|
+
imageUrl: json["image_url"] == null ? void 0 : json["image_url"],
|
|
7470
|
+
name: json["name"]
|
|
7471
|
+
};
|
|
7472
|
+
}
|
|
7473
|
+
|
|
7458
7474
|
// src/api/models/EventSummaryResponseData.ts
|
|
7459
7475
|
function EventSummaryResponseDataFromJSON(json) {
|
|
7460
7476
|
return EventSummaryResponseDataFromJSONTyped(json, false);
|
|
@@ -8826,7 +8842,7 @@ var EmbedProvider = ({
|
|
|
8826
8842
|
useEffect(() => {
|
|
8827
8843
|
if (accessToken) {
|
|
8828
8844
|
const { headers = {} } = apiConfig ?? {};
|
|
8829
|
-
headers["X-Schematic-Components-Version"] = "0.3.
|
|
8845
|
+
headers["X-Schematic-Components-Version"] = "0.3.9";
|
|
8830
8846
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
8831
8847
|
const config = new Configuration({
|
|
8832
8848
|
...apiConfig,
|
|
@@ -9759,14 +9775,13 @@ var FeatureName = ({
|
|
|
9759
9775
|
};
|
|
9760
9776
|
var CheckoutDialog = () => {
|
|
9761
9777
|
const theme = nt();
|
|
9762
|
-
const { api, data, setLayout } = useEmbed();
|
|
9778
|
+
const { api, data, mode, setLayout } = useEmbed();
|
|
9763
9779
|
const [checkoutStage, setCheckoutStage] = useState3(
|
|
9764
9780
|
"plan"
|
|
9765
9781
|
);
|
|
9766
9782
|
const [planPeriod, setPlanPeriod] = useState3(
|
|
9767
|
-
|
|
9783
|
+
data.company?.plan?.planPeriod || "month"
|
|
9768
9784
|
);
|
|
9769
|
-
const [selectedPlan, setSelectedPlan] = useState3();
|
|
9770
9785
|
const [charges, setCharges] = useState3();
|
|
9771
9786
|
const [paymentMethodId, setPaymentMethodId] = useState3();
|
|
9772
9787
|
const [isLoading, setIsLoading] = useState3(false);
|
|
@@ -9777,26 +9792,29 @@ var CheckoutDialog = () => {
|
|
|
9777
9792
|
const [stripe, setStripe] = useState3(null);
|
|
9778
9793
|
const [setupIntent, setSetupIntent] = useState3();
|
|
9779
9794
|
const { paymentMethod, currentPlan, availablePlans, planPeriodOptions } = useMemo2(() => {
|
|
9780
|
-
const showMonthlyPriceOption = data.activePlans.some(
|
|
9781
|
-
(plan) => typeof plan.yearlyPrice !== "undefined"
|
|
9782
|
-
);
|
|
9783
|
-
const showYearlyPriceOption = data.activePlans.some(
|
|
9784
|
-
(plan) => typeof plan.yearlyPrice !== "undefined"
|
|
9785
|
-
);
|
|
9786
9795
|
const planPeriodOptions2 = [];
|
|
9787
|
-
if (
|
|
9796
|
+
if (data.activePlans.some((plan) => plan.monthlyPrice)) {
|
|
9788
9797
|
planPeriodOptions2.push("month");
|
|
9789
9798
|
}
|
|
9790
|
-
if (
|
|
9799
|
+
if (data.activePlans.some((plan) => plan.yearlyPrice)) {
|
|
9791
9800
|
planPeriodOptions2.push("year");
|
|
9792
9801
|
}
|
|
9793
9802
|
return {
|
|
9794
9803
|
paymentMethod: data.subscription?.paymentMethod,
|
|
9795
9804
|
currentPlan: data.company?.plan,
|
|
9796
|
-
availablePlans: data.activePlans
|
|
9805
|
+
availablePlans: mode === "edit" ? data.activePlans : data.activePlans.filter((plan) => {
|
|
9806
|
+
return planPeriod === "month" && plan.monthlyPrice || planPeriod === "year" && plan.yearlyPrice;
|
|
9807
|
+
}),
|
|
9797
9808
|
planPeriodOptions: planPeriodOptions2
|
|
9798
9809
|
};
|
|
9799
|
-
}, [
|
|
9810
|
+
}, [
|
|
9811
|
+
data.subscription?.paymentMethod,
|
|
9812
|
+
data.company,
|
|
9813
|
+
data.activePlans,
|
|
9814
|
+
mode,
|
|
9815
|
+
planPeriod
|
|
9816
|
+
]);
|
|
9817
|
+
const [selectedPlan, setSelectedPlan] = useState3(() => availablePlans.find((plan) => plan.id === currentPlan?.id));
|
|
9800
9818
|
const savingsPercentage = useMemo2(() => {
|
|
9801
9819
|
if (selectedPlan) {
|
|
9802
9820
|
const monthly = (selectedPlan?.monthlyPrice?.price || 0) * 12;
|
|
@@ -9816,8 +9834,11 @@ var CheckoutDialog = () => {
|
|
|
9816
9834
|
const isLightBackground = useIsLightBackground();
|
|
9817
9835
|
const selectPlan = useCallback4(
|
|
9818
9836
|
async (plan, newPeriod) => {
|
|
9819
|
-
setSelectedPlan(plan);
|
|
9820
9837
|
setCharges(void 0);
|
|
9838
|
+
if (plan.id === currentPlan?.id && newPeriod && newPeriod === currentPlan?.planPeriod) {
|
|
9839
|
+
return;
|
|
9840
|
+
}
|
|
9841
|
+
setSelectedPlan(plan);
|
|
9821
9842
|
const period = newPeriod || planPeriod;
|
|
9822
9843
|
const priceId = (period === "month" ? plan?.monthlyPrice : plan?.yearlyPrice)?.id;
|
|
9823
9844
|
if (!priceId || !api) {
|
|
@@ -9840,14 +9861,14 @@ var CheckoutDialog = () => {
|
|
|
9840
9861
|
setIsLoading(false);
|
|
9841
9862
|
}
|
|
9842
9863
|
},
|
|
9843
|
-
[api, planPeriod]
|
|
9864
|
+
[api, currentPlan, planPeriod]
|
|
9844
9865
|
);
|
|
9845
9866
|
const changePlanPeriod = useCallback4(
|
|
9846
9867
|
(period) => {
|
|
9847
|
-
setPlanPeriod(period);
|
|
9848
9868
|
if (selectedPlan) {
|
|
9849
9869
|
selectPlan(selectedPlan, period);
|
|
9850
9870
|
}
|
|
9871
|
+
setPlanPeriod(period);
|
|
9851
9872
|
},
|
|
9852
9873
|
[selectedPlan, selectPlan]
|
|
9853
9874
|
);
|
|
@@ -9885,7 +9906,7 @@ var CheckoutDialog = () => {
|
|
|
9885
9906
|
document.body.style.overflow = "";
|
|
9886
9907
|
};
|
|
9887
9908
|
}, []);
|
|
9888
|
-
const allowCheckout = api && selectedPlan && (paymentMethod && !showPaymentForm || paymentMethodId) && !isLoading;
|
|
9909
|
+
const allowCheckout = api && selectedPlan && (selectedPlan.id !== currentPlan?.id || planPeriod !== currentPlan.planPeriod) && (paymentMethod && !showPaymentForm || paymentMethodId) && !isLoading;
|
|
9889
9910
|
return /* @__PURE__ */ jsxs6(Modal, { size: "lg", children: [
|
|
9890
9911
|
/* @__PURE__ */ jsx9(ModalHeader, { bordered: true, children: /* @__PURE__ */ jsxs6(Flex, { $gap: "1rem", children: [
|
|
9891
9912
|
/* @__PURE__ */ jsxs6(Flex, { $gap: "0.5rem", $alignItems: "center", children: [
|
|
@@ -10028,6 +10049,7 @@ var CheckoutDialog = () => {
|
|
|
10028
10049
|
}
|
|
10029
10050
|
return 0;
|
|
10030
10051
|
}).map((plan) => {
|
|
10052
|
+
const isCurrentPlan = plan.id === selectedPlan?.id;
|
|
10031
10053
|
return /* @__PURE__ */ jsxs6(
|
|
10032
10054
|
Flex,
|
|
10033
10055
|
{
|
|
@@ -10068,7 +10090,7 @@ var CheckoutDialog = () => {
|
|
|
10068
10090
|
planPeriod
|
|
10069
10091
|
] })
|
|
10070
10092
|
] }),
|
|
10071
|
-
|
|
10093
|
+
isCurrentPlan && /* @__PURE__ */ jsx9(
|
|
10072
10094
|
Flex,
|
|
10073
10095
|
{
|
|
10074
10096
|
$position: "absolute",
|
|
@@ -10123,7 +10145,7 @@ var CheckoutDialog = () => {
|
|
|
10123
10145
|
})
|
|
10124
10146
|
}
|
|
10125
10147
|
),
|
|
10126
|
-
/* @__PURE__ */
|
|
10148
|
+
/* @__PURE__ */ jsx9(
|
|
10127
10149
|
Flex,
|
|
10128
10150
|
{
|
|
10129
10151
|
$flexDirection: "column",
|
|
@@ -10132,58 +10154,56 @@ var CheckoutDialog = () => {
|
|
|
10132
10154
|
$width: "100%",
|
|
10133
10155
|
$height: "auto",
|
|
10134
10156
|
$padding: "1.5rem",
|
|
10135
|
-
children:
|
|
10136
|
-
|
|
10137
|
-
|
|
10138
|
-
|
|
10139
|
-
|
|
10140
|
-
|
|
10141
|
-
|
|
10142
|
-
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10157
|
+
children: !isCurrentPlan ? /* @__PURE__ */ jsx9(Box, { $position: "relative", children: /* @__PURE__ */ jsx9(
|
|
10158
|
+
EmbedButton,
|
|
10159
|
+
{
|
|
10160
|
+
disabled: isLoading || plan.valid === false,
|
|
10161
|
+
isLoading,
|
|
10162
|
+
...plan.valid === true && {
|
|
10163
|
+
onClick: () => selectPlan(plan)
|
|
10164
|
+
},
|
|
10165
|
+
$size: "sm",
|
|
10166
|
+
$color: "primary",
|
|
10167
|
+
$variant: "outline",
|
|
10168
|
+
children: plan.valid === false ? /* @__PURE__ */ jsx9(
|
|
10169
|
+
Tooltip,
|
|
10170
|
+
{
|
|
10171
|
+
label: "Over usage limit",
|
|
10172
|
+
description: " Current usage exceeds limit of this plan"
|
|
10173
|
+
}
|
|
10174
|
+
) : "Select"
|
|
10175
|
+
}
|
|
10176
|
+
) }) : /* @__PURE__ */ jsxs6(
|
|
10177
|
+
Flex,
|
|
10178
|
+
{
|
|
10179
|
+
$justifyContent: "center",
|
|
10180
|
+
$alignItems: "center",
|
|
10181
|
+
$gap: "0.25rem",
|
|
10182
|
+
$fontSize: "0.9375rem",
|
|
10183
|
+
$padding: "0.625rem 0",
|
|
10184
|
+
children: [
|
|
10185
|
+
/* @__PURE__ */ jsx9(
|
|
10186
|
+
Icon2,
|
|
10187
|
+
{
|
|
10188
|
+
name: "check-rounded",
|
|
10189
|
+
style: {
|
|
10190
|
+
fontSize: 20,
|
|
10191
|
+
lineHeight: "1",
|
|
10192
|
+
color: theme.primary
|
|
10162
10193
|
}
|
|
10163
|
-
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
plan.id !== selectedPlan?.id && /* @__PURE__ */ jsx9(Box, { $position: "relative", children: /* @__PURE__ */ jsx9(
|
|
10168
|
-
EmbedButton,
|
|
10169
|
-
{
|
|
10170
|
-
disabled: isLoading || plan.valid === false,
|
|
10171
|
-
...plan.valid === true && {
|
|
10172
|
-
onClick: () => selectPlan(plan)
|
|
10173
|
-
},
|
|
10174
|
-
$size: "sm",
|
|
10175
|
-
$color: "primary",
|
|
10176
|
-
$variant: "outline",
|
|
10177
|
-
children: plan.valid === false ? /* @__PURE__ */ jsx9(
|
|
10178
|
-
Tooltip,
|
|
10194
|
+
}
|
|
10195
|
+
),
|
|
10196
|
+
/* @__PURE__ */ jsx9(
|
|
10197
|
+
Text,
|
|
10179
10198
|
{
|
|
10180
|
-
|
|
10181
|
-
|
|
10199
|
+
$lineHeight: "1.4",
|
|
10200
|
+
$color: theme.typography.text.color,
|
|
10201
|
+
children: "Selected"
|
|
10182
10202
|
}
|
|
10183
|
-
)
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10203
|
+
)
|
|
10204
|
+
]
|
|
10205
|
+
}
|
|
10206
|
+
)
|
|
10187
10207
|
}
|
|
10188
10208
|
)
|
|
10189
10209
|
]
|
|
@@ -10407,7 +10427,7 @@ var CheckoutDialog = () => {
|
|
|
10407
10427
|
/* @__PURE__ */ jsx9(
|
|
10408
10428
|
Flex,
|
|
10409
10429
|
{
|
|
10410
|
-
...
|
|
10430
|
+
...allowCheckout && {
|
|
10411
10431
|
$opacity: "0.625",
|
|
10412
10432
|
$textDecoration: "line-through"
|
|
10413
10433
|
},
|
|
@@ -10440,7 +10460,7 @@ var CheckoutDialog = () => {
|
|
|
10440
10460
|
]
|
|
10441
10461
|
}
|
|
10442
10462
|
),
|
|
10443
|
-
|
|
10463
|
+
allowCheckout && /* @__PURE__ */ jsxs6(Box, { $marginBottom: "1rem", children: [
|
|
10444
10464
|
/* @__PURE__ */ jsx9(
|
|
10445
10465
|
Box,
|
|
10446
10466
|
{
|
|
@@ -10632,6 +10652,7 @@ var CheckoutDialog = () => {
|
|
|
10632
10652
|
checkoutStage === "plan" ? /* @__PURE__ */ jsx9(
|
|
10633
10653
|
EmbedButton,
|
|
10634
10654
|
{
|
|
10655
|
+
isLoading,
|
|
10635
10656
|
...allowCheckout ? {
|
|
10636
10657
|
onClick: async () => {
|
|
10637
10658
|
if (!data.component?.id) {
|
|
@@ -10861,69 +10882,47 @@ import { forwardRef as forwardRef3 } from "react";
|
|
|
10861
10882
|
|
|
10862
10883
|
// src/components/layout/card/styles.ts
|
|
10863
10884
|
var Element = dt(Box)``;
|
|
10864
|
-
var StyledCard = dt.div(
|
|
10865
|
-
(
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
|
|
10877
|
-
|
|
10878
|
-
|
|
10879
|
-
|
|
10880
|
-
|
|
10881
|
-
|
|
10882
|
-
|
|
10883
|
-
|
|
10884
|
-
|
|
10885
|
-
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
10892
|
-
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
${$sectionLayout === "merged" ? lt`
|
|
10900
|
-
border-bottom: 1px solid ${borderColor};
|
|
10901
|
-
` : lt`
|
|
10902
|
-
margin-bottom: 1rem;
|
|
10903
|
-
`}
|
|
10904
|
-
}
|
|
10905
|
-
}
|
|
10906
|
-
`;
|
|
10907
|
-
}
|
|
10908
|
-
);
|
|
10885
|
+
var StyledCard = dt.div(({ theme }) => {
|
|
10886
|
+
const { l: l2 } = hexToHSL(theme.card.background);
|
|
10887
|
+
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
10888
|
+
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
10889
|
+
const boxShadow = "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A";
|
|
10890
|
+
const Selector = theme.sectionLayout === "merged" ? "&" : Element;
|
|
10891
|
+
return lt`
|
|
10892
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
10893
|
+
box-sizing: border-box;
|
|
10894
|
+
|
|
10895
|
+
*,
|
|
10896
|
+
*::before,
|
|
10897
|
+
*::after {
|
|
10898
|
+
box-sizing: inherit;
|
|
10899
|
+
}
|
|
10900
|
+
|
|
10901
|
+
${Selector} {
|
|
10902
|
+
color: ${theme.typography.text.color};
|
|
10903
|
+
background: ${theme.card.background};
|
|
10904
|
+
border-radius: ${borderRadius};
|
|
10905
|
+
${theme.card.hasShadow && `box-shadow: ${boxShadow};`}
|
|
10906
|
+
}
|
|
10907
|
+
|
|
10908
|
+
${Element} {
|
|
10909
|
+
padding: ${theme.card.padding * 0.75 / TEXT_BASE_SIZE}rem
|
|
10910
|
+
${theme.card.padding / TEXT_BASE_SIZE}rem;
|
|
10911
|
+
|
|
10912
|
+
${theme.sectionLayout === "merged" ? lt`
|
|
10913
|
+
border-bottom: 1px solid ${borderColor};
|
|
10914
|
+
` : lt`
|
|
10915
|
+
margin-bottom: 1rem;
|
|
10916
|
+
`}
|
|
10917
|
+
}
|
|
10918
|
+
`;
|
|
10919
|
+
});
|
|
10909
10920
|
|
|
10910
10921
|
// src/components/layout/card/Card.tsx
|
|
10911
10922
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
10912
10923
|
var Card = forwardRef3(
|
|
10913
10924
|
({ children, className }, ref) => {
|
|
10914
|
-
|
|
10915
|
-
return /* @__PURE__ */ jsx13(
|
|
10916
|
-
StyledCard,
|
|
10917
|
-
{
|
|
10918
|
-
ref,
|
|
10919
|
-
className,
|
|
10920
|
-
$sectionLayout: theme?.sectionLayout,
|
|
10921
|
-
$borderRadius: theme?.card?.borderRadius,
|
|
10922
|
-
$padding: theme?.card?.padding,
|
|
10923
|
-
$shadow: theme?.card?.hasShadow,
|
|
10924
|
-
children
|
|
10925
|
-
}
|
|
10926
|
-
);
|
|
10925
|
+
return /* @__PURE__ */ jsx13(StyledCard, { ref, className, children });
|
|
10927
10926
|
}
|
|
10928
10927
|
);
|
|
10929
10928
|
Card.displayName = "Card";
|
|
@@ -11218,8 +11217,7 @@ function resolveDesignProps3(props) {
|
|
|
11218
11217
|
usage: {
|
|
11219
11218
|
isVisible: props.usage?.isVisible ?? true,
|
|
11220
11219
|
fontStyle: props.usage?.fontStyle ?? "heading5"
|
|
11221
|
-
}
|
|
11222
|
-
visibleFeatures: props.visibleFeatures ?? []
|
|
11220
|
+
}
|
|
11223
11221
|
};
|
|
11224
11222
|
}
|
|
11225
11223
|
var MeteredFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
@@ -11230,7 +11228,7 @@ var MeteredFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
11230
11228
|
const { data } = useEmbed();
|
|
11231
11229
|
const isLightBackground = useIsLightBackground();
|
|
11232
11230
|
const features = (data.featureUsage?.features || []).filter(({ feature }) => {
|
|
11233
|
-
return
|
|
11231
|
+
return feature?.featureType === "event" || feature?.featureType === "trait";
|
|
11234
11232
|
});
|
|
11235
11233
|
if (features.length === 0) {
|
|
11236
11234
|
return null;
|
|
@@ -12098,6 +12096,7 @@ export {
|
|
|
12098
12096
|
ProgressBar,
|
|
12099
12097
|
Root,
|
|
12100
12098
|
SchematicEmbed,
|
|
12099
|
+
StyledCard,
|
|
12101
12100
|
Text,
|
|
12102
12101
|
Tooltip,
|
|
12103
12102
|
UpcomingBill,
|