@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
|
@@ -371,6 +371,68 @@ function toLocationCoordinates(value) {
|
|
|
371
371
|
};
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
+
// ../core/src/participant-identity.ts
|
|
375
|
+
var PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD = {
|
|
376
|
+
participant_id: {
|
|
377
|
+
field: "participant_id",
|
|
378
|
+
role: "canonical_link",
|
|
379
|
+
canonicalSource: "booking_participants.id",
|
|
380
|
+
contractAction: "tighten_in_839",
|
|
381
|
+
notes: "Canonical person-subject link for a participation. #839 should enforce this once preflight is clean."
|
|
382
|
+
},
|
|
383
|
+
display_name: {
|
|
384
|
+
field: "display_name",
|
|
385
|
+
role: "contextual_snapshot",
|
|
386
|
+
canonicalSource: "booking_participants.display_name for live identity",
|
|
387
|
+
contractAction: "retain_as_snapshot",
|
|
388
|
+
notes: "Participation-time display context. Readers must not treat it as mutable live participant identity."
|
|
389
|
+
},
|
|
390
|
+
email: {
|
|
391
|
+
field: "email",
|
|
392
|
+
role: "contextual_snapshot",
|
|
393
|
+
canonicalSource: "booking_participants.email_normalized for live email identity",
|
|
394
|
+
contractAction: "retain_as_snapshot",
|
|
395
|
+
notes: "Participation-time contact snapshot used for notifications/context. Live identity belongs to the participant row."
|
|
396
|
+
},
|
|
397
|
+
email_normalized: {
|
|
398
|
+
field: "email_normalized",
|
|
399
|
+
role: "contextual_snapshot",
|
|
400
|
+
canonicalSource: "booking_participants.email_normalized for live email identity",
|
|
401
|
+
contractAction: "retain_as_snapshot",
|
|
402
|
+
notes: "Normalized snapshot/dedupe helper for the participation slot, not live person authority."
|
|
403
|
+
},
|
|
404
|
+
phone: {
|
|
405
|
+
field: "phone",
|
|
406
|
+
role: "contextual_snapshot",
|
|
407
|
+
canonicalSource: "booking_participants.phone for live phone identity",
|
|
408
|
+
contractAction: "retain_as_snapshot",
|
|
409
|
+
notes: "Participation-time phone context. Live identity belongs to the participant row."
|
|
410
|
+
},
|
|
411
|
+
identity_state: {
|
|
412
|
+
field: "identity_state",
|
|
413
|
+
role: "materialization_state",
|
|
414
|
+
canonicalSource: "booking_participants.identity_state for subject state",
|
|
415
|
+
contractAction: "review_for_later_contract_cleanup",
|
|
416
|
+
notes: "Slot materialization state: booker_supplied, contactable, portal_claimed, or staff_verified."
|
|
417
|
+
},
|
|
418
|
+
event_attendee_guest_id: {
|
|
419
|
+
field: "event_attendee_guest_id",
|
|
420
|
+
role: "compatibility_projection",
|
|
421
|
+
canonicalSource: "canonical participant slot plus #838 event guest compatibility projection",
|
|
422
|
+
contractAction: "retain_as_projection",
|
|
423
|
+
notes: "Compatibility FK for event guest read models. It is not person identity authority."
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
var PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATIONS = [
|
|
427
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.participant_id,
|
|
428
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.display_name,
|
|
429
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.email,
|
|
430
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.email_normalized,
|
|
431
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.phone,
|
|
432
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.identity_state,
|
|
433
|
+
PARTICIPANT_PARTICIPATION_IDENTITY_FIELD_CLASSIFICATION_BY_FIELD.event_attendee_guest_id
|
|
434
|
+
];
|
|
435
|
+
|
|
374
436
|
// ../media-core/src/typeGuards.ts
|
|
375
437
|
function isRecord(value) {
|
|
376
438
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
@@ -1335,6 +1397,9 @@ function validationContext(options = {}) {
|
|
|
1335
1397
|
allowIncomplete: isDraft || (options.allowIncomplete ?? false)
|
|
1336
1398
|
};
|
|
1337
1399
|
}
|
|
1400
|
+
function formatFieldPath(path) {
|
|
1401
|
+
return path.map((segment) => String(segment)).join(".");
|
|
1402
|
+
}
|
|
1338
1403
|
function fieldIssueToMessage(issue2) {
|
|
1339
1404
|
switch (issue2.kind) {
|
|
1340
1405
|
case "required":
|
|
@@ -1558,7 +1623,7 @@ function normalizeRepeaterItems(plan, value, ctx) {
|
|
|
1558
1623
|
return normalizeObjectChildren(fields3, itemRecord, ctx);
|
|
1559
1624
|
});
|
|
1560
1625
|
}
|
|
1561
|
-
function normalizeNumberInput(value,
|
|
1626
|
+
function normalizeNumberInput(value, _allowNull) {
|
|
1562
1627
|
if (value === "") return void 0;
|
|
1563
1628
|
if (typeof value === "string" && value.trim() !== "") return Number(value);
|
|
1564
1629
|
return value;
|
|
@@ -1690,7 +1755,7 @@ function validateRepeaterItem(plan, item, index, ctx) {
|
|
|
1690
1755
|
const fields3 = plan.repeatedItemVariants ? plan.repeatedItemVariants.find((variant) => variant.typeId === itemType)?.fields : plan.repeatedItemPlan;
|
|
1691
1756
|
if (!fields3) return [];
|
|
1692
1757
|
return fields3.flatMap((childPlan) => {
|
|
1693
|
-
const indexedPlan =
|
|
1758
|
+
const indexedPlan = materializeRepeaterItemPlan(childPlan, plan.path, index);
|
|
1694
1759
|
return validateNormalizedFieldValue(indexedPlan, item[childPlan.fieldId], ctx);
|
|
1695
1760
|
});
|
|
1696
1761
|
}
|
|
@@ -1702,12 +1767,58 @@ function validateGroupPlan(plan, value, ctx) {
|
|
|
1702
1767
|
function childValidationContext(plan, ctx) {
|
|
1703
1768
|
return plan.allowNullChildren ? { ...ctx, allowNull: true } : ctx;
|
|
1704
1769
|
}
|
|
1705
|
-
function
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1770
|
+
function materializeRepeaterItemPlan(plan, parentPath, index) {
|
|
1771
|
+
return rebaseFieldPlanPath(plan, [...parentPath, 0], [...parentPath, index]);
|
|
1772
|
+
}
|
|
1773
|
+
function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
1774
|
+
const path = rebaseFieldPath(plan.path, fromPrefix, toPrefix);
|
|
1775
|
+
switch (plan.kind) {
|
|
1776
|
+
case "group":
|
|
1777
|
+
return {
|
|
1778
|
+
...plan,
|
|
1779
|
+
path,
|
|
1780
|
+
children: plan.children.map((childPlan) => rebaseFieldPlanPath(childPlan, fromPrefix, toPrefix))
|
|
1781
|
+
};
|
|
1782
|
+
case "repeater":
|
|
1783
|
+
return {
|
|
1784
|
+
...plan,
|
|
1785
|
+
path,
|
|
1786
|
+
...plan.repeatedItemVariants ? {
|
|
1787
|
+
repeatedItemVariants: plan.repeatedItemVariants.map((variant) => ({
|
|
1788
|
+
...variant,
|
|
1789
|
+
fields: variant.fields.map((fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix))
|
|
1790
|
+
}))
|
|
1791
|
+
} : {},
|
|
1792
|
+
...plan.repeatedItemPlan ? {
|
|
1793
|
+
repeatedItemPlan: plan.repeatedItemPlan.map(
|
|
1794
|
+
(fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix)
|
|
1795
|
+
)
|
|
1796
|
+
} : {}
|
|
1797
|
+
};
|
|
1798
|
+
case "string":
|
|
1799
|
+
case "number":
|
|
1800
|
+
case "boolean":
|
|
1801
|
+
case "richText":
|
|
1802
|
+
case "media":
|
|
1803
|
+
case "link":
|
|
1804
|
+
case "select":
|
|
1805
|
+
case "passthrough":
|
|
1806
|
+
return {
|
|
1807
|
+
...plan,
|
|
1808
|
+
path
|
|
1809
|
+
};
|
|
1810
|
+
default:
|
|
1811
|
+
return assertNever2(plan);
|
|
1812
|
+
}
|
|
1813
|
+
}
|
|
1814
|
+
function rebaseFieldPath(path, fromPrefix, toPrefix) {
|
|
1815
|
+
if (!startsWithFieldPath(path, fromPrefix)) {
|
|
1816
|
+
throw new Error(`Cannot rebase field path ${formatFieldPath(path)} from ${formatFieldPath(fromPrefix)}`);
|
|
1817
|
+
}
|
|
1818
|
+
return [...toPrefix, ...path.slice(fromPrefix.length)];
|
|
1819
|
+
}
|
|
1820
|
+
function startsWithFieldPath(path, prefix) {
|
|
1821
|
+
return prefix.every((segment, index) => path[index] === segment);
|
|
1711
1822
|
}
|
|
1712
1823
|
function issue(plan, kind, extra) {
|
|
1713
1824
|
return {
|
|
@@ -2218,6 +2329,15 @@ var VARIANT_ROLES = [
|
|
|
2218
2329
|
"tertiary",
|
|
2219
2330
|
"accent"
|
|
2220
2331
|
];
|
|
2332
|
+
function isVariantRole(value) {
|
|
2333
|
+
return VARIANT_ROLES.includes(value);
|
|
2334
|
+
}
|
|
2335
|
+
function asSpecialVariantId(value) {
|
|
2336
|
+
if (value.length === 0) {
|
|
2337
|
+
throw new Error("SpecialVariantId must be a non-empty string");
|
|
2338
|
+
}
|
|
2339
|
+
return value;
|
|
2340
|
+
}
|
|
2221
2341
|
var DEFAULT_VARIANT_ALIAS_ID = "default";
|
|
2222
2342
|
var cornerStyleSchema = z6.enum(["square", "rounded", "pill"]);
|
|
2223
2343
|
var shadowSizeSchema = z6.enum(["none", "low", "medium", "high"]);
|
|
@@ -2968,6 +3088,42 @@ var mediaSchema = z9.object({
|
|
|
2968
3088
|
transform: transformSchema.optional()
|
|
2969
3089
|
});
|
|
2970
3090
|
|
|
3091
|
+
// ../theme-core/src/buttons/classNames.ts
|
|
3092
|
+
function parseThemeButtonVariantId(value) {
|
|
3093
|
+
const normalized = value?.trim() ?? "";
|
|
3094
|
+
if (normalized.length === 0) {
|
|
3095
|
+
return null;
|
|
3096
|
+
}
|
|
3097
|
+
if (normalized === DEFAULT_VARIANT_ALIAS_ID) {
|
|
3098
|
+
return DEFAULT_VARIANT_ALIAS_ID;
|
|
3099
|
+
}
|
|
3100
|
+
return isVariantRole(normalized) ? normalized : asSpecialVariantId(normalized);
|
|
3101
|
+
}
|
|
3102
|
+
function themeButtonVariantClassNames(variant) {
|
|
3103
|
+
if (variant === DEFAULT_VARIANT_ALIAS_ID) {
|
|
3104
|
+
return [variant];
|
|
3105
|
+
}
|
|
3106
|
+
return [variant, `button-${variant}`];
|
|
3107
|
+
}
|
|
3108
|
+
function themeButtonSizeClassName(size) {
|
|
3109
|
+
return `btn-${size}`;
|
|
3110
|
+
}
|
|
3111
|
+
function themeButtonSelector(variant, size) {
|
|
3112
|
+
const baseSelector = `.${variant}`;
|
|
3113
|
+
if (!size) {
|
|
3114
|
+
return baseSelector;
|
|
3115
|
+
}
|
|
3116
|
+
return `${baseSelector}.${themeButtonSizeClassName(size)}`;
|
|
3117
|
+
}
|
|
3118
|
+
function themeButtonClassName(spec) {
|
|
3119
|
+
const classes = [
|
|
3120
|
+
...themeButtonVariantClassNames(spec.variant),
|
|
3121
|
+
themeButtonSizeClassName(spec.size),
|
|
3122
|
+
spec.extraClassName
|
|
3123
|
+
];
|
|
3124
|
+
return classes.filter(Boolean).join(" ");
|
|
3125
|
+
}
|
|
3126
|
+
|
|
2971
3127
|
// ../theme-core/src/tokens/resolver.ts
|
|
2972
3128
|
var TokenResolver = class {
|
|
2973
3129
|
constructor(theme) {
|
|
@@ -4539,17 +4695,25 @@ function resolveAliasSource(enabled) {
|
|
|
4539
4695
|
}
|
|
4540
4696
|
function variantChunks(variant, global, themeSizes, themeId, tokens, theme) {
|
|
4541
4697
|
const out = [];
|
|
4542
|
-
|
|
4543
|
-
|
|
4698
|
+
const variantId = parseButtonVariantIdForCss(variant.id);
|
|
4699
|
+
out.push(variantBaseRule(variant, variantId, global, themeId, tokens, theme));
|
|
4700
|
+
const hoverBg = variantHoverBackgroundRule(variant, variantId, global, themeId, tokens);
|
|
4544
4701
|
if (hoverBg) out.push(hoverBg);
|
|
4545
4702
|
const effects = variantEffectsCss(variant, themeId, tokens, theme);
|
|
4546
4703
|
if (effects) out.push({ raw: effects });
|
|
4547
|
-
out.push(...variantDisabledRules(
|
|
4548
|
-
out.push(...variantSizeRules(variant, themeSizes, themeId));
|
|
4704
|
+
out.push(...variantDisabledRules(variantId, themeId));
|
|
4705
|
+
out.push(...variantSizeRules(variant, variantId, themeSizes, themeId));
|
|
4549
4706
|
return out;
|
|
4550
4707
|
}
|
|
4551
|
-
function
|
|
4552
|
-
const
|
|
4708
|
+
function parseButtonVariantIdForCss(value) {
|
|
4709
|
+
const variantId = parseThemeButtonVariantId(value);
|
|
4710
|
+
if (!variantId) {
|
|
4711
|
+
throw new Error("Button variant id must be a non-empty string");
|
|
4712
|
+
}
|
|
4713
|
+
return variantId;
|
|
4714
|
+
}
|
|
4715
|
+
function variantBaseRule(variant, variantId, global, themeId, tokens, theme) {
|
|
4716
|
+
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}`;
|
|
4553
4717
|
const decls = [];
|
|
4554
4718
|
decls.push(["font-weight", String(global.fontWeight)]);
|
|
4555
4719
|
decls.push(["font-family", resolveFontFamily(global)]);
|
|
@@ -4582,13 +4746,13 @@ function variantBaseRule(variant, global, themeId, tokens, theme) {
|
|
|
4582
4746
|
}
|
|
4583
4747
|
return rule(selector, decls);
|
|
4584
4748
|
}
|
|
4585
|
-
function variantHoverBackgroundRule(variant, global, themeId, tokens) {
|
|
4749
|
+
function variantHoverBackgroundRule(variant, variantId, global, themeId, tokens) {
|
|
4586
4750
|
let hoverToken = variant.hoverBackgroundToken;
|
|
4587
4751
|
if (!hoverToken && global.hoverColor === "token" && global.hoverColorToken) {
|
|
4588
4752
|
hoverToken = global.hoverColorToken;
|
|
4589
4753
|
}
|
|
4590
4754
|
if (!hoverToken) return null;
|
|
4591
|
-
return rule(`:where([data-theme-scope="${themeId}"])
|
|
4755
|
+
return rule(`:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}:hover`, [
|
|
4592
4756
|
["background-color", tokens.getColor(hoverToken)]
|
|
4593
4757
|
]);
|
|
4594
4758
|
}
|
|
@@ -4608,8 +4772,8 @@ function variantEffectsCss(variant, themeId, tokens, theme) {
|
|
|
4608
4772
|
theme
|
|
4609
4773
|
});
|
|
4610
4774
|
}
|
|
4611
|
-
function variantDisabledRules(
|
|
4612
|
-
const base = `:where([data-theme-scope="${themeId}"])
|
|
4775
|
+
function variantDisabledRules(variantId, themeId) {
|
|
4776
|
+
const base = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}:disabled`;
|
|
4613
4777
|
const disabledSelectors = [base, `${base}:hover`, `${base}:active`, `${base}:focus`];
|
|
4614
4778
|
const pseudoSelectors = [`${base}::before`, `${base}::after`];
|
|
4615
4779
|
return [
|
|
@@ -4627,12 +4791,12 @@ function variantDisabledRules(variant, themeId) {
|
|
|
4627
4791
|
])
|
|
4628
4792
|
];
|
|
4629
4793
|
}
|
|
4630
|
-
function variantSizeRules(variant, themeSizes, themeId) {
|
|
4794
|
+
function variantSizeRules(variant, variantId, themeSizes, themeId) {
|
|
4631
4795
|
const borderWidth = variant.border ? BORDER_WIDTH_MAP[variant.border.widthClass] || "1px" : "0px";
|
|
4632
4796
|
const rules = [];
|
|
4633
4797
|
for (const sizeName of BUTTON_SIZE_NAMES) {
|
|
4634
4798
|
const config = resolveSizeConfig(variant, sizeName, themeSizes);
|
|
4635
|
-
const selector = `:where([data-theme-scope="${themeId}"])
|
|
4799
|
+
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId, sizeName)}`;
|
|
4636
4800
|
const decls = [];
|
|
4637
4801
|
for (const decl of paddingDeclarations(config.padding, borderWidth)) decls.push(decl);
|
|
4638
4802
|
if (config.fontSize) {
|
|
@@ -19705,14 +19869,6 @@ function CalendarIcon({
|
|
|
19705
19869
|
);
|
|
19706
19870
|
}
|
|
19707
19871
|
|
|
19708
|
-
// ../blocks/src/system/runtime/shared/themedButtonClass.ts
|
|
19709
|
-
function themedButtonClass(spec) {
|
|
19710
|
-
const { variant, size, extraClassName } = spec;
|
|
19711
|
-
const normalizedVariant = variant.trim();
|
|
19712
|
-
const variantClasses = normalizedVariant ? [normalizedVariant, `button-${normalizedVariant}`] : [];
|
|
19713
|
-
return [...variantClasses, `btn-${size}`, extraClassName].filter(Boolean).join(" ");
|
|
19714
|
-
}
|
|
19715
|
-
|
|
19716
19872
|
// ../blocks/src/system/runtime/nodes/events/shared/EventCard.tsx
|
|
19717
19873
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
19718
19874
|
var EventCard = ({
|
|
@@ -19740,7 +19896,7 @@ var EventCard = ({
|
|
|
19740
19896
|
const isSoldOut = cta.hidden;
|
|
19741
19897
|
const { available: spotsLeft } = getEventAvailability(event);
|
|
19742
19898
|
const cardClass = `card-${cardVariant}`;
|
|
19743
|
-
const buttonClass =
|
|
19899
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
19744
19900
|
const title = event.title;
|
|
19745
19901
|
const summary = event.presentation?.summary ?? event.description;
|
|
19746
19902
|
const image = event.presentation?.image ?? null;
|
|
@@ -19859,7 +20015,7 @@ var EventCompactRow = ({
|
|
|
19859
20015
|
const price = formatEventPrice(event);
|
|
19860
20016
|
const teacherLine = formatEventTeacherLine(event);
|
|
19861
20017
|
const cta = resolveEventCta(event, buttonText);
|
|
19862
|
-
const buttonClass =
|
|
20018
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
|
|
19863
20019
|
return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
|
|
19864
20020
|
/* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
|
|
19865
20021
|
/* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
|
|
@@ -26549,11 +26705,12 @@ var ButtonNode = ({
|
|
|
26549
26705
|
}
|
|
26550
26706
|
return null;
|
|
26551
26707
|
}
|
|
26552
|
-
const resolvedVariantId =
|
|
26553
|
-
const
|
|
26554
|
-
|
|
26555
|
-
|
|
26556
|
-
|
|
26708
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
26709
|
+
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
26710
|
+
variant: resolvedVariantId,
|
|
26711
|
+
size,
|
|
26712
|
+
extraClassName: className
|
|
26713
|
+
}) : className;
|
|
26557
26714
|
if (resolvedHref) {
|
|
26558
26715
|
return /* @__PURE__ */ jsx15(
|
|
26559
26716
|
"a",
|
|
@@ -27127,7 +27284,7 @@ function FileDownloadNode({
|
|
|
27127
27284
|
{
|
|
27128
27285
|
href,
|
|
27129
27286
|
download: filename,
|
|
27130
|
-
className:
|
|
27287
|
+
className: themeButtonClassName({
|
|
27131
27288
|
variant,
|
|
27132
27289
|
size: "md",
|
|
27133
27290
|
extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
|
|
@@ -28819,7 +28976,7 @@ var EventSpotlight = ({
|
|
|
28819
28976
|
}
|
|
28820
28977
|
const containerClass = getContainerClass(layout, columns);
|
|
28821
28978
|
const cardOrientation = getCardOrientation(layout);
|
|
28822
|
-
const buttonClass =
|
|
28979
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
28823
28980
|
return /* @__PURE__ */ jsxs19("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
28824
28981
|
/* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
|
|
28825
28982
|
EventCard,
|
|
@@ -29312,7 +29469,16 @@ function CheckoutShellView(props2) {
|
|
|
29312
29469
|
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
29313
29470
|
function renderServerPendingAction(label, soldOut) {
|
|
29314
29471
|
return /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
29315
|
-
/* @__PURE__ */ jsx36(
|
|
29472
|
+
/* @__PURE__ */ jsx36(
|
|
29473
|
+
"button",
|
|
29474
|
+
{
|
|
29475
|
+
type: "button",
|
|
29476
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
29477
|
+
disabled: true,
|
|
29478
|
+
"aria-disabled": "true",
|
|
29479
|
+
children: soldOut ? "Sold out" : label
|
|
29480
|
+
}
|
|
29481
|
+
),
|
|
29316
29482
|
!soldOut ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
|
|
29317
29483
|
] });
|
|
29318
29484
|
}
|
|
@@ -29332,7 +29498,14 @@ function ProductListServerContent(props2) {
|
|
|
29332
29498
|
),
|
|
29333
29499
|
actions: /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
29334
29500
|
renderServerPendingAction(card.actionLabel, card.soldOut),
|
|
29335
|
-
card.path ? /* @__PURE__ */ jsx36(
|
|
29501
|
+
card.path ? /* @__PURE__ */ jsx36(
|
|
29502
|
+
"a",
|
|
29503
|
+
{
|
|
29504
|
+
href: card.path,
|
|
29505
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
29506
|
+
children: "View details"
|
|
29507
|
+
}
|
|
29508
|
+
) : null
|
|
29336
29509
|
] })
|
|
29337
29510
|
},
|
|
29338
29511
|
card.productId
|
|
@@ -29865,7 +30038,7 @@ function renderCalendarGrid(display) {
|
|
|
29865
30038
|
"button",
|
|
29866
30039
|
{
|
|
29867
30040
|
type: "button",
|
|
29868
|
-
className:
|
|
30041
|
+
className: themeButtonClassName({
|
|
29869
30042
|
variant: display.buttonVariant,
|
|
29870
30043
|
size: "sm"
|
|
29871
30044
|
}),
|
|
@@ -29951,7 +30124,7 @@ function renderTimetableSsr(display) {
|
|
|
29951
30124
|
"button",
|
|
29952
30125
|
{
|
|
29953
30126
|
type: "button",
|
|
29954
|
-
className:
|
|
30127
|
+
className: themeButtonClassName({
|
|
29955
30128
|
variant: display.buttonVariant,
|
|
29956
30129
|
size: "sm"
|
|
29957
30130
|
}),
|
|
@@ -30308,7 +30481,7 @@ var FormNodeSSR = ({
|
|
|
30308
30481
|
"button",
|
|
30309
30482
|
{
|
|
30310
30483
|
type: "submit",
|
|
30311
|
-
className:
|
|
30484
|
+
className: themeButtonClassName({
|
|
30312
30485
|
variant: "primary",
|
|
30313
30486
|
size: "md",
|
|
30314
30487
|
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
@@ -30399,7 +30572,7 @@ function NewsletterFormSSR({
|
|
|
30399
30572
|
"button",
|
|
30400
30573
|
{
|
|
30401
30574
|
type: "submit",
|
|
30402
|
-
className:
|
|
30575
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
30403
30576
|
children: display.buttonLabel
|
|
30404
30577
|
}
|
|
30405
30578
|
) })
|
|
@@ -30519,7 +30692,16 @@ function ShopSSR({
|
|
|
30519
30692
|
PassCardView,
|
|
30520
30693
|
{
|
|
30521
30694
|
display: pass,
|
|
30522
|
-
action: /* @__PURE__ */ jsx49(
|
|
30695
|
+
action: /* @__PURE__ */ jsx49(
|
|
30696
|
+
"button",
|
|
30697
|
+
{
|
|
30698
|
+
type: "button",
|
|
30699
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
30700
|
+
disabled: true,
|
|
30701
|
+
"aria-disabled": "true",
|
|
30702
|
+
children: pass.actionLabel
|
|
30703
|
+
}
|
|
30704
|
+
)
|
|
30523
30705
|
},
|
|
30524
30706
|
pass.id
|
|
30525
30707
|
)),
|
|
@@ -30527,7 +30709,16 @@ function ShopSSR({
|
|
|
30527
30709
|
MembershipCardView,
|
|
30528
30710
|
{
|
|
30529
30711
|
display: membership,
|
|
30530
|
-
action: /* @__PURE__ */ jsx49(
|
|
30712
|
+
action: /* @__PURE__ */ jsx49(
|
|
30713
|
+
"button",
|
|
30714
|
+
{
|
|
30715
|
+
type: "button",
|
|
30716
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
30717
|
+
disabled: true,
|
|
30718
|
+
"aria-disabled": "true",
|
|
30719
|
+
children: membership.actionLabel
|
|
30720
|
+
}
|
|
30721
|
+
)
|
|
30531
30722
|
},
|
|
30532
30723
|
membership.id
|
|
30533
30724
|
))
|
|
@@ -48927,6 +49118,63 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48927
49118
|
auth: "user",
|
|
48928
49119
|
responseKind: "json"
|
|
48929
49120
|
},
|
|
49121
|
+
updateRegisteredDomainContact: {
|
|
49122
|
+
path: "/domains/{domainId}/registrar/contact",
|
|
49123
|
+
method: "POST",
|
|
49124
|
+
errors: [
|
|
49125
|
+
"validation:invalid_input",
|
|
49126
|
+
"resource:not_found",
|
|
49127
|
+
"auth:forbidden",
|
|
49128
|
+
"external:service_error",
|
|
49129
|
+
"external:registrar_orphaned_contact_profile",
|
|
49130
|
+
"server:internal_error"
|
|
49131
|
+
],
|
|
49132
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49133
|
+
auth: "user",
|
|
49134
|
+
responseKind: "json"
|
|
49135
|
+
},
|
|
49136
|
+
setRegisteredDomainPrivacy: {
|
|
49137
|
+
path: "/domains/{domainId}/registrar/privacy",
|
|
49138
|
+
method: "POST",
|
|
49139
|
+
errors: [
|
|
49140
|
+
"validation:invalid_input",
|
|
49141
|
+
"resource:not_found",
|
|
49142
|
+
"auth:forbidden",
|
|
49143
|
+
"external:service_error",
|
|
49144
|
+
"server:internal_error"
|
|
49145
|
+
],
|
|
49146
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49147
|
+
auth: "user",
|
|
49148
|
+
responseKind: "json"
|
|
49149
|
+
},
|
|
49150
|
+
setRegisteredDomainAutoRenew: {
|
|
49151
|
+
path: "/domains/{domainId}/registrar/auto-renew",
|
|
49152
|
+
method: "POST",
|
|
49153
|
+
errors: [
|
|
49154
|
+
"validation:invalid_input",
|
|
49155
|
+
"resource:not_found",
|
|
49156
|
+
"auth:forbidden",
|
|
49157
|
+
"external:service_error",
|
|
49158
|
+
"server:internal_error"
|
|
49159
|
+
],
|
|
49160
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49161
|
+
auth: "user",
|
|
49162
|
+
responseKind: "json"
|
|
49163
|
+
},
|
|
49164
|
+
getRegisteredDomainRenewalPosture: {
|
|
49165
|
+
path: "/domains/{domainId}/registrar/renewal",
|
|
49166
|
+
method: "GET",
|
|
49167
|
+
errors: [
|
|
49168
|
+
"validation:invalid_input",
|
|
49169
|
+
"resource:not_found",
|
|
49170
|
+
"auth:forbidden",
|
|
49171
|
+
"external:service_error",
|
|
49172
|
+
"server:internal_error"
|
|
49173
|
+
],
|
|
49174
|
+
tags: ["domains", "domain-{domainId}", "domain-registrar"],
|
|
49175
|
+
auth: "user",
|
|
49176
|
+
responseKind: "json"
|
|
49177
|
+
},
|
|
48930
49178
|
retryDomainVercel: {
|
|
48931
49179
|
path: "/domains/{domainId}/vercel",
|
|
48932
49180
|
method: "POST",
|