@next-bricks/advanced 0.51.3 → 0.51.5

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 (113) hide show
  1. package/dist/bricks.json +22 -22
  2. package/dist/chunks/{1889.b0931dce.js → 1889.f8507811.js} +2 -2
  3. package/dist/chunks/{1889.b0931dce.js.map → 1889.f8507811.js.map} +1 -1
  4. package/dist/chunks/3171.5a42835a.js +2 -0
  5. package/dist/chunks/3171.5a42835a.js.map +1 -0
  6. package/dist/chunks/4758.0ee6b1c2.js +3 -0
  7. package/dist/chunks/4758.0ee6b1c2.js.map +1 -0
  8. package/dist/chunks/5399.90afc78f.js +2 -0
  9. package/dist/chunks/5399.90afc78f.js.map +1 -0
  10. package/dist/chunks/5552.3af82478.js +2 -0
  11. package/dist/chunks/5552.3af82478.js.map +1 -0
  12. package/dist/chunks/6376.a5e3cba3.js +2 -0
  13. package/dist/chunks/6376.a5e3cba3.js.map +1 -0
  14. package/dist/chunks/{6070.74d93326.js → 7039.0ea489d5.js} +2 -2
  15. package/dist/chunks/7039.0ea489d5.js.map +1 -0
  16. package/dist/chunks/8382.ade8275e.js +2 -0
  17. package/dist/chunks/8382.ade8275e.js.map +1 -0
  18. package/dist/chunks/9118.f65d12a9.js +3 -0
  19. package/dist/chunks/9118.f65d12a9.js.map +1 -0
  20. package/dist/chunks/948.c45999d0.js +3 -0
  21. package/dist/chunks/948.c45999d0.js.map +1 -0
  22. package/dist/chunks/eo-cascader.8d423eaa.js +2 -0
  23. package/dist/chunks/eo-cascader.8d423eaa.js.map +1 -0
  24. package/dist/chunks/{eo-next-table.25f4bf4d.js → eo-next-table.7f8c557a.js} +2 -2
  25. package/dist/chunks/{eo-next-table.25f4bf4d.js.map → eo-next-table.7f8c557a.js.map} +1 -1
  26. package/dist/chunks/{eo-table.5dd09651.js → eo-table.9b4334a3.js} +2 -2
  27. package/dist/chunks/eo-table.9b4334a3.js.map +1 -0
  28. package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
  29. package/dist/chunks/eo-tree-select.49c195a4.js +2 -0
  30. package/dist/chunks/eo-tree-select.49c195a4.js.map +1 -0
  31. package/dist/chunks/{eo-tree.22180778.js → eo-tree.e8729dea.js} +3 -3
  32. package/dist/chunks/{eo-tree.22180778.js.map → eo-tree.e8729dea.js.map} +1 -1
  33. package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js → eo-workbench-layout-v2.12b31a22.js} +3 -3
  34. package/dist/chunks/eo-workbench-layout-v2.12b31a22.js.map +1 -0
  35. package/dist/chunks/{eo-workbench-layout.1ed8ce80.js → eo-workbench-layout.39666f6e.js} +2 -2
  36. package/dist/chunks/eo-workbench-layout.39666f6e.js.map +1 -0
  37. package/dist/chunks/main.06ea33e1.js +2 -0
  38. package/dist/chunks/main.06ea33e1.js.map +1 -0
  39. package/dist/chunks/pdf-viewer.036787d7.js.map +1 -1
  40. package/dist/examples.json +17 -11
  41. package/dist/index.61a04a59.js +2 -0
  42. package/dist/index.61a04a59.js.map +1 -0
  43. package/dist/manifest.json +656 -563
  44. package/dist/types.json +244 -247
  45. package/dist-types/cascader/index.d.ts +18 -0
  46. package/dist-types/interfaces/workbench.d.ts +2 -2
  47. package/dist-types/next-table/CacheUseBrickItem.d.ts +2 -2
  48. package/dist-types/next-table/index.d.ts +2 -1
  49. package/dist-types/next-table/interface.d.ts +5 -5
  50. package/dist-types/pdf-viewer/index.d.ts +7 -1
  51. package/dist-types/table/BrickTable.d.ts +2 -2
  52. package/dist-types/table/index.d.ts +8 -6
  53. package/dist-types/text-tooltip/index.d.ts +5 -4
  54. package/dist-types/tree/index.d.ts +3 -3
  55. package/dist-types/tree-select/index.d.ts +41 -1
  56. package/dist-types/workbench-layout/index.d.ts +28 -3
  57. package/dist-types/workbench-layout-v2/index.d.ts +34 -12
  58. package/docs/eo-cascader.md +184 -1
  59. package/docs/eo-cascader.react.md +247 -0
  60. package/docs/eo-next-table.md +343 -168
  61. package/docs/eo-next-table.react.md +923 -0
  62. package/docs/eo-table.md +296 -0
  63. package/docs/eo-table.react.md +223 -0
  64. package/docs/eo-text-tooltip.md +46 -1
  65. package/docs/eo-text-tooltip.react.md +69 -0
  66. package/docs/eo-tree-select.md +127 -1
  67. package/docs/eo-tree-select.react.md +206 -0
  68. package/docs/eo-tree.md +108 -2
  69. package/docs/eo-tree.react.md +220 -0
  70. package/docs/eo-workbench-layout-v2.md +204 -0
  71. package/docs/eo-workbench-layout-v2.react.md +162 -0
  72. package/docs/eo-workbench-layout.md +45 -3
  73. package/docs/eo-workbench-layout.react.md +141 -0
  74. package/docs/pdf-viewer.md +48 -1
  75. package/docs/pdf-viewer.react.md +63 -0
  76. package/package.json +2 -2
  77. package/dist/chunks/3171.a0713c82.js +0 -2
  78. package/dist/chunks/3171.a0713c82.js.map +0 -1
  79. package/dist/chunks/4758.5f79e636.js +0 -3
  80. package/dist/chunks/4758.5f79e636.js.map +0 -1
  81. package/dist/chunks/4837.04c758cf.js +0 -2
  82. package/dist/chunks/4837.04c758cf.js.map +0 -1
  83. package/dist/chunks/5139.30dacc51.js +0 -2
  84. package/dist/chunks/5139.30dacc51.js.map +0 -1
  85. package/dist/chunks/5399.c6d3cd26.js +0 -2
  86. package/dist/chunks/5399.c6d3cd26.js.map +0 -1
  87. package/dist/chunks/5552.b8201181.js +0 -2
  88. package/dist/chunks/5552.b8201181.js.map +0 -1
  89. package/dist/chunks/6070.74d93326.js.map +0 -1
  90. package/dist/chunks/7218.bcb25b61.js +0 -2
  91. package/dist/chunks/7218.bcb25b61.js.map +0 -1
  92. package/dist/chunks/8382.d552299f.js +0 -2
  93. package/dist/chunks/8382.d552299f.js.map +0 -1
  94. package/dist/chunks/9118.cc8511ac.js +0 -3
  95. package/dist/chunks/9118.cc8511ac.js.map +0 -1
  96. package/dist/chunks/948.e02bc040.js +0 -3
  97. package/dist/chunks/948.e02bc040.js.map +0 -1
  98. package/dist/chunks/eo-cascader.86a685ca.js +0 -2
  99. package/dist/chunks/eo-cascader.86a685ca.js.map +0 -1
  100. package/dist/chunks/eo-table.5dd09651.js.map +0 -1
  101. package/dist/chunks/eo-tree-select.31dae71f.js +0 -2
  102. package/dist/chunks/eo-tree-select.31dae71f.js.map +0 -1
  103. package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +0 -1
  104. package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +0 -1
  105. package/dist/chunks/main.f43a8ad8.js +0 -2
  106. package/dist/chunks/main.f43a8ad8.js.map +0 -1
  107. package/dist/index.3d8026b9.js +0 -2
  108. package/dist/index.3d8026b9.js.map +0 -1
  109. /package/dist/chunks/{4758.5f79e636.js.LICENSE.txt → 4758.0ee6b1c2.js.LICENSE.txt} +0 -0
  110. /package/dist/chunks/{9118.cc8511ac.js.LICENSE.txt → 9118.f65d12a9.js.LICENSE.txt} +0 -0
  111. /package/dist/chunks/{948.e02bc040.js.LICENSE.txt → 948.c45999d0.js.LICENSE.txt} +0 -0
  112. /package/dist/chunks/{eo-tree.22180778.js.LICENSE.txt → eo-tree.e8729dea.js.LICENSE.txt} +0 -0
  113. /package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js.LICENSE.txt → eo-workbench-layout-v2.12b31a22.js.LICENSE.txt} +0 -0
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { type TableProps } from "antd";
3
3
  import { CustomColumn } from "./index.js";
4
- import type { UseSingleBrickConf } from "@next-core/types";
4
+ import type { UseSingleBrickConfOrRenderFunction } from "@next-core/react-runtime";
5
5
  import type { GeneralIconProps } from "@next-bricks/icons/general-icon";
6
6
  export interface BrickTableProps {
7
7
  shadowRoot: ShadowRoot | null;
@@ -14,7 +14,7 @@ export interface BrickTableProps {
14
14
  onSelectChange?: (selected: string[]) => void;
15
15
  showCard?: boolean;
16
16
  expandedRowBrick?: {
17
- useBrick?: UseSingleBrickConf;
17
+ useBrick?: UseSingleBrickConfOrRenderFunction;
18
18
  };
19
19
  expandIcon?: {
20
20
  collapsedIcon: GeneralIconProps;
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
3
  import { ColumnProps, TablePaginationConfig, TableProps } from "antd/es/table";
4
- import { BrickEventsMap, UseSingleBrickConf } from "@next-core/types";
4
+ import { BrickEventsMap } from "@next-core/types";
5
+ import { UseSingleBrickConfOrRenderFunction } from "@next-core/react-runtime";
5
6
  import { TableRowSelection, RowSelectionType } from "antd/lib/table/interface.js";
6
7
  import type { DataIndex } from "rc-table/lib/interface.js";
7
8
  import type { SizeType } from "antd/lib/config-provider/SizeContext.js";
@@ -37,7 +38,7 @@ export interface CustomColumn extends ColumnProps<Record<string, any>> {
37
38
  /**
38
39
  * 支持为某列自定义展示构件
39
40
  */
40
- useBrick?: UseSingleBrickConf;
41
+ useBrick?: UseSingleBrickConfOrRenderFunction;
41
42
  /**
42
43
  * 字段的值展示时的后缀
43
44
  */
@@ -46,7 +47,7 @@ export interface CustomColumn extends ColumnProps<Record<string, any>> {
46
47
  * 支持为某列的表头自定义展示构件,可通过 DATA.title 获取标题文本
47
48
  */
48
49
  headerBrick?: {
49
- useBrick: UseSingleBrickConf;
50
+ useBrick: UseSingleBrickConfOrRenderFunction;
50
51
  };
51
52
  /**
52
53
  * 在渲染自定义构件的场景下额外设置单元格的状态样式, `dataIndex` 表示取哪一列的字段值作为判断数据,不填的话默认取当前列的字段,`mapping` 表示判断的条件,条件被成功匹配时用当前的样式。目前仅支持单元格 `leftBorderColor` 属性的设置
@@ -72,7 +73,7 @@ export interface CustomColumn extends ColumnProps<Record<string, any>> {
72
73
  * 自定义筛选菜单
73
74
  */
74
75
  filterDropdownBrick?: {
75
- useBrick: UseSingleBrickConf;
76
+ useBrick: UseSingleBrickConfOrRenderFunction;
76
77
  };
77
78
  }
78
79
  export interface SortUpdateEventDetail {
@@ -181,7 +182,7 @@ declare class TableComponent extends ReactNextElement {
181
182
  * @group expand
182
183
  */
183
184
  accessor expandedRowBrick: {
184
- useBrick?: UseSingleBrickConf;
185
+ useBrick?: UseSingleBrickConfOrRenderFunction;
185
186
  } | undefined;
186
187
  /**
187
188
  * 自定义展开图标。
@@ -292,13 +293,13 @@ declare class TableComponent extends ReactNextElement {
292
293
  */
293
294
  accessor pageSize: number | undefined;
294
295
  /**
296
+ * 表格是否可滚动,也可以指定滚动区域的宽、高,配置项。详见 [scroll](https://ant.design/components/table-cn/#scroll)
295
297
  * @kind {
296
298
  * x?: string | number | true;
297
299
  * y?: number | string;
298
300
  * } & {
299
301
  * scrollToFirstRowOnChange?: boolean;
300
302
  * }
301
- * 表格是否可滚动,也可以指定滚动区域的宽、高,配置项。详见 [scroll](https://ant.design/components/table-cn/#scroll)
302
303
  * @required false
303
304
  * @default { x: true }
304
305
  * @group other
@@ -400,6 +401,7 @@ declare class TableComponent extends ReactNextElement {
400
401
  private _isInSelect;
401
402
  /**
402
403
  * 搜索过滤
404
+ * @param event - 搜索事件,event.detail.q 为搜索关键词
403
405
  */
404
406
  filterSourceData(event: CustomEvent): void;
405
407
  handleFrontendDataChange(data?: Record<string, any>[], columns?: CustomColumn[]): Record<string, any>[];
@@ -2,17 +2,18 @@ import React from "react";
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
3
  import "@next-core/theme";
4
4
  /**
5
- * 超出宽度鼠标悬浮显示tooltip
6
- * 构件 `eo-text-tooltip`
5
+ * 文本超出显示区域时,鼠标悬浮显示完整内容的 Tooltip
6
+ * @author developer
7
+ * @category display
7
8
  */
8
9
  export declare class EoTextTooltip extends ReactNextElement implements EoTextTooltipProps {
9
10
  /**
10
- * 文案
11
+ * 显示的文本内容,超出时以省略号截断
11
12
  * @default
12
13
  */
13
14
  accessor label: string | undefined;
14
15
  /**
15
- * 省略行数
16
+ * 省略的行数,超过该行数后显示省略号,设为 0 表示不省略
16
17
  * @default 1
17
18
  */
18
19
  accessor lineClamp: number;
@@ -3,7 +3,7 @@ import { ReactNextElement } from "@next-core/react-element";
3
3
  import "@next-core/theme";
4
4
  import type { TreeProps } from "antd";
5
5
  import type { BasicDataNode } from "antd/es/tree";
6
- import { UseBrickConf } from "@next-core/types";
6
+ import { UseBrickConfOrRenderFunction } from "@next-core/react-runtime";
7
7
  export interface EoTreeProps {
8
8
  dataSource?: TreeNode[];
9
9
  checkable?: boolean;
@@ -18,7 +18,7 @@ export interface EoTreeProps {
18
18
  switcherIcon?: "auto" | "chevron" | false;
19
19
  allowDrop?: (info: AllowDropInfo) => boolean;
20
20
  titleSuffixBrick?: {
21
- useBrick: UseBrickConf;
21
+ useBrick: UseBrickConfOrRenderFunction;
22
22
  };
23
23
  }
24
24
  export interface TreeNode extends BasicDataNode {
@@ -82,7 +82,7 @@ export declare class EoTree extends ReactNextElement implements EoTreeProps {
82
82
  accessor switcherIcon: "auto" | "chevron" | false | undefined;
83
83
  accessor allowDrop: ((info: AllowDropInfo) => boolean) | undefined;
84
84
  accessor titleSuffixBrick: {
85
- useBrick: UseBrickConf;
85
+ useBrick: UseBrickConfOrRenderFunction;
86
86
  } | undefined;
87
87
  render(): React.JSX.Element;
88
88
  }
@@ -12,34 +12,74 @@ export interface TreeSelectProps extends Pick<AntdTreeSelectProps, "value" | "al
12
12
  maxTagCount?: number | "responsive";
13
13
  popupMatchSelectWidth?: boolean;
14
14
  }
15
+ export interface TreeSelectEventsMap {
16
+ change: CustomEvent<{
17
+ value: AntdTreeSelectProps["value"];
18
+ }>;
19
+ search: CustomEvent<string>;
20
+ select: CustomEvent<{
21
+ value: AntdTreeSelectProps["value"];
22
+ }>;
23
+ expand: CustomEvent<{
24
+ keys: React.Key[];
25
+ }>;
26
+ }
27
+ export interface TreeSelectEventsMapping {
28
+ onChange: "change";
29
+ onSearch: "search";
30
+ onSelect: "select";
31
+ onExpand: "expand";
32
+ }
15
33
  /**
16
- * 树选择器
34
+ * 树选择器,支持从树形数据中单选或多选节点
17
35
  * @author sailor
18
36
  * @category form-input-basic
19
37
  */
20
38
  export declare class TreeSelectBrick extends FormItemElementBase implements TreeSelectProps {
21
39
  #private;
40
+ /** 表单字段名 */
22
41
  accessor name: string | undefined;
42
+ /** 表单字段标签 */
23
43
  accessor label: string | undefined;
44
+ /** 是否为必填项 */
24
45
  accessor required: boolean | undefined;
46
+ /** 树形数据源 */
25
47
  accessor treeData: AntdTreeSelectProps["treeData"];
48
+ /** 是否默认展开所有树节点 */
26
49
  accessor treeDefaultExpandAll: boolean | undefined;
50
+ /** 受控展开的树节点 key 集合 */
27
51
  accessor treeExpandedKeys: string[] | undefined;
52
+ /** 自定义字段名,指定 label、value、children 对应的字段 */
28
53
  accessor fieldNames: AntdTreeSelectProps["fieldNames"];
54
+ /** 当前选中的值 */
29
55
  accessor value: AntdTreeSelectProps["value"];
56
+ /** 输入框占位文本 */
30
57
  accessor placeholder: string | undefined;
58
+ /** 是否支持多选 */
31
59
  accessor multiple: boolean | undefined;
60
+ /** 是否禁用 */
32
61
  accessor disabled: boolean | undefined;
62
+ /** 是否支持勾选树节点(开启后自动开启 multiple 模式) */
33
63
  accessor checkable: boolean | undefined;
64
+ /** 是否支持清除 */
34
65
  accessor allowClear: boolean | undefined;
66
+ /** 是否显示加载中状态 */
35
67
  accessor loading: boolean | undefined;
68
+ /** 自定义树节点过滤函数 */
36
69
  accessor filterTreeNode: AntdTreeSelectProps["filterTreeNode"];
70
+ /** 是否支持搜索,开启后可通过输入关键字过滤树节点 */
37
71
  accessor showSearch: boolean | undefined;
72
+ /** 自定义下拉箭头图标 */
38
73
  accessor suffixIcon: GeneralIconProps | undefined;
74
+ /** 浮层预设位置,可选 bottomLeft、bottomRight、topLeft、topRight */
39
75
  accessor popupPlacement: AntdTreeSelectProps["placement"];
76
+ /** 输入框大小,可选 large、middle、small */
40
77
  accessor size: AntdTreeSelectProps["size"];
78
+ /** 多选模式下最多显示的 tag 数量,设为 responsive 时会自适应宽度 */
41
79
  accessor maxTagCount: number | "responsive" | undefined;
80
+ /** 下拉框的样式 */
42
81
  accessor dropdownStyle: CSSProperties | undefined;
82
+ /** 下拉菜单的宽度是否与选择框相同 */
43
83
  accessor popupMatchSelectWidth: boolean | undefined;
44
84
  handleOnChange: (value: AntdTreeSelectProps["value"]) => void;
45
85
  render(): React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
- import { UseSingleBrickConf } from "@next-core/types";
3
+ import { UseSingleBrickConfOrRenderFunction } from "@next-core/react-runtime";
4
4
  import "@next-core/theme";
5
5
  import { Layout } from "react-grid-layout";
6
6
  import { SimpleAction } from "@next-bricks/basic/actions";
@@ -9,7 +9,7 @@ type Item = {
9
9
  key: string;
10
10
  title: string;
11
11
  style?: React.CSSProperties;
12
- useBrick: UseSingleBrickConf;
12
+ useBrick: UseSingleBrickConfOrRenderFunction;
13
13
  };
14
14
  export interface EoWorkbenchLayoutProps {
15
15
  cardTitle?: string;
@@ -27,16 +27,41 @@ export interface EoWorkbenchLayoutComponentProps extends EoWorkbenchLayoutProps
27
27
  onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;
28
28
  }
29
29
  export declare const EoWorkbenchLayoutComponent: React.ForwardRefExoticComponent<EoWorkbenchLayoutComponentProps & React.RefAttributes<EoWorkbenchLayoutComponentRef>>;
30
+ export interface EoWorkbenchLayoutEventsMap {
31
+ change: CustomEvent<Layout[]>;
32
+ save: CustomEvent<Layout[]>;
33
+ cancel: CustomEvent<void>;
34
+ "action.click": CustomEvent<{
35
+ action: SimpleAction;
36
+ layouts: Layout[];
37
+ }>;
38
+ }
39
+ export interface EoWorkbenchLayoutEventsMapping {
40
+ onChange: "change";
41
+ onSave: "save";
42
+ onCancel: "cancel";
43
+ onActionClick: "action.click";
44
+ }
30
45
  /**
31
- * 工作台布局
46
+ * 工作台布局(拖拽式卡片布局,支持编辑模式)
32
47
  * @deprecated Please use eo-workbench-layout-v2 which support global styles instead
48
+ * @author developer
49
+ * @category layout
33
50
  */
34
51
  export declare class EoWorkbenchLayout extends ReactNextElement {
35
52
  #private;
53
+ /** 编辑模式下左侧卡片列表面板的标题 */
36
54
  accessor cardTitle: string | undefined;
55
+ /** 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 */
37
56
  accessor isEdit: boolean | undefined;
57
+ /** 当前布局配置,每项对应一个卡片的位置与大小 */
38
58
  accessor layouts: Layout[] | undefined;
59
+ /** 组件列表,每项包含 key、title、useBrick 和 position 信息 */
39
60
  accessor componentList: Item[] | undefined;
61
+ /**
62
+ * 设置布局配置
63
+ * @param layouts - 新的布局配置数组
64
+ */
40
65
  setLayouts(layouts: Layout[]): void;
41
66
  render(): React.JSX.Element;
42
67
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
- import { UseSingleBrickConf } from "@next-core/types";
3
+ import { UseBrickConfOrRenderFunction } from "@next-core/react-runtime";
4
4
  import { Layout } from "react-grid-layout";
5
5
  import "@next-core/theme";
6
6
  import { SimpleAction } from "@next-bricks/basic/actions";
@@ -10,7 +10,7 @@ export interface EoWorkbenchLayoutV2Props {
10
10
  cardTitle?: string;
11
11
  layouts?: ExtraLayout[];
12
12
  toolbarBricks?: {
13
- useBrick: UseSingleBrickConf[];
13
+ useBrick: UseBrickConfOrRenderFunction;
14
14
  };
15
15
  componentList?: WorkbenchComponent[];
16
16
  isEdit?: boolean;
@@ -29,30 +29,52 @@ export interface EoWorkbenchLayoutV2ComponentProps extends EoWorkbenchLayoutV2Pr
29
29
  onSetting?: () => void;
30
30
  }
31
31
  export declare const EoWorkbenchLayoutComponent: React.ForwardRefExoticComponent<EoWorkbenchLayoutV2ComponentProps & React.RefAttributes<EoWorkbenchLayoutV2ComponentRef>>;
32
+ export interface EoWorkbenchLayoutV2EventsMap {
33
+ change: CustomEvent<ExtraLayout[]>;
34
+ save: CustomEvent<ExtraLayout[]>;
35
+ cancel: CustomEvent<void>;
36
+ setting: CustomEvent<void>;
37
+ "action.click": CustomEvent<{
38
+ action: SimpleAction;
39
+ layouts: ExtraLayout[];
40
+ }>;
41
+ }
42
+ export interface EoWorkbenchLayoutV2EventsMapping {
43
+ onChange: "change";
44
+ onSave: "save";
45
+ onCancel: "cancel";
46
+ onSetting: "setting";
47
+ onActionClick: "action.click";
48
+ }
32
49
  /**
33
- * 工作台布局V2, 未使用shadow dom
50
+ * 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)
51
+ * @author developer
52
+ * @category layout
34
53
  */
35
54
  export declare class EoWorkbenchLayoutV2 extends ReactNextElement {
36
55
  #private;
56
+ /** 编辑模式下左侧卡片列表面板的标题 */
37
57
  accessor cardTitle: string | undefined;
58
+ /** 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 */
38
59
  accessor isEdit: boolean | undefined;
60
+ /** 当前布局配置,每项对应一个卡片的位置与大小及样式信息 */
39
61
  accessor layouts: ExtraLayout[] | undefined;
62
+ /** 编辑模式下工具栏区域的自定义构件 */
40
63
  accessor toolbarBricks: {
41
- useBrick: UseSingleBrickConf[];
64
+ useBrick: UseBrickConfOrRenderFunction;
42
65
  } | undefined;
66
+ /** 组件列表,每项包含 key、title、useBrick 和 position 信息 */
43
67
  accessor componentList: WorkbenchComponent[] | undefined;
44
- /**
45
- * 自定义卡片默认配置, 用于覆盖默认卡片配置
46
- */
68
+ /** 自定义卡片默认配置,用于覆盖默认卡片样式配置 */
47
69
  accessor customDefaultCardConfigMap: Record<string, CardStyleConfig> | undefined;
48
- /**
49
- * description: 用于设置页面样式和布局的按钮
50
- */
70
+ /** 是否显示设置按钮,用于触发页面样式和布局设置 */
51
71
  accessor showSettingButton: boolean | undefined;
72
+ /** 卡片之间的间距(px) */
73
+ accessor gap: number | undefined;
52
74
  /**
53
- * description: 卡片间隔
75
+ * 设置布局配置
76
+ * @param layouts - 新的布局配置数组
54
77
  */
55
- accessor gap: number | undefined;
56
78
  setLayouts(layouts: Layout[]): void;
57
79
  connectedCallback(): void;
58
80
  render(): React.JSX.Element;
@@ -1,9 +1,50 @@
1
- 级联选择器
1
+ ---
2
+ tagName: eo-cascader
3
+ displayName: WrappedEoCascader
4
+ description: 级联选择器
5
+ category: form-input-basic
6
+ source: "@next-bricks/advanced"
7
+ ---
8
+
9
+ # eo-cascader
10
+
11
+ > 级联选择器
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | -------------- | ------------------------------------ | ---- | ---------------------------------------------------------- | ------------------------------------------------------------- |
17
+ | name | `string` | 否 | - | 表单字段名 |
18
+ | label | `string` | 否 | - | 表单字段标签 |
19
+ | required | `boolean` | 否 | - | 是否为必填项 |
20
+ | options | `AntdCascaderProps["options"]` | 否 | - | 可选项数据源 |
21
+ | fieldNames | `AntdCascaderProps["fieldNames"]` | 否 | `{ label: "label", value: "value", children: "children" }` | 自定义字段名,指定 label、value、children 对应的字段 |
22
+ | value | `AntdCascaderProps["value"]` | 否 | - | 当前选中的值 |
23
+ | placeholder | `string` | 否 | - | 输入框占位文本 |
24
+ | multiple | `boolean` | 否 | - | 是否支持多选 |
25
+ | disabled | `boolean` | 否 | - | 是否禁用 |
26
+ | allowClear | `boolean` | 否 | `true` | 是否支持清除 |
27
+ | showSearch | `boolean` | 否 | `true` | 是否支持搜索,开启后可通过输入关键字过滤选项 |
28
+ | suffixIcon | `GeneralIconProps` | 否 | - | 自定义下拉箭头图标 |
29
+ | expandTrigger | `AntdCascaderProps["expandTrigger"]` | 否 | `"click"` | 次级菜单的展开方式,可选 click 或 hover |
30
+ | popupPlacement | `AntdCascaderProps["placement"]` | 否 | `"bottomLeft"` | 浮层预设位置,可选 bottomLeft、bottomRight、topLeft、topRight |
31
+ | size | `AntdCascaderProps["size"]` | 否 | - | 输入框大小,可选 large、middle、small |
32
+ | limit | `number` | 否 | `50` | 搜索结果的最大条数,0 表示不限制 |
33
+ | maxTagCount | `number \| "responsive"` | 否 | - | 多选模式下最多显示的 tag 数量,设为 responsive 时会自适应宽度 |
34
+ | cascaderStyle | `CSSProperties` | 否 | - | 级联选择器的内联样式 |
35
+
36
+ ## Events
37
+
38
+ | 事件 | detail | 说明 |
39
+ | --------------- | -------------------------------------------------------------------------------------------- | ------------------------ |
40
+ | cascader.change | `CascaderChangeEventDetail` — { value: 选择的值, selectedOptions: 选择的值所对应的 options } | 级联选择项输入变化时触发 |
2
41
 
3
42
  ## Examples
4
43
 
5
44
  ### Basic
6
45
 
46
+ 展示级联选择器的基本用法,通过 options 提供层级数据源。
47
+
7
48
  ```yaml preview minHeight="300px"
8
49
  - brick: eo-cascader
9
50
  properties:
@@ -29,6 +70,8 @@
29
70
 
30
71
  ### With Form
31
72
 
73
+ 在表单中使用级联选择器,配置 name、label 和 required 实现表单集成与校验。
74
+
32
75
  ```yaml preview minHeight="300px"
33
76
  - brick: eo-form
34
77
  events:
@@ -65,3 +108,143 @@
65
108
  - action: console.log
66
109
  - brick: eo-submit-buttons
67
110
  ```
111
+
112
+ ### Multiple Selection
113
+
114
+ 开启多选模式,并配置 maxTagCount 限制最多显示的 tag 数量。
115
+
116
+ ```yaml preview minHeight="300px"
117
+ - brick: eo-cascader
118
+ properties:
119
+ placeholder: 请选择城市(可多选)
120
+ multiple: true
121
+ maxTagCount: 2
122
+ options:
123
+ - children:
124
+ - children:
125
+ - label: West Lake
126
+ value: xihu
127
+ label: Hangzhou
128
+ value: hangzhou
129
+ label: Zhejiang
130
+ value: zhejiang
131
+ - children:
132
+ - children:
133
+ - label: Zhong Hua Men
134
+ value: zhonghuamen
135
+ label: Nanjing
136
+ value: nanjing
137
+ label: Jiangsu
138
+ value: jiangsu
139
+ events:
140
+ cascader.change:
141
+ - action: console.log
142
+ ```
143
+
144
+ ### Custom Field Names
145
+
146
+ 使用 fieldNames 自定义数据源中 label、value、children 对应的字段名。
147
+
148
+ ```yaml preview minHeight="300px"
149
+ - brick: eo-cascader
150
+ properties:
151
+ placeholder: 请选择分类
152
+ fieldNames:
153
+ label: name
154
+ value: id
155
+ children: sub
156
+ options:
157
+ - id: tech
158
+ name: 技术
159
+ sub:
160
+ - id: frontend
161
+ name: 前端
162
+ sub:
163
+ - id: react
164
+ name: React
165
+ - id: vue
166
+ name: Vue
167
+ - id: backend
168
+ name: 后端
169
+ sub:
170
+ - id: java
171
+ name: Java
172
+ ```
173
+
174
+ ### Disabled and Size
175
+
176
+ 展示禁用状态和不同尺寸(large、middle、small)的级联选择器。
177
+
178
+ ```yaml preview minHeight="300px"
179
+ - brick: div
180
+ properties:
181
+ style:
182
+ display: flex
183
+ flexDirection: column
184
+ gap: 12px
185
+ children:
186
+ - brick: eo-cascader
187
+ properties:
188
+ placeholder: Large 尺寸
189
+ size: large
190
+ options:
191
+ - label: Zhejiang
192
+ value: zhejiang
193
+ children:
194
+ - label: Hangzhou
195
+ value: hangzhou
196
+ children:
197
+ - label: West Lake
198
+ value: xihu
199
+ - brick: eo-cascader
200
+ properties:
201
+ placeholder: Small 尺寸
202
+ size: small
203
+ options:
204
+ - label: Zhejiang
205
+ value: zhejiang
206
+ children:
207
+ - label: Hangzhou
208
+ value: hangzhou
209
+ children:
210
+ - label: West Lake
211
+ value: xihu
212
+ - brick: eo-cascader
213
+ properties:
214
+ placeholder: 禁用状态
215
+ disabled: true
216
+ options:
217
+ - label: Zhejiang
218
+ value: zhejiang
219
+ children:
220
+ - label: Hangzhou
221
+ value: hangzhou
222
+ children:
223
+ - label: West Lake
224
+ value: xihu
225
+ ```
226
+
227
+ ### Custom Style and Icon
228
+
229
+ 通过 cascaderStyle 设置内联样式,通过 suffixIcon 自定义下拉箭头图标。
230
+
231
+ ```yaml preview minHeight="300px"
232
+ - brick: eo-cascader
233
+ properties:
234
+ placeholder: 自定义样式与图标
235
+ suffixIcon:
236
+ lib: antd
237
+ icon: down
238
+ cascaderStyle:
239
+ width: 300px
240
+ expandTrigger: hover
241
+ options:
242
+ - label: Zhejiang
243
+ value: zhejiang
244
+ children:
245
+ - label: Hangzhou
246
+ value: hangzhou
247
+ children:
248
+ - label: West Lake
249
+ value: xihu
250
+ ```