@riverbankcms/sdk 0.95.0 → 0.96.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 +27 -4
- package/dist/{PreviewEditorSidebar-6FQYKOSB.mjs → PreviewEditorSidebar-46VT4QVU.mjs} +2 -2
- package/dist/{PreviewEditorUI-NPO2XMFB.mjs → PreviewEditorUI-JD75GE5F.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-MJUSYUFB.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
- package/dist/_dts/block-form/src/client/index.d.ts +1 -1
- package/dist/_dts/block-form/src/fields/types.d.ts +9 -1
- package/dist/_dts/block-form/src/registry/schemas.d.ts +4 -0
- package/dist/_dts/block-form/src/registry/widgets.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/InlineTextField/InlineTextField.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/InlineTextField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldDefaults.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldSchema.d.ts +3 -0
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -0
- package/dist/_dts/blocks/src/bindings/types.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -29631
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -29614
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -29634
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -29627
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -29585
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -29677
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -29655
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +220 -0
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -29655
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -29685
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -29761
- package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +9 -0
- package/dist/_dts/blocks/src/system/inlineText.d.ts +78 -0
- package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -1
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +15 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +188 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/renderInlineText.d.ts +3 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +9 -0
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +30 -0
- package/dist/_dts/content-model/src/templates/types.d.ts +1 -0
- package/dist/_dts/editor/src/inline/FloatingToolbar.d.ts +18 -0
- package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +18 -1
- package/dist/_dts/editor/src/inline/InlineTextEditorStyles.d.ts +1 -0
- package/dist/_dts/editor/src/inline/domParse.d.ts +3 -0
- package/dist/_dts/editor/src/inline/presentation.d.ts +48 -0
- package/dist/_dts/editor/src/inline/selection.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/inline-text/index.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/content.d.ts +56 -0
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +2 -6
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +56 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +14 -0
- package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +46 -0
- package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +22 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +78 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +36 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +21 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +48 -0
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +3 -6
- package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +39 -0
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +8 -3
- package/dist/_dts/sdk/src/config/typed-entries.d.ts +5 -3
- package/dist/_dts/sdk/src/contracts/bindings.d.ts +1 -0
- package/dist/_dts/sdk/src/contracts/content.d.ts +18 -0
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +42 -42
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/schema.d.ts +44 -44
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +16 -16
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
- package/dist/{chunk-K2SJTZMX.mjs → chunk-4TLTV7OB.mjs} +1 -1
- package/dist/{chunk-4A6NWO3X.mjs → chunk-EL55VV6Q.mjs} +47 -7
- package/dist/{chunk-PJPFTVZG.mjs → chunk-VHIMXQ7Z.mjs} +105 -3
- package/dist/{chunk-VZBSD4AJ.mjs → chunk-XMATDBXO.mjs} +1633 -225
- package/dist/cli/index.mjs +2691 -772
- package/dist/cli/init-docs/content/cli-reference.md +43 -4
- package/dist/cli/init-docs/content/content-management.md +22 -0
- package/dist/client/{accordion-LGO4IO5U.mjs → accordion-GUNXIIZR.mjs} +1 -1
- package/dist/client/{bookingForm-MWLS4LGU.mjs → bookingForm-AOU4VHP5.mjs} +3 -3
- package/dist/client/{carousel-6AHNP5HA.mjs → carousel-4QSX2JPC.mjs} +1 -1
- package/dist/client/{cart-CIXGYAZB.mjs → cart-JKN6C4ZB.mjs} +4 -4
- package/dist/client/{checkout-OTX6O3DN.mjs → checkout-YY6YMITW.mjs} +4 -4
- package/dist/client/{chunk-Y2PMKCXO.mjs → chunk-6H27K6AA.mjs} +1 -1
- package/dist/client/{chunk-R3NQTBWE.mjs → chunk-A3YN7M3G.mjs} +1 -1
- package/dist/client/{chunk-TREIML53.mjs → chunk-BFCJZODD.mjs} +3 -3
- package/dist/client/{chunk-INRIT6DP.mjs → chunk-CPKMJVBD.mjs} +5 -5
- package/dist/client/{chunk-V67AT7ZW.mjs → chunk-GWCRCJLB.mjs} +6 -0
- package/dist/client/{chunk-AVBQSUIS.mjs → chunk-H7A6PUGM.mjs} +1 -1
- package/dist/client/{chunk-HOP7MKAZ.mjs → chunk-SY543WZ3.mjs} +1 -1
- package/dist/client/{chunk-MYCXAKWP.mjs → chunk-VJROUYOQ.mjs} +2 -2
- package/dist/client/client.mjs +4007 -3687
- package/dist/client/{courseRegistration-2LU6C3JL.mjs → courseRegistration-UU2KMPSQ.mjs} +3 -3
- package/dist/client/{eventCalendar-OKUSISBZ.mjs → eventCalendar-WIVNS2TM.mjs} +6 -6
- package/dist/client/{eventCombined-CMF6CD4S.mjs → eventCombined-P3G5MW4J.mjs} +6 -6
- package/dist/client/{eventDetails-XYWH7WXI.mjs → eventDetails-2VHJ2RDG.mjs} +6 -6
- package/dist/client/{eventListing-EK5DJTAH.mjs → eventListing-TGO6JI3R.mjs} +6 -6
- package/dist/client/{eventRegistration-XDOSICV6.mjs → eventRegistration-B46HEJES.mjs} +6 -6
- package/dist/client/{form-J6GOHKYG.mjs → form-VKRTFUNQ.mjs} +1 -1
- package/dist/client/{headerSection-C5SYJTRW.mjs → headerSection-XUX4ZJLO.mjs} +2 -2
- package/dist/client/hooks.mjs +20 -3
- package/dist/client/{locationMap-QSQIFVVT.mjs → locationMap-NQFI5MJO.mjs} +2 -2
- package/dist/client/{newsletterForm-47VXJRWK.mjs → newsletterForm-P2GETCQK.mjs} +1 -1
- package/dist/client/{productDetail-5U6ISCC2.mjs → productDetail-7NQ7O5IF.mjs} +4 -4
- package/dist/client/{productList-XDZUMR3P.mjs → productList-RX6ZJ7BL.mjs} +4 -4
- package/dist/client/rendering/client.mjs +3822 -3600
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +1211 -883
- package/dist/client/{shop-ZSZKIY3R.mjs → shop-BHN5AKY6.mjs} +4 -4
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-PHNM7MRD.mjs → sdk-runtime-X2LXQ5IC.mjs} +4 -4
- package/dist/server/components.mjs +3144 -2827
- package/dist/server/config-template-validation.mjs +29 -20
- package/dist/server/config-validation.mjs +22 -4
- package/dist/server/config.mjs +22 -4
- package/dist/server/data.mjs +20 -3
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +3181 -2858
- package/dist/server/page-converter.mjs +20 -3
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3153 -2837
- package/dist/server/rendering.mjs +3168 -2844
- package/dist/server/routing.mjs +21 -4
- package/dist/server/server.mjs +2299 -2188
- package/dist/server/theme-bridge.mjs +43 -0
- package/dist/styles/index.css +44 -0
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-PBEFH5AL.mjs +0 -8
|
@@ -177,11 +177,12 @@ If unrelated local files would be included by a broad scope, stage a temporary c
|
|
|
177
177
|
| `--with-theme` | Also push theme when pushing all content |
|
|
178
178
|
| `--sync-media` | Sync media files from local to remote environment |
|
|
179
179
|
| `--overwrite-media` | When using `--sync-media`, overwrite target media on checksum mismatch |
|
|
180
|
-
| `--merge-remote` | Plan an entries
|
|
180
|
+
| `--merge-remote` | Plan an entries/pages three-way merge for `--env=remote` that preserves remote edits |
|
|
181
181
|
| `--delete-orphaned` | Delete CMS entries not present in local files |
|
|
182
182
|
| `--auto-pull-stale` | Automatically pull stale content and retry push |
|
|
183
183
|
| `--no-meta` | Skip writing `.meta/` and media manifest files (content files still written) |
|
|
184
184
|
| `--diff` | Show human-readable field-level diff with before/after values (requires `--dry-run`) |
|
|
185
|
+
| `--verify-noop` | After an applied push, re-fetch the target and fail if changes remain |
|
|
185
186
|
| `--delete-missing` | **[Deprecated]** Use `--delete-orphaned` instead |
|
|
186
187
|
|
|
187
188
|
**Theme files:**
|
|
@@ -206,9 +207,9 @@ riverbankcms push entries service-tile --env=remote --yes --delete-orphaned
|
|
|
206
207
|
|
|
207
208
|
**Warning:** This is a destructive operation. Always use `--dry-run` first to preview which entries will be deleted.
|
|
208
209
|
|
|
209
|
-
**Remote-aware
|
|
210
|
+
**Remote-aware content merge:**
|
|
210
211
|
|
|
211
|
-
Use `--merge-remote` when pushing entries to production and you want to preserve remote dashboard edits instead of treating local files as the whole source of truth. The CLI compares the last pulled base snapshot, local
|
|
212
|
+
Use `--merge-remote` when pushing entries or pages to production and you want to preserve remote dashboard edits instead of treating local files as the whole source of truth. The CLI compares the last pulled base snapshot, local files, and current remote content, then prints a merge plan. Remote runs still default to dry-run; add `--yes` only after reviewing the plan. Page block changes are treated conservatively as conflicts unless remote blocks are unchanged.
|
|
212
213
|
|
|
213
214
|
```bash
|
|
214
215
|
# Preview a merge for one content type
|
|
@@ -219,9 +220,43 @@ riverbankcms push entries blog-post --env=remote --merge-remote --yes
|
|
|
219
220
|
|
|
220
221
|
# Target a single entry
|
|
221
222
|
riverbankcms push entries blog-post welcome --env=remote --merge-remote --yes
|
|
223
|
+
|
|
224
|
+
# Target a single page
|
|
225
|
+
riverbankcms push pages home --env=remote --merge-remote
|
|
222
226
|
```
|
|
223
227
|
|
|
224
|
-
In v1 this mode
|
|
228
|
+
In v1 this mode supports `entries` and `pages` with `--env=remote`. It rejects `--env=both`, unsupported scopes, `--force`, `--delete-orphaned`, and `--auto-pull-stale`.
|
|
229
|
+
|
|
230
|
+
**Local content edit helpers:**
|
|
231
|
+
|
|
232
|
+
Use `content edit` for local file-backed edits. These commands do not call the CMS. They preview by default and require `--write` to mutate local files.
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Preview removing a block from content/pages/home.json
|
|
236
|
+
riverbankcms content edit remove-page-block home old-hero
|
|
237
|
+
|
|
238
|
+
# Move a page block and write the file
|
|
239
|
+
riverbankcms content edit move-page-block home intro --after hero --write
|
|
240
|
+
|
|
241
|
+
# Set a string field
|
|
242
|
+
riverbankcms content edit set-page-field home title --value "New title" --write
|
|
243
|
+
|
|
244
|
+
# Set a JSON value
|
|
245
|
+
riverbankcms content edit set-page-field home blocks[0].data.count --json-value 3
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
After editing, run `riverbankcms push --dry-run --diff`, then push with `--verify-noop` when ready.
|
|
249
|
+
|
|
250
|
+
**Post-push no-op verification:**
|
|
251
|
+
|
|
252
|
+
Use `--verify-noop` when automation should prove the target CMS compares cleanly after an applied push. Verification re-reads local files from disk, re-fetches the target environment, and fails the command if remaining changes are found.
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
riverbankcms push --yes --verify-noop
|
|
256
|
+
riverbankcms push --env=both --yes --verify-noop
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
`--verify-noop` cannot be combined with `--dry-run`; dry-run already answers the pre-push question. For remote targets, pass `--yes` so the push actually applies before verification. In JSON mode the CLI emits a `verification` object with `clean`, `dirty`, `fetch_failed`, or `unsupported_scope` status. A dirty result usually means the push did not leave the target in sync, but it can also mean another user or process changed remote content between the push and verification fetch.
|
|
225
260
|
|
|
226
261
|
**Stale Content Detection:**
|
|
227
262
|
|
|
@@ -249,6 +284,7 @@ For theme and footer pushes, stale resolution updates only the metadata timestam
|
|
|
249
284
|
- Add `identifier` to media fields (slug only, no extension)
|
|
250
285
|
- Place files at `content/media/<identifier>.<ext>`
|
|
251
286
|
- Run `riverbankcms push` to upload referenced files (default-on)
|
|
287
|
+
- Treat `content/media/*` as local cache/migration working data by default. Generated SDK sites gitignore it, while allowing intentional small fixtures under `content/media/fixtures/`.
|
|
252
288
|
|
|
253
289
|
**Branding workflow (`content/settings.json`):**
|
|
254
290
|
|
|
@@ -1099,4 +1135,7 @@ riverbankcms push --env=remote --yes
|
|
|
1099
1135
|
|
|
1100
1136
|
# Push to both local and remote
|
|
1101
1137
|
riverbankcms push --env=both --yes
|
|
1138
|
+
|
|
1139
|
+
# Push to both and verify both targets are clean afterwards
|
|
1140
|
+
riverbankcms push --env=both --yes --verify-noop
|
|
1102
1141
|
```
|
|
@@ -176,6 +176,27 @@ Rich text images (TipTap JSON) are also identifier-based:
|
|
|
176
176
|
- Store images as `{ type: "image", attrs: { identifier: "..." } }` (no persisted `attrs.src`)
|
|
177
177
|
- External `attrs.src` URLs are auto-imported into CMS media on write
|
|
178
178
|
|
|
179
|
+
### `content/media` is local cache by default
|
|
180
|
+
|
|
181
|
+
The generated SDK site `.gitignore` treats `content/media/*` as local cache and
|
|
182
|
+
migration working data by default. This prevents large downloaded files, such as
|
|
183
|
+
audio libraries or environment-clone media, from being staged accidentally. The
|
|
184
|
+
portable source of truth is the media identifier in content JSON; local files are
|
|
185
|
+
only the bytes used by pull/push workflows.
|
|
186
|
+
|
|
187
|
+
If a project intentionally wants to version a few small media fixtures, place
|
|
188
|
+
them under `content/media/fixtures/`. That directory is unignored by the generated
|
|
189
|
+
pattern. For existing SDK repos that already committed local media, opt in to the
|
|
190
|
+
new default with:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
git rm --cached -r content/media
|
|
194
|
+
git add .gitignore
|
|
195
|
+
git commit -m "Treat content/media as local cache"
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Review the staged diff before committing if you keep intentional fixtures.
|
|
199
|
+
|
|
179
200
|
### Managing Site Logo and Favicon
|
|
180
201
|
|
|
181
202
|
Use `content/settings.json` as the repo-managed source of truth for branding:
|
|
@@ -409,6 +430,7 @@ Notes:
|
|
|
409
430
|
|
|
410
431
|
- `--sync-media` is **identifier + checksum** based. If the target already has an identifier with different bytes, the command fails unless you pass `--overwrite-media`.
|
|
411
432
|
- When pulling from remote, `--sync-media` may need to **write to the source CMS** to backfill missing identifiers, so remote sync requires `--yes`.
|
|
433
|
+
- Local media bytes live under `content/media/`, which is treated as cache/migration working data by default in generated SDK sites.
|
|
412
434
|
|
|
413
435
|
#### Promote local files → production CMS
|
|
414
436
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { buildBookingPaymentSelectionViewModel, usePolling } from './chunk-
|
|
2
|
+
import { buildBookingPaymentSelectionViewModel, usePolling } from './chunk-VJROUYOQ.mjs';
|
|
3
3
|
import { SpinnerNode } from './chunk-OLAOAZEO.mjs';
|
|
4
4
|
import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
|
|
5
|
-
import { scrollToBlock, useDiscountCodeUi, buildCheckoutReturnUrls, DiscountCodeDisclosure } from './chunk-
|
|
5
|
+
import { scrollToBlock, useDiscountCodeUi, buildCheckoutReturnUrls, DiscountCodeDisclosure } from './chunk-A3YN7M3G.mjs';
|
|
6
6
|
import { FieldValidationMessage, getFieldValidationControlProps } from './chunk-3DCJ45Z2.mjs';
|
|
7
7
|
import './chunk-WBQG7VJA.mjs';
|
|
8
8
|
import { isSpamProtectionEnabled, getChallengeUrl, AltchaWidget } from './chunk-LJCX6V7Q.mjs';
|
|
9
9
|
import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-TNGL2WJF.mjs';
|
|
10
10
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, getBookingServiceSlidingScale, formatBookingCentsAsCurrencyInput, parseBookingCurrencyInputToCents, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, isBookingServiceSlidingAmountInRange, clearWorkflowFeedback, reportWorkflowError, reportWorkflowSuccess, okWith, err } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, getBookingServiceSlidingScale, formatBookingCentsAsCurrencyInput, parseBookingCurrencyInputToCents, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, isBookingServiceSlidingAmountInRange, clearWorkflowFeedback, reportWorkflowError, reportWorkflowSuccess, okWith, err } from './chunk-GWCRCJLB.mjs';
|
|
12
12
|
import { resolveBookingTimeZoneId, DEFAULT_BOOKING_TIME_ZONE, unsafeAsFormId, unsafeAsAppointmentResourceId, unsafeAsCustomerPassId, unsafeAsAppointmentServiceId, formatLocalScheduleDate, addLocalScheduleDays, parseBookingLocalDate, unsafeAsPassId, formatCurrencyAmount, formatBookingInstant } from './chunk-PCHACQEB.mjs';
|
|
13
13
|
import React2, { useRef, useState, useMemo, useReducer, useEffect, useCallback, useLayoutEffect } from 'react';
|
|
14
14
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizeCarouselProps, CarouselNodeClient } from './chunk-JNE6UI6U.mjs';
|
|
2
2
|
import './chunk-6N7YRNYU.mjs';
|
|
3
3
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
4
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
4
|
+
import { defineIslandPropsDecoder } from './chunk-GWCRCJLB.mjs';
|
|
5
5
|
import './chunk-PCHACQEB.mjs';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { mountShopBlockIsland, CartClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, CartClient } from './chunk-BFCJZODD.mjs';
|
|
2
|
+
import './chunk-H7A6PUGM.mjs';
|
|
3
3
|
import './chunk-JNE6UI6U.mjs';
|
|
4
4
|
import './chunk-6N7YRNYU.mjs';
|
|
5
5
|
import './chunk-L4J5Y62O.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-A3YN7M3G.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-WBQG7VJA.mjs';
|
|
9
9
|
import './chunk-TNGL2WJF.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-GWCRCJLB.mjs';
|
|
12
12
|
import './chunk-PCHACQEB.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/cart.tsx
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { mountShopBlockIsland, CheckoutClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, CheckoutClient } from './chunk-BFCJZODD.mjs';
|
|
2
|
+
import './chunk-H7A6PUGM.mjs';
|
|
3
3
|
import './chunk-JNE6UI6U.mjs';
|
|
4
4
|
import './chunk-6N7YRNYU.mjs';
|
|
5
5
|
import './chunk-L4J5Y62O.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-A3YN7M3G.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-WBQG7VJA.mjs';
|
|
9
9
|
import './chunk-TNGL2WJF.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-GWCRCJLB.mjs';
|
|
12
12
|
import './chunk-PCHACQEB.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/checkout.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useBlockApi } from './chunk-TNGL2WJF.mjs';
|
|
3
|
-
import { themeButtonClassName, assertNever } from './chunk-
|
|
3
|
+
import { themeButtonClassName, assertNever } from './chunk-GWCRCJLB.mjs';
|
|
4
4
|
import { resolvePlanningDateInput, formatBookingPriceDisplay } from './chunk-PCHACQEB.mjs';
|
|
5
5
|
import { useState, useReducer, useSyncExternalStore, useEffect } from 'react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { FeedbackMessage, discountAvailabilityHasDiscounts, getAutoAppliedDiscountPreview, discountAvailabilityAllowsManualEntry } from './chunk-TNGL2WJF.mjs';
|
|
3
|
-
import { themeButtonClassName } from './chunk-
|
|
3
|
+
import { themeButtonClassName } from './chunk-GWCRCJLB.mjs';
|
|
4
4
|
import { formatCurrencyAmount, clsx_default } from './chunk-PCHACQEB.mjs';
|
|
5
5
|
import { useReducer, useEffect, useId, useRef } from 'react';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { addPassToCommerceCart, useCommerceCart } from './chunk-
|
|
2
|
+
import { addPassToCommerceCart, useCommerceCart } from './chunk-H7A6PUGM.mjs';
|
|
3
3
|
import { CarouselNodeClient } from './chunk-JNE6UI6U.mjs';
|
|
4
4
|
import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
|
|
5
|
-
import { useDiscountCodeUi, createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-
|
|
5
|
+
import { useDiscountCodeUi, createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-A3YN7M3G.mjs';
|
|
6
6
|
import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-WBQG7VJA.mjs';
|
|
7
7
|
import { useBlockApi, FeedbackMessage, BlockApiProvider, discountAvailabilityHasDiscounts, discountAvailabilityAllowsManualEntry, getAutoAppliedDiscountPreview } from './chunk-TNGL2WJF.mjs';
|
|
8
8
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
9
|
-
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever as assertNever$1, reportWorkflowError, clearWorkflowFeedback, unwrapRichTextRoot, createRichTextDocFromMarkdown, isRecord } from './chunk-
|
|
9
|
+
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever as assertNever$1, reportWorkflowError, clearWorkflowFeedback, unwrapRichTextRoot, createRichTextDocFromMarkdown, isRecord } from './chunk-GWCRCJLB.mjs';
|
|
10
10
|
import { assertNever, ok, err, getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-PCHACQEB.mjs';
|
|
11
11
|
import * as React3 from 'react';
|
|
12
12
|
import React3__default, { useState, useRef, useCallback, useEffect } from 'react';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { LeafletStaticMap } from './chunk-
|
|
3
|
-
import { resolveCoursePricingState, useWaitlistClaim, MagicLinkForm, formatCoursePriceAmount, formatCoursePriceDisplay } from './chunk-
|
|
2
|
+
import { LeafletStaticMap } from './chunk-SY543WZ3.mjs';
|
|
3
|
+
import { resolveCoursePricingState, useWaitlistClaim, MagicLinkForm, formatCoursePriceAmount, formatCoursePriceDisplay } from './chunk-6H27K6AA.mjs';
|
|
4
4
|
import { CreditCard, Ticket, Star, Sparkles } from './chunk-6N7YRNYU.mjs';
|
|
5
|
-
import { usePolling, buildBookingPaymentSelectionViewModel } from './chunk-
|
|
5
|
+
import { usePolling, buildBookingPaymentSelectionViewModel } from './chunk-VJROUYOQ.mjs';
|
|
6
6
|
import { SpinnerNode } from './chunk-OLAOAZEO.mjs';
|
|
7
|
-
import { createBodyThemePortalRoot, TabBarFragment, useDiscountCodeUi, logoutPortal, consumeSearchParam, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, LoggedInAsUser, CheckIcon } from './chunk-
|
|
7
|
+
import { createBodyThemePortalRoot, TabBarFragment, useDiscountCodeUi, logoutPortal, consumeSearchParam, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, LoggedInAsUser, CheckIcon } from './chunk-A3YN7M3G.mjs';
|
|
8
8
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
9
9
|
import { ModalShell } from './chunk-WBQG7VJA.mjs';
|
|
10
10
|
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-LJCX6V7Q.mjs';
|
|
11
11
|
import { useBlockApi, FeedbackMessage } from './chunk-TNGL2WJF.mjs';
|
|
12
|
-
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, WIZARD_STEPS, getWizardStepsForContext, getStepNumber, formatEventPriceDisplay, resolveRuntimeEventPricing, formatEventPrice, formatEventDateParts, resolveEventLinkProps, DateTimeTile, assertNever, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, toRegistrationEvents, isEventContentType, findPreSelectedEvent, resolveRegistrationTarget, findEventByOccurrenceId, resolveEventRequiresPayment, resolveDiscountContext } from './chunk-
|
|
12
|
+
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, WIZARD_STEPS, getWizardStepsForContext, getStepNumber, formatEventPriceDisplay, resolveRuntimeEventPricing, formatEventPrice, formatEventDateParts, resolveEventLinkProps, DateTimeTile, assertNever, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, toRegistrationEvents, isEventContentType, findPreSelectedEvent, resolveRegistrationTarget, findEventByOccurrenceId, resolveEventRequiresPayment, resolveDiscountContext } from './chunk-GWCRCJLB.mjs';
|
|
13
13
|
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatCurrencyAmount, formatBookingDate, formatBookingTime } from './chunk-PCHACQEB.mjs';
|
|
14
14
|
import React9, { createContext, useId, useMemo, useReducer, useState, useRef, useEffect, useCallback, useContext } from 'react';
|
|
15
15
|
import { createPortal } from 'react-dom';
|
|
@@ -2587,6 +2587,11 @@ var textFieldSchema = baseFieldSchema.extend({
|
|
|
2587
2587
|
var richTextFieldSchema = baseFieldSchema.extend({
|
|
2588
2588
|
type: z.literal("richText")
|
|
2589
2589
|
});
|
|
2590
|
+
var inlineTextFieldSchema = baseFieldSchema.extend({
|
|
2591
|
+
type: z.literal("inlineText"),
|
|
2592
|
+
maxLength: z.number().int().positive().optional(),
|
|
2593
|
+
plainTextField: z.string().min(1).optional()
|
|
2594
|
+
});
|
|
2590
2595
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
2591
2596
|
type: z.literal("media"),
|
|
2592
2597
|
// Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
|
|
@@ -2909,6 +2914,7 @@ function getFieldSchemaInternal() {
|
|
|
2909
2914
|
_fieldSchemaInternal = z.discriminatedUnion("type", [
|
|
2910
2915
|
textFieldSchema,
|
|
2911
2916
|
richTextFieldSchema,
|
|
2917
|
+
inlineTextFieldSchema,
|
|
2912
2918
|
mediaFieldSchema,
|
|
2913
2919
|
fileFieldSchema,
|
|
2914
2920
|
booleanFieldSchema,
|
|
@@ -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-GWCRCJLB.mjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { formatPrice } from './chunk-
|
|
3
|
-
import { assertNever } from './chunk-
|
|
2
|
+
import { formatPrice } from './chunk-A3YN7M3G.mjs';
|
|
3
|
+
import { assertNever } from './chunk-GWCRCJLB.mjs';
|
|
4
4
|
import { resolveFlexibleBalanceInitialPaymentCents, resolveFlexibleBalanceDueAt, getBookingInstalmentDepositRefundability, splitAmountWithRemainderInFirst, addIntervalPreservingMonthAnchor, clampConfiguredAmount, getBookingInstalmentPlanIntervalCount, omitZeroAmountFutureRows } from './chunk-PCHACQEB.mjs';
|
|
5
5
|
import { useReducer, useRef, useCallback, useEffect } from 'react';
|
|
6
6
|
|