@riverbankcms/sdk 0.60.9 → 0.60.11
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/index.d.ts +2 -1
- package/dist/_dts/api/src/navigation/linkValue.d.ts +15 -2
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- 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/sdk/src/contracts/content.d.ts +7 -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 +70 -9
- package/dist/client/bookings.mjs +746 -149
- package/dist/client/client.mjs +435 -130
- package/dist/client/rendering/client.mjs +351 -113
- package/dist/client/rendering/islands.mjs +4549 -4366
- package/dist/client/rendering.mjs +462 -157
- package/dist/preview-next/client/runtime.mjs +460 -149
- package/dist/server/components.mjs +174 -45
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +181 -52
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +174 -45
- package/dist/server/rendering.mjs +174 -45
- package/dist/server/routing.mjs +41 -29
- package/dist/server/server.mjs +1 -1
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +0 -11
|
@@ -466,6 +466,92 @@ function encodePublicProductCategorySelector(selector) {
|
|
|
466
466
|
};
|
|
467
467
|
}
|
|
468
468
|
}
|
|
469
|
+
function isRecord(value) {
|
|
470
|
+
return typeof value === "object" && value !== null;
|
|
471
|
+
}
|
|
472
|
+
function isJsonResponseContentType(contentType) {
|
|
473
|
+
if (!contentType) return false;
|
|
474
|
+
const mimeType = contentType.split(";", 1)[0]?.trim().toLowerCase() ?? "";
|
|
475
|
+
return mimeType === "application/json" || mimeType.endsWith("+json");
|
|
476
|
+
}
|
|
477
|
+
function getResponseContentType(response) {
|
|
478
|
+
return response.headers.get("content-type");
|
|
479
|
+
}
|
|
480
|
+
async function parseJsonBody(response) {
|
|
481
|
+
const rawText = await response.text();
|
|
482
|
+
if (rawText.trim().length === 0) {
|
|
483
|
+
return { kind: "empty-body" };
|
|
484
|
+
}
|
|
485
|
+
try {
|
|
486
|
+
return { kind: "success", value: JSON.parse(rawText) };
|
|
487
|
+
} catch {
|
|
488
|
+
return { kind: "invalid-json" };
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
function getBlockApiErrorDetails(data) {
|
|
492
|
+
if (!isRecord(data)) {
|
|
493
|
+
return {};
|
|
494
|
+
}
|
|
495
|
+
const nestedError = isRecord(data.error) ? data.error : void 0;
|
|
496
|
+
const message = typeof nestedError?.message === "string" ? nestedError.message : typeof data.message === "string" ? data.message : void 0;
|
|
497
|
+
const code = typeof nestedError?.code === "string" ? nestedError.code : typeof data.code === "string" ? data.code : void 0;
|
|
498
|
+
return { message, code };
|
|
499
|
+
}
|
|
500
|
+
function buildUnexpectedJsonResponseMessage(parseResult) {
|
|
501
|
+
switch (parseResult.kind) {
|
|
502
|
+
case "empty-body":
|
|
503
|
+
return "Expected JSON response body but received an empty response";
|
|
504
|
+
case "invalid-json":
|
|
505
|
+
return "Expected JSON response but received invalid JSON";
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
async function extractErrorDetails(response) {
|
|
509
|
+
const contentType = getResponseContentType(response);
|
|
510
|
+
const fallbackMessage = `Request failed: ${response.statusText}`;
|
|
511
|
+
if (!isJsonResponseContentType(contentType)) {
|
|
512
|
+
return {
|
|
513
|
+
message: `${fallbackMessage} (received ${contentType ?? "unknown content type"})`
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
const parseResult = await parseJsonBody(response);
|
|
517
|
+
switch (parseResult.kind) {
|
|
518
|
+
case "success": {
|
|
519
|
+
const details = getBlockApiErrorDetails(parseResult.value);
|
|
520
|
+
return {
|
|
521
|
+
message: details.message ?? fallbackMessage,
|
|
522
|
+
code: details.code
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
case "invalid-json":
|
|
526
|
+
return {
|
|
527
|
+
message: `${fallbackMessage} (received invalid JSON)`
|
|
528
|
+
};
|
|
529
|
+
case "empty-body":
|
|
530
|
+
return {
|
|
531
|
+
message: `${fallbackMessage} (received an empty response)`
|
|
532
|
+
};
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
async function parseJsonApiResponse(response) {
|
|
536
|
+
if (response.status === 204 || response.status === 205) {
|
|
537
|
+
return void 0;
|
|
538
|
+
}
|
|
539
|
+
const contentType = getResponseContentType(response);
|
|
540
|
+
if (!isJsonResponseContentType(contentType)) {
|
|
541
|
+
throw new BlockApiError(
|
|
542
|
+
`Expected JSON response but received ${contentType ?? "unknown content type"}`,
|
|
543
|
+
response.status
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
const parseResult = await parseJsonBody(response);
|
|
547
|
+
if (parseResult.kind !== "success") {
|
|
548
|
+
throw new BlockApiError(
|
|
549
|
+
buildUnexpectedJsonResponseMessage(parseResult),
|
|
550
|
+
response.status
|
|
551
|
+
);
|
|
552
|
+
}
|
|
553
|
+
return parseResult.value;
|
|
554
|
+
}
|
|
469
555
|
function getAuthHeaders(auth) {
|
|
470
556
|
switch (auth.type) {
|
|
471
557
|
case "api-key":
|
|
@@ -522,21 +608,10 @@ function createBlockApi(config) {
|
|
|
522
608
|
const doFetch = async () => {
|
|
523
609
|
const response = await fetch(url, fetchOptions);
|
|
524
610
|
if (!response.ok) {
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
try {
|
|
528
|
-
const errorData = await response.json();
|
|
529
|
-
if (typeof errorData.error?.message === "string") {
|
|
530
|
-
errorMessage = errorData.error.message;
|
|
531
|
-
} else if (typeof errorData.message === "string") {
|
|
532
|
-
errorMessage = errorData.message;
|
|
533
|
-
}
|
|
534
|
-
errorCode = errorData.error?.code || errorData.code;
|
|
535
|
-
} catch {
|
|
536
|
-
}
|
|
537
|
-
throw new BlockApiError(errorMessage, response.status, errorCode);
|
|
611
|
+
const details = await extractErrorDetails(response);
|
|
612
|
+
throw new BlockApiError(details.message, response.status, details.code);
|
|
538
613
|
}
|
|
539
|
-
const json = await response
|
|
614
|
+
const json = await parseJsonApiResponse(response);
|
|
540
615
|
if (isApiSuccessResponse(json)) {
|
|
541
616
|
return json.data;
|
|
542
617
|
}
|
|
@@ -1521,6 +1596,15 @@ var init_layout = __esm({
|
|
|
1521
1596
|
|
|
1522
1597
|
// ../theme-core/src/buttons/types.ts
|
|
1523
1598
|
import { z } from "zod";
|
|
1599
|
+
function isVariantRole(value) {
|
|
1600
|
+
return VARIANT_ROLES.includes(value);
|
|
1601
|
+
}
|
|
1602
|
+
function asSpecialVariantId(value) {
|
|
1603
|
+
if (value.length === 0) {
|
|
1604
|
+
throw new Error("SpecialVariantId must be a non-empty string");
|
|
1605
|
+
}
|
|
1606
|
+
return value;
|
|
1607
|
+
}
|
|
1524
1608
|
var VARIANT_ROLES, DEFAULT_VARIANT_ALIAS_ID, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, hoverColorSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, variantRoleSchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, buttonGlobalSettingsSchema, gradientDirectionSchema, buttonBackgroundSchema, effectApplicationSchema, buttonBorderSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, buttonVariantSchema, buttonSystemSchema;
|
|
1525
1609
|
var init_types = __esm({
|
|
1526
1610
|
"../theme-core/src/buttons/types.ts"() {
|
|
@@ -1673,6 +1757,41 @@ var init_types = __esm({
|
|
|
1673
1757
|
}
|
|
1674
1758
|
});
|
|
1675
1759
|
|
|
1760
|
+
// ../theme-core/src/buttons/classNames.ts
|
|
1761
|
+
function parseThemeButtonVariantId(value) {
|
|
1762
|
+
const normalized = value?.trim() ?? "";
|
|
1763
|
+
if (normalized.length === 0) {
|
|
1764
|
+
return null;
|
|
1765
|
+
}
|
|
1766
|
+
if (normalized === DEFAULT_VARIANT_ALIAS_ID) {
|
|
1767
|
+
return DEFAULT_VARIANT_ALIAS_ID;
|
|
1768
|
+
}
|
|
1769
|
+
return isVariantRole(normalized) ? normalized : asSpecialVariantId(normalized);
|
|
1770
|
+
}
|
|
1771
|
+
function themeButtonVariantClassNames(variant) {
|
|
1772
|
+
if (variant === DEFAULT_VARIANT_ALIAS_ID) {
|
|
1773
|
+
return [variant];
|
|
1774
|
+
}
|
|
1775
|
+
return [variant, `button-${variant}`];
|
|
1776
|
+
}
|
|
1777
|
+
function themeButtonSizeClassName(size) {
|
|
1778
|
+
return `btn-${size}`;
|
|
1779
|
+
}
|
|
1780
|
+
function themeButtonClassName(spec) {
|
|
1781
|
+
const classes = [
|
|
1782
|
+
...themeButtonVariantClassNames(spec.variant),
|
|
1783
|
+
themeButtonSizeClassName(spec.size),
|
|
1784
|
+
spec.extraClassName
|
|
1785
|
+
];
|
|
1786
|
+
return classes.filter(Boolean).join(" ");
|
|
1787
|
+
}
|
|
1788
|
+
var init_classNames = __esm({
|
|
1789
|
+
"../theme-core/src/buttons/classNames.ts"() {
|
|
1790
|
+
"use strict";
|
|
1791
|
+
init_types();
|
|
1792
|
+
}
|
|
1793
|
+
});
|
|
1794
|
+
|
|
1676
1795
|
// ../theme-core/src/tokens/resolver.ts
|
|
1677
1796
|
var init_resolver = __esm({
|
|
1678
1797
|
"../theme-core/src/tokens/resolver.ts"() {
|
|
@@ -1812,6 +1931,7 @@ var init_generateButtonCss = __esm({
|
|
|
1812
1931
|
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
1813
1932
|
"use strict";
|
|
1814
1933
|
init_types();
|
|
1934
|
+
init_classNames();
|
|
1815
1935
|
init_resolver();
|
|
1816
1936
|
init_generateEffectsCSS();
|
|
1817
1937
|
init_constants();
|
|
@@ -2480,6 +2600,7 @@ var init_buttons = __esm({
|
|
|
2480
2600
|
"../theme-core/src/buttons/index.ts"() {
|
|
2481
2601
|
"use strict";
|
|
2482
2602
|
init_types();
|
|
2603
|
+
init_classNames();
|
|
2483
2604
|
init_generateButtonCss();
|
|
2484
2605
|
init_generateDefaultButtonSystem();
|
|
2485
2606
|
init_constants();
|
|
@@ -3268,11 +3389,11 @@ var init_fileAssetLegacyProjection = __esm({
|
|
|
3268
3389
|
});
|
|
3269
3390
|
|
|
3270
3391
|
// ../media-core/src/typeGuards.ts
|
|
3271
|
-
function
|
|
3392
|
+
function isRecord2(value) {
|
|
3272
3393
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
3273
3394
|
}
|
|
3274
3395
|
function asRecord(value) {
|
|
3275
|
-
return
|
|
3396
|
+
return isRecord2(value) ? value : void 0;
|
|
3276
3397
|
}
|
|
3277
3398
|
var init_typeGuards = __esm({
|
|
3278
3399
|
"../media-core/src/typeGuards.ts"() {
|
|
@@ -5013,7 +5134,7 @@ var init_Text = __esm({
|
|
|
5013
5134
|
});
|
|
5014
5135
|
|
|
5015
5136
|
// ../blocks/src/lib/typeGuards.ts
|
|
5016
|
-
function
|
|
5137
|
+
function isRecord3(value) {
|
|
5017
5138
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5018
5139
|
}
|
|
5019
5140
|
var init_typeGuards2 = __esm({
|
|
@@ -5062,11 +5183,11 @@ function markdownToTipTapDoc(markdown) {
|
|
|
5062
5183
|
};
|
|
5063
5184
|
}
|
|
5064
5185
|
function coerceRichTextDoc(value) {
|
|
5065
|
-
const raw =
|
|
5186
|
+
const raw = isRecord3(value) && "doc" in value ? value.doc : value;
|
|
5066
5187
|
if (typeof raw === "string") {
|
|
5067
5188
|
return markdownToTipTapDoc(raw);
|
|
5068
5189
|
}
|
|
5069
|
-
if (
|
|
5190
|
+
if (isRecord3(raw) && typeof raw.type === "string") {
|
|
5070
5191
|
return raw;
|
|
5071
5192
|
}
|
|
5072
5193
|
return null;
|
|
@@ -5126,11 +5247,12 @@ var init_basic = __esm({
|
|
|
5126
5247
|
}
|
|
5127
5248
|
return null;
|
|
5128
5249
|
}
|
|
5129
|
-
const resolvedVariantId =
|
|
5130
|
-
const
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5250
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
5251
|
+
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
5252
|
+
variant: resolvedVariantId,
|
|
5253
|
+
size,
|
|
5254
|
+
extraClassName: className
|
|
5255
|
+
}) : className;
|
|
5134
5256
|
if (resolvedHref) {
|
|
5135
5257
|
return /* @__PURE__ */ jsx10(
|
|
5136
5258
|
"a",
|
|
@@ -6135,19 +6257,6 @@ var init_media2 = __esm({
|
|
|
6135
6257
|
}
|
|
6136
6258
|
});
|
|
6137
6259
|
|
|
6138
|
-
// ../blocks/src/system/runtime/shared/themedButtonClass.ts
|
|
6139
|
-
function themedButtonClass(spec) {
|
|
6140
|
-
const { variant, size, extraClassName } = spec;
|
|
6141
|
-
const normalizedVariant = variant.trim();
|
|
6142
|
-
const variantClasses = normalizedVariant ? [normalizedVariant, `button-${normalizedVariant}`] : [];
|
|
6143
|
-
return [...variantClasses, `btn-${size}`, extraClassName].filter(Boolean).join(" ");
|
|
6144
|
-
}
|
|
6145
|
-
var init_themedButtonClass = __esm({
|
|
6146
|
-
"../blocks/src/system/runtime/shared/themedButtonClass.ts"() {
|
|
6147
|
-
"use strict";
|
|
6148
|
-
}
|
|
6149
|
-
});
|
|
6150
|
-
|
|
6151
6260
|
// ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
6152
6261
|
import { jsx as jsx13, jsxs } from "react/jsx-runtime";
|
|
6153
6262
|
function isDownloadableMediaType(type) {
|
|
@@ -6221,7 +6330,7 @@ function FileDownloadNode({
|
|
|
6221
6330
|
{
|
|
6222
6331
|
href,
|
|
6223
6332
|
download: filename,
|
|
6224
|
-
className:
|
|
6333
|
+
className: themeButtonClassName({
|
|
6225
6334
|
variant,
|
|
6226
6335
|
size: "md",
|
|
6227
6336
|
extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
|
|
@@ -6241,7 +6350,7 @@ var init_file_download = __esm({
|
|
|
6241
6350
|
init_lucide_react();
|
|
6242
6351
|
init_colorStyles();
|
|
6243
6352
|
init_media2();
|
|
6244
|
-
|
|
6353
|
+
init_buttons();
|
|
6245
6354
|
init_media();
|
|
6246
6355
|
FILE_DOWNLOAD_BUTTON_VARIANTS = ["primary", "secondary", "outline", "link"];
|
|
6247
6356
|
}
|
|
@@ -9717,7 +9826,7 @@ var init_EventCard = __esm({
|
|
|
9717
9826
|
init_EventCardIcons();
|
|
9718
9827
|
init_eventCapacity();
|
|
9719
9828
|
init_utils();
|
|
9720
|
-
|
|
9829
|
+
init_buttons();
|
|
9721
9830
|
EventCard = ({
|
|
9722
9831
|
event,
|
|
9723
9832
|
cardVariant = "default",
|
|
@@ -9743,7 +9852,7 @@ var init_EventCard = __esm({
|
|
|
9743
9852
|
const isSoldOut = cta.hidden;
|
|
9744
9853
|
const { available: spotsLeft } = getEventAvailability(event);
|
|
9745
9854
|
const cardClass = `card-${cardVariant}`;
|
|
9746
|
-
const buttonClass =
|
|
9855
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
9747
9856
|
const title = event.title;
|
|
9748
9857
|
const summary = event.presentation?.summary ?? event.description;
|
|
9749
9858
|
const image = event.presentation?.image ?? null;
|
|
@@ -9825,7 +9934,7 @@ var init_EventCompactRow = __esm({
|
|
|
9825
9934
|
"use strict";
|
|
9826
9935
|
init_utils();
|
|
9827
9936
|
init_EventCardIcons();
|
|
9828
|
-
|
|
9937
|
+
init_buttons();
|
|
9829
9938
|
EventCompactRow = ({
|
|
9830
9939
|
event,
|
|
9831
9940
|
buttonVariant = "primary",
|
|
@@ -9837,7 +9946,7 @@ var init_EventCompactRow = __esm({
|
|
|
9837
9946
|
const price = formatEventPrice(event);
|
|
9838
9947
|
const teacherLine = formatEventTeacherLine(event);
|
|
9839
9948
|
const cta = resolveEventCta(event, buttonText);
|
|
9840
|
-
const buttonClass =
|
|
9949
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
|
|
9841
9950
|
return /* @__PURE__ */ jsxs17("div", { className: "event-compact-row", children: [
|
|
9842
9951
|
/* @__PURE__ */ jsxs17("div", { className: "event-compact-row-content", children: [
|
|
9843
9952
|
/* @__PURE__ */ jsxs17("div", { className: "event-compact-row-top", children: [
|
|
@@ -9909,7 +10018,7 @@ var init_EventSpotlight = __esm({
|
|
|
9909
10018
|
"../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx"() {
|
|
9910
10019
|
"use strict";
|
|
9911
10020
|
init_shared3();
|
|
9912
|
-
|
|
10021
|
+
init_buttons();
|
|
9913
10022
|
EventSpotlight = ({
|
|
9914
10023
|
events,
|
|
9915
10024
|
layout = "grid",
|
|
@@ -9931,7 +10040,7 @@ var init_EventSpotlight = __esm({
|
|
|
9931
10040
|
}
|
|
9932
10041
|
const containerClass = getContainerClass(layout, columns);
|
|
9933
10042
|
const cardOrientation = getCardOrientation(layout);
|
|
9934
|
-
const buttonClass =
|
|
10043
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
9935
10044
|
return /* @__PURE__ */ jsxs19("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
9936
10045
|
/* @__PURE__ */ jsx33("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx33(
|
|
9937
10046
|
EventCard,
|
|
@@ -20312,7 +20421,16 @@ var init_view3 = __esm({
|
|
|
20312
20421
|
import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
20313
20422
|
function renderServerPendingAction(label, soldOut) {
|
|
20314
20423
|
return /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
20315
|
-
/* @__PURE__ */ jsx37(
|
|
20424
|
+
/* @__PURE__ */ jsx37(
|
|
20425
|
+
"button",
|
|
20426
|
+
{
|
|
20427
|
+
type: "button",
|
|
20428
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
20429
|
+
disabled: true,
|
|
20430
|
+
"aria-disabled": "true",
|
|
20431
|
+
children: soldOut ? "Sold out" : label
|
|
20432
|
+
}
|
|
20433
|
+
),
|
|
20316
20434
|
!soldOut ? /* @__PURE__ */ jsx37("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
|
|
20317
20435
|
] });
|
|
20318
20436
|
}
|
|
@@ -20332,7 +20450,14 @@ function ProductListServerContent(props2) {
|
|
|
20332
20450
|
),
|
|
20333
20451
|
actions: /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
20334
20452
|
renderServerPendingAction(card.actionLabel, card.soldOut),
|
|
20335
|
-
card.path ? /* @__PURE__ */ jsx37(
|
|
20453
|
+
card.path ? /* @__PURE__ */ jsx37(
|
|
20454
|
+
"a",
|
|
20455
|
+
{
|
|
20456
|
+
href: card.path,
|
|
20457
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
20458
|
+
children: "View details"
|
|
20459
|
+
}
|
|
20460
|
+
) : null
|
|
20336
20461
|
] })
|
|
20337
20462
|
},
|
|
20338
20463
|
card.productId
|
|
@@ -20375,6 +20500,7 @@ function CheckoutServerContent(props2) {
|
|
|
20375
20500
|
var init_shop_commerce_server = __esm({
|
|
20376
20501
|
"../blocks/src/system/runtime/nodes/shop-commerce.server.tsx"() {
|
|
20377
20502
|
"use strict";
|
|
20503
|
+
init_buttons();
|
|
20378
20504
|
init_RichText();
|
|
20379
20505
|
init_carousel_server();
|
|
20380
20506
|
init_richText_coerce();
|
|
@@ -20923,7 +21049,7 @@ function renderCalendarGrid(display) {
|
|
|
20923
21049
|
"button",
|
|
20924
21050
|
{
|
|
20925
21051
|
type: "button",
|
|
20926
|
-
className:
|
|
21052
|
+
className: themeButtonClassName({
|
|
20927
21053
|
variant: display.buttonVariant,
|
|
20928
21054
|
size: "sm"
|
|
20929
21055
|
}),
|
|
@@ -21009,7 +21135,7 @@ function renderTimetableSsr(display) {
|
|
|
21009
21135
|
"button",
|
|
21010
21136
|
{
|
|
21011
21137
|
type: "button",
|
|
21012
|
-
className:
|
|
21138
|
+
className: themeButtonClassName({
|
|
21013
21139
|
variant: display.buttonVariant,
|
|
21014
21140
|
size: "sm"
|
|
21015
21141
|
}),
|
|
@@ -21137,7 +21263,7 @@ var init_EventCalendar_server = __esm({
|
|
|
21137
21263
|
init_renderEventListItem();
|
|
21138
21264
|
init_utils();
|
|
21139
21265
|
init_timetableModel();
|
|
21140
|
-
|
|
21266
|
+
init_buttons();
|
|
21141
21267
|
EventCalendarSSR = (props2) => {
|
|
21142
21268
|
const islandProps = buildEventCalendarInteractiveIslandProps(props2);
|
|
21143
21269
|
const display = islandProps.render.display;
|
|
@@ -21268,7 +21394,7 @@ var init_form_server = __esm({
|
|
|
21268
21394
|
"use strict";
|
|
21269
21395
|
init_clsx();
|
|
21270
21396
|
init_ssr();
|
|
21271
|
-
|
|
21397
|
+
init_buttons();
|
|
21272
21398
|
init_form_interactive();
|
|
21273
21399
|
FormNodeSSR = ({
|
|
21274
21400
|
blockId,
|
|
@@ -21406,7 +21532,7 @@ var init_form_server = __esm({
|
|
|
21406
21532
|
"button",
|
|
21407
21533
|
{
|
|
21408
21534
|
type: "submit",
|
|
21409
|
-
className:
|
|
21535
|
+
className: themeButtonClassName({
|
|
21410
21536
|
variant: "primary",
|
|
21411
21537
|
size: "md",
|
|
21412
21538
|
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
@@ -21499,7 +21625,7 @@ function NewsletterFormSSR({
|
|
|
21499
21625
|
"button",
|
|
21500
21626
|
{
|
|
21501
21627
|
type: "submit",
|
|
21502
|
-
className:
|
|
21628
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
21503
21629
|
children: display.buttonLabel
|
|
21504
21630
|
}
|
|
21505
21631
|
) })
|
|
@@ -21516,7 +21642,7 @@ var init_newsletter_form_server = __esm({
|
|
|
21516
21642
|
"use strict";
|
|
21517
21643
|
init_clsx();
|
|
21518
21644
|
init_ssr();
|
|
21519
|
-
|
|
21645
|
+
init_buttons();
|
|
21520
21646
|
init_newsletter_form_interactive();
|
|
21521
21647
|
newsletter_form_server_default = NewsletterFormSSR;
|
|
21522
21648
|
}
|
|
@@ -21647,7 +21773,16 @@ function ShopSSR({
|
|
|
21647
21773
|
PassCardView,
|
|
21648
21774
|
{
|
|
21649
21775
|
display: pass,
|
|
21650
|
-
action: /* @__PURE__ */ jsx50(
|
|
21776
|
+
action: /* @__PURE__ */ jsx50(
|
|
21777
|
+
"button",
|
|
21778
|
+
{
|
|
21779
|
+
type: "button",
|
|
21780
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
21781
|
+
disabled: true,
|
|
21782
|
+
"aria-disabled": "true",
|
|
21783
|
+
children: pass.actionLabel
|
|
21784
|
+
}
|
|
21785
|
+
)
|
|
21651
21786
|
},
|
|
21652
21787
|
pass.id
|
|
21653
21788
|
)),
|
|
@@ -21655,7 +21790,16 @@ function ShopSSR({
|
|
|
21655
21790
|
MembershipCardView,
|
|
21656
21791
|
{
|
|
21657
21792
|
display: membership,
|
|
21658
|
-
action: /* @__PURE__ */ jsx50(
|
|
21793
|
+
action: /* @__PURE__ */ jsx50(
|
|
21794
|
+
"button",
|
|
21795
|
+
{
|
|
21796
|
+
type: "button",
|
|
21797
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
21798
|
+
disabled: true,
|
|
21799
|
+
"aria-disabled": "true",
|
|
21800
|
+
children: membership.actionLabel
|
|
21801
|
+
}
|
|
21802
|
+
)
|
|
21659
21803
|
},
|
|
21660
21804
|
membership.id
|
|
21661
21805
|
))
|
|
@@ -21670,6 +21814,7 @@ var shop_server_default;
|
|
|
21670
21814
|
var init_shop_server = __esm({
|
|
21671
21815
|
"../blocks/src/system/runtime/nodes/shop.server.tsx"() {
|
|
21672
21816
|
"use strict";
|
|
21817
|
+
init_buttons();
|
|
21673
21818
|
init_ssr();
|
|
21674
21819
|
init_view3();
|
|
21675
21820
|
init_shop_interactive();
|
|
@@ -25110,7 +25255,7 @@ function MultiStepForm({
|
|
|
25110
25255
|
type: "button",
|
|
25111
25256
|
onClick: goToPrevious,
|
|
25112
25257
|
disabled: !canGoBack,
|
|
25113
|
-
className: "outline
|
|
25258
|
+
className: themeButtonClassName({ variant: "outline", size: "md" }),
|
|
25114
25259
|
children: backButtonLabel
|
|
25115
25260
|
}
|
|
25116
25261
|
),
|
|
@@ -25120,7 +25265,11 @@ function MultiStepForm({
|
|
|
25120
25265
|
type: "button",
|
|
25121
25266
|
onClick: goToNext,
|
|
25122
25267
|
disabled: !canGoNext,
|
|
25123
|
-
className:
|
|
25268
|
+
className: themeButtonClassName({
|
|
25269
|
+
variant: "primary",
|
|
25270
|
+
size: "md",
|
|
25271
|
+
extraClassName: "rb-flex-1"
|
|
25272
|
+
}),
|
|
25124
25273
|
children: [
|
|
25125
25274
|
(isValidating || isSubmitting) && /* @__PURE__ */ jsx52(
|
|
25126
25275
|
SpinnerNode,
|
|
@@ -25236,6 +25385,7 @@ var init_MultiStepForm = __esm({
|
|
|
25236
25385
|
"../blocks/src/system/runtime/components/multi-step/MultiStepForm.tsx"() {
|
|
25237
25386
|
"use strict";
|
|
25238
25387
|
"use client";
|
|
25388
|
+
init_buttons();
|
|
25239
25389
|
init_MultiStepContext();
|
|
25240
25390
|
init_useMultiStep();
|
|
25241
25391
|
init_spinner();
|
|
@@ -26498,7 +26648,10 @@ function PaymentOptionSelectionStep({
|
|
|
26498
26648
|
"button",
|
|
26499
26649
|
{
|
|
26500
26650
|
type: "button",
|
|
26501
|
-
className:
|
|
26651
|
+
className: themeButtonClassName({
|
|
26652
|
+
variant: isSelected ? "primary" : "outline",
|
|
26653
|
+
size: "md"
|
|
26654
|
+
}),
|
|
26502
26655
|
style: paymentOptionLayoutStyle,
|
|
26503
26656
|
onClick: () => updateData({
|
|
26504
26657
|
selectedAppointmentPackageId: appointmentPackage.customerPassId,
|
|
@@ -26547,7 +26700,10 @@ function PaymentOptionSelectionStep({
|
|
|
26547
26700
|
"button",
|
|
26548
26701
|
{
|
|
26549
26702
|
type: "button",
|
|
26550
|
-
className:
|
|
26703
|
+
className: themeButtonClassName({
|
|
26704
|
+
variant: isSelected ? "primary" : "outline",
|
|
26705
|
+
size: "md"
|
|
26706
|
+
}),
|
|
26551
26707
|
style: paymentOptionLayoutStyle,
|
|
26552
26708
|
onClick: () => updateData({
|
|
26553
26709
|
selectedAppointmentPackageId: void 0,
|
|
@@ -26576,6 +26732,7 @@ var init_PaymentOptionSelectionStep = __esm({
|
|
|
26576
26732
|
"../blocks/src/system/runtime/components/booking/PaymentOptionSelectionStep.tsx"() {
|
|
26577
26733
|
"use strict";
|
|
26578
26734
|
"use client";
|
|
26735
|
+
init_buttons();
|
|
26579
26736
|
init_api();
|
|
26580
26737
|
init_MultiStepContext();
|
|
26581
26738
|
init_booking_form_state();
|
|
@@ -28211,6 +28368,7 @@ var init_booking_form_client = __esm({
|
|
|
28211
28368
|
init_noop();
|
|
28212
28369
|
init_client2();
|
|
28213
28370
|
init_src3();
|
|
28371
|
+
init_buttons();
|
|
28214
28372
|
init_api();
|
|
28215
28373
|
init_MultiStepForm();
|
|
28216
28374
|
init_SuccessMessage();
|
|
@@ -28448,7 +28606,7 @@ var init_booking_form_client = __esm({
|
|
|
28448
28606
|
"button",
|
|
28449
28607
|
{
|
|
28450
28608
|
type: "button",
|
|
28451
|
-
className: "secondary
|
|
28609
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
28452
28610
|
onClick: clearFeedback,
|
|
28453
28611
|
children: "Dismiss"
|
|
28454
28612
|
}
|
|
@@ -29824,7 +29982,7 @@ var init_PaymentSelectionStep = __esm({
|
|
|
29824
29982
|
init_lucide_react();
|
|
29825
29983
|
init_utils3();
|
|
29826
29984
|
init_spinner();
|
|
29827
|
-
|
|
29985
|
+
init_buttons();
|
|
29828
29986
|
init_CheckIcon2();
|
|
29829
29987
|
init_SelectableOptionCard();
|
|
29830
29988
|
PaymentSelectionStep = ({
|
|
@@ -29925,7 +30083,7 @@ var init_PaymentSelectionStep = __esm({
|
|
|
29925
30083
|
"button",
|
|
29926
30084
|
{
|
|
29927
30085
|
type: "button",
|
|
29928
|
-
className:
|
|
30086
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
29929
30087
|
disabled: !email.trim(),
|
|
29930
30088
|
onClick: onRequestLogin,
|
|
29931
30089
|
children: "Email me a login link"
|
|
@@ -31585,7 +31743,7 @@ function MagicLinkForm({
|
|
|
31585
31743
|
"button",
|
|
31586
31744
|
{
|
|
31587
31745
|
type: "button",
|
|
31588
|
-
className: classPrefix === "cp" ? "secondary" : `${classPrefix}-modal-btn ${classPrefix}-modal-btn--secondary`,
|
|
31746
|
+
className: classPrefix === "cp" ? themeButtonClassName({ variant: "secondary", size: "md" }) : `${classPrefix}-modal-btn ${classPrefix}-modal-btn--secondary`,
|
|
31589
31747
|
onClick: handleReset,
|
|
31590
31748
|
children: "Try a different email"
|
|
31591
31749
|
}
|
|
@@ -31613,7 +31771,7 @@ function MagicLinkForm({
|
|
|
31613
31771
|
"button",
|
|
31614
31772
|
{
|
|
31615
31773
|
type: "submit",
|
|
31616
|
-
className: classPrefix === "cp" ? "primary" : `${classPrefix}-modal-btn`,
|
|
31774
|
+
className: classPrefix === "cp" ? themeButtonClassName({ variant: "primary", size: "md" }) : `${classPrefix}-modal-btn`,
|
|
31617
31775
|
disabled: !email.trim() || loading,
|
|
31618
31776
|
children: loading ? "Sending..." : buttonText
|
|
31619
31777
|
}
|
|
@@ -31624,6 +31782,7 @@ var init_MagicLinkForm = __esm({
|
|
|
31624
31782
|
"../blocks/src/system/runtime/nodes/shared/MagicLinkForm.tsx"() {
|
|
31625
31783
|
"use strict";
|
|
31626
31784
|
"use client";
|
|
31785
|
+
init_buttons();
|
|
31627
31786
|
init_api();
|
|
31628
31787
|
}
|
|
31629
31788
|
});
|
|
@@ -31649,7 +31808,7 @@ function EventRegistrationWizard(props2) {
|
|
|
31649
31808
|
} = props2;
|
|
31650
31809
|
const maxTicketsNum = parseInt(maxTickets, 10) || 5;
|
|
31651
31810
|
const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
31652
|
-
const buttonClass =
|
|
31811
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
31653
31812
|
const wizard = useEventRegistrationWizard({
|
|
31654
31813
|
anchorId: EVENT_REGISTRATION_ANCHOR_ID,
|
|
31655
31814
|
occurrenceContext: occurrenceContext ?? null,
|
|
@@ -31786,7 +31945,7 @@ var init_EventRegistrationWizard = __esm({
|
|
|
31786
31945
|
init_useEventRegistrationWizard();
|
|
31787
31946
|
init_MagicLinkForm();
|
|
31788
31947
|
init_spinner();
|
|
31789
|
-
|
|
31948
|
+
init_buttons();
|
|
31790
31949
|
init_event_registration2();
|
|
31791
31950
|
EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
|
|
31792
31951
|
EVENT_PORTAL_AUTH_COPY = {
|
|
@@ -32232,7 +32391,7 @@ function ErrorStep2({
|
|
|
32232
32391
|
buttonVariant = "primary",
|
|
32233
32392
|
onRetry
|
|
32234
32393
|
}) {
|
|
32235
|
-
const buttonClass =
|
|
32394
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
32236
32395
|
return /* @__PURE__ */ jsxs73("div", { className: "cr-error", role: "alert", children: [
|
|
32237
32396
|
/* @__PURE__ */ jsx100(StateIcon, { variant: "error", children: /* @__PURE__ */ jsx100(CrossIcon, {}) }),
|
|
32238
32397
|
/* @__PURE__ */ jsx100("h3", { className: "cr-error__title", children: "Enrollment Failed" }),
|
|
@@ -32244,7 +32403,7 @@ var init_ErrorStep2 = __esm({
|
|
|
32244
32403
|
"../blocks/src/system/runtime/nodes/course-registration/ErrorStep.tsx"() {
|
|
32245
32404
|
"use strict";
|
|
32246
32405
|
init_shared6();
|
|
32247
|
-
|
|
32406
|
+
init_buttons();
|
|
32248
32407
|
}
|
|
32249
32408
|
});
|
|
32250
32409
|
|
|
@@ -32256,7 +32415,7 @@ function VerifyingTimeoutStep2({
|
|
|
32256
32415
|
onCheckAgain,
|
|
32257
32416
|
supportEmail
|
|
32258
32417
|
}) {
|
|
32259
|
-
const buttonClass =
|
|
32418
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
32260
32419
|
return /* @__PURE__ */ jsxs74("div", { className: "cr-error", role: "alert", children: [
|
|
32261
32420
|
/* @__PURE__ */ jsx101(StateIcon, { variant: "warning", children: /* @__PURE__ */ jsx101(ClockIcon, {}) }),
|
|
32262
32421
|
/* @__PURE__ */ jsx101("h3", { className: "cr-error__title", children: "Payment Verification Taking Longer" }),
|
|
@@ -32273,7 +32432,7 @@ var init_VerifyingTimeoutStep2 = __esm({
|
|
|
32273
32432
|
"../blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.tsx"() {
|
|
32274
32433
|
"use strict";
|
|
32275
32434
|
init_shared6();
|
|
32276
|
-
|
|
32435
|
+
init_buttons();
|
|
32277
32436
|
}
|
|
32278
32437
|
});
|
|
32279
32438
|
|
|
@@ -32285,7 +32444,7 @@ function PaymentFailedStep2({
|
|
|
32285
32444
|
buttonVariant = "primary",
|
|
32286
32445
|
onRetry
|
|
32287
32446
|
}) {
|
|
32288
|
-
const buttonClass =
|
|
32447
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
32289
32448
|
return /* @__PURE__ */ jsxs75("div", { className: "cr-payment-failed", role: "alert", children: [
|
|
32290
32449
|
/* @__PURE__ */ jsx102(StateIcon, { variant: "error", children: /* @__PURE__ */ jsx102(CrossIcon, {}) }),
|
|
32291
32450
|
/* @__PURE__ */ jsx102("h3", { className: "cr-payment-failed__title", children: "Payment Failed" }),
|
|
@@ -32297,7 +32456,7 @@ var init_PaymentFailedStep2 = __esm({
|
|
|
32297
32456
|
"../blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.tsx"() {
|
|
32298
32457
|
"use strict";
|
|
32299
32458
|
init_shared6();
|
|
32300
|
-
|
|
32459
|
+
init_buttons();
|
|
32301
32460
|
}
|
|
32302
32461
|
});
|
|
32303
32462
|
|
|
@@ -33299,7 +33458,7 @@ function CourseRegistrationWizard(props2) {
|
|
|
33299
33458
|
handleRetry,
|
|
33300
33459
|
handleBookingModeChange
|
|
33301
33460
|
} = useCourseRegistrationWizard(props2);
|
|
33302
|
-
const buttonClass =
|
|
33461
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
33303
33462
|
if (scopedCourses.length === 0) {
|
|
33304
33463
|
return /* @__PURE__ */ jsx106(
|
|
33305
33464
|
"div",
|
|
@@ -33709,7 +33868,7 @@ var init_CourseRegistrationWizard = __esm({
|
|
|
33709
33868
|
init_PaymentFailedStep2();
|
|
33710
33869
|
init_VerifyingTimeoutStep2();
|
|
33711
33870
|
init_spinner();
|
|
33712
|
-
|
|
33871
|
+
init_buttons();
|
|
33713
33872
|
}
|
|
33714
33873
|
});
|
|
33715
33874
|
|
|
@@ -33741,7 +33900,7 @@ var init_course_registration_client = __esm({
|
|
|
33741
33900
|
import { useEffect as useEffect19, useRef as useRef10, useState as useState15 } from "react";
|
|
33742
33901
|
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
33743
33902
|
function isLeafletApi(value) {
|
|
33744
|
-
if (!
|
|
33903
|
+
if (!isRecord3(value)) return false;
|
|
33745
33904
|
return typeof value.map === "function" && typeof value.tileLayer === "function" && typeof value.marker === "function";
|
|
33746
33905
|
}
|
|
33747
33906
|
function loadLeaflet() {
|
|
@@ -34443,7 +34602,11 @@ function PassesMembershipsController({ render }) {
|
|
|
34443
34602
|
"button",
|
|
34444
34603
|
{
|
|
34445
34604
|
type: "button",
|
|
34446
|
-
className:
|
|
34605
|
+
className: themeButtonClassName({
|
|
34606
|
+
variant: "secondary",
|
|
34607
|
+
size: "sm",
|
|
34608
|
+
extraClassName: "shop__return-dismiss"
|
|
34609
|
+
}),
|
|
34447
34610
|
onClick: () => dispatch({ type: "clearReturnNotice" }),
|
|
34448
34611
|
children: "Dismiss"
|
|
34449
34612
|
}
|
|
@@ -34460,7 +34623,11 @@ function PassesMembershipsController({ render }) {
|
|
|
34460
34623
|
"button",
|
|
34461
34624
|
{
|
|
34462
34625
|
type: "button",
|
|
34463
|
-
className:
|
|
34626
|
+
className: themeButtonClassName({
|
|
34627
|
+
variant: "default",
|
|
34628
|
+
size: "md",
|
|
34629
|
+
extraClassName: "shop__cta"
|
|
34630
|
+
}),
|
|
34464
34631
|
onClick: () => handleBuyPass(pass),
|
|
34465
34632
|
children: passDisplay.actionLabel
|
|
34466
34633
|
}
|
|
@@ -34487,7 +34654,11 @@ function PassesMembershipsController({ render }) {
|
|
|
34487
34654
|
"button",
|
|
34488
34655
|
{
|
|
34489
34656
|
type: "button",
|
|
34490
|
-
className:
|
|
34657
|
+
className: themeButtonClassName({
|
|
34658
|
+
variant: "default",
|
|
34659
|
+
size: "md",
|
|
34660
|
+
extraClassName: "shop__cta"
|
|
34661
|
+
}),
|
|
34491
34662
|
onClick: () => handleSubscribe(membership),
|
|
34492
34663
|
children: membershipDisplay.actionLabel
|
|
34493
34664
|
}
|
|
@@ -34531,12 +34702,20 @@ function PassesMembershipsController({ render }) {
|
|
|
34531
34702
|
] }) : null
|
|
34532
34703
|
] }),
|
|
34533
34704
|
/* @__PURE__ */ jsxs83(ActionRow, { className: "shop__modal-warning-actions", children: [
|
|
34534
|
-
/* @__PURE__ */ jsx112("button", { type: "button", className: "secondary", onClick: closeCheckout, children: "Cancel" }),
|
|
34535
34705
|
/* @__PURE__ */ jsx112(
|
|
34536
34706
|
"button",
|
|
34537
34707
|
{
|
|
34538
34708
|
type: "button",
|
|
34539
|
-
className: "
|
|
34709
|
+
className: themeButtonClassName({ variant: "secondary", size: "md" }),
|
|
34710
|
+
onClick: closeCheckout,
|
|
34711
|
+
children: "Cancel"
|
|
34712
|
+
}
|
|
34713
|
+
),
|
|
34714
|
+
/* @__PURE__ */ jsx112(
|
|
34715
|
+
"button",
|
|
34716
|
+
{
|
|
34717
|
+
type: "button",
|
|
34718
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
34540
34719
|
onClick: handleConfirmDuplicate,
|
|
34541
34720
|
disabled: checkout2.submitting,
|
|
34542
34721
|
children: checkout2.submitting ? "Processing..." : "Subscribe Anyway"
|
|
@@ -34579,8 +34758,25 @@ function PassesMembershipsController({ render }) {
|
|
|
34579
34758
|
] }),
|
|
34580
34759
|
checkout2.formError ? /* @__PURE__ */ jsx112("p", { className: "shop__modal-error", role: "alert", children: checkout2.formError }) : null,
|
|
34581
34760
|
/* @__PURE__ */ jsxs83(ActionRow, { className: "shop__modal-actions", children: [
|
|
34582
|
-
/* @__PURE__ */ jsx112(
|
|
34583
|
-
|
|
34761
|
+
/* @__PURE__ */ jsx112(
|
|
34762
|
+
"button",
|
|
34763
|
+
{
|
|
34764
|
+
type: "button",
|
|
34765
|
+
className: themeButtonClassName({ variant: "secondary", size: "md" }),
|
|
34766
|
+
onClick: closeCheckout,
|
|
34767
|
+
disabled: checkout2.submitting,
|
|
34768
|
+
children: "Cancel"
|
|
34769
|
+
}
|
|
34770
|
+
),
|
|
34771
|
+
/* @__PURE__ */ jsx112(
|
|
34772
|
+
"button",
|
|
34773
|
+
{
|
|
34774
|
+
type: "submit",
|
|
34775
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
34776
|
+
disabled: checkout2.submitting,
|
|
34777
|
+
children: checkout2.submitting ? "Processing..." : "Continue to Payment"
|
|
34778
|
+
}
|
|
34779
|
+
)
|
|
34584
34780
|
] })
|
|
34585
34781
|
] })
|
|
34586
34782
|
] })
|
|
@@ -34593,6 +34789,7 @@ var init_shop_client = __esm({
|
|
|
34593
34789
|
"../blocks/src/system/runtime/nodes/shop.client.tsx"() {
|
|
34594
34790
|
"use strict";
|
|
34595
34791
|
"use client";
|
|
34792
|
+
init_buttons();
|
|
34596
34793
|
init_api();
|
|
34597
34794
|
init_ModalShell();
|
|
34598
34795
|
init_shared6();
|
|
@@ -34807,7 +35004,7 @@ var init_embla_carousel_autoplay_esm = __esm({
|
|
|
34807
35004
|
function isObject(subject) {
|
|
34808
35005
|
return Object.prototype.toString.call(subject) === "[object Object]";
|
|
34809
35006
|
}
|
|
34810
|
-
function
|
|
35007
|
+
function isRecord4(subject) {
|
|
34811
35008
|
return isObject(subject) || Array.isArray(subject);
|
|
34812
35009
|
}
|
|
34813
35010
|
function canUseDOM() {
|
|
@@ -34824,7 +35021,7 @@ function areOptionsEqual(optionsA, optionsB) {
|
|
|
34824
35021
|
const valueA = optionsA[key];
|
|
34825
35022
|
const valueB = optionsB[key];
|
|
34826
35023
|
if (typeof valueA === "function") return `${valueA}` === `${valueB}`;
|
|
34827
|
-
if (!
|
|
35024
|
+
if (!isRecord4(valueA) || !isRecord4(valueB)) return valueA === valueB;
|
|
34828
35025
|
return areOptionsEqual(valueA, valueB);
|
|
34829
35026
|
});
|
|
34830
35027
|
}
|
|
@@ -36918,7 +37115,7 @@ function ProductListController(props2) {
|
|
|
36918
37115
|
"button",
|
|
36919
37116
|
{
|
|
36920
37117
|
type: "button",
|
|
36921
|
-
className: "default",
|
|
37118
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
36922
37119
|
onClick: () => {
|
|
36923
37120
|
const product = props2.render.hydration.products.find((candidate) => candidate.id === card.productId);
|
|
36924
37121
|
if (!product) return;
|
|
@@ -36934,7 +37131,14 @@ function ProductListController(props2) {
|
|
|
36934
37131
|
children: card.soldOut ? "Sold out" : card.actionLabel
|
|
36935
37132
|
}
|
|
36936
37133
|
),
|
|
36937
|
-
card.path ? /* @__PURE__ */ jsx114(
|
|
37134
|
+
card.path ? /* @__PURE__ */ jsx114(
|
|
37135
|
+
"a",
|
|
37136
|
+
{
|
|
37137
|
+
href: card.path,
|
|
37138
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
37139
|
+
children: "View details"
|
|
37140
|
+
}
|
|
37141
|
+
) : null
|
|
36938
37142
|
] }),
|
|
36939
37143
|
feedback: /* @__PURE__ */ jsx114(
|
|
36940
37144
|
ShopAddFeedback,
|
|
@@ -37000,7 +37204,7 @@ function ProductDetailController(props2) {
|
|
|
37000
37204
|
"button",
|
|
37001
37205
|
{
|
|
37002
37206
|
type: "button",
|
|
37003
|
-
className: "default",
|
|
37207
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
37004
37208
|
disabled: display.soldOut,
|
|
37005
37209
|
onClick: () => {
|
|
37006
37210
|
if (!selectedProduct) return;
|
|
@@ -37050,15 +37254,31 @@ function CartController(props2) {
|
|
|
37050
37254
|
onChange: item.quantityEditable ? (event) => cart2.updateQuantity(item.key, Number(event.target.value)) : void 0
|
|
37051
37255
|
}
|
|
37052
37256
|
),
|
|
37053
|
-
/* @__PURE__ */ jsx114(
|
|
37257
|
+
/* @__PURE__ */ jsx114(
|
|
37258
|
+
"button",
|
|
37259
|
+
{
|
|
37260
|
+
type: "button",
|
|
37261
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
37262
|
+
onClick: () => cart2.removeItem(item.key),
|
|
37263
|
+
children: "Remove"
|
|
37264
|
+
}
|
|
37265
|
+
)
|
|
37054
37266
|
] }),
|
|
37055
37267
|
footerActions: /* @__PURE__ */ jsxs85(Fragment19, { children: [
|
|
37056
|
-
/* @__PURE__ */ jsx114("button", { type: "button", className: "secondary btn-sm", onClick: () => cart2.clear(), children: display.clearButtonText }),
|
|
37057
37268
|
/* @__PURE__ */ jsx114(
|
|
37058
37269
|
"button",
|
|
37059
37270
|
{
|
|
37060
37271
|
type: "button",
|
|
37061
|
-
className: "
|
|
37272
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
37273
|
+
onClick: () => cart2.clear(),
|
|
37274
|
+
children: display.clearButtonText
|
|
37275
|
+
}
|
|
37276
|
+
),
|
|
37277
|
+
/* @__PURE__ */ jsx114(
|
|
37278
|
+
"button",
|
|
37279
|
+
{
|
|
37280
|
+
type: "button",
|
|
37281
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
37062
37282
|
onClick: () => {
|
|
37063
37283
|
window.location.href = resolveDedicatedCheckoutPath(window.location.pathname);
|
|
37064
37284
|
},
|
|
@@ -37164,7 +37384,15 @@ function CheckoutController(props2) {
|
|
|
37164
37384
|
)
|
|
37165
37385
|
] }),
|
|
37166
37386
|
state.feedback.tag === "error" ? /* @__PURE__ */ jsx114("p", { className: "rb-caption status-muted", children: state.feedback.message }) : null,
|
|
37167
|
-
/* @__PURE__ */ jsx114(
|
|
37387
|
+
/* @__PURE__ */ jsx114(
|
|
37388
|
+
"button",
|
|
37389
|
+
{
|
|
37390
|
+
type: "submit",
|
|
37391
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
37392
|
+
disabled: state.submission === "submitting",
|
|
37393
|
+
children: state.submission === "submitting" ? "Loading\u2026" : display.submitButtonText
|
|
37394
|
+
}
|
|
37395
|
+
)
|
|
37168
37396
|
] })
|
|
37169
37397
|
}
|
|
37170
37398
|
);
|
|
@@ -37174,6 +37402,7 @@ var init_shop_commerce = __esm({
|
|
|
37174
37402
|
"../blocks/src/system/runtime/nodes/shop-commerce.tsx"() {
|
|
37175
37403
|
"use strict";
|
|
37176
37404
|
"use client";
|
|
37405
|
+
init_buttons();
|
|
37177
37406
|
init_api();
|
|
37178
37407
|
init_RichText();
|
|
37179
37408
|
init_carousel_client();
|
|
@@ -38870,7 +39099,7 @@ function HeaderCartDrawerItems(props2) {
|
|
|
38870
39099
|
"button",
|
|
38871
39100
|
{
|
|
38872
39101
|
type: "button",
|
|
38873
|
-
className: "secondary
|
|
39102
|
+
className: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
38874
39103
|
onClick: () => props2.cart.removeItem(item.key),
|
|
38875
39104
|
children: "Remove"
|
|
38876
39105
|
}
|
|
@@ -38963,7 +39192,7 @@ function HeaderCartDrawer(props2) {
|
|
|
38963
39192
|
"button",
|
|
38964
39193
|
{
|
|
38965
39194
|
type: "button",
|
|
38966
|
-
className: "secondary",
|
|
39195
|
+
className: themeButtonClassName({ variant: "secondary", size: "md" }),
|
|
38967
39196
|
onClick: () => props2.cart.clear(),
|
|
38968
39197
|
disabled: display.state === "empty",
|
|
38969
39198
|
children: display.clearButtonText
|
|
@@ -38972,12 +39201,20 @@ function HeaderCartDrawer(props2) {
|
|
|
38972
39201
|
props2.checkoutHref && display.state === "ready" ? /* @__PURE__ */ jsx129(
|
|
38973
39202
|
"a",
|
|
38974
39203
|
{
|
|
38975
|
-
className: "default",
|
|
39204
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
38976
39205
|
href: props2.checkoutHref,
|
|
38977
39206
|
onClick: props2.onClose,
|
|
38978
39207
|
children: display.checkoutButtonText
|
|
38979
39208
|
}
|
|
38980
|
-
) : /* @__PURE__ */ jsx129(
|
|
39209
|
+
) : /* @__PURE__ */ jsx129(
|
|
39210
|
+
"button",
|
|
39211
|
+
{
|
|
39212
|
+
type: "button",
|
|
39213
|
+
className: themeButtonClassName({ variant: "default", size: "md" }),
|
|
39214
|
+
disabled: true,
|
|
39215
|
+
children: display.checkoutButtonText
|
|
39216
|
+
}
|
|
39217
|
+
)
|
|
38981
39218
|
] })
|
|
38982
39219
|
]
|
|
38983
39220
|
}
|
|
@@ -38990,6 +39227,7 @@ var init_HeaderCartDrawer = __esm({
|
|
|
38990
39227
|
"../blocks/src/system/runtime/header/HeaderCartDrawer.tsx"() {
|
|
38991
39228
|
"use strict";
|
|
38992
39229
|
"use client";
|
|
39230
|
+
init_buttons();
|
|
38993
39231
|
init_display();
|
|
38994
39232
|
init_ModalShell();
|
|
38995
39233
|
}
|
|
@@ -39763,7 +40001,7 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
39763
40001
|
init_EventCompactRow();
|
|
39764
40002
|
init_EmptyState();
|
|
39765
40003
|
init_EventListing_view();
|
|
39766
|
-
|
|
40004
|
+
init_buttons();
|
|
39767
40005
|
EventPaginatedListView = ({
|
|
39768
40006
|
filters,
|
|
39769
40007
|
display,
|
|
@@ -39806,7 +40044,7 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
39806
40044
|
{
|
|
39807
40045
|
type: "button",
|
|
39808
40046
|
onClick: loadMore,
|
|
39809
|
-
className:
|
|
40047
|
+
className: themeButtonClassName({
|
|
39810
40048
|
variant: display.buttonVariant,
|
|
39811
40049
|
size: "md"
|
|
39812
40050
|
}),
|
|
@@ -39820,7 +40058,7 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
39820
40058
|
type: "button",
|
|
39821
40059
|
onClick: loadMore,
|
|
39822
40060
|
disabled: loading,
|
|
39823
|
-
className:
|
|
40061
|
+
className: themeButtonClassName({
|
|
39824
40062
|
variant: display.buttonVariant,
|
|
39825
40063
|
size: "md",
|
|
39826
40064
|
extraClassName: loading ? "rb-opacity-50 rb-cursor-wait" : null
|
|
@@ -39832,7 +40070,7 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
39832
40070
|
"a",
|
|
39833
40071
|
{
|
|
39834
40072
|
href: seeAllUrl,
|
|
39835
|
-
className:
|
|
40073
|
+
className: themeButtonClassName({
|
|
39836
40074
|
variant: display.buttonVariant,
|
|
39837
40075
|
size: "md"
|
|
39838
40076
|
}),
|
|
@@ -41182,7 +41420,7 @@ var init_EventCombined_client = __esm({
|
|
|
41182
41420
|
init_EventModalContext();
|
|
41183
41421
|
init_EventModals();
|
|
41184
41422
|
init_utils();
|
|
41185
|
-
|
|
41423
|
+
init_buttons();
|
|
41186
41424
|
EventCombinedClient = ({
|
|
41187
41425
|
events: initialEvents,
|
|
41188
41426
|
siteId,
|
|
@@ -41508,7 +41746,7 @@ var init_EventCombined_client = __esm({
|
|
|
41508
41746
|
{
|
|
41509
41747
|
type: "button",
|
|
41510
41748
|
onClick: goToToday,
|
|
41511
|
-
className:
|
|
41749
|
+
className: themeButtonClassName({ variant: buttonVariant, size: "sm" }),
|
|
41512
41750
|
children: "Today"
|
|
41513
41751
|
}
|
|
41514
41752
|
)
|
|
@@ -41825,7 +42063,7 @@ var init_EventCalendar_client = __esm({
|
|
|
41825
42063
|
init_EventModalContext();
|
|
41826
42064
|
init_EventModals();
|
|
41827
42065
|
init_WeekTimetableView();
|
|
41828
|
-
|
|
42066
|
+
init_buttons();
|
|
41829
42067
|
EventCalendarClient = ({
|
|
41830
42068
|
render
|
|
41831
42069
|
}) => {
|
|
@@ -42114,7 +42352,7 @@ var init_EventCalendar_client = __esm({
|
|
|
42114
42352
|
{
|
|
42115
42353
|
type: "button",
|
|
42116
42354
|
onClick: onToday,
|
|
42117
|
-
className:
|
|
42355
|
+
className: themeButtonClassName({
|
|
42118
42356
|
variant: display.buttonVariant,
|
|
42119
42357
|
size: "sm"
|
|
42120
42358
|
}),
|
|
@@ -42130,7 +42368,7 @@ var init_EventCalendar_client = __esm({
|
|
|
42130
42368
|
{
|
|
42131
42369
|
type: "button",
|
|
42132
42370
|
onClick: onToday,
|
|
42133
|
-
className:
|
|
42371
|
+
className: themeButtonClassName({
|
|
42134
42372
|
variant: display.buttonVariant,
|
|
42135
42373
|
size: "sm"
|
|
42136
42374
|
}),
|
|
@@ -42228,7 +42466,7 @@ var init_form_client = __esm({
|
|
|
42228
42466
|
init_client2();
|
|
42229
42467
|
init_src3();
|
|
42230
42468
|
init_useFormSubmission();
|
|
42231
|
-
|
|
42469
|
+
init_buttons();
|
|
42232
42470
|
FormNodeClient = ({
|
|
42233
42471
|
render
|
|
42234
42472
|
}) => {
|
|
@@ -42370,7 +42608,7 @@ var init_form_client = __esm({
|
|
|
42370
42608
|
"button",
|
|
42371
42609
|
{
|
|
42372
42610
|
type: "submit",
|
|
42373
|
-
className:
|
|
42611
|
+
className: themeButtonClassName({
|
|
42374
42612
|
variant: "primary",
|
|
42375
42613
|
size: "md",
|
|
42376
42614
|
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
@@ -42597,7 +42835,7 @@ function NewsletterFormClient({
|
|
|
42597
42835
|
"button",
|
|
42598
42836
|
{
|
|
42599
42837
|
type: "submit",
|
|
42600
|
-
className:
|
|
42838
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
42601
42839
|
disabled: isSubmitting,
|
|
42602
42840
|
children: isSubmitting ? "Subscribing..." : render.display.buttonLabel
|
|
42603
42841
|
}
|
|
@@ -42616,14 +42854,14 @@ var init_newsletter_form_client = __esm({
|
|
|
42616
42854
|
init_client2();
|
|
42617
42855
|
init_src3();
|
|
42618
42856
|
init_api();
|
|
42619
|
-
|
|
42857
|
+
init_buttons();
|
|
42620
42858
|
newsletter_form_client_default = NewsletterFormClient;
|
|
42621
42859
|
}
|
|
42622
42860
|
});
|
|
42623
42861
|
|
|
42624
42862
|
// ../blocks/src/system/runtime/components/registry.client.tsx
|
|
42625
42863
|
import React53 from "react";
|
|
42626
|
-
function
|
|
42864
|
+
function isRecord5(value) {
|
|
42627
42865
|
return typeof value === "object" && value !== null;
|
|
42628
42866
|
}
|
|
42629
42867
|
function buildRenderFromLooseProps(runtime, mode, props2) {
|
|
@@ -42642,14 +42880,14 @@ function withRuntimeBackedEnvelope(source, runtime, render) {
|
|
|
42642
42880
|
function normalizeLegacyInteractiveRenderProps(runtime, mode, props2) {
|
|
42643
42881
|
const source = props2;
|
|
42644
42882
|
const render = props2["render"];
|
|
42645
|
-
if (!
|
|
42883
|
+
if (!isRecord5(render)) {
|
|
42646
42884
|
return withRuntimeBackedEnvelope(
|
|
42647
42885
|
source,
|
|
42648
42886
|
runtime,
|
|
42649
42887
|
buildRenderFromLooseProps(runtime, mode, props2)
|
|
42650
42888
|
);
|
|
42651
42889
|
}
|
|
42652
|
-
if (
|
|
42890
|
+
if (isRecord5(render["hydration"])) {
|
|
42653
42891
|
return withRuntimeBackedEnvelope(
|
|
42654
42892
|
source,
|
|
42655
42893
|
runtime,
|
|
@@ -42659,7 +42897,7 @@ function normalizeLegacyInteractiveRenderProps(runtime, mode, props2) {
|
|
|
42659
42897
|
}
|
|
42660
42898
|
);
|
|
42661
42899
|
}
|
|
42662
|
-
if (!
|
|
42900
|
+
if (!isRecord5(render["display"])) {
|
|
42663
42901
|
return withRuntimeBackedEnvelope(
|
|
42664
42902
|
source,
|
|
42665
42903
|
runtime,
|