cps-bi-sdk 0.1.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/LICENSE +21 -0
- package/README.md +136 -0
- package/dist/cps-bi-sdk.css +2 -0
- package/dist/index.cjs +512 -0
- package/dist/index.js +61745 -0
- package/dist/types/builder/DashboardBuilder.d.ts +7 -0
- package/dist/types/builder/DashboardBuilder.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderHelpModal.d.ts +11 -0
- package/dist/types/builder/components/BuilderHelpModal.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderTopBar.d.ts +7 -0
- package/dist/types/builder/components/BuilderTopBar.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderWidgetCard.d.ts +24 -0
- package/dist/types/builder/components/BuilderWidgetCard.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderWidgetCardContainer.d.ts +11 -0
- package/dist/types/builder/components/BuilderWidgetCardContainer.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderWidgetRenderer.d.ts +19 -0
- package/dist/types/builder/components/BuilderWidgetRenderer.d.ts.map +1 -0
- package/dist/types/builder/components/BuilderWidgetRendererContainer.d.ts +11 -0
- package/dist/types/builder/components/BuilderWidgetRendererContainer.d.ts.map +1 -0
- package/dist/types/builder/components/CanvasSettingsModal.d.ts +15 -0
- package/dist/types/builder/components/CanvasSettingsModal.d.ts.map +1 -0
- package/dist/types/builder/components/CanvasStage.d.ts +9 -0
- package/dist/types/builder/components/CanvasStage.d.ts.map +1 -0
- package/dist/types/builder/components/CanvasStageGrid.d.ts +71 -0
- package/dist/types/builder/components/CanvasStageGrid.d.ts.map +1 -0
- package/dist/types/builder/components/CanvasStageNodeContext.d.ts +55 -0
- package/dist/types/builder/components/CanvasStageNodeContext.d.ts.map +1 -0
- package/dist/types/builder/components/CanvasStageSurface.d.ts +32 -0
- package/dist/types/builder/components/CanvasStageSurface.d.ts.map +1 -0
- package/dist/types/builder/components/ClearCanvasConfirmModal.d.ts +20 -0
- package/dist/types/builder/components/ClearCanvasConfirmModal.d.ts.map +1 -0
- package/dist/types/builder/components/UnauthorizedWidgetPlaceholder.d.ts +18 -0
- package/dist/types/builder/components/UnauthorizedWidgetPlaceholder.d.ts.map +1 -0
- package/dist/types/builder/components/WidgetCatalogPanel.d.ts +7 -0
- package/dist/types/builder/components/WidgetCatalogPanel.d.ts.map +1 -0
- package/dist/types/builder/components/WidgetConfigPanel.d.ts +7 -0
- package/dist/types/builder/components/WidgetConfigPanel.d.ts.map +1 -0
- package/dist/types/builder/hooks/controllerActions.d.ts +24 -0
- package/dist/types/builder/hooks/controllerActions.d.ts.map +1 -0
- package/dist/types/builder/hooks/useBeforeUnloadProtection.d.ts +9 -0
- package/dist/types/builder/hooks/useBeforeUnloadProtection.d.ts.map +1 -0
- package/dist/types/builder/hooks/useBuilderAuthorization.d.ts +22 -0
- package/dist/types/builder/hooks/useBuilderAuthorization.d.ts.map +1 -0
- package/dist/types/builder/hooks/useBuilderController.d.ts +10 -0
- package/dist/types/builder/hooks/useBuilderController.d.ts.map +1 -0
- package/dist/types/builder/hooks/useBuilderFullscreen.d.ts +22 -0
- package/dist/types/builder/hooks/useBuilderFullscreen.d.ts.map +1 -0
- package/dist/types/builder/hooks/useCanvasStageResizeAutoPan.d.ts +21 -0
- package/dist/types/builder/hooks/useCanvasStageResizeAutoPan.d.ts.map +1 -0
- package/dist/types/builder/hooks/useCanvasStageScreenInteraction.d.ts +27 -0
- package/dist/types/builder/hooks/useCanvasStageScreenInteraction.d.ts.map +1 -0
- package/dist/types/builder/hooks/useCanvasStageViewport.d.ts +46 -0
- package/dist/types/builder/hooks/useCanvasStageViewport.d.ts.map +1 -0
- package/dist/types/builder/hooks/useCanvasStageWidgetHandlers.d.ts +11 -0
- package/dist/types/builder/hooks/useCanvasStageWidgetHandlers.d.ts.map +1 -0
- package/dist/types/builder/types.d.ts +264 -0
- package/dist/types/builder/types.d.ts.map +1 -0
- package/dist/types/builder/utils/controllerSchema.d.ts +35 -0
- package/dist/types/builder/utils/controllerSchema.d.ts.map +1 -0
- package/dist/types/builder/utils/schemaTransfer.d.ts +8 -0
- package/dist/types/builder/utils/schemaTransfer.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinChartConfigForm.d.ts +10 -0
- package/dist/types/builtin-widgets/BuiltinChartConfigForm.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinChartWidget.d.ts +10 -0
- package/dist/types/builtin-widgets/BuiltinChartWidget.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinCountdownConfigForm.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinCountdownConfigForm.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinCountdownWidget.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinCountdownWidget.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinTableConfigForm.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinTableConfigForm.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinTableWidget.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinTableWidget.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinTextConfigForm.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinTextConfigForm.d.ts.map +1 -0
- package/dist/types/builtin-widgets/BuiltinTextWidget.d.ts +7 -0
- package/dist/types/builtin-widgets/BuiltinTextWidget.d.ts.map +1 -0
- package/dist/types/builtin-widgets/builtinWidgetsManifest.d.ts +8 -0
- package/dist/types/builtin-widgets/builtinWidgetsManifest.d.ts.map +1 -0
- package/dist/types/builtin-widgets/chart-config.d.ts +22 -0
- package/dist/types/builtin-widgets/chart-config.d.ts.map +1 -0
- package/dist/types/builtin-widgets/chart-theme.d.ts +24 -0
- package/dist/types/builtin-widgets/chart-theme.d.ts.map +1 -0
- package/dist/types/builtin-widgets/chartHelpers.d.ts +47 -0
- package/dist/types/builtin-widgets/chartHelpers.d.ts.map +1 -0
- package/dist/types/builtin-widgets/chartOptions.d.ts +11 -0
- package/dist/types/builtin-widgets/chartOptions.d.ts.map +1 -0
- package/dist/types/builtin-widgets/index.d.ts +6 -0
- package/dist/types/builtin-widgets/index.d.ts.map +1 -0
- package/dist/types/components/WidgetStateCard.d.ts +41 -0
- package/dist/types/components/WidgetStateCard.d.ts.map +1 -0
- package/dist/types/contracts/builder.d.ts +28 -0
- package/dist/types/contracts/builder.d.ts.map +1 -0
- package/dist/types/contracts/builtin-countdown.d.ts +20 -0
- package/dist/types/contracts/builtin-countdown.d.ts.map +1 -0
- package/dist/types/contracts/builtin-table.d.ts +35 -0
- package/dist/types/contracts/builtin-table.d.ts.map +1 -0
- package/dist/types/contracts/builtin-text.d.ts +22 -0
- package/dist/types/contracts/builtin-text.d.ts.map +1 -0
- package/dist/types/contracts/chart.d.ts +238 -0
- package/dist/types/contracts/chart.d.ts.map +1 -0
- package/dist/types/contracts/common.d.ts +19 -0
- package/dist/types/contracts/common.d.ts.map +1 -0
- package/dist/types/contracts/data-source.d.ts +59 -0
- package/dist/types/contracts/data-source.d.ts.map +1 -0
- package/dist/types/contracts/events.d.ts +27 -0
- package/dist/types/contracts/events.d.ts.map +1 -0
- package/dist/types/contracts/index.d.ts +16 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/contracts/schema.d.ts +157 -0
- package/dist/types/contracts/schema.d.ts.map +1 -0
- package/dist/types/contracts/services.d.ts +22 -0
- package/dist/types/contracts/services.d.ts.map +1 -0
- package/dist/types/contracts/widget.d.ts +149 -0
- package/dist/types/contracts/widget.d.ts.map +1 -0
- package/dist/types/core/event-bus/createEventBus.d.ts +62 -0
- package/dist/types/core/event-bus/createEventBus.d.ts.map +1 -0
- package/dist/types/core/layout/screenCanvas.d.ts +48 -0
- package/dist/types/core/layout/screenCanvas.d.ts.map +1 -0
- package/dist/types/core/schema/componentStyleConfig.d.ts +43 -0
- package/dist/types/core/schema/componentStyleConfig.d.ts.map +1 -0
- package/dist/types/core/store/createDashboardStore.d.ts +13 -0
- package/dist/types/core/store/createDashboardStore.d.ts.map +1 -0
- package/dist/types/core/store/storeEquality.d.ts +31 -0
- package/dist/types/core/store/storeEquality.d.ts.map +1 -0
- package/dist/types/core/store/storeSelectors.d.ts +38 -0
- package/dist/types/core/store/storeSelectors.d.ts.map +1 -0
- package/dist/types/core/store/types.d.ts +78 -0
- package/dist/types/core/store/types.d.ts.map +1 -0
- package/dist/types/core/store/useDashboardStoreSelector.d.ts +22 -0
- package/dist/types/core/store/useDashboardStoreSelector.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/providers/DashboardAntdProvider.d.ts +21 -0
- package/dist/types/providers/DashboardAntdProvider.d.ts.map +1 -0
- package/dist/types/providers/DashboardConfigProvider.d.ts +14 -0
- package/dist/types/providers/DashboardConfigProvider.d.ts.map +1 -0
- package/dist/types/providers/types.d.ts +43 -0
- package/dist/types/providers/types.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +9 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/stableSerialize.d.ts +9 -0
- package/dist/types/utils/stableSerialize.d.ts.map +1 -0
- package/dist/types/viewer/DashboardViewer.d.ts +10 -0
- package/dist/types/viewer/DashboardViewer.d.ts.map +1 -0
- package/dist/types/viewer/hooks/useWidgetDataResolver.d.ts +93 -0
- package/dist/types/viewer/hooks/useWidgetDataResolver.d.ts.map +1 -0
- package/dist/types/viewer/renderers/WidgetRenderer.d.ts +54 -0
- package/dist/types/viewer/renderers/WidgetRenderer.d.ts.map +1 -0
- package/dist/types/viewer/renderers/WidgetStateFallback.d.ts +47 -0
- package/dist/types/viewer/renderers/WidgetStateFallback.d.ts.map +1 -0
- package/dist/types/viewer/runtime/getWidgetDataBinding.d.ts +28 -0
- package/dist/types/viewer/runtime/getWidgetDataBinding.d.ts.map +1 -0
- package/dist/types/viewer/runtime/normalizeWidgetDataError.d.ts +6 -0
- package/dist/types/viewer/runtime/normalizeWidgetDataError.d.ts.map +1 -0
- package/dist/types/viewer/runtime/resolveWidgetDataByBinding.d.ts +9 -0
- package/dist/types/viewer/runtime/resolveWidgetDataByBinding.d.ts.map +1 -0
- package/dist/types/viewer/types.d.ts +63 -0
- package/dist/types/viewer/types.d.ts.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/DashboardBuilder.tsx
|
|
3
|
+
* @description 编辑态主容器,负责装配 TopBar、Canvas、配置面板与预览态切换。
|
|
4
|
+
*/
|
|
5
|
+
import type { DashboardBuilderProps } from "./types";
|
|
6
|
+
export declare function DashboardBuilder({ initialSchema, initialMode, readonly, allowUseBuiltInWidgets, builderDataResolveMode, widgetCatalogFilterRender, onSchemaChange, onModeChange, onSave, onPublish, onOpenCanvasSettings, onOpenVersionHistory, onHelp, onEdit, onDuplicate, onDelete, titleRender }: DashboardBuilderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=DashboardBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/builder/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAGpD,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,WAAW,EACX,QAAgB,EAChB,sBAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,EACN,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACZ,EAAE,qBAAqB,2CAoXvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderHelpModal.tsx
|
|
3
|
+
* @description Builder 操作提示弹窗。
|
|
4
|
+
*/
|
|
5
|
+
export declare function BuilderHelpModal({ getContainer, modifierLabel, onClose, open }: {
|
|
6
|
+
getContainer?: HTMLElement;
|
|
7
|
+
modifierLabel: string;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
open: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=BuilderHelpModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderHelpModal.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderHelpModal.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,aAAa,EACb,OAAO,EACP,IAAI,EACL,EAAE;IACD,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CACd,2CAsEA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderTopBar.tsx
|
|
3
|
+
* @description 编辑态顶部操作栏,承载组件添加、核心动作与更多菜单。
|
|
4
|
+
*/
|
|
5
|
+
import type { BuilderTopBarProps } from "../types";
|
|
6
|
+
export declare function BuilderTopBar({ readonly, mode: _mode, title, version, status, hasComponents, canUndo, canRedo, titleRender, schema, modalContainer, widgets, allowUseBuiltInWidgets, widgetCatalogFilterRender, saving, publishing, persistenceDisabled, persistenceDisabledReason, onOpenCanvasSettings, onToggleFullscreen, onImportJson, onExportJson, onAutoAlign, onUndo, onRedo, onClearCanvas, onAddWidget, onAddWidgets, onSave, onPublish, onHelp, onOpenVersionHistory, onEdit, onDuplicate, onDelete }: BuilderTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=BuilderTopBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderTopBar.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderTopBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAGlD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EAAE,KAAK,EACX,KAAK,EACL,OAAO,EACP,MAAM,EACN,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,MAAM,EACN,cAAc,EACd,OAAO,EACP,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,SAAS,EACT,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,QAAQ,EACT,EAAE,kBAAkB,2CAmKpB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderWidgetCard.tsx
|
|
3
|
+
* @description Builder 画布组件卡片壳层,承载选中态与悬浮操作区。
|
|
4
|
+
*/
|
|
5
|
+
import { type ReactNode } from "react";
|
|
6
|
+
import type { DashboardComponentShellSnapshot } from "../../core/store/createDashboardStore";
|
|
7
|
+
import type { BuilderMode } from "../types";
|
|
8
|
+
interface BuilderWidgetCardProps {
|
|
9
|
+
component: DashboardComponentShellSnapshot;
|
|
10
|
+
mode: BuilderMode;
|
|
11
|
+
selected: boolean;
|
|
12
|
+
configPanelOpen: boolean;
|
|
13
|
+
unauthorized: boolean;
|
|
14
|
+
interactionLocked: boolean;
|
|
15
|
+
onSelect: (id: string) => void;
|
|
16
|
+
onOpenSettings: (id: string) => void;
|
|
17
|
+
onDuplicate: (id: string) => void;
|
|
18
|
+
onDelete: (id: string) => void;
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
declare function BuilderWidgetCardComponent({ component, mode, selected, configPanelOpen, unauthorized, interactionLocked, onSelect, onOpenSettings, onDuplicate, onDelete, children }: BuilderWidgetCardProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare const BuilderWidgetCard: import("react").MemoExoticComponent<typeof BuilderWidgetCardComponent>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=BuilderWidgetCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderWidgetCard.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderWidgetCard.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAE5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,UAAU,sBAAsB;IAC9B,SAAS,EAAE,+BAA+B,CAAA;IAC1C,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,QAAQ,EAAE,SAAS,CAAA;CACpB;AA8BD,iBAAS,0BAA0B,CAAC,EAClC,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,EAAE,sBAAsB,2CA+GxB;AAED,eAAO,MAAM,iBAAiB,wEAAmC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderWidgetCardContainer.tsx
|
|
3
|
+
* @description Builder 卡片壳层容器,按组件 id 自订阅壳层切片与节点级 UI 状态。
|
|
4
|
+
*/
|
|
5
|
+
interface BuilderWidgetCardContainerProps {
|
|
6
|
+
componentId: string;
|
|
7
|
+
}
|
|
8
|
+
declare function BuilderWidgetCardContainerComponent({ componentId }: BuilderWidgetCardContainerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
9
|
+
export declare const BuilderWidgetCardContainer: import("react").MemoExoticComponent<typeof BuilderWidgetCardContainerComponent>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=BuilderWidgetCardContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderWidgetCardContainer.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderWidgetCardContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AASH,UAAU,+BAA+B;IACvC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,iBAAS,mCAAmC,CAAC,EAAE,WAAW,EAAE,EAAE,+BAA+B,kDAmD5F;AAED,eAAO,MAAM,0BAA0B,iFAA4C,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderWidgetRenderer.tsx
|
|
3
|
+
* @description Builder 态 Widget 渲染桥接,按 manifest 渲染真实组件内容。
|
|
4
|
+
*/
|
|
5
|
+
import type { ComponentInstance, InjectedWidgetProps } from "../../contracts";
|
|
6
|
+
import type { DashboardComponentRuntimeSnapshot } from "../../core/store/createDashboardStore";
|
|
7
|
+
interface BuilderWidgetRendererProps {
|
|
8
|
+
dashboardCode: string;
|
|
9
|
+
runtime: DashboardComponentRuntimeSnapshot;
|
|
10
|
+
resolveComponent: ComponentInstance;
|
|
11
|
+
builderDataResolveEnabled: boolean;
|
|
12
|
+
unauthorized: boolean;
|
|
13
|
+
notifyUpdate: InjectedWidgetProps['notifyUpdate'];
|
|
14
|
+
onReceiveUpdate: InjectedWidgetProps['onReceiveUpdate'];
|
|
15
|
+
}
|
|
16
|
+
declare function BuilderWidgetRendererComponent({ dashboardCode, runtime, resolveComponent, builderDataResolveEnabled, unauthorized, notifyUpdate, onReceiveUpdate }: BuilderWidgetRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const BuilderWidgetRenderer: import("react").MemoExoticComponent<typeof BuilderWidgetRendererComponent>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=BuilderWidgetRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderWidgetRenderer.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderWidgetRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAChG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAA;AAK9F,UAAU,0BAA0B;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,iCAAiC,CAAA;IAC1C,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,yBAAyB,EAAE,OAAO,CAAA;IAClC,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACjD,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;CACxD;AA+ED,iBAAS,8BAA8B,CAAC,EACtC,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,eAAe,EAChB,EAAE,0BAA0B,2CAgF5B;AAED,eAAO,MAAM,qBAAqB,4EAAuC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/BuilderWidgetRendererContainer.tsx
|
|
3
|
+
* @description Builder 运行态容器,按组件 id 自订阅运行态切片并读取节点上下文。
|
|
4
|
+
*/
|
|
5
|
+
interface BuilderWidgetRendererContainerProps {
|
|
6
|
+
componentId: string;
|
|
7
|
+
}
|
|
8
|
+
declare function BuilderWidgetRendererContainerComponent({ componentId }: BuilderWidgetRendererContainerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
9
|
+
export declare const BuilderWidgetRendererContainer: import("react").MemoExoticComponent<typeof BuilderWidgetRendererContainerComponent>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=BuilderWidgetRendererContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuilderWidgetRendererContainer.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/BuilderWidgetRendererContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AASH,UAAU,mCAAmC;IAC3C,WAAW,EAAE,MAAM,CAAA;CACpB;AAmBD,iBAAS,uCAAuC,CAAC,EAAE,WAAW,EAAE,EAAE,mCAAmC,kDA4CpG;AAED,eAAO,MAAM,8BAA8B,qFAAgD,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/CanvasSettingsModal.tsx
|
|
3
|
+
* @description 画布设置弹窗,负责编辑并应用画布配置。
|
|
4
|
+
*/
|
|
5
|
+
import type { DashboardSettings } from "../../contracts";
|
|
6
|
+
interface CanvasSettingsModalProps {
|
|
7
|
+
open: boolean;
|
|
8
|
+
settings: DashboardSettings;
|
|
9
|
+
getContainer?: HTMLElement;
|
|
10
|
+
onCancel: () => void;
|
|
11
|
+
onApply: (patch: Partial<DashboardSettings>) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function CanvasSettingsModal({ open, settings, getContainer, onCancel, onApply }: CanvasSettingsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=CanvasSettingsModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasSettingsModal.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/CanvasSettingsModal.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,UAAU,wBAAwB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;CACrD;AAkCD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB,2CAmShH"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/CanvasStage.tsx
|
|
3
|
+
* @description Builder 画布区域,复用老项目画布交互与布局行为(v2 GridLayout API)。
|
|
4
|
+
*/
|
|
5
|
+
import type { CanvasStageProps } from '../types';
|
|
6
|
+
import 'react-grid-layout/css/styles.css';
|
|
7
|
+
import 'react-resizable/css/styles.css';
|
|
8
|
+
export declare function CanvasStage({ store, canvasLayoutSnapshot, dashboardCode, mode, readonly, selectedComponentId, builderDataResolveEnabled, onOpenComponentSettings, onDuplicateComponent, onDeleteComponent, onUpdateComponentLayouts, unauthorizedWidgetCodes }: CanvasStageProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=CanvasStage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasStage.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/CanvasStage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAIhD,OAAO,kCAAkC,CAAA;AACzC,OAAO,gCAAgC,CAAA;AAmDvC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACxB,EAAE,gBAAgB,2CAuUlB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/CanvasStageGrid.tsx
|
|
3
|
+
* @description CanvasStage 的布局与节点 provider 组装层。
|
|
4
|
+
*/
|
|
5
|
+
import { type Compactor, type Layout } from "react-grid-layout";
|
|
6
|
+
import type { PositionStrategy } from "react-grid-layout/core";
|
|
7
|
+
import type { DashboardStoreState } from "../../core/store/createDashboardStore";
|
|
8
|
+
import type { CanvasStageFrameMetrics } from "../hooks/useCanvasStageViewport";
|
|
9
|
+
import { type CanvasStageWidgetHandler } from "./CanvasStageNodeContext";
|
|
10
|
+
/**
|
|
11
|
+
* CanvasStage 网格布局层的入参。
|
|
12
|
+
*/
|
|
13
|
+
interface CanvasStageGridProps {
|
|
14
|
+
/** Builder Store 实例。 */
|
|
15
|
+
store: DashboardStoreState;
|
|
16
|
+
/** 当前网格布局。 */
|
|
17
|
+
layout: Layout;
|
|
18
|
+
/** 当前画布中的组件 ID 列表。 */
|
|
19
|
+
componentIds: string[];
|
|
20
|
+
/** 仪表盘编码。 */
|
|
21
|
+
dashboardCode: string;
|
|
22
|
+
/** 当前是否允许编辑。 */
|
|
23
|
+
canEdit: boolean;
|
|
24
|
+
/** 是否处于手掌拖拽模式。 */
|
|
25
|
+
handMode: boolean;
|
|
26
|
+
/** 是否锁定交互。 */
|
|
27
|
+
interactionLocked: boolean;
|
|
28
|
+
/** 当前是否处于拖拽/缩放交互中。 */
|
|
29
|
+
interactionActive: boolean;
|
|
30
|
+
/** 当前选中的组件 ID。 */
|
|
31
|
+
selectedComponentId: string | null;
|
|
32
|
+
/** Builder 编辑态是否开启真实数据解析。 */
|
|
33
|
+
builderDataResolveEnabled: boolean;
|
|
34
|
+
/** 未授权组件编码集合。 */
|
|
35
|
+
unauthorizedWidgetCodes: Set<string>;
|
|
36
|
+
/** 获取组件节点操作句柄。 */
|
|
37
|
+
getWidgetHandler: (componentId: string) => CanvasStageWidgetHandler | null;
|
|
38
|
+
/** 打开组件设置面板。 */
|
|
39
|
+
onOpenComponentSettings: (componentId: string) => void;
|
|
40
|
+
/** 复制组件。 */
|
|
41
|
+
onDuplicateComponent: (componentId: string) => void;
|
|
42
|
+
/** 删除组件。 */
|
|
43
|
+
onDeleteComponent: (componentId: string) => void;
|
|
44
|
+
/** 拖拽开始回调。 */
|
|
45
|
+
onLayoutStart: () => void;
|
|
46
|
+
/** 拖拽或缩放结束回调。 */
|
|
47
|
+
onLayoutStop: (nextLayout: Layout) => void;
|
|
48
|
+
/** 缩放开始回调。 */
|
|
49
|
+
onResizeStart: (...args: unknown[]) => void;
|
|
50
|
+
/** 缩放过程回调。 */
|
|
51
|
+
onResize: (...args: unknown[]) => void;
|
|
52
|
+
/** 网格压缩策略。 */
|
|
53
|
+
compactor: Compactor;
|
|
54
|
+
/** 画布度量信息。 */
|
|
55
|
+
frameMetrics: CanvasStageFrameMetrics;
|
|
56
|
+
/** 网格列数。 */
|
|
57
|
+
cols: number;
|
|
58
|
+
/** 行高。 */
|
|
59
|
+
rowHeight: number;
|
|
60
|
+
/** 组件间距。 */
|
|
61
|
+
margin: [number, number];
|
|
62
|
+
/** 容器内边距。 */
|
|
63
|
+
padding: [number, number];
|
|
64
|
+
/** antd 前缀类名。 */
|
|
65
|
+
prefixCls: string;
|
|
66
|
+
/** 定位策略。 */
|
|
67
|
+
positionStrategy: PositionStrategy;
|
|
68
|
+
}
|
|
69
|
+
export declare function CanvasStageGrid({ store, layout, componentIds, dashboardCode, canEdit, handMode, interactionLocked, interactionActive, selectedComponentId, builderDataResolveEnabled, unauthorizedWidgetCodes, getWidgetHandler, onOpenComponentSettings, onDuplicateComponent, onDeleteComponent, onLayoutStart, onLayoutStop, onResizeStart, onResize, compactor, frameMetrics, cols, rowHeight, margin, padding, prefixCls, positionStrategy }: CanvasStageGridProps): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=CanvasStageGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasStageGrid.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/CanvasStageGrid.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAE9E,OAAO,EAAE,KAAK,wBAAwB,EAA2B,MAAM,0BAA0B,CAAA;AAEjG;;GAEG;AACH,UAAU,oBAAoB;IAC5B,wBAAwB;IACxB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,cAAc;IACd,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,kBAAkB;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc;IACd,iBAAiB,EAAE,OAAO,CAAA;IAC1B,sBAAsB;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,6BAA6B;IAC7B,yBAAyB,EAAE,OAAO,CAAA;IAClC,iBAAiB;IACjB,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,kBAAkB;IAClB,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,wBAAwB,GAAG,IAAI,CAAA;IAC1E,gBAAgB;IAChB,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,YAAY;IACZ,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,YAAY;IACZ,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,cAAc;IACd,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB;IACjB,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,cAAc;IACd,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IAC3C,cAAc;IACd,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACtC,cAAc;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc;IACd,YAAY,EAAE,uBAAuB,CAAA;IACrC,YAAY;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY;IACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxB,aAAa;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY;IACZ,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,EACjB,EAAE,oBAAoB,2CAoDtB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/CanvasStageNodeContext.tsx
|
|
3
|
+
* @description CanvasStage 节点上下文,收敛节点级 UI 状态与稳定动作入口。
|
|
4
|
+
*/
|
|
5
|
+
import { type ReactNode } from "react";
|
|
6
|
+
import type { InjectedWidgetProps } from "../../contracts";
|
|
7
|
+
import type { DashboardStoreState } from "../../core/store/createDashboardStore";
|
|
8
|
+
import type { BuilderMode } from "../types";
|
|
9
|
+
export interface CanvasStageWidgetHandler {
|
|
10
|
+
notifyUpdate: InjectedWidgetProps["notifyUpdate"];
|
|
11
|
+
onReceiveUpdate: InjectedWidgetProps["onReceiveUpdate"];
|
|
12
|
+
}
|
|
13
|
+
interface CanvasStageNodeStateSnapshot {
|
|
14
|
+
mode: BuilderMode;
|
|
15
|
+
interactionLocked: boolean;
|
|
16
|
+
selectedComponentId: string | null;
|
|
17
|
+
unauthorizedWidgetCodes: Set<string>;
|
|
18
|
+
dashboardCode: string;
|
|
19
|
+
builderDataResolveEnabled: boolean;
|
|
20
|
+
}
|
|
21
|
+
interface CanvasStageNodeStateStore {
|
|
22
|
+
getSnapshot: () => CanvasStageNodeStateSnapshot;
|
|
23
|
+
subscribe: (listener: () => void) => () => void;
|
|
24
|
+
setSnapshot: (snapshot: CanvasStageNodeStateSnapshot) => void;
|
|
25
|
+
}
|
|
26
|
+
interface CanvasStageNodeContextValue {
|
|
27
|
+
store: DashboardStoreState;
|
|
28
|
+
stateStore: CanvasStageNodeStateStore;
|
|
29
|
+
getWidgetHandler: (componentId: string) => CanvasStageWidgetHandler | null;
|
|
30
|
+
selectComponent: (componentId: string) => void;
|
|
31
|
+
openComponentSettings: (componentId: string) => void;
|
|
32
|
+
duplicateComponent: (componentId: string) => void;
|
|
33
|
+
deleteComponent: (componentId: string) => void;
|
|
34
|
+
}
|
|
35
|
+
interface CanvasStageNodeProviderProps {
|
|
36
|
+
store: DashboardStoreState;
|
|
37
|
+
mode: BuilderMode;
|
|
38
|
+
interactionLocked: boolean;
|
|
39
|
+
selectedComponentId: string | null;
|
|
40
|
+
unauthorizedWidgetCodes: Set<string>;
|
|
41
|
+
dashboardCode: string;
|
|
42
|
+
builderDataResolveEnabled: boolean;
|
|
43
|
+
getWidgetHandler: (componentId: string) => CanvasStageWidgetHandler | null;
|
|
44
|
+
onSelectComponent: (componentId: string) => void;
|
|
45
|
+
onOpenComponentSettings: (componentId: string) => void;
|
|
46
|
+
onDuplicateComponent: (componentId: string) => void;
|
|
47
|
+
onDeleteComponent: (componentId: string) => void;
|
|
48
|
+
children: ReactNode;
|
|
49
|
+
}
|
|
50
|
+
declare function CanvasStageNodeProviderComponent({ store, mode, interactionLocked, selectedComponentId, unauthorizedWidgetCodes, dashboardCode, builderDataResolveEnabled, getWidgetHandler, onSelectComponent, onOpenComponentSettings, onDuplicateComponent, onDeleteComponent, children }: CanvasStageNodeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export declare const CanvasStageNodeProvider: import("react").MemoExoticComponent<typeof CanvasStageNodeProviderComponent>;
|
|
52
|
+
export declare function useCanvasStageNodeContext(): CanvasStageNodeContextValue;
|
|
53
|
+
export declare function useCanvasStageNodeStateSelector<T>(selector: (snapshot: CanvasStageNodeStateSnapshot) => T, isEqual?: (left: T, right: T) => boolean): T;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=CanvasStageNodeContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasStageNodeContext.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/CanvasStageNodeContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACjD,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;CACxD;AAED,UAAU,4BAA4B;IACpC,IAAI,EAAE,WAAW,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,yBAAyB,EAAE,OAAO,CAAA;CACnC;AAED,UAAU,yBAAyB;IACjC,WAAW,EAAE,MAAM,4BAA4B,CAAA;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/C,WAAW,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,IAAI,CAAA;CAC9D;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,UAAU,EAAE,yBAAyB,CAAA;IACrC,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,wBAAwB,GAAG,IAAI,CAAA;IAC1E,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,UAAU,4BAA4B;IACpC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,IAAI,EAAE,WAAW,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,yBAAyB,EAAE,OAAO,CAAA;IAClC,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,wBAAwB,GAAG,IAAI,CAAA;IAC1E,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAyDD,iBAAS,gCAAgC,CAAC,EACxC,KAAK,EACL,IAAI,EACJ,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACT,EAAE,4BAA4B,2CAyE9B;AAED,eAAO,MAAM,uBAAuB,8EAAyC,CAAA;AAE7E,wBAAgB,yBAAyB,IAAI,2BAA2B,CAOvE;AAED,wBAAgB,+BAA+B,CAAC,CAAC,EAC/C,QAAQ,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,CAAC,EACvD,OAAO,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAmB,GAClD,CAAC,CAqCH"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/CanvasStageSurface.tsx
|
|
3
|
+
* @description CanvasStage 的纯展示壳层,负责背景、网格线与空态。
|
|
4
|
+
*/
|
|
5
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
6
|
+
import type { DashboardSettings } from "../../contracts";
|
|
7
|
+
import type { CanvasStageFrameMetrics } from "../hooks/useCanvasStageViewport";
|
|
8
|
+
import type { BuilderMode } from "../types";
|
|
9
|
+
/**
|
|
10
|
+
* CanvasStage 展示壳层的入参。
|
|
11
|
+
*/
|
|
12
|
+
interface CanvasStageSurfaceProps {
|
|
13
|
+
/** 当前 Builder 模式。 */
|
|
14
|
+
mode: BuilderMode;
|
|
15
|
+
/** 画布内组件数量。 */
|
|
16
|
+
componentCount: number;
|
|
17
|
+
/** 是否为大屏模式。 */
|
|
18
|
+
isScreenMode: boolean;
|
|
19
|
+
/** 画布缩放比例。 */
|
|
20
|
+
zoomScale: number;
|
|
21
|
+
/** 画布尺寸与网格度量信息。 */
|
|
22
|
+
frameMetrics: CanvasStageFrameMetrics;
|
|
23
|
+
/** 仪表盘画布设置。 */
|
|
24
|
+
settings: DashboardSettings;
|
|
25
|
+
/** 运行时背景样式。 */
|
|
26
|
+
backgroundStyle: CSSProperties;
|
|
27
|
+
/** 子节点内容。 */
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
export declare function CanvasStageSurface({ mode, componentCount, isScreenMode, zoomScale, frameMetrics, settings, backgroundStyle, children }: CanvasStageSurfaceProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=CanvasStageSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasStageSurface.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/CanvasStageSurface.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;GAEG;AACH,UAAU,uBAAuB;IAC/B,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAA;IACjB,eAAe;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB;IACnB,YAAY,EAAE,uBAAuB,CAAA;IACrC,eAAe;IACf,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,eAAe;IACf,eAAe,EAAE,aAAa,CAAA;IAC9B,aAAa;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,QAAQ,EACT,EAAE,uBAAuB,2CAmDzB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/ClearCanvasConfirmModal.tsx
|
|
3
|
+
* @description Builder 清空画布确认弹窗。
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 清空画布前的二次确认弹窗。
|
|
7
|
+
*
|
|
8
|
+
* @param {Object} props
|
|
9
|
+
* @param {HTMLElement} [props.getContainer]
|
|
10
|
+
* @param {function} props.onCancel 取消按钮点击事件
|
|
11
|
+
* @param {function} props.onConfirm 确认按钮点击事件
|
|
12
|
+
* @param {boolean} props.open 是否显示弹窗
|
|
13
|
+
*/
|
|
14
|
+
export declare function ClearCanvasConfirmModal({ getContainer, onCancel, onConfirm, open }: {
|
|
15
|
+
getContainer?: HTMLElement;
|
|
16
|
+
onCancel: () => void;
|
|
17
|
+
onConfirm: () => void;
|
|
18
|
+
open: boolean;
|
|
19
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=ClearCanvasConfirmModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClearCanvasConfirmModal.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/ClearCanvasConfirmModal.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,IAAI,EACL,EAAE;IACD,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;CACd,2CAeA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/UnauthorizedWidgetPlaceholder.tsx
|
|
3
|
+
* @description Builder 内未授权组件占位,统一用于编辑态和 Builder 预览态。
|
|
4
|
+
*/
|
|
5
|
+
import type { WidgetRenderProps } from "../../contracts";
|
|
6
|
+
export declare const BUILDER_UNAUTHORIZED_WIDGET_CODE = "__cps_bi_builder_unauthorized_widget__";
|
|
7
|
+
export interface UnauthorizedWidgetPlaceholderConfig {
|
|
8
|
+
originalWidgetCode: string;
|
|
9
|
+
originalWidgetName?: string;
|
|
10
|
+
}
|
|
11
|
+
interface UnauthorizedWidgetPlaceholderProps {
|
|
12
|
+
widgetCode: string;
|
|
13
|
+
widgetName?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function UnauthorizedWidgetPlaceholder({ widgetCode, widgetName }: UnauthorizedWidgetPlaceholderProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function UnauthorizedWidgetPlaceholderRenderer({ config }: WidgetRenderProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=UnauthorizedWidgetPlaceholder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnauthorizedWidgetPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/UnauthorizedWidgetPlaceholder.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,gCAAgC,2CAA2C,CAAA;AAExF,MAAM,WAAW,mCAAmC;IAClD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,UAAU,kCAAkC;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,UAAU,EACV,UAAU,EACX,EAAE,kCAAkC,2CASpC;AAED,wBAAgB,qCAAqC,CAAC,EACpD,MAAM,EACP,EAAE,iBAAiB,2CAYnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/WidgetCatalogPanel.tsx
|
|
3
|
+
* @description 悬浮组件库与插件市场,负责快速添加、详情预览与权限过滤。
|
|
4
|
+
*/
|
|
5
|
+
import type { WidgetCatalogPanelProps } from "../types";
|
|
6
|
+
export declare function WidgetCatalogPanel({ widgets, readonly, modalContainer, allowUseBuiltInWidgets, widgetCatalogFilterRender, onAddWidget, onAddWidgets }: WidgetCatalogPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=WidgetCatalogPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetCatalogPanel.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/WidgetCatalogPanel.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AA+IvD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,YAAY,EACb,EAAE,uBAAuB,2CA6XzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/components/WidgetConfigPanel.tsx
|
|
3
|
+
* @description 右侧常驻配置面板,直接将表单修改实时写入当前选中组件。
|
|
4
|
+
*/
|
|
5
|
+
import type { WidgetConfigPanelProps } from "../types";
|
|
6
|
+
export declare function WidgetConfigPanel({ dashboardCode, selectedComponent, components, readonly, onClose, onUpdateSelectedComponent, unauthorizedWidgetCodes }: WidgetConfigPanelProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=WidgetConfigPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/builder/components/WidgetConfigPanel.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOtD,wBAAgB,iBAAiB,CAAC,EAChC,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,uBAAuB,EACxB,EAAE,sBAAsB,kDA8QxB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/controllerActions.ts
|
|
3
|
+
* @description Builder controller 的纯 schema 变更动作。
|
|
4
|
+
*/
|
|
5
|
+
import type { DashboardSchema, DashboardSettings, LayoutRect, SelectedComponentUpdateAction, WidgetManifest } from "../../contracts";
|
|
6
|
+
interface ControllerSchemaResult {
|
|
7
|
+
schema: DashboardSchema;
|
|
8
|
+
selectedComponentId?: string | null;
|
|
9
|
+
}
|
|
10
|
+
export declare function updateSelectedComponent(schema: DashboardSchema, selectedComponentId: string, action: SelectedComponentUpdateAction): DashboardSchema | null;
|
|
11
|
+
export declare function updateComponentLayout(schema: DashboardSchema, componentId: string, layout: LayoutRect): DashboardSchema | null;
|
|
12
|
+
export declare function updateComponentLayouts(schema: DashboardSchema, updates: Array<{
|
|
13
|
+
componentId: string;
|
|
14
|
+
layout: LayoutRect;
|
|
15
|
+
}>): DashboardSchema | null;
|
|
16
|
+
export declare function updateDashboardSettings(schema: DashboardSchema, patch: Partial<DashboardSettings>): DashboardSchema;
|
|
17
|
+
export declare function addComponent(schema: DashboardSchema, manifest: WidgetManifest): ControllerSchemaResult;
|
|
18
|
+
export declare function addComponents(schema: DashboardSchema, manifests: WidgetManifest[]): ControllerSchemaResult | null;
|
|
19
|
+
export declare function duplicateComponentById(schema: DashboardSchema, componentId: string): ControllerSchemaResult | null;
|
|
20
|
+
export declare function removeComponentById(schema: DashboardSchema, componentId: string, currentSelectedComponentId: string | null): ControllerSchemaResult | null;
|
|
21
|
+
export declare function autoAlign(schema: DashboardSchema): DashboardSchema;
|
|
22
|
+
export declare function normalizeIncomingSchema(schema: DashboardSchema): DashboardSchema;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=controllerActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllerActions.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/controllerActions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAEV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,6BAA6B,EAC7B,cAAc,EACf,MAAM,iBAAiB,CAAA;AAiBxB,UAAU,sBAAsB;IAC9B,MAAM,EAAE,eAAe,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAwGD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,6BAA6B,GACpC,eAAe,GAAG,IAAI,CAExB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,GACjB,eAAe,GAAG,IAAI,CAmBxB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,GAC1D,eAAe,GAAG,IAAI,CAyBxB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAChC,eAAe,CAOjB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,GAAG,sBAAsB,CAkBtG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,sBAAsB,GAAG,IAAI,CAiDjH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAoBlH;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,0BAA0B,EAAE,MAAM,GAAG,IAAI,GACxC,sBAAsB,GAAG,IAAI,CAY/B;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA6ClE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAEhF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useBeforeUnloadProtection.ts
|
|
3
|
+
* @description 在存在未保存修改时注册离开页面保护。
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 在页面存在未保存修改时挂载 beforeunload 提示,避免误关闭导致内容丢失。
|
|
7
|
+
*/
|
|
8
|
+
export declare function useBeforeUnloadProtection(enabled: boolean): void;
|
|
9
|
+
//# sourceMappingURL=useBeforeUnloadProtection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBeforeUnloadProtection.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useBeforeUnloadProtection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgBhE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useBuilderAuthorization.ts
|
|
3
|
+
* @description Builder 扩展组件授权加载与持久化阻断判断。
|
|
4
|
+
*/
|
|
5
|
+
import type { DashboardSchema } from "../../contracts";
|
|
6
|
+
import type { DashboardServices } from "../../contracts/services";
|
|
7
|
+
/**
|
|
8
|
+
* 加载扩展组件授权信息,并推导当前仪表盘是否允许保存与发布。
|
|
9
|
+
*
|
|
10
|
+
* @param services Builder 服务实例
|
|
11
|
+
* @param schema 仪表盘 schema
|
|
12
|
+
* @returns
|
|
13
|
+
* - authorizationReady:授权信息是否加载完成
|
|
14
|
+
* - unauthorizedWidgetCodes:未授权的扩展组件代码集合
|
|
15
|
+
* - persistenceBlockedReason:阻断保存与发布的原因(如果有)
|
|
16
|
+
*/
|
|
17
|
+
export declare function useBuilderAuthorization(services: DashboardServices, schema: DashboardSchema | null): {
|
|
18
|
+
authorizationReady: boolean;
|
|
19
|
+
unauthorizedWidgetCodes: Set<string>;
|
|
20
|
+
persistenceBlockedReason: string | null;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useBuilderAuthorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuilderAuthorization.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useBuilderAuthorization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,eAAe,GAAG,IAAI,GAC7B;IACD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAiFA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useBuilderController.ts
|
|
3
|
+
* @description Builder 组合逻辑 Hook,负责组装 schema 状态、选中态与编辑动作。
|
|
4
|
+
*/
|
|
5
|
+
import type { BuilderController, DashboardBuilderProps } from "../types";
|
|
6
|
+
interface UseBuilderControllerOptions extends Pick<DashboardBuilderProps, "initialSchema" | "initialMode" | "readonly" | "onSchemaChange" | "onModeChange" | "onSave" | "onPublish" | "onEdit" | "onDuplicate" | "onDelete"> {
|
|
7
|
+
}
|
|
8
|
+
export declare function useBuilderController({ initialSchema, initialMode, readonly, onSchemaChange, onModeChange, onSave, onPublish, onEdit, onDuplicate, onDelete }: UseBuilderControllerOptions): BuilderController;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=useBuilderController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuilderController.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useBuilderController.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,iBAAiB,EAAe,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAerF,UAAU,2BACR,SAAQ,IAAI,CACV,qBAAqB,EACnB,eAAe,GACf,aAAa,GACb,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,aAAa,GACb,UAAU,CACb;CAAG;AAEN,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,EACb,WAAoB,EACpB,QAAgB,EAChB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACT,EAAE,2BAA2B,GAAG,iBAAiB,CA8YjD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useBuilderFullscreen.ts
|
|
3
|
+
* @description Builder 全屏态监听与切换逻辑。
|
|
4
|
+
*/
|
|
5
|
+
import type { BuilderController } from "../types";
|
|
6
|
+
/**
|
|
7
|
+
* 管理 Builder 的全屏进入、退出与悬浮退出按钮状态。
|
|
8
|
+
*
|
|
9
|
+
* @param controller Builder 控制器,用于设置编辑器模式和选中组件。
|
|
10
|
+
* @param shellRef Builder 容器的引用,用于全屏切换。
|
|
11
|
+
*
|
|
12
|
+
* @returns 全屏状态、退出按钮悬浮状态、退出按钮焦点状态、设置退出按钮焦点状态的函数、设置退出按钮悬浮状态的函数、切换全屏的函数。
|
|
13
|
+
*/
|
|
14
|
+
export declare function useBuilderFullscreen(controller: Pick<BuilderController, "setMode" | "selectComponent">, shellRef: React.RefObject<HTMLElement | null>): {
|
|
15
|
+
fullscreen: boolean;
|
|
16
|
+
fullscreenExitFocused: boolean;
|
|
17
|
+
fullscreenExitHovered: boolean;
|
|
18
|
+
setFullscreenExitFocused: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
19
|
+
setFullscreenExitHovered: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
20
|
+
toggleFullscreen: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useBuilderFullscreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuilderFullscreen.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useBuilderFullscreen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,iBAAiB,CAAC,EAClE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;;;;;;4BAwBE,OAAO,CAAC,IAAI,CAAC;EA+B7D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useCanvasStageResizeAutoPan.ts
|
|
3
|
+
* @description CanvasStage resize 过程中的贴边自动滚动。
|
|
4
|
+
*/
|
|
5
|
+
import { type RefObject } from "react";
|
|
6
|
+
export declare function resolveCanvasStageResizeAutoPanStep(params: {
|
|
7
|
+
viewportBottom: number;
|
|
8
|
+
pointerClientY: number;
|
|
9
|
+
edgePx?: number;
|
|
10
|
+
minStep?: number;
|
|
11
|
+
maxStep?: number;
|
|
12
|
+
}): number;
|
|
13
|
+
export declare function useCanvasStageResizeAutoPan(params: {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
scrollerRef: RefObject<HTMLDivElement | null>;
|
|
16
|
+
}): {
|
|
17
|
+
startAutoPan: (pointerClientY: number | null) => void;
|
|
18
|
+
stopAutoPan: () => void;
|
|
19
|
+
updatePointerClientY: (pointerClientY: number | null) => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useCanvasStageResizeAutoPan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasStageResizeAutoPan.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useCanvasStageResizeAutoPan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtE,wBAAgB,mCAAmC,CAAC,MAAM,EAAE;IAC1D,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAaT;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAC9C;mCAkEoB,MAAM,GAAG,IAAI,KAAG,IAAI;uBA7DH,IAAI;2CAiDrB,MAAM,GAAG,IAAI,KAAG,IAAI;EAyDxC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/builder/hooks/useCanvasStageScreenInteraction.ts
|
|
3
|
+
* @description CanvasStage 大屏模式的缩放、抓手与平移交互。
|
|
4
|
+
*/
|
|
5
|
+
import { type MouseEvent as ReactMouseEvent, type RefObject } from "react";
|
|
6
|
+
export declare function useCanvasStageScreenInteraction(params: {
|
|
7
|
+
isScreenMode: boolean;
|
|
8
|
+
canvasWidth: number;
|
|
9
|
+
canvasHeight: number;
|
|
10
|
+
scrollerRef: RefObject<HTMLDivElement | null>;
|
|
11
|
+
}): {
|
|
12
|
+
zoomPercent: number;
|
|
13
|
+
zoomScale: number;
|
|
14
|
+
showZoomOverlay: boolean;
|
|
15
|
+
spacePressed: boolean;
|
|
16
|
+
panning: boolean;
|
|
17
|
+
handMode: boolean;
|
|
18
|
+
zoomLayerStyle: {
|
|
19
|
+
minWidth: string;
|
|
20
|
+
minHeight: string;
|
|
21
|
+
width: string;
|
|
22
|
+
height: string;
|
|
23
|
+
};
|
|
24
|
+
applyZoomValue: (value: number) => void;
|
|
25
|
+
handleScrollerMouseDown: (event: ReactMouseEvent<HTMLDivElement>) => void;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useCanvasStageScreenInteraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasStageScreenInteraction.d.ts","sourceRoot":"","sources":["../../../../src/builder/hooks/useCanvasStageScreenInteraction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAmCd,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAC9C;;;;;;;;;;;;;4BAuNW,MAAM,KAAG,IAAI;qCAQb,eAAe,CAAC,cAAc,CAAC,KAAG,IAAI;EA2CjD"}
|