@riverbankcms/sdk 0.60.9 → 0.60.12
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/_dts/api/src/accessAdmin.d.ts +102 -0
- package/dist/_dts/api/src/common/envelope.d.ts +1 -1
- package/dist/_dts/api/src/domains.d.ts +14 -13
- package/dist/_dts/api/src/endpoints.d.ts +32 -0
- package/dist/_dts/api/src/index.d.ts +4 -3
- package/dist/_dts/api/src/navigation/linkValue.d.ts +15 -2
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
- package/dist/_dts/core/src/participant-identity.d.ts +72 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +96 -60
- package/dist/_dts/db/src/schemas/forms.d.ts +135 -24
- package/dist/_dts/sdk/src/contracts/content.d.ts +7 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +21 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -0
- package/dist/cli/index.mjs +188 -9
- package/dist/client/bookings.mjs +808 -149
- package/dist/client/client.mjs +553 -130
- package/dist/client/hooks.mjs +119 -0
- package/dist/client/rendering/client.mjs +412 -113
- package/dist/client/rendering/islands.mjs +4605 -4361
- package/dist/client/rendering.mjs +580 -157
- package/dist/preview-next/before-render.mjs +57 -0
- package/dist/preview-next/client/runtime.mjs +580 -151
- package/dist/preview-next/middleware.mjs +57 -0
- package/dist/server/components.mjs +293 -45
- package/dist/server/config-validation.mjs +119 -0
- package/dist/server/config.mjs +119 -0
- package/dist/server/data.mjs +119 -0
- package/dist/server/index.mjs +120 -1
- package/dist/server/next.mjs +300 -52
- package/dist/server/page-converter.mjs +62 -0
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +293 -45
- package/dist/server/rendering.mjs +293 -45
- package/dist/server/routing.mjs +159 -29
- package/dist/server/server.mjs +120 -1
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +0 -11
|
@@ -368,6 +368,68 @@ function toLocationCoordinates(value) {
|
|
|
368
368
|
};
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
+
// ../core/src/participant-identity.ts
|
|
372
|
+
var PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD = {
|
|
373
|
+
participant_id: {
|
|
374
|
+
field: "participant_id",
|
|
375
|
+
role: "canonical_link",
|
|
376
|
+
canonicalSource: "booking_participants.id",
|
|
377
|
+
contractAction: "tighten_in_839",
|
|
378
|
+
notes: "Canonical person-subject link for a participation. #839 should enforce this once preflight is clean."
|
|
379
|
+
},
|
|
380
|
+
display_name: {
|
|
381
|
+
field: "display_name",
|
|
382
|
+
role: "contextual_snapshot",
|
|
383
|
+
canonicalSource: "booking_participants.display_name for live identity",
|
|
384
|
+
contractAction: "retain_as_snapshot",
|
|
385
|
+
notes: "Participation-time display context. Readers must not treat it as mutable live participant identity."
|
|
386
|
+
},
|
|
387
|
+
email: {
|
|
388
|
+
field: "email",
|
|
389
|
+
role: "contextual_snapshot",
|
|
390
|
+
canonicalSource: "booking_participants.email_normalized for live email identity",
|
|
391
|
+
contractAction: "retain_as_snapshot",
|
|
392
|
+
notes: "Participation-time contact snapshot used for notifications/context. Live identity belongs to the participant row."
|
|
393
|
+
},
|
|
394
|
+
email_normalized: {
|
|
395
|
+
field: "email_normalized",
|
|
396
|
+
role: "contextual_snapshot",
|
|
397
|
+
canonicalSource: "booking_participants.email_normalized for live email identity",
|
|
398
|
+
contractAction: "retain_as_snapshot",
|
|
399
|
+
notes: "Normalized snapshot/dedupe helper for the participation slot, not live person authority."
|
|
400
|
+
},
|
|
401
|
+
phone: {
|
|
402
|
+
field: "phone",
|
|
403
|
+
role: "contextual_snapshot",
|
|
404
|
+
canonicalSource: "booking_participants.phone for live phone identity",
|
|
405
|
+
contractAction: "retain_as_snapshot",
|
|
406
|
+
notes: "Participation-time phone context. Live identity belongs to the participant row."
|
|
407
|
+
},
|
|
408
|
+
identity_state: {
|
|
409
|
+
field: "identity_state",
|
|
410
|
+
role: "materialization_state",
|
|
411
|
+
canonicalSource: "booking_participants.identity_state for subject state",
|
|
412
|
+
contractAction: "review_for_later_contract_cleanup",
|
|
413
|
+
notes: "Slot materialization state: booker_supplied, contactable, portal_claimed, or staff_verified."
|
|
414
|
+
},
|
|
415
|
+
event_attendee_guest_id: {
|
|
416
|
+
field: "event_attendee_guest_id",
|
|
417
|
+
role: "compatibility_projection",
|
|
418
|
+
canonicalSource: "canonical participant slot plus #838 event guest compatibility projection",
|
|
419
|
+
contractAction: "retain_as_projection",
|
|
420
|
+
notes: "Compatibility FK for event guest read models. It is not person identity authority."
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
var PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATIONS = [
|
|
424
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.participant_id,
|
|
425
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.display_name,
|
|
426
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.email,
|
|
427
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.email_normalized,
|
|
428
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.phone,
|
|
429
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.identity_state,
|
|
430
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.event_attendee_guest_id
|
|
431
|
+
];
|
|
432
|
+
|
|
371
433
|
// ../media-core/src/typeGuards.ts
|
|
372
434
|
function isRecord(value) {
|
|
373
435
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
@@ -1332,6 +1394,9 @@ function validationContext(options = {}) {
|
|
|
1332
1394
|
allowIncomplete: isDraft || (options.allowIncomplete ?? false)
|
|
1333
1395
|
};
|
|
1334
1396
|
}
|
|
1397
|
+
function formatFieldPath(path) {
|
|
1398
|
+
return path.map((segment) => String(segment)).join(".");
|
|
1399
|
+
}
|
|
1335
1400
|
function fieldIssueToMessage(issue2) {
|
|
1336
1401
|
switch (issue2.kind) {
|
|
1337
1402
|
case "required":
|
|
@@ -1555,7 +1620,7 @@ function normalizeRepeaterItems(plan, value, ctx) {
|
|
|
1555
1620
|
return normalizeObjectChildren(fields3, itemRecord, ctx);
|
|
1556
1621
|
});
|
|
1557
1622
|
}
|
|
1558
|
-
function normalizeNumberInput(value,
|
|
1623
|
+
function normalizeNumberInput(value, _allowNull) {
|
|
1559
1624
|
if (value === "") return void 0;
|
|
1560
1625
|
if (typeof value === "string" && value.trim() !== "") return Number(value);
|
|
1561
1626
|
return value;
|
|
@@ -1687,7 +1752,7 @@ function validateRepeaterItem(plan, item, index, ctx) {
|
|
|
1687
1752
|
const fields3 = plan.repeatedItemVariants ? plan.repeatedItemVariants.find((variant) => variant.typeId === itemType)?.fields : plan.repeatedItemPlan;
|
|
1688
1753
|
if (!fields3) return [];
|
|
1689
1754
|
return fields3.flatMap((childPlan) => {
|
|
1690
|
-
const indexedPlan =
|
|
1755
|
+
const indexedPlan = materializeRepeaterItemPlan(childPlan, plan.path, index);
|
|
1691
1756
|
return validateNormalizedFieldValue(indexedPlan, item[childPlan.fieldId], ctx);
|
|
1692
1757
|
});
|
|
1693
1758
|
}
|
|
@@ -1699,12 +1764,58 @@ function validateGroupPlan(plan, value, ctx) {
|
|
|
1699
1764
|
function childValidationContext(plan, ctx) {
|
|
1700
1765
|
return plan.allowNullChildren ? { ...ctx, allowNull: true } : ctx;
|
|
1701
1766
|
}
|
|
1702
|
-
function
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1767
|
+
function materializeRepeaterItemPlan(plan, parentPath, index) {
|
|
1768
|
+
return rebaseFieldPlanPath(plan, [...parentPath, 0], [...parentPath, index]);
|
|
1769
|
+
}
|
|
1770
|
+
function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
1771
|
+
const path = rebaseFieldPath(plan.path, fromPrefix, toPrefix);
|
|
1772
|
+
switch (plan.kind) {
|
|
1773
|
+
case "group":
|
|
1774
|
+
return {
|
|
1775
|
+
...plan,
|
|
1776
|
+
path,
|
|
1777
|
+
children: plan.children.map((childPlan) => rebaseFieldPlanPath(childPlan, fromPrefix, toPrefix))
|
|
1778
|
+
};
|
|
1779
|
+
case "repeater":
|
|
1780
|
+
return {
|
|
1781
|
+
...plan,
|
|
1782
|
+
path,
|
|
1783
|
+
...plan.repeatedItemVariants ? {
|
|
1784
|
+
repeatedItemVariants: plan.repeatedItemVariants.map((variant) => ({
|
|
1785
|
+
...variant,
|
|
1786
|
+
fields: variant.fields.map((fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix))
|
|
1787
|
+
}))
|
|
1788
|
+
} : {},
|
|
1789
|
+
...plan.repeatedItemPlan ? {
|
|
1790
|
+
repeatedItemPlan: plan.repeatedItemPlan.map(
|
|
1791
|
+
(fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix)
|
|
1792
|
+
)
|
|
1793
|
+
} : {}
|
|
1794
|
+
};
|
|
1795
|
+
case "string":
|
|
1796
|
+
case "number":
|
|
1797
|
+
case "boolean":
|
|
1798
|
+
case "richText":
|
|
1799
|
+
case "media":
|
|
1800
|
+
case "link":
|
|
1801
|
+
case "select":
|
|
1802
|
+
case "passthrough":
|
|
1803
|
+
return {
|
|
1804
|
+
...plan,
|
|
1805
|
+
path
|
|
1806
|
+
};
|
|
1807
|
+
default:
|
|
1808
|
+
return assertNever2(plan);
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
function rebaseFieldPath(path, fromPrefix, toPrefix) {
|
|
1812
|
+
if (!startsWithFieldPath(path, fromPrefix)) {
|
|
1813
|
+
throw new Error(`Cannot rebase field path ${formatFieldPath(path)} from ${formatFieldPath(fromPrefix)}`);
|
|
1814
|
+
}
|
|
1815
|
+
return [...toPrefix, ...path.slice(fromPrefix.length)];
|
|
1816
|
+
}
|
|
1817
|
+
function startsWithFieldPath(path, prefix) {
|
|
1818
|
+
return prefix.every((segment, index) => path[index] === segment);
|
|
1708
1819
|
}
|
|
1709
1820
|
function issue(plan, kind, extra) {
|
|
1710
1821
|
return {
|
|
@@ -2215,6 +2326,15 @@ var VARIANT_ROLES = [
|
|
|
2215
2326
|
"tertiary",
|
|
2216
2327
|
"accent"
|
|
2217
2328
|
];
|
|
2329
|
+
function isVariantRole(value) {
|
|
2330
|
+
return VARIANT_ROLES.includes(value);
|
|
2331
|
+
}
|
|
2332
|
+
function asSpecialVariantId(value) {
|
|
2333
|
+
if (value.length === 0) {
|
|
2334
|
+
throw new Error("SpecialVariantId must be a non-empty string");
|
|
2335
|
+
}
|
|
2336
|
+
return value;
|
|
2337
|
+
}
|
|
2218
2338
|
var DEFAULT_VARIANT_ALIAS_ID = "default";
|
|
2219
2339
|
var cornerStyleSchema = z6.enum(["square", "rounded", "pill"]);
|
|
2220
2340
|
var shadowSizeSchema = z6.enum(["none", "low", "medium", "high"]);
|
|
@@ -2965,6 +3085,42 @@ var mediaSchema = z9.object({
|
|
|
2965
3085
|
transform: transformSchema.optional()
|
|
2966
3086
|
});
|
|
2967
3087
|
|
|
3088
|
+
// ../theme-core/src/buttons/classNames.ts
|
|
3089
|
+
function parseThemeButtonVariantId(value) {
|
|
3090
|
+
const normalized = value?.trim() ?? "";
|
|
3091
|
+
if (normalized.length === 0) {
|
|
3092
|
+
return null;
|
|
3093
|
+
}
|
|
3094
|
+
if (normalized === DEFAULT_VARIANT_ALIAS_ID) {
|
|
3095
|
+
return DEFAULT_VARIANT_ALIAS_ID;
|
|
3096
|
+
}
|
|
3097
|
+
return isVariantRole(normalized) ? normalized : asSpecialVariantId(normalized);
|
|
3098
|
+
}
|
|
3099
|
+
function themeButtonVariantClassNames(variant) {
|
|
3100
|
+
if (variant === DEFAULT_VARIANT_ALIAS_ID) {
|
|
3101
|
+
return [variant];
|
|
3102
|
+
}
|
|
3103
|
+
return [variant, `button-${variant}`];
|
|
3104
|
+
}
|
|
3105
|
+
function themeButtonSizeClassName(size) {
|
|
3106
|
+
return `btn-${size}`;
|
|
3107
|
+
}
|
|
3108
|
+
function themeButtonSelector(variant, size) {
|
|
3109
|
+
const baseSelector = `.${variant}`;
|
|
3110
|
+
if (!size) {
|
|
3111
|
+
return baseSelector;
|
|
3112
|
+
}
|
|
3113
|
+
return `${baseSelector}.${themeButtonSizeClassName(size)}`;
|
|
3114
|
+
}
|
|
3115
|
+
function themeButtonClassName(spec) {
|
|
3116
|
+
const classes = [
|
|
3117
|
+
...themeButtonVariantClassNames(spec.variant),
|
|
3118
|
+
themeButtonSizeClassName(spec.size),
|
|
3119
|
+
spec.extraClassName
|
|
3120
|
+
];
|
|
3121
|
+
return classes.filter(Boolean).join(" ");
|
|
3122
|
+
}
|
|
3123
|
+
|
|
2968
3124
|
// ../theme-core/src/tokens/resolver.ts
|
|
2969
3125
|
var TokenResolver = class {
|
|
2970
3126
|
constructor(theme) {
|
|
@@ -4536,17 +4692,25 @@ function resolveAliasSource(enabled) {
|
|
|
4536
4692
|
}
|
|
4537
4693
|
function variantChunks(variant, global, themeSizes, themeId, tokens, theme) {
|
|
4538
4694
|
const out = [];
|
|
4539
|
-
|
|
4540
|
-
|
|
4695
|
+
const variantId = parseButtonVariantIdForCss(variant.id);
|
|
4696
|
+
out.push(variantBaseRule(variant, variantId, global, themeId, tokens, theme));
|
|
4697
|
+
const hoverBg = variantHoverBackgroundRule(variant, variantId, global, themeId, tokens);
|
|
4541
4698
|
if (hoverBg) out.push(hoverBg);
|
|
4542
4699
|
const effects = variantEffectsCss(variant, themeId, tokens, theme);
|
|
4543
4700
|
if (effects) out.push({ raw: effects });
|
|
4544
|
-
out.push(...variantDisabledRules(
|
|
4545
|
-
out.push(...variantSizeRules(variant, themeSizes, themeId));
|
|
4701
|
+
out.push(...variantDisabledRules(variantId, themeId));
|
|
4702
|
+
out.push(...variantSizeRules(variant, variantId, themeSizes, themeId));
|
|
4546
4703
|
return out;
|
|
4547
4704
|
}
|
|
4548
|
-
function
|
|
4549
|
-
const
|
|
4705
|
+
function parseButtonVariantIdForCss(value) {
|
|
4706
|
+
const variantId = parseThemeButtonVariantId(value);
|
|
4707
|
+
if (!variantId) {
|
|
4708
|
+
throw new Error("Button variant id must be a non-empty string");
|
|
4709
|
+
}
|
|
4710
|
+
return variantId;
|
|
4711
|
+
}
|
|
4712
|
+
function variantBaseRule(variant, variantId, global, themeId, tokens, theme) {
|
|
4713
|
+
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}`;
|
|
4550
4714
|
const decls = [];
|
|
4551
4715
|
decls.push(["font-weight", String(global.fontWeight)]);
|
|
4552
4716
|
decls.push(["font-family", resolveFontFamily(global)]);
|
|
@@ -4579,13 +4743,13 @@ function variantBaseRule(variant, global, themeId, tokens, theme) {
|
|
|
4579
4743
|
}
|
|
4580
4744
|
return rule(selector, decls);
|
|
4581
4745
|
}
|
|
4582
|
-
function variantHoverBackgroundRule(variant, global, themeId, tokens) {
|
|
4746
|
+
function variantHoverBackgroundRule(variant, variantId, global, themeId, tokens) {
|
|
4583
4747
|
let hoverToken = variant.hoverBackgroundToken;
|
|
4584
4748
|
if (!hoverToken && global.hoverColor === "token" && global.hoverColorToken) {
|
|
4585
4749
|
hoverToken = global.hoverColorToken;
|
|
4586
4750
|
}
|
|
4587
4751
|
if (!hoverToken) return null;
|
|
4588
|
-
return rule(`:where([data-theme-scope="${themeId}"])
|
|
4752
|
+
return rule(`:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}:hover`, [
|
|
4589
4753
|
["background-color", tokens.getColor(hoverToken)]
|
|
4590
4754
|
]);
|
|
4591
4755
|
}
|
|
@@ -4605,8 +4769,8 @@ function variantEffectsCss(variant, themeId, tokens, theme) {
|
|
|
4605
4769
|
theme
|
|
4606
4770
|
});
|
|
4607
4771
|
}
|
|
4608
|
-
function variantDisabledRules(
|
|
4609
|
-
const base = `:where([data-theme-scope="${themeId}"])
|
|
4772
|
+
function variantDisabledRules(variantId, themeId) {
|
|
4773
|
+
const base = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}:disabled`;
|
|
4610
4774
|
const disabledSelectors = [base, `${base}:hover`, `${base}:active`, `${base}:focus`];
|
|
4611
4775
|
const pseudoSelectors = [`${base}::before`, `${base}::after`];
|
|
4612
4776
|
return [
|
|
@@ -4624,12 +4788,12 @@ function variantDisabledRules(variant, themeId) {
|
|
|
4624
4788
|
])
|
|
4625
4789
|
];
|
|
4626
4790
|
}
|
|
4627
|
-
function variantSizeRules(variant, themeSizes, themeId) {
|
|
4791
|
+
function variantSizeRules(variant, variantId, themeSizes, themeId) {
|
|
4628
4792
|
const borderWidth = variant.border ? BORDER_WIDTH_MAP[variant.border.widthClass] || "1px" : "0px";
|
|
4629
4793
|
const rules = [];
|
|
4630
4794
|
for (const sizeName of BUTTON_SIZE_NAMES) {
|
|
4631
4795
|
const config = resolveSizeConfig(variant, sizeName, themeSizes);
|
|
4632
|
-
const selector = `:where([data-theme-scope="${themeId}"])
|
|
4796
|
+
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId, sizeName)}`;
|
|
4633
4797
|
const decls = [];
|
|
4634
4798
|
for (const decl of paddingDeclarations(config.padding, borderWidth)) decls.push(decl);
|
|
4635
4799
|
if (config.fontSize) {
|
|
@@ -19699,14 +19863,6 @@ function CalendarIcon({
|
|
|
19699
19863
|
);
|
|
19700
19864
|
}
|
|
19701
19865
|
|
|
19702
|
-
// ../blocks/src/system/runtime/shared/themedButtonClass.ts
|
|
19703
|
-
function themedButtonClass(spec) {
|
|
19704
|
-
const { variant, size, extraClassName } = spec;
|
|
19705
|
-
const normalizedVariant = variant.trim();
|
|
19706
|
-
const variantClasses = normalizedVariant ? [normalizedVariant, `button-${normalizedVariant}`] : [];
|
|
19707
|
-
return [...variantClasses, `btn-${size}`, extraClassName].filter(Boolean).join(" ");
|
|
19708
|
-
}
|
|
19709
|
-
|
|
19710
19866
|
// ../blocks/src/system/runtime/nodes/events/shared/EventCard.tsx
|
|
19711
19867
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
19712
19868
|
var EventCard = ({
|
|
@@ -19734,7 +19890,7 @@ var EventCard = ({
|
|
|
19734
19890
|
const isSoldOut = cta.hidden;
|
|
19735
19891
|
const { available: spotsLeft } = getEventAvailability(event);
|
|
19736
19892
|
const cardClass = `card-${cardVariant}`;
|
|
19737
|
-
const buttonClass =
|
|
19893
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
19738
19894
|
const title = event.title;
|
|
19739
19895
|
const summary = event.presentation?.summary ?? event.description;
|
|
19740
19896
|
const image = event.presentation?.image ?? null;
|
|
@@ -19853,7 +20009,7 @@ var EventCompactRow = ({
|
|
|
19853
20009
|
const price = formatEventPrice(event);
|
|
19854
20010
|
const teacherLine = formatEventTeacherLine(event);
|
|
19855
20011
|
const cta = resolveEventCta(event, buttonText);
|
|
19856
|
-
const buttonClass =
|
|
20012
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
|
|
19857
20013
|
return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
|
|
19858
20014
|
/* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
|
|
19859
20015
|
/* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
|
|
@@ -26543,11 +26699,12 @@ var ButtonNode = ({
|
|
|
26543
26699
|
}
|
|
26544
26700
|
return null;
|
|
26545
26701
|
}
|
|
26546
|
-
const resolvedVariantId =
|
|
26547
|
-
const
|
|
26548
|
-
|
|
26549
|
-
|
|
26550
|
-
|
|
26702
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
26703
|
+
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
26704
|
+
variant: resolvedVariantId,
|
|
26705
|
+
size,
|
|
26706
|
+
extraClassName: className
|
|
26707
|
+
}) : className;
|
|
26551
26708
|
if (resolvedHref) {
|
|
26552
26709
|
return /* @__PURE__ */ jsx15(
|
|
26553
26710
|
"a",
|
|
@@ -27121,7 +27278,7 @@ function FileDownloadNode({
|
|
|
27121
27278
|
{
|
|
27122
27279
|
href,
|
|
27123
27280
|
download: filename,
|
|
27124
|
-
className:
|
|
27281
|
+
className: themeButtonClassName({
|
|
27125
27282
|
variant,
|
|
27126
27283
|
size: "md",
|
|
27127
27284
|
extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
|
|
@@ -28813,7 +28970,7 @@ var EventSpotlight = ({
|
|
|
28813
28970
|
}
|
|
28814
28971
|
const containerClass = getContainerClass(layout, columns);
|
|
28815
28972
|
const cardOrientation = getCardOrientation(layout);
|
|
28816
|
-
const buttonClass =
|
|
28973
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
28817
28974
|
return /* @__PURE__ */ jsxs19("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
28818
28975
|
/* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
|
|
28819
28976
|
EventCard,
|
|
@@ -29306,7 +29463,16 @@ function CheckoutShellView(props2) {
|
|
|
29306
29463
|
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
29307
29464
|
function renderServerPendingAction(label, soldOut) {
|
|
29308
29465
|
return /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
29309
|
-
/* @__PURE__ */ jsx36(
|
|
29466
|
+
/* @__PURE__ */ jsx36(
|
|
29467
|
+
"button",
|
|
29468
|
+
{
|
|
29469
|
+
type: "button",
|
|
29470
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
29471
|
+
disabled: true,
|
|
29472
|
+
"aria-disabled": "true",
|
|
29473
|
+
children: soldOut ? "Sold out" : label
|
|
29474
|
+
}
|
|
29475
|
+
),
|
|
29310
29476
|
!soldOut ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
|
|
29311
29477
|
] });
|
|
29312
29478
|
}
|
|
@@ -29326,7 +29492,14 @@ function ProductListServerContent(props2) {
|
|
|
29326
29492
|
),
|
|
29327
29493
|
actions: /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
29328
29494
|
renderServerPendingAction(card.actionLabel, card.soldOut),
|
|
29329
|
-
card.path ? /* @__PURE__ */ jsx36(
|
|
29495
|
+
card.path ? /* @__PURE__ */ jsx36(
|
|
29496
|
+
"a",
|
|
29497
|
+
{
|
|
29498
|
+
href: card.path,
|
|
29499
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
29500
|
+
children: "View details"
|
|
29501
|
+
}
|
|
29502
|
+
) : null
|
|
29330
29503
|
] })
|
|
29331
29504
|
},
|
|
29332
29505
|
card.productId
|
|
@@ -29859,7 +30032,7 @@ function renderCalendarGrid(display) {
|
|
|
29859
30032
|
"button",
|
|
29860
30033
|
{
|
|
29861
30034
|
type: "button",
|
|
29862
|
-
className:
|
|
30035
|
+
className: themeButtonClassName({
|
|
29863
30036
|
variant: display.buttonVariant,
|
|
29864
30037
|
size: "sm"
|
|
29865
30038
|
}),
|
|
@@ -29945,7 +30118,7 @@ function renderTimetableSsr(display) {
|
|
|
29945
30118
|
"button",
|
|
29946
30119
|
{
|
|
29947
30120
|
type: "button",
|
|
29948
|
-
className:
|
|
30121
|
+
className: themeButtonClassName({
|
|
29949
30122
|
variant: display.buttonVariant,
|
|
29950
30123
|
size: "sm"
|
|
29951
30124
|
}),
|
|
@@ -30302,7 +30475,7 @@ var FormNodeSSR = ({
|
|
|
30302
30475
|
"button",
|
|
30303
30476
|
{
|
|
30304
30477
|
type: "submit",
|
|
30305
|
-
className:
|
|
30478
|
+
className: themeButtonClassName({
|
|
30306
30479
|
variant: "primary",
|
|
30307
30480
|
size: "md",
|
|
30308
30481
|
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
@@ -30393,7 +30566,7 @@ function NewsletterFormSSR({
|
|
|
30393
30566
|
"button",
|
|
30394
30567
|
{
|
|
30395
30568
|
type: "submit",
|
|
30396
|
-
className:
|
|
30569
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
30397
30570
|
children: display.buttonLabel
|
|
30398
30571
|
}
|
|
30399
30572
|
) })
|
|
@@ -30513,7 +30686,16 @@ function ShopSSR({
|
|
|
30513
30686
|
PassCardView,
|
|
30514
30687
|
{
|
|
30515
30688
|
display: pass,
|
|
30516
|
-
action: /* @__PURE__ */ jsx49(
|
|
30689
|
+
action: /* @__PURE__ */ jsx49(
|
|
30690
|
+
"button",
|
|
30691
|
+
{
|
|
30692
|
+
type: "button",
|
|
30693
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
30694
|
+
disabled: true,
|
|
30695
|
+
"aria-disabled": "true",
|
|
30696
|
+
children: pass.actionLabel
|
|
30697
|
+
}
|
|
30698
|
+
)
|
|
30517
30699
|
},
|
|
30518
30700
|
pass.id
|
|
30519
30701
|
)),
|
|
@@ -30521,7 +30703,16 @@ function ShopSSR({
|
|
|
30521
30703
|
MembershipCardView,
|
|
30522
30704
|
{
|
|
30523
30705
|
display: membership,
|
|
30524
|
-
action: /* @__PURE__ */ jsx49(
|
|
30706
|
+
action: /* @__PURE__ */ jsx49(
|
|
30707
|
+
"button",
|
|
30708
|
+
{
|
|
30709
|
+
type: "button",
|
|
30710
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
30711
|
+
disabled: true,
|
|
30712
|
+
"aria-disabled": "true",
|
|
30713
|
+
children: membership.actionLabel
|
|
30714
|
+
}
|
|
30715
|
+
)
|
|
30525
30716
|
},
|
|
30526
30717
|
membership.id
|
|
30527
30718
|
))
|
|
@@ -48905,6 +49096,63 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48905
49096
|
auth: "user",
|
|
48906
49097
|
responseKind: "json"
|
|
48907
49098
|
},
|
|
49099
|
+
updateRegisteredDomainContact: {
|
|
49100
|
+
path: "/domains/{domainId}/registrar/contact",
|
|
49101
|
+
method: "POST",
|
|
49102
|
+
errors: [
|
|
49103
|
+
"validation:invalid_input",
|
|
49104
|
+
"resource:not_found",
|
|
49105
|
+
"auth:forbidden",
|
|
49106
|
+
"external:service_error",
|
|
49107
|
+
"external:registrar_orphaned_contact_profile",
|
|
49108
|
+
"server:internal_error"
|
|
49109
|
+
],
|
|
49110
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49111
|
+
auth: "user",
|
|
49112
|
+
responseKind: "json"
|
|
49113
|
+
},
|
|
49114
|
+
setRegisteredDomainPrivacy: {
|
|
49115
|
+
path: "/domains/{domainId}/registrar/privacy",
|
|
49116
|
+
method: "POST",
|
|
49117
|
+
errors: [
|
|
49118
|
+
"validation:invalid_input",
|
|
49119
|
+
"resource:not_found",
|
|
49120
|
+
"auth:forbidden",
|
|
49121
|
+
"external:service_error",
|
|
49122
|
+
"server:internal_error"
|
|
49123
|
+
],
|
|
49124
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49125
|
+
auth: "user",
|
|
49126
|
+
responseKind: "json"
|
|
49127
|
+
},
|
|
49128
|
+
setRegisteredDomainAutoRenew: {
|
|
49129
|
+
path: "/domains/{domainId}/registrar/auto-renew",
|
|
49130
|
+
method: "POST",
|
|
49131
|
+
errors: [
|
|
49132
|
+
"validation:invalid_input",
|
|
49133
|
+
"resource:not_found",
|
|
49134
|
+
"auth:forbidden",
|
|
49135
|
+
"external:service_error",
|
|
49136
|
+
"server:internal_error"
|
|
49137
|
+
],
|
|
49138
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49139
|
+
auth: "user",
|
|
49140
|
+
responseKind: "json"
|
|
49141
|
+
},
|
|
49142
|
+
getRegisteredDomainRenewalPosture: {
|
|
49143
|
+
path: "/domains/{domainId}/registrar/renewal",
|
|
49144
|
+
method: "GET",
|
|
49145
|
+
errors: [
|
|
49146
|
+
"validation:invalid_input",
|
|
49147
|
+
"resource:not_found",
|
|
49148
|
+
"auth:forbidden",
|
|
49149
|
+
"external:service_error",
|
|
49150
|
+
"server:internal_error"
|
|
49151
|
+
],
|
|
49152
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49153
|
+
auth: "user",
|
|
49154
|
+
responseKind: "json"
|
|
49155
|
+
},
|
|
48908
49156
|
retryDomainVercel: {
|
|
48909
49157
|
path: "/domains/{domainId}/vercel",
|
|
48910
49158
|
method: "POST",
|