@pisell/materials 6.12.52 → 6.12.54

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.
@@ -19,6 +19,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
19
19
  const flowGenerationRef = useRef(0);
20
20
  const draftRevisionRef = useRef(0);
21
21
  const navigationRevisionRef = useRef(0);
22
+ const preparationRevisionRef = useRef(0);
22
23
  const transitionPendingRef = useRef(false);
23
24
  const processDraftChangeRef = useRef(() => void 0);
24
25
  const onDraftChangeRef = useRef(onDraftChange);
@@ -82,6 +83,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
82
83
  mountedRef.current = false;
83
84
  if (flowGenerationRef.current === generation) flowGenerationRef.current += 1;
84
85
  navigationRevisionRef.current += 1;
86
+ preparationRevisionRef.current += 1;
85
87
  moduleInitializationRef.current.clear();
86
88
  moduleDependencyLifecycleRef.current.clear();
87
89
  pendingModuleChangeRef.current.clear();
@@ -297,7 +299,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
297
299
  draft,
298
300
  moduleState
299
301
  });
300
- const { validateCurrentStep, complete, next, back } = useFlowNavigation({
302
+ const { validateCurrentStep, prepareSteps, complete, next, back } = useFlowNavigation({
301
303
  registry,
302
304
  draftAdapter,
303
305
  createRuntimeIssue,
@@ -313,6 +315,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
313
315
  currentStepKeyRef,
314
316
  validatedCompletionRef,
315
317
  navigationRevisionRef,
318
+ preparationRevisionRef,
316
319
  transitionPendingRef,
317
320
  completedRef,
318
321
  completionPromiseRef,
@@ -347,6 +350,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
347
350
  back,
348
351
  updateDraft,
349
352
  validateCurrentStep,
353
+ prepareSteps,
350
354
  complete,
351
355
  getState
352
356
  }), [
@@ -354,6 +358,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
354
358
  complete,
355
359
  getState,
356
360
  next,
361
+ prepareSteps,
357
362
  updateDraft,
358
363
  validateCurrentStep
359
364
  ]);
@@ -377,6 +382,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
377
382
  context: contextValue,
378
383
  updateDraft,
379
384
  validateCurrentStep,
385
+ prepareSteps,
380
386
  complete,
381
387
  next,
382
388
  back,
@@ -5,7 +5,7 @@ import { getCompiledStepsFingerprint, getSelectionFlowErrorMessage, normalizeFlo
5
5
  import { useCallback } from "react";
6
6
  //#region src/components/PisellSelectionFlow/hooks/useFlowNavigation.ts
7
7
  /** 导航、校验与提交门禁独立于模块加载生命周期。 */
8
- const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mountedRef, moduleStateRef, moduleRevisionRef, draftRevisionRef, flowGenerationRef, moduleHandlesRef, configurationErrorRef, compiledStepsRef, currentStepIndexRef, currentStepKeyRef, validatedCompletionRef, navigationRevisionRef, transitionPendingRef, completedRef, completionPromiseRef, isCompletingRef, draftRef, onCompleteRef, ensureModuleReady, commitModuleState, getFreshContext, onValidationFailed, setCurrentStepIndex, setCompletionError, setCompletionReason, setIsCompleting }) => {
8
+ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mountedRef, moduleStateRef, moduleRevisionRef, draftRevisionRef, flowGenerationRef, moduleHandlesRef, configurationErrorRef, compiledStepsRef, currentStepIndexRef, currentStepKeyRef, validatedCompletionRef, navigationRevisionRef, preparationRevisionRef, transitionPendingRef, completedRef, completionPromiseRef, isCompletingRef, draftRef, onCompleteRef, ensureModuleReady, commitModuleState, getFreshContext, onValidationFailed, setCurrentStepIndex, setCompletionError, setCompletionReason, setIsCompleting }) => {
9
9
  const validateModule = useCallback(function() {
10
10
  var _ref = _asyncToGenerator(function* (module) {
11
11
  const adapter = resolveFlowModuleAdapter(registry, module.type);
@@ -104,6 +104,106 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
104
104
  for (const module of step.modules) if (!(yield validateModule(module))) return false;
105
105
  return true;
106
106
  }), [validateModule]);
107
+ const prepareSteps = useCallback(_asyncToGenerator(function* (options = {}) {
108
+ var _options$fromStepInde;
109
+ if (!mountedRef.current || configurationErrorRef.current) return {
110
+ prepared: false,
111
+ cancelled: !mountedRef.current
112
+ };
113
+ const preparationRevision = preparationRevisionRef.current + 1;
114
+ preparationRevisionRef.current = preparationRevision;
115
+ const navigationRevision = navigationRevisionRef.current;
116
+ const flowGeneration = flowGenerationRef.current;
117
+ const compiledFingerprint = getCompiledStepsFingerprint(compiledStepsRef.current);
118
+ const fromStepIndex = Math.max(0, (_options$fromStepInde = options.fromStepIndex) !== null && _options$fromStepInde !== void 0 ? _options$fromStepInde : currentStepIndexRef.current + 1);
119
+ const isCurrentPreparation = () => mountedRef.current && preparationRevisionRef.current === preparationRevision && navigationRevisionRef.current === navigationRevision && flowGenerationRef.current === flowGeneration && getCompiledStepsFingerprint(compiledStepsRef.current) === compiledFingerprint;
120
+ const targetModules = compiledStepsRef.current.filter((step) => step.index >= fromStepIndex).flatMap((step) => step.modules.map((module) => ({
121
+ step,
122
+ module
123
+ })));
124
+ for (let pass = 0; pass <= targetModules.length; pass += 1) {
125
+ for (const { step, module } of targetModules) {
126
+ if (!isCurrentPreparation()) return {
127
+ prepared: false,
128
+ cancelled: true
129
+ };
130
+ const adapter = resolveFlowModuleAdapter(registry, module.type);
131
+ if (!(adapter === null || adapter === void 0 ? void 0 : adapter.validateAutoResolution)) return {
132
+ prepared: false,
133
+ firstUnresolvedStepIndex: step.index,
134
+ moduleKey: module.key
135
+ };
136
+ if (!(yield ensureModuleReady(module))) {
137
+ const state = moduleStateRef.current[module.key];
138
+ return isCurrentPreparation() ? {
139
+ prepared: false,
140
+ firstUnresolvedStepIndex: step.index,
141
+ moduleKey: module.key,
142
+ message: state === null || state === void 0 ? void 0 : state.message
143
+ } : {
144
+ prepared: false,
145
+ cancelled: true
146
+ };
147
+ }
148
+ if (!isCurrentPreparation()) return {
149
+ prepared: false,
150
+ cancelled: true
151
+ };
152
+ const validationDraftRevision = draftRevisionRef.current;
153
+ try {
154
+ const context = getFreshContext();
155
+ if (!context) return {
156
+ prepared: false,
157
+ cancelled: true
158
+ };
159
+ const result = normalizeFlowValidationResult(yield adapter.validateAutoResolution(context, module));
160
+ if (!isCurrentPreparation() || draftRevisionRef.current !== validationDraftRevision) return {
161
+ prepared: false,
162
+ cancelled: true
163
+ };
164
+ if (!result.valid) return {
165
+ prepared: false,
166
+ firstUnresolvedStepIndex: step.index,
167
+ moduleKey: module.key,
168
+ message: result.message
169
+ };
170
+ } catch (error) {
171
+ return isCurrentPreparation() ? {
172
+ prepared: false,
173
+ firstUnresolvedStepIndex: step.index,
174
+ moduleKey: module.key,
175
+ message: getSelectionFlowErrorMessage(error)
176
+ } : {
177
+ prepared: false,
178
+ cancelled: true
179
+ };
180
+ }
181
+ }
182
+ if (!targetModules.find(({ module }) => {
183
+ var _moduleStateRef$curre;
184
+ return ((_moduleStateRef$curre = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre === void 0 ? void 0 : _moduleStateRef$curre.status) !== "ready";
185
+ })) return isCurrentPreparation() ? { prepared: true } : {
186
+ prepared: false,
187
+ cancelled: true
188
+ };
189
+ }
190
+ const unresolved = targetModules.find(({ module }) => {
191
+ var _moduleStateRef$curre2;
192
+ return ((_moduleStateRef$curre2 = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre2 === void 0 ? void 0 : _moduleStateRef$curre2.status) !== "ready";
193
+ });
194
+ return unresolved ? {
195
+ prepared: false,
196
+ firstUnresolvedStepIndex: unresolved.step.index,
197
+ moduleKey: unresolved.module.key
198
+ } : {
199
+ prepared: false,
200
+ cancelled: true
201
+ };
202
+ }), [
203
+ ensureModuleReady,
204
+ getFreshContext,
205
+ registry
206
+ ]);
107
207
  const runBeforeLeaveForCurrentStep = useCallback(_asyncToGenerator(function* () {
108
208
  if (configurationErrorRef.current) return false;
109
209
  const stepIndex = currentStepIndexRef.current;
@@ -188,8 +288,8 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
188
288
  const latestRevisionFingerprint = latestSteps.flatMap((step) => step.modules).map((module) => `${module.key}:${moduleRevisionRef.current.get(module.key) || 0}`).join("|");
189
289
  if (compiledFingerprint !== latestCompiledFingerprint || revisionFingerprint !== latestRevisionFingerprint || draftRevision !== draftRevisionRef.current) {
190
290
  const targetStep = latestSteps.find((step) => step.modules.some((module) => {
191
- var _moduleStateRef$curre;
192
- return ((_moduleStateRef$curre = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre === void 0 ? void 0 : _moduleStateRef$curre.status) !== "ready";
291
+ var _moduleStateRef$curre3;
292
+ return ((_moduleStateRef$curre3 = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre3 === void 0 ? void 0 : _moduleStateRef$curre3.status) !== "ready";
193
293
  })) || latestSteps[0];
194
294
  const targetModule = targetStep === null || targetStep === void 0 ? void 0 : targetStep.modules[0];
195
295
  if (targetStep && targetModule) {
@@ -274,6 +374,7 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
274
374
  ]);
275
375
  return {
276
376
  validateCurrentStep,
377
+ prepareSteps,
277
378
  runBeforeLeaveForCurrentStep,
278
379
  complete,
279
380
  next: useCallback(_asyncToGenerator(function* () {
@@ -1,4 +1,4 @@
1
- import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./types.js";
1
+ import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowPrepareStepsOptions, SelectionFlowPrepareStepsResult, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./types.js";
2
2
  import { _default } from "./PisellSelectionFlow.js";
3
3
  import { useSelectionFlowContext, useTypedSelectionFlowContext } from "./context.js";
4
4
  import { compileSelectionFlow, compileSelectionFlowSteps, hasSelectionDraftFieldValue, isSelectionModuleType, resolveFlowModuleAdapter } from "./compiler.js";
@@ -57,6 +57,18 @@ type FlowModuleValidationResult = boolean | {
57
57
  message?: string;
58
58
  };
59
59
  type FlowModuleValidationReturn = FlowModuleValidationResult | Promise<FlowModuleValidationResult>;
60
+ interface SelectionFlowPrepareStepsOptions {
61
+ /** 从哪个已编译步骤开始准备;默认从当前步骤的下一步开始。 */
62
+ fromStepIndex?: number;
63
+ }
64
+ interface SelectionFlowPrepareStepsResult {
65
+ prepared: boolean;
66
+ /** 新一轮准备、导航、重新编译或卸载使本轮结果失效。 */
67
+ cancelled?: boolean;
68
+ firstUnresolvedStepIndex?: number;
69
+ moduleKey?: string;
70
+ message?: string;
71
+ }
60
72
  type FlowModuleBeforeLeaveResult = boolean | {
61
73
  allowed: boolean;
62
74
  message?: string;
@@ -98,6 +110,11 @@ interface SelectionFlowModuleAdapter<TDraft, TDraftUpdate, TField extends string
98
110
  reconcile?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, change: SelectionFlowDraftChange<TDraft, TField, TModuleType>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => void | Promise<void>;
99
111
  clearDependencies?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, change: SelectionFlowDraftChange<TDraft, TField, TModuleType>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => void | Promise<void>;
100
112
  validate?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, handle: FlowModuleHandle | null, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleValidationReturn;
113
+ /**
114
+ * 模块完成 refresh 后,判断当前值能否在无界面的情况下安全采用。
115
+ * 不提供即表示该模块必须由用户进入步骤确认。
116
+ */
117
+ validateAutoResolution?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleValidationReturn;
101
118
  beforeLeave?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, handle: FlowModuleHandle | null, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleBeforeLeaveReturn;
102
119
  }
103
120
  type SelectionFlowModuleRegistry<TDraft, TDraftUpdate, TField extends string, TModuleType extends string, TServices = unknown, THostContext = unknown> = Record<TModuleType, SelectionFlowModuleAdapter<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>>;
@@ -117,6 +134,7 @@ interface SelectionFlowRef<TDraft, TDraftUpdate, TField extends string = string,
117
134
  back: () => boolean;
118
135
  updateDraft: (update: TDraftUpdate, meta: SelectionFlowDraftUpdateMeta<TField, TModuleType>) => void;
119
136
  validateCurrentStep: () => Promise<boolean>;
137
+ prepareSteps: (options?: SelectionFlowPrepareStepsOptions) => Promise<SelectionFlowPrepareStepsResult>;
120
138
  complete: () => Promise<boolean>;
121
139
  getState: () => SelectionFlowSnapshot<TDraft, TModuleType>;
122
140
  }
@@ -139,6 +157,7 @@ interface PisellSelectionFlowController<TDraft, TDraftUpdate, TField extends str
139
157
  completionReason?: SelectionFlowRuntimeIssue;
140
158
  updateDraft: (update: TDraftUpdate, meta: SelectionFlowDraftUpdateMeta<TField, TModuleType>) => void;
141
159
  validateCurrentStep: () => Promise<boolean>;
160
+ prepareSteps: (options?: SelectionFlowPrepareStepsOptions) => Promise<SelectionFlowPrepareStepsResult>;
142
161
  complete: () => Promise<boolean>;
143
162
  next: () => Promise<boolean>;
144
163
  back: () => boolean;
@@ -176,4 +195,4 @@ declare class SelectionFlowCompileError extends Error {
176
195
  constructor(issues: readonly SelectionFlowCompileIssue[]);
177
196
  }
178
197
  //#endregion
179
- export { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback };
198
+ export { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowPrepareStepsOptions, SelectionFlowPrepareStepsResult, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback };
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  &__footer-price-wrap--weighing {
26
- font-size: var(--pisell-cart-sku-card-weighing-summary-font-size, 18px);
26
+ font-size: var(--pisell-cart-sku-card-physical-text-height, 18px);
27
27
  line-height: 1.3;
28
28
  letter-spacing: -0.02em;
29
29
  }
@@ -50,7 +50,6 @@
50
50
  );
51
51
  // 称重卡片的辅助信息保持易读,但不与毛重/净重争夺视觉层级。
52
52
  --pisell-cart-sku-card-weighing-meta-font-size: 18px;
53
- --pisell-cart-sku-card-weighing-summary-font-size: 18px;
54
53
 
55
54
  padding: 4px 8px 4px 4px;
56
55
  border-radius: inherit;
package/es/index.d.ts CHANGED
@@ -79,7 +79,7 @@ import { Provider as Provider$4 } from "./components/PisellCards/components/Text
79
79
  import { PisellStepItem, PisellStepsProps } from "./components/PisellSteps/types.js";
80
80
  import { PisellProcedureProps, PisellProcedureRef, ProcedureBodyProps, ProcedureFooterProps, ProcedureHeaderProps as ProcedureHeaderProps$1 } from "./components/PisellProcedure/types.js";
81
81
  import { PisellProcedure } from "./components/PisellProcedure/PisellProcedure.js";
82
- import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./components/PisellSelectionFlow/types.js";
82
+ import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowPrepareStepsOptions, SelectionFlowPrepareStepsResult, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./components/PisellSelectionFlow/types.js";
83
83
  import { _default as _default$15 } from "./components/PisellSelectionFlow/PisellSelectionFlow.js";
84
84
  import { useSelectionFlowContext, useTypedSelectionFlowContext } from "./components/PisellSelectionFlow/context.js";
85
85
  import { compileSelectionFlow, compileSelectionFlowSteps, hasSelectionDraftFieldValue, isSelectionModuleType, resolveFlowModuleAdapter } from "./components/PisellSelectionFlow/compiler.js";
@@ -279,4 +279,4 @@ import { Number } from "./components/virtual-keyboard/Number/index.js";
279
279
  import { VirtualInput } from "./components/virtualInput/index.js";
280
280
  import { WalletCard } from "./components/walletCard/index.js";
281
281
  import { Affix, Alert, Anchor, Avatar, Breadcrumb, Card, Carousel, Col, ColorPicker, Descriptions, Divider, Empty, Grid, InputNumber as InputNumber$1, Mentions, Menu, Pagination, Popconfirm, Popover, Progress, Rate, Result, Row, Space, Spin, Statistic, Steps, Switch as Switch$1, Tag, Timeline, Tooltip, Transfer, Tree, message, notification, version } from "antd";
282
- export { type AdaptColumnsForPhoneLayoutOptions, Affix, Alert, Anchor, AppVersionControl, AutoComplete, AutoCompleteNumber, AutoResizeText, Avatar, Badge, type BadgeConfig, Translation as BaseTranslation, type BatchActionBarPosition, type BatchActionConfirmConfig, type BatchActionItem, BatchEditor, Breadcrumb, Button, _default as ButtonGroupEdit, _default$1 as ButtonGroupPreview, Calendar, type CalendarPersistContextValue, type CalendarPersistKind, CalendarPersistProvider, Card, CardMetricItem, type PisellStatisticProps as CardMetricItemProps, _default$2 as CardPro, Carousel, type CartSkuCardA12Display, type CartSkuCardA12Presentation, type CartSkuCardA12Slots, type CartSkuCardVariant, Cascader, Checkbox, ClassicLayout, Col, Collapse, ColorPicker, type CompiledSelectionFlowModuleConfig, type CompiledSelectionFlowStep, Component, type CompoundedComponent, ConfigProvider, type CountryCode, type CreateShopFloorPlanClientOptions, CropPhoto, type CursorMode, CustomSelect, DEFAULT_CALENDAR_SLOT_STEP_MINUTES, DEFAULT_RESOURCE_WALL_FILTER_FIELD_KEY, DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST, type DataSourceContainerProps, _default$3 as DataSourceForm, DataSourceImage, DataSourceMenu, DataSourceQRCode, DataSourceSubForm, type DataSourceSubFormProps, _default$4 as DataSourceTable, DataSourceTypography, DataSourceWrapper, DatePicker, type DefaultActionsConfig, Descriptions, _default$5 as Div, Divider, DragSortTree, Drawer, Dropdown, EMPTY_FLOOR_MAP_LAYOUT_CONTEXT, Empty, type EnsureShopFloorPlanByCodeOptions, FIND_FALLBACK_SCANNER_COUNT_KEY, FLOOR_MAP_BUILTIN_SHAPES, FLOOR_MAP_BUILTIN_SHAPE_ELEMENT_KIND, FLOOR_MAP_IMAGE_ELEMENT_KIND, FLOOR_MAP_SELECTION_ZONE_ELEMENT_KIND, FLOOR_MAP_STAGE_ELEMENT_KIND, Filter, type FloorMapBindingPlaceholderReason, FloorMapBuiltinShapeElement, type FloorMapCanvasNameI18n, type FloorMapDataSourceRow, type FloorMapDataSources, type FloorMapEdge, type FloorMapEdgeAnchor, type FloorMapEdgeStatus, type FloorMapElementKindCategory, type FloorMapElementKindConfig, type FloorMapFullscreenMode, FloorMapImageElement, type FloorMapItemBase, type FloorMapLayoutContextValue, FloorMapLayoutProvider, type FloorMapLayoutProviderProps, type FloorMapMergedItem, type FloorMapRenderOptions, type FloorMapResourcePickerRecord, type FloorMapResourcePickerSlotProps, type FloorMapSceneElement, FloorMapSelectionZoneElement, type FloorMapViewConfig, type FloorMapViewportOverlayRenderArgs, type FlowModuleBeforeLeaveResult, type FlowModuleBeforeLeaveReturn, type FlowModuleDataMap, type FlowModuleHandle, type FlowModuleState, type FlowModuleStateMap, type FlowModuleStatus, type FlowModuleValidationResult, type FlowModuleValidationReturn, _default$6 as Form, FormGroup, Checkbox$1 as FormItemCheckbox, ColorPicker$1 as FormItemColorPicker, DatePicker$1 as FormItemDatePicker, IconSelect as FormItemIconSelect, Input as FormItemInput, InputNumber as FormItemInputNumber, Radio as FormItemRadio, RecordListWrapperWithDataSource as FormItemRecordListWrapper, SelectWithDataSource as FormItemSelect, Switch as FormItemSwitch, FormItemTabs, TimePicker as FormItemTimePicker, Translation$1 as FormItemTranslation, Upload as FormItemUpload, Provider as GraphicTextCard, type GraphicTextCardProps, type GraphicTextCardSize, type GraphicTextCardVariant, Grid, type GridProProps, type GridViewProps, type GroupBlocks, type GroupModel, type GroupViewVariant, PREFIX_CLS as HIERARCHICAL_SUMMARY_LIST_PREFIX_CLS, _default$7 as Icon, IconSelect$1 as IconSelect, IconFont as Iconfont, Image, type ImageDataSource, type ImageFillMode, Input$1 as Input, InputNumber$1 as InputNumber, InputNumberRange, type ItemContext, type ItemLayout, JsonWrapperProvider as JsonWrapper, _default$8 as Keyboard, type LevelType, List, type LookupInputRenderContext, LowCodePage, type MailtoOptions, Mentions, Menu, Modal, Provider$1 as MultilevelCard, type MultilevelCardProps, type MultipleSelectRef, NAME_AS_TITLE_EXT_KEY, OrganizationTenantSwitcher, Page, PageHeader, Pagination, PisellAdjustPrice, PisellAdjustPriceInputNumber, PisellAlert, PisellAnchor, PisellAppCard, type PisellAppCardProps, PisellAvatar, type PisellBasicCardProps, MemoizedPisellBasicGrid as PisellBasicGrid, type PisellBasicGridProps, PisellBatchActionBar, type PisellBatchActionBarProps, PisellCard, _default$9 as PisellCardList, type PisellCardPickerCardMeta, type PisellCardPickerCategoryConfig, type PisellCardPickerCategoryLevelConfig, type PisellCardPickerCategoryMode, type PisellCardPickerCategoryPath, type PisellCardPickerItem, type PisellCardPickerMode, PisellCards, PisellCheckboxGroup, PisellConfigProvider, PisellContainer, PisellContent, PisellContext, PisellCountdown, MemoizedPisellCurrency as PisellCurrency, type PisellCurrencyProps, PisellCustomCheckboxGroup, PisellDataSourceContainer, PisellDatePicker, _default$10 as PisellDateTimeDisplay, type PisellDateTimeDisplayProps, Demo as PisellDraggable, PisellDropSort, PisellDropdown, _default$11 as PisellEmail, type PisellEmailProps, PisellEmpty, PisellFields, PisellFilter, type PisellFilterProps, PisellFind, type PisellFindProps, type PisellFindRef, PisellFloatingPanel, PisellFloorMapLayout, type PisellFloorMapLayoutProps, type PisellFloorMapLayoutRef, PisellFooter, index as PisellGoodPassCard, PisellGridPro, GridView as PisellGridView, MemoizedPisellGroupView as PisellGroupView, type PisellGroupViewProps, PisellHeader, PisellHeaderProgressBar, PisellHierarchicalSummaryList, type PisellHierarchicalSummaryListAggregateConfig, type PisellHierarchicalSummaryListAggregateMode, type PisellHierarchicalSummaryListItem, type PisellHierarchicalSummaryListKey, type PisellHierarchicalSummaryListLevelConfig, type PisellHierarchicalSummaryListProps, Provider$2 as PisellImageCard, type PisellImageCardProps, PisellImageCarousels, PisellInformationEntry, PisellInput, PisellLayout, type PisellLayoutProps, PisellLayouts, PisellList01, PisellLoading, _default$12 as PisellLongText, type PisellLongTextProps, PisellLookup, type PisellLookupProps, type PisellLookupRef, PisellMenu, type PisellMenuProps, PisellMetricCard, type PisellMetricCardProps, PisellMetrics, PisellMobileDateRangePicker, type PisellMobileDateRangePickerProps, PisellModal, PisellMultipleSelect, type PisellMultipleSelectProps, PisellNavigationMenu, MemoizedPisellNumber as PisellNumber, Number as PisellNumberKeyboard, type PisellNumberProps, MemoizedPisellPercent as PisellPercent, type PisellPercentProps, _default$13 as PisellPhone, type PisellPhoneProps, Amount as PisellPriceKeyboard, PisellProcedure, ProcedureHeader as PisellProcedureHeader, type ProcedureHeaderProps as PisellProcedureHeaderProps, type PisellProcedureProps, type PisellProcedureRef, PisellQRScanner, type PisellQRScannerProps, PisellQrcode, pisellQuickFilter as PisellQuickFilter, type PisellQuickFilterProps, _default$14 as PisellRating, type PisellRatingProps, PisellRecordBoard, PisellRecordBoardCalendarView, type PisellRecordBoardCalendarViewProps, PisellRecordBoardResourceWallView, PisellReservationSchedule, PisellReservationScheduleBand, type PisellReservationScheduleBandProps, type PisellReservationScheduleProps, PisellRow, type PisellRowProps, PisellScan, PisellScrollView, type PisellScrollViewProps, PisellSectionHeaders, _default$15 as PisellSelectionFlow, type PisellSelectionFlowController, type PisellSelectionFlowProps, PisellShellFrame, type PisellShellFrameConfig, type PisellShellFrameProps, type PisellShellFrameScrollConfig, PisellSider, _default$16 as PisellSingleLineText, type PisellSingleLineTextProps, PisellSingleSelect, type PisellSingleSelectProps, PisellSort, type PisellSortProps, PisellStatisticList, type PisellStatisticListProps, type PisellStatisticProps, type PisellStepItem, PisellSteps, type PisellStepsProps, _default$17 as PisellSuperTabs, type PisellSuperTabsProps, PisellTabbar, PisellTabbar$1 as PisellTabbar2, type PisellTabbarProps, _default$18 as PisellTabbarTemplate1, type PisellTabbarTemplate1Direction, type PisellTabbarTemplate1Props, PisellTags, type PisellTagsProps, PisellText, PisellTimeNavigator, type PisellTimeNavigatorProps, PisellTimeRangeDisplay, type PisellTimeRangeDisplayProps, PisellToast, Toolbar as PisellToolBar, PisellTooltip, PisellUpload, _default$19 as PisellUrl, type PisellUrlProps, PisellViewGrid, PisellWalletPassCard, type PisellWalletPassCardProps, Popconfirm, Popover, type PostShopFloorPlanBody, type ProcedureBodyProps, type ProcedureFooterProps, type ProcedureHeaderProps$1 as ProcedureHeaderProps, ProductCard, ProfileMenu, Progress, PublishVersionModal, type PutShopFloorPlanBody, QRCode, RECORD_BOARD_PHONE_GRID_CLASS, Radio$1 as Radio, Rate, type RecordBoardBlockedTimeMergedRange, type RecordBoardBlockedTimePanelPayload, type RecordBoardBodyView, type RecordBoardBookingMoveDraft, type RecordBoardCalendarBlockedTimePayload, type RecordBoardCalendarBookingLike, type RecordBoardCalendarBookingRenderArgs, type RecordBoardCalendarDayOverlayBooking, type RecordBoardCalendarProps, type RecordBoardCalendarResource, type RecordBoardCalendarResourceRenderArgs, type RecordBoardCalendarSelectedFreeSlot, type RecordBoardCalendarTimelineHeaderGroup, type RecordBoardCalendarTimelineHeaderRenderContext, type RecordBoardChildComponentProps, type RecordBoardColumnFilterConfig, type RecordBoardColumnType, type RecordBoardContextValue, type RecordBoardCreateBookingDayGroup, type RecordBoardCreateBookingFromSelectionPayload, type RecordBoardFieldType, type RecordBoardFloorMapProps, type RecordBoardGetOptions, type RecordBoardGridProps, type RecordBoardLayoutType, type RecordBoardLayoutVariant, type RecordBoardOptionItem, type RecordBoardProps, type RecordBoardResourceWallCardModel, type RecordBoardResourceWallLayoutPersist, type RecordBoardResourceWallProps, type RecordBoardToolBarProps, _default$20 as RecordView, type ReservationScheduleBandValue, type ReservationScheduleValue, Result, Row, SHOP_FLOOR_PLAN_DUPLICATE_CODE, SafeAreaTop, SectionFooters, Segmented, Select, SelectTime, SelectionFlowCompileError, type SelectionFlowCompileIssue, type SelectionFlowCompileIssueCode, type SelectionFlowContextValue, type SelectionFlowDraftAdapter, type SelectionFlowDraftChange, type SelectionFlowDraftUpdateMeta, type SelectionFlowMessageCode, type SelectionFlowMetadata, type SelectionFlowModuleAdapter, type SelectionFlowModuleConfig, type SelectionFlowModuleInput, type SelectionFlowModuleRegistry, type SelectionFlowRef, type SelectionFlowRuntimeIssue, type SelectionFlowSnapshot, type SelectionFlowStepConfig, type SelectionFlowValidationFeedback, type ShopFloorPlanByCodeRequestOptions, type ShopFloorPlanDetail, type ShopFloorPlanHttpAdapter, type ShopFloorPlanLayoutItem, type SingleSelectRef, Skeleton, SliderOuter as Slider, Sort, SortableList, Space, Spin, Statistic, Steps, SubmitButton, Switch$1 as Switch, Provider$3 as TabCard, type TabCardProps, type TabDataItem, type TabbarActionItem, type TabbarDataSource, _default$21 as Table, Tabs, Tag, Provider$4 as TextCard, type TimeNavigatorOrientation, type TimeNavigatorPassthroughProps, type TimeNavigatorValue, TimePicker$1 as TimePicker, type TimeRangeOption, Timeline, type ToolBarProps, Tooltip, Transfer, Translation$2 as Translation, Tree, TreeSelect, Typography, Upload$1 as Upload, type VenueWallAppearanceSlot, type VenueWallAppearanceTheme, type VenueWallStatusKey, type VenueWallStatusTone, type VenueWallStatusToneOverrides, VirtualInput, VirtualKeyboard, VirtualKeyboardTime, WalletCard, type WrapFloorMapOnSaveWithRemotePersistParams, adaptColumnsForPhoneLayout, buildCalendarHourSlotsFromRange, buildCalendarTimelineSlotStartsFromRange, buildFloorPlanPutBody, buildNameAsTitleExtensionsPatch, compileSelectionFlow, compileSelectionFlowSteps, computeSelectionZoneMemberIds, createShopFloorPlanClient, diffVenueWallStatusToneOverrides, findFloorMapRowByDataBinding, _default$22 as floorMapLayoutLocales, floorMapResourcePickerRecordSearchText, floorMapSavedConfigToRemotePatch, formatScheduleAtLabel, getBankCardTypeImg, getFigmaTableCardFromMerged, getFloorMapBindingPlaceholderReason, getFloorMapBuiltinShapeDef, getFloorMapCardPickerCategoryConfig, getFloorMapDisplayLocale, getFloorMapResourcePickerCardMeta, getHorizontalAxisSlotCount, getRangeBounds, getRenderItemByKindRoundTable, getRenderItemByKindTable, getVenueWallStatusToneMap, globalConfig, hasSelectionDraftFieldValue, inferCanvasSizeFromScene, initFloorMapLayoutLocales, isElementNameAsTitleEnabled, isFloorMapBuiltinShapeElementKind, isFloorMapImageElementKind, isFloorPlanDuplicateCodeError, isHttpNotFoundError, isSelectionModuleType, isSelectionZoneItem, isShopFloorPlanNotFoundResponse, loginAndRegister, mergeFloorMapLayoutPropsFromContext, mergeFloorPlanViewRemote, message, notification, parseLayoutFieldToViewConfigPatch, parseNestedPathSegments, pickFloorPlanDetail, pickReferenceDateContainingNow, _default$23 as pisellTimeNavigatorLocales, renderFigmaStyleRoundTableCard, renderFigmaStyleTableCard, renderFloorMapFallbackPlaceholder, resolveFlowModuleAdapter, resolveSceneElementDisplayTitle, sceneElementsToShopLayout, shopLayoutToSceneElements, useFloorMapLayoutContext, usePisellConfig, useRecordBoardContext, useRecordBoardShellBodyMeta, useSelectionFlowContext, useShopFloorPlanSubscription, useToast, useTypedSelectionFlowContext, version, viewConfigToLayoutPayload, wrapFloorMapOnSaveWithRemotePersist };
282
+ export { type AdaptColumnsForPhoneLayoutOptions, Affix, Alert, Anchor, AppVersionControl, AutoComplete, AutoCompleteNumber, AutoResizeText, Avatar, Badge, type BadgeConfig, Translation as BaseTranslation, type BatchActionBarPosition, type BatchActionConfirmConfig, type BatchActionItem, BatchEditor, Breadcrumb, Button, _default as ButtonGroupEdit, _default$1 as ButtonGroupPreview, Calendar, type CalendarPersistContextValue, type CalendarPersistKind, CalendarPersistProvider, Card, CardMetricItem, type PisellStatisticProps as CardMetricItemProps, _default$2 as CardPro, Carousel, type CartSkuCardA12Display, type CartSkuCardA12Presentation, type CartSkuCardA12Slots, type CartSkuCardVariant, Cascader, Checkbox, ClassicLayout, Col, Collapse, ColorPicker, type CompiledSelectionFlowModuleConfig, type CompiledSelectionFlowStep, Component, type CompoundedComponent, ConfigProvider, type CountryCode, type CreateShopFloorPlanClientOptions, CropPhoto, type CursorMode, CustomSelect, DEFAULT_CALENDAR_SLOT_STEP_MINUTES, DEFAULT_RESOURCE_WALL_FILTER_FIELD_KEY, DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST, type DataSourceContainerProps, _default$3 as DataSourceForm, DataSourceImage, DataSourceMenu, DataSourceQRCode, DataSourceSubForm, type DataSourceSubFormProps, _default$4 as DataSourceTable, DataSourceTypography, DataSourceWrapper, DatePicker, type DefaultActionsConfig, Descriptions, _default$5 as Div, Divider, DragSortTree, Drawer, Dropdown, EMPTY_FLOOR_MAP_LAYOUT_CONTEXT, Empty, type EnsureShopFloorPlanByCodeOptions, FIND_FALLBACK_SCANNER_COUNT_KEY, FLOOR_MAP_BUILTIN_SHAPES, FLOOR_MAP_BUILTIN_SHAPE_ELEMENT_KIND, FLOOR_MAP_IMAGE_ELEMENT_KIND, FLOOR_MAP_SELECTION_ZONE_ELEMENT_KIND, FLOOR_MAP_STAGE_ELEMENT_KIND, Filter, type FloorMapBindingPlaceholderReason, FloorMapBuiltinShapeElement, type FloorMapCanvasNameI18n, type FloorMapDataSourceRow, type FloorMapDataSources, type FloorMapEdge, type FloorMapEdgeAnchor, type FloorMapEdgeStatus, type FloorMapElementKindCategory, type FloorMapElementKindConfig, type FloorMapFullscreenMode, FloorMapImageElement, type FloorMapItemBase, type FloorMapLayoutContextValue, FloorMapLayoutProvider, type FloorMapLayoutProviderProps, type FloorMapMergedItem, type FloorMapRenderOptions, type FloorMapResourcePickerRecord, type FloorMapResourcePickerSlotProps, type FloorMapSceneElement, FloorMapSelectionZoneElement, type FloorMapViewConfig, type FloorMapViewportOverlayRenderArgs, type FlowModuleBeforeLeaveResult, type FlowModuleBeforeLeaveReturn, type FlowModuleDataMap, type FlowModuleHandle, type FlowModuleState, type FlowModuleStateMap, type FlowModuleStatus, type FlowModuleValidationResult, type FlowModuleValidationReturn, _default$6 as Form, FormGroup, Checkbox$1 as FormItemCheckbox, ColorPicker$1 as FormItemColorPicker, DatePicker$1 as FormItemDatePicker, IconSelect as FormItemIconSelect, Input as FormItemInput, InputNumber as FormItemInputNumber, Radio as FormItemRadio, RecordListWrapperWithDataSource as FormItemRecordListWrapper, SelectWithDataSource as FormItemSelect, Switch as FormItemSwitch, FormItemTabs, TimePicker as FormItemTimePicker, Translation$1 as FormItemTranslation, Upload as FormItemUpload, Provider as GraphicTextCard, type GraphicTextCardProps, type GraphicTextCardSize, type GraphicTextCardVariant, Grid, type GridProProps, type GridViewProps, type GroupBlocks, type GroupModel, type GroupViewVariant, PREFIX_CLS as HIERARCHICAL_SUMMARY_LIST_PREFIX_CLS, _default$7 as Icon, IconSelect$1 as IconSelect, IconFont as Iconfont, Image, type ImageDataSource, type ImageFillMode, Input$1 as Input, InputNumber$1 as InputNumber, InputNumberRange, type ItemContext, type ItemLayout, JsonWrapperProvider as JsonWrapper, _default$8 as Keyboard, type LevelType, List, type LookupInputRenderContext, LowCodePage, type MailtoOptions, Mentions, Menu, Modal, Provider$1 as MultilevelCard, type MultilevelCardProps, type MultipleSelectRef, NAME_AS_TITLE_EXT_KEY, OrganizationTenantSwitcher, Page, PageHeader, Pagination, PisellAdjustPrice, PisellAdjustPriceInputNumber, PisellAlert, PisellAnchor, PisellAppCard, type PisellAppCardProps, PisellAvatar, type PisellBasicCardProps, MemoizedPisellBasicGrid as PisellBasicGrid, type PisellBasicGridProps, PisellBatchActionBar, type PisellBatchActionBarProps, PisellCard, _default$9 as PisellCardList, type PisellCardPickerCardMeta, type PisellCardPickerCategoryConfig, type PisellCardPickerCategoryLevelConfig, type PisellCardPickerCategoryMode, type PisellCardPickerCategoryPath, type PisellCardPickerItem, type PisellCardPickerMode, PisellCards, PisellCheckboxGroup, PisellConfigProvider, PisellContainer, PisellContent, PisellContext, PisellCountdown, MemoizedPisellCurrency as PisellCurrency, type PisellCurrencyProps, PisellCustomCheckboxGroup, PisellDataSourceContainer, PisellDatePicker, _default$10 as PisellDateTimeDisplay, type PisellDateTimeDisplayProps, Demo as PisellDraggable, PisellDropSort, PisellDropdown, _default$11 as PisellEmail, type PisellEmailProps, PisellEmpty, PisellFields, PisellFilter, type PisellFilterProps, PisellFind, type PisellFindProps, type PisellFindRef, PisellFloatingPanel, PisellFloorMapLayout, type PisellFloorMapLayoutProps, type PisellFloorMapLayoutRef, PisellFooter, index as PisellGoodPassCard, PisellGridPro, GridView as PisellGridView, MemoizedPisellGroupView as PisellGroupView, type PisellGroupViewProps, PisellHeader, PisellHeaderProgressBar, PisellHierarchicalSummaryList, type PisellHierarchicalSummaryListAggregateConfig, type PisellHierarchicalSummaryListAggregateMode, type PisellHierarchicalSummaryListItem, type PisellHierarchicalSummaryListKey, type PisellHierarchicalSummaryListLevelConfig, type PisellHierarchicalSummaryListProps, Provider$2 as PisellImageCard, type PisellImageCardProps, PisellImageCarousels, PisellInformationEntry, PisellInput, PisellLayout, type PisellLayoutProps, PisellLayouts, PisellList01, PisellLoading, _default$12 as PisellLongText, type PisellLongTextProps, PisellLookup, type PisellLookupProps, type PisellLookupRef, PisellMenu, type PisellMenuProps, PisellMetricCard, type PisellMetricCardProps, PisellMetrics, PisellMobileDateRangePicker, type PisellMobileDateRangePickerProps, PisellModal, PisellMultipleSelect, type PisellMultipleSelectProps, PisellNavigationMenu, MemoizedPisellNumber as PisellNumber, Number as PisellNumberKeyboard, type PisellNumberProps, MemoizedPisellPercent as PisellPercent, type PisellPercentProps, _default$13 as PisellPhone, type PisellPhoneProps, Amount as PisellPriceKeyboard, PisellProcedure, ProcedureHeader as PisellProcedureHeader, type ProcedureHeaderProps as PisellProcedureHeaderProps, type PisellProcedureProps, type PisellProcedureRef, PisellQRScanner, type PisellQRScannerProps, PisellQrcode, pisellQuickFilter as PisellQuickFilter, type PisellQuickFilterProps, _default$14 as PisellRating, type PisellRatingProps, PisellRecordBoard, PisellRecordBoardCalendarView, type PisellRecordBoardCalendarViewProps, PisellRecordBoardResourceWallView, PisellReservationSchedule, PisellReservationScheduleBand, type PisellReservationScheduleBandProps, type PisellReservationScheduleProps, PisellRow, type PisellRowProps, PisellScan, PisellScrollView, type PisellScrollViewProps, PisellSectionHeaders, _default$15 as PisellSelectionFlow, type PisellSelectionFlowController, type PisellSelectionFlowProps, PisellShellFrame, type PisellShellFrameConfig, type PisellShellFrameProps, type PisellShellFrameScrollConfig, PisellSider, _default$16 as PisellSingleLineText, type PisellSingleLineTextProps, PisellSingleSelect, type PisellSingleSelectProps, PisellSort, type PisellSortProps, PisellStatisticList, type PisellStatisticListProps, type PisellStatisticProps, type PisellStepItem, PisellSteps, type PisellStepsProps, _default$17 as PisellSuperTabs, type PisellSuperTabsProps, PisellTabbar, PisellTabbar$1 as PisellTabbar2, type PisellTabbarProps, _default$18 as PisellTabbarTemplate1, type PisellTabbarTemplate1Direction, type PisellTabbarTemplate1Props, PisellTags, type PisellTagsProps, PisellText, PisellTimeNavigator, type PisellTimeNavigatorProps, PisellTimeRangeDisplay, type PisellTimeRangeDisplayProps, PisellToast, Toolbar as PisellToolBar, PisellTooltip, PisellUpload, _default$19 as PisellUrl, type PisellUrlProps, PisellViewGrid, PisellWalletPassCard, type PisellWalletPassCardProps, Popconfirm, Popover, type PostShopFloorPlanBody, type ProcedureBodyProps, type ProcedureFooterProps, type ProcedureHeaderProps$1 as ProcedureHeaderProps, ProductCard, ProfileMenu, Progress, PublishVersionModal, type PutShopFloorPlanBody, QRCode, RECORD_BOARD_PHONE_GRID_CLASS, Radio$1 as Radio, Rate, type RecordBoardBlockedTimeMergedRange, type RecordBoardBlockedTimePanelPayload, type RecordBoardBodyView, type RecordBoardBookingMoveDraft, type RecordBoardCalendarBlockedTimePayload, type RecordBoardCalendarBookingLike, type RecordBoardCalendarBookingRenderArgs, type RecordBoardCalendarDayOverlayBooking, type RecordBoardCalendarProps, type RecordBoardCalendarResource, type RecordBoardCalendarResourceRenderArgs, type RecordBoardCalendarSelectedFreeSlot, type RecordBoardCalendarTimelineHeaderGroup, type RecordBoardCalendarTimelineHeaderRenderContext, type RecordBoardChildComponentProps, type RecordBoardColumnFilterConfig, type RecordBoardColumnType, type RecordBoardContextValue, type RecordBoardCreateBookingDayGroup, type RecordBoardCreateBookingFromSelectionPayload, type RecordBoardFieldType, type RecordBoardFloorMapProps, type RecordBoardGetOptions, type RecordBoardGridProps, type RecordBoardLayoutType, type RecordBoardLayoutVariant, type RecordBoardOptionItem, type RecordBoardProps, type RecordBoardResourceWallCardModel, type RecordBoardResourceWallLayoutPersist, type RecordBoardResourceWallProps, type RecordBoardToolBarProps, _default$20 as RecordView, type ReservationScheduleBandValue, type ReservationScheduleValue, Result, Row, SHOP_FLOOR_PLAN_DUPLICATE_CODE, SafeAreaTop, SectionFooters, Segmented, Select, SelectTime, SelectionFlowCompileError, type SelectionFlowCompileIssue, type SelectionFlowCompileIssueCode, type SelectionFlowContextValue, type SelectionFlowDraftAdapter, type SelectionFlowDraftChange, type SelectionFlowDraftUpdateMeta, type SelectionFlowMessageCode, type SelectionFlowMetadata, type SelectionFlowModuleAdapter, type SelectionFlowModuleConfig, type SelectionFlowModuleInput, type SelectionFlowModuleRegistry, type SelectionFlowPrepareStepsOptions, type SelectionFlowPrepareStepsResult, type SelectionFlowRef, type SelectionFlowRuntimeIssue, type SelectionFlowSnapshot, type SelectionFlowStepConfig, type SelectionFlowValidationFeedback, type ShopFloorPlanByCodeRequestOptions, type ShopFloorPlanDetail, type ShopFloorPlanHttpAdapter, type ShopFloorPlanLayoutItem, type SingleSelectRef, Skeleton, SliderOuter as Slider, Sort, SortableList, Space, Spin, Statistic, Steps, SubmitButton, Switch$1 as Switch, Provider$3 as TabCard, type TabCardProps, type TabDataItem, type TabbarActionItem, type TabbarDataSource, _default$21 as Table, Tabs, Tag, Provider$4 as TextCard, type TimeNavigatorOrientation, type TimeNavigatorPassthroughProps, type TimeNavigatorValue, TimePicker$1 as TimePicker, type TimeRangeOption, Timeline, type ToolBarProps, Tooltip, Transfer, Translation$2 as Translation, Tree, TreeSelect, Typography, Upload$1 as Upload, type VenueWallAppearanceSlot, type VenueWallAppearanceTheme, type VenueWallStatusKey, type VenueWallStatusTone, type VenueWallStatusToneOverrides, VirtualInput, VirtualKeyboard, VirtualKeyboardTime, WalletCard, type WrapFloorMapOnSaveWithRemotePersistParams, adaptColumnsForPhoneLayout, buildCalendarHourSlotsFromRange, buildCalendarTimelineSlotStartsFromRange, buildFloorPlanPutBody, buildNameAsTitleExtensionsPatch, compileSelectionFlow, compileSelectionFlowSteps, computeSelectionZoneMemberIds, createShopFloorPlanClient, diffVenueWallStatusToneOverrides, findFloorMapRowByDataBinding, _default$22 as floorMapLayoutLocales, floorMapResourcePickerRecordSearchText, floorMapSavedConfigToRemotePatch, formatScheduleAtLabel, getBankCardTypeImg, getFigmaTableCardFromMerged, getFloorMapBindingPlaceholderReason, getFloorMapBuiltinShapeDef, getFloorMapCardPickerCategoryConfig, getFloorMapDisplayLocale, getFloorMapResourcePickerCardMeta, getHorizontalAxisSlotCount, getRangeBounds, getRenderItemByKindRoundTable, getRenderItemByKindTable, getVenueWallStatusToneMap, globalConfig, hasSelectionDraftFieldValue, inferCanvasSizeFromScene, initFloorMapLayoutLocales, isElementNameAsTitleEnabled, isFloorMapBuiltinShapeElementKind, isFloorMapImageElementKind, isFloorPlanDuplicateCodeError, isHttpNotFoundError, isSelectionModuleType, isSelectionZoneItem, isShopFloorPlanNotFoundResponse, loginAndRegister, mergeFloorMapLayoutPropsFromContext, mergeFloorPlanViewRemote, message, notification, parseLayoutFieldToViewConfigPatch, parseNestedPathSegments, pickFloorPlanDetail, pickReferenceDateContainingNow, _default$23 as pisellTimeNavigatorLocales, renderFigmaStyleRoundTableCard, renderFigmaStyleTableCard, renderFloorMapFallbackPlaceholder, resolveFlowModuleAdapter, resolveSceneElementDisplayTitle, sceneElementsToShopLayout, shopLayoutToSceneElements, useFloorMapLayoutContext, usePisellConfig, useRecordBoardContext, useRecordBoardShellBodyMeta, useSelectionFlowContext, useShopFloorPlanSubscription, useToast, useTypedSelectionFlowContext, version, viewConfigToLayoutPayload, wrapFloorMapOnSaveWithRemotePersist };
@@ -21,6 +21,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
21
21
  const flowGenerationRef = (0, react.useRef)(0);
22
22
  const draftRevisionRef = (0, react.useRef)(0);
23
23
  const navigationRevisionRef = (0, react.useRef)(0);
24
+ const preparationRevisionRef = (0, react.useRef)(0);
24
25
  const transitionPendingRef = (0, react.useRef)(false);
25
26
  const processDraftChangeRef = (0, react.useRef)(() => void 0);
26
27
  const onDraftChangeRef = (0, react.useRef)(onDraftChange);
@@ -84,6 +85,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
84
85
  mountedRef.current = false;
85
86
  if (flowGenerationRef.current === generation) flowGenerationRef.current += 1;
86
87
  navigationRevisionRef.current += 1;
88
+ preparationRevisionRef.current += 1;
87
89
  moduleInitializationRef.current.clear();
88
90
  moduleDependencyLifecycleRef.current.clear();
89
91
  pendingModuleChangeRef.current.clear();
@@ -299,7 +301,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
299
301
  draft,
300
302
  moduleState
301
303
  });
302
- const { validateCurrentStep, complete, next, back } = require_useFlowNavigation.useFlowNavigation({
304
+ const { validateCurrentStep, prepareSteps, complete, next, back } = require_useFlowNavigation.useFlowNavigation({
303
305
  registry,
304
306
  draftAdapter,
305
307
  createRuntimeIssue,
@@ -315,6 +317,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
315
317
  currentStepKeyRef,
316
318
  validatedCompletionRef,
317
319
  navigationRevisionRef,
320
+ preparationRevisionRef,
318
321
  transitionPendingRef,
319
322
  completedRef,
320
323
  completionPromiseRef,
@@ -349,6 +352,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
349
352
  back,
350
353
  updateDraft,
351
354
  validateCurrentStep,
355
+ prepareSteps,
352
356
  complete,
353
357
  getState
354
358
  }), [
@@ -356,6 +360,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
356
360
  complete,
357
361
  getState,
358
362
  next,
363
+ prepareSteps,
359
364
  updateDraft,
360
365
  validateCurrentStep
361
366
  ]);
@@ -379,6 +384,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
379
384
  context: contextValue,
380
385
  updateDraft,
381
386
  validateCurrentStep,
387
+ prepareSteps,
382
388
  complete,
383
389
  next,
384
390
  back,
@@ -6,7 +6,7 @@ const require_utils = require("../utils.js");
6
6
  let react = require("react");
7
7
  //#region src/components/PisellSelectionFlow/hooks/useFlowNavigation.ts
8
8
  /** 导航、校验与提交门禁独立于模块加载生命周期。 */
9
- const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mountedRef, moduleStateRef, moduleRevisionRef, draftRevisionRef, flowGenerationRef, moduleHandlesRef, configurationErrorRef, compiledStepsRef, currentStepIndexRef, currentStepKeyRef, validatedCompletionRef, navigationRevisionRef, transitionPendingRef, completedRef, completionPromiseRef, isCompletingRef, draftRef, onCompleteRef, ensureModuleReady, commitModuleState, getFreshContext, onValidationFailed, setCurrentStepIndex, setCompletionError, setCompletionReason, setIsCompleting }) => {
9
+ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mountedRef, moduleStateRef, moduleRevisionRef, draftRevisionRef, flowGenerationRef, moduleHandlesRef, configurationErrorRef, compiledStepsRef, currentStepIndexRef, currentStepKeyRef, validatedCompletionRef, navigationRevisionRef, preparationRevisionRef, transitionPendingRef, completedRef, completionPromiseRef, isCompletingRef, draftRef, onCompleteRef, ensureModuleReady, commitModuleState, getFreshContext, onValidationFailed, setCurrentStepIndex, setCompletionError, setCompletionReason, setIsCompleting }) => {
10
10
  const validateModule = (0, react.useCallback)(function() {
11
11
  var _ref = require_asyncToGenerator._asyncToGenerator(function* (module) {
12
12
  const adapter = require_compiler.resolveFlowModuleAdapter(registry, module.type);
@@ -105,6 +105,106 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
105
105
  for (const module of step.modules) if (!(yield validateModule(module))) return false;
106
106
  return true;
107
107
  }), [validateModule]);
108
+ const prepareSteps = (0, react.useCallback)(require_asyncToGenerator._asyncToGenerator(function* (options = {}) {
109
+ var _options$fromStepInde;
110
+ if (!mountedRef.current || configurationErrorRef.current) return {
111
+ prepared: false,
112
+ cancelled: !mountedRef.current
113
+ };
114
+ const preparationRevision = preparationRevisionRef.current + 1;
115
+ preparationRevisionRef.current = preparationRevision;
116
+ const navigationRevision = navigationRevisionRef.current;
117
+ const flowGeneration = flowGenerationRef.current;
118
+ const compiledFingerprint = require_utils.getCompiledStepsFingerprint(compiledStepsRef.current);
119
+ const fromStepIndex = Math.max(0, (_options$fromStepInde = options.fromStepIndex) !== null && _options$fromStepInde !== void 0 ? _options$fromStepInde : currentStepIndexRef.current + 1);
120
+ const isCurrentPreparation = () => mountedRef.current && preparationRevisionRef.current === preparationRevision && navigationRevisionRef.current === navigationRevision && flowGenerationRef.current === flowGeneration && require_utils.getCompiledStepsFingerprint(compiledStepsRef.current) === compiledFingerprint;
121
+ const targetModules = compiledStepsRef.current.filter((step) => step.index >= fromStepIndex).flatMap((step) => step.modules.map((module) => ({
122
+ step,
123
+ module
124
+ })));
125
+ for (let pass = 0; pass <= targetModules.length; pass += 1) {
126
+ for (const { step, module } of targetModules) {
127
+ if (!isCurrentPreparation()) return {
128
+ prepared: false,
129
+ cancelled: true
130
+ };
131
+ const adapter = require_compiler.resolveFlowModuleAdapter(registry, module.type);
132
+ if (!(adapter === null || adapter === void 0 ? void 0 : adapter.validateAutoResolution)) return {
133
+ prepared: false,
134
+ firstUnresolvedStepIndex: step.index,
135
+ moduleKey: module.key
136
+ };
137
+ if (!(yield ensureModuleReady(module))) {
138
+ const state = moduleStateRef.current[module.key];
139
+ return isCurrentPreparation() ? {
140
+ prepared: false,
141
+ firstUnresolvedStepIndex: step.index,
142
+ moduleKey: module.key,
143
+ message: state === null || state === void 0 ? void 0 : state.message
144
+ } : {
145
+ prepared: false,
146
+ cancelled: true
147
+ };
148
+ }
149
+ if (!isCurrentPreparation()) return {
150
+ prepared: false,
151
+ cancelled: true
152
+ };
153
+ const validationDraftRevision = draftRevisionRef.current;
154
+ try {
155
+ const context = getFreshContext();
156
+ if (!context) return {
157
+ prepared: false,
158
+ cancelled: true
159
+ };
160
+ const result = require_utils.normalizeFlowValidationResult(yield adapter.validateAutoResolution(context, module));
161
+ if (!isCurrentPreparation() || draftRevisionRef.current !== validationDraftRevision) return {
162
+ prepared: false,
163
+ cancelled: true
164
+ };
165
+ if (!result.valid) return {
166
+ prepared: false,
167
+ firstUnresolvedStepIndex: step.index,
168
+ moduleKey: module.key,
169
+ message: result.message
170
+ };
171
+ } catch (error) {
172
+ return isCurrentPreparation() ? {
173
+ prepared: false,
174
+ firstUnresolvedStepIndex: step.index,
175
+ moduleKey: module.key,
176
+ message: require_utils.getSelectionFlowErrorMessage(error)
177
+ } : {
178
+ prepared: false,
179
+ cancelled: true
180
+ };
181
+ }
182
+ }
183
+ if (!targetModules.find(({ module }) => {
184
+ var _moduleStateRef$curre;
185
+ return ((_moduleStateRef$curre = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre === void 0 ? void 0 : _moduleStateRef$curre.status) !== "ready";
186
+ })) return isCurrentPreparation() ? { prepared: true } : {
187
+ prepared: false,
188
+ cancelled: true
189
+ };
190
+ }
191
+ const unresolved = targetModules.find(({ module }) => {
192
+ var _moduleStateRef$curre2;
193
+ return ((_moduleStateRef$curre2 = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre2 === void 0 ? void 0 : _moduleStateRef$curre2.status) !== "ready";
194
+ });
195
+ return unresolved ? {
196
+ prepared: false,
197
+ firstUnresolvedStepIndex: unresolved.step.index,
198
+ moduleKey: unresolved.module.key
199
+ } : {
200
+ prepared: false,
201
+ cancelled: true
202
+ };
203
+ }), [
204
+ ensureModuleReady,
205
+ getFreshContext,
206
+ registry
207
+ ]);
108
208
  const runBeforeLeaveForCurrentStep = (0, react.useCallback)(require_asyncToGenerator._asyncToGenerator(function* () {
109
209
  if (configurationErrorRef.current) return false;
110
210
  const stepIndex = currentStepIndexRef.current;
@@ -189,8 +289,8 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
189
289
  const latestRevisionFingerprint = latestSteps.flatMap((step) => step.modules).map((module) => `${module.key}:${moduleRevisionRef.current.get(module.key) || 0}`).join("|");
190
290
  if (compiledFingerprint !== latestCompiledFingerprint || revisionFingerprint !== latestRevisionFingerprint || draftRevision !== draftRevisionRef.current) {
191
291
  const targetStep = latestSteps.find((step) => step.modules.some((module) => {
192
- var _moduleStateRef$curre;
193
- return ((_moduleStateRef$curre = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre === void 0 ? void 0 : _moduleStateRef$curre.status) !== "ready";
292
+ var _moduleStateRef$curre3;
293
+ return ((_moduleStateRef$curre3 = moduleStateRef.current[module.key]) === null || _moduleStateRef$curre3 === void 0 ? void 0 : _moduleStateRef$curre3.status) !== "ready";
194
294
  })) || latestSteps[0];
195
295
  const targetModule = targetStep === null || targetStep === void 0 ? void 0 : targetStep.modules[0];
196
296
  if (targetStep && targetModule) {
@@ -275,6 +375,7 @@ const useFlowNavigation = ({ registry, draftAdapter, createRuntimeIssue, mounted
275
375
  ]);
276
376
  return {
277
377
  validateCurrentStep,
378
+ prepareSteps,
278
379
  runBeforeLeaveForCurrentStep,
279
380
  complete,
280
381
  next: (0, react.useCallback)(require_asyncToGenerator._asyncToGenerator(function* () {
@@ -1,4 +1,4 @@
1
- import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./types.js";
1
+ import { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowPrepareStepsOptions, SelectionFlowPrepareStepsResult, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback } from "./types.js";
2
2
  import { _default } from "./PisellSelectionFlow.js";
3
3
  import { useSelectionFlowContext, useTypedSelectionFlowContext } from "./context.js";
4
4
  import { compileSelectionFlow, compileSelectionFlowSteps, hasSelectionDraftFieldValue, isSelectionModuleType, resolveFlowModuleAdapter } from "./compiler.js";
@@ -57,6 +57,18 @@ type FlowModuleValidationResult = boolean | {
57
57
  message?: string;
58
58
  };
59
59
  type FlowModuleValidationReturn = FlowModuleValidationResult | Promise<FlowModuleValidationResult>;
60
+ interface SelectionFlowPrepareStepsOptions {
61
+ /** 从哪个已编译步骤开始准备;默认从当前步骤的下一步开始。 */
62
+ fromStepIndex?: number;
63
+ }
64
+ interface SelectionFlowPrepareStepsResult {
65
+ prepared: boolean;
66
+ /** 新一轮准备、导航、重新编译或卸载使本轮结果失效。 */
67
+ cancelled?: boolean;
68
+ firstUnresolvedStepIndex?: number;
69
+ moduleKey?: string;
70
+ message?: string;
71
+ }
60
72
  type FlowModuleBeforeLeaveResult = boolean | {
61
73
  allowed: boolean;
62
74
  message?: string;
@@ -98,6 +110,11 @@ interface SelectionFlowModuleAdapter<TDraft, TDraftUpdate, TField extends string
98
110
  reconcile?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, change: SelectionFlowDraftChange<TDraft, TField, TModuleType>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => void | Promise<void>;
99
111
  clearDependencies?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, change: SelectionFlowDraftChange<TDraft, TField, TModuleType>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => void | Promise<void>;
100
112
  validate?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, handle: FlowModuleHandle | null, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleValidationReturn;
113
+ /**
114
+ * 模块完成 refresh 后,判断当前值能否在无界面的情况下安全采用。
115
+ * 不提供即表示该模块必须由用户进入步骤确认。
116
+ */
117
+ validateAutoResolution?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleValidationReturn;
101
118
  beforeLeave?: (context: SelectionFlowContextValue<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>, handle: FlowModuleHandle | null, module: CompiledSelectionFlowModuleConfig<TModuleType>) => FlowModuleBeforeLeaveReturn;
102
119
  }
103
120
  type SelectionFlowModuleRegistry<TDraft, TDraftUpdate, TField extends string, TModuleType extends string, TServices = unknown, THostContext = unknown> = Record<TModuleType, SelectionFlowModuleAdapter<TDraft, TDraftUpdate, TField, TModuleType, TServices, THostContext>>;
@@ -117,6 +134,7 @@ interface SelectionFlowRef<TDraft, TDraftUpdate, TField extends string = string,
117
134
  back: () => boolean;
118
135
  updateDraft: (update: TDraftUpdate, meta: SelectionFlowDraftUpdateMeta<TField, TModuleType>) => void;
119
136
  validateCurrentStep: () => Promise<boolean>;
137
+ prepareSteps: (options?: SelectionFlowPrepareStepsOptions) => Promise<SelectionFlowPrepareStepsResult>;
120
138
  complete: () => Promise<boolean>;
121
139
  getState: () => SelectionFlowSnapshot<TDraft, TModuleType>;
122
140
  }
@@ -139,6 +157,7 @@ interface PisellSelectionFlowController<TDraft, TDraftUpdate, TField extends str
139
157
  completionReason?: SelectionFlowRuntimeIssue;
140
158
  updateDraft: (update: TDraftUpdate, meta: SelectionFlowDraftUpdateMeta<TField, TModuleType>) => void;
141
159
  validateCurrentStep: () => Promise<boolean>;
160
+ prepareSteps: (options?: SelectionFlowPrepareStepsOptions) => Promise<SelectionFlowPrepareStepsResult>;
142
161
  complete: () => Promise<boolean>;
143
162
  next: () => Promise<boolean>;
144
163
  back: () => boolean;
@@ -176,4 +195,4 @@ declare class SelectionFlowCompileError extends Error {
176
195
  constructor(issues: readonly SelectionFlowCompileIssue[]);
177
196
  }
178
197
  //#endregion
179
- export { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback };
198
+ export { CompiledSelectionFlowModuleConfig, CompiledSelectionFlowStep, FlowModuleBeforeLeaveResult, FlowModuleBeforeLeaveReturn, FlowModuleDataMap, FlowModuleHandle, FlowModuleState, FlowModuleStateMap, FlowModuleStatus, FlowModuleValidationResult, FlowModuleValidationReturn, PisellSelectionFlowController, PisellSelectionFlowProps, SelectionFlowCompileError, SelectionFlowCompileIssue, SelectionFlowCompileIssueCode, SelectionFlowContextValue, SelectionFlowDraftAdapter, SelectionFlowDraftChange, SelectionFlowDraftUpdateMeta, SelectionFlowMessageCode, SelectionFlowMetadata, SelectionFlowModuleAdapter, SelectionFlowModuleConfig, SelectionFlowModuleInput, SelectionFlowModuleRegistry, SelectionFlowPrepareStepsOptions, SelectionFlowPrepareStepsResult, SelectionFlowRef, SelectionFlowRuntimeIssue, SelectionFlowSnapshot, SelectionFlowStepConfig, SelectionFlowValidationFeedback };
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  &__footer-price-wrap--weighing {
26
- font-size: var(--pisell-cart-sku-card-weighing-summary-font-size, 18px);
26
+ font-size: var(--pisell-cart-sku-card-physical-text-height, 18px);
27
27
  line-height: 1.3;
28
28
  letter-spacing: -0.02em;
29
29
  }
@@ -50,7 +50,6 @@
50
50
  );
51
51
  // 称重卡片的辅助信息保持易读,但不与毛重/净重争夺视觉层级。
52
52
  --pisell-cart-sku-card-weighing-meta-font-size: 18px;
53
- --pisell-cart-sku-card-weighing-summary-font-size: 18px;
54
53
 
55
54
  padding: 4px 8px 4px 4px;
56
55
  border-radius: inherit;