zc-lowcode 0.0.1 → 0.0.3

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.
Files changed (268) hide show
  1. package/README.md +430 -3
  2. package/designer.d.ts +5 -0
  3. package/dist/assets/code-editor.css +1 -0
  4. package/dist/assets/designer.css +1 -0
  5. package/dist/assets/materials.css +1 -0
  6. package/dist/assets/runtime-definitions.css +1 -0
  7. package/dist/assets/runtime.css +1 -0
  8. package/dist/assets/sortable.css +1 -0
  9. package/dist/code-editor-DJwwp3uU.js +9 -0
  10. package/dist/code-editor-DJwwp3uU.js.map +1 -0
  11. package/dist/code-editor.vue_vue_type_script_setup_true_lang-aA043pnA.js +40176 -0
  12. package/dist/code-editor.vue_vue_type_script_setup_true_lang-aA043pnA.js.map +1 -0
  13. package/dist/core/index.d.ts +560 -0
  14. package/dist/core/index.d.ts.map +1 -0
  15. package/dist/core.js +881 -0
  16. package/dist/core.js.map +1 -0
  17. package/dist/designer/canvas/draggable-list.vue.d.ts +15 -0
  18. package/dist/designer/canvas/draggable-list.vue.d.ts.map +1 -0
  19. package/dist/designer/canvas/widget-node.vue.d.ts +11 -0
  20. package/dist/designer/canvas/widget-node.vue.d.ts.map +1 -0
  21. package/dist/designer/canvas/workspace.vue.d.ts +3 -0
  22. package/dist/designer/canvas/workspace.vue.d.ts.map +1 -0
  23. package/dist/designer/datasource/data-editor.vue.d.ts +13 -0
  24. package/dist/designer/datasource/data-editor.vue.d.ts.map +1 -0
  25. package/dist/designer/datasource/datasource-help.d.ts +9 -0
  26. package/dist/designer/datasource/datasource-help.d.ts.map +1 -0
  27. package/dist/designer/datasource/panel.vue.d.ts +3 -0
  28. package/dist/designer/datasource/panel.vue.d.ts.map +1 -0
  29. package/dist/designer/designer.d.ts +119 -0
  30. package/dist/designer/designer.d.ts.map +1 -0
  31. package/dist/designer/designer.vue.d.ts +40 -0
  32. package/dist/designer/designer.vue.d.ts.map +1 -0
  33. package/dist/designer/index.d.ts +13 -0
  34. package/dist/designer/index.d.ts.map +1 -0
  35. package/dist/designer/material-registry.d.ts +19 -0
  36. package/dist/designer/material-registry.d.ts.map +1 -0
  37. package/dist/designer/materials/widget-library.vue.d.ts +3 -0
  38. package/dist/designer/materials/widget-library.vue.d.ts.map +1 -0
  39. package/dist/designer/methods/api-method-params-list.vue.d.ts +14 -0
  40. package/dist/designer/methods/api-method-params-list.vue.d.ts.map +1 -0
  41. package/dist/designer/methods/api-param-bind-button.vue.d.ts +17 -0
  42. package/dist/designer/methods/api-param-bind-button.vue.d.ts.map +1 -0
  43. package/dist/designer/methods/api-param-list.vue.d.ts +19 -0
  44. package/dist/designer/methods/api-param-list.vue.d.ts.map +1 -0
  45. package/dist/designer/methods/api-result-rules-list.vue.d.ts +16 -0
  46. package/dist/designer/methods/api-result-rules-list.vue.d.ts.map +1 -0
  47. package/dist/designer/methods/method-api-config-form.vue.d.ts +15 -0
  48. package/dist/designer/methods/method-api-config-form.vue.d.ts.map +1 -0
  49. package/dist/designer/methods/page-method-api.d.ts +37 -0
  50. package/dist/designer/methods/page-method-api.d.ts.map +1 -0
  51. package/dist/designer/methods/page-method-editor-modal.vue.d.ts +30 -0
  52. package/dist/designer/methods/page-method-editor-modal.vue.d.ts.map +1 -0
  53. package/dist/designer/methods/page-method-simulate-args-modal.vue.d.ts +18 -0
  54. package/dist/designer/methods/page-method-simulate-args-modal.vue.d.ts.map +1 -0
  55. package/dist/designer/methods/page-methods.vue.d.ts +3 -0
  56. package/dist/designer/methods/page-methods.vue.d.ts.map +1 -0
  57. package/dist/designer/methods/use-page-methods-editor.d.ts +163 -0
  58. package/dist/designer/methods/use-page-methods-editor.d.ts.map +1 -0
  59. package/dist/designer/outline/panel.vue.d.ts +5 -0
  60. package/dist/designer/outline/panel.vue.d.ts.map +1 -0
  61. package/dist/designer/properties/panel.vue.d.ts +18 -0
  62. package/dist/designer/properties/panel.vue.d.ts.map +1 -0
  63. package/dist/designer/shared/code-editor-page-context-completion.d.ts +39 -0
  64. package/dist/designer/shared/code-editor-page-context-completion.d.ts.map +1 -0
  65. package/dist/designer/shared/code-editor.vue.d.ts +93 -0
  66. package/dist/designer/shared/code-editor.vue.d.ts.map +1 -0
  67. package/dist/designer/use-designer-shortcuts.d.ts +21 -0
  68. package/dist/designer/use-designer-shortcuts.d.ts.map +1 -0
  69. package/dist/designer-style.js +4 -0
  70. package/dist/designer.js +3215 -0
  71. package/dist/designer.js.map +1 -0
  72. package/dist/materials/definitions.d.ts +3 -0
  73. package/dist/materials/definitions.d.ts.map +1 -0
  74. package/dist/materials/index.d.ts +11 -0
  75. package/dist/materials/index.d.ts.map +1 -0
  76. package/dist/materials/packages/button/index.d.ts +4 -0
  77. package/dist/materials/packages/button/index.d.ts.map +1 -0
  78. package/dist/materials/packages/button/options.d.ts +45 -0
  79. package/dist/materials/packages/button/options.d.ts.map +1 -0
  80. package/dist/materials/packages/button/setter.vue.d.ts +7 -0
  81. package/dist/materials/packages/button/setter.vue.d.ts.map +1 -0
  82. package/dist/materials/packages/button/view.vue.d.ts +11 -0
  83. package/dist/materials/packages/button/view.vue.d.ts.map +1 -0
  84. package/dist/materials/packages/card/index.d.ts +4 -0
  85. package/dist/materials/packages/card/index.d.ts.map +1 -0
  86. package/dist/materials/packages/card/options.d.ts +24 -0
  87. package/dist/materials/packages/card/options.d.ts.map +1 -0
  88. package/dist/materials/packages/card/setter.vue.d.ts +7 -0
  89. package/dist/materials/packages/card/setter.vue.d.ts.map +1 -0
  90. package/dist/materials/packages/card/view.vue.d.ts +28 -0
  91. package/dist/materials/packages/card/view.vue.d.ts.map +1 -0
  92. package/dist/materials/packages/carousel/carousel-slide/options.d.ts +12 -0
  93. package/dist/materials/packages/carousel/carousel-slide/options.d.ts.map +1 -0
  94. package/dist/materials/packages/carousel/carousel-slide/setter.vue.d.ts +7 -0
  95. package/dist/materials/packages/carousel/carousel-slide/setter.vue.d.ts.map +1 -0
  96. package/dist/materials/packages/carousel/carousel-slide/view.vue.d.ts +24 -0
  97. package/dist/materials/packages/carousel/carousel-slide/view.vue.d.ts.map +1 -0
  98. package/dist/materials/packages/carousel/designer.vue.d.ts +30 -0
  99. package/dist/materials/packages/carousel/designer.vue.d.ts.map +1 -0
  100. package/dist/materials/packages/carousel/index.d.ts +5 -0
  101. package/dist/materials/packages/carousel/index.d.ts.map +1 -0
  102. package/dist/materials/packages/carousel/options.d.ts +65 -0
  103. package/dist/materials/packages/carousel/options.d.ts.map +1 -0
  104. package/dist/materials/packages/carousel/setter.vue.d.ts +7 -0
  105. package/dist/materials/packages/carousel/setter.vue.d.ts.map +1 -0
  106. package/dist/materials/packages/carousel/view.vue.d.ts +41 -0
  107. package/dist/materials/packages/carousel/view.vue.d.ts.map +1 -0
  108. package/dist/materials/packages/divider/index.d.ts +4 -0
  109. package/dist/materials/packages/divider/index.d.ts.map +1 -0
  110. package/dist/materials/packages/divider/options.d.ts +39 -0
  111. package/dist/materials/packages/divider/options.d.ts.map +1 -0
  112. package/dist/materials/packages/divider/setter.vue.d.ts +7 -0
  113. package/dist/materials/packages/divider/setter.vue.d.ts.map +1 -0
  114. package/dist/materials/packages/divider/view.vue.d.ts +11 -0
  115. package/dist/materials/packages/divider/view.vue.d.ts.map +1 -0
  116. package/dist/materials/packages/grid/designer.vue.d.ts +160 -0
  117. package/dist/materials/packages/grid/designer.vue.d.ts.map +1 -0
  118. package/dist/materials/packages/grid/index.d.ts +4 -0
  119. package/dist/materials/packages/grid/index.d.ts.map +1 -0
  120. package/dist/materials/packages/grid/options.d.ts +41 -0
  121. package/dist/materials/packages/grid/options.d.ts.map +1 -0
  122. package/dist/materials/packages/grid/setter.vue.d.ts +7 -0
  123. package/dist/materials/packages/grid/setter.vue.d.ts.map +1 -0
  124. package/dist/materials/packages/grid/split.d.ts +18 -0
  125. package/dist/materials/packages/grid/split.d.ts.map +1 -0
  126. package/dist/materials/packages/grid/view.vue.d.ts +35 -0
  127. package/dist/materials/packages/grid/view.vue.d.ts.map +1 -0
  128. package/dist/materials/packages/image/index.d.ts +4 -0
  129. package/dist/materials/packages/image/index.d.ts.map +1 -0
  130. package/dist/materials/packages/image/options.d.ts +31 -0
  131. package/dist/materials/packages/image/options.d.ts.map +1 -0
  132. package/dist/materials/packages/image/setter.vue.d.ts +7 -0
  133. package/dist/materials/packages/image/setter.vue.d.ts.map +1 -0
  134. package/dist/materials/packages/image/view.vue.d.ts +11 -0
  135. package/dist/materials/packages/image/view.vue.d.ts.map +1 -0
  136. package/dist/materials/packages/list/designer.vue.d.ts +29 -0
  137. package/dist/materials/packages/list/designer.vue.d.ts.map +1 -0
  138. package/dist/materials/packages/list/index.d.ts +4 -0
  139. package/dist/materials/packages/list/index.d.ts.map +1 -0
  140. package/dist/materials/packages/list/options.d.ts +60 -0
  141. package/dist/materials/packages/list/options.d.ts.map +1 -0
  142. package/dist/materials/packages/list/setter.vue.d.ts +7 -0
  143. package/dist/materials/packages/list/setter.vue.d.ts.map +1 -0
  144. package/dist/materials/packages/list/view.vue.d.ts +31 -0
  145. package/dist/materials/packages/list/view.vue.d.ts.map +1 -0
  146. package/dist/materials/packages/tab/designer.vue.d.ts +30 -0
  147. package/dist/materials/packages/tab/designer.vue.d.ts.map +1 -0
  148. package/dist/materials/packages/tab/index.d.ts +5 -0
  149. package/dist/materials/packages/tab/index.d.ts.map +1 -0
  150. package/dist/materials/packages/tab/options.d.ts +48 -0
  151. package/dist/materials/packages/tab/options.d.ts.map +1 -0
  152. package/dist/materials/packages/tab/setter.vue.d.ts +7 -0
  153. package/dist/materials/packages/tab/setter.vue.d.ts.map +1 -0
  154. package/dist/materials/packages/tab/tab-pane/options.d.ts +13 -0
  155. package/dist/materials/packages/tab/tab-pane/options.d.ts.map +1 -0
  156. package/dist/materials/packages/tab/tab-pane/setter.vue.d.ts +7 -0
  157. package/dist/materials/packages/tab/tab-pane/setter.vue.d.ts.map +1 -0
  158. package/dist/materials/packages/tab/tab-pane/view.vue.d.ts +24 -0
  159. package/dist/materials/packages/tab/tab-pane/view.vue.d.ts.map +1 -0
  160. package/dist/materials/packages/tab/view.vue.d.ts +34 -0
  161. package/dist/materials/packages/tab/view.vue.d.ts.map +1 -0
  162. package/dist/materials/packages/text/index.d.ts +4 -0
  163. package/dist/materials/packages/text/index.d.ts.map +1 -0
  164. package/dist/materials/packages/text/options.d.ts +29 -0
  165. package/dist/materials/packages/text/options.d.ts.map +1 -0
  166. package/dist/materials/packages/text/setter.vue.d.ts +7 -0
  167. package/dist/materials/packages/text/setter.vue.d.ts.map +1 -0
  168. package/dist/materials/packages/text/view.vue.d.ts +11 -0
  169. package/dist/materials/packages/text/view.vue.d.ts.map +1 -0
  170. package/dist/materials/page/index.d.ts +4 -0
  171. package/dist/materials/page/index.d.ts.map +1 -0
  172. package/dist/materials/page/lifecycle-panel.vue.d.ts +13 -0
  173. package/dist/materials/page/lifecycle-panel.vue.d.ts.map +1 -0
  174. package/dist/materials/page/setter-slots.d.ts +7 -0
  175. package/dist/materials/page/setter-slots.d.ts.map +1 -0
  176. package/dist/materials/page/setter.vue.d.ts +25 -0
  177. package/dist/materials/page/setter.vue.d.ts.map +1 -0
  178. package/dist/materials/page/view.vue.d.ts +26 -0
  179. package/dist/materials/page/view.vue.d.ts.map +1 -0
  180. package/dist/materials/runtime-definitions.d.ts +10 -0
  181. package/dist/materials/runtime-definitions.d.ts.map +1 -0
  182. package/dist/materials/shared/designer/container-children.vue.d.ts +24 -0
  183. package/dist/materials/shared/designer/container-children.vue.d.ts.map +1 -0
  184. package/dist/materials/shared/designer/helpers.d.ts +68 -0
  185. package/dist/materials/shared/designer/helpers.d.ts.map +1 -0
  186. package/dist/materials/shared/designer/icon.vue.d.ts +8 -0
  187. package/dist/materials/shared/designer/icon.vue.d.ts.map +1 -0
  188. package/dist/materials/shared/designer/selection-chrome.vue.d.ts +31 -0
  189. package/dist/materials/shared/designer/selection-chrome.vue.d.ts.map +1 -0
  190. package/dist/materials/shared/designer/use-keyed-slot-sync.d.ts +15 -0
  191. package/dist/materials/shared/designer/use-keyed-slot-sync.d.ts.map +1 -0
  192. package/dist/materials/shared/designer/use-widget-size-resize.d.ts +16 -0
  193. package/dist/materials/shared/designer/use-widget-size-resize.d.ts.map +1 -0
  194. package/dist/materials/shared/envelopes/internal-pane-view.vue.d.ts +29 -0
  195. package/dist/materials/shared/envelopes/internal-pane-view.vue.d.ts.map +1 -0
  196. package/dist/materials/shared/envelopes/item-scope-provider.vue.d.ts +22 -0
  197. package/dist/materials/shared/envelopes/item-scope-provider.vue.d.ts.map +1 -0
  198. package/dist/materials/shared/setter/components/binding-form-item.vue.d.ts +40 -0
  199. package/dist/materials/shared/setter/components/binding-form-item.vue.d.ts.map +1 -0
  200. package/dist/materials/shared/setter/components/binding-picker/binding-scope-tree.d.ts +83 -0
  201. package/dist/materials/shared/setter/components/binding-picker/binding-scope-tree.d.ts.map +1 -0
  202. package/dist/materials/shared/setter/components/binding-picker/binding-utils.d.ts +105 -0
  203. package/dist/materials/shared/setter/components/binding-picker/binding-utils.d.ts.map +1 -0
  204. package/dist/materials/shared/setter/components/binding-picker/index.vue.d.ts +30 -0
  205. package/dist/materials/shared/setter/components/binding-picker/index.vue.d.ts.map +1 -0
  206. package/dist/materials/shared/setter/components/box-model.vue.d.ts +11 -0
  207. package/dist/materials/shared/setter/components/box-model.vue.d.ts.map +1 -0
  208. package/dist/materials/shared/setter/components/color-input.vue.d.ts +14 -0
  209. package/dist/materials/shared/setter/components/color-input.vue.d.ts.map +1 -0
  210. package/dist/materials/shared/setter/components/image-upload.vue.d.ts +25 -0
  211. package/dist/materials/shared/setter/components/image-upload.vue.d.ts.map +1 -0
  212. package/dist/materials/shared/setter/components/keyed-slot-child-list.vue.d.ts +17 -0
  213. package/dist/materials/shared/setter/components/keyed-slot-child-list.vue.d.ts.map +1 -0
  214. package/dist/materials/shared/setter/components/offset-box.vue.d.ts +11 -0
  215. package/dist/materials/shared/setter/components/offset-box.vue.d.ts.map +1 -0
  216. package/dist/materials/shared/setter/components/percent-input.vue.d.ts +19 -0
  217. package/dist/materials/shared/setter/components/percent-input.vue.d.ts.map +1 -0
  218. package/dist/materials/shared/setter/components/style-property-input.vue.d.ts +92 -0
  219. package/dist/materials/shared/setter/components/style-property-input.vue.d.ts.map +1 -0
  220. package/dist/materials/shared/setter/composables/use-page-data-field-options.d.ts +15 -0
  221. package/dist/materials/shared/setter/composables/use-page-data-field-options.d.ts.map +1 -0
  222. package/dist/materials/shared/setter/panels/animation-panel.vue.d.ts +7 -0
  223. package/dist/materials/shared/setter/panels/animation-panel.vue.d.ts.map +1 -0
  224. package/dist/materials/shared/setter/panels/background-panel.vue.d.ts +11 -0
  225. package/dist/materials/shared/setter/panels/background-panel.vue.d.ts.map +1 -0
  226. package/dist/materials/shared/setter/panels/border-panel.vue.d.ts +11 -0
  227. package/dist/materials/shared/setter/panels/border-panel.vue.d.ts.map +1 -0
  228. package/dist/materials/shared/setter/panels/event-panel.vue.d.ts +14 -0
  229. package/dist/materials/shared/setter/panels/event-panel.vue.d.ts.map +1 -0
  230. package/dist/materials/shared/setter/panels/layout-panel.vue.d.ts +25 -0
  231. package/dist/materials/shared/setter/panels/layout-panel.vue.d.ts.map +1 -0
  232. package/dist/materials/shared/setter/panels/position-panel.vue.d.ts +16 -0
  233. package/dist/materials/shared/setter/panels/position-panel.vue.d.ts.map +1 -0
  234. package/dist/materials/shared/setter/panels/typography-panel.vue.d.ts +11 -0
  235. package/dist/materials/shared/setter/panels/typography-panel.vue.d.ts.map +1 -0
  236. package/dist/materials/shared/setter/panels/widget-style-panel.vue.d.ts +30 -0
  237. package/dist/materials/shared/setter/panels/widget-style-panel.vue.d.ts.map +1 -0
  238. package/dist/materials/shared/setter/shell.vue.d.ts +21 -0
  239. package/dist/materials/shared/setter/shell.vue.d.ts.map +1 -0
  240. package/dist/materials/shared/setter/use-widget-setter.d.ts +35 -0
  241. package/dist/materials/shared/setter/use-widget-setter.d.ts.map +1 -0
  242. package/dist/materials-style.js +3 -0
  243. package/dist/materials.js +14703 -0
  244. package/dist/materials.js.map +1 -0
  245. package/dist/runtime/index.d.ts +6 -0
  246. package/dist/runtime/index.d.ts.map +1 -0
  247. package/dist/runtime/page-renderer.vue.d.ts +4 -0
  248. package/dist/runtime/page-renderer.vue.d.ts.map +1 -0
  249. package/dist/runtime/runtime.d.ts +585 -0
  250. package/dist/runtime/runtime.d.ts.map +1 -0
  251. package/dist/runtime/scoped-style-block.vue.d.ts +7 -0
  252. package/dist/runtime/scoped-style-block.vue.d.ts.map +1 -0
  253. package/dist/runtime/widget-node.vue.d.ts +9 -0
  254. package/dist/runtime/widget-node.vue.d.ts.map +1 -0
  255. package/dist/runtime-definitions-BGShdDBK.js +1984 -0
  256. package/dist/runtime-definitions-BGShdDBK.js.map +1 -0
  257. package/dist/runtime-style.js +3 -0
  258. package/dist/runtime.js +262 -0
  259. package/dist/runtime.js.map +1 -0
  260. package/dist/sortable.esm-DbutZcEr.js +18104 -0
  261. package/dist/sortable.esm-DbutZcEr.js.map +1 -0
  262. package/dist/style.js +3 -0
  263. package/package.json +73 -41
  264. package/runtime.d.ts +5 -0
  265. package/dist/lowcode-editor.es.js +0 -79541
  266. package/dist/lowcode-editor.umd.js +0 -79542
  267. package/dist/style.css +0 -154
  268. package/dist/type.d.ts +0 -28
@@ -0,0 +1,560 @@
1
+ import { App, Component } from 'vue';
2
+ /** 与 Ant Design Grid 一致的响应式断点 */
3
+ export type StyleBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
4
+ export declare const STYLE_BREAKPOINTS: StyleBreakpoint[];
5
+ export declare const STYLE_BREAKPOINT_MIN_WIDTH: Record<Exclude<StyleBreakpoint, 'xs'>, number>;
6
+ export declare const STYLE_BREAKPOINT_META: Record<StyleBreakpoint, {
7
+ label: string;
8
+ hint: string;
9
+ }>;
10
+ /** 单属性在各断点下的取值 */
11
+ export type ResponsiveStyleValue = Partial<Record<StyleBreakpoint, string>>;
12
+ export type CssStyleValue = string | ResponsiveStyleValue;
13
+ /** 内联 CSS 键值(可序列化,供 Page / Widget options 与样式面板共用) */
14
+ export type CssStyle = Record<string, CssStyleValue>;
15
+ /** 已按断点展平、可直接绑定 DOM :style 的样式 */
16
+ export type FlatCssStyle = Record<string, string>;
17
+ /** 样式面板编辑态:默认 + 交互伪类态 */
18
+ export type WidgetStyleState = 'default' | 'hover' | 'active' | 'focus';
19
+ export type WidgetPseudoStyleState = Exclude<WidgetStyleState, 'default'>;
20
+ /** 动画触发方式 */
21
+ export type WidgetAnimationTrigger = 'mount' | 'hover' | 'active' | 'focus' | 'click' | 'inView';
22
+ /** 内置关键帧预设 id */
23
+ export type WidgetAnimationPreset = 'fadeIn' | 'fadeOut' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'zoomIn' | 'zoomOut' | 'pulse' | 'shake' | 'custom';
24
+ export type WidgetAnimationFillMode = 'none' | 'forwards' | 'backwards' | 'both';
25
+ /** 自定义关键帧单步(preset === 'custom' 时使用) */
26
+ export type WidgetAnimationKeyframeStep = {
27
+ offset: number | 'from' | 'to';
28
+ styles: Record<string, string>;
29
+ };
30
+ /** 关键帧动画配置 */
31
+ export type WidgetAnimationConfig = {
32
+ enabled?: boolean;
33
+ preset: WidgetAnimationPreset;
34
+ trigger: WidgetAnimationTrigger;
35
+ duration?: string;
36
+ delay?: string;
37
+ timingFunction?: string;
38
+ iterationCount?: string;
39
+ fillMode?: WidgetAnimationFillMode;
40
+ /** inView:仅播放一次 */
41
+ once?: boolean;
42
+ /** inView:可见比例阈值 0–1 */
43
+ threshold?: number;
44
+ keyframes?: WidgetAnimationKeyframeStep[];
45
+ };
46
+ /** CSS Transition 配置(作用于 default 态) */
47
+ export type WidgetTransitionConfig = {
48
+ enabled?: boolean;
49
+ property?: string;
50
+ duration?: string;
51
+ timingFunction?: string;
52
+ delay?: string;
53
+ };
54
+ /** 动画 / 过渡(挂在 styles.motion,由 runtime 编译为 scoped CSS) */
55
+ export type WidgetMotionStyles = {
56
+ transition?: WidgetTransitionConfig;
57
+ animation?: WidgetAnimationConfig;
58
+ };
59
+ /** 组件各视觉态样式(default 为默认态,其余为伪类覆盖) */
60
+ export type WidgetStyles = {
61
+ default?: CssStyle;
62
+ hover?: CssStyle;
63
+ active?: CssStyle;
64
+ focus?: CssStyle;
65
+ motion?: WidgetMotionStyles;
66
+ };
67
+ export declare const WIDGET_ANIMATION_TRIGGER_LABELS: Record<WidgetAnimationTrigger, string>;
68
+ export declare const WIDGET_ANIMATION_PRESET_LABELS: Record<WidgetAnimationPreset, string>;
69
+ export declare const WIDGET_ANIMATION_TRIGGERS: WidgetAnimationTrigger[];
70
+ export declare const WIDGET_ANIMATION_PRESETS: WidgetAnimationPreset[];
71
+ export declare const WIDGET_PSEUDO_STYLE_STATES: WidgetPseudoStyleState[];
72
+ export declare const WIDGET_STYLE_STATE_LABELS: Record<WidgetStyleState, string>;
73
+ export declare function isResponsiveStyleValue(value: unknown): value is ResponsiveStyleValue;
74
+ export declare function readStyleValue(style: CssStyle | undefined, key: string, breakpoint?: StyleBreakpoint): string;
75
+ /** 移动优先:未配置的断点继承上一档 */
76
+ export declare function resolveResponsiveValue(value: ResponsiveStyleValue, breakpoint: StyleBreakpoint): string;
77
+ export declare function resolveBreakpointByWidth(width: number): StyleBreakpoint;
78
+ export declare function cleanResponsiveValue(value: ResponsiveStyleValue): CssStyleValue | undefined;
79
+ export declare function hasResponsiveStyle(style?: CssStyle): boolean;
80
+ export declare function resolveFlatCssStyle(style: CssStyle | undefined, breakpoint: StyleBreakpoint): Record<string, string>;
81
+ /** 单条事件绑定 */
82
+ export type WidgetEventItem = {
83
+ /** 列表项稳定 key(用于增删) */
84
+ key: number;
85
+ /** DOM / 组件事件名,如 click */
86
+ name: string;
87
+ /** 事件处理函数源码,如 (event, widgetCtx) => { await context.methods.xxx() } */
88
+ handler: string;
89
+ };
90
+ /** 组件事件绑定列表 */
91
+ export type WidgetEvents = WidgetEventItem[];
92
+ /** 添加事件时的常用预设(可选) */
93
+ export type WidgetEventPreset = {
94
+ name: string;
95
+ label: string;
96
+ placeholder?: string;
97
+ hint?: string;
98
+ };
99
+ export type EventHandlerContext = {
100
+ widget: {
101
+ id: number;
102
+ type: string;
103
+ name: string;
104
+ options: Record<string, unknown>;
105
+ };
106
+ /** 列表行事件作用域 */
107
+ item?: Record<string, unknown>;
108
+ index?: number;
109
+ };
110
+ export type WidgetEventHandler = (event: Event, context: EventHandlerContext) => void;
111
+ /** 设计模式下需 preventDefault 的交互事件,避免误触跳转等默认行为 */
112
+ export declare const DESIGN_MODE_PREVENT_DEFAULT_EVENTS: Set<string>;
113
+ /** 页面生命周期钩子名 */
114
+ export type PageLifecycleKey = 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeDestroy' | 'destroyed';
115
+ /** 当前仅接口模板 */
116
+ export type PageMethodTemplate = 'api';
117
+ /** 接口请求 HTTP 配置 */
118
+ export type PageMethodHttpRequest = {
119
+ url: string;
120
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
121
+ headers?: string;
122
+ query?: string;
123
+ body?: string;
124
+ };
125
+ /** 响应 → context.data 映射规则 */
126
+ export type PageMethodApiResultRule = {
127
+ target: string;
128
+ /** 相对响应根的路径,如 data.items;空=整段响应 */
129
+ sourcePath?: string;
130
+ /** 可选兜底,字面量或 {{字段}}/{{入参}} */
131
+ fallback?: string;
132
+ };
133
+ /** 接口请求 UI 配置(保存时 generate handler) */
134
+ export type PageMethodApiConfig = {
135
+ loadingField?: string;
136
+ params?: string;
137
+ request: PageMethodHttpRequest;
138
+ result?: PageMethodApiResultRule[];
139
+ };
140
+ /** 设计器元数据,runtime 不读 */
141
+ export type PageMethodMeta = {
142
+ template: PageMethodTemplate;
143
+ api: PageMethodApiConfig;
144
+ };
145
+ /** 页面自定义方法 */
146
+ export type PageMethodItem = {
147
+ key: number;
148
+ name: string;
149
+ handler: string;
150
+ meta?: PageMethodMeta;
151
+ };
152
+ /** 生命周期钩子源码 */
153
+ export type PageLifecycleSource = Partial<Record<PageLifecycleKey, string>>;
154
+ /** 页面方法列表 */
155
+ export type PageMethods = PageMethodItem[];
156
+ /** 页面脚本运行时上下文 */
157
+ export type PageScriptContext = {
158
+ data: Record<string, unknown>;
159
+ methods: Record<string, (...args: unknown[]) => unknown>;
160
+ };
161
+ /** 页面数据字段值类型(JSON 可序列化) */
162
+ export type PageDataValueType = 'string' | 'number' | 'boolean' | 'null' | 'object' | 'array';
163
+ /** 单条页面数据字段(设计器可编辑的初始值) */
164
+ export type PageDataItem = {
165
+ key: number;
166
+ /** 写入 context.data 的键名 */
167
+ name: string;
168
+ value: unknown;
169
+ };
170
+ export type PageData = PageDataItem[];
171
+ export type PageLifecyclePreset = {
172
+ name: PageLifecycleKey;
173
+ label: string;
174
+ placeholder?: string;
175
+ hint?: string;
176
+ };
177
+ /** 各物料 options 的公共字段(core 层宽松结构;各物料 options.ts 负责具体字段与 ensure) */
178
+ export type WidgetOptions = {
179
+ [key: string]: unknown;
180
+ };
181
+ /**
182
+ * 可持久化的节点字段(保存 / 历史快照 / v-model 出站应仅含此结构)。
183
+ * 运行时编辑字段见 {@link WidgetEditorFields}。
184
+ */
185
+ export type WidgetPersisted = {
186
+ id: number;
187
+ type: string;
188
+ /** 组件类型名称(来自物料定义,不可编辑) */
189
+ name: string;
190
+ /** 用户自定义展示名称(大纲树等;默认等于 name,修改后不同步 name) */
191
+ title?: string;
192
+ /** 锁定后设计器内不可移动、删除或修改属性(可持久化) */
193
+ locked?: boolean;
194
+ styles?: WidgetStyles;
195
+ events?: WidgetEvents;
196
+ options: WidgetOptions;
197
+ children?: WidgetPersisted[];
198
+ };
199
+ /** 带 activeKey 的子项容器(标签页、走马灯等)的通用配置 */
200
+ export type KeyedSlotContainerConfig = {
201
+ /** 判断 widget 是否为该类型的 keyed slot 容器 */
202
+ isContainer: (widget: Widget) => boolean;
203
+ /** 判断 widget 是否为该容器的直接子项(如 tab-pane) */
204
+ isChild: (widget: Widget) => boolean;
205
+ /** 从 container.children 中筛出合法子项列表 */
206
+ getChildren: (widget: Widget) => Widget[];
207
+ /** 根据当前子项计算 options.activeKey */
208
+ resolveActiveKey: (widget: Widget) => number | undefined;
209
+ /** 创建一个新的子项 widget */
210
+ createChild: (title?: string) => Widget;
211
+ /** 容器无子项时创建的默认子项列表 */
212
+ createDefaultChildren: (count?: number) => Widget[];
213
+ /** 补全容器 widget / options 默认值 */
214
+ ensureContainerOptions: (widget: Widget) => void;
215
+ /** 补全子项 options 默认值 */
216
+ ensureChildOptions: (child: Widget) => void;
217
+ /** 从子项 options 生成展示标题 */
218
+ getChildTitle: (child: Widget) => string;
219
+ /** 新建子项时的标题前缀,如「标签」 */
220
+ childTitlePrefix: string;
221
+ /** 容器节点 normalize 前的额外处理(如走马灯高度迁移) */
222
+ onBeforeNormalizeContainer?: (widget: Widget) => void;
223
+ };
224
+ /** 加载 / 复制后对整棵组件树执行 in-place 规范化的函数签名 */
225
+ export type WidgetNormalizer = (root: Widget) => void;
226
+ /** 仅设计器使用的字段(不入库;历史栈会通过 page-snapshot 剥离) */
227
+ export type WidgetEditorFields = {
228
+ icon?: string | object;
229
+ component?: object;
230
+ setterComponent?: object;
231
+ /** 画布编辑态外壳(如 grid 剪刀);无则直接渲染 view */
232
+ designerComponent?: object;
233
+ eventPresets?: WidgetEventPreset[];
234
+ keyedSlotConfig?: KeyedSlotContainerConfig;
235
+ normalize?: WidgetNormalizer;
236
+ copyNeedsNormalize?: boolean;
237
+ /** 容器 view 是否通过 #item slot 逐子项渲染 */
238
+ usesItemSlot?: boolean | ((widget: Widget) => boolean);
239
+ /** 内部子节点(不入库;加载时按 type 与树位置推导) */
240
+ internal?: boolean;
241
+ /** 画布/大纲是否允许挂载任意子组件(非 keyed slot 容器的子项类型) */
242
+ isContainer?: boolean;
243
+ };
244
+ /** 画布节点:持久化结构 + 编辑态引用 */
245
+ export type Widget = WidgetPersisted & WidgetEditorFields;
246
+ export declare function ensureWidgetStyles(widget: Widget): WidgetStyles;
247
+ export declare function ensureWidgetMotion(styles: WidgetStyles): WidgetMotionStyles;
248
+ export declare function isWidgetAnimationEnabled(animation?: WidgetAnimationConfig): boolean;
249
+ export declare function isWidgetTransitionEnabled(transition?: WidgetTransitionConfig): boolean;
250
+ export declare function hasWidgetAnimation(styles?: WidgetStyles): boolean;
251
+ export declare function hasWidgetTransition(styles?: WidgetStyles): boolean;
252
+ export declare function hasWidgetAnimationForTrigger(styles: WidgetStyles | undefined, trigger: WidgetAnimationTrigger): boolean;
253
+ export declare function hasWidgetMotion(styles?: WidgetStyles): boolean;
254
+ export declare function getWidgetDefaultStyle(widget: Widget): CssStyle;
255
+ export declare function getWidgetPseudoStyle(widget: Widget, state: WidgetPseudoStyleState): CssStyle;
256
+ export declare function isNonEmptyCssStyle(style?: CssStyle): boolean;
257
+ export declare function hasWidgetPseudoStyle(widget: Widget, state: WidgetPseudoStyleState): boolean;
258
+ /** 页面实例(根 Widget,附加脚本配置) */
259
+ export type Page = Widget & {
260
+ type: 'page';
261
+ data?: PageData;
262
+ lifecycle?: PageLifecycleSource;
263
+ methods?: PageMethods;
264
+ };
265
+ /** 物料面板分组 */
266
+ export type LowcodePackage = {
267
+ name: string;
268
+ children: Widget[];
269
+ };
270
+ /** 通用「点击」事件预设,供 EventPanel 快速添加 */
271
+ export declare const COMMON_CLICK_EVENT_PRESET: WidgetEventPreset;
272
+ /** 容器类物料常用交互事件预设列表 */
273
+ export declare const COMMON_CONTAINER_EVENT_PRESETS: WidgetEventPreset[];
274
+ /** 布局计算所需的物料注册表能力(避免 widget-tree ↔ material 循环依赖) */
275
+ export type WidgetDisplayRegistry = {
276
+ /** 获取物料 type 的默认 display 值 */
277
+ getMaterialDisplayDefault: (type: string) => string;
278
+ };
279
+ /** 页面树节点 id 的起始值(空页) */
280
+ export declare const WIDGET_ID_START = 1;
281
+ /** 页面树中当前最大节点 id(无节点时为 0) */
282
+ export declare function getMaxWidgetId(root: Widget): number;
283
+ /** 页面树节点 id 分配器 */
284
+ export type WidgetIdAllocator = {
285
+ /** 分配下一个唯一 id 并自增 */
286
+ allocate: () => number;
287
+ };
288
+ /** 基于页面树 max(id)+1 递增分配节点 id */
289
+ export declare function createWidgetIdAllocator(root: Widget): WidgetIdAllocator;
290
+ /** JSON 深拷贝;兼容 Vue reactive 代理,undefined 输入返回 undefined */
291
+ export declare function deepClone<T>(origin: T): T;
292
+ /** 原地移动数组元素 */
293
+ export declare function moveArrayIndex<T>(array: T[], fromIndex: number, toIndex: number): void;
294
+ /** 依次执行物料注册的 normalize 函数 */
295
+ export declare function applyWidgetNormalizers(root: Widget, normalizers: WidgetNormalizer[]): void;
296
+ /** 根据 type 与父节点判断是否为内部子节点(与 {@link applyWidgetInternalFlags} 规则一致) */
297
+ export declare function resolveWidgetInternal(widget: Widget, parentWidget?: Widget | null): boolean;
298
+ /** 为页面树各节点写入设计态 internal 标记 */
299
+ export declare function applyWidgetInternalFlags(root: Widget, parentWidget?: Widget | null): void;
300
+ /** 节点自身是否处于锁定状态 */
301
+ export declare function isWidgetSelfLocked(widget: Widget): boolean;
302
+ /** 自 root 至 target 路径上(不含 target)是否存在 locked 祖先 */
303
+ export declare function findLockedAncestor(root: Widget, target: Widget): Widget | null;
304
+ /** 自身或任意祖先 locked 时视为设计器只读 */
305
+ export declare function isWidgetEffectivelyLocked(root: Page, widget: Widget): boolean;
306
+ /** 是否允许结构变更:移动 / 删除 / 排序 / 拖入拖出 */
307
+ export declare function canMutateWidgetStructure(root: Page, widget: Widget): boolean;
308
+ /** 是否允许修改 options / style / events / title 等属性 */
309
+ export declare function canMutateWidgetContent(root: Page, widget: Widget): boolean;
310
+ /** 是否允许切换 locked(不受自身 locked 影响;祖先 locked 时不可改子节点锁态) */
311
+ export declare function canToggleWidgetLock(root: Page, widget: Widget): boolean;
312
+ /** 解析大纲/面板展示名称;优先 title,回退类型名 name */
313
+ export declare function resolveWidgetEditorTitle(widget: Widget, fallback?: string): string;
314
+ /** 补全 title:无自定义展示名时默认取组件类型名(name 或传入的 typeName) */
315
+ export declare function ensureWidgetEditorTitle(widget: Widget, typeName?: string): void;
316
+ /** 读取页面标题 */
317
+ export declare function resolvePageTitle(page: Page | null | undefined): string;
318
+ /** 剥离仅用于编辑态的字段,减小历史栈体积 */
319
+ export declare function stripWidgetRuntimeFields(widget: Widget): void;
320
+ /**
321
+ * 生成可持久化的页面快照({@link WidgetPersisted} 形态)。
322
+ * 使用 JSON 深拷贝以兼容 Vue reactive,并自然丢弃不可序列化字段。
323
+ */
324
+ export declare function clonePageSnapshot(page: Page): Page;
325
+ /** 比较两份页面树的可序列化内容是否一致 */
326
+ export declare function isSamePageSnapshot(a: Page, b: Page): boolean;
327
+ /** 序列化为可持久化 JSON 字符串(剥离编辑态字段) */
328
+ export declare function serializePageSnapshot(page: Page, space?: string | number): string;
329
+ /** 判断 CSS display 是否为行内级(inline / inline-block) */
330
+ export declare function isInlineLevelDisplay(display: string): boolean;
331
+ /** 解析 widget 最终生效的 display;style 未设置时回退到物料默认值 */
332
+ export declare function resolveEffectiveDisplay(style: CssStyle | undefined, displayDefault?: string, breakpoint?: StyleBreakpoint): string;
333
+ /** 根据 style.display 判断是否应占满父级宽度(块级 / 弹性 vs 行内 / 行内块) */
334
+ export declare function shouldWidgetStretchFullWidth(widget: Widget, registry: WidgetDisplayRegistry): boolean;
335
+ /** 逐子项 scoped slot 的参数 */
336
+ export type WidgetItemSlotScope = {
337
+ item: Widget;
338
+ index: number;
339
+ /** tab / carousel 用于控制仅渲染当前项 */
340
+ visible?: boolean;
341
+ };
342
+ export type MaterialDefinition = {
343
+ widget: Widget;
344
+ /** 出现在左侧物料面板 */
345
+ palette?: boolean;
346
+ /** 面板分组名(仅 palette 物料) */
347
+ packageName?: string;
348
+ };
349
+ /** 从物料定义中提取 widget 模板(拖拽到画布时的原型) */
350
+ export declare function toMaterialWidget(def: MaterialDefinition): Widget;
351
+ /** 从设计器全量定义生成运行时轻量定义(仅保留 view 与行为字段) */
352
+ export declare function toRuntimeMaterialDefinitions(definitions: MaterialDefinition[]): MaterialDefinition[];
353
+ /** 按 packageName 聚合物料面板分组 */
354
+ export declare function buildMaterialPackages(definitions: MaterialDefinition[]): LowcodePackage[];
355
+ /** 生成运行时 view 组件的全局注册名,如 widget-button */
356
+ export declare function getViewComponentName(type: string): string;
357
+ /** 生成属性面板 setter 组件的全局注册名,如 widget-button-setter */
358
+ export declare function getSetterComponentName(type: string): string;
359
+ /** 生成设计器编辑态外壳组件的全局注册名,如 widget-button-designer */
360
+ export declare function getDesignerComponentName(type: string): string;
361
+ export type WidgetComponentEntry = {
362
+ type: string;
363
+ view?: Component;
364
+ setter?: Component;
365
+ designer?: Component;
366
+ };
367
+ /** 从物料定义列表收集各 type 对应的 view / setter / designer 组件引用 */
368
+ export declare function collectWidgetComponents(definitions: MaterialDefinition[]): WidgetComponentEntry[];
369
+ /** 运行时仅注册 view 组件 */
370
+ export declare function registerRuntimeWidgetViews(app: App, registry: MaterialRegistry): void;
371
+ export type MaterialRegistry = {
372
+ definitions: MaterialDefinition[];
373
+ extraWidgets: Widget[];
374
+ allWidgets: Widget[];
375
+ componentEntries: WidgetComponentEntry[];
376
+ widgetNormalizers: WidgetNormalizer[];
377
+ copyNormalizeTypes: ReadonlySet<string>;
378
+ /** @see createMaterialRegistry 内 getMaterialDisplayDefault */
379
+ getMaterialDisplayDefault: (type: string) => string;
380
+ /** @see createMaterialRegistry 内 getWidgetTypeLabel */
381
+ getWidgetTypeLabel: (type: string) => string;
382
+ /** @see createMaterialRegistry 内 getWidgetTypeIcon */
383
+ getWidgetTypeIcon: (type: string) => string | object | undefined;
384
+ /** @see createMaterialRegistry 内 getEventPresets */
385
+ getEventPresets: (type: string) => WidgetEventPreset[];
386
+ /** @see createMaterialRegistry 内 getKeyedSlotConfig */
387
+ getKeyedSlotConfig: (type: string) => KeyedSlotContainerConfig | undefined;
388
+ /** @see createMaterialRegistry 内 resolveUsesItemSlot */
389
+ resolveUsesItemSlot: (widget: Widget) => boolean;
390
+ /** @see createMaterialRegistry 内 isContainerType */
391
+ isContainerType: (type: string) => boolean;
392
+ /** @see createMaterialRegistry 内 widgetCanBeParent */
393
+ widgetCanBeParent: (parent: Widget) => boolean;
394
+ /** @see createMaterialRegistry 内 widgetAcceptsChild */
395
+ widgetAcceptsChild: (parent: Widget, child: Widget) => boolean;
396
+ };
397
+ /** 从物料定义列表构建查询索引,供设计器与运行时共用 */
398
+ export declare function createMaterialRegistry(allDefinitions: MaterialDefinition[]): MaterialRegistry;
399
+ /** 向 keyed slot 容器末尾追加一个子项(如新增标签页) */
400
+ export declare function addKeyedSlotChild(container: Widget, config: KeyedSlotContainerConfig, page?: Page): boolean;
401
+ /** 在 keyed slot 容器内按 offset 移动子项顺序(-1 上移,1 下移) */
402
+ export declare function moveKeyedSlotChild(container: Widget, childIndex: number, offset: -1 | 1, config: KeyedSlotContainerConfig, page?: Page): boolean;
403
+ /** 递归规范化 keyed slot 容器及其子项(补全默认子项、activeKey 等) */
404
+ export declare function normalizeKeyedSlotWidget(widget: Widget, config: KeyedSlotContainerConfig): void;
405
+ export type KeyedSlotSelectionContext = {
406
+ selectedWidget: Widget | null;
407
+ /** 判断 ancestor 子树是否包含 targetId */
408
+ widgetTreeContains: (ancestor: Widget, targetId: number) => boolean;
409
+ /** 删除子项后重新选中容器或其它节点 */
410
+ onReselect: (widget: Widget) => void;
411
+ };
412
+ /** 删除 keyed slot 子项,并修正选中态与 activeKey */
413
+ export declare function removeKeyedSlotChild(container: Widget, child: Widget, config: KeyedSlotContainerConfig, selection: KeyedSlotSelectionContext, page?: Page): boolean;
414
+ /** 空页面的默认 data / lifecycle / methods 初始值 */
415
+ export declare const DEFAULT_PAGE_DATA: PageData;
416
+ /** 新建页面的默认名称 */
417
+ export declare const DEFAULT_PAGE_NAME = "\u9875\u9762";
418
+ /** 新建页面的默认 styles */
419
+ export declare const DEFAULT_PAGE_STYLES: WidgetStyles;
420
+ /** 创建页面脚本部分的默认值(data / lifecycle / methods) */
421
+ export declare function createDefaultPageScript(): Pick<Page, 'data' | 'lifecycle' | 'methods'>;
422
+ /** 创建空白 Page 实例(含默认脚本字段) */
423
+ export declare function createDefaultPage(): Page;
424
+ /** 校验 PageData 字段名是否为合法 JS 标识符 */
425
+ export declare function isValidPageDataName(name: string): boolean;
426
+ /** 检查 PageData 中是否已存在同名项(可排除指定 key) */
427
+ export declare function isPageDataNameUsed(items: PageData, name: string, excludeKey?: number): boolean;
428
+ /** 按 name 去重,保留首次出现项 */
429
+ export declare function dedupePageData(items: PageData): PageData;
430
+ /** 归一化 PageData:解析每项、去重、补全 key */
431
+ export declare function normalizePageData(items: PageData | undefined): PageData;
432
+ /** {@link normalizePageData} 的别名,语义上表示「确保为合法 PageData」 */
433
+ export declare function ensurePageData(items: PageData | undefined): PageData;
434
+ /** 创建一条 PageData 项(key 由后续 normalize 补全) */
435
+ export declare function createPageDataItem(partial?: Partial<Pick<PageDataItem, 'name' | 'value'>>): PageDataItem;
436
+ /** 将 PageData 列表转为 context.data 使用的 Record */
437
+ export declare function pageDataItemsToRecord(items: PageData | undefined): Record<string, unknown>;
438
+ /** 将 Record 转为 PageData 列表(补全 key) */
439
+ export declare function recordToPageDataItems(record: Record<string, unknown>): PageData;
440
+ /** 根据运行时值推断 PageData 字段类型 */
441
+ export declare function inferPageDataValueType(value: unknown): PageDataValueType;
442
+ /** 设计器列表中展示的值摘要(截断过长文本) */
443
+ export declare function getPageDataValueSummary(value: unknown, maxLength?: number): string;
444
+ /** 判断值能否被 JSON.stringify 序列化 */
445
+ export declare function isJsonSerializableValue(value: unknown): boolean;
446
+ /** 解析 PageData 批量编辑用的 JSON 对象字符串 */
447
+ export declare function parsePageDataJson(source: string): {
448
+ ok: true;
449
+ record: Record<string, unknown>;
450
+ } | {
451
+ ok: false;
452
+ error: string;
453
+ };
454
+ /** 将 PageData Record 格式化为带缩进的 JSON 字符串(空对象保留占位) */
455
+ export declare function serializePageDataJson(record: Record<string, unknown>): string;
456
+ /** 设计器 PageData 值类型下拉选项 */
457
+ export declare const PAGE_DATA_VALUE_TYPE_OPTIONS: Array<{
458
+ value: PageDataValueType;
459
+ label: string;
460
+ }>;
461
+ /** 按目标类型强制转换 PageData 字段值 */
462
+ export declare function coercePageDataValue(type: PageDataValueType, raw: unknown): unknown;
463
+ /** 解析设计器中单条 PageData 字段的草稿文本为 typed 值 */
464
+ export declare function parseDraftPageDataValue(type: PageDataValueType, draft: string): {
465
+ ok: true;
466
+ value: unknown;
467
+ } | {
468
+ ok: false;
469
+ error: string;
470
+ };
471
+ /** 将 PageData 字段值格式化为设计器编辑框中的草稿文本 */
472
+ export declare function formatDraftPageDataValue(type: PageDataValueType, value: unknown): string;
473
+ /** 组件树挂载校验上下文(由物料注册表提供) */
474
+ export type WidgetTreePlacementContext = {
475
+ isContainerType: (type: string) => boolean;
476
+ getKeyedSlotConfig?: (type: string) => KeyedSlotContainerConfig | undefined;
477
+ };
478
+ /** 节点是否可作为父级(页面根、容器类、keyed slot 容器) */
479
+ export declare function widgetCanBeParentWidget(parent: Widget, ctx: WidgetTreePlacementContext): boolean;
480
+ /** 判断 parent 是否允许挂载 child(含 keyed slot 仅接受特定子项) */
481
+ export declare function widgetAcceptsChildWidget(parent: Widget, child: Widget, ctx: WidgetTreePlacementContext): boolean;
482
+ /** 容器是否可作为拖放目标(物料允许;页面根始终可接收;locked 容器不可接收) */
483
+ export declare function widgetCanAcceptDropTarget(root: Page, parent: Widget, ctx: WidgetTreePlacementContext): boolean;
484
+ /** 设计器页面树命令上下文(page + id 分配 + normalize 配置) */
485
+ export type PageCommandBus = {
486
+ page: Page;
487
+ widgetNormalizers: WidgetNormalizer[];
488
+ copyNormalizeTypes: ReadonlySet<string>;
489
+ /** 分配新 widget 节点 id */
490
+ allocateWidgetId: () => number;
491
+ /** 判断 parent 是否允许挂载 child */
492
+ widgetAcceptsChild: (parent: Widget, child: Widget) => boolean;
493
+ };
494
+ /** 在组件树中查找拥有指定 children 列表的父节点 */
495
+ export declare function findWidgetOwningChildrenList(root: Widget, list: Widget[]): Widget | null;
496
+ /** 在组件树中按 id 查找节点,未找到返回 null */
497
+ export declare function findWidgetInTree(root: Widget, id: number): Widget | null;
498
+ /** 自 root 至 targetId 的路径(含两端),未找到返回 null */
499
+ export declare function findWidgetPath(root: Widget, targetId: number): Widget[] | null;
500
+ /** 判断 ancestor 子树中是否包含 targetId 对应节点(含自身) */
501
+ export declare function widgetTreeContainsNode(ancestor: Widget, targetId: number): boolean;
502
+ /** 从整棵树中移除指定节点(可保留 keepList 内的引用,用于同列表内移动) */
503
+ export declare function removeWidgetFromTree(root: Widget, widget: Widget, keepList?: Widget[]): void;
504
+ /** 将 widget 移入 targetList;若已在列表内则按 newIndex 调整顺序 */
505
+ export declare function moveWidgetToList(bus: PageCommandBus, widget: Widget, targetList: Widget[], newIndex?: number): void;
506
+ /** 深拷贝 widget 并重新分配 id;复制后按需执行 normalize */
507
+ export declare function copyNewWidget(bus: PageCommandBus, origin: Widget): Widget;
508
+ /** 复制物料模板并插入页面树,返回带新 id 的实例;父级不接受子节点时返回 null */
509
+ export declare function addWidgetToTree(bus: PageCommandBus, widget: Widget, parentWidget?: Widget): Widget | null;
510
+ /** 从指定父节点(或页面根 children)中移除 widget */
511
+ export declare function removeWidgetFromParent(page: Page, widget: Widget, parentWidget?: Widget): void;
512
+ /** 加载外部 JSON 后执行物料 normalize */
513
+ export declare function normalizeLoadedPage(page: Page, widgetNormalizers: WidgetNormalizer[]): Page;
514
+ export type DesignerHistory = {
515
+ maxStep: number;
516
+ steps: Page[];
517
+ index: number;
518
+ };
519
+ export type HistoryRecordOptions = {
520
+ maxStep?: number;
521
+ };
522
+ export type PageHistoryController = {
523
+ history: DesignerHistory;
524
+ isApplyingHistory: boolean;
525
+ historyRecordSuspended: number;
526
+ /** 在回调执行期间暂停历史记录(如批量操作、undo/redo 回放) */
527
+ runWithoutRecording: <T>(fn: () => T) => T;
528
+ /** 若与当前步快照不同则立即写入历史栈,有变更时返回 true */
529
+ commitIfChanged: (page: Page) => boolean;
530
+ /** 立即 commitIfChanged(与 commitIfChanged 相同,保留语义化入口) */
531
+ recordNow: (page: Page) => boolean;
532
+ /** 清空历史并以当前 page 作为唯一起始快照 */
533
+ resetWithPage: (page: Page) => void;
534
+ /** 将 history.index 指向的快照交给 onApply 应用到页面 */
535
+ applyStep: (page: Page, onApply: (snapshot: Page) => void) => void;
536
+ /** 回退一步并应用快照,成功返回 true */
537
+ undo: (page: Page, onApply: (snapshot: Page) => void) => boolean;
538
+ /** 前进一步并应用快照,成功返回 true */
539
+ redo: (page: Page, onApply: (snapshot: Page) => void) => boolean;
540
+ /** 是否可 undo(index > 0) */
541
+ undoEnabled: () => boolean;
542
+ /** 是否可 redo(index 未到栈顶) */
543
+ redoEnabled: () => boolean;
544
+ };
545
+ /** 创建页面历史控制器:即时写入快照栈,支持 undo/redo */
546
+ export declare function createPageHistoryController(options?: HistoryRecordOptions): PageHistoryController;
547
+ export type CoreEventMap = {
548
+ 'page:changed': Page;
549
+ 'widget:selected': Widget | null;
550
+ 'history:changed': DesignerHistory;
551
+ };
552
+ export type CoreEventBus = {
553
+ /** 订阅事件,返回取消订阅函数 */
554
+ on<K extends keyof CoreEventMap>(event: K, handler: (payload: CoreEventMap[K]) => void): () => void;
555
+ /** 向所有订阅者派发事件 */
556
+ emit<K extends keyof CoreEventMap>(event: K, payload: CoreEventMap[K]): void;
557
+ };
558
+ /** 简易 typed 事件总线;on 返回取消订阅函数 */
559
+ export declare function createCoreEventBus(): CoreEventBus;
560
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}