@riverbankcms/sdk 0.85.0 → 0.89.1
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/{PreviewEditorSidebar-4PH35ZIE.mjs → PreviewEditorSidebar-JDR64FEC.mjs} +3 -3
- package/dist/{PreviewEditorUI-WHMCRJGM.mjs → PreviewEditorUI-67TMJMAF.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +8 -0
- package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
- package/dist/_dts/api/src/endpoints.d.ts +66 -14
- package/dist/_dts/api/src/index.d.ts +5 -2
- package/dist/_dts/api/src/launchReadiness.d.ts +3 -3
- package/dist/_dts/api/src/mailchimpIntegration.d.ts +215 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +35 -15
- package/dist/_dts/api/src/siteInfrastructure.d.ts +0 -14
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteMembers.d.ts +6 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -13
- package/dist/_dts/api/src/types.d.ts +7 -4
- package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- 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/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -288
- 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 +42 -42
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +300 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +63 -3
- 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/fragments/library/newsletterForm.d.ts +53 -1
- package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
- package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +27 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -23
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +11 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/formatting.d.ts +1 -1
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +54 -0
- package/dist/_dts/content-model/src/referenceFields.d.ts +1 -1
- package/dist/_dts/core/src/branded.d.ts +7 -0
- package/dist/_dts/core/src/currency-format.d.ts +37 -2
- package/dist/_dts/core/src/event-pricing.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/site-route-target.d.ts +40 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +705 -17
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -1
- package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
- package/dist/_dts/sdk/src/client/types.d.ts +35 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -0
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +3 -9
- package/dist/_dts/sdk/src/index.d.ts +3 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +7 -18
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -3
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +4 -24
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +45 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -9
- package/dist/_dts/theme-core/src/schema.d.ts +11 -11
- package/dist/{chunk-PYDHOMEO.mjs → chunk-7N46MZHI.mjs} +1 -1
- package/dist/{chunk-ZR2GQK2A.mjs → chunk-7YUAXONX.mjs} +1880 -588
- package/dist/{chunk-4QNLOTES.mjs → chunk-F645A5UV.mjs} +76 -14
- package/dist/{chunk-OCGTXHSO.mjs → chunk-HKJQERFR.mjs} +7 -7
- package/dist/{chunk-NFWGLRZZ.mjs → chunk-TGBJWKMP.mjs} +37 -3
- package/dist/{chunk-WFPYN7KA.mjs → chunk-ZQRBLCW5.mjs} +2 -2
- package/dist/cli/index.mjs +1075 -126
- package/dist/client/{accordion-2UZPBMYM.mjs → accordion-MUCVNGQ7.mjs} +2 -2
- package/dist/client/{bookingForm-36CWQUMV.mjs → bookingForm-PKD6EFIE.mjs} +193 -77
- package/dist/client/bookings.mjs +487 -197
- package/dist/client/{carousel-QH77HR6X.mjs → carousel-3TKQSNJC.mjs} +4 -3
- package/dist/client/cart-6XHSZK23.mjs +19 -0
- package/dist/client/checkout-FVSPM6FI.mjs +19 -0
- package/dist/client/{chunk-ZE5G642V.mjs → chunk-25W2EQUN.mjs} +75 -1
- package/dist/client/chunk-6N7YRNYU.mjs +183 -0
- package/dist/client/{chunk-4OXKTA3D.mjs → chunk-7DH35FGA.mjs} +2 -2
- package/dist/client/{chunk-3C2VTPWI.mjs → chunk-CQKKFEQD.mjs} +363 -66
- package/dist/client/{chunk-7UCLJ5SP.mjs → chunk-EY42X22F.mjs} +4 -7
- package/dist/client/{chunk-SYIJ5JO2.mjs → chunk-FHU6PFPM.mjs} +1 -1
- package/dist/client/{chunk-ZKUO52W3.mjs → chunk-LQFDYWPJ.mjs} +1 -1
- package/dist/client/chunk-RSQWWUAD.mjs +390 -0
- package/dist/client/{chunk-UDNSI5PY.mjs → chunk-STJ2NCQM.mjs} +2 -3
- package/dist/client/{chunk-VGDBVNOO.mjs → chunk-UQFY4AHX.mjs} +511 -406
- package/dist/client/{chunk-F5VRX5Y6.mjs → chunk-VGLXACVK.mjs} +1 -1
- package/dist/client/{chunk-DVNUDUVT.mjs → chunk-WBQG7VJA.mjs} +4 -1
- package/dist/client/{chunk-52CGCQ7B.mjs → chunk-ZJZZA5EP.mjs} +10 -80
- package/dist/client/{chunk-XSV6KW4D.mjs → chunk-ZT5XE7FK.mjs} +1 -1
- package/dist/client/client.mjs +5820 -4782
- package/dist/client/{courseRegistration-TMKU6ABO.mjs → courseRegistration-ATZSYDHM.mjs} +7 -7
- package/dist/client/{eventCalendar-G6TI32X6.mjs → eventCalendar-6T2UGKKP.mjs} +11 -11
- package/dist/client/{eventCombined-SCKEMNAR.mjs → eventCombined-Q4VANXVF.mjs} +11 -11
- package/dist/client/{eventDetails-XPIFXXPK.mjs → eventDetails-DW37E7VW.mjs} +11 -11
- package/dist/client/{eventListing-7QFMEMGT.mjs → eventListing-XURTSAUW.mjs} +11 -11
- package/dist/client/{eventRegistration-TOODSZUI.mjs → eventRegistration-MRKEVAXW.mjs} +11 -11
- package/dist/client/{form-MTCMVCZT.mjs → form-WZZFFGMU.mjs} +3 -3
- package/dist/client/{headerSection-Y5TMR3TW.mjs → headerSection-EQYVQBLM.mjs} +4 -4
- package/dist/client/hooks.mjs +1700 -1412
- package/dist/client/{locationMap-RH2LG7FZ.mjs → locationMap-MFF5VAZR.mjs} +3 -4
- package/dist/client/{newsletterForm-PCAIPFMA.mjs → newsletterForm-JQ77UYIE.mjs} +127 -43
- package/dist/client/{productDetail-OIGDR4YE.mjs → productDetail-25LMT3IZ.mjs} +9 -9
- package/dist/client/{productList-4MA5S2CX.mjs → productList-5ABEMKUG.mjs} +9 -9
- package/dist/client/rendering/client.mjs +3884 -3722
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +6774 -6331
- package/dist/client/shop-OMMQZ6YO.mjs +21 -0
- package/dist/preview-next/before-render.mjs +76 -14
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-chrome.css +56 -9
- package/dist/preview-next/middleware.mjs +76 -14
- package/dist/{sdk-runtime-QLOCYKVU.mjs → sdk-runtime-WNLBZ3ZH.mjs} +6 -6
- package/dist/server/components.mjs +2579 -2548
- package/dist/server/config-validation.mjs +1737 -1461
- package/dist/server/config.mjs +1737 -1461
- package/dist/server/data.mjs +1701 -1413
- package/dist/server/index.mjs +1048 -400
- package/dist/server/next.mjs +3602 -2858
- package/dist/server/page-converter.mjs +2193 -1169
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2770 -2742
- package/dist/server/rendering.mjs +2961 -2886
- package/dist/server/routing.mjs +2186 -1508
- package/dist/server/server.mjs +2237 -1287
- package/dist/server/theme-bridge.mjs +260 -0
- package/dist/styles/index.css +258 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +0 -8
- package/dist/client/cart-X4YK4FTW.mjs +0 -19
- package/dist/client/checkout-OM2BEPWD.mjs +0 -19
- package/dist/client/chunk-3DTWLTXM.mjs +0 -204
- package/dist/client/chunk-I2MMZO53.mjs +0 -6
- package/dist/client/shop-WXSYV5QO.mjs +0 -21
|
@@ -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-UQFY4AHX.mjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -32,6 +32,8 @@ function ModalShell({
|
|
|
32
32
|
children,
|
|
33
33
|
portalRoot,
|
|
34
34
|
portal = false,
|
|
35
|
+
portalWrapperClassName,
|
|
36
|
+
portalWrapperProps,
|
|
35
37
|
overlayClassName,
|
|
36
38
|
modalClassName,
|
|
37
39
|
renderSrOnlyTitle = false,
|
|
@@ -114,7 +116,8 @@ function ModalShell({
|
|
|
114
116
|
if (!portalRoot) {
|
|
115
117
|
return null;
|
|
116
118
|
}
|
|
117
|
-
|
|
119
|
+
const modalNode = portalWrapperClassName || portalWrapperProps ? /* @__PURE__ */ jsx("div", { ...portalWrapperProps, className: portalWrapperClassName, children: modal }) : modal;
|
|
120
|
+
return createPortal(modalNode, portalRoot);
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
// ../blocks/src/system/runtime/shared/utils/checkoutRoute.ts
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { addPassToCommerceCart, useCommerceCart } from './chunk-
|
|
3
|
-
import { CarouselNodeClient } from './chunk-
|
|
4
|
-
import { isRecord } from './chunk-I2MMZO53.mjs';
|
|
2
|
+
import { addPassToCommerceCart, useCommerceCart } from './chunk-VGLXACVK.mjs';
|
|
3
|
+
import { CarouselNodeClient } from './chunk-7DH35FGA.mjs';
|
|
5
4
|
import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
|
|
6
5
|
import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
|
|
7
|
-
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-
|
|
8
|
-
import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-
|
|
9
|
-
import { useBlockApi, FeedbackMessage, BlockApiProvider } from './chunk-
|
|
6
|
+
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-EY42X22F.mjs';
|
|
7
|
+
import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-WBQG7VJA.mjs';
|
|
8
|
+
import { useBlockApi, FeedbackMessage, BlockApiProvider } from './chunk-STJ2NCQM.mjs';
|
|
10
9
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever11, reportWorkflowError, clearWorkflowFeedback } from './chunk-
|
|
12
|
-
import { assertNever, ok, err, getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-
|
|
10
|
+
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever11, reportWorkflowError, clearWorkflowFeedback, unwrapRichTextRoot, createRichTextDocFromMarkdown, isRecord } from './chunk-UQFY4AHX.mjs';
|
|
11
|
+
import { assertNever, ok, err, getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-25W2EQUN.mjs';
|
|
13
12
|
import * as React3 from 'react';
|
|
14
13
|
import React3__default, { useState, useRef, useCallback, useEffect } from 'react';
|
|
15
14
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
16
|
-
import { z } from 'zod';
|
|
17
15
|
|
|
18
16
|
// ../blocks/src/primitives/content/utils/sanitizeHref.ts
|
|
19
17
|
var SAFE_PROTOCOLS = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:"]);
|
|
@@ -124,6 +122,8 @@ function renderDoc(node, key, imageResolveContext) {
|
|
|
124
122
|
return /* @__PURE__ */ jsx("blockquote", { children }, key);
|
|
125
123
|
case "horizontalRule":
|
|
126
124
|
return /* @__PURE__ */ jsx("hr", {}, key);
|
|
125
|
+
case "hardBreak":
|
|
126
|
+
return /* @__PURE__ */ jsx("br", {}, key);
|
|
127
127
|
case "image": {
|
|
128
128
|
const attrs = node.attrs ?? {};
|
|
129
129
|
const src = typeof attrs.src === "string" ? attrs.src.trim() : "";
|
|
@@ -166,82 +166,12 @@ function RichText({ as: Comp = "div", className, doc, path }) {
|
|
|
166
166
|
const resolvedClassName = className?.trim() || DEFAULT_RICH_TEXT_CLASS;
|
|
167
167
|
return /* @__PURE__ */ jsx(Comp, { className: resolvedClassName, ...dataAttributes, children: content });
|
|
168
168
|
}
|
|
169
|
-
var TipTapMarkSchema = z.object({
|
|
170
|
-
type: z.string(),
|
|
171
|
-
attrs: z.record(z.string(), z.unknown()).optional()
|
|
172
|
-
});
|
|
173
|
-
var TipTapNodeSchema = z.lazy(
|
|
174
|
-
() => z.object({
|
|
175
|
-
type: z.string(),
|
|
176
|
-
content: z.array(TipTapNodeSchema).optional(),
|
|
177
|
-
text: z.string().optional(),
|
|
178
|
-
attrs: z.record(z.string(), z.unknown()).optional(),
|
|
179
|
-
marks: z.array(TipTapMarkSchema).optional()
|
|
180
|
-
})
|
|
181
|
-
);
|
|
182
|
-
z.union([
|
|
183
|
-
// Canonical: TipTap document directly
|
|
184
|
-
TipTapNodeSchema,
|
|
185
|
-
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
186
|
-
z.object({
|
|
187
|
-
doc: TipTapNodeSchema
|
|
188
|
-
})
|
|
189
|
-
]);
|
|
190
|
-
z.object({
|
|
191
|
-
type: z.literal("doc"),
|
|
192
|
-
content: z.array(TipTapNodeSchema)
|
|
193
|
-
});
|
|
194
|
-
function unwrapRichTextRoot(value) {
|
|
195
|
-
if (!isRecord(value)) return value;
|
|
196
|
-
if (!("doc" in value)) return value;
|
|
197
|
-
const inner = value.doc;
|
|
198
|
-
if (isRecord(inner) && inner.type === "doc") return inner;
|
|
199
|
-
return value;
|
|
200
|
-
}
|
|
201
169
|
|
|
202
170
|
// ../blocks/src/system/runtime/nodes/richText-coerce.ts
|
|
203
|
-
function parseInlineMarkdown(text) {
|
|
204
|
-
const out = [];
|
|
205
|
-
const pushText = (value, marks) => {
|
|
206
|
-
if (!value) return;
|
|
207
|
-
out.push(
|
|
208
|
-
marks && marks.length > 0 ? { type: "text", text: value, marks } : { type: "text", text: value }
|
|
209
|
-
);
|
|
210
|
-
};
|
|
211
|
-
let rest = text;
|
|
212
|
-
while (rest.length > 0) {
|
|
213
|
-
const start = rest.indexOf("**");
|
|
214
|
-
if (start === -1) {
|
|
215
|
-
pushText(rest);
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
const end = rest.indexOf("**", start + 2);
|
|
219
|
-
if (end === -1) {
|
|
220
|
-
pushText(rest);
|
|
221
|
-
break;
|
|
222
|
-
}
|
|
223
|
-
pushText(rest.slice(0, start));
|
|
224
|
-
pushText(rest.slice(start + 2, end), [{ type: "bold" }]);
|
|
225
|
-
rest = rest.slice(end + 2);
|
|
226
|
-
}
|
|
227
|
-
return out;
|
|
228
|
-
}
|
|
229
|
-
function markdownToTipTapDoc(markdown) {
|
|
230
|
-
const normalized = markdown.replace(/\r\n/g, "\n").trim();
|
|
231
|
-
if (!normalized) return { type: "doc", content: [] };
|
|
232
|
-
const paragraphs = normalized.split(/\n{2,}/).map((p) => p.trim()).filter(Boolean);
|
|
233
|
-
return {
|
|
234
|
-
type: "doc",
|
|
235
|
-
content: paragraphs.map((p) => {
|
|
236
|
-
const inline = parseInlineMarkdown(p);
|
|
237
|
-
return inline.length > 0 ? { type: "paragraph", content: inline } : { type: "paragraph" };
|
|
238
|
-
})
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
171
|
function coerceRichTextDoc(value) {
|
|
242
172
|
const raw = unwrapRichTextRoot(value);
|
|
243
173
|
if (typeof raw === "string") {
|
|
244
|
-
return
|
|
174
|
+
return createRichTextDocFromMarkdown(raw);
|
|
245
175
|
}
|
|
246
176
|
if (isRecord(raw) && typeof raw.type === "string") {
|
|
247
177
|
return raw;
|