@riverbankcms/sdk 0.77.1 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
- package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +154 -154
- package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
- package/dist/_dts/api/src/billing.d.ts +3 -26
- package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
- package/dist/_dts/api/src/content-editor.d.ts +1 -0
- package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +14 -2
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
- package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
- package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
- package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
- package/dist/_dts/api/src/navigation.d.ts +12 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
- package/dist/_dts/api/src/staffAccess.d.ts +79 -0
- package/dist/_dts/api/src/types.d.ts +3 -1
- package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
- package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
- package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
- package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
- package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
- package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
- package/dist/_dts/content-editor/src/index.d.ts +5 -0
- package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
- package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
- package/dist/_dts/core/src/csv-cells.d.ts +10 -0
- package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
- package/dist/_dts/core/src/csv-escape.d.ts +1 -0
- package/dist/_dts/core/src/csv-filename.d.ts +18 -0
- package/dist/_dts/core/src/csv-render.d.ts +4 -0
- package/dist/_dts/core/src/csv-types.d.ts +116 -0
- package/dist/_dts/core/src/currency-format.d.ts +4 -0
- package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
- package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
- package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
- package/dist/_dts/core/src/duration.d.ts +14 -0
- package/dist/_dts/core/src/email-format.d.ts +10 -0
- package/dist/_dts/core/src/field-errors.d.ts +1 -0
- package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +20 -0
- package/dist/_dts/core/src/number-input.d.ts +22 -0
- package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
- package/dist/_dts/core/src/slug.d.ts +39 -0
- package/dist/_dts/core/src/string.d.ts +19 -0
- package/dist/_dts/core/src/uuid.d.ts +6 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
- package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
- package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
- package/dist/_dts/media-core/src/filename.d.ts +1 -0
- package/dist/_dts/media-core/src/index.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
- package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
- package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
- package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +8 -0
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
- package/dist/_dts/sdk/src/client/error.d.ts +3 -0
- package/dist/_dts/sdk/src/client/index.d.ts +2 -2
- package/dist/_dts/sdk/src/client/types.d.ts +37 -19
- package/dist/_dts/sdk/src/index.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
- package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +12 -12
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +3 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
- package/dist/_dts/theme-core/src/schema.d.ts +64 -18
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
- package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{chunk-2SPENC5M.mjs → chunk-F7RTCZYN.mjs} +229 -50
- package/dist/{chunk-IENWFSLO.mjs → chunk-NIDXI46P.mjs} +1 -1
- package/dist/{chunk-KWJPDZH2.mjs → chunk-OECWLDHN.mjs} +2770 -620
- package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
- package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
- package/dist/{chunk-ZYEJLCTN.mjs → chunk-TXDES5P2.mjs} +2 -2
- package/dist/cli/index.mjs +1677 -440
- package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
- package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
- package/dist/client/bookings.mjs +3707 -259
- package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
- package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
- package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
- package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
- package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
- package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
- package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
- package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
- package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
- package/dist/client/chunk-PD6NBCEY.mjs +66 -0
- package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
- package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
- package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
- package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
- package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
- package/dist/client/client.mjs +7070 -4561
- package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
- package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
- package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
- package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
- package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
- package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
- package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
- package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
- package/dist/client/hooks.mjs +1040 -278
- package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
- package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
- package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
- package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
- package/dist/client/rendering/client.mjs +7090 -2645
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +6089 -3792
- package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +8 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-chrome.css +10 -0
- package/dist/preview-next/middleware.mjs +8 -0
- package/dist/{sdk-runtime-6UT2S7KZ.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
- package/dist/server/components.mjs +2635 -1262
- package/dist/server/config-validation.mjs +1271 -509
- package/dist/server/config.mjs +1271 -509
- package/dist/server/data.mjs +1040 -278
- package/dist/server/index.mjs +488 -246
- package/dist/server/next.mjs +4087 -2147
- package/dist/server/page-converter.mjs +571 -115
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2636 -1263
- package/dist/server/rendering.mjs +2654 -1268
- package/dist/server/routing.mjs +1729 -489
- package/dist/server/server.mjs +1532 -530
- package/dist/server/theme-bridge.mjs +3151 -131
- package/dist/server/theme.mjs +10 -1
- package/dist/styles/index.css +488 -48
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
- package/dist/client/chunk-OJPZEZU2.mjs +0 -31
- package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-
|
|
1
|
+
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-65F47D7Y.mjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -29,6 +29,7 @@ var CommerceCartStore = class {
|
|
|
29
29
|
key: input.key,
|
|
30
30
|
kind: "product",
|
|
31
31
|
productId: input.productId,
|
|
32
|
+
productCategoryId: input.productCategoryId ?? null,
|
|
32
33
|
...input.variantId ? { variantId: input.variantId } : {},
|
|
33
34
|
title: input.title,
|
|
34
35
|
variantTitle: input.variantTitle ?? null,
|
|
@@ -223,6 +223,10 @@ var DISCOUNTS = {
|
|
|
223
223
|
available: {
|
|
224
224
|
path: "/public/sites/{siteId}/bookings/discounts/available",
|
|
225
225
|
method: "POST"
|
|
226
|
+
},
|
|
227
|
+
apply: {
|
|
228
|
+
path: "/public/sites/{siteId}/bookings/discounts/apply",
|
|
229
|
+
method: "POST"
|
|
226
230
|
}
|
|
227
231
|
};
|
|
228
232
|
var NEWSLETTER = {
|
|
@@ -834,6 +838,14 @@ function createBlockApi(config) {
|
|
|
834
838
|
body: { context: data.context, subtotalCents: data.subtotalCents }
|
|
835
839
|
});
|
|
836
840
|
},
|
|
841
|
+
async applyDiscountCode(data) {
|
|
842
|
+
const sid = requireSiteId();
|
|
843
|
+
const path = buildPath(DISCOUNTS.apply.path, { siteId: sid });
|
|
844
|
+
return request(DISCOUNTS.apply, {
|
|
845
|
+
path,
|
|
846
|
+
body: data
|
|
847
|
+
});
|
|
848
|
+
},
|
|
837
849
|
// Shop
|
|
838
850
|
async getPublicProducts(params) {
|
|
839
851
|
const sid = requireSiteId();
|
|
@@ -1,7 +1,133 @@
|
|
|
1
|
-
import { FeedbackMessage } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { FeedbackMessage } from './chunk-UDNSI5PY.mjs';
|
|
2
|
+
import { themeButtonClassName } from './chunk-65F47D7Y.mjs';
|
|
3
|
+
import { clsx_default } from './chunk-IVNCUVAV.mjs';
|
|
4
|
+
import { useId } from 'react';
|
|
3
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
6
|
|
|
7
|
+
var BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES = {
|
|
8
|
+
"course-registration": {
|
|
9
|
+
root: "cr-discount",
|
|
10
|
+
toggle: "cr-discount__toggle",
|
|
11
|
+
form: "cr-discount__form",
|
|
12
|
+
label: "cr-discount__label",
|
|
13
|
+
row: "cr-discount__row",
|
|
14
|
+
input: "cr-discount__input",
|
|
15
|
+
apply: "cr-discount__apply",
|
|
16
|
+
remove: "cr-discount__remove",
|
|
17
|
+
hint: "cr-discount__hint",
|
|
18
|
+
feedback: "cr-discount__feedback"
|
|
19
|
+
},
|
|
20
|
+
"event-registration": {
|
|
21
|
+
root: "er-discount",
|
|
22
|
+
toggle: "er-discount__toggle",
|
|
23
|
+
form: "er-discount__form",
|
|
24
|
+
label: "er-discount__label",
|
|
25
|
+
row: "er-discount__row",
|
|
26
|
+
input: "er-discount__input",
|
|
27
|
+
apply: "er-discount__apply",
|
|
28
|
+
remove: "er-discount__remove",
|
|
29
|
+
hint: "er-discount__hint",
|
|
30
|
+
feedback: "er-discount__feedback"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var textLinkButtonClassName = ["button", "link"].join("-");
|
|
34
|
+
var themeFormClasses = {
|
|
35
|
+
root: "rb-flex rb-flex-col rb-gap-2 rb-mb-4",
|
|
36
|
+
toggle: `${textLinkButtonClassName} rb-self-start`,
|
|
37
|
+
form: "rb-flex rb-flex-col rb-gap-2",
|
|
38
|
+
label: "form-label",
|
|
39
|
+
row: "rb-flex rb-flex-col rb-gap-2 rb-sm-flex-row",
|
|
40
|
+
input: "form-input",
|
|
41
|
+
apply: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
42
|
+
remove: themeButtonClassName({ variant: "secondary", size: "sm" }),
|
|
43
|
+
hint: "rb-caption status-muted",
|
|
44
|
+
feedback: "rb-caption"
|
|
45
|
+
};
|
|
46
|
+
function getDiscountCodeDisclosureClasses(surface) {
|
|
47
|
+
if (surface === "theme-form") return themeFormClasses;
|
|
48
|
+
return BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES[surface];
|
|
49
|
+
}
|
|
50
|
+
function DiscountCodeDisclosure({
|
|
51
|
+
surface,
|
|
52
|
+
isOpen,
|
|
53
|
+
code,
|
|
54
|
+
onOpen,
|
|
55
|
+
onChange,
|
|
56
|
+
onRemove,
|
|
57
|
+
onApply,
|
|
58
|
+
id,
|
|
59
|
+
toggleLabel = "Have a discount code?",
|
|
60
|
+
label = "Discount code",
|
|
61
|
+
placeholder = "Enter code",
|
|
62
|
+
applyLabel = "Apply",
|
|
63
|
+
removeLabel = "Remove",
|
|
64
|
+
hint = "Applied at checkout.",
|
|
65
|
+
feedback = null,
|
|
66
|
+
isApplying = false,
|
|
67
|
+
applyDisabled = false,
|
|
68
|
+
disabled = false
|
|
69
|
+
}) {
|
|
70
|
+
const generatedId = useId();
|
|
71
|
+
const inputId = id ?? `discount-code-${generatedId}`;
|
|
72
|
+
const classes = getDiscountCodeDisclosureClasses(surface);
|
|
73
|
+
const handleChange = (event) => {
|
|
74
|
+
onChange(event.target.value);
|
|
75
|
+
};
|
|
76
|
+
const handleKeyDown = (event) => {
|
|
77
|
+
if (!onApply || event.key !== "Enter") return;
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
onApply();
|
|
80
|
+
};
|
|
81
|
+
const feedbackClassName = feedback ? `${classes.feedback} status-${feedback.tone}` : classes.feedback;
|
|
82
|
+
return /* @__PURE__ */ jsx("div", { className: classes.root, children: !isOpen ? /* @__PURE__ */ jsx("button", { type: "button", className: classes.toggle, onClick: onOpen, children: toggleLabel }) : /* @__PURE__ */ jsxs("div", { className: classes.form, children: [
|
|
83
|
+
/* @__PURE__ */ jsx("label", { htmlFor: inputId, className: classes.label, children: label }),
|
|
84
|
+
/* @__PURE__ */ jsxs("div", { className: classes.row, children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
"input",
|
|
87
|
+
{
|
|
88
|
+
id: inputId,
|
|
89
|
+
className: classes.input,
|
|
90
|
+
value: code,
|
|
91
|
+
onChange: handleChange,
|
|
92
|
+
onKeyDown: handleKeyDown,
|
|
93
|
+
placeholder,
|
|
94
|
+
autoComplete: "off",
|
|
95
|
+
disabled: disabled || isApplying
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
onApply ? /* @__PURE__ */ jsx(
|
|
99
|
+
"button",
|
|
100
|
+
{
|
|
101
|
+
type: "button",
|
|
102
|
+
className: classes.apply,
|
|
103
|
+
onClick: onApply,
|
|
104
|
+
disabled: disabled || isApplying || applyDisabled,
|
|
105
|
+
children: isApplying ? "Applying..." : applyLabel
|
|
106
|
+
}
|
|
107
|
+
) : null,
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
"button",
|
|
110
|
+
{
|
|
111
|
+
type: "button",
|
|
112
|
+
className: classes.remove,
|
|
113
|
+
onClick: onRemove,
|
|
114
|
+
disabled: disabled || isApplying,
|
|
115
|
+
children: removeLabel
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
] }),
|
|
119
|
+
/* @__PURE__ */ jsx("p", { className: classes.hint, children: hint }),
|
|
120
|
+
feedback ? /* @__PURE__ */ jsx(
|
|
121
|
+
"p",
|
|
122
|
+
{
|
|
123
|
+
className: feedbackClassName,
|
|
124
|
+
role: feedback.tone === "error" ? "alert" : "status",
|
|
125
|
+
children: feedback.message
|
|
126
|
+
}
|
|
127
|
+
) : null
|
|
128
|
+
] }) });
|
|
129
|
+
}
|
|
130
|
+
|
|
5
131
|
// ../blocks/src/system/runtime/shared/utils/checkoutUrls.ts
|
|
6
132
|
function buildCheckoutReturnUrls(paramName, anchorId) {
|
|
7
133
|
const currentUrl = new URL(window.location.href);
|
|
@@ -380,4 +506,4 @@ function StepIndicator({
|
|
|
380
506
|
}) }) });
|
|
381
507
|
}
|
|
382
508
|
|
|
383
|
-
export { ActionRow, CheckIcon, ClockIcon, CrossIcon, LoggedInAsUser, MembershipHero, StateIcon, StepIndicator, TabBarFragment, TerminalPanel, buildCheckoutReturnUrls, consumeSearchParam, consumeSearchParams, createBodyThemePortalRoot, formatPrice, getStepNumber, logoutPortal, scrollToBlock, validateFormData };
|
|
509
|
+
export { ActionRow, CheckIcon, ClockIcon, CrossIcon, DiscountCodeDisclosure, LoggedInAsUser, MembershipHero, StateIcon, StepIndicator, TabBarFragment, TerminalPanel, buildCheckoutReturnUrls, consumeSearchParam, consumeSearchParams, createBodyThemePortalRoot, formatPrice, getStepNumber, logoutPortal, scrollToBlock, validateFormData };
|
|
@@ -1,67 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
function useDiscountCodeUi(options) {
|
|
6
|
-
const [discountUiOpen, setDiscountUiOpen] = useState(false);
|
|
7
|
-
const [discountCode, setDiscountCode] = useState("");
|
|
8
|
-
const [discountsAvailable, setDiscountsAvailable] = useState(false);
|
|
9
|
-
const [manualCodeEntryAllowed, setManualCodeEntryAllowed] = useState(false);
|
|
10
|
-
const [autoAppliedDiscount, setAutoAppliedDiscount] = useState(null);
|
|
11
|
-
const [discountsAvailableLoading, setDiscountsAvailableLoading] = useState(false);
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
let cancelled = false;
|
|
14
|
-
async function checkDiscountAvailability() {
|
|
15
|
-
if (!options.discountContext) {
|
|
16
|
-
setDiscountsAvailable(false);
|
|
17
|
-
setManualCodeEntryAllowed(false);
|
|
18
|
-
setAutoAppliedDiscount(null);
|
|
19
|
-
setDiscountsAvailableLoading(false);
|
|
20
|
-
setDiscountUiOpen(false);
|
|
21
|
-
setDiscountCode("");
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
setDiscountsAvailableLoading(true);
|
|
25
|
-
try {
|
|
26
|
-
const res = await options.api.getDiscountsAvailable({
|
|
27
|
-
context: options.discountContext,
|
|
28
|
-
subtotalCents: options.subtotalCents
|
|
29
|
-
});
|
|
30
|
-
if (cancelled) return;
|
|
31
|
-
setDiscountsAvailable(res.hasDiscounts);
|
|
32
|
-
setManualCodeEntryAllowed(res.manualCodeEntryAllowed);
|
|
33
|
-
setAutoAppliedDiscount(res.autoAppliedDiscount);
|
|
34
|
-
if (!res.hasDiscounts || !res.manualCodeEntryAllowed) {
|
|
35
|
-
setDiscountUiOpen(false);
|
|
36
|
-
setDiscountCode("");
|
|
37
|
-
}
|
|
38
|
-
} catch {
|
|
39
|
-
if (cancelled) return;
|
|
40
|
-
setDiscountsAvailable(false);
|
|
41
|
-
setManualCodeEntryAllowed(false);
|
|
42
|
-
setAutoAppliedDiscount(null);
|
|
43
|
-
setDiscountUiOpen(false);
|
|
44
|
-
setDiscountCode("");
|
|
45
|
-
} finally {
|
|
46
|
-
if (!cancelled) setDiscountsAvailableLoading(false);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
checkDiscountAvailability();
|
|
50
|
-
return () => {
|
|
51
|
-
cancelled = true;
|
|
52
|
-
};
|
|
53
|
-
}, [options.api, options.discountContext, options.subtotalCents]);
|
|
54
|
-
return {
|
|
55
|
-
discountUiOpen,
|
|
56
|
-
setDiscountUiOpen,
|
|
57
|
-
discountCode,
|
|
58
|
-
setDiscountCode,
|
|
59
|
-
discountsAvailable,
|
|
60
|
-
manualCodeEntryAllowed,
|
|
61
|
-
autoAppliedDiscount,
|
|
62
|
-
discountsAvailableLoading
|
|
63
|
-
};
|
|
64
|
-
}
|
|
2
|
+
import { assertNever11 } from './chunk-65F47D7Y.mjs';
|
|
3
|
+
import { useReducer, useRef, useCallback, useEffect } from 'react';
|
|
65
4
|
|
|
66
5
|
// ../blocks/src/system/runtime/hooks/usePolling.state.ts
|
|
67
6
|
function createInitialPollingState() {
|
|
@@ -118,7 +57,7 @@ function pollingReducer(state, action) {
|
|
|
118
57
|
case "timeout":
|
|
119
58
|
return state;
|
|
120
59
|
default:
|
|
121
|
-
return
|
|
60
|
+
return assertNever11(state);
|
|
122
61
|
}
|
|
123
62
|
case "polling-timed-out":
|
|
124
63
|
return {
|
|
@@ -127,7 +66,7 @@ function pollingReducer(state, action) {
|
|
|
127
66
|
error: new Error("Polling timed out")
|
|
128
67
|
};
|
|
129
68
|
default:
|
|
130
|
-
return
|
|
69
|
+
return assertNever11(action);
|
|
131
70
|
}
|
|
132
71
|
}
|
|
133
72
|
|
|
@@ -242,4 +181,4 @@ function usePolling(config) {
|
|
|
242
181
|
};
|
|
243
182
|
}
|
|
244
183
|
|
|
245
|
-
export {
|
|
184
|
+
export { usePolling };
|