import { K as AnyComponent, Z as WidgetSchema, ht as WidgetPropertySchema, it as RemoteWidgetCapabilityGrants, st as RemoteDomWidgetPackageDescriptor } from "./portal-function-VhLYKC5u.cjs"; import { r as WidgetRegistryWarningSink, t as RemoteDomWidgetRegistryOptions } from "./build-widget-registry-C7BPrtGS.cjs"; //#region ../core/src/registries/field-helpers.d.ts /** * Gap value mapping - use `as const satisfies` for compile-time validation * with literal type preservation. */ declare const gapValues: { readonly none: 0; readonly xs: 1; readonly sm: 2; readonly md: 4; readonly lg: 6; readonly xl: 8; }; //#endregion //#region ../core/src/registries/container-types.d.ts /** * Interface for container widget behavior. * Container widgets can hold and manage child widgets. * Note: Children can be null for sparse arrays (e.g., grid layouts with empty cells) */ interface ContainerWidgetBehavior { /** Identifies this widget type as a container */ isContainer: true; /** Gets children from the widget's props */ getChildren: (props: Record) => (WidgetSchema | null)[]; /** Creates new props with updated children */ setChildren: (props: Record, children: (WidgetSchema | null)[]) => Record; /** Optional: Check if this container accepts a specific widget type */ canAcceptChild?: (childType: string) => boolean; } //#endregion //#region ../core/src/registries/widget-manifest.d.ts /** * The manifest a plugin author provides to register a custom widget. * Required fields ensure the widget works in both builder and SDK contexts. * Optional fields enable advanced behavior (containers, min SDK version). */ interface WidgetManifest { /** Schema version for forward compatibility. Currently must be 1. */ manifestVersion: number; /** Unique widget type identifier (e.g., "StockTickerWidget"). */ type: string; /** The React component that renders this widget. */ component: AnyComponent; /** Human-readable name shown in the builder palette. */ displayName: string; /** Brief description shown in the builder palette. */ description: string; /** Icon identifier for the builder palette (e.g., "chart-line"). */ icon: string; /** Category ID for palette grouping (e.g., "components", "blocks", "utility"). */ category: string; /** Property schema defining editable fields in the builder's property panel. */ propertySchema: WidgetPropertySchema; /** Default prop values when the widget is first created. */ defaultProps: Record; /** Container behavior — only if this widget can hold child widgets. */ container?: ContainerWidgetBehavior; /** Minimum SDK version required (e.g., "1.0.0"). */ minSdkVersion?: string; /** Resizable configuration. */ resizable?: { horizontal?: boolean; vertical?: boolean; minWidth?: number; minHeight?: number; }; /** Exact grants the host must approve before this remote widget is added. */ capabilityGrants?: RemoteWidgetCapabilityGrants; } //#endregion //#region src/utils/build-remote-widget-plugin-manifests.d.ts interface RemoteWidgetPluginHostOptions extends RemoteDomWidgetRegistryOptions { readonly warningSink?: WidgetRegistryWarningSink; } /** * Projects accepted canonical packages into builder manifests using the same * package-atomic acceptance pass as the runtime registry. */ declare function buildRemoteWidgetPluginManifests(packages: readonly RemoteDomWidgetPackageDescriptor[], hostOptions?: RemoteWidgetPluginHostOptions): WidgetManifest[]; declare function getRemoteWidgetPackageCategoryId(remotePackage: Pick): string; //#endregion export { gapValues as a, WidgetManifest as i, buildRemoteWidgetPluginManifests as n, getRemoteWidgetPackageCategoryId as r, RemoteWidgetPluginHostOptions as t }; //# sourceMappingURL=build-remote-widget-plugin-manifests-CU6MRWan.d.cts.map