@riverbankcms/sdk 0.77.0 → 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-XSX7QKHQ.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
- package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +194 -184
- 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/customBlockRegistry.d.ts +20 -1
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- 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/blocks/site-header.d.ts +2 -2
- 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/fieldValidation/index.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/components/multi-step/runtimeFormValidation.d.ts +28 -0
- 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/layout.d.ts +4 -4
- 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/contracts/theme.d.ts +1 -1
- 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/rendering/components/Layout.d.ts +2 -2
- 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 +63 -51
- 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 +90 -48
- 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 +25 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +35 -7
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +96 -34
- 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-EAWHBECW.mjs → chunk-F7RTCZYN.mjs} +229 -50
- package/dist/{chunk-GSQX43EZ.mjs → chunk-NIDXI46P.mjs} +22 -41
- package/dist/{chunk-WLQBJN2Z.mjs → chunk-OECWLDHN.mjs} +4538 -1911
- package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
- package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
- package/dist/{chunk-ANKDYZ2E.mjs → chunk-TXDES5P2.mjs} +2 -2
- package/dist/cli/index.mjs +2036 -594
- 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 +8983 -6152
- 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 +1388 -427
- 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 +7395 -4767
- 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-Q6MTR4KL.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
- package/dist/server/components.mjs +4175 -2480
- package/dist/server/config-validation.mjs +1619 -658
- package/dist/server/config.mjs +1619 -658
- package/dist/server/data.mjs +1388 -427
- package/dist/server/index.mjs +488 -246
- package/dist/server/next.mjs +5607 -3354
- package/dist/server/page-converter.mjs +912 -259
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4176 -2481
- package/dist/server/rendering.mjs +4194 -2486
- package/dist/server/routing.mjs +2078 -639
- package/dist/server/server.mjs +1886 -685
- package/dist/server/theme-bridge.mjs +4441 -1300
- package/dist/server/theme.mjs +89 -12
- package/dist/styles/index.css +1576 -1083
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.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
|
@@ -364,13 +364,13 @@ export declare const formFieldSchema: z.ZodObject<{
|
|
|
364
364
|
date: "date";
|
|
365
365
|
time: "time";
|
|
366
366
|
email: "email";
|
|
367
|
-
url: "url";
|
|
368
|
-
select: "select";
|
|
369
|
-
textarea: "textarea";
|
|
370
367
|
text: "text";
|
|
371
|
-
|
|
372
|
-
|
|
368
|
+
textarea: "textarea";
|
|
369
|
+
select: "select";
|
|
373
370
|
checkbox: "checkbox";
|
|
371
|
+
radio: "radio";
|
|
372
|
+
url: "url";
|
|
373
|
+
tel: "tel";
|
|
374
374
|
consent: "consent";
|
|
375
375
|
}>;
|
|
376
376
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -425,13 +425,13 @@ declare const bookingQuestionScalarFieldSchema: z.ZodObject<{
|
|
|
425
425
|
date: "date";
|
|
426
426
|
time: "time";
|
|
427
427
|
email: "email";
|
|
428
|
-
url: "url";
|
|
429
|
-
select: "select";
|
|
430
|
-
textarea: "textarea";
|
|
431
428
|
text: "text";
|
|
432
|
-
|
|
433
|
-
|
|
429
|
+
textarea: "textarea";
|
|
430
|
+
select: "select";
|
|
434
431
|
checkbox: "checkbox";
|
|
432
|
+
radio: "radio";
|
|
433
|
+
url: "url";
|
|
434
|
+
tel: "tel";
|
|
435
435
|
}>;
|
|
436
436
|
}, z.core.$strict>;
|
|
437
437
|
declare const bookingQuestionDocumentUploadFieldSchema: z.ZodObject<{
|
|
@@ -481,13 +481,13 @@ export declare const bookingQuestionFieldSchema: z.ZodDiscriminatedUnion<[z.ZodO
|
|
|
481
481
|
date: "date";
|
|
482
482
|
time: "time";
|
|
483
483
|
email: "email";
|
|
484
|
-
url: "url";
|
|
485
|
-
select: "select";
|
|
486
|
-
textarea: "textarea";
|
|
487
484
|
text: "text";
|
|
488
|
-
|
|
489
|
-
|
|
485
|
+
textarea: "textarea";
|
|
486
|
+
select: "select";
|
|
490
487
|
checkbox: "checkbox";
|
|
488
|
+
radio: "radio";
|
|
489
|
+
url: "url";
|
|
490
|
+
tel: "tel";
|
|
491
491
|
}>;
|
|
492
492
|
}, z.core.$strict>, z.ZodObject<{
|
|
493
493
|
id: z.ZodString;
|
|
@@ -540,13 +540,13 @@ export declare const bookingQuestionsSectionSchema: z.ZodObject<{
|
|
|
540
540
|
date: "date";
|
|
541
541
|
time: "time";
|
|
542
542
|
email: "email";
|
|
543
|
-
url: "url";
|
|
544
|
-
select: "select";
|
|
545
|
-
textarea: "textarea";
|
|
546
543
|
text: "text";
|
|
547
|
-
|
|
548
|
-
|
|
544
|
+
textarea: "textarea";
|
|
545
|
+
select: "select";
|
|
549
546
|
checkbox: "checkbox";
|
|
547
|
+
radio: "radio";
|
|
548
|
+
url: "url";
|
|
549
|
+
tel: "tel";
|
|
550
550
|
}>;
|
|
551
551
|
}, z.core.$strict>, z.ZodObject<{
|
|
552
552
|
id: z.ZodString;
|
|
@@ -602,13 +602,13 @@ export declare const bookingQuestionsDetailedSchemaSchema: z.ZodObject<{
|
|
|
602
602
|
date: "date";
|
|
603
603
|
time: "time";
|
|
604
604
|
email: "email";
|
|
605
|
-
url: "url";
|
|
606
|
-
select: "select";
|
|
607
|
-
textarea: "textarea";
|
|
608
605
|
text: "text";
|
|
609
|
-
|
|
610
|
-
|
|
606
|
+
textarea: "textarea";
|
|
607
|
+
select: "select";
|
|
611
608
|
checkbox: "checkbox";
|
|
609
|
+
radio: "radio";
|
|
610
|
+
url: "url";
|
|
611
|
+
tel: "tel";
|
|
612
612
|
}>;
|
|
613
613
|
}, z.core.$strict>, z.ZodObject<{
|
|
614
614
|
id: z.ZodString;
|
|
@@ -646,13 +646,13 @@ export declare const formSchemaSchema: z.ZodObject<{
|
|
|
646
646
|
date: "date";
|
|
647
647
|
time: "time";
|
|
648
648
|
email: "email";
|
|
649
|
-
url: "url";
|
|
650
|
-
select: "select";
|
|
651
|
-
textarea: "textarea";
|
|
652
649
|
text: "text";
|
|
653
|
-
|
|
654
|
-
|
|
650
|
+
textarea: "textarea";
|
|
651
|
+
select: "select";
|
|
655
652
|
checkbox: "checkbox";
|
|
653
|
+
radio: "radio";
|
|
654
|
+
url: "url";
|
|
655
|
+
tel: "tel";
|
|
656
656
|
consent: "consent";
|
|
657
657
|
}>;
|
|
658
658
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -705,13 +705,13 @@ export declare const bookingQuestionsFlatSchemaSchema: z.ZodObject<{
|
|
|
705
705
|
date: "date";
|
|
706
706
|
time: "time";
|
|
707
707
|
email: "email";
|
|
708
|
-
url: "url";
|
|
709
|
-
select: "select";
|
|
710
|
-
textarea: "textarea";
|
|
711
708
|
text: "text";
|
|
712
|
-
|
|
713
|
-
|
|
709
|
+
textarea: "textarea";
|
|
710
|
+
select: "select";
|
|
714
711
|
checkbox: "checkbox";
|
|
712
|
+
radio: "radio";
|
|
713
|
+
url: "url";
|
|
714
|
+
tel: "tel";
|
|
715
715
|
}>;
|
|
716
716
|
}, z.core.$strict>, z.ZodObject<{
|
|
717
717
|
id: z.ZodString;
|
|
@@ -763,13 +763,13 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
763
763
|
date: "date";
|
|
764
764
|
time: "time";
|
|
765
765
|
email: "email";
|
|
766
|
-
url: "url";
|
|
767
|
-
select: "select";
|
|
768
|
-
textarea: "textarea";
|
|
769
766
|
text: "text";
|
|
770
|
-
|
|
771
|
-
|
|
767
|
+
textarea: "textarea";
|
|
768
|
+
select: "select";
|
|
772
769
|
checkbox: "checkbox";
|
|
770
|
+
radio: "radio";
|
|
771
|
+
url: "url";
|
|
772
|
+
tel: "tel";
|
|
773
773
|
}>;
|
|
774
774
|
}, z.core.$strict>, z.ZodObject<{
|
|
775
775
|
id: z.ZodString;
|
|
@@ -824,13 +824,13 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
824
824
|
date: "date";
|
|
825
825
|
time: "time";
|
|
826
826
|
email: "email";
|
|
827
|
-
url: "url";
|
|
828
|
-
select: "select";
|
|
829
|
-
textarea: "textarea";
|
|
830
827
|
text: "text";
|
|
831
|
-
|
|
832
|
-
|
|
828
|
+
textarea: "textarea";
|
|
829
|
+
select: "select";
|
|
833
830
|
checkbox: "checkbox";
|
|
831
|
+
radio: "radio";
|
|
832
|
+
url: "url";
|
|
833
|
+
tel: "tel";
|
|
834
834
|
}>;
|
|
835
835
|
}, z.core.$strict>, z.ZodObject<{
|
|
836
836
|
id: z.ZodString;
|
|
@@ -900,13 +900,13 @@ export declare const createFormPayloadSchema: z.ZodObject<{
|
|
|
900
900
|
date: "date";
|
|
901
901
|
time: "time";
|
|
902
902
|
email: "email";
|
|
903
|
-
url: "url";
|
|
904
|
-
select: "select";
|
|
905
|
-
textarea: "textarea";
|
|
906
903
|
text: "text";
|
|
907
|
-
|
|
908
|
-
|
|
904
|
+
textarea: "textarea";
|
|
905
|
+
select: "select";
|
|
909
906
|
checkbox: "checkbox";
|
|
907
|
+
radio: "radio";
|
|
908
|
+
url: "url";
|
|
909
|
+
tel: "tel";
|
|
910
910
|
consent: "consent";
|
|
911
911
|
}>;
|
|
912
912
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type AssetsInUseStage = 'draft' | 'published';
|
|
2
|
+
export type AssetsInUseLocationLike = Readonly<{
|
|
3
|
+
kind: 'pageBlock';
|
|
4
|
+
pageDraftPath?: string | null;
|
|
5
|
+
pagePublishedPath?: string | null;
|
|
6
|
+
pageTitle?: string | null;
|
|
7
|
+
stage: AssetsInUseStage;
|
|
8
|
+
blockKind: string;
|
|
9
|
+
}> | Readonly<{
|
|
10
|
+
kind: 'contentEntry';
|
|
11
|
+
routeDraftPath?: string | null;
|
|
12
|
+
routePublishedPath?: string | null;
|
|
13
|
+
entryTitle: string;
|
|
14
|
+
stage: AssetsInUseStage;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'productFileDownload';
|
|
17
|
+
productTitle: string;
|
|
18
|
+
}>;
|
|
19
|
+
export type AssetsInUseItemLike = Readonly<{
|
|
20
|
+
usedCount: number;
|
|
21
|
+
}>;
|
|
22
|
+
export type AssetsInUseResponseLike<TItem extends AssetsInUseItemLike> = Readonly<{
|
|
23
|
+
items: readonly TItem[];
|
|
24
|
+
}>;
|
|
25
|
+
export type AssetsInUseSummary<TItem extends AssetsInUseItemLike> = Readonly<{
|
|
26
|
+
usedItems: readonly TItem[];
|
|
27
|
+
totalAssets: number;
|
|
28
|
+
totalLocations: number;
|
|
29
|
+
totalAssetLabel: 'item' | 'items';
|
|
30
|
+
totalLocationLabel: 'place' | 'places';
|
|
31
|
+
}>;
|
|
32
|
+
export declare function formatMediaUsageStage(stage: AssetsInUseStage): string;
|
|
33
|
+
export declare function mediaUsageLocationLabel(location: AssetsInUseLocationLike): string;
|
|
34
|
+
export declare function summarizeAssetsInUse<TItem extends AssetsInUseItemLike>(usage: AssetsInUseResponseLike<TItem> | null): AssetsInUseSummary<TItem>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type MediaUsageCheckItemWithCount = Readonly<{
|
|
2
|
+
usedCount: number;
|
|
3
|
+
}>;
|
|
4
|
+
export type MediaUsageCheckResponseWithCounts = Readonly<{
|
|
5
|
+
items: readonly MediaUsageCheckItemWithCount[];
|
|
6
|
+
}>;
|
|
7
|
+
export type BulkDeleteResultLike = Readonly<{
|
|
8
|
+
deleted: number;
|
|
9
|
+
failed: number;
|
|
10
|
+
}>;
|
|
11
|
+
export type BulkDeleteOptions = Readonly<{
|
|
12
|
+
deleteObjects?: boolean;
|
|
13
|
+
cascadeLabels?: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const BULK_DELETE_IN_PROGRESS_MESSAGE = "Delete already in progress";
|
|
16
|
+
export type BulkDeleteCompletionToast = Readonly<{
|
|
17
|
+
kind: 'success';
|
|
18
|
+
message: string;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'error';
|
|
21
|
+
message: string;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function hasMediaUsage(response: MediaUsageCheckResponseWithCounts): boolean;
|
|
24
|
+
export declare function planBulkDeleteCompletionToast(result: BulkDeleteResultLike): BulkDeleteCompletionToast;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type UploadReviewTargetLike<TAsset> = Readonly<{
|
|
2
|
+
status: string;
|
|
3
|
+
asset?: TAsset | null;
|
|
4
|
+
}>;
|
|
5
|
+
export type CanonicalCropTarget<TAsset, TUpload> = Readonly<{
|
|
6
|
+
kind: 'upload';
|
|
7
|
+
upload: TUpload;
|
|
8
|
+
asset: TAsset;
|
|
9
|
+
}> | Readonly<{
|
|
10
|
+
kind: 'asset';
|
|
11
|
+
asset: TAsset;
|
|
12
|
+
}>;
|
|
13
|
+
type CanonicalCropDialogState<TAsset, TUpload> = Readonly<{
|
|
14
|
+
kind: 'closed';
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'editing';
|
|
17
|
+
target: CanonicalCropTarget<TAsset, TUpload>;
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
kind: 'saving';
|
|
20
|
+
target: CanonicalCropTarget<TAsset, TUpload>;
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
kind: 'error';
|
|
23
|
+
target: CanonicalCropTarget<TAsset, TUpload>;
|
|
24
|
+
message: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type CanonicalCropReviewState<TAsset, TUpload> = Readonly<{
|
|
27
|
+
reviewingIds: ReadonlySet<string>;
|
|
28
|
+
dialog: CanonicalCropDialogState<TAsset, TUpload>;
|
|
29
|
+
}>;
|
|
30
|
+
export type CanonicalCropDialogView<TAsset, TUpload> = Readonly<{
|
|
31
|
+
kind: 'closed';
|
|
32
|
+
asset: null;
|
|
33
|
+
error: null;
|
|
34
|
+
saving: false;
|
|
35
|
+
target: null;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
kind: 'open';
|
|
38
|
+
asset: TAsset;
|
|
39
|
+
error: string | null;
|
|
40
|
+
saving: boolean;
|
|
41
|
+
target: CanonicalCropTarget<TAsset, TUpload>;
|
|
42
|
+
}>;
|
|
43
|
+
export type CanonicalCropReviewAction<TAsset, TUpload> = Readonly<{
|
|
44
|
+
type: 'mark-reviewing';
|
|
45
|
+
uploadId: string;
|
|
46
|
+
reviewing: boolean;
|
|
47
|
+
}> | Readonly<{
|
|
48
|
+
type: 'open-crop';
|
|
49
|
+
target: CanonicalCropTarget<TAsset, TUpload>;
|
|
50
|
+
}> | Readonly<{
|
|
51
|
+
type: 'close-crop';
|
|
52
|
+
}> | Readonly<{
|
|
53
|
+
type: 'submit-crop';
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
type: 'crop-failed';
|
|
56
|
+
message: string;
|
|
57
|
+
}> | Readonly<{
|
|
58
|
+
type: 'crop-completed';
|
|
59
|
+
}>;
|
|
60
|
+
export declare function createInitialCanonicalCropReviewState<TAsset, TUpload>(): CanonicalCropReviewState<TAsset, TUpload>;
|
|
61
|
+
export declare function isReviewReady<TAsset, TUpload extends UploadReviewTargetLike<TAsset>>(upload: TUpload): upload is TUpload & {
|
|
62
|
+
asset: TAsset;
|
|
63
|
+
};
|
|
64
|
+
export declare function canonicalCropReviewReducer<TAsset, TUpload>(state: CanonicalCropReviewState<TAsset, TUpload>, action: CanonicalCropReviewAction<TAsset, TUpload>): CanonicalCropReviewState<TAsset, TUpload>;
|
|
65
|
+
export declare function getCanonicalCropDialogView<TAsset, TUpload>(state: CanonicalCropReviewState<TAsset, TUpload>): CanonicalCropDialogView<TAsset, TUpload>;
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type MediaClassifyJobStatus = 'pending' | 'processing' | 'completed' | 'failed';
|
|
2
|
+
export type ClassifySummary = Readonly<{
|
|
3
|
+
processed: number;
|
|
4
|
+
skipped: number;
|
|
5
|
+
failures: number;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const EMPTY_CLASSIFY_SUMMARY: ClassifySummary;
|
|
8
|
+
export type ClassifyJobState = Readonly<{
|
|
9
|
+
id: string;
|
|
10
|
+
status: MediaClassifyJobStatus;
|
|
11
|
+
summary: ClassifySummary;
|
|
12
|
+
completed: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
export type ClassifyRunJobLike = Readonly<{
|
|
15
|
+
id: string;
|
|
16
|
+
status: MediaClassifyJobStatus;
|
|
17
|
+
}>;
|
|
18
|
+
export type ClassifyRunPayloadLike = Readonly<{
|
|
19
|
+
job?: ClassifyRunJobLike | null;
|
|
20
|
+
summary?: ClassifySummary | null;
|
|
21
|
+
completed?: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
export type ClassifyWorkflowResult = Readonly<{
|
|
24
|
+
kind: 'nothingToClassify';
|
|
25
|
+
reason: string;
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
kind: 'completed';
|
|
28
|
+
summary: ClassifySummary;
|
|
29
|
+
job: ClassifyJobState;
|
|
30
|
+
}>;
|
|
31
|
+
export type ClassifyCompletionToast = Readonly<{
|
|
32
|
+
kind: 'none';
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
kind: 'success';
|
|
35
|
+
message: string;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
kind: 'warning';
|
|
38
|
+
message: string;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
kind: 'info';
|
|
41
|
+
message: string;
|
|
42
|
+
}>;
|
|
43
|
+
export declare function normalizeClassifySummary(summary: ClassifySummary | null | undefined): ClassifySummary;
|
|
44
|
+
export declare function createCompletedClassifyResult(input: {
|
|
45
|
+
fallbackJobId: string;
|
|
46
|
+
runPayload: ClassifyRunPayloadLike;
|
|
47
|
+
}): ClassifyWorkflowResult;
|
|
48
|
+
export declare function planClassifyCompletionToast(result: ClassifyWorkflowResult): ClassifyCompletionToast;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function filenameExtension(filename: string): string | null;
|
|
@@ -14,7 +14,16 @@ export * from './fileDownloadResolution';
|
|
|
14
14
|
export * from './fileAssetDeletion';
|
|
15
15
|
export * from './fileAssetCompatibility';
|
|
16
16
|
export * from './fileMimeDetection';
|
|
17
|
+
export * from './filename';
|
|
18
|
+
export * from './uploadVerificationContract';
|
|
17
19
|
export * from './videoPrep';
|
|
20
|
+
export * from './videoAssetRepair';
|
|
21
|
+
export * from './canonicalCropReview';
|
|
22
|
+
export * from './mediaAssetUsageStatus';
|
|
23
|
+
export * from './assetsInUseSummary';
|
|
24
|
+
export * from './bulkDeletePlanning';
|
|
25
|
+
export * from './classifyAllPlanning';
|
|
26
|
+
export * from './mediaSettingsState';
|
|
18
27
|
export * from './videoSlotPolicy';
|
|
19
28
|
export * from './identifiers';
|
|
20
29
|
export { getImageUrl, getDirectImageUrl, getDirectImageUrlForRelativePath, getDirectImageUrlForSiteScopedPath, getDirectImageUrlForBucketPath, getDirectImageUrlForStoragePath, getDirectImageUrlForMediaAsset, isRelativeDirectImageStoragePath, isSiteScopedDirectImageStoragePath, type DirectImageMediaAsset, type DirectImageUrlOptions, type DirectImageUrlPathTarget, type ImageProxyFit, type ImageProxyParams, } from './url';
|
|
@@ -32,3 +41,4 @@ export * from './mediaWriteNormalizer';
|
|
|
32
41
|
export { walkAndCollectImageAttrs, pickFilenameFromUrl, type RichTextImageAttrsRef, } from './richTextImageCollector';
|
|
33
42
|
export * from './richTextImageWriteNormalizer';
|
|
34
43
|
export * from './mediaUsageProjection';
|
|
44
|
+
export * from './portableMediaReferences';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type UsageCheckedAssetLike = Readonly<{
|
|
2
|
+
id: string;
|
|
3
|
+
mimeType: string;
|
|
4
|
+
}>;
|
|
5
|
+
export type MediaUsageCheckItemLike = Readonly<{
|
|
6
|
+
assetId: string;
|
|
7
|
+
usedCount: number;
|
|
8
|
+
}>;
|
|
9
|
+
export type MediaUsageCheckResponseLike = Readonly<{
|
|
10
|
+
items: readonly MediaUsageCheckItemLike[];
|
|
11
|
+
}>;
|
|
12
|
+
export type StoredAssetUsageStatus = Readonly<{
|
|
13
|
+
kind: 'unknown';
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
kind: 'checking';
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
kind: 'eligible';
|
|
18
|
+
usedCount: 0;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'ineligible';
|
|
21
|
+
usedCount: number;
|
|
22
|
+
}> | Readonly<{
|
|
23
|
+
kind: 'notApplicable';
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'failed';
|
|
26
|
+
message: string;
|
|
27
|
+
}>;
|
|
28
|
+
export type StoredAssetUsageStatusByAssetId = Readonly<Record<string, StoredAssetUsageStatus>>;
|
|
29
|
+
export declare function getRasterAssetIds(assets: readonly UsageCheckedAssetLike[]): readonly string[];
|
|
30
|
+
export declare function getMissingAssetUsageIds(input: {
|
|
31
|
+
rasterAssetIds: readonly string[];
|
|
32
|
+
storedStatusByAssetId: StoredAssetUsageStatusByAssetId;
|
|
33
|
+
inFlightAssetIds: ReadonlySet<string>;
|
|
34
|
+
}): readonly string[];
|
|
35
|
+
export declare function markAssetUsageChecking(statusByAssetId: StoredAssetUsageStatusByAssetId, assetIds: readonly string[]): StoredAssetUsageStatusByAssetId;
|
|
36
|
+
export declare function applyAssetUsageResponse(input: {
|
|
37
|
+
statusByAssetId: StoredAssetUsageStatusByAssetId;
|
|
38
|
+
requestedAssetIds: readonly string[];
|
|
39
|
+
response: MediaUsageCheckResponseLike;
|
|
40
|
+
}): StoredAssetUsageStatusByAssetId;
|
|
41
|
+
export declare function applyAssetUsageFailure(input: {
|
|
42
|
+
statusByAssetId: StoredAssetUsageStatusByAssetId;
|
|
43
|
+
requestedAssetIds: readonly string[];
|
|
44
|
+
message: string;
|
|
45
|
+
}): StoredAssetUsageStatusByAssetId;
|
|
46
|
+
export declare function removeInFlightAssetIds(inFlightAssetIds: ReadonlySet<string>, completedAssetIds: readonly string[]): ReadonlySet<string>;
|
|
47
|
+
export declare function getStoredAssetUsageStatusForAsset(asset: UsageCheckedAssetLike, statusByAssetId: StoredAssetUsageStatusByAssetId): StoredAssetUsageStatus;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type PortableMediaReferenceSource = 'media-field' | 'rich-text-image';
|
|
2
|
+
export type PortableMediaReference = Readonly<{
|
|
3
|
+
kind: 'assetId';
|
|
4
|
+
assetId: string;
|
|
5
|
+
location: string;
|
|
6
|
+
source: PortableMediaReferenceSource;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'identifier';
|
|
9
|
+
identifier: string;
|
|
10
|
+
location: string;
|
|
11
|
+
source: PortableMediaReferenceSource;
|
|
12
|
+
}>;
|
|
13
|
+
export type PortableMediaReferenceSummary = Readonly<{
|
|
14
|
+
references: PortableMediaReference[];
|
|
15
|
+
assetIds: string[];
|
|
16
|
+
identifiers: string[];
|
|
17
|
+
}>;
|
|
18
|
+
type PortableMediaLookupAsset = Readonly<{
|
|
19
|
+
id: string;
|
|
20
|
+
identifier?: string | null;
|
|
21
|
+
}>;
|
|
22
|
+
type PortableMediaLookup<TAsset extends PortableMediaLookupAsset> = Readonly<{
|
|
23
|
+
byId: Map<string, TAsset>;
|
|
24
|
+
byIdentifier: Map<string, TAsset>;
|
|
25
|
+
}>;
|
|
26
|
+
export type PortableMediaResolution<TAsset extends PortableMediaLookupAsset> = Readonly<{
|
|
27
|
+
kind: 'resolved';
|
|
28
|
+
reference: PortableMediaReference;
|
|
29
|
+
asset: TAsset;
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'missing';
|
|
32
|
+
reference: PortableMediaReference;
|
|
33
|
+
}>;
|
|
34
|
+
export declare function summarizePortableMediaReferences(references: readonly PortableMediaReference[]): PortableMediaReferenceSummary;
|
|
35
|
+
export declare function collectPortableMediaReferencesFromContent(content: unknown): PortableMediaReferenceSummary;
|
|
36
|
+
export declare function buildPortableMediaLookup<TAsset extends PortableMediaLookupAsset>(assets: readonly TAsset[]): PortableMediaLookup<TAsset>;
|
|
37
|
+
export declare function resolvePortableMediaReferences<TAsset extends PortableMediaLookupAsset>(references: readonly PortableMediaReference[], lookup: PortableMediaLookup<TAsset>): PortableMediaResolution<TAsset>[];
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type FileKind, type UploadIntent } from './fileDomain';
|
|
2
|
+
/**
|
|
3
|
+
* Shared upload boundary contract derived from the caller-provided filename and
|
|
4
|
+
* declared MIME type. Accept surfaces, session creation, and finalization
|
|
5
|
+
* should all consult this module so file-kind acceptance and verification
|
|
6
|
+
* cannot drift apart.
|
|
7
|
+
*/
|
|
8
|
+
export type UploadCandidateDescriptor = Readonly<{
|
|
9
|
+
name: string;
|
|
10
|
+
type?: string | null;
|
|
11
|
+
}>;
|
|
12
|
+
export type UploadVerificationStrategy = Readonly<{
|
|
13
|
+
tag: 'magic-only';
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
tag: 'text-fallback';
|
|
16
|
+
detectedMimeType: 'text/plain' | 'text/csv';
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
tag: 'rtf-fallback';
|
|
19
|
+
detectedMimeType: 'application/rtf';
|
|
20
|
+
}>;
|
|
21
|
+
export type AcceptedUploadKindContract = Readonly<{
|
|
22
|
+
kind: FileKind;
|
|
23
|
+
verification: UploadVerificationStrategy;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const PRODUCT_FILE_EXTENSION_TAGS: readonly ["pdf", "docx", "txt", "rtf", "csv", "zip", "mp3", "m4a", "wav", "ogg", "flac", "webm", "mp4", "mov"];
|
|
26
|
+
export declare function resolveAcceptedUploadKindContract(candidate: UploadCandidateDescriptor): AcceptedUploadKindContract | undefined;
|
|
27
|
+
export declare function isUploadKindCompatibleWithIntent(intent: UploadIntent, kind: FileKind): boolean;
|
|
28
|
+
export declare function resolveVerifiedMimeTypeFromContract(buffer: Uint8Array | null, contract: AcceptedUploadKindContract | undefined): string | undefined;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { MediaAssetId } from '../../core/src/index';
|
|
2
|
+
export type VideoRepairAssetLike = Readonly<{
|
|
3
|
+
id: MediaAssetId;
|
|
4
|
+
filename: string;
|
|
5
|
+
siteId: string;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
thumbnailAssetId?: string | null;
|
|
8
|
+
durationSeconds?: number | null;
|
|
9
|
+
width?: number | null;
|
|
10
|
+
height?: number | null;
|
|
11
|
+
}>;
|
|
12
|
+
export type VideoAssetRepairPlan = Readonly<{
|
|
13
|
+
tag: 'none';
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
tag: 'repair-metadata';
|
|
16
|
+
assetId: MediaAssetId;
|
|
17
|
+
filename: string;
|
|
18
|
+
siteId: string;
|
|
19
|
+
processingLabel: 'Reading video metadata';
|
|
20
|
+
processingText: 'Reading video metadata...';
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
tag: 'repair-thumbnail-and-metadata';
|
|
23
|
+
assetId: MediaAssetId;
|
|
24
|
+
filename: string;
|
|
25
|
+
siteId: string;
|
|
26
|
+
processingLabel: 'Generating thumbnail';
|
|
27
|
+
processingText: 'Generating thumbnail...';
|
|
28
|
+
}>;
|
|
29
|
+
export type RunnableVideoAssetRepairPlan = Exclude<VideoAssetRepairPlan, {
|
|
30
|
+
tag: 'none';
|
|
31
|
+
}>;
|
|
32
|
+
export type VideoAssetRepairQueueState = Readonly<{
|
|
33
|
+
isProcessing: boolean;
|
|
34
|
+
isCompleted: boolean;
|
|
35
|
+
isFailed: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
export declare function planVideoAssetRepair(asset: VideoRepairAssetLike): VideoAssetRepairPlan;
|
|
38
|
+
export declare function shouldQueueVideoAssetRepair(plan: VideoAssetRepairPlan, queueState: VideoAssetRepairQueueState): plan is RunnableVideoAssetRepairPlan;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function logMediaEditorDebug(event: string, payload: Record<string, unknown>): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type PathSegment = string | number;
|
|
2
|
+
export declare function parsePath(path: string | Array<PathSegment>): Array<PathSegment>;
|
|
3
|
+
export declare function segmentsToPath(segments: Array<PathSegment>): string | undefined;
|
|
4
|
+
export declare function getAtPath<T = unknown>(source: unknown, path: string | Array<PathSegment>): T | undefined;
|
|
5
|
+
export declare function setAtPath(target: Record<string, unknown> | Array<unknown>, path: string | Array<PathSegment>, value: unknown): void;
|
|
6
|
+
export declare function toAbsolutePath(base: string | undefined | null, path: string): string;
|
|
7
|
+
export * from './redirectPaths';
|
|
8
|
+
export * from './safeAppPath';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type RedirectPathParseError = {
|
|
2
|
+
tag: 'MISSING';
|
|
3
|
+
} | {
|
|
4
|
+
tag: 'EMPTY';
|
|
5
|
+
} | {
|
|
6
|
+
tag: 'CONTROL_CHAR';
|
|
7
|
+
} | {
|
|
8
|
+
tag: 'BACKSLASH';
|
|
9
|
+
} | {
|
|
10
|
+
tag: 'EXTERNAL_URL';
|
|
11
|
+
} | {
|
|
12
|
+
tag: 'INVALID_PATH';
|
|
13
|
+
} | {
|
|
14
|
+
tag: 'ENCODED_SEPARATOR';
|
|
15
|
+
};
|
|
16
|
+
export type RedirectPathParseResult = {
|
|
17
|
+
ok: true;
|
|
18
|
+
value: string;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
error: RedirectPathParseError;
|
|
22
|
+
};
|
|
23
|
+
export declare function parseInternalRedirectPath(value: unknown): RedirectPathParseResult;
|
|
24
|
+
export declare function sanitizeInternalRedirectPath(value: unknown): string | null;
|
|
25
|
+
export declare function parseSameOriginRedirectPath(value: unknown, baseUrl: string | URL): RedirectPathParseResult;
|
|
26
|
+
export declare function sanitizeSameOriginRedirectPath(value: unknown, baseUrl: string | URL): string | null;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type RedirectPathParseError } from './redirectPaths';
|
|
2
|
+
declare const __brand: unique symbol;
|
|
3
|
+
type Brand<T, B extends string> = T & {
|
|
4
|
+
readonly [__brand]: B;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* A redirect path that has been validated as a safe, same-origin relative path.
|
|
8
|
+
*
|
|
9
|
+
* Parse once at the boundary, then carry the branded value inward instead of
|
|
10
|
+
* re-validating ad hoc string inputs in every auth flow.
|
|
11
|
+
*/
|
|
12
|
+
export type SafeAppPath = Brand<string, 'SafeAppPath'>;
|
|
13
|
+
export type SafeAppPathParseError = RedirectPathParseError;
|
|
14
|
+
export type SafeAppPathParseResult = {
|
|
15
|
+
ok: true;
|
|
16
|
+
value: SafeAppPath;
|
|
17
|
+
} | {
|
|
18
|
+
ok: false;
|
|
19
|
+
error: SafeAppPathParseError;
|
|
20
|
+
};
|
|
21
|
+
export declare function parseSafeAppPath(value: unknown): SafeAppPathParseResult;
|
|
22
|
+
export declare function sanitizeSafeAppPath(value: unknown): SafeAppPath | null;
|
|
23
|
+
export declare function assertSafeAppPath(value: string): SafeAppPath;
|
|
24
|
+
export declare function safeAppPathOrFallback(value: unknown, fallback: SafeAppPath): SafeAppPath;
|
|
25
|
+
export declare function buildSafeRedirectUrl(path: SafeAppPath, baseUrl: string | URL): URL;
|
|
26
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
|
|
2
|
-
export declare function SiteChromeCustomizeButton({ surface, }: {
|
|
2
|
+
export declare function SiteChromeCustomizeButton({ surface, containerClassName, }: {
|
|
3
3
|
surface: SiteChromeEditableSurfaceKind;
|
|
4
|
+
containerClassName?: string;
|
|
4
5
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,6 +13,9 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
|
|
|
13
13
|
kind: 'available';
|
|
14
14
|
surface: 'header';
|
|
15
15
|
label: string;
|
|
16
|
+
currentLayoutId: HeaderLayoutId;
|
|
17
|
+
currentLayoutLabel: string;
|
|
18
|
+
layoutOptions: readonly SiteChromeLookOption<HeaderLayoutId>[];
|
|
16
19
|
currentId: HeaderStyleId;
|
|
17
20
|
currentLabel: string;
|
|
18
21
|
options: readonly SiteChromeLookOption<HeaderStyleId>[];
|
|
@@ -35,6 +38,7 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
|
|
|
35
38
|
type SiteChromeCustomizeContextValue = Readonly<{
|
|
36
39
|
getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
|
|
37
40
|
cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
|
|
41
|
+
cycleSurfaceLayout: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
|
|
38
42
|
}>;
|
|
39
43
|
export type SiteChromeCustomizeProviderProps = Readonly<{
|
|
40
44
|
children: ReactNode;
|