@pisell/private-materials 3.4.74 → 3.4.75

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 (209) 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/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/businessModel/SalesModel/index.d.ts +1 -0
  12. package/es/components/appointmentBooking/components/Content/index.d.ts +1 -0
  13. package/es/components/appointmentBooking/components/Header/index.d.ts +1 -0
  14. package/es/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  15. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +1 -0
  16. package/es/components/appointmentBooking/deposit/index.d.ts +1 -0
  17. package/es/components/appointmentBooking/index.d.ts +1 -0
  18. package/es/components/booking/addons/model.d.ts +1 -10
  19. package/es/components/booking/components/footer/index.d.ts +1 -0
  20. package/es/components/booking/components/voucher/index.d.ts +1 -0
  21. package/es/components/booking/deposit/index.d.ts +1 -0
  22. package/es/components/booking/forms/model.d.ts +1 -10
  23. package/es/components/booking/hooks/useQuotation.d.ts +1 -0
  24. package/es/components/booking/info/addServiceVariant/index.d.ts +1 -0
  25. package/es/components/booking/info/header/index.d.ts +1 -0
  26. package/es/components/booking/info/index.d.ts +1 -0
  27. package/es/components/booking/info/model.d.ts +1 -10
  28. package/es/components/booking/info/service/addService/index.d.ts +1 -0
  29. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  30. package/es/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  31. package/es/components/booking/info2/service/addService/index.d.ts +1 -0
  32. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  33. package/es/components/booking/info2/service/addTimeModal/index.d.ts +1 -0
  34. package/es/components/booking/model.d.ts +1 -9
  35. package/es/components/booking/notes/model.d.ts +1 -10
  36. package/es/components/booking/payments/model.d.ts +1 -10
  37. package/es/components/booking/utils.d.ts +2 -2
  38. package/es/components/eftpos/surcharge/index.d.ts +1 -0
  39. package/es/components/eftposPay/amount.d.ts +1 -1
  40. package/es/components/eftposPay/app.d.ts +1 -0
  41. package/es/components/eftposPay/component/fail/index.d.ts +1 -0
  42. package/es/components/eftposPay/device.d.ts +2 -1
  43. package/es/components/eftposPay/hooks.d.ts +2 -2
  44. package/es/components/eftposPay/index.d.ts +1 -0
  45. package/es/components/eftposPay/linkly/index.d.ts +1 -0
  46. package/es/components/eftposPay/store/index.d.ts +4 -4
  47. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  48. package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  49. package/es/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
  50. package/es/components/eventBooking/components/Voucher/index.d.ts +1 -0
  51. package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  52. package/es/components/eventBooking/index.d.ts +1 -0
  53. package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  54. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  55. package/es/components/pay/toC/model.d.ts +1 -9
  56. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  57. package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  58. package/es/components/pisellSelectCustomerModal/index.d.ts +1 -0
  59. package/es/components/productExtension/index.d.ts +1 -0
  60. package/es/components/ruleSetting/index.d.ts +1 -0
  61. package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  62. package/es/components/schedules/model.d.ts +1 -9
  63. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  64. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  65. package/es/components/taxSelect/index.d.ts +1 -0
  66. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  67. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  68. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  69. package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  70. package/es/components/ticketBooking/index.d.ts +1 -0
  71. package/es/components/walletList/index.d.ts +1 -0
  72. package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  73. package/es/index.d.ts +3 -0
  74. package/es/index.js +2 -0
  75. package/es/plus/contactInfoModal/ContactInfoContent.d.ts +1 -0
  76. package/es/plus/saasCreateOrganization/index.d.ts +1 -0
  77. package/es/plus/saasRole/components/PermissionManager/index.d.ts +19 -0
  78. package/es/plus/saasRole/components/PermissionManager/index.js +211 -0
  79. package/es/plus/saasRole/components/PermissionManager/index.less +71 -0
  80. package/es/plus/saasRole/index.d.ts +14 -0
  81. package/es/plus/saasRole/index.js +1036 -0
  82. package/es/plus/saasRole/index.less +196 -0
  83. package/es/plus/saasRole/locales.d.ts +193 -0
  84. package/es/plus/saasRole/locales.js +193 -0
  85. package/es/plus/saasRole/serve.d.ts +72 -0
  86. package/es/plus/saasRole/serve.js +304 -0
  87. package/es/plus/saasRole/types.d.ts +175 -0
  88. package/es/plus/saasRole/types.js +1 -0
  89. package/es/plus/saasRole/utils.d.ts +0 -0
  90. package/es/plus/saasRole/utils.js +0 -0
  91. package/es/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.d.ts +31 -0
  92. package/es/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.js +503 -0
  93. package/es/plus/saasTeamMembers/components/MemberDrawer/index.d.ts +23 -0
  94. package/es/plus/saasTeamMembers/components/MemberDrawer/index.js +634 -0
  95. package/es/plus/saasTeamMembers/components/MemberDrawer/index.less +178 -0
  96. package/es/plus/saasTeamMembers/index.d.ts +5 -0
  97. package/es/plus/saasTeamMembers/index.js +529 -0
  98. package/es/plus/saasTeamMembers/index.less +87 -0
  99. package/es/plus/saasTeamMembers/locales.d.ts +330 -0
  100. package/es/plus/saasTeamMembers/locales.js +375 -0
  101. package/es/plus/saasTeamMembers/serve.d.ts +95 -0
  102. package/es/plus/saasTeamMembers/serve.js +374 -0
  103. package/es/plus/saasTeamMembers/type.d.ts +156 -0
  104. package/es/plus/saasTeamMembers/type.js +1 -0
  105. package/es/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  106. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  107. package/es/plus/walletPassGallery/index.d.ts +1 -0
  108. package/lib/businessModel/SalesModel/index.d.ts +1 -0
  109. package/lib/components/appointmentBooking/components/Content/index.d.ts +1 -0
  110. package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
  111. package/lib/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  112. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +1 -0
  113. package/lib/components/appointmentBooking/deposit/index.d.ts +1 -0
  114. package/lib/components/appointmentBooking/index.d.ts +1 -0
  115. package/lib/components/booking/addons/model.d.ts +1 -10
  116. package/lib/components/booking/components/footer/index.d.ts +1 -0
  117. package/lib/components/booking/components/voucher/index.d.ts +1 -0
  118. package/lib/components/booking/deposit/index.d.ts +1 -0
  119. package/lib/components/booking/forms/model.d.ts +1 -10
  120. package/lib/components/booking/hooks/useQuotation.d.ts +1 -0
  121. package/lib/components/booking/info/addServiceVariant/index.d.ts +1 -0
  122. package/lib/components/booking/info/header/index.d.ts +1 -0
  123. package/lib/components/booking/info/index.d.ts +1 -0
  124. package/lib/components/booking/info/model.d.ts +1 -10
  125. package/lib/components/booking/info/service/addService/index.d.ts +1 -0
  126. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  127. package/lib/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  128. package/lib/components/booking/info2/service/addService/index.d.ts +1 -0
  129. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  130. package/lib/components/booking/info2/service/addTimeModal/index.d.ts +1 -0
  131. package/lib/components/booking/model.d.ts +1 -9
  132. package/lib/components/booking/notes/model.d.ts +1 -10
  133. package/lib/components/booking/payments/model.d.ts +1 -10
  134. package/lib/components/booking/utils.d.ts +2 -2
  135. package/lib/components/eftpos/surcharge/index.d.ts +1 -0
  136. package/lib/components/eftposPay/amount.d.ts +1 -1
  137. package/lib/components/eftposPay/app.d.ts +1 -0
  138. package/lib/components/eftposPay/component/fail/index.d.ts +1 -0
  139. package/lib/components/eftposPay/device.d.ts +2 -1
  140. package/lib/components/eftposPay/hooks.d.ts +2 -2
  141. package/lib/components/eftposPay/index.d.ts +1 -0
  142. package/lib/components/eftposPay/linkly/index.d.ts +1 -0
  143. package/lib/components/eftposPay/store/index.d.ts +4 -4
  144. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  145. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  146. package/lib/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
  147. package/lib/components/eventBooking/components/Voucher/index.d.ts +1 -0
  148. package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  149. package/lib/components/eventBooking/index.d.ts +1 -0
  150. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  151. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  152. package/lib/components/pay/toC/model.d.ts +1 -9
  153. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  154. package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  155. package/lib/components/pisellSelectCustomerModal/index.d.ts +1 -0
  156. package/lib/components/productExtension/index.d.ts +1 -0
  157. package/lib/components/ruleSetting/index.d.ts +1 -0
  158. package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  159. package/lib/components/schedules/model.d.ts +1 -9
  160. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  161. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  162. package/lib/components/taxSelect/index.d.ts +1 -0
  163. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  164. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  165. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  166. package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  167. package/lib/components/ticketBooking/index.d.ts +1 -0
  168. package/lib/components/walletList/index.d.ts +1 -0
  169. package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  170. package/lib/index.d.ts +3 -0
  171. package/lib/index.js +6 -0
  172. package/lib/plus/contactInfoModal/ContactInfoContent.d.ts +1 -0
  173. package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
  174. package/lib/plus/saasRole/components/PermissionManager/index.d.ts +19 -0
  175. package/lib/plus/saasRole/components/PermissionManager/index.js +159 -0
  176. package/lib/plus/saasRole/components/PermissionManager/index.less +71 -0
  177. package/lib/plus/saasRole/index.d.ts +14 -0
  178. package/lib/plus/saasRole/index.js +780 -0
  179. package/lib/plus/saasRole/index.less +196 -0
  180. package/lib/plus/saasRole/locales.d.ts +193 -0
  181. package/lib/plus/saasRole/locales.js +219 -0
  182. package/lib/plus/saasRole/serve.d.ts +72 -0
  183. package/lib/plus/saasRole/serve.js +100 -0
  184. package/lib/plus/saasRole/types.d.ts +175 -0
  185. package/lib/plus/saasRole/types.js +17 -0
  186. package/lib/plus/saasRole/utils.d.ts +0 -0
  187. package/lib/plus/saasRole/utils.js +0 -0
  188. package/lib/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.d.ts +31 -0
  189. package/lib/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.js +393 -0
  190. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.d.ts +23 -0
  191. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.js +672 -0
  192. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.less +178 -0
  193. package/lib/plus/saasTeamMembers/index.d.ts +5 -0
  194. package/lib/plus/saasTeamMembers/index.js +448 -0
  195. package/lib/plus/saasTeamMembers/index.less +87 -0
  196. package/lib/plus/saasTeamMembers/locales.d.ts +330 -0
  197. package/lib/plus/saasTeamMembers/locales.js +401 -0
  198. package/lib/plus/saasTeamMembers/serve.d.ts +95 -0
  199. package/lib/plus/saasTeamMembers/serve.js +132 -0
  200. package/lib/plus/saasTeamMembers/type.d.ts +156 -0
  201. package/lib/plus/saasTeamMembers/type.js +17 -0
  202. package/lib/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  203. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  204. package/lib/plus/walletPassGallery/index.d.ts +1 -0
  205. package/lowcode/saas-role/meta.ts +35 -0
  206. package/lowcode/saas-team-members/meta.ts +35 -0
  207. package/package.json +4 -4
  208. package/lowcode/eco-cup-list/meta.ts +0 -63
  209. package/lowcode/eco-customer-list/meta.ts +0 -63
@@ -0,0 +1,178 @@
1
+ .saas-member-drawer {
2
+ .pisell-lowcode-drawer-body {
3
+ padding: 0;
4
+ }
5
+
6
+ &_tabs {
7
+ height: 100%;
8
+ display: flex;
9
+ flex-direction: column;
10
+ overflow: hidden;
11
+
12
+ .pisell-lowcode-tabs-nav {
13
+ padding: 0 24px;
14
+ margin-bottom: 0;
15
+ border-bottom: 1px solid #f0f0f0;
16
+ }
17
+
18
+ .pisell-lowcode-tabs-content-holder {
19
+ flex: 1;
20
+ overflow: hidden;
21
+ }
22
+
23
+ .pisell-lowcode-tabs-content {
24
+ height: 100%;
25
+ }
26
+
27
+ .pisell-lowcode-tabs-tabpane {
28
+ height: 100%;
29
+ overflow-y: auto;
30
+ }
31
+ }
32
+
33
+ &_tab-content {
34
+ padding: 20px 20px 0 20px;
35
+ min-height: 100%;
36
+ position: relative;
37
+ }
38
+
39
+ &_section-header {
40
+ margin: 0 0 16px 0;
41
+ }
42
+
43
+ &_section {
44
+ margin-bottom: 16px;
45
+
46
+ &:first-child {
47
+ margin-top: 0;
48
+ }
49
+ background-color: rgb(249, 250, 251);
50
+ border: 1px solid var(--Gray-300, #d0d5dd);
51
+ border-radius: 8px;
52
+ padding: 20px 20px 0px 20px;
53
+ }
54
+
55
+ .pisell-lowcode-drawer-footer {
56
+ padding: 16px 24px;
57
+ background: #fff;
58
+ border-top: 1px solid #f0f0f0;
59
+
60
+ .saas-member-drawer_footer {
61
+ display: flex;
62
+ justify-content: flex-end;
63
+ }
64
+ }
65
+
66
+ .pisell-lowcode-alert {
67
+ margin-top: 8px;
68
+ margin-bottom: 16px;
69
+ background-color: #e9ebef;
70
+ border-color: #d2d2d2;
71
+ color: #838a98;
72
+ font-size: 12px;
73
+
74
+ .pisell-lowcode-alert-message {
75
+ color: #838a98;
76
+ }
77
+ }
78
+
79
+ &_extension-placeholder {
80
+ padding: 40px 20px;
81
+ text-align: center;
82
+ background: #fafafa;
83
+ border: 1px dashed #d9d9d9;
84
+ border-radius: 4px;
85
+ min-height: 200px;
86
+ display: flex;
87
+ flex-direction: column;
88
+ align-items: center;
89
+ justify-content: center;
90
+
91
+ p {
92
+ margin: 8px 0;
93
+
94
+ &:first-child {
95
+ font-size: 14px;
96
+ font-weight: 500;
97
+ color: rgba(0, 0, 0, 0.65);
98
+ }
99
+ }
100
+ }
101
+
102
+ &_extension-tab-content {
103
+ height: 100%;
104
+ width: 100%;
105
+ position: relative;
106
+ display: flex;
107
+ flex-direction: column;
108
+ overflow: hidden;
109
+
110
+ .saas-member-drawer_section-header {
111
+ position: relative;
112
+ margin-bottom: 0;
113
+
114
+ &-actions {
115
+ position: absolute;
116
+ top: 20px;
117
+ right: 12px;
118
+ }
119
+
120
+ &-title {
121
+ font-size: 16px;
122
+ font-weight: 500;
123
+ color: #101828;
124
+ padding: 20px 20px 0px 20px;
125
+ }
126
+
127
+ &-subtitle {
128
+ font-size: 14px;
129
+ color: #667085;
130
+ padding: 0px 20px;
131
+ }
132
+ }
133
+
134
+ .extension-form-iframe-container {
135
+ width: 100%;
136
+ position: relative;
137
+ flex: 1;
138
+
139
+ .extension-form-iframe-loading {
140
+ position: absolute;
141
+ top: 0;
142
+ left: 0;
143
+ right: 0;
144
+ bottom: 0;
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ background: rgba(255, 255, 255, 0.8);
149
+ z-index: 1;
150
+ }
151
+
152
+ .extension-form-iframe {
153
+ width: 100%;
154
+ height: 100%;
155
+ min-height: 400px;
156
+ }
157
+ }
158
+ }
159
+
160
+ .pisell-lowcode-form-item {
161
+ margin-bottom: 16px;
162
+ }
163
+ }
164
+
165
+ .saas-member-drawer_bind-modal-label {
166
+ margin-bottom: 6px;
167
+ font-weight: 500;
168
+ color: #74777a;
169
+
170
+ &::after {
171
+ display: inline-block;
172
+ margin-inline-start: 4px;
173
+ color: #ff4d4f;
174
+ font-family: SimSun, sans-serif;
175
+ line-height: 1;
176
+ content: '*';
177
+ }
178
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { SaasTeamMembersProps } from './type';
3
+ import './index.less';
4
+ declare const SaasTeamMembers: React.FC<SaasTeamMembersProps>;
5
+ export default SaasTeamMembers;
@@ -0,0 +1,448 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/plus/saasTeamMembers/index.tsx
30
+ var saasTeamMembers_exports = {};
31
+ __export(saasTeamMembers_exports, {
32
+ default: () => saasTeamMembers_default
33
+ });
34
+ module.exports = __toCommonJS(saasTeamMembers_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_materials = require("@pisell/materials");
37
+ var import_antd = require("antd");
38
+ var import_ahooks = require("ahooks");
39
+ var import_icons = require("@ant-design/icons");
40
+ var import_utils = require("@pisell/utils");
41
+ var import_classnames = __toESM(require("classnames"));
42
+ var import_dayjs = __toESM(require("dayjs"));
43
+ var import_useEngineContext = __toESM(require("../../hooks/useEngineContext"));
44
+ var import_locales = __toESM(require("./locales"));
45
+ var import_serve = require("./serve");
46
+ var import_utils2 = require("../../utils");
47
+ var import_MemberDrawer = __toESM(require("./components/MemberDrawer"));
48
+ var import_index = require("./index.less");
49
+ var SaasTeamMembers = ({
50
+ className,
51
+ style
52
+ }) => {
53
+ var _a, _b, _c, _d, _e;
54
+ const [searchText, setSearchText] = (0, import_react.useState)("");
55
+ const [filters, setFilters] = (0, import_react.useState)({});
56
+ const [drawerVisible, setDrawerVisible] = (0, import_react.useState)(false);
57
+ const [drawerMode, setDrawerMode] = (0, import_react.useState)("create");
58
+ const [currentMember, setCurrentMember] = (0, import_react.useState)(
59
+ null
60
+ );
61
+ const [currentPage, setCurrentPage] = (0, import_react.useState)(1);
62
+ const [pageSize, setPageSize] = (0, import_react.useState)(10);
63
+ const [modal, contextHolder] = import_antd.Modal.useModal();
64
+ const context = (0, import_useEngineContext.default)();
65
+ const utils = ((_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) || {};
66
+ if (utils == null ? void 0 : utils.request) {
67
+ import_utils2.request.setRequest(utils.request);
68
+ }
69
+ const _locale = ((_c = (_b = context == null ? void 0 : context.engine) == null ? void 0 : _b.props) == null ? void 0 : _c.locale) || "en";
70
+ import_utils.locales.init(import_locales.default, _locale);
71
+ const getText = import_utils.locales.getText;
72
+ const getLocaleText = (0, import_react.useCallback)(
73
+ (text) => {
74
+ var _a2;
75
+ if (!text) return "";
76
+ if (typeof text === "string") return text;
77
+ const { translation } = ((_a2 = context == null ? void 0 : context.appHelper) == null ? void 0 : _a2.utils) || {};
78
+ return translation(text);
79
+ },
80
+ [context]
81
+ );
82
+ const { tenantId, mypisellData } = (0, import_react.useMemo)(() => {
83
+ var _a2, _b2, _c2, _d2, _e2;
84
+ const core = (_d2 = (_c2 = (_b2 = (_a2 = utils.store) == null ? void 0 : _a2.getState) == null ? void 0 : _b2.call(_a2)) == null ? void 0 : _c2.core) == null ? void 0 : _d2.core;
85
+ return {
86
+ tenantId: (_e2 = core == null ? void 0 : core.tenant) == null ? void 0 : _e2.tenant_id,
87
+ mypisellData: core == null ? void 0 : core.mypisell_data
88
+ };
89
+ }, [utils.store]);
90
+ const membersRequest = (0, import_ahooks.useRequest)(
91
+ () => {
92
+ const params = {
93
+ page: currentPage,
94
+ size: pageSize,
95
+ with: ["account", "roles"]
96
+ };
97
+ if (searchText) {
98
+ params.search = searchText;
99
+ }
100
+ if (filters.roles && filters.roles.length > 0) {
101
+ params.tenant_role_ids = filters.roles;
102
+ }
103
+ if (filters.status) {
104
+ params.status = filters.status;
105
+ }
106
+ return (0, import_serve.getTeamMembers)(params);
107
+ },
108
+ {
109
+ refreshDeps: [currentPage, pageSize, searchText, filters]
110
+ }
111
+ );
112
+ const rolesRequest = (0, import_ahooks.useRequest)(import_serve.getRoles);
113
+ const createRequest = (0, import_ahooks.useRequest)(import_serve.createTeamMember, {
114
+ manual: true,
115
+ onSuccess: () => {
116
+ setDrawerVisible(false);
117
+ membersRequest.refresh();
118
+ }
119
+ });
120
+ const updateRequest = (0, import_ahooks.useRequest)(
121
+ (id, data) => (0, import_serve.updateTeamMember)(id, data),
122
+ {
123
+ manual: true,
124
+ onSuccess: () => {
125
+ setDrawerVisible(false);
126
+ membersRequest.refresh();
127
+ }
128
+ }
129
+ );
130
+ const deleteRequest = (0, import_ahooks.useRequest)(import_serve.deleteTeamMember, {
131
+ manual: true,
132
+ onSuccess: () => {
133
+ membersRequest.refresh();
134
+ }
135
+ });
136
+ const activateRequest = (0, import_ahooks.useRequest)(import_serve.activateTeamMember, {
137
+ manual: true,
138
+ onSuccess: () => {
139
+ membersRequest.refresh();
140
+ }
141
+ });
142
+ const deactivateRequest = (0, import_ahooks.useRequest)(import_serve.deactivateTeamMember, {
143
+ manual: true,
144
+ onSuccess: () => {
145
+ membersRequest.refresh();
146
+ }
147
+ });
148
+ const handleAddMember = (0, import_react.useCallback)(() => {
149
+ setDrawerMode("create");
150
+ setCurrentMember(null);
151
+ setDrawerVisible(true);
152
+ }, []);
153
+ const handleEditMember = (0, import_react.useCallback)((member) => {
154
+ setDrawerMode("edit");
155
+ setCurrentMember(member);
156
+ setDrawerVisible(true);
157
+ }, []);
158
+ const handleDeleteMember = (0, import_react.useCallback)(
159
+ (member) => {
160
+ if (member.type === "founder") {
161
+ import_materials.message.error(
162
+ getText("pisell2.saas.team-members.confirm.founder-restriction")
163
+ );
164
+ return;
165
+ }
166
+ modal.confirm({
167
+ title: getText("pisell2.saas.team-members.confirm.delete-title"),
168
+ content: getText(
169
+ "pisell2.saas.team-members.confirm.delete-content"
170
+ ).replace("{name}", member.nickname),
171
+ okText: getText("pisell2.saas.team-members.delete"),
172
+ cancelText: getText("pisell2.saas.team-members.drawer.cancel"),
173
+ okButtonProps: { danger: true },
174
+ onOk: async () => {
175
+ await deleteRequest.runAsync(member.id);
176
+ }
177
+ });
178
+ },
179
+ [getText, deleteRequest]
180
+ );
181
+ const handleToggleStatus = (0, import_react.useCallback)(
182
+ (member) => {
183
+ if (member.type === "founder" && member.status === "active") {
184
+ import_materials.message.error(
185
+ getText("pisell2.saas.team-members.confirm.founder-restriction")
186
+ );
187
+ return;
188
+ }
189
+ if (member.status === "active") {
190
+ modal.confirm({
191
+ title: getText("pisell2.saas.team-members.confirm.deactivate-title"),
192
+ content: getText(
193
+ "pisell2.saas.team-members.confirm.deactivate-content"
194
+ ).replace("{name}", member.nickname),
195
+ okText: getText("pisell2.saas.team-members.deactivate"),
196
+ cancelText: getText("pisell2.saas.team-members.drawer.cancel"),
197
+ onOk: async () => {
198
+ await deactivateRequest.runAsync(member.id);
199
+ }
200
+ });
201
+ } else {
202
+ activateRequest.run(member.id);
203
+ }
204
+ },
205
+ [getText, activateRequest, deactivateRequest]
206
+ );
207
+ const handleSubmit = (0, import_react.useCallback)(
208
+ async (values) => {
209
+ if (drawerMode === "create") {
210
+ await createRequest.runAsync(values);
211
+ } else if (currentMember) {
212
+ const { email, password, ...updateData } = values;
213
+ await updateRequest.runAsync(currentMember.id, updateData);
214
+ }
215
+ },
216
+ [drawerMode, currentMember, createRequest, updateRequest]
217
+ );
218
+ const handleDrawerClose = (0, import_react.useCallback)(() => {
219
+ setDrawerVisible(false);
220
+ setCurrentMember(null);
221
+ }, []);
222
+ const columns = (0, import_react.useMemo)(
223
+ () => [
224
+ {
225
+ title: getText("pisell2.saas.team-members.column.name"),
226
+ dataIndex: "nickname",
227
+ key: "nickname",
228
+ fixed: "left",
229
+ width: 220,
230
+ render: (text, record) => /* @__PURE__ */ import_react.default.createElement(import_materials.Space, null, /* @__PURE__ */ import_react.default.createElement("span", null, text), record.type === "founder" && /* @__PURE__ */ import_react.default.createElement(import_materials.Tag, { color: "blue" }, getText("pisell2.saas.team-members.badge.owner")))
231
+ },
232
+ {
233
+ title: getText("pisell2.saas.team-members.column.member-id"),
234
+ dataIndex: "member_id",
235
+ key: "member_id",
236
+ width: 100,
237
+ render: (text) => text || "-"
238
+ },
239
+ {
240
+ title: getText("pisell2.saas.team-members.column.email"),
241
+ dataIndex: ["account", "email"],
242
+ key: "email",
243
+ render: (text) => text || "-"
244
+ },
245
+ {
246
+ title: getText("pisell2.saas.team-members.column.phone"),
247
+ dataIndex: ["account", "phone"],
248
+ key: "phone",
249
+ width: 180,
250
+ render: (text) => text || "-"
251
+ },
252
+ {
253
+ width: 200,
254
+ title: getText("pisell2.saas.team-members.column.roles"),
255
+ dataIndex: "roles",
256
+ key: "roles",
257
+ render: (roles) => {
258
+ if (!roles || roles.length === 0) return "-";
259
+ const displayRoles = roles.slice(0, 3);
260
+ const remainingCount = roles.length - 3;
261
+ return /* @__PURE__ */ import_react.default.createElement(import_materials.Space, { size: 4, wrap: true }, displayRoles.map((role) => /* @__PURE__ */ import_react.default.createElement(import_materials.Tag, { key: role.id }, getLocaleText(role.name))), remainingCount > 0 && /* @__PURE__ */ import_react.default.createElement(
262
+ import_materials.Popover,
263
+ {
264
+ content: /* @__PURE__ */ import_react.default.createElement(import_materials.Space, { size: 4, wrap: true }, roles.map((role) => /* @__PURE__ */ import_react.default.createElement(import_materials.Tag, { key: role.id }, getLocaleText(role.name))))
265
+ },
266
+ /* @__PURE__ */ import_react.default.createElement(import_materials.Tag, null, getText("pisell2.saas.team-members.more-roles").replace(
267
+ "{count}",
268
+ String(remainingCount)
269
+ ))
270
+ ));
271
+ }
272
+ },
273
+ {
274
+ title: getText("pisell2.saas.team-members.column.status"),
275
+ dataIndex: "status",
276
+ key: "status",
277
+ width: 80,
278
+ render: (status) => /* @__PURE__ */ import_react.default.createElement(
279
+ import_materials.Tag,
280
+ {
281
+ variant: "solid",
282
+ color: status === "active" ? "green" : "default"
283
+ },
284
+ getText(`pisell2.saas.team-members.status.${status}`)
285
+ )
286
+ },
287
+ {
288
+ title: getText("pisell2.saas.team-members.column.joined-date"),
289
+ dataIndex: "created_at",
290
+ key: "created_at",
291
+ width: 120,
292
+ render: (date) => (0, import_dayjs.default)(date).format("DD/MM/YYYY")
293
+ },
294
+ {
295
+ title: getText("pisell2.saas.team-members.column.actions"),
296
+ key: "actions",
297
+ width: 120,
298
+ fixed: "right",
299
+ render: (_, record) => {
300
+ const items = [
301
+ {
302
+ key: "toggle-status",
303
+ label: record.status === "active" ? getText("pisell2.saas.team-members.deactivate") : getText("pisell2.saas.team-members.activate"),
304
+ onClick: () => handleToggleStatus(record)
305
+ },
306
+ {
307
+ key: "delete",
308
+ label: getText("pisell2.saas.team-members.delete"),
309
+ danger: true,
310
+ onClick: () => handleDeleteMember(record)
311
+ }
312
+ ];
313
+ return /* @__PURE__ */ import_react.default.createElement(import_materials.Space, null, /* @__PURE__ */ import_react.default.createElement(
314
+ import_materials.Button,
315
+ {
316
+ type: "text",
317
+ icon: /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "pisell2-edit-05" }),
318
+ onClick: () => handleEditMember(record)
319
+ }
320
+ ), /* @__PURE__ */ import_react.default.createElement(import_materials.Dropdown, { menu: { items }, trigger: ["click"] }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "text", icon: /* @__PURE__ */ import_react.default.createElement(import_icons.MoreOutlined, null) })));
321
+ }
322
+ }
323
+ ],
324
+ [
325
+ getText,
326
+ getLocaleText,
327
+ handleEditMember,
328
+ handleDeleteMember,
329
+ handleToggleStatus
330
+ ]
331
+ );
332
+ const roleOptions = (0, import_react.useMemo)(
333
+ () => (rolesRequest.data || []).map((role) => ({
334
+ label: getLocaleText(role.name),
335
+ value: role.id
336
+ })),
337
+ [rolesRequest.data, getLocaleText]
338
+ );
339
+ const statusOptions = (0, import_react.useMemo)(
340
+ () => [
341
+ {
342
+ label: getText("pisell2.saas.team-members.status.active"),
343
+ value: "active"
344
+ },
345
+ {
346
+ label: getText("pisell2.saas.team-members.status.inactive"),
347
+ value: "inactive"
348
+ }
349
+ ],
350
+ [getText]
351
+ );
352
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("saas-team-members", className), style }, /* @__PURE__ */ import_react.default.createElement("div", { className: "saas-team-members-header" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "saas-team-members-header-left" }, /* @__PURE__ */ import_react.default.createElement("h2", null, getText("pisell2.saas.team-members.title")), /* @__PURE__ */ import_react.default.createElement("p", null, getText("pisell2.saas.team-members.subtitle"))), /* @__PURE__ */ import_react.default.createElement("div", { className: "saas-team-members-header-right" }, /* @__PURE__ */ import_react.default.createElement(
353
+ import_materials.Button,
354
+ {
355
+ type: "primary",
356
+ icon: /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null),
357
+ onClick: handleAddMember
358
+ },
359
+ getText("pisell2.saas.team-members.add")
360
+ ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "saas-team-members-filters" }, /* @__PURE__ */ import_react.default.createElement(
361
+ import_materials.Input,
362
+ {
363
+ placeholder: getText("pisell2.saas.team-members.search-placeholder"),
364
+ allowClear: true,
365
+ value: searchText,
366
+ onChange: (e) => setSearchText(e.target.value),
367
+ style: { width: 300 },
368
+ prefix: /* @__PURE__ */ import_react.default.createElement(import_icons.SearchOutlined, null),
369
+ size: "large"
370
+ }
371
+ ), /* @__PURE__ */ import_react.default.createElement(import_materials.Space, null, /* @__PURE__ */ import_react.default.createElement(
372
+ import_materials.Select,
373
+ {
374
+ mode: "multiple",
375
+ placeholder: getText("pisell2.saas.team-members.filter.all-roles"),
376
+ style: { minWidth: 200 },
377
+ options: roleOptions,
378
+ value: filters.roles || [],
379
+ onChange: (value) => setFilters({ ...filters, roles: value }),
380
+ allowClear: true,
381
+ size: "large"
382
+ }
383
+ ), /* @__PURE__ */ import_react.default.createElement(
384
+ import_materials.Select,
385
+ {
386
+ placeholder: getText("pisell2.saas.team-members.filter.all-status"),
387
+ style: { width: 150 },
388
+ options: statusOptions,
389
+ value: filters.status,
390
+ onChange: (value) => setFilters({ ...filters, status: value }),
391
+ allowClear: true,
392
+ size: "large"
393
+ }
394
+ ))), /* @__PURE__ */ import_react.default.createElement(
395
+ import_materials.Table,
396
+ {
397
+ columns,
398
+ dataSource: ((_d = membersRequest.data) == null ? void 0 : _d.list) || [],
399
+ rowKey: "id",
400
+ loading: membersRequest.loading,
401
+ scroll: { autoCalc: true },
402
+ bordered: true,
403
+ pagination: {
404
+ size: "middle",
405
+ current: currentPage,
406
+ pageSize,
407
+ total: ((_e = membersRequest.data) == null ? void 0 : _e.count) || 0,
408
+ showSizeChanger: true,
409
+ showTotal: (total) => getText("pisell2.saas.team-members.pagination.total").replace(
410
+ "{total}",
411
+ String(total)
412
+ ),
413
+ onChange: ({ page, size }) => {
414
+ setCurrentPage(page);
415
+ setPageSize(size);
416
+ }
417
+ },
418
+ locale: {
419
+ emptyText: /* @__PURE__ */ import_react.default.createElement(
420
+ import_materials.Empty,
421
+ {
422
+ description: getText(
423
+ "pisell2.saas.team-members.empty.description"
424
+ )
425
+ }
426
+ )
427
+ }
428
+ }
429
+ ), /* @__PURE__ */ import_react.default.createElement(
430
+ import_MemberDrawer.default,
431
+ {
432
+ visible: drawerVisible,
433
+ mode: drawerMode,
434
+ currentMember,
435
+ roleOptions,
436
+ roles: rolesRequest.data || [],
437
+ onClose: handleDrawerClose,
438
+ onSubmit: handleSubmit,
439
+ loading: createRequest.loading || updateRequest.loading,
440
+ getText,
441
+ getLocaleText,
442
+ tenantId,
443
+ mypisellData,
444
+ locale: _locale
445
+ }
446
+ ), /* @__PURE__ */ import_react.default.createElement(import_antd.ConfigProvider, { prefixCls: "pisell-lowcode" }, contextHolder));
447
+ };
448
+ var saasTeamMembers_default = SaasTeamMembers;