@pisell/materials 6.8.1 → 6.8.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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +2 -2
- package/es/components/Pagination/index.d.ts +1 -1
- package/es/components/PisellCards/components/MultilevelCard/hooks/useMultilevelCardExpand.d.ts +0 -1
- package/es/components/PisellCards/components/PisellImageCard/hooks/useImageLoad.d.ts +0 -1
- package/es/components/PisellCards/index.d.ts +0 -1
- package/es/components/PisellProcedure/PisellProcedure.js +9 -4
- package/es/components/PisellProcedure/PisellProcedure.less +121 -104
- package/es/components/PisellProcedure/components/ProcedureBody.js +2 -1
- package/es/components/PisellProcedure/components/ProcedureSidebar.d.ts +3 -1
- package/es/components/PisellProcedure/components/ProcedureSidebar.js +27 -14
- package/es/components/PisellProcedure/hooks/useElementSize.js +3 -2
- package/es/components/PisellProcedure/hooks/useSidebarHeight.js +1 -1
- package/es/components/PisellSteps/PisellSteps.less +2 -2
- package/es/components/PisellTabbar2/PisellTabbar.js +45 -3
- package/es/components/PisellTabbar2/PisellTabbar.less +1 -0
- package/es/components/PisellTabbar2/components/TabbarLevel.js +1 -0
- package/es/components/batch-editor/fields/index.d.ts +0 -1
- package/es/components/calendar/index.d.ts +0 -1
- package/es/components/checkbox/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +2 -3
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +4 -4
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +0 -1
- package/es/components/date-picker/index.d.ts +0 -1
- package/es/components/filter/components/items/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/es/components/filter/components/items/text/index.d.ts +0 -1
- package/es/components/pisellDatePicker/index.d.ts +0 -1
- package/es/components/pisellModal/components/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
- package/es/components/productCard/components/Packages/utils.d.ts +1 -1
- package/es/components/radio/index.d.ts +0 -1
- package/es/components/skeleton/index.d.ts +0 -1
- package/es/components/table/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
- package/es/components/table/Table/fields/date/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/index.d.ts +0 -1
- package/es/components/table/Table/fields/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
- package/es/components/table/Table/fields/select/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -1
- package/es/components/table/Table/fields/treeSelect/index.d.ts +0 -1
- package/es/components/table/Table/utils.d.ts +1 -1
- package/es/components/time-picker/index.d.ts +0 -1
- package/es/components/upload/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Time/utils.d.ts +0 -1
- package/es/utils/index.d.ts +1 -1
- package/es/utils/platform.d.ts +1 -1
- package/lib/components/Pagination/index.d.ts +1 -1
- package/lib/components/PisellCards/components/MultilevelCard/hooks/useMultilevelCardExpand.d.ts +0 -1
- package/lib/components/PisellCards/components/PisellImageCard/hooks/useImageLoad.d.ts +0 -1
- package/lib/components/PisellCards/index.d.ts +0 -1
- package/lib/components/PisellProcedure/PisellProcedure.js +5 -2
- package/lib/components/PisellProcedure/PisellProcedure.less +121 -104
- package/lib/components/PisellProcedure/components/ProcedureBody.js +2 -1
- package/lib/components/PisellProcedure/components/ProcedureSidebar.d.ts +3 -1
- package/lib/components/PisellProcedure/components/ProcedureSidebar.js +21 -8
- package/lib/components/PisellProcedure/hooks/useElementSize.js +2 -2
- package/lib/components/PisellProcedure/hooks/useSidebarHeight.js +1 -1
- package/lib/components/PisellSteps/PisellSteps.less +2 -2
- package/lib/components/PisellTabbar2/PisellTabbar.js +14 -6
- package/lib/components/PisellTabbar2/PisellTabbar.less +1 -0
- package/lib/components/PisellTabbar2/components/TabbarLevel.js +1 -0
- package/lib/components/batch-editor/fields/index.d.ts +0 -1
- package/lib/components/calendar/index.d.ts +0 -1
- package/lib/components/checkbox/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +2 -3
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +4 -4
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/index.d.ts +0 -1
- package/lib/components/date-picker/index.d.ts +0 -1
- package/lib/components/filter/components/items/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/index.d.ts +0 -1
- package/lib/components/pisellDatePicker/index.d.ts +0 -1
- package/lib/components/pisellModal/components/index.d.ts +0 -1
- package/lib/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
- package/lib/components/productCard/components/Packages/utils.d.ts +1 -1
- package/lib/components/radio/index.d.ts +0 -1
- package/lib/components/skeleton/index.d.ts +0 -1
- package/lib/components/table/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
- package/lib/components/table/Table/fields/date/index.d.ts +0 -1
- package/lib/components/table/Table/fields/image/index.d.ts +0 -1
- package/lib/components/table/Table/fields/index.d.ts +0 -1
- package/lib/components/table/Table/fields/link/index.d.ts +0 -1
- package/lib/components/table/Table/fields/number/index.d.ts +0 -1
- package/lib/components/table/Table/fields/numberRange/index.d.ts +0 -1
- package/lib/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
- package/lib/components/table/Table/fields/pSwitch/index.d.ts +0 -1
- package/lib/components/table/Table/fields/rangePicker/index.d.ts +0 -1
- package/lib/components/table/Table/fields/search/index.d.ts +0 -1
- package/lib/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
- package/lib/components/table/Table/fields/select/index.d.ts +0 -1
- package/lib/components/table/Table/fields/text/index.d.ts +0 -1
- package/lib/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -1
- package/lib/components/table/Table/fields/treeSelect/index.d.ts +0 -1
- package/lib/components/table/Table/utils.d.ts +1 -1
- package/lib/components/time-picker/index.d.ts +0 -1
- package/lib/components/upload/index.d.ts +0 -1
- package/lib/components/virtual-keyboard/Time/utils.d.ts +0 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/platform.d.ts +1 -1
- package/package.json +3 -3
|
@@ -5,7 +5,7 @@ export declare const paginationConfig: {
|
|
|
5
5
|
className: string;
|
|
6
6
|
defaultCurrent: number;
|
|
7
7
|
showTotal: (total: number, range: [number, number]) => string;
|
|
8
|
-
itemRender: (page: number, type: "
|
|
8
|
+
itemRender: (page: number, type: "next" | "page" | "prev" | "jump-prev" | "jump-next", element: React.ReactNode) => React.ReactNode;
|
|
9
9
|
responsive: boolean;
|
|
10
10
|
size: string;
|
|
11
11
|
};
|
|
@@ -50,8 +50,11 @@ var PisellProcedure = function PisellProcedure(props) {
|
|
|
50
50
|
__id = props.__id,
|
|
51
51
|
other = _objectWithoutProperties(props, _excluded);
|
|
52
52
|
|
|
53
|
-
// 检测是否是移动端(< 744px
|
|
54
|
-
|
|
53
|
+
// 检测是否是移动端(< 744px)
|
|
54
|
+
// 注意:Hook 必须无条件调用,不能放在条件语句中
|
|
55
|
+
var isMobileDetected = useMobile(744);
|
|
56
|
+
// 弹窗模式下不应用移动端检测
|
|
57
|
+
var isMobile = mode === 'modal' ? false : isMobileDetected;
|
|
55
58
|
|
|
56
59
|
// 使用步骤管理 Hook
|
|
57
60
|
var _useStepManager = useStepManager({
|
|
@@ -86,8 +89,10 @@ var PisellProcedure = function PisellProcedure(props) {
|
|
|
86
89
|
|
|
87
90
|
// 容器类名
|
|
88
91
|
var containerCls = useMemo(function () {
|
|
89
|
-
return mergeClassNames('pisell-procedure', className,
|
|
90
|
-
|
|
92
|
+
return mergeClassNames('pisell-procedure', className,
|
|
93
|
+
// 弹窗模式添加 --modal 修饰类,用于禁用媒体查询
|
|
94
|
+
mode === 'modal' && 'pisell-procedure--modal', modifierClassName('pisell-procedure', "footer-".concat(footerPosition)));
|
|
95
|
+
}, [className, mode, footerPosition]);
|
|
91
96
|
|
|
92
97
|
// 判断底部是否全局显示
|
|
93
98
|
var footerIsGlobal = isFooterGlobal(footerPosition);
|
|
@@ -105,17 +105,19 @@
|
|
|
105
105
|
|
|
106
106
|
// ========== 布局模式:比例布局 ==========
|
|
107
107
|
&--ratio {
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
108
|
+
// 移动端:比例模式下也隐藏信息区(弹窗模式下不执行)
|
|
109
|
+
.@{procedure-prefix}:not(.@{procedure-prefix}--modal) & {
|
|
110
|
+
@media (max-width: calc(@breakpoint-sm - 1px)) {
|
|
111
|
+
> .pisell-lowcode-layout,
|
|
112
|
+
> .ant-layout {
|
|
113
|
+
.@{procedure-prefix}-sidebar {
|
|
114
|
+
display: none !important;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.@{procedure-prefix}-content {
|
|
118
|
+
flex: 1 !important;
|
|
119
|
+
max-width: 100% !important;
|
|
120
|
+
}
|
|
119
121
|
}
|
|
120
122
|
}
|
|
121
123
|
}
|
|
@@ -132,21 +134,19 @@
|
|
|
132
134
|
|
|
133
135
|
// 纵向排列时的样式
|
|
134
136
|
.@{procedure-prefix}-body--vertical & {
|
|
135
|
-
width: 100
|
|
137
|
+
width: 100% !important;
|
|
136
138
|
flex: 1 1 auto;
|
|
137
139
|
}
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
// 信息区 - 高度自适应内容,sticky 定位
|
|
141
143
|
&-sidebar {
|
|
142
|
-
width:
|
|
143
|
-
max-width:
|
|
144
|
-
min-width:
|
|
145
|
-
flex: 0 0 @sidebar-width-xl;
|
|
144
|
+
width: initial !important;
|
|
145
|
+
max-width: initial !important;
|
|
146
|
+
min-width: initial !important;
|
|
146
147
|
background-color: @color-bg-sidebar;
|
|
147
148
|
border-radius: 4px;
|
|
148
149
|
position: sticky!important;
|
|
149
|
-
top: calc(64px + @gap-default * 2); // header 高度 + body padding + 额外间距
|
|
150
150
|
overflow-y: auto;
|
|
151
151
|
align-self: flex-start; // 不拉伸高度
|
|
152
152
|
background: transparent !important;
|
|
@@ -177,6 +177,10 @@
|
|
|
177
177
|
flex: 0 0 auto !important;
|
|
178
178
|
position: relative;
|
|
179
179
|
top: auto;
|
|
180
|
+
|
|
181
|
+
.@{procedure-prefix}-sider-content-top{
|
|
182
|
+
height: 100%;
|
|
183
|
+
}
|
|
180
184
|
}
|
|
181
185
|
|
|
182
186
|
// 响应式宽度调整 - 基于容器宽度的类名控制(适用于弹窗场景)
|
|
@@ -212,37 +216,46 @@
|
|
|
212
216
|
display: initial !important;
|
|
213
217
|
}
|
|
214
218
|
|
|
215
|
-
//
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
// 如果没有响应式类名,则应用媒体查询样式
|
|
220
|
-
&:not(.pisell-procedure-sidebar--responsive-md):not(.pisell-procedure-sidebar--responsive-sm):not(.pisell-procedure-sidebar--responsive-xs) {
|
|
221
|
-
@sidebar-width-dynamic: calc(@sidebar-width-md + (100vw - @breakpoint-md) * (405 - 376) / (1133 - 960));
|
|
222
|
-
width: @sidebar-width-dynamic !important;
|
|
219
|
+
// 大于1133px: 405px(仅页面模式,弹窗模式下不执行媒体查询)
|
|
220
|
+
.@{procedure-prefix}:not(.@{procedure-prefix}--modal) & {
|
|
221
|
+
@media (min-width: @breakpoint-lg) {
|
|
222
|
+
width: @sidebar-width-xl !important;
|
|
223
223
|
max-width: @sidebar-width-xl !important;
|
|
224
|
-
min-width: @sidebar-width-
|
|
225
|
-
flex: 0 0 @sidebar-width-
|
|
224
|
+
min-width: @sidebar-width-xl !important;
|
|
225
|
+
flex: 0 0 @sidebar-width-xl !important;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// 保留媒体查询作为降级方案(当没有提供 containerSelector 时,即页面模式)
|
|
229
|
+
// 960px < viewportWidth < 1133px: 376px ~ 405px 线性插值
|
|
230
|
+
@media (max-width: calc(@breakpoint-lg - 1px)) and (min-width: @breakpoint-md) {
|
|
231
|
+
// 如果没有响应式类名,则应用媒体查询样式
|
|
232
|
+
&:not(.pisell-procedure-sidebar--responsive-md):not(.pisell-procedure-sidebar--responsive-sm):not(.pisell-procedure-sidebar--responsive-xs) {
|
|
233
|
+
@sidebar-width-dynamic: calc(@sidebar-width-md + (100vw - @breakpoint-md) * (405 - 376) / (1133 - 960));
|
|
234
|
+
width: @sidebar-width-dynamic !important;
|
|
235
|
+
max-width: @sidebar-width-xl !important;
|
|
236
|
+
min-width: @sidebar-width-md !important;
|
|
237
|
+
flex: 0 0 @sidebar-width-dynamic !important;
|
|
238
|
+
}
|
|
226
239
|
}
|
|
227
|
-
}
|
|
228
240
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
241
|
+
// 744px < viewportWidth < 960px: 290px ~ 376px 线性插值
|
|
242
|
+
@media (max-width: calc(@breakpoint-md)) and (min-width: @breakpoint-sm) {
|
|
243
|
+
// 如果没有响应式类名,则应用媒体查询样式
|
|
244
|
+
&:not(.pisell-procedure-sidebar--responsive-md):not(.pisell-procedure-sidebar--responsive-sm):not(.pisell-procedure-sidebar--responsive-xs) {
|
|
245
|
+
@sidebar-width-dynamic: calc(@sidebar-width-sm + (100vw - @breakpoint-sm) * (376 - 290) / (960 - 744));
|
|
246
|
+
width: @sidebar-width-dynamic !important;
|
|
247
|
+
max-width: @sidebar-width-md !important;
|
|
248
|
+
min-width: @sidebar-width-sm !important;
|
|
249
|
+
flex: 0 0 @sidebar-width-dynamic !important;
|
|
250
|
+
}
|
|
238
251
|
}
|
|
239
|
-
}
|
|
240
252
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
253
|
+
// viewportWidth < 744px: 隐藏(仅页面模式)
|
|
254
|
+
@media (max-width: calc(@breakpoint-sm - 1px)) {
|
|
255
|
+
// 如果没有响应式类名,则应用媒体查询样式
|
|
256
|
+
&:not(.pisell-procedure-sidebar--responsive-md):not(.pisell-procedure-sidebar--responsive-sm):not(.pisell-procedure-sidebar--responsive-xs) {
|
|
257
|
+
display: none !important;
|
|
258
|
+
}
|
|
246
259
|
}
|
|
247
260
|
}
|
|
248
261
|
|
|
@@ -270,7 +283,7 @@
|
|
|
270
283
|
z-index: 100;
|
|
271
284
|
overflow: hidden; // 防止内容溢出
|
|
272
285
|
|
|
273
|
-
// 总结按钮插槽 - 仅移动端显示(< 744px
|
|
286
|
+
// 总结按钮插槽 - 仅移动端显示(< 744px),弹窗模式下不执行媒体查询
|
|
274
287
|
&__summary {
|
|
275
288
|
flex-shrink: 0;
|
|
276
289
|
margin-right: auto;
|
|
@@ -278,9 +291,11 @@
|
|
|
278
291
|
display: none;
|
|
279
292
|
cursor: pointer;
|
|
280
293
|
|
|
281
|
-
//
|
|
282
|
-
|
|
283
|
-
|
|
294
|
+
// 移动端显示(仅页面模式)
|
|
295
|
+
.@{procedure-prefix}:not(.@{procedure-prefix}--modal) & {
|
|
296
|
+
@media (max-width: calc(@breakpoint-sm - 1px)) {
|
|
297
|
+
display: block;
|
|
298
|
+
}
|
|
284
299
|
}
|
|
285
300
|
}
|
|
286
301
|
|
|
@@ -464,80 +479,82 @@
|
|
|
464
479
|
flex-shrink: 0;
|
|
465
480
|
position: sticky;
|
|
466
481
|
bottom: 0;
|
|
467
|
-
margin:
|
|
482
|
+
margin: 0;
|
|
468
483
|
}
|
|
469
484
|
}
|
|
470
485
|
}
|
|
471
486
|
}
|
|
472
487
|
|
|
473
|
-
// ========== 小屏适配(744px-960px
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
488
|
+
// ========== 小屏适配(744px-960px):头部两行显示(仅页面模式) ==========
|
|
489
|
+
&:not(&--modal) {
|
|
490
|
+
@media (min-width: @breakpoint-sm) and (max-width: calc(@breakpoint-md - 1px)) {
|
|
491
|
+
.@{procedure-prefix}-header {
|
|
492
|
+
flex-wrap: wrap;
|
|
493
|
+
min-height: auto;
|
|
494
|
+
padding: 12px @padding-default;
|
|
495
|
+
|
|
496
|
+
// 第一行:返回按钮
|
|
497
|
+
.@{procedure-prefix}-header__left {
|
|
498
|
+
order: 1;
|
|
499
|
+
flex: 0 0 auto;
|
|
500
|
+
}
|
|
485
501
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
502
|
+
// 第一行:关闭按钮,推到右边
|
|
503
|
+
.@{procedure-prefix}-header__right {
|
|
504
|
+
order: 2;
|
|
505
|
+
flex: 0 0 auto;
|
|
506
|
+
margin-left: auto;
|
|
507
|
+
}
|
|
492
508
|
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
509
|
+
// 第二行:步骤条独占一行
|
|
510
|
+
.@{procedure-prefix}-header__center {
|
|
511
|
+
order: 3;
|
|
512
|
+
width: 100%;
|
|
513
|
+
flex: 0 0 100%;
|
|
514
|
+
padding: 0;
|
|
515
|
+
justify-content: flex-start;
|
|
516
|
+
overflow-x: auto;
|
|
517
|
+
}
|
|
501
518
|
}
|
|
502
519
|
}
|
|
503
|
-
}
|
|
504
520
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
521
|
+
// ========== 移动端适配(<744px):头部一行显示 ==========
|
|
522
|
+
@media (max-width: calc(@breakpoint-sm - 1px)) {
|
|
523
|
+
.@{procedure-prefix}-header {
|
|
524
|
+
flex-wrap: nowrap;
|
|
525
|
+
min-height: auto;
|
|
526
|
+
padding: 12px @padding-default;
|
|
527
|
+
|
|
528
|
+
// 左侧:返回按钮
|
|
529
|
+
.@{procedure-prefix}-header__left {
|
|
530
|
+
flex: 0 0 auto;
|
|
531
|
+
}
|
|
511
532
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
533
|
+
// 中间:步骤条(简化显示当前步骤)
|
|
534
|
+
.@{procedure-prefix}-header__center {
|
|
535
|
+
flex: 1;
|
|
536
|
+
padding: 0 @gap-default;
|
|
537
|
+
overflow: hidden;
|
|
538
|
+
}
|
|
516
539
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
overflow: hidden;
|
|
540
|
+
// 右侧:关闭按钮
|
|
541
|
+
.@{procedure-prefix}-header__right {
|
|
542
|
+
flex: 0 0 auto;
|
|
543
|
+
}
|
|
522
544
|
}
|
|
523
545
|
|
|
524
|
-
//
|
|
525
|
-
|
|
526
|
-
|
|
546
|
+
// 主体区域移动端
|
|
547
|
+
.@{procedure-prefix}-body {
|
|
548
|
+
> .pisell-lowcode-layout,
|
|
549
|
+
> .ant-layout {
|
|
550
|
+
padding: @gap-default;
|
|
551
|
+
}
|
|
527
552
|
}
|
|
528
|
-
}
|
|
529
553
|
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
> .ant-layout {
|
|
534
|
-
padding: @gap-default;
|
|
554
|
+
// 内容区占满
|
|
555
|
+
.@{procedure-prefix}-content {
|
|
556
|
+
width: 100% !important;
|
|
535
557
|
}
|
|
536
558
|
}
|
|
537
|
-
|
|
538
|
-
// 内容区占满
|
|
539
|
-
&-content {
|
|
540
|
-
width: 100% !important;
|
|
541
|
-
}
|
|
542
559
|
}
|
|
543
560
|
}
|
|
@@ -132,7 +132,8 @@ var ProcedureBody = function ProcedureBody(_ref) {
|
|
|
132
132
|
extra: sidebarFooter,
|
|
133
133
|
isRatioMode: layoutMode === 'ratio',
|
|
134
134
|
containerSelector: bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.sidebarContainerSelector,
|
|
135
|
-
mode: mode
|
|
135
|
+
mode: mode,
|
|
136
|
+
direction: direction
|
|
136
137
|
}, bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.sidebarSlot) : null;
|
|
137
138
|
|
|
138
139
|
/** 根据 contentOrder 决定渲染顺序 */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CSSProperties, ReactNode } from 'react';
|
|
3
|
-
import type { ProcedureMode } from '../types';
|
|
3
|
+
import type { ProcedureMode, BodyDirection } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* ProcedureSidebar 子组件 Props
|
|
6
6
|
*/
|
|
@@ -23,6 +23,8 @@ export interface ProcedureSidebarProps {
|
|
|
23
23
|
containerSelector?: string;
|
|
24
24
|
/** 组件使用模式 */
|
|
25
25
|
mode?: ProcedureMode;
|
|
26
|
+
/** 排列方向 */
|
|
27
|
+
direction?: BodyDirection;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* ProcedureSidebar 信息区组件
|
|
@@ -28,28 +28,32 @@ var ProcedureSidebar = function ProcedureSidebar(_ref) {
|
|
|
28
28
|
isRatioMode = _ref$isRatioMode === void 0 ? false : _ref$isRatioMode,
|
|
29
29
|
containerSelector = _ref.containerSelector,
|
|
30
30
|
_ref$mode = _ref.mode,
|
|
31
|
-
mode = _ref$mode === void 0 ? 'page' : _ref$mode
|
|
32
|
-
|
|
31
|
+
mode = _ref$mode === void 0 ? 'page' : _ref$mode,
|
|
32
|
+
_ref$direction = _ref.direction,
|
|
33
|
+
direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
|
|
34
|
+
// 垂直布局下不需要计算高度
|
|
35
|
+
var isVertical = direction === 'vertical';
|
|
36
|
+
// 获取 header 高度(垂直布局下不需要)
|
|
33
37
|
var headerSize = useElementSize({
|
|
34
38
|
selector: '.pisell-procedure-header',
|
|
35
|
-
enabled:
|
|
39
|
+
enabled: !isVertical
|
|
36
40
|
});
|
|
37
41
|
|
|
38
|
-
// 计算全局 footer
|
|
42
|
+
// 计算全局 footer 的高度(垂直布局下不需要)
|
|
39
43
|
var floatAllFooterSize = useElementSize({
|
|
40
44
|
selector: '.pisell-procedure-footer--float-all',
|
|
41
|
-
enabled:
|
|
45
|
+
enabled: !isVertical
|
|
42
46
|
});
|
|
43
47
|
var fixedBottomFooterSize = useElementSize({
|
|
44
48
|
selector: '.pisell-procedure-footer--fixed-bottom',
|
|
45
|
-
enabled:
|
|
49
|
+
enabled: !isVertical
|
|
46
50
|
});
|
|
47
51
|
var footerHeight = Math.max((floatAllFooterSize === null || floatAllFooterSize === void 0 ? void 0 : floatAllFooterSize.height) || 0, (fixedBottomFooterSize === null || fixedBottomFooterSize === void 0 ? void 0 : fixedBottomFooterSize.height) || 0);
|
|
48
52
|
|
|
49
|
-
//
|
|
53
|
+
// 获取容器宽度和高度(垂直布局下不需要)
|
|
50
54
|
var containerSize = useElementSize({
|
|
51
55
|
selector: containerSelector || '',
|
|
52
|
-
enabled: !!containerSelector,
|
|
56
|
+
enabled: !isVertical && !!containerSelector,
|
|
53
57
|
threshold: 5,
|
|
54
58
|
debounceMs: 200
|
|
55
59
|
});
|
|
@@ -67,8 +71,12 @@ var ProcedureSidebar = function ProcedureSidebar(_ref) {
|
|
|
67
71
|
};
|
|
68
72
|
}, [containerWidth]);
|
|
69
73
|
|
|
70
|
-
//
|
|
74
|
+
// 检查所有尺寸是否已稳定(垂直布局下始终返回 false,不计算高度)
|
|
71
75
|
var isSizeStable = useMemo(function () {
|
|
76
|
+
// 垂直布局下不需要计算高度
|
|
77
|
+
if (isVertical) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
72
80
|
if (!(headerSize !== null && headerSize !== void 0 && headerSize.height) || headerSize.height === 0) {
|
|
73
81
|
return false;
|
|
74
82
|
}
|
|
@@ -76,9 +84,9 @@ var ProcedureSidebar = function ProcedureSidebar(_ref) {
|
|
|
76
84
|
return (containerSize === null || containerSize === void 0 ? void 0 : containerSize.width) > 0 && (containerSize === null || containerSize === void 0 ? void 0 : containerSize.height) > 0;
|
|
77
85
|
}
|
|
78
86
|
return true;
|
|
79
|
-
}, [containerSelector, containerSize === null || containerSize === void 0 ? void 0 : containerSize.width, containerSize === null || containerSize === void 0 ? void 0 : containerSize.height, headerSize === null || headerSize === void 0 ? void 0 : headerSize.height]);
|
|
87
|
+
}, [isVertical, containerSelector, containerSize === null || containerSize === void 0 ? void 0 : containerSize.width, containerSize === null || containerSize === void 0 ? void 0 : containerSize.height, headerSize === null || headerSize === void 0 ? void 0 : headerSize.height]);
|
|
80
88
|
|
|
81
|
-
// 使用自定义 Hook
|
|
89
|
+
// 使用自定义 Hook 计算高度(垂直布局下不需要)
|
|
82
90
|
var siderHeight = useSidebarHeight(isSizeStable, {
|
|
83
91
|
containerSelector: containerSelector,
|
|
84
92
|
containerHeight: containerSize === null || containerSize === void 0 ? void 0 : containerSize.height,
|
|
@@ -87,7 +95,10 @@ var ProcedureSidebar = function ProcedureSidebar(_ref) {
|
|
|
87
95
|
});
|
|
88
96
|
|
|
89
97
|
// 使用自定义 Hook 计算响应式类名(延迟应用,避免宽度抖动)
|
|
90
|
-
|
|
98
|
+
// 注意:Hook 必须无条件调用,不能放在条件语句中
|
|
99
|
+
var responsiveClsComputed = useResponsiveClass(containerWidth);
|
|
100
|
+
// 仅在 modal 模式下应用响应式类名
|
|
101
|
+
var responsiveCls = mode === 'modal' ? responsiveClsComputed : '';
|
|
91
102
|
|
|
92
103
|
// 信息区类名
|
|
93
104
|
var sidebarCls = useMemo(function () {
|
|
@@ -95,11 +106,13 @@ var ProcedureSidebar = function ProcedureSidebar(_ref) {
|
|
|
95
106
|
}, [className, isRatioMode, responsiveCls]);
|
|
96
107
|
return /*#__PURE__*/React.createElement(PisellSider, {
|
|
97
108
|
className: sidebarCls,
|
|
98
|
-
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
109
|
+
style: _objectSpread(_objectSpread(_objectSpread({}, style), {}, {
|
|
99
110
|
overflow: 'hidden'
|
|
100
111
|
}, siderHeight && siderHeight > 0 ? {
|
|
101
112
|
height: "".concat(siderHeight, "px")
|
|
102
|
-
} : {})
|
|
113
|
+
} : {}), {}, {
|
|
114
|
+
top: mode === 'modal' ? 0 : "".concat((headerSize === null || headerSize === void 0 ? void 0 : headerSize.height) + 32, "px")
|
|
115
|
+
})
|
|
103
116
|
}, /*#__PURE__*/React.createElement("div", {
|
|
104
117
|
className: "pisell-procedure-sider-content-top"
|
|
105
118
|
}, children), extra);
|
|
@@ -78,8 +78,9 @@ export var useElementSize = function useElementSize(_ref) {
|
|
|
78
78
|
var element = document.querySelector(selector);
|
|
79
79
|
if (element) {
|
|
80
80
|
var rect = element.getBoundingClientRect();
|
|
81
|
-
|
|
82
|
-
var
|
|
81
|
+
// 保留两位小数,避免浮点数精度问题导致频繁更新
|
|
82
|
+
var newWidth = Math.round(rect.width * 100) / 100;
|
|
83
|
+
var newHeight = Math.round(rect.height * 100) / 100;
|
|
83
84
|
var previousSize = previousSizeRef.current;
|
|
84
85
|
|
|
85
86
|
// 只有尺寸变化超过阈值时才更新
|
|
@@ -52,7 +52,7 @@ export var useSidebarHeight = function useSidebarHeight(isSizeStable, sizeValues
|
|
|
52
52
|
var headerHeightValue = headerHeight || 0;
|
|
53
53
|
var calculatedHeight = baseHeight - headerHeightValue - footerHeight - bodyPadding;
|
|
54
54
|
return calculatedHeight;
|
|
55
|
-
}, []);
|
|
55
|
+
}, [sizeValuesRef.current]);
|
|
56
56
|
|
|
57
57
|
// 使用 requestAnimationFrame 确保在浏览器重绘后计算,更稳定
|
|
58
58
|
useEffect(function () {
|
|
@@ -242,13 +242,13 @@
|
|
|
242
242
|
// 水平布局时(labelPlacement='horizontal'),控制图标右侧的间距
|
|
243
243
|
.ant-steps-item {
|
|
244
244
|
.ant-steps-item-icon {
|
|
245
|
-
margin-right: var(--pisell-steps-item-gap);
|
|
245
|
+
margin-right: var(--pisell-steps-item-gap) !important;
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
// 低代码平台中的样式支持 - 水平布局
|
|
250
250
|
.pisell-lowcode-steps-item-icon {
|
|
251
|
-
margin-right: var(--pisell-steps-item-gap);
|
|
251
|
+
margin-right: var(--pisell-steps-item-gap) !important;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
// 低代码平台垂直布局 - 设置内容区域的上边距
|
|
@@ -76,8 +76,12 @@ var PisellTabbar = function PisellTabbar(props) {
|
|
|
76
76
|
* 处理一级 Tab 切换
|
|
77
77
|
*/
|
|
78
78
|
var handleLevel1Change = useCallback(function (key, item) {
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
if (item.childrenMaxLevel !== undefined && item.childrenMaxLevel < 2) {
|
|
80
|
+
setActiveKey(0, key, 0);
|
|
81
|
+
} else {
|
|
82
|
+
var _item$children, _item$children$;
|
|
83
|
+
setActiveKey(0, key, item !== null && item !== void 0 && (_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length ? item === null || item === void 0 || (_item$children$ = item.children[0]) === null || _item$children$ === void 0 ? void 0 : _item$children$.id : undefined);
|
|
84
|
+
}
|
|
81
85
|
}, [setActiveKey]);
|
|
82
86
|
|
|
83
87
|
/**
|
|
@@ -213,7 +217,11 @@ var PisellTabbar = function PisellTabbar(props) {
|
|
|
213
217
|
gap: 12
|
|
214
218
|
},
|
|
215
219
|
panelStyle: {
|
|
216
|
-
|
|
220
|
+
position: 'absolute',
|
|
221
|
+
top: 40,
|
|
222
|
+
right: 0,
|
|
223
|
+
// zIndex: 99,
|
|
224
|
+
height: 'calc(100% - 40px)',
|
|
217
225
|
transition: '0.3s ease-in-out'
|
|
218
226
|
},
|
|
219
227
|
startSlot: null,
|
|
@@ -237,4 +245,38 @@ var PisellTabbar = function PisellTabbar(props) {
|
|
|
237
245
|
};
|
|
238
246
|
PisellTabbar.displayName = 'PisellTabbar';
|
|
239
247
|
PisellTabbar.getDefaultActiveKey = getDefaultActiveKey;
|
|
248
|
+
|
|
249
|
+
// const Demo = () => {
|
|
250
|
+
// return (
|
|
251
|
+
// <div style={{ height: '100vh', width: '100%', display: 'flex' }}>
|
|
252
|
+
// <div className="" style={{ height: '100%', width: 'calc(100% - 100px)' }}>
|
|
253
|
+
// <div className="tabbar-level-3-wrap" style={{ width: '100%' }}></div>
|
|
254
|
+
// <div className="" style={{ height: '400px' }}>
|
|
255
|
+
// content
|
|
256
|
+
// </div>
|
|
257
|
+
// </div>
|
|
258
|
+
// <div
|
|
259
|
+
// className=""
|
|
260
|
+
// style={{
|
|
261
|
+
// height: '100%',
|
|
262
|
+
// width: '100px',
|
|
263
|
+
// display: 'flex',
|
|
264
|
+
// alignItems: 'flex-start',
|
|
265
|
+
// }}
|
|
266
|
+
// >
|
|
267
|
+
// <div
|
|
268
|
+
// className="tabbar-level-2-wrap"
|
|
269
|
+
// style={{
|
|
270
|
+
// height: '100%',
|
|
271
|
+
// position: 'relative',
|
|
272
|
+
// }}
|
|
273
|
+
// ></div>
|
|
274
|
+
// <div className="" style={{ height: '100%' }}>
|
|
275
|
+
// <PisellTabbar __designMode />
|
|
276
|
+
// </div>
|
|
277
|
+
// </div>
|
|
278
|
+
// </div>
|
|
279
|
+
// );
|
|
280
|
+
// };
|
|
281
|
+
|
|
240
282
|
export default PisellTabbar;
|
|
@@ -256,6 +256,7 @@ var TabbarLevel = /*#__PURE__*/memo(function (props) {
|
|
|
256
256
|
|
|
257
257
|
// 普通项
|
|
258
258
|
return /*#__PURE__*/React.createElement(PisellCards.MultilevelCard, _extends({}, itemProps, {
|
|
259
|
+
panelWidthMode: "auto",
|
|
259
260
|
card: function card(cardProps) {
|
|
260
261
|
if (level === 'level1') {
|
|
261
262
|
return renderLevel1NormalCard(cardProps);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
declare const useDataSourceKey: () => {
|
|
3
|
-
dataSourceKey: string | undefined;
|
|
4
|
-
dataSourceKeyRef: import("react").MutableRefObject<string | undefined>;
|
|
2
|
+
dataSourceKey: string | import("../../provider/dataSource/DataSourceContext").DataSourceType | undefined;
|
|
3
|
+
dataSourceKeyRef: import("react").MutableRefObject<string | import("../../provider/dataSource/DataSourceContext").DataSourceType | undefined>;
|
|
5
4
|
};
|
|
6
5
|
export default useDataSourceKey;
|