@pisell/private-materials 3.3.48 → 3.3.50

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 (54) 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.js +1 -1
  6. package/build/lowcode/view.js +1 -1
  7. package/es/components/booking/info/utils.js +1 -1
  8. package/lib/components/booking/info/utils.js +37 -1
  9. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +3 -1
  10. package/package.json +2 -2
  11. package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -3
  12. package/es/components/appointmentBooking/components/Resource/index.d.ts +0 -7
  13. package/es/components/appointmentBooking/components/Services/index.d.ts +0 -4
  14. package/es/components/appointmentBooking/components/TimeSlicing/index.d.ts +0 -4
  15. package/es/components/appointmentBooking/components/Voucher/index.d.ts +0 -4
  16. package/es/components/appointmentBooking/context.d.ts +0 -35
  17. package/es/components/appointmentBooking/hooks.d.ts +0 -106
  18. package/es/components/appointmentBooking/utils.d.ts +0 -203
  19. package/es/components/booking/addons/index.d.ts +0 -17
  20. package/es/components/booking/components/footer/amount.d.ts +0 -24
  21. package/es/components/booking/components/footer/utils.d.ts +0 -40
  22. package/es/components/booking/info/service/addService/index.d.ts +0 -11
  23. package/es/components/booking/info/service2/utils.d.ts +0 -247
  24. package/es/components/booking/info2/service/addService/index.d.ts +0 -11
  25. package/es/components/booking/info2/service/editService/index.d.ts +0 -7
  26. package/es/components/booking/utils.d.ts +0 -173
  27. package/es/components/productSelect/index.d.ts +0 -24
  28. package/es/components/ticketBooking/components/notAvailable/index.d.ts +0 -3
  29. package/es/components/ticketBooking/index.d.ts +0 -7
  30. package/es/components/ticketBooking/locales.d.ts +0 -150
  31. package/es/components/ticketBooking/serve.d.ts +0 -282
  32. package/es/components/ticketBooking/utils/index.d.ts +0 -15
  33. package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -3
  34. package/lib/components/appointmentBooking/components/Resource/index.d.ts +0 -7
  35. package/lib/components/appointmentBooking/components/Services/index.d.ts +0 -4
  36. package/lib/components/appointmentBooking/components/TimeSlicing/index.d.ts +0 -4
  37. package/lib/components/appointmentBooking/components/Voucher/index.d.ts +0 -4
  38. package/lib/components/appointmentBooking/context.d.ts +0 -35
  39. package/lib/components/appointmentBooking/hooks.d.ts +0 -106
  40. package/lib/components/appointmentBooking/utils.d.ts +0 -203
  41. package/lib/components/booking/addons/index.d.ts +0 -17
  42. package/lib/components/booking/components/footer/amount.d.ts +0 -24
  43. package/lib/components/booking/components/footer/utils.d.ts +0 -40
  44. package/lib/components/booking/info/service/addService/index.d.ts +0 -11
  45. package/lib/components/booking/info/service2/utils.d.ts +0 -247
  46. package/lib/components/booking/info2/service/addService/index.d.ts +0 -11
  47. package/lib/components/booking/info2/service/editService/index.d.ts +0 -7
  48. package/lib/components/booking/utils.d.ts +0 -173
  49. package/lib/components/productSelect/index.d.ts +0 -24
  50. package/lib/components/ticketBooking/components/notAvailable/index.d.ts +0 -3
  51. package/lib/components/ticketBooking/index.d.ts +0 -7
  52. package/lib/components/ticketBooking/locales.d.ts +0 -150
  53. package/lib/components/ticketBooking/serve.d.ts +0 -282
  54. package/lib/components/ticketBooking/utils/index.d.ts +0 -15
@@ -95,7 +95,7 @@ export var isBooking4Shop = function isBooking4Shop(shopId, renderType) {
95
95
  if (renderType === 'eventBooking') {
96
96
  return false;
97
97
  }
98
- var booking4Shops = [8390, 1350, 1401, 3013, 7154, 7572, 7007, 8119, 7320, 7362, 6497, 6087, 6303, 6726, 8191, 6812, 6813, 6814, 7651, 8586, 8581, 9, 2155, 8030, 1749, 8194, 2327, 6813, 8609, 8610, 8782, 1285, 6124, 8727, 5538, 6988];
98
+ var booking4Shops = [8390, 1350, 1401, 3013, 7154, 7572, 7007, 8119, 7320, 7362, 6497, 6087, 6303, 6726, 8191, 6812, 6813, 6814, 7651, 8586, 8581, 9, 2155, 8030, 1749, 8194, 2327, 8609, 8610, 8782, 1285, 6124, 8727, 5538, 6988];
99
99
  return booking4Shops.includes(shopId);
100
100
  };
101
101
  function generateDateRange(start, end) {
@@ -104,7 +104,43 @@ var isBooking4Shop = (shopId, renderType) => {
104
104
  if (renderType === "eventBooking") {
105
105
  return false;
106
106
  }
107
- const booking4Shops = [8390, 1350, 1401, 3013, 7154, 7572, 7007, 8119, 7320, 7362, 6497, 6087, 6303, 6726, 8191, 6812, 6813, 6814, 7651, 8586, 8581, 9, 2155, 8030, 1749, 8194, 2327, 6813, 8609, 8610, 8782, 1285, 6124, 8727, 5538, 6988];
107
+ const booking4Shops = [
108
+ 8390,
109
+ 1350,
110
+ 1401,
111
+ 3013,
112
+ 7154,
113
+ 7572,
114
+ 7007,
115
+ 8119,
116
+ 7320,
117
+ 7362,
118
+ 6497,
119
+ 6087,
120
+ 6303,
121
+ 6726,
122
+ 8191,
123
+ 6812,
124
+ 6813,
125
+ 6814,
126
+ 7651,
127
+ 8586,
128
+ 8581,
129
+ 9,
130
+ 2155,
131
+ 8030,
132
+ 1749,
133
+ 8194,
134
+ 2327,
135
+ 8609,
136
+ 8610,
137
+ 8782,
138
+ 1285,
139
+ 6124,
140
+ 8727,
141
+ 5538,
142
+ 6988
143
+ ];
108
144
  return booking4Shops.includes(shopId);
109
145
  };
110
146
  function generateDateRange(start, end) {
@@ -130,7 +130,9 @@ var AddSerivce = (props) => {
130
130
  acc[cur.id] = cur;
131
131
  return acc;
132
132
  }, {});
133
- const newValue = (((_c2 = state.service) == null ? void 0 : _c2.value) || []).filter((item) => listMap[item.product_id]);
133
+ const newValue = (((_c2 = state.service) == null ? void 0 : _c2.value) || []).filter(
134
+ (item) => listMap[item.product_id]
135
+ );
134
136
  dispatch({
135
137
  type: "setService",
136
138
  payload: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/private-materials",
3
- "version": "3.3.48",
3
+ "version": "3.3.50",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -60,7 +60,7 @@
60
60
  "rc-virtual-list": "^3.11.3",
61
61
  "decimal.js": "^10.4.3",
62
62
  "@pisell/utils": "1.0.42",
63
- "@pisell/materials": "3.3.16",
63
+ "@pisell/materials": "3.3.18",
64
64
  "@pisell/icon": "0.0.11",
65
65
  "@pisell/date-picker": "3.0.2"
66
66
  },
@@ -1,3 +0,0 @@
1
- import './index.less';
2
- declare const CartItem: ({ onNext }: any) => JSX.Element;
3
- export default CartItem;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import './index.less';
3
- interface ResourceProps {
4
- onChange?: (val: any) => void;
5
- }
6
- declare const Resource: React.ForwardRefExoticComponent<ResourceProps & React.RefAttributes<any>>;
7
- export default Resource;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import './index.less';
3
- declare const Services: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
4
- export default Services;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import './index.less';
3
- declare const TimeSlicing: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
4
- export default TimeSlicing;
@@ -1,4 +0,0 @@
1
- import '../../../booking/components/voucher/index.less';
2
- import './index.less';
3
- declare const VoucherCard: (props: any) => JSX.Element;
4
- export default VoucherCard;
@@ -1,35 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TasksManager } from '../../utils/tasks';
3
- interface AppointmentBookingContextType {
4
- appointmentBooking: any;
5
- times: any[];
6
- resources: any[];
7
- setTimes: (times: any[]) => void;
8
- setResources: (lists: any[]) => void;
9
- carts: any[];
10
- summary: any;
11
- setCarts: (val: any[]) => void;
12
- setSummary: (val: any) => void;
13
- currentStep: any;
14
- setCurrentStep: (val: any) => void;
15
- appHelper?: any;
16
- symbolic?: any;
17
- resourceOtherParams?: any;
18
- setResourceOtherParams: (val: any) => void;
19
- selectedTime: any;
20
- setSelectedTime: (val: any) => void;
21
- isAgreeDepositPolicy: boolean;
22
- setIsAgreeDepositPolicy: (val: boolean) => void;
23
- isLastStep: boolean;
24
- tasksManager: TasksManager;
25
- policyParams: any;
26
- setPolicyParams: (val: any) => void;
27
- openPolicy: (content: any, callback?: any) => void;
28
- closePolicy: (val?: boolean) => void;
29
- [key: string]: any;
30
- }
31
- export declare const AppointmentBookingProvider: ({ children, }: {
32
- children: ReactNode;
33
- }) => JSX.Element;
34
- export declare const useAppointmentBookingContext: () => AppointmentBookingContextType | undefined;
35
- export {};
@@ -1,106 +0,0 @@
1
- export declare const useAppointmentBooking: () => any;
2
- export declare const useShopDiscount: () => any;
3
- export declare const contextUtils: () => any;
4
- /**
5
- * @title: 监听步骤发生变化
6
- * @description:
7
- * @return {*}
8
- * @Author: WangHan
9
- * @Date: 2025-04-15 11:11
10
- */
11
- export declare const useAppointmentBookingStep: () => {
12
- getStepIndex: (type: string, skipNumber?: number) => any;
13
- stepList: any;
14
- removeStep: (key: string) => any;
15
- addStep: (props: any, stepKey?: string) => any;
16
- updateStep: (key: string, step: any) => void;
17
- nextStep: () => any;
18
- };
19
- /**
20
- * @title: 获取商品数据
21
- * @description:
22
- * @return {*}
23
- * @Author: WangHan
24
- * @Date: 2025-04-15 11:12
25
- */
26
- export declare const useAppointmentBookingProduct: () => {
27
- checkProductType: (productId: number) => Promise<any>;
28
- getProducts: () => Promise<any>;
29
- };
30
- /**
31
- * @title: 更新购物车数据
32
- * @description:
33
- * @return {*}
34
- * @Author: WangHan
35
- * @Date: 2025-04-15 11:12
36
- */
37
- export declare const useAppointmentBookingCart: () => void;
38
- /**
39
- * @title: 获取登录状态
40
- * @description:
41
- * @return {*}
42
- * @Author: WangHan
43
- * @Date: 2025-04-15 11:14
44
- */
45
- export declare const useAppointmentBookingLogin: () => {
46
- isLogin: boolean;
47
- openLoginModal: (params: {
48
- callback: any;
49
- }) => void;
50
- };
51
- /**
52
- * @title: 获取账户
53
- * @description:
54
- * @return {*}
55
- * @Author: WangHan
56
- * @Date: 2025-04-15 11:15
57
- */
58
- export declare const useAppointmentBookingAccount: () => {
59
- accountLists: any;
60
- getHolders: () => Promise<any>;
61
- form_id: any;
62
- addAccount: (val: any, type?: string) => Promise<any>;
63
- checkAccount: (type: any) => any;
64
- };
65
- /**
66
- * @title: 获取资源数据
67
- * @description:
68
- * @return {*}
69
- * @Author: WangHan
70
- * @Date: 2025-04-15 11:29
71
- */
72
- export declare const useAppointmentBookingResource: () => {
73
- getResourceTimeSlot: (index?: number) => Promise<void>;
74
- getResourceList: () => {
75
- resources: any;
76
- resourceCodes: any;
77
- };
78
- };
79
- /**
80
- * @title: 是否跳过资源选择步骤
81
- * @description:
82
- * @return {*}
83
- * @Author: WangHan
84
- * @Date: 2025-04-21 11:47
85
- */
86
- export declare const useIsSkipResourceStep: () => {
87
- checkSkipResourceStep: () => Promise<boolean>;
88
- };
89
- /**
90
- * @title: 获取预约配置
91
- * @description:
92
- * @return {*}
93
- * @Author: WangHan
94
- * @Date: 2025-04-24 18:15
95
- */
96
- export declare const useAppointmentBookingSetting: () => {
97
- isDateSelectedFirst: boolean;
98
- isFormSubject: boolean;
99
- isRetailTemplate: any;
100
- customPageId: any;
101
- channel: any;
102
- bookingSubject: any;
103
- setOtherData: (key: string, val: any) => any;
104
- getOtherData: (key: string) => any;
105
- formName: any;
106
- };
@@ -1,203 +0,0 @@
1
- /**
2
- * @title: 格式化holder表数据
3
- * @description:
4
- * @param {any} data
5
- * @return {*}
6
- * @Author: WangHan
7
- * @Date: 2025-05-07 21:22
8
- */
9
- export declare const formatHolder: (data: any[]) => any[];
10
- export declare const formatGuest: (data: any[], products: any) => any[];
11
- /**
12
- * @title: 格式化购物车中资源上挂接的表单数据
13
- * @description:
14
- * @param {any} data
15
- * @param {any} resources
16
- * @return {*}
17
- * @Author: WangHan
18
- * @Date: 2025-05-06 22:22
19
- */
20
- export declare const formatCartsResources: (carts: any[], resources: any[], setPolicyIds: any) => any[];
21
- /**
22
- * @title: 格式化购物车数据
23
- * @description:
24
- * @param {any} data
25
- * @param {any} resources
26
- * @param {any} accountLists
27
- * @return {*}
28
- * @Author: WangHan
29
- * @Date: 2025-05-07 21:22
30
- */
31
- export declare const formatCarts: (data: any[], resources: any[], utils: any, accountLists?: any) => any[];
32
- /**
33
- * @title: 对资源进行排序
34
- * @description:
35
- * @param {any} currentResourcesMap
36
- * @param {any} resourceSort
37
- * @return {*}
38
- * @Author: WangHan
39
- * @Date: 2025-04-14 11:16
40
- */
41
- export declare const sortResources: (resources: any[], resourceSort: any[]) => any[] | undefined;
42
- export declare const getMeAccount: (val: any[]) => any;
43
- export declare const getCustomer: (utils: any) => any;
44
- export declare const formatCustomer: (val: any) => {
45
- id: any;
46
- username: string;
47
- };
48
- export declare const formatCurrentUser: (utils: any) => {
49
- id: any;
50
- username: string;
51
- };
52
- /**
53
- * @title: 定金合并的标点符号
54
- * @description:
55
- * @return {*}
56
- * @Author: WangHan
57
- * @Date: 2025-04-21 17:52
58
- */
59
- export declare const getPunctuationMark: (index: number, totalLength: number, isEn: boolean) => any;
60
- /**
61
- * @title: 判断当前选中的资源中是否有 resource_form_id 表单id,如果有表单则下一步是选择表单
62
- * @description:
63
- * @param {any} array
64
- * @param {any} resources
65
- * @return {*}
66
- * @Author: WangHan
67
- * @Date: 2025-04-25 19:05
68
- */
69
- export declare const hasResourceFormId: (array: any[]) => boolean | undefined;
70
- export declare const formatForms: (array: any[]) => ({
71
- form_id: any;
72
- policy_id: any;
73
- id: any;
74
- cart_id: any;
75
- } | null)[];
76
- /**
77
- * @title: 打开表单
78
- * @description:
79
- * @param {string} title
80
- * @param {any} callback
81
- * @return {*}
82
- * @Author: WangHan
83
- * @Date: 2025-04-26 15:26
84
- */
85
- export declare const openForm: ({ form_id, title, callback, utils }: any) => void;
86
- /**
87
- * @title: 更新数组
88
- * @description:
89
- * @return {*}
90
- * @Author: WangHan
91
- * @Date: 2025-04-26 18:13
92
- */
93
- export declare function updateLists<T extends Record<string, any>>(list: T[], key: string, value: any, newData: Partial<T>): T[];
94
- /**
95
- * @title: 更新表单存储
96
- * @description:
97
- * @param {any} bookingForm
98
- * @param {number} id
99
- * @param {any} newData
100
- * @return {*}
101
- * @Author: WangHan
102
- * @Date: 2025-04-27 17:27
103
- */
104
- export declare const updateBookingFormStorage: (bookingForm: any, id: number | string, newData: any) => any;
105
- export declare const Toast: (text: string) => void;
106
- /**
107
- * @title: 添加或移除表单步骤
108
- * @description:
109
- * @param {any} param1
110
- * @return {*}
111
- * @Author: WangHan
112
- * @Date: 2025-05-06 21:51
113
- */
114
- export declare const checkHasFormStep: ({ setIsErrorHolder, nextStep, isSkip, checkHolder, checkAccount, carts, setCarts, hasResourceFormId, currentStep, stepList, appointmentBooking, locales, isLogin, openLoginModal, isFormSubject, utils, accountLists, getHolders }: any) => void;
115
- export declare const getCartCurrentResourceData: (cart: any, currentKey: any, resources: any[]) => any;
116
- /**
117
- * @title: 获取购物车资源列表
118
- * @description:
119
- * @return {*}
120
- * @Author: WangHan
121
- * @Date: 2025-05-25 13:56
122
- */
123
- export declare const getMultiResources: (cart: any, currentSelectedResource: any, currentKey: string) => any[];
124
- export declare const getCurrentBoard: (appointmentBooking: any, code: string) => any;
125
- /**
126
- * @title:
127
- * @description: 根据资源code获取资源标题
128
- * @param {any} appointmentBooking
129
- * @param {string} code
130
- * @return {*}
131
- * @Author: WangHan
132
- * @Date: 2025-05-24 18:51
133
- */
134
- export declare const getResourceTitle: (appointmentBooking: any, code: string, utils: any, originResource: any) => string;
135
- /**
136
- * @title: 监测购物车中是否有没有选择资源的
137
- * @description:
138
- * @param {any} carts
139
- * @return {*}
140
- * @Author: WangHan
141
- * @Date: 2025-05-24 18:47
142
- */
143
- export declare const checkAndMarkCartRenderError: (carts: any, appointmentBooking?: any, utils?: any) => {
144
- hasError: boolean;
145
- updatedCartList: any;
146
- } | {
147
- hasError?: undefined;
148
- updatedCartList?: undefined;
149
- };
150
- /**
151
- * @title: 查表表单步骤插入到哪个步骤的后面的key
152
- * @description:
153
- * @param {string} currentKey
154
- * @param {any} stepList
155
- * @return {*}
156
- * @Author: WangHan
157
- * @Date: 2025-05-24 19:05
158
- */
159
- export declare const getFormInsertBeforeKey: (currentKey: string, stepList: any[]) => any;
160
- /**
161
- * @title: 监测holder数据
162
- * @description:
163
- * @param {any} isFormSubject
164
- * @param {any} checkAccount
165
- * @param {any} carts
166
- * @return {*}
167
- * @Author: WangHan
168
- * @Date: 2025-05-24 22:46
169
- */
170
- export declare const checkAndGoNext: (isFormSubject: any, checkAccount: any, carts: any[]) => {
171
- hasError: boolean;
172
- updatedCartList: any[];
173
- };
174
- export declare const currentAppointmentBoard: (currentKey: string, resources: any[], appointmentBooking: any) => {
175
- isRequired: boolean;
176
- isSystem: boolean;
177
- isSkip: boolean;
178
- form_id: number;
179
- form_code: any;
180
- cart_id: string;
181
- resource_form_id: string;
182
- policy_id: string;
183
- } | {
184
- isRequired?: undefined;
185
- isSystem?: undefined;
186
- isSkip?: undefined;
187
- form_id?: undefined;
188
- form_code?: undefined;
189
- cart_id?: undefined;
190
- resource_form_id?: undefined;
191
- policy_id?: undefined;
192
- };
193
- export declare const currentRenderLists: (resources: any[], code: any) => any;
194
- /**
195
- * @title: 更新购物车
196
- * @description:
197
- * @param {any} carts
198
- * @param {any} value
199
- * @return {*}
200
- * @Author: WangHan
201
- * @Date: 2025-05-25 23:17
202
- */
203
- export declare const updateCartResources: (item: any, value?: any, currentSelectedResources?: any) => any;
@@ -1,17 +0,0 @@
1
- /**
2
- * @title: 添加额外商品
3
- * @description:
4
- * @return {*}
5
- * @Author: zhiwei.Wang
6
- * @Date: 2024-01-30 16:33
7
- */
8
- import './index.less';
9
- export interface InfoProps {
10
- title?: string;
11
- style?: any;
12
- globalState: any;
13
- setGlobalState: any;
14
- }
15
- export declare const formatProducts: (values: any) => any;
16
- declare const Addons: any;
17
- export default Addons;
@@ -1,24 +0,0 @@
1
- export declare const getRelationDetailsTotal: (relation_details: any) => number;
2
- export declare const is_price_include_tax: (state: any) => any;
3
- /**
4
- * 总金额
5
- * @param state
6
- * @returns
7
- */
8
- export declare const getSumTotal: (state: any, isEdit: boolean) => {
9
- productAmount: number;
10
- duration: string;
11
- tax: number;
12
- shopDiscount: number;
13
- otherAmount: number;
14
- sumTotalAmount: number;
15
- paidAmount: number;
16
- notPaidAmount: number;
17
- paySurchargeFee: number;
18
- expectAmount: number;
19
- actualPaidAmount: number;
20
- orderPaidAmount: number;
21
- totalRefundAmount: number;
22
- dueAmount: number;
23
- roundingAmount: number;
24
- };
@@ -1,40 +0,0 @@
1
- /**
2
- * @title: 套餐单规格信息
3
- * @description:
4
- * @param {any} option
5
- * @return {*}
6
- * @Author: zhiwei.Wang
7
- * @Date: 2024-02-19 09:26
8
- */
9
- export declare const formatProductOption: (option: any) => any;
10
- /**
11
- * @title: 套餐信息
12
- * @description:
13
- * @param {any} bundle
14
- * @return {*}
15
- * @Author: zhiwei.Wang
16
- * @Date: 2024-02-19 09:26
17
- */
18
- export declare const formatProductBundle: (bundle: any) => any;
19
- export interface ResourceItem {
20
- [key: string]: any;
21
- }
22
- /**
23
- * @title: 传入资源,如果有子资源,会根据组合资源的 capacity 计算修改子资源的 capacity
24
- * @description:
25
- * @param {object} resource
26
- * @return {*}
27
- * @Author: jinglin.tan
28
- */
29
- export declare const checkSubResourcesCapacity: (resource: ResourceItem) => void;
30
- /**
31
- * @title: 格式化商品单价
32
- * @description:
33
- * @param {any} item
34
- * @return {*}
35
- * @Author: WangHan
36
- * @Date: 2024-12-23 12:05
37
- */
38
- export declare const formatProductPrice: (item: any) => number;
39
- export declare const formatValues: (state: any) => any;
40
- export declare const checkHolderIsError: (state: any) => any;
@@ -1,11 +0,0 @@
1
- import { PisellDrawerProps } from '../../../components/drawer';
2
- import './index.less';
3
- interface AddServiceProps {
4
- onEdit?: any;
5
- dispatch?: any;
6
- state?: any;
7
- drawerProps?: PisellDrawerProps;
8
- renderMode?: 'current' | 'drawer';
9
- }
10
- declare const Info: (props: AddServiceProps) => JSX.Element;
11
- export default Info;