@mijalowcode/materials 1.2.1 → 1.2.2

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.
@@ -1,5 +1,5 @@
1
- export { buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, ProTableWrapper_default as default, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue } from './chunk-3E4U7ZQZ.js';
1
+ export { buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, ProTableWrapper_default as default, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue } from './chunk-3FN6LEP3.js';
2
2
  import './chunk-ERTSEXI5.js';
3
3
  import './chunk-CTF6CVK3.js';
4
- //# sourceMappingURL=ProTableWrapper-DOKMBYWN.js.map
5
- //# sourceMappingURL=ProTableWrapper-DOKMBYWN.js.map
4
+ //# sourceMappingURL=ProTableWrapper-3MACKNZ5.js.map
5
+ //# sourceMappingURL=ProTableWrapper-3MACKNZ5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-DOKMBYWN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-3MACKNZ5.js"}
@@ -230,6 +230,146 @@ function convertColumns(columns = [], getAreaNodes, areaMap = {}, hasExternalRen
230
230
  return proColumn;
231
231
  });
232
232
  }
233
+ var SEARCH_RESIZE_SETTLE_DELAY = 120;
234
+ function getInitialProTableAutoHeightMetrics() {
235
+ return {
236
+ viewportHeight: typeof window !== "undefined" ? window.innerHeight : 900,
237
+ searchAreaHeight: 0
238
+ };
239
+ }
240
+ function buildProTableAutoHeightMetricsUpdate(current, next) {
241
+ if (current.viewportHeight === next.viewportHeight && current.searchAreaHeight === next.searchAreaHeight) {
242
+ return void 0;
243
+ }
244
+ return next;
245
+ }
246
+ function resolveResizeObserverHeight(entry) {
247
+ const height = entry?.contentRect.height;
248
+ return typeof height === "number" ? Math.ceil(height) : void 0;
249
+ }
250
+ function resolveProTableAutoHeightCommitDelay(source) {
251
+ return source === "search-resize" ? SEARCH_RESIZE_SETTLE_DELAY : 0;
252
+ }
253
+ function useProTableAutoHeight({
254
+ autoHeight,
255
+ getSearchNode,
256
+ searchEnabled
257
+ }) {
258
+ const [metrics, setMetrics] = useState(
259
+ getInitialProTableAutoHeightMetrics
260
+ );
261
+ const metricsRef = useRef(metrics);
262
+ const frameRef = useRef();
263
+ const settleTimerRef = useRef();
264
+ const pendingSearchAreaHeightRef = useRef();
265
+ const readSearchAreaHeight = useCallback(() => {
266
+ const searchNode = getSearchNode();
267
+ return searchNode ? Math.ceil(searchNode.getBoundingClientRect().height) : 0;
268
+ }, [getSearchNode]);
269
+ const commitMetrics = useCallback((next) => {
270
+ const update = buildProTableAutoHeightMetricsUpdate(
271
+ metricsRef.current,
272
+ next
273
+ );
274
+ if (!update) return;
275
+ metricsRef.current = update;
276
+ setMetrics(update);
277
+ }, []);
278
+ const flushMetrics = useCallback(() => {
279
+ frameRef.current = void 0;
280
+ const pendingSearchAreaHeight = pendingSearchAreaHeightRef.current;
281
+ pendingSearchAreaHeightRef.current = void 0;
282
+ commitMetrics({
283
+ viewportHeight: typeof window !== "undefined" ? window.innerHeight : 900,
284
+ searchAreaHeight: typeof pendingSearchAreaHeight === "number" ? pendingSearchAreaHeight : readSearchAreaHeight()
285
+ });
286
+ }, [commitMetrics, readSearchAreaHeight]);
287
+ const scheduleMetricsFrame = useCallback(() => {
288
+ if (typeof window === "undefined" || typeof window.requestAnimationFrame !== "function") {
289
+ flushMetrics();
290
+ return;
291
+ }
292
+ if (frameRef.current !== void 0) return;
293
+ frameRef.current = window.requestAnimationFrame(flushMetrics);
294
+ }, [flushMetrics]);
295
+ const scheduleMetricsUpdate = useCallback(
296
+ (source, observedSearchAreaHeight) => {
297
+ if (typeof observedSearchAreaHeight === "number") {
298
+ pendingSearchAreaHeightRef.current = Math.ceil(observedSearchAreaHeight);
299
+ }
300
+ if (typeof window === "undefined") {
301
+ scheduleMetricsFrame();
302
+ return;
303
+ }
304
+ const delay = resolveProTableAutoHeightCommitDelay(source);
305
+ if (delay <= 0) {
306
+ if (settleTimerRef.current !== void 0) {
307
+ window.clearTimeout(settleTimerRef.current);
308
+ settleTimerRef.current = void 0;
309
+ }
310
+ scheduleMetricsFrame();
311
+ return;
312
+ }
313
+ if (settleTimerRef.current !== void 0) {
314
+ window.clearTimeout(settleTimerRef.current);
315
+ }
316
+ settleTimerRef.current = window.setTimeout(() => {
317
+ settleTimerRef.current = void 0;
318
+ scheduleMetricsFrame();
319
+ }, delay);
320
+ },
321
+ [scheduleMetricsFrame]
322
+ );
323
+ useEffect(() => {
324
+ if (typeof window === "undefined") return;
325
+ const clearScheduledMetrics = () => {
326
+ if (frameRef.current !== void 0 && typeof window.cancelAnimationFrame === "function") {
327
+ window.cancelAnimationFrame(frameRef.current);
328
+ }
329
+ if (settleTimerRef.current !== void 0) {
330
+ window.clearTimeout(settleTimerRef.current);
331
+ }
332
+ frameRef.current = void 0;
333
+ settleTimerRef.current = void 0;
334
+ pendingSearchAreaHeightRef.current = void 0;
335
+ };
336
+ if (!autoHeight) {
337
+ clearScheduledMetrics();
338
+ commitMetrics({
339
+ viewportHeight: window.innerHeight,
340
+ searchAreaHeight: 0
341
+ });
342
+ return;
343
+ }
344
+ scheduleMetricsUpdate("initial");
345
+ const searchNode = getSearchNode();
346
+ const resizeObserver = searchNode && typeof ResizeObserver !== "undefined" ? new ResizeObserver((entries) => {
347
+ scheduleMetricsUpdate(
348
+ "search-resize",
349
+ resolveResizeObserverHeight(entries[0])
350
+ );
351
+ }) : null;
352
+ if (resizeObserver && searchNode) {
353
+ resizeObserver.observe(searchNode);
354
+ }
355
+ const handleWindowResize = () => {
356
+ scheduleMetricsUpdate("window-resize");
357
+ };
358
+ window.addEventListener("resize", handleWindowResize);
359
+ return () => {
360
+ clearScheduledMetrics();
361
+ if (resizeObserver) resizeObserver.disconnect();
362
+ window.removeEventListener("resize", handleWindowResize);
363
+ };
364
+ }, [
365
+ autoHeight,
366
+ searchEnabled,
367
+ getSearchNode,
368
+ commitMetrics,
369
+ scheduleMetricsUpdate
370
+ ]);
371
+ return metrics;
372
+ }
233
373
 
234
374
  // src/antdPro/ProTable/query-diagnostics.ts
235
375
  function isRuntimeDebugEnabled() {
@@ -353,10 +493,6 @@ function ProTableWrapper({
353
493
  const lastQueryActionRef = useRef(null);
354
494
  const lastFormSubmitRef = useRef(null);
355
495
  const longTaskObserverRef = useRef(null);
356
- const [searchAreaHeight, setSearchAreaHeight] = useState(0);
357
- const [viewportHeight, setViewportHeight] = useState(
358
- typeof window !== "undefined" ? window.innerHeight : 900
359
- );
360
496
  const [tablePageSize, setTablePageSize] = useState(pageSize);
361
497
  const emitEvent = useEventEmitter(onEvent);
362
498
  const emitEventRef = useRef(emitEvent);
@@ -409,41 +545,22 @@ function ProTableWrapper({
409
545
  ".ant-pro-table-search"
410
546
  );
411
547
  }, []);
412
- const updateAutoHeightMetrics = useCallback(() => {
413
- setViewportHeight(window.innerHeight);
414
- const searchNode = getSearchNode();
415
- const next = searchNode ? Math.ceil(searchNode.getBoundingClientRect().height) : 0;
416
- setSearchAreaHeight(next);
417
- }, [getSearchNode]);
418
- useEffect(() => {
419
- if (!autoHeight) {
420
- setSearchAreaHeight(0);
421
- return;
422
- }
423
- updateAutoHeightMetrics();
424
- const searchNode = getSearchNode();
425
- const resizeObserver = searchNode && typeof ResizeObserver !== "undefined" ? new ResizeObserver(updateAutoHeightMetrics) : null;
426
- if (resizeObserver && searchNode) {
427
- resizeObserver.observe(searchNode);
428
- }
429
- window.addEventListener("resize", updateAutoHeightMetrics);
430
- return () => {
431
- if (resizeObserver) resizeObserver.disconnect();
432
- window.removeEventListener("resize", updateAutoHeightMetrics);
433
- };
434
- }, [autoHeight, search, getSearchNode, updateAutoHeightMetrics]);
548
+ const autoHeightMetrics = useProTableAutoHeight({
549
+ autoHeight,
550
+ getSearchNode,
551
+ searchEnabled: search
552
+ });
435
553
  const finalScrollY = useMemo(() => {
436
554
  if (!autoHeight) return scrollY;
437
555
  const headerOffset = 47;
438
556
  const paginationOffset = paginationEnabled ? 40 : 0;
439
557
  const toolbarOffset = toolbarNodes && toolbarNodes.length > 0 ? 64 : 0;
440
- const dynamic = viewportHeight - searchAreaHeight - autoHeightOffset - headerOffset - paginationOffset - toolbarOffset;
558
+ const dynamic = autoHeightMetrics.viewportHeight - autoHeightMetrics.searchAreaHeight - autoHeightOffset - headerOffset - paginationOffset - toolbarOffset;
441
559
  return Math.max(autoHeightMinY, dynamic);
442
560
  }, [
443
561
  autoHeight,
444
562
  scrollY,
445
- viewportHeight,
446
- searchAreaHeight,
563
+ autoHeightMetrics,
447
564
  autoHeightOffset,
448
565
  autoHeightMinY,
449
566
  paginationEnabled,
@@ -760,5 +877,5 @@ function ProTableWrapper({
760
877
  var ProTableWrapper_default = ProTableWrapper;
761
878
 
762
879
  export { ProTableWrapper_default, buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue };
763
- //# sourceMappingURL=chunk-3E4U7ZQZ.js.map
764
- //# sourceMappingURL=chunk-3E4U7ZQZ.js.map
880
+ //# sourceMappingURL=chunk-3FN6LEP3.js.map
881
+ //# sourceMappingURL=chunk-3FN6LEP3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/antdPro/ProTable/data-source.ts","../src/antdPro/ProTable/storage-search.ts","../src/antdPro/ProTable/slot-cell.tsx","../src/antdPro/ProTable/columns.tsx","../src/antdPro/ProTable/auto-height.ts","../src/antdPro/ProTable/query-diagnostics.ts","../src/antdPro/ProTable/ProTableWrapper.tsx"],"names":["ProTableSlotCell","useRef","useState","useEffect","useCallback","size","jsx","AntdProTable"],"mappings":"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","file":"chunk-3FN6LEP3.js","sourcesContent":["export type TableRowRecord = Record<string, unknown>;\n\nexport function normalizeProTableDataSource(\n dataSource: unknown,\n): TableRowRecord[] {\n return Array.isArray(dataSource)\n ? dataSource.filter(\n (item): item is TableRowRecord =>\n Boolean(item) && typeof item === \"object\" && !Array.isArray(item),\n )\n : [];\n}\n\nexport function hasTableRequestBinding(\n eventMap: Record<string, unknown> | undefined,\n): boolean {\n const binding = eventMap?.[\"table.request\"];\n if (!binding || typeof binding !== \"object\" || Array.isArray(binding)) {\n return false;\n }\n const current = binding as {\n enabled?: unknown;\n handlerName?: unknown;\n handlerCode?: unknown;\n actions?: unknown;\n };\n if (current.enabled === false) return false;\n if (typeof current.handlerName === \"string\" && current.handlerName.trim()) {\n return true;\n }\n if (typeof current.handlerCode === \"string\" && current.handlerCode.trim()) {\n return true;\n }\n return Array.isArray(current.actions) && current.actions.length > 0;\n}\n","export type SearchInitialValuesStorageMapping = {\n target?: string;\n from?: string;\n defaultValue?: unknown;\n};\n\nexport function isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction getValueByPath(value: unknown, pathText: string) {\n const parts = String(pathText || \"\")\n .split(\".\")\n .map((part) => part.trim())\n .filter(Boolean);\n return parts.reduce<unknown>((current, part) => {\n if (!current || typeof current !== \"object\") return undefined;\n return (current as Record<string, unknown>)[part];\n }, value);\n}\n\nexport function getBrowserStorage(\n storageType: \"sessionStorage\" | \"localStorage\",\n) {\n if (typeof window === \"undefined\") return null;\n return storageType === \"localStorage\"\n ? window.localStorage\n : window.sessionStorage;\n}\n\nexport function unwrapSearchStorageValue(value: unknown, now = Date.now()) {\n if (!isPlainObject(value) || value.__mijalowcodeStorage !== true) {\n return value;\n }\n const expiresAt = Number(value.expiresAt || 0);\n if (expiresAt > 0 && expiresAt <= now) return undefined;\n return value.value;\n}\n\nexport function buildSearchInitialValuesFromStorageValue(\n storageValue: unknown,\n mappings: SearchInitialValuesStorageMapping[] = [],\n) {\n if (!isPlainObject(storageValue)) return {};\n if (!Array.isArray(mappings) || mappings.length === 0) {\n return { ...storageValue };\n }\n return mappings.reduce<Record<string, unknown>>((acc, mapping) => {\n const target = String(mapping.target || \"\").trim();\n if (!target) return acc;\n const from = String(mapping.from || target).trim();\n const value = from ? getValueByPath(storageValue, from) : undefined;\n acc[target] = value === undefined ? mapping.defaultValue : value;\n return acc;\n }, {});\n}\n\nexport function buildProTableFormConfig(\n searchInitialValues: Record<string, unknown>,\n) {\n if (Object.keys(searchInitialValues).length === 0) return undefined;\n return {\n initialValues: searchInitialValues,\n };\n}\n","import { memo, type ReactNode } from \"react\";\nimport type { ProColumns } from \"@ant-design/pro-components\";\nimport type { TableColumnConfig } from \"@mijalowcode/types\";\nimport { isPlainObject } from \"./storage-search\";\n\nexport type ProTableAreaNodesResolver = (\n areaName: string,\n payload?: Record<string, unknown>,\n) => ReactNode[] | undefined;\n\nexport function buildProTableSlotRuntimeContext(\n runtimeContext: Record<string, unknown> | undefined,\n slotRuntimeContext: Record<string, unknown>,\n): Record<string, unknown> {\n const baseData = isPlainObject(runtimeContext?.data)\n ? (runtimeContext.data as Record<string, unknown>)\n : {};\n const slotData = isPlainObject(slotRuntimeContext.data)\n ? (slotRuntimeContext.data as Record<string, unknown>)\n : {};\n\n return {\n ...(runtimeContext || {}),\n ...slotRuntimeContext,\n data: {\n ...baseData,\n ...slotData,\n },\n };\n}\n\ntype ProTableSlotCellProps = {\n areaNames: string[];\n column: TableColumnConfig;\n getAreaNodes?: ProTableAreaNodesResolver;\n index: number;\n record: Record<string, unknown>;\n runtimeContext?: Record<string, unknown>;\n value: unknown;\n valueEnum?: ProColumns[\"valueEnum\"];\n};\n\nexport const ProTableSlotCell = memo(\n function ProTableSlotCell({\n areaNames,\n column,\n getAreaNodes,\n index,\n record,\n runtimeContext,\n value,\n valueEnum,\n }: ProTableSlotCellProps) {\n const enumRecord = valueEnum as\n | Record<string, { text?: unknown; status?: unknown }>\n | undefined;\n const enumMatch =\n enumRecord && value !== undefined && value !== null\n ? enumRecord[String(value)]\n : undefined;\n const slotPayload = {\n record,\n index,\n column,\n value,\n valueEnum,\n valueEnumItem: enumMatch,\n enumText: enumMatch?.text,\n enumStatus: enumMatch?.status,\n };\n const slotNodes = areaNames.reduce<ReactNode[] | undefined>(\n (matchedNodes, areaName) => {\n if (matchedNodes !== undefined) {\n return matchedNodes;\n }\n const slotRuntimeContext = buildProTableSlotRuntimeContext(\n runtimeContext,\n {\n scope: \"table.cell\",\n area: areaName,\n container: {\n type: \"table\",\n area: areaName,\n index,\n column,\n record,\n },\n data: {\n ...slotPayload,\n rawValue: value,\n displayValue:\n enumMatch?.text !== undefined && enumMatch?.text !== null\n ? enumMatch.text\n : value,\n status: enumMatch?.status,\n },\n },\n );\n return getAreaNodes?.(areaName, {\n ...slotPayload,\n runtimeContext: slotRuntimeContext,\n });\n },\n undefined,\n );\n if (slotNodes !== undefined) {\n return slotNodes.length === 1 ? slotNodes[0] : slotNodes;\n }\n return String(record[column.dataIndex] ?? \"\");\n },\n (prev, next) =>\n prev.areaNames === next.areaNames &&\n prev.column === next.column &&\n prev.getAreaNodes === next.getAreaNodes &&\n prev.index === next.index &&\n prev.record === next.record &&\n prev.runtimeContext === next.runtimeContext &&\n prev.value === next.value &&\n prev.valueEnum === next.valueEnum,\n);\n","import type { ReactNode } from \"react\";\nimport * as AntdIcons from \"@ant-design/icons\";\nimport type { ProColumns } from \"@ant-design/pro-components\";\nimport type { FieldPropsConfig, TableColumnConfig } from \"@mijalowcode/types\";\nimport {\n ProTableSlotCell,\n type ProTableAreaNodesResolver,\n} from \"./slot-cell\";\n\nfunction isBindValue(value: unknown): value is {\n __bind: {\n fallback?: unknown;\n };\n} {\n return (\n Boolean(value) &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n typeof (value as Record<string, unknown>).__bind === \"object\"\n );\n}\n\nfunction renderFieldPropsPrefixSuffix(\n fieldProps: FieldPropsConfig | undefined,\n) {\n if (!fieldProps) return undefined;\n\n const result: FieldPropsConfig = { ...fieldProps };\n\n if (fieldProps.prefixType === \"icon\" && fieldProps.prefixIcon) {\n const icons = AntdIcons as unknown as Record<\n string,\n React.ComponentType<unknown>\n >;\n const IconComponent = icons[fieldProps.prefixIcon];\n result.prefix = IconComponent ? <IconComponent /> : undefined;\n } else if (fieldProps.prefixText) {\n result.prefix = fieldProps.prefixText as React.ReactNode;\n }\n\n if (fieldProps.suffixType === \"icon\" && fieldProps.suffixIcon) {\n const icons = AntdIcons as unknown as Record<\n string,\n React.ComponentType<unknown>\n >;\n const IconComponent = icons[fieldProps.suffixIcon];\n result.suffix = IconComponent ? <IconComponent /> : undefined;\n } else if (fieldProps.suffixText) {\n result.suffix = fieldProps.suffixText as React.ReactNode;\n }\n\n return result;\n}\n\nfunction resolveColumnValueEnum(\n col: TableColumnConfig,\n): ProColumns[\"valueEnum\"] {\n if (isBindValue(col.valueEnum)) {\n return col.valueEnum.__bind.fallback as ProColumns[\"valueEnum\"];\n }\n return col.valueEnum as ProColumns[\"valueEnum\"];\n}\n\nexport function resolveColumnSlotAreaNames(col: TableColumnConfig) {\n const areaNames: string[] = [];\n const columnId = String(col.columnId || \"\").trim();\n if (columnId) {\n areaNames.push(`columnId:${columnId}`);\n }\n return areaNames;\n}\n\n// 将低代码列配置转换为 ProTable 列配置,并按约定挂载列级插槽渲染\nexport function convertColumns(\n columns: TableColumnConfig[] = [],\n getAreaNodes?: ProTableAreaNodesResolver,\n areaMap: Record<string, ReactNode[]> = {},\n hasExternalRenderSlot = false,\n runtimeContext?: Record<string, unknown>,\n): ProColumns[] {\n return columns.map((col) => {\n const extendedCol = col as TableColumnConfig & {\n slotName?: string;\n request?: ProColumns[\"request\"];\n };\n const areaNames = resolveColumnSlotAreaNames(col);\n const hasSchemaSlot = areaNames.some(\n (areaName) => areaMap[areaName]?.length,\n );\n\n const proColumn: ProColumns = {\n key: col.key || col.dataIndex,\n title: col.title,\n dataIndex: col.dataIndex,\n width: col.width,\n align: col.align,\n fixed: col.fixed || undefined,\n ellipsis: col.ellipsis,\n copyable: col.copyable,\n sorter: col.sorter,\n valueType: col.valueType as any,\n valueEnum: resolveColumnValueEnum(col),\n request: extendedCol.request,\n hideInSearch: col.hideInSearch,\n hideInTable: col.hideInTable,\n formItemProps: col.formItemProps,\n fieldProps: renderFieldPropsPrefixSuffix(col.fieldProps) as any,\n };\n\n if (!areaNames.length || (!hasExternalRenderSlot && !hasSchemaSlot)) {\n return proColumn;\n }\n\n proColumn.render = (_, record: Record<string, unknown>, index: number) => {\n const rawValue = record[col.dataIndex];\n const valueEnum = resolveColumnValueEnum(col);\n return (\n <ProTableSlotCell\n areaNames={areaNames}\n column={col}\n getAreaNodes={getAreaNodes}\n index={index}\n record={record}\n runtimeContext={runtimeContext}\n value={rawValue}\n valueEnum={valueEnum}\n />\n );\n };\n\n return proColumn;\n });\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport type ProTableAutoHeightMetrics = {\n viewportHeight: number;\n searchAreaHeight: number;\n};\n\ntype UseProTableAutoHeightOptions = {\n autoHeight: boolean;\n getSearchNode: () => HTMLElement | null;\n searchEnabled: boolean;\n};\n\ntype AutoHeightUpdateSource = \"initial\" | \"window-resize\" | \"search-resize\";\n\nconst SEARCH_RESIZE_SETTLE_DELAY = 120;\n\nexport function getInitialProTableAutoHeightMetrics(): ProTableAutoHeightMetrics {\n return {\n viewportHeight: typeof window !== \"undefined\" ? window.innerHeight : 900,\n searchAreaHeight: 0,\n };\n}\n\nexport function buildProTableAutoHeightMetricsUpdate(\n current: ProTableAutoHeightMetrics,\n next: ProTableAutoHeightMetrics,\n) {\n if (\n current.viewportHeight === next.viewportHeight &&\n current.searchAreaHeight === next.searchAreaHeight\n ) {\n return undefined;\n }\n return next;\n}\n\nexport function resolveResizeObserverHeight(entry?: ResizeObserverEntry) {\n const height = entry?.contentRect.height;\n return typeof height === \"number\" ? Math.ceil(height) : undefined;\n}\n\nexport function resolveProTableAutoHeightCommitDelay(\n source: AutoHeightUpdateSource,\n) {\n return source === \"search-resize\" ? SEARCH_RESIZE_SETTLE_DELAY : 0;\n}\n\nexport function useProTableAutoHeight({\n autoHeight,\n getSearchNode,\n searchEnabled,\n}: UseProTableAutoHeightOptions) {\n const [metrics, setMetrics] = useState<ProTableAutoHeightMetrics>(\n getInitialProTableAutoHeightMetrics,\n );\n const metricsRef = useRef(metrics);\n const frameRef = useRef<number>();\n const settleTimerRef = useRef<number>();\n const pendingSearchAreaHeightRef = useRef<number>();\n\n const readSearchAreaHeight = useCallback(() => {\n const searchNode = getSearchNode();\n return searchNode ? Math.ceil(searchNode.getBoundingClientRect().height) : 0;\n }, [getSearchNode]);\n\n const commitMetrics = useCallback((next: ProTableAutoHeightMetrics) => {\n const update = buildProTableAutoHeightMetricsUpdate(\n metricsRef.current,\n next,\n );\n if (!update) return;\n\n metricsRef.current = update;\n setMetrics(update);\n }, []);\n\n const flushMetrics = useCallback(() => {\n frameRef.current = undefined;\n const pendingSearchAreaHeight = pendingSearchAreaHeightRef.current;\n pendingSearchAreaHeightRef.current = undefined;\n\n commitMetrics({\n viewportHeight: typeof window !== \"undefined\" ? window.innerHeight : 900,\n searchAreaHeight:\n typeof pendingSearchAreaHeight === \"number\"\n ? pendingSearchAreaHeight\n : readSearchAreaHeight(),\n });\n }, [commitMetrics, readSearchAreaHeight]);\n\n const scheduleMetricsFrame = useCallback(() => {\n if (\n typeof window === \"undefined\" ||\n typeof window.requestAnimationFrame !== \"function\"\n ) {\n flushMetrics();\n return;\n }\n\n if (frameRef.current !== undefined) return;\n frameRef.current = window.requestAnimationFrame(flushMetrics);\n }, [flushMetrics]);\n\n const scheduleMetricsUpdate = useCallback(\n (\n source: AutoHeightUpdateSource,\n observedSearchAreaHeight?: number,\n ) => {\n if (typeof observedSearchAreaHeight === \"number\") {\n pendingSearchAreaHeightRef.current = Math.ceil(observedSearchAreaHeight);\n }\n\n if (typeof window === \"undefined\") {\n scheduleMetricsFrame();\n return;\n }\n\n const delay = resolveProTableAutoHeightCommitDelay(source);\n if (delay <= 0) {\n if (settleTimerRef.current !== undefined) {\n window.clearTimeout(settleTimerRef.current);\n settleTimerRef.current = undefined;\n }\n scheduleMetricsFrame();\n return;\n }\n\n if (settleTimerRef.current !== undefined) {\n window.clearTimeout(settleTimerRef.current);\n }\n settleTimerRef.current = window.setTimeout(() => {\n settleTimerRef.current = undefined;\n scheduleMetricsFrame();\n }, delay);\n },\n [scheduleMetricsFrame],\n );\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n\n const clearScheduledMetrics = () => {\n if (\n frameRef.current !== undefined &&\n typeof window.cancelAnimationFrame === \"function\"\n ) {\n window.cancelAnimationFrame(frameRef.current);\n }\n if (settleTimerRef.current !== undefined) {\n window.clearTimeout(settleTimerRef.current);\n }\n frameRef.current = undefined;\n settleTimerRef.current = undefined;\n pendingSearchAreaHeightRef.current = undefined;\n };\n\n if (!autoHeight) {\n clearScheduledMetrics();\n commitMetrics({\n viewportHeight: window.innerHeight,\n searchAreaHeight: 0,\n });\n return;\n }\n\n scheduleMetricsUpdate(\"initial\");\n\n const searchNode = getSearchNode();\n const resizeObserver =\n searchNode && typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver((entries) => {\n scheduleMetricsUpdate(\n \"search-resize\",\n resolveResizeObserverHeight(entries[0]),\n );\n })\n : null;\n\n if (resizeObserver && searchNode) {\n resizeObserver.observe(searchNode);\n }\n\n const handleWindowResize = () => {\n scheduleMetricsUpdate(\"window-resize\");\n };\n\n window.addEventListener(\"resize\", handleWindowResize);\n\n return () => {\n clearScheduledMetrics();\n if (resizeObserver) resizeObserver.disconnect();\n window.removeEventListener(\"resize\", handleWindowResize);\n };\n }, [\n autoHeight,\n searchEnabled,\n getSearchNode,\n commitMetrics,\n scheduleMetricsUpdate,\n ]);\n\n return metrics;\n}\n","declare global {\n interface Window {\n __LC_DEBUG_ENABLED__?: boolean;\n __LC_PERF_COUNTS__?: Record<string, number>;\n }\n}\n\nexport function isRuntimeDebugEnabled() {\n if (typeof window === \"undefined\") return false;\n return window.__LC_DEBUG_ENABLED__ === true;\n}\n\nexport function recordProTableDiagnostic(\n name: string,\n detail?: Record<string, unknown>,\n) {\n if (typeof window === \"undefined\" || !isRuntimeDebugEnabled()) return;\n if (!window.__LC_PERF_COUNTS__) {\n window.__LC_PERF_COUNTS__ = {};\n }\n const eventName = String(name || \"\").trim();\n if (!eventName) return;\n const nextCount = Number(window.__LC_PERF_COUNTS__[eventName] || 0) + 1;\n window.__LC_PERF_COUNTS__[eventName] = nextCount;\n console.info(\"[LC PERF]\", {\n name: eventName,\n count: nextCount,\n detail,\n });\n}\n\nexport function resolveProTableQueryActionName(\n text: string,\n): \"query\" | \"reset\" | undefined {\n const normalized = String(text || \"\").replace(/\\s+/g, \"\");\n if (normalized === \"查询\") return \"query\";\n if (normalized === \"重置\") return \"reset\";\n return undefined;\n}\n\nexport function buildProTableQueryDelayDetail(\n capturedAt: number,\n triggeredAt: number,\n) {\n return {\n delayMs: Math.round(triggeredAt - capturedAt),\n };\n}\n\nfunction getDiagnosticValueType(value: unknown): string {\n if (Array.isArray(value)) return `array(${value.length})`;\n if (value === null) return \"null\";\n return typeof value;\n}\n\nexport function buildProTableRequestParamsSummary(\n params: Record<string, unknown>,\n) {\n const keys = Object.keys(params || {});\n return {\n keys,\n fieldTypes: keys.reduce<Record<string, string>>((acc, key) => {\n acc[key] = getDiagnosticValueType(params[key]);\n return acc;\n }, {}),\n };\n}\n\nexport function shouldRecordProTableLongTask(duration: number) {\n return Number(duration || 0) >= 50;\n}\n\nexport function getNowTime() {\n return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\n","import {\r\n useCallback,\r\n useRef,\n useState,\n useEffect,\n useMemo,\n type ReactNode,\n type ComponentProps,\n} from \"react\";\nimport { ProTable as AntdProTable } from \"@ant-design/pro-components\";\nimport type { ActionType } from \"@ant-design/pro-components\";\nimport type { TableColumnConfig } from \"@mijalowcode/types\";\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\nimport { useEventEmitter, type EventEmitter } from \"../../event-runtime\";\nimport {\n hasTableRequestBinding,\n normalizeProTableDataSource,\n} from \"./data-source\";\nimport { convertColumns, resolveColumnSlotAreaNames } from \"./columns\";\nimport { useProTableAutoHeight } from \"./auto-height\";\nimport {\n buildProTableFormConfig,\n buildSearchInitialValuesFromStorageValue,\n getBrowserStorage,\n unwrapSearchStorageValue,\n type SearchInitialValuesStorageMapping,\n} from \"./storage-search\";\nimport {\n buildProTableQueryDelayDetail,\n buildProTableRequestParamsSummary,\n getNowTime,\n isRuntimeDebugEnabled,\n recordProTableDiagnostic,\n resolveProTableQueryActionName,\n shouldRecordProTableLongTask,\n} from \"./query-diagnostics\";\n\nexport {\n buildProTableQueryDelayDetail,\n buildProTableRequestParamsSummary,\n resolveProTableQueryActionName,\n shouldRecordProTableLongTask,\n} from \"./query-diagnostics\";\nexport {\n buildProTableFormConfig,\n buildSearchInitialValuesFromStorageValue,\n unwrapSearchStorageValue,\n} from \"./storage-search\";\nexport { buildProTableSlotRuntimeContext } from \"./slot-cell\";\n\r\ntype TableRequestResult = {\n data: Record<string, unknown>[];\n success: boolean;\n total: number;\n};\n\ndeclare global {\n interface Window {\n __LC_DEBUG_ENABLED__?: boolean;\n __LC_PERF_COUNTS__?: Record<string, number>;\n }\n}\n\nfunction yieldProTableRequestPaint() {\n return new Promise<void>((resolve) => {\n if (typeof window === \"undefined\") {\n resolve();\n return;\n }\n if (typeof window.requestAnimationFrame !== \"function\") {\n window.setTimeout(resolve, 0);\n return;\n }\n // request 前主动让出一帧,优先让 ProTable loading 状态完成提交。\n window.requestAnimationFrame(() => {\n window.setTimeout(resolve, 0);\n });\n });\n}\n\ntype RegisterCapabilities = (\n componentId: string,\n capabilities: Record<string, (...args: unknown[]) => unknown>,\n) => () => void;\n\r\ntype MaterialRuntime = {\r\n nodeId: string;\r\n context?: Record<string, unknown>;\r\n registerComponentCapabilities?: RegisterCapabilities;\r\n};\r\n\r\ninterface ProTableWrapperProps {\r\n columns?: TableColumnConfig[];\r\n dataSource?: unknown;\r\n type?: \"\" | \"form\" | \"list\" | \"descriptions\" | \"table\" | \"cardList\";\r\n rowKey?: string;\r\n headerTitle?: string;\r\n size?: \"large\" | \"middle\" | \"small\";\r\n bordered?: boolean;\r\n showHeader?: boolean;\r\n search?: boolean;\r\n searchInitialValuesSource?: \"none\" | \"storage\";\r\n searchInitialValuesStorageType?: \"sessionStorage\" | \"localStorage\";\r\n searchInitialValuesStorageKey?: string;\r\n searchInitialValuesMappings?: SearchInitialValuesStorageMapping[];\r\n clearSearchInitialValuesAfterUse?: boolean;\r\n rowSelectionEnabled?: boolean;\r\n rowSelectionType?: \"checkbox\" | \"radio\";\r\n paginationEnabled?: boolean;\r\n pageSize?: number;\r\n showSizeChanger?: boolean;\r\n showQuickJumper?: boolean;\r\n scrollX?: number;\r\n scrollY?: number;\r\n autoHeight?: boolean;\r\n autoHeightOffset?: number;\r\n autoHeightMinY?: number;\r\n style?: React.CSSProperties;\r\n onEvent?: EventEmitter;\r\n renderSlot?: (\r\n slotName: string,\r\n payload?: Record<string, unknown>,\r\n ) => ReactNode;\r\n children?: ReactNode;\r\n toolbarSlotName?: string;\r\n runtime?: MaterialRuntime;\r\n __nodeId?: string;\r\n __registerCapabilities?: RegisterCapabilities;\r\n __events?: Record<string, unknown>;\r\n}\r\n\r\ntype ProTableSearchProp = ComponentProps<typeof AntdProTable>[\"search\"];\n\nfunction getEventTargetButton(target: EventTarget | null): HTMLElement | null {\n if (!target || typeof Element === \"undefined\") return null;\n if (!(target instanceof Element)) return null;\n return target.closest(\"button\");\n}\n\r\nfunction buildTableRequestSortPayload(sort: Record<string, unknown>) {\n const [sortField, sortOrder] = Object.entries(sort).find(([, value]) => {\n return value === \"ascend\" || value === \"descend\";\n }) || [undefined, undefined];\n\r\n if (!sortField || typeof sortOrder !== \"string\") return {};\r\n\r\n return {\r\n sortField,\r\n sortMode: sortOrder === \"ascend\" ? \"ASC\" : \"DESC\",\n };\n}\n\nfunction ProTableWrapper({\n columns = [],\r\n dataSource = [],\r\n rowKey = \"key\",\r\n headerTitle,\r\n size = \"middle\",\r\n bordered = false,\r\n showHeader = true,\r\n search = true,\r\n searchInitialValuesSource = \"none\",\r\n searchInitialValuesStorageType = \"sessionStorage\",\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings = [],\r\n clearSearchInitialValuesAfterUse = true,\r\n paginationEnabled = true,\r\n pageSize = 10,\r\n showSizeChanger = true,\r\n showQuickJumper = false,\r\n scrollX,\r\n scrollY,\r\n autoHeight = true,\r\n autoHeightOffset = 0,\r\n autoHeightMinY = 240,\r\n style,\r\n onEvent,\r\n renderSlot,\r\n children,\r\n toolbarSlotName = \"toolbar\",\r\n runtime,\r\n __nodeId,\r\n __registerCapabilities,\r\n __events,\r\n}: ProTableWrapperProps) {\r\n const actionRef = useRef<ActionType>();\r\n const componentNodeId = runtime?.nodeId || __nodeId;\r\n const registerCapabilities =\r\n runtime?.registerComponentCapabilities || __registerCapabilities;\r\n\r\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const lastQueryActionRef = useRef<{\n actionName: \"query\" | \"reset\" | \"enter\";\n capturedAt: number;\n source: string;\n } | null>(null);\n const lastFormSubmitRef = useRef<{\n capturedAt: number;\n source: string;\n } | null>(null);\n const longTaskObserverRef = useRef<PerformanceObserver | null>(null);\n const [tablePageSize, setTablePageSize] = useState(pageSize);\n const emitEvent = useEventEmitter(onEvent);\n const emitEventRef = useRef(emitEvent);\n emitEventRef.current = emitEvent;\n\r\n useEffect(() => {\r\n setTablePageSize(pageSize);\r\n }, [pageSize]);\r\n\r\n useEffect(() => {\r\n if (!componentNodeId || !registerCapabilities) return;\r\n return registerCapabilities(componentNodeId, {\r\n reload: () => actionRef.current?.reload?.(),\r\n reloadAndRest: () => actionRef.current?.reloadAndRest?.(),\r\n reset: () => actionRef.current?.reset?.(),\r\n clearSelected: () => actionRef.current?.clearSelected?.(),\r\n });\r\n }, [componentNodeId, registerCapabilities]);\r\n\r\n const slotAreas = useMemo<SlotArea[]>(() => {\r\n const areaSet = new Set<string>([toolbarSlotName]);\r\n columns.forEach((col) => {\r\n resolveColumnSlotAreaNames(col).forEach((areaName) => {\r\n areaSet.add(areaName);\r\n });\r\n });\r\n return Array.from(areaSet).map((name) => ({ name }));\r\n }, [columns, toolbarSlotName]);\r\n const runtimeContext = runtime?.context;\r\n\r\n const { getAreaNodes, areaMap } = useSlotRuntime({\r\n renderSlot,\r\n children,\r\n areas: slotAreas,\r\n context: runtimeContext ? { runtimeContext } : undefined,\r\n });\r\n\r\n const proColumns = useMemo(\r\n () =>\r\n convertColumns(\r\n columns,\r\n getAreaNodes,\r\n areaMap,\r\n Boolean(renderSlot),\r\n runtimeContext,\r\n ),\r\n [columns, getAreaNodes, areaMap, renderSlot, runtimeContext],\r\n );\r\n\r\n const toolbarNodes = useMemo(() => {\r\n return getAreaNodes(toolbarSlotName, { actionRef: actionRef.current });\r\n }, [getAreaNodes, toolbarSlotName, actionRef]);\r\n\r\n // 统一获取搜索区节点,用于计算自动高度\r\n const getSearchNode = useCallback(() => {\n const container = tableContainerRef.current;\n if (!container) return null;\n return container.querySelector(\n \".ant-pro-table-search\",\n ) as HTMLElement | null;\n }, []);\n\n const autoHeightMetrics = useProTableAutoHeight({\n autoHeight,\n getSearchNode,\n searchEnabled: search,\n });\n\n const finalScrollY = useMemo(() => {\n if (!autoHeight) return scrollY;\n const headerOffset = 47;\n const paginationOffset = paginationEnabled ? 40 : 0;\n const toolbarOffset = toolbarNodes && toolbarNodes.length > 0 ? 64 : 0;\n const dynamic =\n autoHeightMetrics.viewportHeight -\n autoHeightMetrics.searchAreaHeight -\n autoHeightOffset -\n headerOffset -\n paginationOffset -\n toolbarOffset;\n return Math.max(autoHeightMinY, dynamic);\r\n }, [\r\n autoHeight,\n scrollY,\n autoHeightMetrics,\n autoHeightOffset,\n autoHeightMinY,\n paginationEnabled,\n toolbarNodes,\n ]);\n\r\n const tableDataSource = useMemo(\r\n () => normalizeProTableDataSource(dataSource),\r\n [dataSource],\r\n );\r\n const hasRequestBinding = useMemo(\r\n () => hasTableRequestBinding(__events),\r\n [__events],\r\n );\r\n\r\n // 配置了 table.request 时完全交给 request 驱动;未配置时使用 dataSource。\r\n const request = useCallback(\n async (\n params: Record<string, unknown>,\n sort: Record<string, unknown>,\n filter: Record<string, unknown>,\n ): Promise<TableRequestResult> => {\n const startedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n const lastQueryAction = lastQueryActionRef.current;\n recordProTableDiagnostic(\"protable.request.start\", {\n nodeId: componentNodeId,\n paramsSummary: buildProTableRequestParamsSummary(params),\n sortSummary: buildProTableRequestParamsSummary(sort),\n filterSummary: buildProTableRequestParamsSummary(filter),\n previousAction: lastQueryAction\n ? {\n actionName: lastQueryAction.actionName,\n source: lastQueryAction.source,\n delayMs: Math.round(startedAt - lastQueryAction.capturedAt),\n }\n : undefined,\n previousSubmit: lastFormSubmitRef.current\n ? {\n source: lastFormSubmitRef.current.source,\n delayMs: Math.round(\n startedAt - lastFormSubmitRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n await yieldProTableRequestPaint();\n const result = await emitEventRef.current<TableRequestResult>(\n \"table.request\",\n {\n ...params,\n ...buildTableRequestSortPayload(sort),\n ...filter,\n },\n );\n const finalResult = result || {\n data: [],\n success: true,\n total: 0,\n };\n const endedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n recordProTableDiagnostic(\"protable.request.done\", {\n nodeId: componentNodeId,\n durationMs: Math.round(endedAt - startedAt),\n hasResult: Boolean(result),\n });\n return finalResult;\n },\n [componentNodeId],\n );\n\r\n // 统一分页事件载荷,避免 onShowSizeChange / onChange 重复拼装参数\r\n const emitPaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n emitEvent(\"table.pagination.change\", {\r\n current,\r\n pageSize: size,\r\n pagination: {\r\n current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n [emitEvent],\r\n );\r\n\r\n const handlePageSizeChange = useCallback(\r\n (current: number, size: number) => {\r\n setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const handlePaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n if (typeof size === \"number\") setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const paginationConfig = useMemo(\r\n () =>\r\n paginationEnabled\r\n ? {\r\n pageSize: tablePageSize,\r\n size: \"default\",\r\n showSizeChanger,\r\n showQuickJumper,\r\n showTotal: (total: number) => `共 ${total} 条`,\r\n onShowSizeChange: handlePageSizeChange,\r\n onChange: handlePaginationChange,\r\n }\r\n : false,\r\n [\r\n paginationEnabled,\r\n tablePageSize,\r\n showSizeChanger,\r\n showQuickJumper,\r\n handlePageSizeChange,\r\n handlePaginationChange,\r\n ],\r\n );\r\n\r\n const handleRowClick = useCallback(\n (record: Record<string, unknown>) => {\r\n emitEvent(\"table.row.click\", { record });\r\n },\r\n [emitEvent],\n );\n\n const recordQueryAction = useCallback(\n (\n actionName: \"query\" | \"reset\" | \"enter\",\n source: string,\n detail?: Record<string, unknown>,\n ) => {\n const capturedAt = getNowTime();\n lastQueryActionRef.current = {\n actionName,\n capturedAt,\n source,\n };\n recordProTableDiagnostic(\"protable.query.action\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...detail,\n });\n if (\n isRuntimeDebugEnabled() &&\n typeof PerformanceObserver !== \"undefined\"\n ) {\n longTaskObserverRef.current?.disconnect();\n try {\n const observer = new PerformanceObserver((list) => {\n list.getEntries().forEach((entry) => {\n if (!shouldRecordProTableLongTask(entry.duration)) return;\n recordProTableDiagnostic(\"protable.query.longtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n startDelayMs: Math.round(entry.startTime - capturedAt),\n durationMs: Math.round(entry.duration),\n entryType: entry.entryType,\n name: entry.name,\n });\n });\n });\n observer.observe({ entryTypes: [\"longtask\"] });\n longTaskObserverRef.current = observer;\n window.setTimeout(() => {\n observer.disconnect();\n if (longTaskObserverRef.current === observer) {\n longTaskObserverRef.current = null;\n }\n }, 8000);\n } catch {\n longTaskObserverRef.current = null;\n }\n }\n Promise.resolve().then(() => {\n recordProTableDiagnostic(\"protable.query.microtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n window.setTimeout(() => {\n recordProTableDiagnostic(\"protable.query.timeout\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n }, 0);\n if (typeof window.requestAnimationFrame === \"function\") {\n window.requestAnimationFrame(() => {\n recordProTableDiagnostic(\"protable.query.raf\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n }\n },\n [componentNodeId],\n );\n\n const handleTableClickCapture = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const button = getEventTargetButton(event.target);\n if (!button) return;\n const actionName = resolveProTableQueryActionName(\n button.textContent || \"\",\n );\n if (!actionName) return;\n recordQueryAction(actionName, \"click\", {\n buttonText: button.textContent || \"\",\n });\n },\n [recordQueryAction],\n );\n\n const handleTableSubmitCapture = useCallback(\n (event: React.FormEvent<HTMLDivElement>) => {\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchForm = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchForm) return;\n const capturedAt = getNowTime();\n lastFormSubmitRef.current = {\n capturedAt,\n source: \"submit\",\n };\n recordProTableDiagnostic(\"protable.form.submit\", {\n nodeId: componentNodeId,\n previousAction: lastQueryActionRef.current\n ? {\n actionName: lastQueryActionRef.current.actionName,\n source: lastQueryActionRef.current.source,\n delayMs: Math.round(\n capturedAt - lastQueryActionRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n },\n [componentNodeId],\n );\n\n const handleTableKeyDownCapture = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== \"Enter\") return;\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchArea = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchArea) return;\n recordQueryAction(\"enter\", \"keydown\", {\n targetTag: target.tagName.toLowerCase(),\n });\n },\n [recordQueryAction],\n );\n\r\n const tableScroll = useMemo(\r\n () =>\r\n scrollX || finalScrollY ? { x: scrollX, y: finalScrollY } : undefined,\r\n [scrollX, finalScrollY],\r\n );\r\n\r\n const searchConfig = useMemo<ProTableSearchProp>(\r\n () => (search ? ({ colon: false } as ProTableSearchProp) : false),\r\n [search],\r\n );\r\n\r\n const searchInitialValues = useMemo(() => {\r\n if (searchInitialValuesSource !== \"storage\") return {};\r\n const key = String(searchInitialValuesStorageKey || \"\").trim();\r\n if (!key) return {};\r\n const storage = getBrowserStorage(searchInitialValuesStorageType);\r\n if (!storage) return {};\r\n\r\n const raw = storage.getItem(key);\r\n\r\n if (!raw) return {};\n try {\n const parsed = unwrapSearchStorageValue(JSON.parse(raw));\n const values = buildSearchInitialValuesFromStorageValue(\n parsed,\n searchInitialValuesMappings,\n );\r\n if (clearSearchInitialValuesAfterUse) {\r\n storage.removeItem(key);\r\n }\r\n return values;\r\n } catch {\r\n return {};\r\n }\r\n }, [\r\n searchInitialValuesSource,\r\n searchInitialValuesStorageType,\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings,\r\n clearSearchInitialValuesAfterUse,\n ]);\n const formConfig = useMemo(\n () => buildProTableFormConfig(searchInitialValues),\n [searchInitialValues],\n );\n\n return (\n <div\n ref={tableContainerRef}\n onClickCapture={handleTableClickCapture}\n onKeyDownCapture={handleTableKeyDownCapture}\n onSubmitCapture={handleTableSubmitCapture}\n >\n <AntdProTable\r\n actionRef={actionRef}\r\n columns={proColumns}\r\n request={hasRequestBinding ? request : undefined}\r\n dataSource={hasRequestBinding ? undefined : tableDataSource}\r\n rowKey={rowKey}\r\n headerTitle={headerTitle}\r\n size={size}\r\n tableStyle={{\r\n padding: toolbarNodes || !searchConfig ? 0 : 24,\r\n }}\r\n bordered={bordered}\n showHeader={showHeader}\n search={searchConfig}\n form={formConfig}\n options={false}\n dateFormatter=\"string\"\r\n toolBarRender={toolbarNodes ? () => toolbarNodes : undefined}\r\n pagination={\r\n paginationConfig as ComponentProps<typeof AntdProTable>[\"pagination\"]\r\n }\r\n onRow={(record) => ({\r\n onClick: () => handleRowClick(record as Record<string, unknown>),\r\n })}\r\n scroll={tableScroll}\r\n style={style}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport default ProTableWrapper;\r\n"]}
@@ -524,7 +524,7 @@ var materialManifest = {
524
524
  async () => (await import('./meta-FIJVIJNW.js')).TypographyTextMeta
525
525
  ),
526
526
  ProTable: () => loadDefault(
527
- () => import('./ProTableWrapper-DOKMBYWN.js'),
527
+ () => import('./ProTableWrapper-3MACKNZ5.js'),
528
528
  async () => (await import('./meta-XR4NHL2M.js')).ProTableMeta,
529
529
  loadColumnsAdapter()
530
530
  ),
@@ -644,5 +644,5 @@ async function loadMaterialModules(componentNames, manifest = materialManifest,
644
644
  }
645
645
 
646
646
  export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest };
647
- //# sourceMappingURL=chunk-ECOW5GPV.js.map
648
- //# sourceMappingURL=chunk-ECOW5GPV.js.map
647
+ //# sourceMappingURL=chunk-RY7OLIUM.js.map
648
+ //# sourceMappingURL=chunk-RY7OLIUM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime-adapters/columns-request.ts","../src/runtime-adapters/list-template.ts","../src/runtime-adapters/index.ts","../src/material-manifest.ts"],"names":[],"mappings":"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","file":"chunk-ECOW5GPV.js","sourcesContent":["import dayjs from \"dayjs\";\n\ntype ComponentAdapter = {\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype InitialValuePreset =\n | \"currentMonth\"\n | \"lastMonth\"\n | \"last7Days\"\n | \"last30Days\"\n | \"currentWeek\";\n\nfunction getValueByPath(source: unknown, path: string): unknown {\n const finalPath = String(path || \"\").trim();\n if (!finalPath) return undefined;\n return finalPath.split(\".\").reduce<unknown>((acc, segment) => {\n if (!segment) return acc;\n if (acc && typeof acc === \"object\") {\n return (acc as Record<string, unknown>)[segment];\n }\n return undefined;\n }, source);\n}\n\nfunction normalizeSelectOptionsFromResult(\n result: unknown,\n): Array<{ label: string; value: string | number }> {\n const source = getValueByPath(result, \"data\");\n const list = Array.isArray(source)\n ? source\n : Array.isArray(result)\n ? result\n : [];\n return list.reduce<Array<{ label: string; value: string | number }>>(\n (acc, item) => {\n const record =\n item && typeof item === \"object\"\n ? (item as Record<string, unknown>)\n : {};\n const value = record.value ?? record.id ?? record.code;\n if (value === undefined || value === null) return acc;\n const text = record.label ?? record.name ?? record.text ?? value;\n acc.push({\n label: String(text),\n value: value as string | number,\n });\n return acc;\n },\n [],\n );\n}\n\nfunction resolveColumnRequestEvent(column: Record<string, unknown>): string {\n const direct = String(column._requestEvent || \"\").trim();\n if (direct) return direct;\n return \"\";\n}\n\nfunction buildColumnRequestPayload(\n requestEvent: string,\n params: Record<string, unknown>,\n column: Record<string, unknown>,\n): Record<string, unknown> {\n const requestParams =\n params && typeof params === \"object\" && !Array.isArray(params)\n ? params\n : {};\n const field = String(column.dataIndex || column.key || \"\").trim();\n return {\n ...requestParams,\n requestEvent,\n params: requestParams,\n field,\n column,\n };\n}\n\nfunction resolveDateRangePresetInitialValue(\n preset: InitialValuePreset,\n): [unknown, unknown] | undefined {\n const now = dayjs();\n switch (preset) {\n case \"currentMonth\":\n return [now.startOf(\"month\"), now.endOf(\"month\")];\n case \"lastMonth\": {\n const base = now.subtract(1, \"month\");\n return [base.startOf(\"month\"), base.endOf(\"month\")];\n }\n case \"last7Days\":\n return [now.subtract(6, \"day\").startOf(\"day\"), now.endOf(\"day\")];\n case \"last30Days\":\n return [now.subtract(1, \"month\").startOf(\"day\"), now.endOf(\"day\")];\n case \"currentWeek\":\n return [now.startOf(\"week\"), now.endOf(\"week\")];\n default:\n return undefined;\n }\n}\n\nfunction normalizeColumnFormItemProps(column: Record<string, unknown>) {\n const valueType = String(column.valueType || \"\");\n if (![\"dateRange\", \"dateTimeRange\"].includes(valueType)) {\n return column.formItemProps;\n }\n const raw =\n column.formItemProps &&\n typeof column.formItemProps === \"object\" &&\n !Array.isArray(column.formItemProps)\n ? (column.formItemProps as Record<string, unknown>)\n : undefined;\n if (!raw) return column.formItemProps;\n if (String(raw.initialValueMode || \"\") !== \"preset\") return raw;\n const preset = String(raw.initialValuePreset || \"\") as InitialValuePreset;\n if (!preset) return raw;\n const rangeValue = resolveDateRangePresetInitialValue(preset);\n if (!rangeValue) return raw;\n return {\n ...raw,\n initialValue: rangeValue,\n };\n}\n\nfunction attachColumnsRequestByEvent(\n columns: unknown,\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>,\n): unknown {\n if (!Array.isArray(columns)) return columns;\n return columns.map((column) => {\n if (!column || typeof column !== \"object\") return column;\n const current = column as Record<string, unknown>;\n const normalizedFormItemProps = normalizeColumnFormItemProps(current);\n const normalizedColumn =\n normalizedFormItemProps === current.formItemProps\n ? current\n : {\n ...current,\n formItemProps: normalizedFormItemProps,\n };\n const requestEvent = resolveColumnRequestEvent(current);\n if (!requestEvent) return normalizedColumn;\n return {\n ...normalizedColumn,\n request: async (params: Record<string, unknown>) => {\n const payload = buildColumnRequestPayload(\n requestEvent,\n params,\n current,\n );\n const result = await runRequestEvent(requestEvent, payload);\n return normalizeSelectOptionsFromResult(result);\n },\n };\n });\n}\n\nexport const columnsRequestAdapter: ComponentAdapter = {\n adaptProps: (props, context) => {\n if (!(\"columns\" in props)) return props;\n return {\n ...props,\n columns: attachColumnsRequestByEvent(props.columns, context.runRequestEvent),\n };\n },\n};\n","import { List } from \"antd\";\r\nimport { createElement, type ReactNode } from \"react\";\r\n\r\ntype ComponentAdapterContext = {\r\n mode?: \"edit\" | \"preview\";\r\n runtimeContext?: Record<string, unknown>;\r\n hasChildren?: boolean;\r\n renderChildren?: (runtimeContext?: Record<string, unknown>) => ReactNode;\r\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n};\r\n\r\ntype ComponentAdapter = {\r\n adaptProps: (\r\n props: Record<string, unknown>,\r\n context: ComponentAdapterContext,\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type ListItemRecord = unknown;\r\n\r\nexport function normalizeListDataSource(dataSource: unknown): ListItemRecord[] {\r\n return Array.isArray(dataSource) ? dataSource : [];\r\n}\r\n\r\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\r\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\r\n}\r\n\r\nfunction normalizeGridNumber(value: unknown): number | undefined {\r\n if (typeof value !== \"number\") return undefined;\r\n if (!Number.isFinite(value)) return undefined;\r\n return value;\r\n}\r\n\r\nexport function normalizeListGrid(\r\n grid: unknown,\r\n): Record<string, unknown> | undefined {\r\n if (!isPlainObject(grid)) return undefined;\r\n const nextGrid = Object.entries(grid).reduce<Record<string, unknown>>(\r\n (acc, [key, value]) => {\r\n const nextValue = normalizeGridNumber(value);\r\n if (nextValue !== undefined) {\r\n acc[key] = nextValue;\r\n }\r\n return acc;\r\n },\r\n {},\r\n );\r\n return Object.keys(nextGrid).length > 0 ? nextGrid : undefined;\r\n}\r\n\r\nexport function getListItemKey(\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey?: unknown,\r\n): string {\r\n const keyField = String(rowKey || \"\").trim();\r\n if (\r\n keyField &&\r\n record &&\r\n typeof record === \"object\" &&\r\n !Array.isArray(record)\r\n ) {\r\n const value = (record as Record<string, unknown>)[keyField];\r\n if (value !== undefined && value !== null && value !== \"\") {\r\n return String(value);\r\n }\r\n }\r\n return String(index);\r\n}\r\n\r\nexport function buildListItemRuntimeContext(\r\n runtimeContext: Record<string, unknown> | undefined,\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey: string,\r\n list: ListItemRecord[],\r\n): Record<string, unknown> {\r\n const baseData =\r\n runtimeContext?.data &&\r\n typeof runtimeContext.data === \"object\" &&\r\n !Array.isArray(runtimeContext.data)\r\n ? (runtimeContext.data as Record<string, unknown>)\r\n : {};\r\n\r\n return {\r\n ...(runtimeContext || {}),\r\n data: {\r\n ...baseData,\r\n record,\r\n item: record,\r\n index,\r\n rowKey,\r\n list,\r\n },\r\n };\r\n}\r\n\r\nexport const listTemplateAdapter: ComponentAdapter = {\r\n adaptProps: (props, context) => {\r\n const {\r\n children: _children,\r\n rowKey,\r\n previewCount,\r\n grid,\r\n ...restProps\r\n } = props;\r\n const safeGrid = normalizeListGrid(grid);\r\n const normalizedProps = safeGrid\r\n ? { ...restProps, grid: safeGrid }\r\n : restProps;\r\n if (!context.hasChildren || !context.renderChildren) {\r\n return normalizedProps;\r\n }\r\n\r\n void previewCount;\r\n const rows = normalizeListDataSource(props.dataSource);\r\n const rowKeyField = String(rowKey || \"\").trim();\r\n\r\n return {\r\n ...normalizedProps,\r\n dataSource: rows,\r\n renderItem: (record: unknown, rowIndex: number) => {\r\n const itemKey = getListItemKey(record, rowIndex, rowKeyField);\r\n const nextRuntimeContext = buildListItemRuntimeContext(\r\n context.runtimeContext,\r\n record,\r\n rowIndex,\r\n itemKey,\r\n rows,\r\n );\r\n return createElement(\r\n List.Item,\r\n { key: itemKey },\r\n context.renderChildren?.(nextRuntimeContext),\r\n );\r\n },\r\n };\r\n },\r\n};\r\n","import { columnsRequestAdapter } from \"./columns-request\";\nimport { listTemplateAdapter } from \"./list-template\";\nimport type { ReactNode } from \"react\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n mode?: \"edit\" | \"preview\";\n runtimeContext?: Record<string, unknown>;\n hasChildren?: boolean;\n renderChildren?: (\n runtimeContext?: Record<string, unknown>,\n ) => ReactNode;\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype ComponentAdapterRegistry = {\n get: (componentName: string) => ComponentAdapter | null;\n};\n\nconst columnsAdapterComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"Table\",\n]);\n\nconst runtimePropComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"FilterColumns\",\n \"Breadcrumb\",\n \"Descriptions\",\n \"Tag\",\n \"DesensitizationDisplay\",\n \"Drawer\",\n]);\n\nconst dataSourceFallbackComponentNames = new Set([\"List\", \"ProTable\"]);\n\nconst passthroughAdapter: ComponentAdapter = {\n adaptProps: (props) => props,\n};\n\nfunction withRuntimeProps(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n acceptsInternalRuntimeProps: true,\n };\n}\n\nfunction withDataSourceFallbackSkip(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n getResolveOptions: (propPath) => {\n const baseOptions = adapter.getResolveOptions?.(propPath) || {};\n if (propPath[0] !== \"dataSource\") return baseOptions;\n return {\n ...baseOptions,\n skipBindFallback: true,\n };\n },\n };\n}\n\nfunction buildAdapter(componentName: string, adapter: ComponentAdapter) {\n const withDataSourceStrategy = dataSourceFallbackComponentNames.has(componentName)\n ? withDataSourceFallbackSkip(adapter)\n : adapter;\n return runtimePropComponentNames.has(componentName)\n ? withRuntimeProps(withDataSourceStrategy)\n : withDataSourceStrategy;\n}\n\nexport const defaultComponentAdapterRegistry: ComponentAdapterRegistry = {\n get: (componentName: string) => {\n if (componentName === \"List\") {\n return buildAdapter(componentName, listTemplateAdapter);\n }\n if (columnsAdapterComponentNames.has(componentName)) {\n return buildAdapter(componentName, columnsRequestAdapter);\n }\n if (runtimePropComponentNames.has(componentName)) {\n return buildAdapter(componentName, passthroughAdapter);\n }\n return null;\n },\n};\n","import type { ComponentType } from \"react\";\nimport type { ComponentMeta } from \"@mijalowcode/types\";\nimport { columnsRequestAdapter } from \"./runtime-adapters/columns-request\";\nimport { defaultComponentAdapterRegistry } from \"./runtime-adapters\";\nimport { listTemplateAdapter } from \"./runtime-adapters/list-template\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n },\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type MaterialRuntimeModule = {\r\n component: ComponentType<any>;\r\n adapter?: ComponentAdapter;\r\n meta?: ComponentMeta;\r\n};\r\n\r\nexport type MaterialLoadOptions = {\r\n includeMeta?: boolean;\r\n};\r\n\r\nexport type LoadMaterialModulesOptions = MaterialLoadOptions;\r\n\r\nexport type MaterialLoader = (\r\n options?: MaterialLoadOptions,\r\n) => Promise<MaterialRuntimeModule>;\r\n\r\nexport type MaterialManifestEntry = MaterialLoader;\r\n\r\nexport type MaterialManifest = Record<string, MaterialManifestEntry>;\r\n\r\nexport type LoadedMaterialModules = {\r\n components: Record<string, ComponentType<any>>;\r\n adapters: Record<string, ComponentAdapter>;\r\n metas: Record<string, ComponentMeta>;\r\n missing: string[];\r\n};\r\n\r\nconst defaultMaterialLoadOptions: MaterialLoadOptions = {\r\n includeMeta: false,\r\n};\r\n\r\nfunction shouldLoadMeta(options?: MaterialLoadOptions) {\r\n return Boolean(options?.includeMeta);\r\n}\r\n\r\nfunction pick(source: unknown, path: string): ComponentType<any> {\r\n return path.split(\".\").reduce<unknown>((acc, segment) => {\r\n if (!acc || typeof acc !== \"object\") return undefined;\r\n return (acc as Record<string, unknown>)[segment];\r\n }, source) as ComponentType<any>;\r\n}\r\n\r\nasync function loadWeb(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [web, meta] = await Promise.all([\r\n import(\"@mijadesign/web\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(web, exportPath), meta };\r\n}\r\n\r\nasync function loadAntdLayout(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [antd, meta] = await Promise.all([\r\n import(\"antd\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(antd, exportPath), meta };\r\n}\r\n\r\nasync function loadDefault(\r\n componentLoader: () => Promise<{ default: ComponentType<any> }>,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n adapter?: ComponentAdapter,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [componentModule, meta] = await Promise.all([\r\n componentLoader(),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: componentModule.default, adapter, meta };\r\n}\r\n\r\nconst loadColumnsAdapter = () => columnsRequestAdapter;\n\nfunction mergeComponentAdapter(\n componentName: string,\n adapter?: ComponentAdapter,\n): ComponentAdapter | undefined {\n const defaultAdapter = defaultComponentAdapterRegistry.get(componentName);\n if (!adapter) return defaultAdapter || undefined;\n if (!defaultAdapter) return adapter;\n return {\n ...defaultAdapter,\n ...adapter,\n acceptsInternalRuntimeProps:\n adapter.acceptsInternalRuntimeProps ??\n defaultAdapter.acceptsInternalRuntimeProps,\n getResolveOptions: (propPath) => ({\n ...(defaultAdapter.getResolveOptions?.(propPath) || {}),\n ...(adapter.getResolveOptions?.(propPath) || {}),\n }),\n };\n}\n\r\nconst manifestLoadCache = new WeakMap<\r\n MaterialManifest,\r\n Map<string, Promise<MaterialRuntimeModule>>\r\n>();\r\n\r\nfunction getManifestCache(manifest: MaterialManifest) {\r\n const existing = manifestLoadCache.get(manifest);\r\n if (existing) return existing;\r\n const next = new Map<string, Promise<MaterialRuntimeModule>>();\r\n manifestLoadCache.set(manifest, next);\r\n return next;\r\n}\r\n\r\nfunction loadCachedMaterial(\r\n componentName: string,\r\n entry: MaterialManifestEntry,\r\n manifest: MaterialManifest,\r\n options: MaterialLoadOptions,\r\n) {\r\n const cache = getManifestCache(manifest);\r\n const cacheKey = `${componentName}:${shouldLoadMeta(options) ? \"meta\" : \"runtime\"}`;\r\n const cached = cache.get(cacheKey);\r\n if (cached) return cached;\r\n const loading = entry(options).catch((error: unknown) => {\r\n cache.delete(cacheKey);\r\n throw error;\r\n });\r\n cache.set(cacheKey, loading);\r\n return loading;\r\n}\r\n\r\nexport function clearMaterialLoadCache(manifest?: MaterialManifest) {\r\n if (manifest) {\r\n manifestLoadCache.delete(manifest);\r\n return;\r\n }\r\n manifestLoadCache.delete(materialManifest);\r\n}\r\n\r\nexport const materialManifest: MaterialManifest = {\r\n Button: () =>\r\n loadDefault(\r\n () => import(\"./antd/Button/ButtonWrapper\"),\r\n async () => (await import(\"./antd/Button/meta\")).ButtonMeta,\r\n ),\r\n Space: () =>\r\n loadDefault(\r\n () => import(\"./antd/Space/SpaceWrapper\"),\r\n async () => (await import(\"./antd/Space/meta\")).SpaceMeta,\r\n ),\r\n DesensitizationDisplay: () =>\r\n loadDefault(\r\n () => import(\"./custom/DesensitizationDisplay\"),\r\n async () =>\r\n (await import(\"./custom/DesensitizationDisplay/meta\"))\r\n .DesensitizationDisplayMeta,\r\n ),\r\n\r\n Layout: () =>\r\n loadAntdLayout(\"Layout\", async () =>\r\n (await import(\"./antd/Layout/meta\")).LayoutMeta\r\n ),\r\n \"Layout.Header\": () => loadAntdLayout(\"Layout.Header\"),\r\n \"Layout.Sider\": () => loadAntdLayout(\"Layout.Sider\"),\r\n \"Layout.Content\": () => loadAntdLayout(\"Layout.Content\"),\r\n \"Layout.Footer\": () => loadAntdLayout(\"Layout.Footer\"),\r\n Header: () =>\r\n loadAntdLayout(\"Layout.Header\", async () =>\r\n (await import(\"./antd/Layout/meta\")).HeaderMeta\r\n ),\r\n Sider: () =>\r\n loadAntdLayout(\"Layout.Sider\", async () =>\r\n (await import(\"./antd/Layout/meta\")).SiderMeta\r\n ),\r\n Content: () =>\r\n loadAntdLayout(\"Layout.Content\", async () =>\r\n (await import(\"./antd/Layout/meta\")).ContentMeta\r\n ),\r\n Footer: () =>\r\n loadAntdLayout(\"Layout.Footer\", async () =>\r\n (await import(\"./antd/Layout/meta\")).FooterMeta\r\n ),\r\n Row: () =>\r\n loadWeb(\"Row\", async () => (await import(\"./antd/Layout/meta\")).RowMeta),\r\n Col: () =>\r\n loadWeb(\"Col\", async () => (await import(\"./antd/Layout/meta\")).ColMeta),\r\n Card: () =>\r\n loadWeb(\"Card\", async () => (await import(\"./antd/Card/meta\")).CardMeta),\r\n\r\n Input: () =>\r\n loadWeb(\"Input\", async () => (await import(\"./antd/Input/meta\")).InputMeta),\r\n \"Input.TextArea\": () =>\r\n loadWeb(\"Input.TextArea\", async () =>\r\n (await import(\"./antd/Input/meta\")).InputTextAreaMeta\r\n ),\r\n \"Input.Search\": () => loadWeb(\"Input.Search\"),\r\n \"Input.Password\": () => loadWeb(\"Input.Password\"),\r\n Form: () =>\r\n loadWeb(\"Form\", async () => (await import(\"./antd/Form/meta\")).FormMeta),\r\n \"Form.Item\": () =>\r\n loadWeb(\"Form.Item\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormItemMeta\r\n ),\r\n \"Form.List\": () =>\r\n loadWeb(\"Form.List\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormListMeta\r\n ),\r\n Select: () =>\r\n loadWeb(\"Select\", async () =>\r\n (await import(\"./antd/Select/meta\")).SelectMeta\r\n ),\r\n InputNumber: () =>\r\n loadWeb(\"InputNumber\", async () =>\r\n (await import(\"./antd/InputNumber/meta\")).InputNumberMeta\r\n ),\r\n\r\n DatePicker: () =>\r\n loadWeb(\"DatePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).DatePickerMeta\r\n ),\r\n \"DatePicker.RangePicker\": () =>\r\n loadWeb(\"DatePicker.RangePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).RangePickerMeta\r\n ),\r\n TimePicker: () =>\r\n loadWeb(\"TimePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).TimePickerMeta\r\n ),\r\n Upload: () =>\r\n loadWeb(\"Upload\", async () =>\r\n (await import(\"./antd/Upload/meta\")).UploadMeta\r\n ),\r\n Tree: () =>\r\n loadWeb(\"Tree\", async () => (await import(\"./antd/Tree/meta\")).TreeMeta),\r\n TreeSelect: () =>\r\n loadWeb(\"TreeSelect\", async () =>\r\n (await import(\"./antd/Tree/meta\")).TreeSelectMeta\r\n ),\r\n Tabs: () =>\r\n loadWeb(\"Tabs\", async () => (await import(\"./antd/Tabs/meta\")).TabsMeta),\r\n \"Tabs.TabPane\": () =>\r\n loadWeb(\"Tabs.TabPane\", async () =>\r\n (await import(\"./antd/Tabs/meta\")).TabPaneMeta\r\n ),\r\n Steps: () =>\r\n loadWeb(\"Steps\", async () => (await import(\"./antd/Steps/meta\")).StepsMeta),\r\n \"Steps.Step\": () =>\r\n loadWeb(\"Steps.Step\", async () =>\r\n (await import(\"./antd/Steps/meta\")).StepMeta\r\n ),\r\n Tag: () =>\r\n loadDefault(\r\n () => import(\"./antd/Tag/TagWrapper\"),\r\n async () => (await import(\"./antd/Tag/meta\")).TagMeta,\r\n ),\r\n \"Tag.CheckableTag\": () =>\r\n loadWeb(\"Tag.CheckableTag\", async () =>\r\n (await import(\"./antd/Tag/meta\")).CheckableTagMeta\r\n ),\r\n ScenarioFlowBoard: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowBoard\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowBoard/meta\"))\r\n .ScenarioFlowBoardMeta,\r\n ),\r\n ScenarioFlowScene: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowScene\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowScene/meta\"))\r\n .ScenarioFlowSceneMeta,\r\n ),\r\n ScenarioFlowStep: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowStep\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowStep/meta\"))\r\n .ScenarioFlowStepMeta,\r\n ),\r\n\r\n Badge: () =>\r\n loadWeb(\"Badge\", async () => (await import(\"./antd/Badge/meta\")).BadgeMeta),\r\n \"Badge.Ribbon\": () =>\r\n loadWeb(\"Badge.Ribbon\", async () =>\r\n (await import(\"./antd/Badge/meta\")).BadgeRibbonMeta\r\n ),\r\n Avatar: () =>\r\n loadWeb(\"Avatar\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarMeta\r\n ),\r\n \"Avatar.Group\": () =>\r\n loadWeb(\"Avatar.Group\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarGroupMeta\r\n ),\r\n Dropdown: () =>\r\n loadWeb(\"Dropdown\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownMeta\r\n ),\r\n Breadcrumb: () =>\r\n loadDefault(\r\n () => import(\"./antd/Breadcrumb/BreadcrumbWrapper\"),\r\n async () => (await import(\"./antd/Breadcrumb/meta\")).BreadcrumbMeta,\r\n ),\r\n \"Dropdown.Button\": () =>\r\n loadWeb(\"Dropdown.Button\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownButtonMeta\r\n ),\r\n Pagination: () =>\r\n loadWeb(\"Pagination\", async () =>\r\n (await import(\"./antd/Pagination/meta\")).PaginationMeta\r\n ),\r\n Switch: () =>\r\n loadWeb(\"Switch\", async () =>\r\n (await import(\"./antd/Switch/meta\")).SwitchMeta\r\n ),\r\n Radio: () =>\r\n loadWeb(\"Radio\", async () => (await import(\"./antd/Radio/meta\")).RadioMeta),\r\n \"Radio.Group\": () =>\r\n loadWeb(\"Radio.Group\", async () =>\r\n (await import(\"./antd/Radio/meta\")).RadioGroupMeta\r\n ),\r\n RadioButton: () => loadWeb(\"Radio.Button\"),\r\n Checkbox: () =>\r\n loadWeb(\"Checkbox\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxMeta\r\n ),\r\n \"Checkbox.Group\": () =>\r\n loadWeb(\"Checkbox.Group\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxGroupMeta\r\n ),\r\n Cascader: () =>\r\n loadWeb(\"Cascader\", async () =>\r\n (await import(\"./antd/Cascader/meta\")).CascaderMeta\r\n ),\r\n Table: () =>\r\n loadWeb(\r\n \"Table\",\r\n async () => (await import(\"./antd/Table/meta\")).TableMeta,\r\n ).then((module) => ({ ...module, adapter: loadColumnsAdapter() })),\r\n\r\n Typography: () => loadWeb(\"Typography\"),\r\n \"Typography.Title\": () =>\r\n loadWeb(\"Typography.Title\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTitleMeta\r\n ),\r\n \"Typography.Paragraph\": () =>\r\n loadWeb(\"Typography.Paragraph\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyParagraphMeta\r\n ),\r\n \"Typography.Text\": () =>\r\n loadWeb(\"Typography.Text\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTextMeta\r\n ),\r\n\r\n ProTable: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/ProTable/ProTableWrapper\"),\r\n async () => (await import(\"./antdPro/ProTable/meta\")).ProTableMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n SchemaForm: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/SchemaForm/SchemaFormWrapper\"),\r\n async () => (await import(\"./antdPro/SchemaForm/meta\")).SchemaFormMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n FilterColumns: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/FilterColumns/FilterColumnsWrapper\"),\r\n async () =>\r\n (await import(\"./antdPro/FilterColumns/meta\")).FilterColumnsMeta,\r\n ),\r\n\r\n Modal: () =>\r\n loadWeb(\"Modal\", async () => (await import(\"./antd/Modal/meta\")).ModalMeta),\r\n Drawer: () =>\n loadDefault(\n () => import(\"./antd/Drawer/DrawerWrapper\"),\n async () => (await import(\"./antd/Drawer/meta\")).DrawerMeta,\n ),\n Descriptions: () =>\n loadDefault(\n () => import(\"./antd/Descriptions/DescriptionsWrapper\"),\n async () => (await import(\"./antd/Descriptions/meta\")).DescriptionsMeta,\n ),\n \"Descriptions.Item\": () => loadWeb(\"Descriptions.Item\"),\n List: () =>\n loadDefault(\n () => import(\"./antd/List/ListWrapper\"),\n async () => (await import(\"./antd/List/meta\")).ListMeta,\n listTemplateAdapter,\n ),\n \"List.Item\": () =>\n loadWeb(\"List.Item\", async () =>\n (await import(\"./antd/List/meta\")).ListItemMeta\n ),\r\n Empty: () =>\r\n loadDefault(\r\n () => import(\"./antd/Empty/EmptyWrapper\"),\r\n async () => (await import(\"./antd/Empty/meta\")).EmptyMeta,\r\n ),\r\n Spin: () =>\r\n loadWeb(\"Spin\", async () => (await import(\"./antd/Spin/meta\")).SpinMeta),\r\n Alert: () =>\r\n loadWeb(\"Alert\", async () => (await import(\"./antd/Alert/meta\")).AlertMeta),\r\n Progress: () =>\r\n loadWeb(\"Progress\", async () =>\r\n (await import(\"./antd/Progress/meta\")).ProgressMeta\r\n ),\r\n Skeleton: () =>\r\n loadWeb(\"Skeleton\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).SkeletonMeta\r\n ),\r\n Tooltip: () =>\r\n loadWeb(\"Tooltip\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).TooltipMeta\r\n ),\r\n Popconfirm: () =>\r\n loadWeb(\"Popconfirm\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).PopconfirmMeta\r\n ),\r\n Popover: () =>\r\n loadDefault(\r\n () => import(\"./antd/Popover/PopoverWrapper\"),\r\n async () => (await import(\"./antd/Popover/meta\")).PopoverMeta\r\n ),\r\n Divider: () =>\r\n loadWeb(\"Divider\", async () =>\r\n (await import(\"./antd/Divider/meta\")).DividerMeta\r\n ),\r\n Statistic: () =>\r\n loadWeb(\"Statistic\", async () =>\r\n (await import(\"./antd/Statistic/meta\")).StatisticMeta\r\n ),\r\n Timeline: () =>\r\n loadWeb(\"Timeline\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineMeta\r\n ),\r\n \"Timeline.Item\": () =>\r\n loadWeb(\"Timeline.Item\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineItemMeta\r\n ),\r\n Result: () =>\r\n loadWeb(\"Result\", async () => (await import(\"./antd/Result/meta\")).ResultMeta),\r\n};\r\n\r\nexport async function loadMaterialModules(\r\n componentNames: Iterable<string>,\r\n manifest: MaterialManifest = materialManifest,\r\n options: LoadMaterialModulesOptions = defaultMaterialLoadOptions,\r\n): Promise<LoadedMaterialModules> {\r\n const components: Record<string, ComponentType<any>> = {};\r\n const adapters: Record<string, ComponentAdapter> = {};\r\n const metas: Record<string, ComponentMeta> = {};\r\n const missing: string[] = [];\r\n const names = Array.from(new Set(Array.from(componentNames).filter(Boolean)));\r\n const pending = [...names];\r\n const visited = new Set<string>();\r\n\r\n while (pending.length > 0) {\r\n const componentName = pending.shift();\r\n if (!componentName || visited.has(componentName)) continue;\r\n visited.add(componentName);\r\n\r\n const entry = manifest[componentName];\r\n if (!entry) {\r\n missing.push(componentName);\r\n continue;\r\n }\r\n\r\n // 运行时只加载 schema 实际收集到的物料,避免复杂物料的历史显式依赖拉入未使用组件。\r\n }\r\n\r\n await Promise.all(\r\n Array.from(visited).map(async (componentName) => {\r\n const loader = manifest[componentName];\r\n if (!loader) {\r\n return;\r\n }\r\n const module = await loadCachedMaterial(\r\n componentName,\r\n loader,\r\n manifest,\r\n options,\r\n );\r\n if (!module.component) {\r\n missing.push(componentName);\r\n return;\r\n }\r\n components[componentName] = module.component;\r\n const adapter = mergeComponentAdapter(componentName, module.adapter);\n if (adapter) adapters[componentName] = adapter;\n if (module.meta) metas[componentName] = module.meta;\r\n }),\r\n );\r\n\r\n return { components, adapters, metas, missing };\r\n}\r\n"]}
1
+ {"version":3,"sources":["../src/runtime-adapters/columns-request.ts","../src/runtime-adapters/list-template.ts","../src/runtime-adapters/index.ts","../src/material-manifest.ts"],"names":[],"mappings":"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","file":"chunk-RY7OLIUM.js","sourcesContent":["import dayjs from \"dayjs\";\n\ntype ComponentAdapter = {\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype InitialValuePreset =\n | \"currentMonth\"\n | \"lastMonth\"\n | \"last7Days\"\n | \"last30Days\"\n | \"currentWeek\";\n\nfunction getValueByPath(source: unknown, path: string): unknown {\n const finalPath = String(path || \"\").trim();\n if (!finalPath) return undefined;\n return finalPath.split(\".\").reduce<unknown>((acc, segment) => {\n if (!segment) return acc;\n if (acc && typeof acc === \"object\") {\n return (acc as Record<string, unknown>)[segment];\n }\n return undefined;\n }, source);\n}\n\nfunction normalizeSelectOptionsFromResult(\n result: unknown,\n): Array<{ label: string; value: string | number }> {\n const source = getValueByPath(result, \"data\");\n const list = Array.isArray(source)\n ? source\n : Array.isArray(result)\n ? result\n : [];\n return list.reduce<Array<{ label: string; value: string | number }>>(\n (acc, item) => {\n const record =\n item && typeof item === \"object\"\n ? (item as Record<string, unknown>)\n : {};\n const value = record.value ?? record.id ?? record.code;\n if (value === undefined || value === null) return acc;\n const text = record.label ?? record.name ?? record.text ?? value;\n acc.push({\n label: String(text),\n value: value as string | number,\n });\n return acc;\n },\n [],\n );\n}\n\nfunction resolveColumnRequestEvent(column: Record<string, unknown>): string {\n const direct = String(column._requestEvent || \"\").trim();\n if (direct) return direct;\n return \"\";\n}\n\nfunction buildColumnRequestPayload(\n requestEvent: string,\n params: Record<string, unknown>,\n column: Record<string, unknown>,\n): Record<string, unknown> {\n const requestParams =\n params && typeof params === \"object\" && !Array.isArray(params)\n ? params\n : {};\n const field = String(column.dataIndex || column.key || \"\").trim();\n return {\n ...requestParams,\n requestEvent,\n params: requestParams,\n field,\n column,\n };\n}\n\nfunction resolveDateRangePresetInitialValue(\n preset: InitialValuePreset,\n): [unknown, unknown] | undefined {\n const now = dayjs();\n switch (preset) {\n case \"currentMonth\":\n return [now.startOf(\"month\"), now.endOf(\"month\")];\n case \"lastMonth\": {\n const base = now.subtract(1, \"month\");\n return [base.startOf(\"month\"), base.endOf(\"month\")];\n }\n case \"last7Days\":\n return [now.subtract(6, \"day\").startOf(\"day\"), now.endOf(\"day\")];\n case \"last30Days\":\n return [now.subtract(1, \"month\").startOf(\"day\"), now.endOf(\"day\")];\n case \"currentWeek\":\n return [now.startOf(\"week\"), now.endOf(\"week\")];\n default:\n return undefined;\n }\n}\n\nfunction normalizeColumnFormItemProps(column: Record<string, unknown>) {\n const valueType = String(column.valueType || \"\");\n if (![\"dateRange\", \"dateTimeRange\"].includes(valueType)) {\n return column.formItemProps;\n }\n const raw =\n column.formItemProps &&\n typeof column.formItemProps === \"object\" &&\n !Array.isArray(column.formItemProps)\n ? (column.formItemProps as Record<string, unknown>)\n : undefined;\n if (!raw) return column.formItemProps;\n if (String(raw.initialValueMode || \"\") !== \"preset\") return raw;\n const preset = String(raw.initialValuePreset || \"\") as InitialValuePreset;\n if (!preset) return raw;\n const rangeValue = resolveDateRangePresetInitialValue(preset);\n if (!rangeValue) return raw;\n return {\n ...raw,\n initialValue: rangeValue,\n };\n}\n\nfunction attachColumnsRequestByEvent(\n columns: unknown,\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>,\n): unknown {\n if (!Array.isArray(columns)) return columns;\n return columns.map((column) => {\n if (!column || typeof column !== \"object\") return column;\n const current = column as Record<string, unknown>;\n const normalizedFormItemProps = normalizeColumnFormItemProps(current);\n const normalizedColumn =\n normalizedFormItemProps === current.formItemProps\n ? current\n : {\n ...current,\n formItemProps: normalizedFormItemProps,\n };\n const requestEvent = resolveColumnRequestEvent(current);\n if (!requestEvent) return normalizedColumn;\n return {\n ...normalizedColumn,\n request: async (params: Record<string, unknown>) => {\n const payload = buildColumnRequestPayload(\n requestEvent,\n params,\n current,\n );\n const result = await runRequestEvent(requestEvent, payload);\n return normalizeSelectOptionsFromResult(result);\n },\n };\n });\n}\n\nexport const columnsRequestAdapter: ComponentAdapter = {\n adaptProps: (props, context) => {\n if (!(\"columns\" in props)) return props;\n return {\n ...props,\n columns: attachColumnsRequestByEvent(props.columns, context.runRequestEvent),\n };\n },\n};\n","import { List } from \"antd\";\r\nimport { createElement, type ReactNode } from \"react\";\r\n\r\ntype ComponentAdapterContext = {\r\n mode?: \"edit\" | \"preview\";\r\n runtimeContext?: Record<string, unknown>;\r\n hasChildren?: boolean;\r\n renderChildren?: (runtimeContext?: Record<string, unknown>) => ReactNode;\r\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n};\r\n\r\ntype ComponentAdapter = {\r\n adaptProps: (\r\n props: Record<string, unknown>,\r\n context: ComponentAdapterContext,\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type ListItemRecord = unknown;\r\n\r\nexport function normalizeListDataSource(dataSource: unknown): ListItemRecord[] {\r\n return Array.isArray(dataSource) ? dataSource : [];\r\n}\r\n\r\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\r\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\r\n}\r\n\r\nfunction normalizeGridNumber(value: unknown): number | undefined {\r\n if (typeof value !== \"number\") return undefined;\r\n if (!Number.isFinite(value)) return undefined;\r\n return value;\r\n}\r\n\r\nexport function normalizeListGrid(\r\n grid: unknown,\r\n): Record<string, unknown> | undefined {\r\n if (!isPlainObject(grid)) return undefined;\r\n const nextGrid = Object.entries(grid).reduce<Record<string, unknown>>(\r\n (acc, [key, value]) => {\r\n const nextValue = normalizeGridNumber(value);\r\n if (nextValue !== undefined) {\r\n acc[key] = nextValue;\r\n }\r\n return acc;\r\n },\r\n {},\r\n );\r\n return Object.keys(nextGrid).length > 0 ? nextGrid : undefined;\r\n}\r\n\r\nexport function getListItemKey(\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey?: unknown,\r\n): string {\r\n const keyField = String(rowKey || \"\").trim();\r\n if (\r\n keyField &&\r\n record &&\r\n typeof record === \"object\" &&\r\n !Array.isArray(record)\r\n ) {\r\n const value = (record as Record<string, unknown>)[keyField];\r\n if (value !== undefined && value !== null && value !== \"\") {\r\n return String(value);\r\n }\r\n }\r\n return String(index);\r\n}\r\n\r\nexport function buildListItemRuntimeContext(\r\n runtimeContext: Record<string, unknown> | undefined,\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey: string,\r\n list: ListItemRecord[],\r\n): Record<string, unknown> {\r\n const baseData =\r\n runtimeContext?.data &&\r\n typeof runtimeContext.data === \"object\" &&\r\n !Array.isArray(runtimeContext.data)\r\n ? (runtimeContext.data as Record<string, unknown>)\r\n : {};\r\n\r\n return {\r\n ...(runtimeContext || {}),\r\n data: {\r\n ...baseData,\r\n record,\r\n item: record,\r\n index,\r\n rowKey,\r\n list,\r\n },\r\n };\r\n}\r\n\r\nexport const listTemplateAdapter: ComponentAdapter = {\r\n adaptProps: (props, context) => {\r\n const {\r\n children: _children,\r\n rowKey,\r\n previewCount,\r\n grid,\r\n ...restProps\r\n } = props;\r\n const safeGrid = normalizeListGrid(grid);\r\n const normalizedProps = safeGrid\r\n ? { ...restProps, grid: safeGrid }\r\n : restProps;\r\n if (!context.hasChildren || !context.renderChildren) {\r\n return normalizedProps;\r\n }\r\n\r\n void previewCount;\r\n const rows = normalizeListDataSource(props.dataSource);\r\n const rowKeyField = String(rowKey || \"\").trim();\r\n\r\n return {\r\n ...normalizedProps,\r\n dataSource: rows,\r\n renderItem: (record: unknown, rowIndex: number) => {\r\n const itemKey = getListItemKey(record, rowIndex, rowKeyField);\r\n const nextRuntimeContext = buildListItemRuntimeContext(\r\n context.runtimeContext,\r\n record,\r\n rowIndex,\r\n itemKey,\r\n rows,\r\n );\r\n return createElement(\r\n List.Item,\r\n { key: itemKey },\r\n context.renderChildren?.(nextRuntimeContext),\r\n );\r\n },\r\n };\r\n },\r\n};\r\n","import { columnsRequestAdapter } from \"./columns-request\";\nimport { listTemplateAdapter } from \"./list-template\";\nimport type { ReactNode } from \"react\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n mode?: \"edit\" | \"preview\";\n runtimeContext?: Record<string, unknown>;\n hasChildren?: boolean;\n renderChildren?: (\n runtimeContext?: Record<string, unknown>,\n ) => ReactNode;\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype ComponentAdapterRegistry = {\n get: (componentName: string) => ComponentAdapter | null;\n};\n\nconst columnsAdapterComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"Table\",\n]);\n\nconst runtimePropComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"FilterColumns\",\n \"Breadcrumb\",\n \"Descriptions\",\n \"Tag\",\n \"DesensitizationDisplay\",\n \"Drawer\",\n]);\n\nconst dataSourceFallbackComponentNames = new Set([\"List\", \"ProTable\"]);\n\nconst passthroughAdapter: ComponentAdapter = {\n adaptProps: (props) => props,\n};\n\nfunction withRuntimeProps(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n acceptsInternalRuntimeProps: true,\n };\n}\n\nfunction withDataSourceFallbackSkip(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n getResolveOptions: (propPath) => {\n const baseOptions = adapter.getResolveOptions?.(propPath) || {};\n if (propPath[0] !== \"dataSource\") return baseOptions;\n return {\n ...baseOptions,\n skipBindFallback: true,\n };\n },\n };\n}\n\nfunction buildAdapter(componentName: string, adapter: ComponentAdapter) {\n const withDataSourceStrategy = dataSourceFallbackComponentNames.has(componentName)\n ? withDataSourceFallbackSkip(adapter)\n : adapter;\n return runtimePropComponentNames.has(componentName)\n ? withRuntimeProps(withDataSourceStrategy)\n : withDataSourceStrategy;\n}\n\nexport const defaultComponentAdapterRegistry: ComponentAdapterRegistry = {\n get: (componentName: string) => {\n if (componentName === \"List\") {\n return buildAdapter(componentName, listTemplateAdapter);\n }\n if (columnsAdapterComponentNames.has(componentName)) {\n return buildAdapter(componentName, columnsRequestAdapter);\n }\n if (runtimePropComponentNames.has(componentName)) {\n return buildAdapter(componentName, passthroughAdapter);\n }\n return null;\n },\n};\n","import type { ComponentType } from \"react\";\nimport type { ComponentMeta } from \"@mijalowcode/types\";\nimport { columnsRequestAdapter } from \"./runtime-adapters/columns-request\";\nimport { defaultComponentAdapterRegistry } from \"./runtime-adapters\";\nimport { listTemplateAdapter } from \"./runtime-adapters/list-template\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n },\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type MaterialRuntimeModule = {\r\n component: ComponentType<any>;\r\n adapter?: ComponentAdapter;\r\n meta?: ComponentMeta;\r\n};\r\n\r\nexport type MaterialLoadOptions = {\r\n includeMeta?: boolean;\r\n};\r\n\r\nexport type LoadMaterialModulesOptions = MaterialLoadOptions;\r\n\r\nexport type MaterialLoader = (\r\n options?: MaterialLoadOptions,\r\n) => Promise<MaterialRuntimeModule>;\r\n\r\nexport type MaterialManifestEntry = MaterialLoader;\r\n\r\nexport type MaterialManifest = Record<string, MaterialManifestEntry>;\r\n\r\nexport type LoadedMaterialModules = {\r\n components: Record<string, ComponentType<any>>;\r\n adapters: Record<string, ComponentAdapter>;\r\n metas: Record<string, ComponentMeta>;\r\n missing: string[];\r\n};\r\n\r\nconst defaultMaterialLoadOptions: MaterialLoadOptions = {\r\n includeMeta: false,\r\n};\r\n\r\nfunction shouldLoadMeta(options?: MaterialLoadOptions) {\r\n return Boolean(options?.includeMeta);\r\n}\r\n\r\nfunction pick(source: unknown, path: string): ComponentType<any> {\r\n return path.split(\".\").reduce<unknown>((acc, segment) => {\r\n if (!acc || typeof acc !== \"object\") return undefined;\r\n return (acc as Record<string, unknown>)[segment];\r\n }, source) as ComponentType<any>;\r\n}\r\n\r\nasync function loadWeb(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [web, meta] = await Promise.all([\r\n import(\"@mijadesign/web\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(web, exportPath), meta };\r\n}\r\n\r\nasync function loadAntdLayout(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [antd, meta] = await Promise.all([\r\n import(\"antd\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(antd, exportPath), meta };\r\n}\r\n\r\nasync function loadDefault(\r\n componentLoader: () => Promise<{ default: ComponentType<any> }>,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n adapter?: ComponentAdapter,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [componentModule, meta] = await Promise.all([\r\n componentLoader(),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: componentModule.default, adapter, meta };\r\n}\r\n\r\nconst loadColumnsAdapter = () => columnsRequestAdapter;\n\nfunction mergeComponentAdapter(\n componentName: string,\n adapter?: ComponentAdapter,\n): ComponentAdapter | undefined {\n const defaultAdapter = defaultComponentAdapterRegistry.get(componentName);\n if (!adapter) return defaultAdapter || undefined;\n if (!defaultAdapter) return adapter;\n return {\n ...defaultAdapter,\n ...adapter,\n acceptsInternalRuntimeProps:\n adapter.acceptsInternalRuntimeProps ??\n defaultAdapter.acceptsInternalRuntimeProps,\n getResolveOptions: (propPath) => ({\n ...(defaultAdapter.getResolveOptions?.(propPath) || {}),\n ...(adapter.getResolveOptions?.(propPath) || {}),\n }),\n };\n}\n\r\nconst manifestLoadCache = new WeakMap<\r\n MaterialManifest,\r\n Map<string, Promise<MaterialRuntimeModule>>\r\n>();\r\n\r\nfunction getManifestCache(manifest: MaterialManifest) {\r\n const existing = manifestLoadCache.get(manifest);\r\n if (existing) return existing;\r\n const next = new Map<string, Promise<MaterialRuntimeModule>>();\r\n manifestLoadCache.set(manifest, next);\r\n return next;\r\n}\r\n\r\nfunction loadCachedMaterial(\r\n componentName: string,\r\n entry: MaterialManifestEntry,\r\n manifest: MaterialManifest,\r\n options: MaterialLoadOptions,\r\n) {\r\n const cache = getManifestCache(manifest);\r\n const cacheKey = `${componentName}:${shouldLoadMeta(options) ? \"meta\" : \"runtime\"}`;\r\n const cached = cache.get(cacheKey);\r\n if (cached) return cached;\r\n const loading = entry(options).catch((error: unknown) => {\r\n cache.delete(cacheKey);\r\n throw error;\r\n });\r\n cache.set(cacheKey, loading);\r\n return loading;\r\n}\r\n\r\nexport function clearMaterialLoadCache(manifest?: MaterialManifest) {\r\n if (manifest) {\r\n manifestLoadCache.delete(manifest);\r\n return;\r\n }\r\n manifestLoadCache.delete(materialManifest);\r\n}\r\n\r\nexport const materialManifest: MaterialManifest = {\r\n Button: () =>\r\n loadDefault(\r\n () => import(\"./antd/Button/ButtonWrapper\"),\r\n async () => (await import(\"./antd/Button/meta\")).ButtonMeta,\r\n ),\r\n Space: () =>\r\n loadDefault(\r\n () => import(\"./antd/Space/SpaceWrapper\"),\r\n async () => (await import(\"./antd/Space/meta\")).SpaceMeta,\r\n ),\r\n DesensitizationDisplay: () =>\r\n loadDefault(\r\n () => import(\"./custom/DesensitizationDisplay\"),\r\n async () =>\r\n (await import(\"./custom/DesensitizationDisplay/meta\"))\r\n .DesensitizationDisplayMeta,\r\n ),\r\n\r\n Layout: () =>\r\n loadAntdLayout(\"Layout\", async () =>\r\n (await import(\"./antd/Layout/meta\")).LayoutMeta\r\n ),\r\n \"Layout.Header\": () => loadAntdLayout(\"Layout.Header\"),\r\n \"Layout.Sider\": () => loadAntdLayout(\"Layout.Sider\"),\r\n \"Layout.Content\": () => loadAntdLayout(\"Layout.Content\"),\r\n \"Layout.Footer\": () => loadAntdLayout(\"Layout.Footer\"),\r\n Header: () =>\r\n loadAntdLayout(\"Layout.Header\", async () =>\r\n (await import(\"./antd/Layout/meta\")).HeaderMeta\r\n ),\r\n Sider: () =>\r\n loadAntdLayout(\"Layout.Sider\", async () =>\r\n (await import(\"./antd/Layout/meta\")).SiderMeta\r\n ),\r\n Content: () =>\r\n loadAntdLayout(\"Layout.Content\", async () =>\r\n (await import(\"./antd/Layout/meta\")).ContentMeta\r\n ),\r\n Footer: () =>\r\n loadAntdLayout(\"Layout.Footer\", async () =>\r\n (await import(\"./antd/Layout/meta\")).FooterMeta\r\n ),\r\n Row: () =>\r\n loadWeb(\"Row\", async () => (await import(\"./antd/Layout/meta\")).RowMeta),\r\n Col: () =>\r\n loadWeb(\"Col\", async () => (await import(\"./antd/Layout/meta\")).ColMeta),\r\n Card: () =>\r\n loadWeb(\"Card\", async () => (await import(\"./antd/Card/meta\")).CardMeta),\r\n\r\n Input: () =>\r\n loadWeb(\"Input\", async () => (await import(\"./antd/Input/meta\")).InputMeta),\r\n \"Input.TextArea\": () =>\r\n loadWeb(\"Input.TextArea\", async () =>\r\n (await import(\"./antd/Input/meta\")).InputTextAreaMeta\r\n ),\r\n \"Input.Search\": () => loadWeb(\"Input.Search\"),\r\n \"Input.Password\": () => loadWeb(\"Input.Password\"),\r\n Form: () =>\r\n loadWeb(\"Form\", async () => (await import(\"./antd/Form/meta\")).FormMeta),\r\n \"Form.Item\": () =>\r\n loadWeb(\"Form.Item\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormItemMeta\r\n ),\r\n \"Form.List\": () =>\r\n loadWeb(\"Form.List\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormListMeta\r\n ),\r\n Select: () =>\r\n loadWeb(\"Select\", async () =>\r\n (await import(\"./antd/Select/meta\")).SelectMeta\r\n ),\r\n InputNumber: () =>\r\n loadWeb(\"InputNumber\", async () =>\r\n (await import(\"./antd/InputNumber/meta\")).InputNumberMeta\r\n ),\r\n\r\n DatePicker: () =>\r\n loadWeb(\"DatePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).DatePickerMeta\r\n ),\r\n \"DatePicker.RangePicker\": () =>\r\n loadWeb(\"DatePicker.RangePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).RangePickerMeta\r\n ),\r\n TimePicker: () =>\r\n loadWeb(\"TimePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).TimePickerMeta\r\n ),\r\n Upload: () =>\r\n loadWeb(\"Upload\", async () =>\r\n (await import(\"./antd/Upload/meta\")).UploadMeta\r\n ),\r\n Tree: () =>\r\n loadWeb(\"Tree\", async () => (await import(\"./antd/Tree/meta\")).TreeMeta),\r\n TreeSelect: () =>\r\n loadWeb(\"TreeSelect\", async () =>\r\n (await import(\"./antd/Tree/meta\")).TreeSelectMeta\r\n ),\r\n Tabs: () =>\r\n loadWeb(\"Tabs\", async () => (await import(\"./antd/Tabs/meta\")).TabsMeta),\r\n \"Tabs.TabPane\": () =>\r\n loadWeb(\"Tabs.TabPane\", async () =>\r\n (await import(\"./antd/Tabs/meta\")).TabPaneMeta\r\n ),\r\n Steps: () =>\r\n loadWeb(\"Steps\", async () => (await import(\"./antd/Steps/meta\")).StepsMeta),\r\n \"Steps.Step\": () =>\r\n loadWeb(\"Steps.Step\", async () =>\r\n (await import(\"./antd/Steps/meta\")).StepMeta\r\n ),\r\n Tag: () =>\r\n loadDefault(\r\n () => import(\"./antd/Tag/TagWrapper\"),\r\n async () => (await import(\"./antd/Tag/meta\")).TagMeta,\r\n ),\r\n \"Tag.CheckableTag\": () =>\r\n loadWeb(\"Tag.CheckableTag\", async () =>\r\n (await import(\"./antd/Tag/meta\")).CheckableTagMeta\r\n ),\r\n ScenarioFlowBoard: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowBoard\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowBoard/meta\"))\r\n .ScenarioFlowBoardMeta,\r\n ),\r\n ScenarioFlowScene: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowScene\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowScene/meta\"))\r\n .ScenarioFlowSceneMeta,\r\n ),\r\n ScenarioFlowStep: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowStep\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowStep/meta\"))\r\n .ScenarioFlowStepMeta,\r\n ),\r\n\r\n Badge: () =>\r\n loadWeb(\"Badge\", async () => (await import(\"./antd/Badge/meta\")).BadgeMeta),\r\n \"Badge.Ribbon\": () =>\r\n loadWeb(\"Badge.Ribbon\", async () =>\r\n (await import(\"./antd/Badge/meta\")).BadgeRibbonMeta\r\n ),\r\n Avatar: () =>\r\n loadWeb(\"Avatar\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarMeta\r\n ),\r\n \"Avatar.Group\": () =>\r\n loadWeb(\"Avatar.Group\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarGroupMeta\r\n ),\r\n Dropdown: () =>\r\n loadWeb(\"Dropdown\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownMeta\r\n ),\r\n Breadcrumb: () =>\r\n loadDefault(\r\n () => import(\"./antd/Breadcrumb/BreadcrumbWrapper\"),\r\n async () => (await import(\"./antd/Breadcrumb/meta\")).BreadcrumbMeta,\r\n ),\r\n \"Dropdown.Button\": () =>\r\n loadWeb(\"Dropdown.Button\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownButtonMeta\r\n ),\r\n Pagination: () =>\r\n loadWeb(\"Pagination\", async () =>\r\n (await import(\"./antd/Pagination/meta\")).PaginationMeta\r\n ),\r\n Switch: () =>\r\n loadWeb(\"Switch\", async () =>\r\n (await import(\"./antd/Switch/meta\")).SwitchMeta\r\n ),\r\n Radio: () =>\r\n loadWeb(\"Radio\", async () => (await import(\"./antd/Radio/meta\")).RadioMeta),\r\n \"Radio.Group\": () =>\r\n loadWeb(\"Radio.Group\", async () =>\r\n (await import(\"./antd/Radio/meta\")).RadioGroupMeta\r\n ),\r\n RadioButton: () => loadWeb(\"Radio.Button\"),\r\n Checkbox: () =>\r\n loadWeb(\"Checkbox\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxMeta\r\n ),\r\n \"Checkbox.Group\": () =>\r\n loadWeb(\"Checkbox.Group\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxGroupMeta\r\n ),\r\n Cascader: () =>\r\n loadWeb(\"Cascader\", async () =>\r\n (await import(\"./antd/Cascader/meta\")).CascaderMeta\r\n ),\r\n Table: () =>\r\n loadWeb(\r\n \"Table\",\r\n async () => (await import(\"./antd/Table/meta\")).TableMeta,\r\n ).then((module) => ({ ...module, adapter: loadColumnsAdapter() })),\r\n\r\n Typography: () => loadWeb(\"Typography\"),\r\n \"Typography.Title\": () =>\r\n loadWeb(\"Typography.Title\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTitleMeta\r\n ),\r\n \"Typography.Paragraph\": () =>\r\n loadWeb(\"Typography.Paragraph\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyParagraphMeta\r\n ),\r\n \"Typography.Text\": () =>\r\n loadWeb(\"Typography.Text\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTextMeta\r\n ),\r\n\r\n ProTable: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/ProTable/ProTableWrapper\"),\r\n async () => (await import(\"./antdPro/ProTable/meta\")).ProTableMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n SchemaForm: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/SchemaForm/SchemaFormWrapper\"),\r\n async () => (await import(\"./antdPro/SchemaForm/meta\")).SchemaFormMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n FilterColumns: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/FilterColumns/FilterColumnsWrapper\"),\r\n async () =>\r\n (await import(\"./antdPro/FilterColumns/meta\")).FilterColumnsMeta,\r\n ),\r\n\r\n Modal: () =>\r\n loadWeb(\"Modal\", async () => (await import(\"./antd/Modal/meta\")).ModalMeta),\r\n Drawer: () =>\n loadDefault(\n () => import(\"./antd/Drawer/DrawerWrapper\"),\n async () => (await import(\"./antd/Drawer/meta\")).DrawerMeta,\n ),\n Descriptions: () =>\n loadDefault(\n () => import(\"./antd/Descriptions/DescriptionsWrapper\"),\n async () => (await import(\"./antd/Descriptions/meta\")).DescriptionsMeta,\n ),\n \"Descriptions.Item\": () => loadWeb(\"Descriptions.Item\"),\n List: () =>\n loadDefault(\n () => import(\"./antd/List/ListWrapper\"),\n async () => (await import(\"./antd/List/meta\")).ListMeta,\n listTemplateAdapter,\n ),\n \"List.Item\": () =>\n loadWeb(\"List.Item\", async () =>\n (await import(\"./antd/List/meta\")).ListItemMeta\n ),\r\n Empty: () =>\r\n loadDefault(\r\n () => import(\"./antd/Empty/EmptyWrapper\"),\r\n async () => (await import(\"./antd/Empty/meta\")).EmptyMeta,\r\n ),\r\n Spin: () =>\r\n loadWeb(\"Spin\", async () => (await import(\"./antd/Spin/meta\")).SpinMeta),\r\n Alert: () =>\r\n loadWeb(\"Alert\", async () => (await import(\"./antd/Alert/meta\")).AlertMeta),\r\n Progress: () =>\r\n loadWeb(\"Progress\", async () =>\r\n (await import(\"./antd/Progress/meta\")).ProgressMeta\r\n ),\r\n Skeleton: () =>\r\n loadWeb(\"Skeleton\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).SkeletonMeta\r\n ),\r\n Tooltip: () =>\r\n loadWeb(\"Tooltip\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).TooltipMeta\r\n ),\r\n Popconfirm: () =>\r\n loadWeb(\"Popconfirm\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).PopconfirmMeta\r\n ),\r\n Popover: () =>\r\n loadDefault(\r\n () => import(\"./antd/Popover/PopoverWrapper\"),\r\n async () => (await import(\"./antd/Popover/meta\")).PopoverMeta\r\n ),\r\n Divider: () =>\r\n loadWeb(\"Divider\", async () =>\r\n (await import(\"./antd/Divider/meta\")).DividerMeta\r\n ),\r\n Statistic: () =>\r\n loadWeb(\"Statistic\", async () =>\r\n (await import(\"./antd/Statistic/meta\")).StatisticMeta\r\n ),\r\n Timeline: () =>\r\n loadWeb(\"Timeline\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineMeta\r\n ),\r\n \"Timeline.Item\": () =>\r\n loadWeb(\"Timeline.Item\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineItemMeta\r\n ),\r\n Result: () =>\r\n loadWeb(\"Result\", async () => (await import(\"./antd/Result/meta\")).ResultMeta),\r\n};\r\n\r\nexport async function loadMaterialModules(\r\n componentNames: Iterable<string>,\r\n manifest: MaterialManifest = materialManifest,\r\n options: LoadMaterialModulesOptions = defaultMaterialLoadOptions,\r\n): Promise<LoadedMaterialModules> {\r\n const components: Record<string, ComponentType<any>> = {};\r\n const adapters: Record<string, ComponentAdapter> = {};\r\n const metas: Record<string, ComponentMeta> = {};\r\n const missing: string[] = [];\r\n const names = Array.from(new Set(Array.from(componentNames).filter(Boolean)));\r\n const pending = [...names];\r\n const visited = new Set<string>();\r\n\r\n while (pending.length > 0) {\r\n const componentName = pending.shift();\r\n if (!componentName || visited.has(componentName)) continue;\r\n visited.add(componentName);\r\n\r\n const entry = manifest[componentName];\r\n if (!entry) {\r\n missing.push(componentName);\r\n continue;\r\n }\r\n\r\n // 运行时只加载 schema 实际收集到的物料,避免复杂物料的历史显式依赖拉入未使用组件。\r\n }\r\n\r\n await Promise.all(\r\n Array.from(visited).map(async (componentName) => {\r\n const loader = manifest[componentName];\r\n if (!loader) {\r\n return;\r\n }\r\n const module = await loadCachedMaterial(\r\n componentName,\r\n loader,\r\n manifest,\r\n options,\r\n );\r\n if (!module.component) {\r\n missing.push(componentName);\r\n return;\r\n }\r\n components[componentName] = module.component;\r\n const adapter = mergeComponentAdapter(componentName, module.adapter);\n if (adapter) adapters[componentName] = adapter;\n if (module.meta) metas[componentName] = module.meta;\r\n }),\r\n );\r\n\r\n return { components, adapters, metas, missing };\r\n}\r\n"]}
package/dist/index.js CHANGED
@@ -55,8 +55,8 @@ export { ListWrapper } from './chunk-JCJLL4OK.js';
55
55
  import { DescriptionsWrapper_default } from './chunk-5BUDMWSI.js';
56
56
  import { DesensitizationDisplay_default } from './chunk-DL6YUG5R.js';
57
57
  import { ScenarioFlowBoard_default } from './chunk-PT743TKA.js';
58
- export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-ECOW5GPV.js';
59
- import { ProTableWrapper_default } from './chunk-3E4U7ZQZ.js';
58
+ export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-RY7OLIUM.js';
59
+ import { ProTableWrapper_default } from './chunk-3FN6LEP3.js';
60
60
  export { collectSlotChildren, renderSlotArea, resolveSlot, useSlotRuntime } from './chunk-ERTSEXI5.js';
61
61
  import { SchemaFormWrapper_default } from './chunk-BQQZHRIP.js';
62
62
  import { FilterColumnsWrapper_default } from './chunk-5YP2QX7V.js';
package/dist/runtime.js CHANGED
@@ -1,3 +1,3 @@
1
- export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-ECOW5GPV.js';
1
+ export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-RY7OLIUM.js';
2
2
  //# sourceMappingURL=runtime.js.map
3
3
  //# sourceMappingURL=runtime.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mijalowcode/materials",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Mija Lowcode materials library",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  "access": "public"
29
29
  },
30
30
  "dependencies": {
31
- "@mijalowcode/request": "^1.0.4",
31
+ "@mijalowcode/request": "^1.0.5",
32
32
  "@mijalowcode/types": "^1.0.6",
33
33
  "@mijalowcode/utils": "^1.0.3",
34
34
  "@mijalowcode/store": "^1.0.3"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/antdPro/ProTable/data-source.ts","../src/antdPro/ProTable/storage-search.ts","../src/antdPro/ProTable/slot-cell.tsx","../src/antdPro/ProTable/columns.tsx","../src/antdPro/ProTable/query-diagnostics.ts","../src/antdPro/ProTable/ProTableWrapper.tsx"],"names":["ProTableSlotCell","size","jsx","AntdProTable"],"mappings":"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","file":"chunk-3E4U7ZQZ.js","sourcesContent":["export type TableRowRecord = Record<string, unknown>;\n\nexport function normalizeProTableDataSource(\n dataSource: unknown,\n): TableRowRecord[] {\n return Array.isArray(dataSource)\n ? dataSource.filter(\n (item): item is TableRowRecord =>\n Boolean(item) && typeof item === \"object\" && !Array.isArray(item),\n )\n : [];\n}\n\nexport function hasTableRequestBinding(\n eventMap: Record<string, unknown> | undefined,\n): boolean {\n const binding = eventMap?.[\"table.request\"];\n if (!binding || typeof binding !== \"object\" || Array.isArray(binding)) {\n return false;\n }\n const current = binding as {\n enabled?: unknown;\n handlerName?: unknown;\n handlerCode?: unknown;\n actions?: unknown;\n };\n if (current.enabled === false) return false;\n if (typeof current.handlerName === \"string\" && current.handlerName.trim()) {\n return true;\n }\n if (typeof current.handlerCode === \"string\" && current.handlerCode.trim()) {\n return true;\n }\n return Array.isArray(current.actions) && current.actions.length > 0;\n}\n","export type SearchInitialValuesStorageMapping = {\n target?: string;\n from?: string;\n defaultValue?: unknown;\n};\n\nexport function isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction getValueByPath(value: unknown, pathText: string) {\n const parts = String(pathText || \"\")\n .split(\".\")\n .map((part) => part.trim())\n .filter(Boolean);\n return parts.reduce<unknown>((current, part) => {\n if (!current || typeof current !== \"object\") return undefined;\n return (current as Record<string, unknown>)[part];\n }, value);\n}\n\nexport function getBrowserStorage(\n storageType: \"sessionStorage\" | \"localStorage\",\n) {\n if (typeof window === \"undefined\") return null;\n return storageType === \"localStorage\"\n ? window.localStorage\n : window.sessionStorage;\n}\n\nexport function unwrapSearchStorageValue(value: unknown, now = Date.now()) {\n if (!isPlainObject(value) || value.__mijalowcodeStorage !== true) {\n return value;\n }\n const expiresAt = Number(value.expiresAt || 0);\n if (expiresAt > 0 && expiresAt <= now) return undefined;\n return value.value;\n}\n\nexport function buildSearchInitialValuesFromStorageValue(\n storageValue: unknown,\n mappings: SearchInitialValuesStorageMapping[] = [],\n) {\n if (!isPlainObject(storageValue)) return {};\n if (!Array.isArray(mappings) || mappings.length === 0) {\n return { ...storageValue };\n }\n return mappings.reduce<Record<string, unknown>>((acc, mapping) => {\n const target = String(mapping.target || \"\").trim();\n if (!target) return acc;\n const from = String(mapping.from || target).trim();\n const value = from ? getValueByPath(storageValue, from) : undefined;\n acc[target] = value === undefined ? mapping.defaultValue : value;\n return acc;\n }, {});\n}\n\nexport function buildProTableFormConfig(\n searchInitialValues: Record<string, unknown>,\n) {\n if (Object.keys(searchInitialValues).length === 0) return undefined;\n return {\n initialValues: searchInitialValues,\n };\n}\n","import { memo, type ReactNode } from \"react\";\nimport type { ProColumns } from \"@ant-design/pro-components\";\nimport type { TableColumnConfig } from \"@mijalowcode/types\";\nimport { isPlainObject } from \"./storage-search\";\n\nexport type ProTableAreaNodesResolver = (\n areaName: string,\n payload?: Record<string, unknown>,\n) => ReactNode[] | undefined;\n\nexport function buildProTableSlotRuntimeContext(\n runtimeContext: Record<string, unknown> | undefined,\n slotRuntimeContext: Record<string, unknown>,\n): Record<string, unknown> {\n const baseData = isPlainObject(runtimeContext?.data)\n ? (runtimeContext.data as Record<string, unknown>)\n : {};\n const slotData = isPlainObject(slotRuntimeContext.data)\n ? (slotRuntimeContext.data as Record<string, unknown>)\n : {};\n\n return {\n ...(runtimeContext || {}),\n ...slotRuntimeContext,\n data: {\n ...baseData,\n ...slotData,\n },\n };\n}\n\ntype ProTableSlotCellProps = {\n areaNames: string[];\n column: TableColumnConfig;\n getAreaNodes?: ProTableAreaNodesResolver;\n index: number;\n record: Record<string, unknown>;\n runtimeContext?: Record<string, unknown>;\n value: unknown;\n valueEnum?: ProColumns[\"valueEnum\"];\n};\n\nexport const ProTableSlotCell = memo(\n function ProTableSlotCell({\n areaNames,\n column,\n getAreaNodes,\n index,\n record,\n runtimeContext,\n value,\n valueEnum,\n }: ProTableSlotCellProps) {\n const enumRecord = valueEnum as\n | Record<string, { text?: unknown; status?: unknown }>\n | undefined;\n const enumMatch =\n enumRecord && value !== undefined && value !== null\n ? enumRecord[String(value)]\n : undefined;\n const slotPayload = {\n record,\n index,\n column,\n value,\n valueEnum,\n valueEnumItem: enumMatch,\n enumText: enumMatch?.text,\n enumStatus: enumMatch?.status,\n };\n const slotNodes = areaNames.reduce<ReactNode[] | undefined>(\n (matchedNodes, areaName) => {\n if (matchedNodes !== undefined) {\n return matchedNodes;\n }\n const slotRuntimeContext = buildProTableSlotRuntimeContext(\n runtimeContext,\n {\n scope: \"table.cell\",\n area: areaName,\n container: {\n type: \"table\",\n area: areaName,\n index,\n column,\n record,\n },\n data: {\n ...slotPayload,\n rawValue: value,\n displayValue:\n enumMatch?.text !== undefined && enumMatch?.text !== null\n ? enumMatch.text\n : value,\n status: enumMatch?.status,\n },\n },\n );\n return getAreaNodes?.(areaName, {\n ...slotPayload,\n runtimeContext: slotRuntimeContext,\n });\n },\n undefined,\n );\n if (slotNodes !== undefined) {\n return slotNodes.length === 1 ? slotNodes[0] : slotNodes;\n }\n return String(record[column.dataIndex] ?? \"\");\n },\n (prev, next) =>\n prev.areaNames === next.areaNames &&\n prev.column === next.column &&\n prev.getAreaNodes === next.getAreaNodes &&\n prev.index === next.index &&\n prev.record === next.record &&\n prev.runtimeContext === next.runtimeContext &&\n prev.value === next.value &&\n prev.valueEnum === next.valueEnum,\n);\n","import type { ReactNode } from \"react\";\nimport * as AntdIcons from \"@ant-design/icons\";\nimport type { ProColumns } from \"@ant-design/pro-components\";\nimport type { FieldPropsConfig, TableColumnConfig } from \"@mijalowcode/types\";\nimport {\n ProTableSlotCell,\n type ProTableAreaNodesResolver,\n} from \"./slot-cell\";\n\nfunction isBindValue(value: unknown): value is {\n __bind: {\n fallback?: unknown;\n };\n} {\n return (\n Boolean(value) &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n typeof (value as Record<string, unknown>).__bind === \"object\"\n );\n}\n\nfunction renderFieldPropsPrefixSuffix(\n fieldProps: FieldPropsConfig | undefined,\n) {\n if (!fieldProps) return undefined;\n\n const result: FieldPropsConfig = { ...fieldProps };\n\n if (fieldProps.prefixType === \"icon\" && fieldProps.prefixIcon) {\n const icons = AntdIcons as unknown as Record<\n string,\n React.ComponentType<unknown>\n >;\n const IconComponent = icons[fieldProps.prefixIcon];\n result.prefix = IconComponent ? <IconComponent /> : undefined;\n } else if (fieldProps.prefixText) {\n result.prefix = fieldProps.prefixText as React.ReactNode;\n }\n\n if (fieldProps.suffixType === \"icon\" && fieldProps.suffixIcon) {\n const icons = AntdIcons as unknown as Record<\n string,\n React.ComponentType<unknown>\n >;\n const IconComponent = icons[fieldProps.suffixIcon];\n result.suffix = IconComponent ? <IconComponent /> : undefined;\n } else if (fieldProps.suffixText) {\n result.suffix = fieldProps.suffixText as React.ReactNode;\n }\n\n return result;\n}\n\nfunction resolveColumnValueEnum(\n col: TableColumnConfig,\n): ProColumns[\"valueEnum\"] {\n if (isBindValue(col.valueEnum)) {\n return col.valueEnum.__bind.fallback as ProColumns[\"valueEnum\"];\n }\n return col.valueEnum as ProColumns[\"valueEnum\"];\n}\n\nexport function resolveColumnSlotAreaNames(col: TableColumnConfig) {\n const areaNames: string[] = [];\n const columnId = String(col.columnId || \"\").trim();\n if (columnId) {\n areaNames.push(`columnId:${columnId}`);\n }\n return areaNames;\n}\n\n// 将低代码列配置转换为 ProTable 列配置,并按约定挂载列级插槽渲染\nexport function convertColumns(\n columns: TableColumnConfig[] = [],\n getAreaNodes?: ProTableAreaNodesResolver,\n areaMap: Record<string, ReactNode[]> = {},\n hasExternalRenderSlot = false,\n runtimeContext?: Record<string, unknown>,\n): ProColumns[] {\n return columns.map((col) => {\n const extendedCol = col as TableColumnConfig & {\n slotName?: string;\n request?: ProColumns[\"request\"];\n };\n const areaNames = resolveColumnSlotAreaNames(col);\n const hasSchemaSlot = areaNames.some(\n (areaName) => areaMap[areaName]?.length,\n );\n\n const proColumn: ProColumns = {\n key: col.key || col.dataIndex,\n title: col.title,\n dataIndex: col.dataIndex,\n width: col.width,\n align: col.align,\n fixed: col.fixed || undefined,\n ellipsis: col.ellipsis,\n copyable: col.copyable,\n sorter: col.sorter,\n valueType: col.valueType as any,\n valueEnum: resolveColumnValueEnum(col),\n request: extendedCol.request,\n hideInSearch: col.hideInSearch,\n hideInTable: col.hideInTable,\n formItemProps: col.formItemProps,\n fieldProps: renderFieldPropsPrefixSuffix(col.fieldProps) as any,\n };\n\n if (!areaNames.length || (!hasExternalRenderSlot && !hasSchemaSlot)) {\n return proColumn;\n }\n\n proColumn.render = (_, record: Record<string, unknown>, index: number) => {\n const rawValue = record[col.dataIndex];\n const valueEnum = resolveColumnValueEnum(col);\n return (\n <ProTableSlotCell\n areaNames={areaNames}\n column={col}\n getAreaNodes={getAreaNodes}\n index={index}\n record={record}\n runtimeContext={runtimeContext}\n value={rawValue}\n valueEnum={valueEnum}\n />\n );\n };\n\n return proColumn;\n });\n}\n","declare global {\n interface Window {\n __LC_DEBUG_ENABLED__?: boolean;\n __LC_PERF_COUNTS__?: Record<string, number>;\n }\n}\n\nexport function isRuntimeDebugEnabled() {\n if (typeof window === \"undefined\") return false;\n return window.__LC_DEBUG_ENABLED__ === true;\n}\n\nexport function recordProTableDiagnostic(\n name: string,\n detail?: Record<string, unknown>,\n) {\n if (typeof window === \"undefined\" || !isRuntimeDebugEnabled()) return;\n if (!window.__LC_PERF_COUNTS__) {\n window.__LC_PERF_COUNTS__ = {};\n }\n const eventName = String(name || \"\").trim();\n if (!eventName) return;\n const nextCount = Number(window.__LC_PERF_COUNTS__[eventName] || 0) + 1;\n window.__LC_PERF_COUNTS__[eventName] = nextCount;\n console.info(\"[LC PERF]\", {\n name: eventName,\n count: nextCount,\n detail,\n });\n}\n\nexport function resolveProTableQueryActionName(\n text: string,\n): \"query\" | \"reset\" | undefined {\n const normalized = String(text || \"\").replace(/\\s+/g, \"\");\n if (normalized === \"查询\") return \"query\";\n if (normalized === \"重置\") return \"reset\";\n return undefined;\n}\n\nexport function buildProTableQueryDelayDetail(\n capturedAt: number,\n triggeredAt: number,\n) {\n return {\n delayMs: Math.round(triggeredAt - capturedAt),\n };\n}\n\nfunction getDiagnosticValueType(value: unknown): string {\n if (Array.isArray(value)) return `array(${value.length})`;\n if (value === null) return \"null\";\n return typeof value;\n}\n\nexport function buildProTableRequestParamsSummary(\n params: Record<string, unknown>,\n) {\n const keys = Object.keys(params || {});\n return {\n keys,\n fieldTypes: keys.reduce<Record<string, string>>((acc, key) => {\n acc[key] = getDiagnosticValueType(params[key]);\n return acc;\n }, {}),\n };\n}\n\nexport function shouldRecordProTableLongTask(duration: number) {\n return Number(duration || 0) >= 50;\n}\n\nexport function getNowTime() {\n return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\n","import {\r\n useCallback,\r\n useRef,\n useState,\n useEffect,\n useMemo,\n type ReactNode,\n type ComponentProps,\n} from \"react\";\nimport { ProTable as AntdProTable } from \"@ant-design/pro-components\";\nimport type { ActionType } from \"@ant-design/pro-components\";\nimport type { TableColumnConfig } from \"@mijalowcode/types\";\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\nimport { useEventEmitter, type EventEmitter } from \"../../event-runtime\";\nimport {\n hasTableRequestBinding,\n normalizeProTableDataSource,\n} from \"./data-source\";\nimport { convertColumns, resolveColumnSlotAreaNames } from \"./columns\";\nimport {\n buildProTableFormConfig,\n buildSearchInitialValuesFromStorageValue,\n getBrowserStorage,\n unwrapSearchStorageValue,\n type SearchInitialValuesStorageMapping,\n} from \"./storage-search\";\nimport {\n buildProTableQueryDelayDetail,\n buildProTableRequestParamsSummary,\n getNowTime,\n isRuntimeDebugEnabled,\n recordProTableDiagnostic,\n resolveProTableQueryActionName,\n shouldRecordProTableLongTask,\n} from \"./query-diagnostics\";\n\nexport {\n buildProTableQueryDelayDetail,\n buildProTableRequestParamsSummary,\n resolveProTableQueryActionName,\n shouldRecordProTableLongTask,\n} from \"./query-diagnostics\";\nexport {\n buildProTableFormConfig,\n buildSearchInitialValuesFromStorageValue,\n unwrapSearchStorageValue,\n} from \"./storage-search\";\nexport { buildProTableSlotRuntimeContext } from \"./slot-cell\";\n\r\ntype TableRequestResult = {\n data: Record<string, unknown>[];\n success: boolean;\n total: number;\n};\n\ndeclare global {\n interface Window {\n __LC_DEBUG_ENABLED__?: boolean;\n __LC_PERF_COUNTS__?: Record<string, number>;\n }\n}\n\nfunction yieldProTableRequestPaint() {\n return new Promise<void>((resolve) => {\n if (typeof window === \"undefined\") {\n resolve();\n return;\n }\n if (typeof window.requestAnimationFrame !== \"function\") {\n window.setTimeout(resolve, 0);\n return;\n }\n // request 前主动让出一帧,优先让 ProTable loading 状态完成提交。\n window.requestAnimationFrame(() => {\n window.setTimeout(resolve, 0);\n });\n });\n}\n\ntype RegisterCapabilities = (\n componentId: string,\n capabilities: Record<string, (...args: unknown[]) => unknown>,\n) => () => void;\n\r\ntype MaterialRuntime = {\r\n nodeId: string;\r\n context?: Record<string, unknown>;\r\n registerComponentCapabilities?: RegisterCapabilities;\r\n};\r\n\r\ninterface ProTableWrapperProps {\r\n columns?: TableColumnConfig[];\r\n dataSource?: unknown;\r\n type?: \"\" | \"form\" | \"list\" | \"descriptions\" | \"table\" | \"cardList\";\r\n rowKey?: string;\r\n headerTitle?: string;\r\n size?: \"large\" | \"middle\" | \"small\";\r\n bordered?: boolean;\r\n showHeader?: boolean;\r\n search?: boolean;\r\n searchInitialValuesSource?: \"none\" | \"storage\";\r\n searchInitialValuesStorageType?: \"sessionStorage\" | \"localStorage\";\r\n searchInitialValuesStorageKey?: string;\r\n searchInitialValuesMappings?: SearchInitialValuesStorageMapping[];\r\n clearSearchInitialValuesAfterUse?: boolean;\r\n rowSelectionEnabled?: boolean;\r\n rowSelectionType?: \"checkbox\" | \"radio\";\r\n paginationEnabled?: boolean;\r\n pageSize?: number;\r\n showSizeChanger?: boolean;\r\n showQuickJumper?: boolean;\r\n scrollX?: number;\r\n scrollY?: number;\r\n autoHeight?: boolean;\r\n autoHeightOffset?: number;\r\n autoHeightMinY?: number;\r\n style?: React.CSSProperties;\r\n onEvent?: EventEmitter;\r\n renderSlot?: (\r\n slotName: string,\r\n payload?: Record<string, unknown>,\r\n ) => ReactNode;\r\n children?: ReactNode;\r\n toolbarSlotName?: string;\r\n runtime?: MaterialRuntime;\r\n __nodeId?: string;\r\n __registerCapabilities?: RegisterCapabilities;\r\n __events?: Record<string, unknown>;\r\n}\r\n\r\ntype ProTableSearchProp = ComponentProps<typeof AntdProTable>[\"search\"];\n\nfunction getEventTargetButton(target: EventTarget | null): HTMLElement | null {\n if (!target || typeof Element === \"undefined\") return null;\n if (!(target instanceof Element)) return null;\n return target.closest(\"button\");\n}\n\r\nfunction buildTableRequestSortPayload(sort: Record<string, unknown>) {\n const [sortField, sortOrder] = Object.entries(sort).find(([, value]) => {\n return value === \"ascend\" || value === \"descend\";\n }) || [undefined, undefined];\n\r\n if (!sortField || typeof sortOrder !== \"string\") return {};\r\n\r\n return {\r\n sortField,\r\n sortMode: sortOrder === \"ascend\" ? \"ASC\" : \"DESC\",\n };\n}\n\nfunction ProTableWrapper({\n columns = [],\r\n dataSource = [],\r\n rowKey = \"key\",\r\n headerTitle,\r\n size = \"middle\",\r\n bordered = false,\r\n showHeader = true,\r\n search = true,\r\n searchInitialValuesSource = \"none\",\r\n searchInitialValuesStorageType = \"sessionStorage\",\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings = [],\r\n clearSearchInitialValuesAfterUse = true,\r\n paginationEnabled = true,\r\n pageSize = 10,\r\n showSizeChanger = true,\r\n showQuickJumper = false,\r\n scrollX,\r\n scrollY,\r\n autoHeight = true,\r\n autoHeightOffset = 0,\r\n autoHeightMinY = 240,\r\n style,\r\n onEvent,\r\n renderSlot,\r\n children,\r\n toolbarSlotName = \"toolbar\",\r\n runtime,\r\n __nodeId,\r\n __registerCapabilities,\r\n __events,\r\n}: ProTableWrapperProps) {\r\n const actionRef = useRef<ActionType>();\r\n const componentNodeId = runtime?.nodeId || __nodeId;\r\n const registerCapabilities =\r\n runtime?.registerComponentCapabilities || __registerCapabilities;\r\n\r\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const lastQueryActionRef = useRef<{\n actionName: \"query\" | \"reset\" | \"enter\";\n capturedAt: number;\n source: string;\n } | null>(null);\n const lastFormSubmitRef = useRef<{\n capturedAt: number;\n source: string;\n } | null>(null);\n const longTaskObserverRef = useRef<PerformanceObserver | null>(null);\n const [searchAreaHeight, setSearchAreaHeight] = useState(0);\r\n const [viewportHeight, setViewportHeight] = useState(\r\n typeof window !== \"undefined\" ? window.innerHeight : 900,\r\n );\r\n const [tablePageSize, setTablePageSize] = useState(pageSize);\n const emitEvent = useEventEmitter(onEvent);\n const emitEventRef = useRef(emitEvent);\n emitEventRef.current = emitEvent;\n\r\n useEffect(() => {\r\n setTablePageSize(pageSize);\r\n }, [pageSize]);\r\n\r\n useEffect(() => {\r\n if (!componentNodeId || !registerCapabilities) return;\r\n return registerCapabilities(componentNodeId, {\r\n reload: () => actionRef.current?.reload?.(),\r\n reloadAndRest: () => actionRef.current?.reloadAndRest?.(),\r\n reset: () => actionRef.current?.reset?.(),\r\n clearSelected: () => actionRef.current?.clearSelected?.(),\r\n });\r\n }, [componentNodeId, registerCapabilities]);\r\n\r\n const slotAreas = useMemo<SlotArea[]>(() => {\r\n const areaSet = new Set<string>([toolbarSlotName]);\r\n columns.forEach((col) => {\r\n resolveColumnSlotAreaNames(col).forEach((areaName) => {\r\n areaSet.add(areaName);\r\n });\r\n });\r\n return Array.from(areaSet).map((name) => ({ name }));\r\n }, [columns, toolbarSlotName]);\r\n const runtimeContext = runtime?.context;\r\n\r\n const { getAreaNodes, areaMap } = useSlotRuntime({\r\n renderSlot,\r\n children,\r\n areas: slotAreas,\r\n context: runtimeContext ? { runtimeContext } : undefined,\r\n });\r\n\r\n const proColumns = useMemo(\r\n () =>\r\n convertColumns(\r\n columns,\r\n getAreaNodes,\r\n areaMap,\r\n Boolean(renderSlot),\r\n runtimeContext,\r\n ),\r\n [columns, getAreaNodes, areaMap, renderSlot, runtimeContext],\r\n );\r\n\r\n const toolbarNodes = useMemo(() => {\r\n return getAreaNodes(toolbarSlotName, { actionRef: actionRef.current });\r\n }, [getAreaNodes, toolbarSlotName, actionRef]);\r\n\r\n // 统一获取搜索区节点,用于计算自动高度\r\n const getSearchNode = useCallback(() => {\r\n const container = tableContainerRef.current;\r\n if (!container) return null;\r\n return container.querySelector(\r\n \".ant-pro-table-search\",\r\n ) as HTMLElement | null;\r\n }, []);\r\n\r\n // 同步视口高度与搜索区高度,供表格滚动区高度计算使用\r\n const updateAutoHeightMetrics = useCallback(() => {\r\n setViewportHeight(window.innerHeight);\r\n const searchNode = getSearchNode();\r\n const next = searchNode\r\n ? Math.ceil(searchNode.getBoundingClientRect().height)\r\n : 0;\r\n setSearchAreaHeight(next);\r\n }, [getSearchNode]);\r\n\r\n // autoHeight 开启时监听窗口与搜索区尺寸变化;关闭时清空搜索区高度\r\n useEffect(() => {\r\n if (!autoHeight) {\r\n setSearchAreaHeight(0);\r\n return;\r\n }\r\n\r\n updateAutoHeightMetrics();\r\n\r\n const searchNode = getSearchNode();\r\n const resizeObserver =\r\n searchNode && typeof ResizeObserver !== \"undefined\"\r\n ? new ResizeObserver(updateAutoHeightMetrics)\r\n : null;\r\n\r\n if (resizeObserver && searchNode) {\r\n resizeObserver.observe(searchNode);\r\n }\r\n\r\n window.addEventListener(\"resize\", updateAutoHeightMetrics);\r\n\r\n return () => {\r\n if (resizeObserver) resizeObserver.disconnect();\r\n window.removeEventListener(\"resize\", updateAutoHeightMetrics);\r\n };\r\n }, [autoHeight, search, getSearchNode, updateAutoHeightMetrics]);\r\n\r\n const finalScrollY = useMemo(() => {\r\n if (!autoHeight) return scrollY;\r\n const headerOffset = 47;\r\n const paginationOffset = paginationEnabled ? 40 : 0;\r\n const toolbarOffset = toolbarNodes && toolbarNodes.length > 0 ? 64 : 0;\r\n const dynamic =\r\n viewportHeight -\r\n searchAreaHeight -\r\n autoHeightOffset -\r\n headerOffset -\r\n paginationOffset -\r\n toolbarOffset;\r\n return Math.max(autoHeightMinY, dynamic);\r\n }, [\r\n autoHeight,\r\n scrollY,\r\n viewportHeight,\r\n searchAreaHeight,\r\n autoHeightOffset,\r\n autoHeightMinY,\r\n paginationEnabled,\r\n toolbarNodes,\r\n ]);\r\n\r\n const tableDataSource = useMemo(\r\n () => normalizeProTableDataSource(dataSource),\r\n [dataSource],\r\n );\r\n const hasRequestBinding = useMemo(\r\n () => hasTableRequestBinding(__events),\r\n [__events],\r\n );\r\n\r\n // 配置了 table.request 时完全交给 request 驱动;未配置时使用 dataSource。\r\n const request = useCallback(\n async (\n params: Record<string, unknown>,\n sort: Record<string, unknown>,\n filter: Record<string, unknown>,\n ): Promise<TableRequestResult> => {\n const startedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n const lastQueryAction = lastQueryActionRef.current;\n recordProTableDiagnostic(\"protable.request.start\", {\n nodeId: componentNodeId,\n paramsSummary: buildProTableRequestParamsSummary(params),\n sortSummary: buildProTableRequestParamsSummary(sort),\n filterSummary: buildProTableRequestParamsSummary(filter),\n previousAction: lastQueryAction\n ? {\n actionName: lastQueryAction.actionName,\n source: lastQueryAction.source,\n delayMs: Math.round(startedAt - lastQueryAction.capturedAt),\n }\n : undefined,\n previousSubmit: lastFormSubmitRef.current\n ? {\n source: lastFormSubmitRef.current.source,\n delayMs: Math.round(\n startedAt - lastFormSubmitRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n await yieldProTableRequestPaint();\n const result = await emitEventRef.current<TableRequestResult>(\n \"table.request\",\n {\n ...params,\n ...buildTableRequestSortPayload(sort),\n ...filter,\n },\n );\n const finalResult = result || {\n data: [],\n success: true,\n total: 0,\n };\n const endedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n recordProTableDiagnostic(\"protable.request.done\", {\n nodeId: componentNodeId,\n durationMs: Math.round(endedAt - startedAt),\n hasResult: Boolean(result),\n });\n return finalResult;\n },\n [componentNodeId],\n );\n\r\n // 统一分页事件载荷,避免 onShowSizeChange / onChange 重复拼装参数\r\n const emitPaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n emitEvent(\"table.pagination.change\", {\r\n current,\r\n pageSize: size,\r\n pagination: {\r\n current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n [emitEvent],\r\n );\r\n\r\n const handlePageSizeChange = useCallback(\r\n (current: number, size: number) => {\r\n setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const handlePaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n if (typeof size === \"number\") setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const paginationConfig = useMemo(\r\n () =>\r\n paginationEnabled\r\n ? {\r\n pageSize: tablePageSize,\r\n size: \"default\",\r\n showSizeChanger,\r\n showQuickJumper,\r\n showTotal: (total: number) => `共 ${total} 条`,\r\n onShowSizeChange: handlePageSizeChange,\r\n onChange: handlePaginationChange,\r\n }\r\n : false,\r\n [\r\n paginationEnabled,\r\n tablePageSize,\r\n showSizeChanger,\r\n showQuickJumper,\r\n handlePageSizeChange,\r\n handlePaginationChange,\r\n ],\r\n );\r\n\r\n const handleRowClick = useCallback(\n (record: Record<string, unknown>) => {\r\n emitEvent(\"table.row.click\", { record });\r\n },\r\n [emitEvent],\n );\n\n const recordQueryAction = useCallback(\n (\n actionName: \"query\" | \"reset\" | \"enter\",\n source: string,\n detail?: Record<string, unknown>,\n ) => {\n const capturedAt = getNowTime();\n lastQueryActionRef.current = {\n actionName,\n capturedAt,\n source,\n };\n recordProTableDiagnostic(\"protable.query.action\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...detail,\n });\n if (\n isRuntimeDebugEnabled() &&\n typeof PerformanceObserver !== \"undefined\"\n ) {\n longTaskObserverRef.current?.disconnect();\n try {\n const observer = new PerformanceObserver((list) => {\n list.getEntries().forEach((entry) => {\n if (!shouldRecordProTableLongTask(entry.duration)) return;\n recordProTableDiagnostic(\"protable.query.longtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n startDelayMs: Math.round(entry.startTime - capturedAt),\n durationMs: Math.round(entry.duration),\n entryType: entry.entryType,\n name: entry.name,\n });\n });\n });\n observer.observe({ entryTypes: [\"longtask\"] });\n longTaskObserverRef.current = observer;\n window.setTimeout(() => {\n observer.disconnect();\n if (longTaskObserverRef.current === observer) {\n longTaskObserverRef.current = null;\n }\n }, 8000);\n } catch {\n longTaskObserverRef.current = null;\n }\n }\n Promise.resolve().then(() => {\n recordProTableDiagnostic(\"protable.query.microtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n window.setTimeout(() => {\n recordProTableDiagnostic(\"protable.query.timeout\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n }, 0);\n if (typeof window.requestAnimationFrame === \"function\") {\n window.requestAnimationFrame(() => {\n recordProTableDiagnostic(\"protable.query.raf\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n }\n },\n [componentNodeId],\n );\n\n const handleTableClickCapture = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const button = getEventTargetButton(event.target);\n if (!button) return;\n const actionName = resolveProTableQueryActionName(\n button.textContent || \"\",\n );\n if (!actionName) return;\n recordQueryAction(actionName, \"click\", {\n buttonText: button.textContent || \"\",\n });\n },\n [recordQueryAction],\n );\n\n const handleTableSubmitCapture = useCallback(\n (event: React.FormEvent<HTMLDivElement>) => {\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchForm = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchForm) return;\n const capturedAt = getNowTime();\n lastFormSubmitRef.current = {\n capturedAt,\n source: \"submit\",\n };\n recordProTableDiagnostic(\"protable.form.submit\", {\n nodeId: componentNodeId,\n previousAction: lastQueryActionRef.current\n ? {\n actionName: lastQueryActionRef.current.actionName,\n source: lastQueryActionRef.current.source,\n delayMs: Math.round(\n capturedAt - lastQueryActionRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n },\n [componentNodeId],\n );\n\n const handleTableKeyDownCapture = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== \"Enter\") return;\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchArea = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchArea) return;\n recordQueryAction(\"enter\", \"keydown\", {\n targetTag: target.tagName.toLowerCase(),\n });\n },\n [recordQueryAction],\n );\n\r\n const tableScroll = useMemo(\r\n () =>\r\n scrollX || finalScrollY ? { x: scrollX, y: finalScrollY } : undefined,\r\n [scrollX, finalScrollY],\r\n );\r\n\r\n const searchConfig = useMemo<ProTableSearchProp>(\r\n () => (search ? ({ colon: false } as ProTableSearchProp) : false),\r\n [search],\r\n );\r\n\r\n const searchInitialValues = useMemo(() => {\r\n if (searchInitialValuesSource !== \"storage\") return {};\r\n const key = String(searchInitialValuesStorageKey || \"\").trim();\r\n if (!key) return {};\r\n const storage = getBrowserStorage(searchInitialValuesStorageType);\r\n if (!storage) return {};\r\n\r\n const raw = storage.getItem(key);\r\n\r\n if (!raw) return {};\n try {\n const parsed = unwrapSearchStorageValue(JSON.parse(raw));\n const values = buildSearchInitialValuesFromStorageValue(\n parsed,\n searchInitialValuesMappings,\n );\r\n if (clearSearchInitialValuesAfterUse) {\r\n storage.removeItem(key);\r\n }\r\n return values;\r\n } catch {\r\n return {};\r\n }\r\n }, [\r\n searchInitialValuesSource,\r\n searchInitialValuesStorageType,\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings,\r\n clearSearchInitialValuesAfterUse,\n ]);\n const formConfig = useMemo(\n () => buildProTableFormConfig(searchInitialValues),\n [searchInitialValues],\n );\n\n return (\n <div\n ref={tableContainerRef}\n onClickCapture={handleTableClickCapture}\n onKeyDownCapture={handleTableKeyDownCapture}\n onSubmitCapture={handleTableSubmitCapture}\n >\n <AntdProTable\r\n actionRef={actionRef}\r\n columns={proColumns}\r\n request={hasRequestBinding ? request : undefined}\r\n dataSource={hasRequestBinding ? undefined : tableDataSource}\r\n rowKey={rowKey}\r\n headerTitle={headerTitle}\r\n size={size}\r\n tableStyle={{\r\n padding: toolbarNodes || !searchConfig ? 0 : 24,\r\n }}\r\n bordered={bordered}\n showHeader={showHeader}\n search={searchConfig}\n form={formConfig}\n options={false}\n dateFormatter=\"string\"\r\n toolBarRender={toolbarNodes ? () => toolbarNodes : undefined}\r\n pagination={\r\n paginationConfig as ComponentProps<typeof AntdProTable>[\"pagination\"]\r\n }\r\n onRow={(record) => ({\r\n onClick: () => handleRowClick(record as Record<string, unknown>),\r\n })}\r\n scroll={tableScroll}\r\n style={style}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport default ProTableWrapper;\r\n"]}