@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,159 @@
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/saasRole/components/PermissionManager/index.tsx
30
+ var PermissionManager_exports = {};
31
+ __export(PermissionManager_exports, {
32
+ default: () => PermissionManager_default
33
+ });
34
+ module.exports = __toCommonJS(PermissionManager_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_index = require("./index.less");
39
+ var PERMISSION_TYPE_CONFIG = {
40
+ channel: {
41
+ titleKey: "pisell2.saas.role.channels",
42
+ descriptionKey: "pisell2.saas.role.control-access-channels",
43
+ prefix: "channel:"
44
+ },
45
+ pageType: {
46
+ titleKey: "pisell2.saas.role.page-types",
47
+ descriptionKey: "pisell2.saas.role.control-access-page-types",
48
+ prefix: "page:"
49
+ },
50
+ app: {
51
+ titleKey: "pisell2.saas.role.apps",
52
+ descriptionKey: "pisell2.saas.role.control-access-apps",
53
+ prefix: "app:"
54
+ },
55
+ systemManagement: {
56
+ titleKey: "pisell2.saas.role.system-management",
57
+ descriptionKey: "pisell2.saas.role.control-system-operations",
58
+ prefix: "system:"
59
+ }
60
+ };
61
+ var PermissionManager = ({
62
+ availablePermissions,
63
+ currentPermissions,
64
+ onChange,
65
+ getLocaleText,
66
+ getText,
67
+ updating
68
+ }) => {
69
+ const [selectedPermissions, setSelectedPermissions] = (0, import_react.useState)([]);
70
+ console.log("selectedPermissions", selectedPermissions);
71
+ const permissionTypes = (0, import_react.useMemo)(() => {
72
+ if (!availablePermissions) return [];
73
+ return Object.keys(availablePermissions).filter((key) => {
74
+ var _a;
75
+ return ((_a = availablePermissions[key]) == null ? void 0 : _a.length) > 0;
76
+ }).map((key) => ({
77
+ type: key,
78
+ items: availablePermissions[key],
79
+ config: PERMISSION_TYPE_CONFIG[key] || {
80
+ titleKey: key,
81
+ descriptionKey: `Control access to ${key}`,
82
+ prefix: `${key}:`
83
+ }
84
+ }));
85
+ }, [availablePermissions]);
86
+ (0, import_react.useEffect)(() => {
87
+ if (currentPermissions.includes("*")) {
88
+ const allPermissions = permissionTypes.flatMap(
89
+ (pt) => pt.items.map((item) => item.code)
90
+ );
91
+ setSelectedPermissions(allPermissions);
92
+ } else {
93
+ const knownPrefixes = permissionTypes.map((pt) => pt.config.prefix);
94
+ const relevantPermissions = currentPermissions.filter(
95
+ (p) => knownPrefixes.some((prefix) => p.startsWith(prefix)) || p.includes(":")
96
+ );
97
+ setSelectedPermissions(relevantPermissions);
98
+ }
99
+ }, [currentPermissions, permissionTypes]);
100
+ const isTypeAllSelected = (items) => {
101
+ return items.length > 0 && items.every((item) => selectedPermissions.includes(item.code));
102
+ };
103
+ const handleTypeSelectAll = (items, checked) => {
104
+ const itemCodes = items.map((item) => item.code);
105
+ if (checked) {
106
+ const newPermissions = [...selectedPermissions];
107
+ itemCodes.forEach((code) => {
108
+ if (!newPermissions.includes(code)) {
109
+ newPermissions.push(code);
110
+ }
111
+ });
112
+ setSelectedPermissions(newPermissions);
113
+ } else {
114
+ setSelectedPermissions(
115
+ selectedPermissions.filter((p) => !itemCodes.includes(p))
116
+ );
117
+ }
118
+ };
119
+ const handlePermissionChange = (code, checked) => {
120
+ if (checked) {
121
+ setSelectedPermissions([...selectedPermissions, code]);
122
+ } else {
123
+ setSelectedPermissions(selectedPermissions.filter((p) => p !== code));
124
+ }
125
+ };
126
+ const handleSave = () => {
127
+ const knownPrefixes = permissionTypes.map((pt) => pt.config.prefix);
128
+ const otherPermissions = currentPermissions.filter(
129
+ (p) => !knownPrefixes.some((prefix) => p.startsWith(prefix)) && p !== "*"
130
+ );
131
+ const finalPermissions = [...otherPermissions, ...selectedPermissions];
132
+ onChange(finalPermissions);
133
+ };
134
+ if (!permissionTypes || permissionTypes.length === 0) {
135
+ return /* @__PURE__ */ import_react.default.createElement(import_antd.Empty, { description: getText("pisell2.saas.role.no-permissions") });
136
+ }
137
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-manager" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-sections-container" }, permissionTypes.map(({ type, items, config }) => {
138
+ const isAllSelected = isTypeAllSelected(items);
139
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: type, className: "permission-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-section-title" }, /* @__PURE__ */ import_react.default.createElement("h4", null, getText(config.titleKey)), /* @__PURE__ */ import_react.default.createElement("p", null, getText(config.descriptionKey))), /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-section-content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-section-actions" }, /* @__PURE__ */ import_react.default.createElement(
140
+ import_antd.Button,
141
+ {
142
+ size: "small",
143
+ type: "text",
144
+ icon: isAllSelected ? /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "pisell2-square" }) : /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "pisell2-check-square-broken" }),
145
+ style: { padding: 0, fontSize: 12 },
146
+ onClick: () => handleTypeSelectAll(items, !isAllSelected)
147
+ },
148
+ isAllSelected ? getText("pisell2.saas.role.clear-all") : getText("pisell2.saas.role.select-all")
149
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-items" }, items.map((item) => /* @__PURE__ */ import_react.default.createElement("div", { key: item.code, className: "permission-item" }, /* @__PURE__ */ import_react.default.createElement(
150
+ import_antd.Checkbox,
151
+ {
152
+ checked: selectedPermissions.includes(item.code),
153
+ onChange: (e) => handlePermissionChange(item.code, e.target.checked)
154
+ },
155
+ getLocaleText(item.name)
156
+ ))))));
157
+ })), /* @__PURE__ */ import_react.default.createElement("div", { className: "permission-manager-footer" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { type: "primary", onClick: handleSave, loading: updating }, getText("pisell2.saas.role.save"))));
158
+ };
159
+ var PermissionManager_default = PermissionManager;
@@ -0,0 +1,71 @@
1
+ .permission-manager {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+
6
+ .permission-sections-container {
7
+ flex: 1;
8
+ overflow-y: auto;
9
+ padding: 24px;
10
+ border: 1px solid #f0f0f0;
11
+ border-radius: 8px;
12
+ margin-bottom: 24px;
13
+ }
14
+
15
+ .permission-section {
16
+ margin-bottom: 32px;
17
+ display: flex;
18
+ gap: 16px;
19
+
20
+ &:last-child {
21
+ margin-bottom: 0;
22
+ }
23
+
24
+ .permission-section-title {
25
+ width: 40%;
26
+
27
+ h4 {
28
+ margin: 0 0 8px 0;
29
+ font-size: 16px;
30
+ font-weight: 600;
31
+ color: #262626;
32
+ }
33
+
34
+ p {
35
+ margin: 0px;
36
+ font-size: 14px;
37
+ color: #8c8c8c;
38
+ }
39
+ }
40
+
41
+ .permission-section-content {
42
+ width: 60%;
43
+ }
44
+
45
+ .permission-section-actions {
46
+ display: flex;
47
+ justify-content: flex-end;
48
+ }
49
+
50
+ .permission-items {
51
+ display: grid;
52
+ grid-template-columns: repeat(2, 1fr);
53
+ gap: 16px;
54
+ margin-top: 4px;
55
+ }
56
+ }
57
+
58
+ .permission-manager-footer {
59
+ padding: 16px 24px;
60
+ background: #fff;
61
+ text-align: right;
62
+ }
63
+ }
64
+
65
+ @media (max-width: 768px) {
66
+ .permission-manager {
67
+ .permission-items {
68
+ grid-template-columns: 1fr;
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { SaasRoleProps } from './types';
3
+ import './index.less';
4
+ /**
5
+ * SaasRole 角色管理组件
6
+ *
7
+ * 提供完整的角色管理功能,包括:
8
+ * - 角色的创建、编辑、删除
9
+ * - 角色成员管理
10
+ * - 角色权限配置
11
+ * - 角色字段配置
12
+ */
13
+ declare const SaasRole: React.FC<SaasRoleProps>;
14
+ export default SaasRole;