@pisell/materials 1.10.22 → 1.10.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +1 -1
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +48 -48
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +48 -48
  9. package/es/components/PisellSelectionFlow/PisellSelectionFlow.js +2 -3
  10. package/es/components/page/dateLocale.js +33 -0
  11. package/es/components/page/index.d.ts +1 -0
  12. package/es/components/page/index.js +30 -4
  13. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +2 -1
  14. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +22 -5
  15. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +26 -3
  16. package/es/components/pisellWalletPassCard/index.d.ts +2 -0
  17. package/es/components/pisellWalletPassCard/index.js +2 -2
  18. package/es/components/productCard/cartSkuCard/index.js +33 -3
  19. package/es/components/productCard/cartSkuCard/index.less +18 -0
  20. package/es/components/productCard/cartSkuCard/types.d.ts +56 -0
  21. package/es/components/productCard/cartSkuCard/variants/A12/index.js +126 -0
  22. package/es/components/productCard/cartSkuCard/variants/A12/index.less +279 -0
  23. package/es/components/productCard/lineItem/index.js +42 -11
  24. package/es/components/productCard/types.d.ts +4 -1
  25. package/es/index.d.ts +2 -1
  26. package/lib/components/PisellSelectionFlow/PisellSelectionFlow.js +2 -3
  27. package/lib/components/page/dateLocale.js +35 -0
  28. package/lib/components/page/index.d.ts +1 -0
  29. package/lib/components/page/index.js +33 -4
  30. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +2 -1
  31. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +22 -5
  32. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +26 -3
  33. package/lib/components/pisellWalletPassCard/index.d.ts +2 -0
  34. package/lib/components/pisellWalletPassCard/index.js +2 -2
  35. package/lib/components/productCard/cartSkuCard/index.js +33 -3
  36. package/lib/components/productCard/cartSkuCard/index.less +18 -0
  37. package/lib/components/productCard/cartSkuCard/types.d.ts +56 -0
  38. package/lib/components/productCard/cartSkuCard/variants/A12/index.js +129 -0
  39. package/lib/components/productCard/cartSkuCard/variants/A12/index.less +279 -0
  40. package/lib/components/productCard/lineItem/index.js +42 -11
  41. package/lib/components/productCard/types.d.ts +4 -1
  42. package/lib/index.d.ts +2 -1
  43. package/package.json +1 -1
@@ -0,0 +1,279 @@
1
+ .pisell-cart-sku-card-a12 {
2
+ --pc-a12-bg: #fff;
3
+ --pc-a12-border-color: #e4e7ec;
4
+ --pc-a12-radius: 18px;
5
+ --pc-a12-min-height: 164px;
6
+ --pc-a12-media-width: 228px;
7
+ --pc-a12-rail-width: 190px;
8
+ --pc-a12-content-padding: 20px 22px;
9
+ --pc-a12-rail-padding: 18px 20px;
10
+ --pc-a12-accent: #b20d12;
11
+ --pc-a12-title-color: #101828;
12
+ --pc-a12-title-size: 32px;
13
+ --pc-a12-title-weight: 800;
14
+ --pc-a12-price-color: var(--pc-a12-accent);
15
+ --pc-a12-price-size: 30px;
16
+ --pc-a12-option-bg: #f5f6f8;
17
+ --pc-a12-option-label-color: #667085;
18
+ --pc-a12-option-value-color: #101828;
19
+ --pc-a12-option-gap: 6px;
20
+ --pc-a12-shadow: 0 12px 28px rgba(16, 24, 40, 0.08);
21
+
22
+ display: grid;
23
+ grid-template-columns:
24
+ var(--pc-a12-media-width)
25
+ minmax(0, 1fr)
26
+ var(--pc-a12-rail-width);
27
+ min-height: var(--pc-a12-min-height);
28
+ overflow: hidden;
29
+ border: 1px solid var(--pc-a12-border-color);
30
+ border-radius: var(--pc-a12-radius);
31
+ background: var(--pc-a12-bg);
32
+ box-shadow: var(--pc-a12-shadow);
33
+ hyphens: none;
34
+ overflow-wrap: normal;
35
+ word-break: normal;
36
+
37
+ &--without-media {
38
+ grid-template-columns: minmax(0, 1fr) var(--pc-a12-rail-width);
39
+ }
40
+
41
+ &__media {
42
+ position: relative;
43
+ display: grid;
44
+ min-height: var(--pc-a12-min-height);
45
+ place-items: center;
46
+ overflow: hidden;
47
+ background: #f2f4f7;
48
+ color: var(--pc-a12-accent);
49
+ font-size: 32px;
50
+ font-weight: 800;
51
+
52
+ img {
53
+ position: absolute;
54
+ inset: 0;
55
+ display: block;
56
+ width: 100%;
57
+ height: 100%;
58
+ min-height: 0;
59
+ }
60
+ }
61
+
62
+ &__content {
63
+ display: flex;
64
+ min-width: 0;
65
+ flex-direction: column;
66
+ justify-content: flex-start;
67
+ padding: var(--pc-a12-content-padding);
68
+ }
69
+
70
+ &__content-footer {
71
+ display: flex;
72
+ flex-direction: column;
73
+ gap: 8px;
74
+ margin-top: auto;
75
+ padding-top: 12px;
76
+
77
+ .ant-divider {
78
+ margin: 0 !important;
79
+ }
80
+ }
81
+
82
+ &--align-center &__content {
83
+ justify-content: center;
84
+ }
85
+
86
+ &__eyebrow {
87
+ overflow: hidden;
88
+ margin-bottom: 4px;
89
+ color: var(--pc-a12-accent);
90
+ font-size: 14px;
91
+ font-weight: 800;
92
+ line-height: 20px;
93
+ text-overflow: ellipsis;
94
+ text-transform: uppercase;
95
+ white-space: nowrap;
96
+ }
97
+
98
+ &__name {
99
+ min-width: 0;
100
+ overflow: hidden;
101
+ color: var(--pc-a12-title-color);
102
+ font-size: var(--pc-a12-title-size);
103
+ font-weight: var(--pc-a12-title-weight);
104
+ line-height: 1.15;
105
+ text-overflow: ellipsis;
106
+ white-space: nowrap;
107
+ }
108
+
109
+ &__weighing {
110
+ min-width: 0;
111
+ margin-top: 8px;
112
+ }
113
+
114
+ &__specifications {
115
+ display: grid;
116
+ grid-template-columns: repeat(
117
+ var(--pc-a12-option-columns, 2),
118
+ minmax(0, 1fr)
119
+ );
120
+ gap: var(--pc-a12-option-gap);
121
+ margin-top: 10px;
122
+ }
123
+
124
+ &__specification,
125
+ &__specification-summary {
126
+ min-width: 0;
127
+ padding: 7px 9px;
128
+ border-radius: 7px;
129
+ background: var(--pc-a12-option-bg);
130
+ }
131
+
132
+ &__specification {
133
+ display: flex;
134
+ flex-direction: column;
135
+ gap: 2px;
136
+ }
137
+
138
+ &__specification-label {
139
+ overflow: hidden;
140
+ color: var(--pc-a12-option-label-color);
141
+ font-size: 11px;
142
+ font-weight: 700;
143
+ line-height: 16px;
144
+ text-overflow: ellipsis;
145
+ white-space: nowrap;
146
+ }
147
+
148
+ &__specification-value,
149
+ &__specification-summary {
150
+ overflow: hidden;
151
+ color: var(--pc-a12-option-value-color);
152
+ font-size: 16px;
153
+ font-weight: 700;
154
+ line-height: 20px;
155
+ text-overflow: ellipsis;
156
+ white-space: nowrap;
157
+ }
158
+
159
+ &__rail {
160
+ position: relative;
161
+ display: flex;
162
+ min-width: 0;
163
+ flex-direction: column;
164
+ align-items: center;
165
+ justify-content: center;
166
+ padding: var(--pc-a12-rail-padding);
167
+ border-left: 1px solid var(--pc-a12-border-color);
168
+ }
169
+
170
+ &__delete {
171
+ position: absolute;
172
+ top: 6px;
173
+ right: 6px;
174
+ display: grid;
175
+ width: 42px;
176
+ height: 42px;
177
+ padding: 0;
178
+ place-items: center;
179
+ border: 0;
180
+ border-radius: 50%;
181
+ background: transparent;
182
+ color: var(--pc-a12-accent);
183
+ font-size: 26px;
184
+ cursor: pointer;
185
+
186
+ .anticon,
187
+ svg {
188
+ width: 30px;
189
+ height: 30px;
190
+ font-size: 30px;
191
+ }
192
+
193
+ &:active {
194
+ background: #fef3f2;
195
+ }
196
+
197
+ &:disabled {
198
+ cursor: not-allowed;
199
+ opacity: 0.5;
200
+ }
201
+ }
202
+
203
+ &__price {
204
+ display: flex;
205
+ flex-direction: column;
206
+ align-items: center;
207
+ color: var(--pc-a12-price-color);
208
+
209
+ strong {
210
+ font-size: var(--pc-a12-price-size);
211
+ font-weight: 800;
212
+ line-height: 1.15;
213
+ white-space: nowrap;
214
+ }
215
+
216
+ del {
217
+ color: #667085;
218
+ font-size: 13px;
219
+ }
220
+ }
221
+
222
+ &__edit {
223
+ min-width: 62px;
224
+ min-height: 38px;
225
+ margin-top: 10px;
226
+ padding: 7px 14px;
227
+ border: 1px solid #f5b7ba;
228
+ border-radius: 999px;
229
+ background: #fff;
230
+ color: var(--pc-a12-accent);
231
+ font: inherit;
232
+ font-size: 14px;
233
+ font-weight: 700;
234
+ white-space: nowrap;
235
+ cursor: pointer;
236
+
237
+ &:disabled {
238
+ cursor: not-allowed;
239
+ opacity: 0.5;
240
+ }
241
+ }
242
+
243
+ &__quantity-control {
244
+ display: flex;
245
+ width: 100%;
246
+ min-height: 44px;
247
+ align-items: center;
248
+ justify-content: center;
249
+ margin-top: 10px;
250
+ padding-top: 10px;
251
+ }
252
+
253
+ &__quantity-fallback {
254
+ display: flex;
255
+ align-items: center;
256
+ justify-content: center;
257
+ gap: 16px;
258
+ font-weight: 700;
259
+ }
260
+
261
+ &--compact {
262
+ --pc-a12-min-height: 132px;
263
+ --pc-a12-media-width: 124px;
264
+ --pc-a12-rail-width: 156px;
265
+ --pc-a12-content-padding: 15px 18px;
266
+ --pc-a12-rail-padding: 14px 16px;
267
+ --pc-a12-price-size: 25px;
268
+ }
269
+ }
270
+
271
+ @container (max-width: 620px) {
272
+ .pisell-cart-sku-card-a12 {
273
+ --pc-a12-media-width: 112px;
274
+ --pc-a12-rail-width: 150px;
275
+ --pc-a12-content-padding: 14px;
276
+ --pc-a12-price-size: 24px;
277
+ --pc-a12-option-columns: 1;
278
+ }
279
+ }
@@ -34,6 +34,7 @@ const _excluded = [
34
34
  "holderOptions",
35
35
  "onBookingStatusChange",
36
36
  "onAddTimeProductCard",
37
+ "a12UnsupportedFallback",
37
38
  "onAction",
38
39
  "onDelete",
39
40
  "onNote",
@@ -47,6 +48,7 @@ const isBookingItem = (dataSource) => {
47
48
  var _dataSource$_extend;
48
49
  return Boolean((dataSource === null || dataSource === void 0 || (_dataSource$_extend = dataSource._extend) === null || _dataSource$_extend === void 0 ? void 0 : _dataSource$_extend.product) || (dataSource === null || dataSource === void 0 ? void 0 : dataSource.booking_id) || (dataSource === null || dataSource === void 0 ? void 0 : dataSource.appointment_status) || (dataSource === null || dataSource === void 0 ? void 0 : dataSource.start_date));
49
50
  };
51
+ const resolveLineItemType = ({ requestedType, itemKind, hasBundle, fallback = "a9" }) => requestedType === "a12" && (itemKind === "booking" || hasBundle) ? fallback : requestedType;
50
52
  const translateText = (text, translationOriginal) => {
51
53
  if (typeof text === "string") return text;
52
54
  if (!text) return "";
@@ -126,14 +128,36 @@ const mapLineItemOptions = (options, translationOriginal) => options.map((option
126
128
  num: (_ref2 = (_option$num2 = option.num) !== null && _option$num2 !== void 0 ? _option$num2 : option.quantity) !== null && _ref2 !== void 0 ? _ref2 : 1
127
129
  });
128
130
  });
131
+ const getFirstDisplayText = (candidates, translationOriginal) => {
132
+ for (const candidate of candidates) {
133
+ const translated = translateText(candidate, translationOriginal).trim();
134
+ if (translated) return translated;
135
+ }
136
+ return "";
137
+ };
138
+ const resolveA12Eyebrow = (product, translationOriginal) => {
139
+ var _product$a, _product$metadata2, _product$metadata3, _categories$find, _categories$;
140
+ const categories = Array.isArray(product === null || product === void 0 ? void 0 : product.categories) ? product.categories : Array.isArray(product === null || product === void 0 ? void 0 : product.product_categories) ? product.product_categories : [];
141
+ return getFirstDisplayText([
142
+ product === null || product === void 0 || (_product$a = product.a12) === null || _product$a === void 0 ? void 0 : _product$a.eyebrow,
143
+ product === null || product === void 0 ? void 0 : product.category_name,
144
+ product === null || product === void 0 ? void 0 : product.product_category_name,
145
+ product === null || product === void 0 ? void 0 : product.product_type_name,
146
+ product === null || product === void 0 || (_product$metadata2 = product.metadata) === null || _product$metadata2 === void 0 ? void 0 : _product$metadata2.category_name,
147
+ product === null || product === void 0 || (_product$metadata3 = product.metadata) === null || _product$metadata3 === void 0 ? void 0 : _product$metadata3.product_category_name,
148
+ (_categories$find = categories.find((category) => category === null || category === void 0 ? void 0 : category.direct)) === null || _categories$find === void 0 ? void 0 : _categories$find.name,
149
+ (_categories$ = categories[0]) === null || _categories$ === void 0 ? void 0 : _categories$.name
150
+ ], translationOriginal);
151
+ };
129
152
  const convertProductToLineItemProduct = (product, translationOriginal, symbol, amountFormatter) => {
130
- var _product$metadata2, _ref3, _product$num, _ref4, _product$num2, _product$metadata3, _product$metadata4, _product$discount_lis, _product$discount_lis2, _product$metadata5, _product$metadata6, _ref5, _product$num3;
153
+ var _product$metadata4, _ref3, _product$num, _ref4, _product$num2, _product$metadata5, _product$metadata6, _product$product_opti, _product$product_sku2, _product$discount_lis, _product$discount_lis2, _product$metadata7, _product$metadata8, _ref5, _product$num3;
131
154
  const title = translateText(product.product_title || product.title, translationOriginal);
132
155
  const bundle = (product.product_bundle || []).map((bundleItem) => convertBundle(bundleItem, translationOriginal, amountFormatter));
133
156
  const lineOriginTotal = resolveLineOriginTotal(product);
134
157
  const lineOptions = mapLineItemOptions(resolveLineItemOptions(product), translationOriginal);
158
+ const a12Eyebrow = resolveA12Eyebrow(product, translationOriginal);
135
159
  return {
136
- _id: ((_product$metadata2 = product.metadata) === null || _product$metadata2 === void 0 ? void 0 : _product$metadata2.unique_identification_number) || product.order_detail_id || product.product_id,
160
+ _id: ((_product$metadata4 = product.metadata) === null || _product$metadata4 === void 0 ? void 0 : _product$metadata4.unique_identification_number) || product.order_detail_id || product.product_id,
137
161
  id: product.product_id,
138
162
  product_id: product.product_id,
139
163
  product_variant_id: product.product_variant_id,
@@ -144,11 +168,11 @@ const convertProductToLineItemProduct = (product, translationOriginal, symbol, a
144
168
  image: product.cover,
145
169
  num: (_ref3 = (_product$num = product.num) !== null && _product$num !== void 0 ? _product$num : product.product_quantity) !== null && _ref3 !== void 0 ? _ref3 : 1,
146
170
  quantity: (_ref4 = (_product$num2 = product.num) !== null && _product$num2 !== void 0 ? _product$num2 : product.product_quantity) !== null && _ref4 !== void 0 ? _ref4 : 1,
147
- price: (_product$metadata3 = product.metadata) === null || _product$metadata3 === void 0 ? void 0 : _product$metadata3.source_product_price,
171
+ price: (_product$metadata5 = product.metadata) === null || _product$metadata5 === void 0 ? void 0 : _product$metadata5.source_product_price,
148
172
  total: product.selling_price,
149
173
  origin_total: lineOriginTotal,
150
174
  original_total: lineOriginTotal,
151
- source_product_price: (_product$metadata4 = product.metadata) === null || _product$metadata4 === void 0 ? void 0 : _product$metadata4.source_product_price,
175
+ source_product_price: (_product$metadata6 = product.metadata) === null || _product$metadata6 === void 0 ? void 0 : _product$metadata6.source_product_price,
152
176
  selling_price: product.selling_price,
153
177
  payment_price: product.payment_price,
154
178
  tax_fee: product.tax_fee,
@@ -158,12 +182,13 @@ const convertProductToLineItemProduct = (product, translationOriginal, symbol, a
158
182
  product_sku: product.product_sku,
159
183
  product_bundle: bundle,
160
184
  bundle,
161
- product_option_string: product.product_option_string,
185
+ product_option_string: (_product$product_opti = product.product_option_string) !== null && _product$product_opti !== void 0 ? _product$product_opti : (_product$product_sku2 = product.product_sku) === null || _product$product_sku2 === void 0 ? void 0 : _product$product_sku2.product_option_string,
162
186
  options: lineOptions,
187
+ a12: _objectSpread2(_objectSpread2({}, product.a12 || {}), a12Eyebrow ? { eyebrow: a12Eyebrow } : {}),
163
188
  discount_list: product.discount_list,
164
189
  promotions: product.promotions,
165
- discount_reason: (_product$discount_lis = (_product$discount_lis2 = product.discount_list) === null || _product$discount_lis2 === void 0 || (_product$discount_lis2 = _product$discount_lis2.find((d) => (d === null || d === void 0 ? void 0 : d.type) === "product")) === null || _product$discount_lis2 === void 0 || (_product$discount_lis2 = _product$discount_lis2.discount) === null || _product$discount_lis2 === void 0 ? void 0 : _product$discount_lis2.message) !== null && _product$discount_lis !== void 0 ? _product$discount_lis : (_product$metadata5 = product.metadata) === null || _product$metadata5 === void 0 ? void 0 : _product$metadata5.product_discount_reason,
166
- isGift: Boolean(product.gift_card || product.isGift || product._isGiftPromotion || ((_product$metadata6 = product.metadata) === null || _product$metadata6 === void 0 ? void 0 : _product$metadata6._giftInfo) || product._giftInfo),
190
+ discount_reason: (_product$discount_lis = (_product$discount_lis2 = product.discount_list) === null || _product$discount_lis2 === void 0 || (_product$discount_lis2 = _product$discount_lis2.find((d) => (d === null || d === void 0 ? void 0 : d.type) === "product")) === null || _product$discount_lis2 === void 0 || (_product$discount_lis2 = _product$discount_lis2.discount) === null || _product$discount_lis2 === void 0 ? void 0 : _product$discount_lis2.message) !== null && _product$discount_lis !== void 0 ? _product$discount_lis : (_product$metadata7 = product.metadata) === null || _product$metadata7 === void 0 ? void 0 : _product$metadata7.product_discount_reason,
191
+ isGift: Boolean(product.gift_card || product.isGift || product._isGiftPromotion || ((_product$metadata8 = product.metadata) === null || _product$metadata8 === void 0 ? void 0 : _product$metadata8._giftInfo) || product._giftInfo),
167
192
  giftData: product.giftData,
168
193
  _origin: product,
169
194
  _extend: {
@@ -183,7 +208,7 @@ const convertProductToLineItemProduct = (product, translationOriginal, symbol, a
183
208
  };
184
209
  const LineItem = (props) => {
185
210
  var _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _dataSource$_extend2, _dataSource$_extend4;
186
- const { dataSource = defaultValue.dataSource, itemType, type = "a9", isShowBookingHeader, rightActions = [], rightActionsDisplay = "swipe", escapeDom, isShowImage = defaultValue.isShowImage, isShowDelete = defaultValue.isShowDelete, isShowInlineDelete = isShowDelete, isShowNote = defaultValue.isShowNote, isShowAmountFooter = defaultValue.isShowAmountFooter, disabledClick = defaultValue.disabledClick, disabledEdit = defaultValue.disabledEdit, disabledNoteEdit = disabledEdit, statusOptions = [], statusLoading = false, statusDisabled = false, isShowRelatedProduct = true, holderOptions, onBookingStatusChange, onAddTimeProductCard, onAction, onDelete, onNote, onCard, onPromotion, onGift, symbol: amountSymbol, amountFormatter } = props, other = _objectWithoutProperties(props, _excluded);
211
+ const { dataSource = defaultValue.dataSource, itemType, type = "a9", isShowBookingHeader, rightActions = [], rightActionsDisplay = "swipe", escapeDom, isShowImage = defaultValue.isShowImage, isShowDelete = defaultValue.isShowDelete, isShowInlineDelete = isShowDelete, isShowNote = defaultValue.isShowNote, isShowAmountFooter = defaultValue.isShowAmountFooter, disabledClick = defaultValue.disabledClick, disabledEdit = defaultValue.disabledEdit, disabledNoteEdit = disabledEdit, statusOptions = [], statusLoading = false, statusDisabled = false, isShowRelatedProduct = true, holderOptions, onBookingStatusChange, onAddTimeProductCard, a12UnsupportedFallback = "a9", onAction, onDelete, onNote, onCard, onPromotion, onGift, symbol: amountSymbol, amountFormatter } = props, other = _objectWithoutProperties(props, _excluded);
187
212
  const itemKind = itemType || (isBookingItem(dataSource) ? "booking" : "product");
188
213
  const context = useEngineContext();
189
214
  const translationOriginal = useTranslationOriginal();
@@ -217,9 +242,15 @@ const LineItem = (props) => {
217
242
  symbol,
218
243
  translationOriginal
219
244
  ]);
245
+ const resolvedType = resolveLineItemType({
246
+ requestedType: type,
247
+ itemKind,
248
+ hasBundle: Boolean(Array.isArray(dataSource === null || dataSource === void 0 ? void 0 : dataSource.product_bundle) && dataSource.product_bundle.length || Array.isArray(dataSource === null || dataSource === void 0 ? void 0 : dataSource.bundle) && dataSource.bundle.length),
249
+ fallback: a12UnsupportedFallback
250
+ });
220
251
  if (itemKind === "product") return /* @__PURE__ */ React.createElement(CartSkuCard, _objectSpread2(_objectSpread2({}, other), {}, {
221
252
  dataSource: productDataSource,
222
- type,
253
+ type: resolvedType,
223
254
  rightActions,
224
255
  rightActionsDisplay,
225
256
  escapeDom,
@@ -240,8 +271,8 @@ const LineItem = (props) => {
240
271
  }));
241
272
  return /* @__PURE__ */ React.createElement(BookingLineItem, _objectSpread2(_objectSpread2({}, other), {}, {
242
273
  dataSource,
243
- type,
244
- cartSkuType: type,
274
+ type: resolvedType,
275
+ cartSkuType: resolvedType,
245
276
  isShowBookingHeader,
246
277
  relatedProductDataSource,
247
278
  addTimeProductDataSources,
@@ -1,3 +1,5 @@
1
+ import { CartSkuCardA12Display } from "./cartSkuCard/types.js";
2
+
1
3
  //#region src/components/productCard/types.d.ts
2
4
  type bundleType = {
3
5
  id: number;
@@ -59,7 +61,8 @@ type productType = {
59
61
  is_show_week?: boolean;
60
62
  promotions?: any[];
61
63
  isGift?: boolean;
62
- giftData?: any;
64
+ giftData?: any; /** A12 横向购物车卡片的归一化展示数据。 */
65
+ a12?: CartSkuCardA12Display;
63
66
  };
64
67
  /**
65
68
  * 排序总配置
package/es/index.d.ts CHANGED
@@ -257,6 +257,7 @@ import { PisellQRScanner, PisellQRScannerProps } from "./components/pisellQRScan
257
257
  import { PisellQrcode } from "./components/pisellQrcode/index.js";
258
258
  import { PisellScan } from "./components/pisellScan/index.js";
259
259
  import { PisellSectionHeaders } from "./components/pisellSectionHeaders/index.js";
260
+ import { CartSkuCardA12Display, CartSkuCardA12Presentation, CartSkuCardA12Slots, CartSkuCardVariant } from "./components/productCard/cartSkuCard/types.js";
260
261
  import { ProductCard } from "./components/productCard/index.js";
261
262
  import { QRCode } from "./components/qrcode/index.js";
262
263
  import { Radio as Radio$1 } from "./components/radio/index.js";
@@ -278,4 +279,4 @@ import { Number } from "./components/virtual-keyboard/Number/index.js";
278
279
  import { VirtualInput } from "./components/virtualInput/index.js";
279
280
  import { WalletCard } from "./components/walletCard/index.js";
280
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";
281
- 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, 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 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, 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 };
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 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, 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 };
@@ -18,7 +18,7 @@ const createUnexpectedCompileError = (error) => {
18
18
  };
19
19
  const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialStepIndex = 0, hostContext, services, children, onDraftChange, onStepChange, onCompiledStepsChange, onValidationFailed, onConfigurationError, onComplete }, ref) => {
20
20
  const mountedRef = (0, react.useRef)(true);
21
- const flowGenerationRef = (0, react.useRef)(0);
21
+ const flowGenerationRef = (0, react.useRef)(1);
22
22
  const draftRevisionRef = (0, react.useRef)(0);
23
23
  const navigationRevisionRef = (0, react.useRef)(0);
24
24
  const preparationRevisionRef = (0, react.useRef)(0);
@@ -71,8 +71,7 @@ const SelectionFlow = ({ registry, draftAdapter, steps, initialDraft, initialSte
71
71
  params
72
72
  }), []);
73
73
  (0, react.useEffect)(() => {
74
- const generation = flowGenerationRef.current + 1;
75
- flowGenerationRef.current = generation;
74
+ const generation = flowGenerationRef.current;
76
75
  mountedRef.current = true;
77
76
  if (generation > 1) {
78
77
  const nextModuleState = Object.fromEntries(Object.keys(moduleStateRef.current).map((moduleKey) => [moduleKey, { status: "idle" }]));
@@ -0,0 +1,35 @@
1
+ //#region src/components/page/dateLocale.ts
2
+ const COUNTRY_WEEK_STARTS_ON = {
3
+ US: 0,
4
+ CA: 0,
5
+ AU: 1,
6
+ NZ: 1,
7
+ SG: 0,
8
+ HK: 0,
9
+ TW: 0,
10
+ CN: 1,
11
+ JP: 0,
12
+ KR: 0,
13
+ MY: 1,
14
+ GB: 1,
15
+ FR: 1,
16
+ IT: 1
17
+ };
18
+ function normalizePageCountryCode(value) {
19
+ const countryCode = String(value !== null && value !== void 0 ? value : "").trim().toUpperCase();
20
+ return /^[A-Z]{2}$/.test(countryCode) ? countryCode : void 0;
21
+ }
22
+ /** Undefined tells Page to preserve its previous locale behaviour. */
23
+ function getPageWeekStartsOn(countryCode) {
24
+ const normalized = normalizePageCountryCode(countryCode);
25
+ return normalized ? COUNTRY_WEEK_STARTS_ON[normalized] : void 0;
26
+ }
27
+ function getPageEnglishAdapterLocale(countryCode) {
28
+ const weekStartsOn = getPageWeekStartsOn(countryCode);
29
+ if (weekStartsOn === void 0) return void 0;
30
+ return weekStartsOn === 1 ? "en-gb" : "en";
31
+ }
32
+ //#endregion
33
+ exports.getPageEnglishAdapterLocale = getPageEnglishAdapterLocale;
34
+ exports.getPageWeekStartsOn = getPageWeekStartsOn;
35
+ exports.normalizePageCountryCode = normalizePageCountryCode;
@@ -2,6 +2,7 @@ import { ConfigProviderProps } from "../config-provider/index.js";
2
2
 
3
3
  //#region src/components/page/index.d.ts
4
4
  interface PageProps extends ConfigProviderProps {
5
+ countryCode?: string;
5
6
  variablesConfig?: {
6
7
  disabledHistoryListener?: boolean;
7
8
  };
@@ -6,15 +6,20 @@ const require_index = require("../config-provider/index.js");
6
6
  const require_VariablesProvider = require("../dataSourceComponents/provider/variables/VariablesProvider.js");
7
7
  const require_index$1 = require("../pisell-config-provider/index.js");
8
8
  const require_tokens = require("../../theme/tokens.js");
9
+ const require_dateLocale = require("./dateLocale.js");
9
10
  let react = require("react");
10
11
  react = require_runtime.__toESM(react);
11
12
  let antd = require("antd");
13
+ let dayjs = require("dayjs");
14
+ dayjs = require_runtime.__toESM(dayjs);
12
15
  let _pisell_date_picker = require("@pisell/date-picker");
13
16
  let antd_es_locale_zh_CN = require("antd/es/locale/zh_CN");
14
17
  antd_es_locale_zh_CN = require_runtime.__toESM(antd_es_locale_zh_CN);
15
18
  let _pisell_date_picker_es_AdapterDayjs = require("@pisell/date-picker/es/AdapterDayjs");
16
19
  let antd_es_locale_en_US = require("antd/es/locale/en_US");
17
20
  antd_es_locale_en_US = require_runtime.__toESM(antd_es_locale_en_US);
21
+ let antd_es_locale_en_GB = require("antd/es/locale/en_GB");
22
+ antd_es_locale_en_GB = require_runtime.__toESM(antd_es_locale_en_GB);
18
23
  let antd_es_locale_zh_TW = require("antd/es/locale/zh_TW");
19
24
  antd_es_locale_zh_TW = require_runtime.__toESM(antd_es_locale_zh_TW);
20
25
  let antd_es_locale_zh_HK = require("antd/es/locale/zh_HK");
@@ -23,15 +28,19 @@ let antd_es_locale_ja_JP = require("antd/es/locale/ja_JP");
23
28
  antd_es_locale_ja_JP = require_runtime.__toESM(antd_es_locale_ja_JP);
24
29
  let antd_es_locale_pt_PT = require("antd/es/locale/pt_PT");
25
30
  antd_es_locale_pt_PT = require_runtime.__toESM(antd_es_locale_pt_PT);
31
+ let dayjs_locale_en_gb = require("dayjs/locale/en-gb");
32
+ dayjs_locale_en_gb = require_runtime.__toESM(dayjs_locale_en_gb);
26
33
  //#region src/components/page/index.tsx
27
34
  const _excluded = [
28
35
  "children",
29
36
  "style",
30
37
  "className",
31
38
  "locale",
39
+ "countryCode",
32
40
  "variablesConfig",
33
41
  "isRenderPisellConfigProvider"
34
42
  ];
43
+ dayjs.default.locale(dayjs_locale_en_gb.default, void 0, true);
35
44
  const localMap = {
36
45
  "zh-TW": antd_es_locale_zh_TW.default,
37
46
  "zh-CN": antd_es_locale_zh_CN.default,
@@ -51,11 +60,31 @@ const localeDateMap = {
51
60
  "pt": { adapterLocale: "pt" }
52
61
  };
53
62
  const Page = (props) => {
54
- var _context$appHelper, _context$engine, _localeDateMap, _context$engine2;
55
- const { children, style, className, locale: propsLocale, variablesConfig, isRenderPisellConfigProvider = true } = props, others = require_objectWithoutProperties._objectWithoutProperties(props, _excluded);
63
+ var _context$appHelper, _context$engine, _context$appHelper2, _localeDateMap, _context$engine2;
64
+ const { children, style, className, locale: propsLocale, countryCode: propsCountryCode, variablesConfig, isRenderPisellConfigProvider = true } = props, others = require_objectWithoutProperties._objectWithoutProperties(props, _excluded);
56
65
  const context = require_useEngineContext.default();
57
66
  const { platform, themeColor } = ((_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.constants) || {};
58
67
  const locale = propsLocale || (context === null || context === void 0 || (_context$engine = context.engine) === null || _context$engine === void 0 || (_context$engine = _context$engine.props) === null || _context$engine === void 0 ? void 0 : _context$engine.locale) || "en";
68
+ const utils = context === null || context === void 0 || (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : _context$appHelper2.utils;
69
+ let countryCode = require_dateLocale.normalizePageCountryCode(propsCountryCode);
70
+ try {
71
+ var _utils$getStore, _utils$getStore$getSt, _utils$store, _utils$store$getState, _utils$getApp, _utils$getApp$getStor, _utils$getApp$getStor2, _hostState$global, _utils$getData, _context$appHelper3, _context$appHelper4, _context$appHelper5;
72
+ const hostState = (utils === null || utils === void 0 || (_utils$getStore = utils.getStore) === null || _utils$getStore === void 0 || (_utils$getStore = _utils$getStore.call(utils)) === null || _utils$getStore === void 0 || (_utils$getStore$getSt = _utils$getStore.getState) === null || _utils$getStore$getSt === void 0 ? void 0 : _utils$getStore$getSt.call(_utils$getStore)) || (utils === null || utils === void 0 || (_utils$store = utils.store) === null || _utils$store === void 0 || (_utils$store$getState = _utils$store.getState) === null || _utils$store$getState === void 0 ? void 0 : _utils$store$getState.call(_utils$store));
73
+ const appCore = utils === null || utils === void 0 || (_utils$getApp = utils.getApp) === null || _utils$getApp === void 0 || (_utils$getApp = _utils$getApp.call(utils)) === null || _utils$getApp === void 0 || (_utils$getApp = _utils$getApp.data) === null || _utils$getApp === void 0 || (_utils$getApp = _utils$getApp.store) === null || _utils$getApp === void 0 || (_utils$getApp$getStor = _utils$getApp.getStore) === null || _utils$getApp$getStor === void 0 || (_utils$getApp$getStor = _utils$getApp$getStor.call(_utils$getApp)) === null || _utils$getApp$getStor === void 0 || (_utils$getApp$getStor2 = _utils$getApp$getStor.getDataByModel) === null || _utils$getApp$getStor2 === void 0 ? void 0 : _utils$getApp$getStor2.call(_utils$getApp$getStor, "core", "core");
74
+ countryCode = [
75
+ countryCode,
76
+ hostState === null || hostState === void 0 || (_hostState$global = hostState.global) === null || _hostState$global === void 0 || (_hostState$global = _hostState$global.shopDetail) === null || _hostState$global === void 0 ? void 0 : _hostState$global.country_code,
77
+ utils === null || utils === void 0 || (_utils$getData = utils.getData) === null || _utils$getData === void 0 || (_utils$getData = _utils$getData.call(utils, "shop_info")) === null || _utils$getData === void 0 ? void 0 : _utils$getData.country_code,
78
+ appCore === null || appCore === void 0 ? void 0 : appCore.country_code,
79
+ context === null || context === void 0 || (_context$appHelper3 = context.appHelper) === null || _context$appHelper3 === void 0 || (_context$appHelper3 = _context$appHelper3.constants) === null || _context$appHelper3 === void 0 ? void 0 : _context$appHelper3.countryCode,
80
+ context === null || context === void 0 || (_context$appHelper4 = context.appHelper) === null || _context$appHelper4 === void 0 || (_context$appHelper4 = _context$appHelper4.constants) === null || _context$appHelper4 === void 0 ? void 0 : _context$appHelper4.country_code,
81
+ context === null || context === void 0 || (_context$appHelper5 = context.appHelper) === null || _context$appHelper5 === void 0 || (_context$appHelper5 = _context$appHelper5.constants) === null || _context$appHelper5 === void 0 ? void 0 : _context$appHelper5.country
82
+ ].map(require_dateLocale.normalizePageCountryCode).find((candidate) => candidate !== void 0);
83
+ } catch (_unused) {}
84
+ const englishAdapterLocale = require_dateLocale.getPageEnglishAdapterLocale(countryCode);
85
+ const weekStartsOn = require_dateLocale.getPageWeekStartsOn(countryCode);
86
+ const isEnglish = String(locale).toLowerCase().startsWith("en");
87
+ const antdLocale = isEnglish && weekStartsOn !== void 0 ? weekStartsOn === 1 ? antd_es_locale_en_GB.default : antd_es_locale_en_US.default : localMap[locale];
59
88
  const theme = (0, react.useMemo)(() => {
60
89
  if (props === null || props === void 0 ? void 0 : props.theme) {
61
90
  var _props$theme;
@@ -72,7 +101,7 @@ const Page = (props) => {
72
101
  document.body.id = "body";
73
102
  }, []);
74
103
  return /* @__PURE__ */ react.default.createElement(require_index.default, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, others), {}, {
75
- locale: localMap[locale],
104
+ locale: antdLocale,
76
105
  prefixCls: props.prefixCls || "pisell-lowcode",
77
106
  theme
78
107
  }), /* @__PURE__ */ react.default.createElement(antd.App, {
@@ -80,7 +109,7 @@ const Page = (props) => {
80
109
  message: { maxCount: 1 }
81
110
  }, /* @__PURE__ */ react.default.createElement(_pisell_date_picker.LocalizationProvider, {
82
111
  dateAdapter: _pisell_date_picker_es_AdapterDayjs.AdapterDayjs,
83
- adapterLocale: (localeDateMap === null || localeDateMap === void 0 || (_localeDateMap = localeDateMap[locale]) === null || _localeDateMap === void 0 ? void 0 : _localeDateMap.adapterLocale) || "en"
112
+ adapterLocale: isEnglish && englishAdapterLocale || (localeDateMap === null || localeDateMap === void 0 || (_localeDateMap = localeDateMap[locale]) === null || _localeDateMap === void 0 ? void 0 : _localeDateMap.adapterLocale) || "en"
84
113
  }, /* @__PURE__ */ react.default.createElement(_pisell_date_picker.ThemeProvider, { theme: datePickerTheme }, /* @__PURE__ */ react.default.createElement(_pisell_date_picker.LocaleProvider, { value: { locale } }, /* @__PURE__ */ react.default.createElement(PisellConfigProvid, { locale }, /* @__PURE__ */ react.default.createElement(require_VariablesProvider.default, {
85
114
  variables: ((_context$engine2 = context.engine) === null || _context$engine2 === void 0 || (_context$engine2 = _context$engine2.props) === null || _context$engine2 === void 0 ? void 0 : _context$engine2.variables) || {},
86
115
  config: variablesConfig