@pubinfo/module-rbac 2.0.0-rc.3 → 2.0.0-rc.5

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 (120) hide show
  1. package/dist/{ComponentSelect-B1ZyenXP.js → ComponentSelect-Bhl9ciUm.js} +12 -12
  2. package/dist/ComponentSelect-Bhwuc86o.js +2 -0
  3. package/dist/ComponentSelect.css +1 -1
  4. package/dist/DynamicRoutesForm-CE2RPs7y.js +169 -0
  5. package/dist/DynamicRoutesForm-D35jFnxF.js +4 -0
  6. package/dist/IconSelect-Ct5FkeHI.js +4 -0
  7. package/dist/IconSelect-HAhfS6hd.js +661 -0
  8. package/dist/IconSelect.css +1 -0
  9. package/dist/{ImportExport-Clbc8xaw.js → ImportExport-ByRTssxP.js} +2 -2
  10. package/dist/ImportExport-D8uzaOMz.js +4 -0
  11. package/dist/{MetaForm-BWy4Lpr8.js → MetaForm-BSGuZXgj.js} +2 -2
  12. package/dist/{MetaForm-DpH9an5A.js → MetaForm-DErrpELP.js} +1 -1
  13. package/dist/OrgAndPosition-CF7ZJtNB.js +2 -0
  14. package/dist/{ResourceEdit-0_cYB0iu.js → ResourceEdit-DF-2_zoi.js} +115 -105
  15. package/dist/ResourceEdit-oAPLPUf0.js +11 -0
  16. package/dist/{ResourceRelation-DMWa09ae.js → ResourceRelation-BRseTUw2.js} +1 -1
  17. package/dist/RoleRelation-YaSQQxQ2.js +2 -0
  18. package/dist/{TenantEdit-D8-Pt7sf.js → TenantEdit-C28473_2.js} +1 -1
  19. package/dist/{UserAuthorization-DuioGghR.js → UserAuthorization-C4SLMNmh.js} +1 -1
  20. package/dist/UserEdit-CyCXz7g3.js +4 -0
  21. package/dist/{UserEdit-C6eNXSCu.js → UserEdit-EOTBOUZu.js} +1 -1
  22. package/dist/api/modules/assist/gonggaofuwu.d.ts +6 -6
  23. package/dist/api/modules/assist/qunzujiekou.d.ts +6 -6
  24. package/dist/api/modules/assist/quyujiekou.d.ts +5 -5
  25. package/dist/api/modules/configData/heibaimingdanfuwu.d.ts +5 -5
  26. package/dist/api/modules/configData/xitongpeizhifuwu.d.ts +14 -14
  27. package/dist/api/modules/configData/zidifuwu.d.ts +10 -10
  28. package/dist/api/modules/log/caozuorizhifuwu.d.ts +2 -2
  29. package/dist/api/modules/log/denglurizhifuwu.d.ts +2 -2
  30. package/dist/api/modules/rbac/gangweijiekou.d.ts +6 -6
  31. package/dist/api/modules/rbac/jiaosejiekou.d.ts +7 -7
  32. package/dist/api/modules/rbac/pubJiaosezukongzhiqi.d.ts +7 -7
  33. package/dist/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.d.ts +9 -9
  34. package/dist/api/modules/rbac/yonghujiekou.d.ts +15 -15
  35. package/dist/api/modules/rbac/yonghushoucangbiaojiekou.d.ts +5 -5
  36. package/dist/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.d.ts +4 -4
  37. package/dist/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.d.ts +6 -6
  38. package/dist/api/modules/rbac/ziyuanjiekou.d.ts +13 -13
  39. package/dist/api/modules/rbac/zuhuguanlijiekou.d.ts +5 -5
  40. package/dist/api/modules/rbac/zuzhijiaosebiaokongzhiqi.d.ts +4 -4
  41. package/dist/api/modules/rbac/zuzhijiekou.d.ts +9 -9
  42. package/dist/components/ResourceIcones/BoxColorPicker.vue.d.ts +23 -0
  43. package/dist/components/ResourceIcones/Select.vue.d.ts +48 -2
  44. package/dist/components/ResourceSelector/hooks/useAppAndResource.d.ts +15 -6
  45. package/dist/components/RoleSelector/useRole.d.ts +68 -4
  46. package/dist/context.d.ts +1 -2
  47. package/dist/{drawerRole-DNsK5a6O.js → drawerRole-CzTW_I2H.js} +1 -1
  48. package/dist/{drawerRole-BeUNs7cF.js → drawerRole-tan379DU.js} +1 -1
  49. package/dist/index.css +1 -1
  50. package/dist/index.js +1427 -1431
  51. package/dist/{resource-CrhX7VRK.js → resource-CyI9ZpmF.js} +9 -8
  52. package/dist/{role-PjmrOdFd.js → role-B2tKqUvP.js} +2 -2
  53. package/dist/{role_group-Dlx-6BZF.js → role_group-DqzFHwKx.js} +1 -1
  54. package/dist/stores/view.d.ts +126 -21
  55. package/dist/{tenant-BGtOP_wo.js → tenant-C8kVbfgt.js} +2 -2
  56. package/dist/{toolbar_setting-OemNp6pO.js → toolbar_setting-Dc_h2Mfe.js} +23 -34
  57. package/dist/toolbar_setting.css +1 -1
  58. package/dist/{user-JCiGXodF.js → user-Dub4HhCZ.js} +3 -3
  59. package/dist/utils/routeSystem.d.ts +126 -21
  60. package/dist/views/blackWhiteList/index.vue.d.ts +40 -40
  61. package/dist/views/data-permission/components/createAndEditDataPermission.vue.d.ts +4 -4
  62. package/dist/views/data-permission/index.vue.d.ts +44 -44
  63. package/dist/views/dictionary/index.vue.d.ts +40 -40
  64. package/dist/views/dictionary/itemlist.vue.d.ts +40 -40
  65. package/dist/views/group/index.vue.d.ts +40 -40
  66. package/dist/views/log_center/components/browserType.vue.d.ts +2 -2
  67. package/dist/views/log_center/components/loginHistoryDetail.vue.d.ts +2 -2
  68. package/dist/views/log_center/components/operateHistoryDetail.vue.d.ts +2 -2
  69. package/dist/views/log_center/login_history.vue.d.ts +40 -40
  70. package/dist/views/log_center/operate_history.vue.d.ts +40 -40
  71. package/dist/views/position/index.vue.d.ts +40 -40
  72. package/dist/views/region/index.vue.d.ts +40 -40
  73. package/dist/views/resource/components/IconSelect.vue.d.ts +10 -0
  74. package/dist/views/resource/hooks/useMetaForm.d.ts +8 -1
  75. package/dist/views/resource/index.vue.d.ts +40 -40
  76. package/dist/views/role/components/ResourceRelation.vue.d.ts +40 -40
  77. package/dist/views/role/index.vue.d.ts +80 -80
  78. package/dist/views/role_group/index.vue.d.ts +40 -40
  79. package/dist/views/tenant/index.vue.d.ts +40 -40
  80. package/dist/views/toolbar_setting/animationData.d.ts +1 -3
  81. package/dist/views/user/index.vue.d.ts +40 -40
  82. package/package.json +7 -3
  83. package/src/components/DirectoryIcones/ComponentsIcones.vue +2 -2
  84. package/src/components/DirectoryIcones/FolderIcones.vue +2 -2
  85. package/src/components/DirectoryIcones/ModuleIcones.vue +2 -2
  86. package/src/components/DirectoryIcones/PackagesIcones.vue +2 -2
  87. package/src/components/DirectoryIcones/SrcIcones.vue +2 -2
  88. package/src/components/DirectoryIcones/ViewIcones.vue +2 -2
  89. package/src/components/ResourceIcones/BoxColorPicker.vue +172 -0
  90. package/src/components/ResourceIcones/Select.vue +227 -15
  91. package/src/context.ts +1 -17
  92. package/src/index.ts +3 -10
  93. package/src/views/resource/components/ComponentSelect.vue +10 -0
  94. package/src/views/resource/components/DynamicRoutesForm.vue +0 -8
  95. package/src/views/resource/components/IconSelect.vue +138 -0
  96. package/src/views/resource/components/ResourceEdit.vue +34 -28
  97. package/src/views/toolbar_setting/animationData.ts +0 -4
  98. package/src/views/toolbar_setting/index.vue +0 -13
  99. package/dist/ComponentSelect-DlVJI5an.js +0 -2
  100. package/dist/DynamicRoutesForm-Cu3WhRpA.js +0 -4
  101. package/dist/DynamicRoutesForm-qjbrykW4.js +0 -376
  102. package/dist/ImportExport-CtEZTU87.js +0 -4
  103. package/dist/OrgAndPosition-3lCm4Fyb.js +0 -2
  104. package/dist/ResourceEdit-CYPzEbqn.js +0 -10
  105. package/dist/RoleRelation-DySyilcs.js +0 -2
  106. package/dist/UserEdit-6HYbgtOh.js +0 -4
  107. /package/dist/{OrgAndPosition-DYxNkasL.js → OrgAndPosition-vnBrq-fn.js} +0 -0
  108. /package/dist/{ResourceRelation-CZ8hGgOm.js → ResourceRelation-B_4woLmP.js} +0 -0
  109. /package/dist/{ResourceRelation-DkKdZ3TD.js → ResourceRelation-CKolCnHC.js} +0 -0
  110. /package/dist/{RoleRelation-B1D1NM_L.js → RoleRelation-DXZxscPY.js} +0 -0
  111. /package/dist/{TenantEdit-DNJzo8SS.js → TenantEdit-B5_v0C8I.js} +0 -0
  112. /package/dist/{UserAuthorization-DPHUk69M.js → UserAuthorization-DTgmWH5Q.js} +0 -0
  113. /package/dist/{dayjs.min-DcxwBe2I.js → dayjs.min-CdDcH50N.js} +0 -0
  114. /package/dist/{drawerRole-DS7fbx1h.js → drawerRole-CwilBmOE.js} +0 -0
  115. /package/dist/{drawerRole-BdoMYLYW.js → drawerRole-E1jHM3v-.js} +0 -0
  116. /package/dist/{enum-D0U38jb6.js → enum-BMY6bmPA.js} +0 -0
  117. /package/dist/{safe_setting-DpWUCv2p.js → safe_setting-uj9p_wW0.js} +0 -0
  118. /package/dist/{tabbar_setting-9UKDc1Ev.js → tabbar_setting-HFHrLVgt.js} +0 -0
  119. /package/dist/{theme_setting-BBLaZ4NS.js → theme_setting-QgpSGXxq.js} +0 -0
  120. /package/dist/{watermark_setting-C1VFRfbW.js → watermark_setting-BcWy6p2_.js} +0 -0
@@ -0,0 +1,661 @@
1
+ import { b as e } from "./_plugin-vue_export-helper-DziIhCOI.js";
2
+ import { d as t } from "./enum-BMY6bmPA.js";
3
+ import { PubinfoIcon as n, getAllIconModules as r } from "pubinfo";
4
+ import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, normalizeClass as p, normalizeStyle as m, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveComponent as y, toDisplayString as b, unref as x, useModel as S, watch as C, withCtx as w } from "vue";
5
+ import * as T from "@ant-design/icons-vue";
6
+ import { Empty as E } from "ant-design-vue";
7
+ import { Button as ee, Empty as te, FormItemRest as ne, Input as D, InputNumber as O, Modal as re, Pagination as ie, RadioButton as ae, RadioGroup as oe, Tooltip as se } from "ant-design-vue/es";
8
+ import './IconSelect.css';const k = { class: "flex flex-col gap-3 w-full select-none" }, A = { class: "flex items-center gap-3" }, j = { class: "relative inline-flex items-center" }, M = ["disabled"], N = ["value", "disabled"], P = { class: "flex items-center gap-3" }, F = { class: "relative inline-flex items-center" }, I = ["disabled"], L = ["value", "disabled"], R = { class: "flex items-center gap-3" }, z = { class: "flex items-center gap-3" };
9
+ var B = /* @__PURE__ */ f({
10
+ name: "ResourceIconesBoxColorPicker",
11
+ __name: "BoxColorPicker",
12
+ props: {
13
+ angle: {},
14
+ background: {},
15
+ radius: {},
16
+ disabled: { type: Boolean }
17
+ },
18
+ emits: [
19
+ "update:angle",
20
+ "update:background",
21
+ "update:radius"
22
+ ],
23
+ setup(e, { emit: t }) {
24
+ let n = e, r = t;
25
+ function i(e) {
26
+ if (typeof e == "number" && Number.isFinite(e)) return (e % 360 + 360) % 360;
27
+ if (typeof e == "string") {
28
+ let t = Number.parseFloat(e);
29
+ if (Number.isFinite(t)) return (t % 360 + 360) % 360;
30
+ }
31
+ return 65;
32
+ }
33
+ function a(e) {
34
+ return e ? typeof e == "string" ? {
35
+ from: e,
36
+ to: e
37
+ } : {
38
+ from: e.from,
39
+ to: e.to
40
+ } : {
41
+ from: "#65E54A",
42
+ to: "#35C724"
43
+ };
44
+ }
45
+ function o(e) {
46
+ if (typeof e == "number" && Number.isFinite(e)) return Math.max(0, e);
47
+ if (typeof e == "string") {
48
+ let t = Number.parseFloat(e);
49
+ if (Number.isFinite(t)) return Math.max(0, t);
50
+ }
51
+ return 6;
52
+ }
53
+ let u = a(n.background), f = g(u.from), _ = g(u.to), v = g(i(n.angle)), y = g(o(n.radius)), b = g(null), x = g(null);
54
+ function S() {
55
+ if (n.disabled) return;
56
+ let e = b.value;
57
+ e && (e.style.width = "16px", e.style.height = "16px", e.click());
58
+ }
59
+ function T() {
60
+ if (n.disabled) return;
61
+ let e = x.value;
62
+ e && (e.style.width = "16px", e.style.height = "16px", e.click());
63
+ }
64
+ return C([
65
+ f,
66
+ _,
67
+ v,
68
+ y
69
+ ], () => {
70
+ r("update:background", {
71
+ from: f.value,
72
+ to: _.value
73
+ }), r("update:angle", v.value), r("update:radius", y.value);
74
+ }, { immediate: !0 }), C(() => n.background, (e) => {
75
+ if (e == null) return;
76
+ let t = a(e);
77
+ f.value = t.from, _.value = t.to;
78
+ }), C(() => n.angle, (e) => {
79
+ e != null && (v.value = i(e));
80
+ }), C(() => n.radius, (e) => {
81
+ e != null && (y.value = o(e));
82
+ }), (e, t) => {
83
+ let r = D, i = O;
84
+ return h(), c("div", k, [
85
+ s(" 起始色:紧凑输入(前缀色块 + 文本),隐藏原生 color 触发器 "),
86
+ l("div", A, [t[6] ||= l("label", { class: "text-12px opacity-70 w-14 shrink-0" }, "起始色", -1), d(r, {
87
+ value: f.value,
88
+ "onUpdate:value": t[1] ||= (e) => f.value = e,
89
+ disabled: n.disabled,
90
+ placeholder: "#65E54A",
91
+ size: "small",
92
+ class: "flex-1 min-w-0"
93
+ }, {
94
+ prefix: w(() => [l("div", j, [
95
+ l("button", {
96
+ type: "button",
97
+ disabled: n.disabled,
98
+ class: p(["w-4 h-4 rounded border border-gray-300 dark:border-gray-700", n.disabled ? "opacity-50 cursor-not-allowed" : ""]),
99
+ style: m({ background: f.value }),
100
+ onClick: S
101
+ }, null, 14, M),
102
+ s(" 透明绝对定位的原生 input,用于正确锚定系统取色器位置 "),
103
+ l("input", {
104
+ ref_key: "fromColorPickerRef",
105
+ ref: b,
106
+ type: "color",
107
+ value: f.value,
108
+ disabled: n.disabled,
109
+ class: "absolute left-0 top-0 opacity-0 pointer-events-none",
110
+ style: {
111
+ width: "16px",
112
+ height: "16px"
113
+ },
114
+ onInput: t[0] ||= (e) => f.value = e.target.value
115
+ }, null, 40, N)
116
+ ])]),
117
+ _: 1
118
+ }, 8, ["value", "disabled"])]),
119
+ s(" 结束色:紧凑输入(前缀色块 + 文本),隐藏原生 color 触发器 "),
120
+ l("div", P, [t[7] ||= l("label", { class: "text-12px opacity-70 w-14 shrink-0" }, "结束色", -1), d(r, {
121
+ value: _.value,
122
+ "onUpdate:value": t[3] ||= (e) => _.value = e,
123
+ disabled: n.disabled,
124
+ placeholder: "#35C724",
125
+ size: "small",
126
+ class: "flex-1 min-w-0"
127
+ }, {
128
+ prefix: w(() => [l("div", F, [l("button", {
129
+ type: "button",
130
+ disabled: n.disabled,
131
+ class: p(["w-4 h-4 rounded border border-gray-300 dark:border-gray-700", n.disabled ? "opacity-50 cursor-not-allowed" : ""]),
132
+ style: m({ background: _.value }),
133
+ onClick: T
134
+ }, null, 14, I), l("input", {
135
+ ref_key: "toColorPickerRef",
136
+ ref: x,
137
+ type: "color",
138
+ value: _.value,
139
+ disabled: n.disabled,
140
+ class: "absolute left-0 top-0 opacity-0 pointer-events-none",
141
+ style: {
142
+ width: "16px",
143
+ height: "16px"
144
+ },
145
+ onInput: t[2] ||= (e) => _.value = e.target.value
146
+ }, null, 40, L)])]),
147
+ _: 1
148
+ }, 8, ["value", "disabled"])]),
149
+ s(" 角度:仅使用数字输入,节省横向空间 "),
150
+ l("div", R, [
151
+ t[8] ||= l("label", { class: "text-12px opacity-70 w-14 shrink-0" }, "角度", -1),
152
+ d(i, {
153
+ value: v.value,
154
+ "onUpdate:value": t[4] ||= (e) => v.value = e,
155
+ disabled: n.disabled,
156
+ min: 0,
157
+ max: 360,
158
+ step: 1,
159
+ size: "small",
160
+ class: "w-28"
161
+ }, null, 8, ["value", "disabled"]),
162
+ t[9] ||= l("span", { class: "text-12px opacity-70" }, "deg", -1)
163
+ ]),
164
+ s(" 圆角:仅使用数字输入,节省横向空间 "),
165
+ l("div", z, [
166
+ t[10] ||= l("label", { class: "text-12px opacity-70 w-14 shrink-0" }, "圆角", -1),
167
+ d(i, {
168
+ value: y.value,
169
+ "onUpdate:value": t[5] ||= (e) => y.value = e,
170
+ disabled: n.disabled,
171
+ min: 0,
172
+ max: 48,
173
+ step: 1,
174
+ size: "small",
175
+ class: "w-28"
176
+ }, null, 8, ["value", "disabled"]),
177
+ t[11] ||= l("span", { class: "text-12px opacity-70" }, "px", -1)
178
+ ])
179
+ ]);
180
+ };
181
+ }
182
+ }), ce = B;
183
+ const le = { class: "flex gap-4 min-h-[600px]" }, ue = { class: "w-58 flex flex-col border-r border-[#e5e7eb] dark:border-[#30363d] pr-3" }, de = { class: "mb-3" }, fe = { class: "flex-1 overflow-auto space-y-1 pr-1" }, pe = ["onClick"], me = { class: "truncate max-w-[120px]" }, he = { class: "ml-2 inline-block min-w-6 text-center text-11px rounded bg-[#eef1f5] dark:bg-[#2d3339] px-1 text-[#5d6671] dark:text-[#9aa3ad]" }, ge = { class: "flex-1 flex flex-col min-w-0" }, _e = { class: "grid grid-cols-6 gap-3 auto-rows-[96px] overflow-auto flex-1 p-1" }, ve = { class: "text-12px leading-tight space-y-1" }, ye = { class: "font-medium" }, be = {
184
+ key: 0,
185
+ class: "opacity-70"
186
+ }, xe = ["onClick"], Se = { class: "mt-4 flex justify-center select-none" }, Ce = {
187
+ key: 1,
188
+ class: "flex-1 flex items-center justify-center"
189
+ }, we = {
190
+ key: 0,
191
+ class: "relative w-60 flex flex-col border-l border-[#e5e7eb] dark:border-[#30363d] pl-4 min-h-0"
192
+ }, Te = { class: "flex flex-col flex-1 w-full rounded-md border border-dashed border-[#d0d7de] dark:border-[#30363d] text-12px text-[#6b7280] dark:text-[#94a3b8] p-3 overflow-hidden" }, Ee = { class: "shrink-0 flex justify-center items-center pb-4 border-b border-b-dashed border-b-[#d0d7de] dark:border-b-[#30363d]" }, De = { class: "w-8 h-8 flex justify-center items-center" }, Oe = { class: "w-8 h-8 flex justify-center items-center" }, ke = { class: "w-8 h-8 flex justify-center items-center" }, Ae = { class: "flex-1 w-full mt-3 px-2 overflow-auto space-y-3" }, je = { class: "flex flex-col justify-start w-full opacity-100" }, Me = { class: "flex items-center gap-3 w-full" }, Ne = { class: "relative inline-flex items-center" }, Pe = ["disabled"], Fe = ["value", "disabled"], Ie = { class: "w-full mt-auto" }, Le = { class: "py-4 rounded-md border-t border-t-dashed border-t-[#d0d7de] dark:border-t-[#30363d] flex flex-col items-center gap-2" }, Re = { class: "mt-4 flex justify-end gap-2" };
193
+ var V = /* @__PURE__ */ f({
194
+ name: "ResourceIconesSelect",
195
+ __name: "Select",
196
+ props: {
197
+ modelValue: {},
198
+ modelModifiers: {},
199
+ boxType: { default: "null" },
200
+ boxTypeModifiers: {},
201
+ angle: { default: 65 },
202
+ angleModifiers: {},
203
+ background: { default: {
204
+ from: "#65E54A",
205
+ to: "#35C724"
206
+ } },
207
+ backgroundModifiers: {},
208
+ radius: { default: 6 },
209
+ radiusModifiers: {},
210
+ iconColor: { default: "" },
211
+ iconColorModifiers: {}
212
+ },
213
+ emits: [
214
+ "update:modelValue",
215
+ "update:boxType",
216
+ "update:angle",
217
+ "update:background",
218
+ "update:radius",
219
+ "update:iconColor"
220
+ ],
221
+ setup(e) {
222
+ let t = S(e, "modelValue"), f = S(e, "boxType"), y = S(e, "angle"), O = S(e, "background"), k = S(e, "radius"), A = S(e, "iconColor"), j = g(t.value), M = g(f.value || "null"), N = g(y.value ?? 65), P = g(O.value ?? {
223
+ from: "#65E54A",
224
+ to: "#35C724"
225
+ }), F = g(k.value ?? 6), I = g(A.value ?? ""), L = g(null), R = g(!1);
226
+ function z() {
227
+ j.value = t.value, M.value = f.value || "null", N.value = y.value ?? 65;
228
+ let e = O.value;
229
+ P.value = typeof e == "string" ? e : e ? { ...e } : {
230
+ from: "#65E54A",
231
+ to: "#35C724"
232
+ }, F.value = k.value ?? 6, I.value = A.value ?? "", R.value = !0;
233
+ }
234
+ function B() {
235
+ R.value = !1;
236
+ }
237
+ function V() {
238
+ t.value = j.value, f.value = M.value, y.value = N.value;
239
+ let e = P.value;
240
+ O.value = typeof e == "string" ? e : e && { ...e }, k.value = F.value, A.value = I.value, R.value = !1;
241
+ }
242
+ function H(e) {
243
+ let t = e.split(/[\\/]/).pop() || e;
244
+ return t.replace(/\.(svg|png|jpe?g)$/i, "");
245
+ }
246
+ let U = a(() => {
247
+ let e = /* @__PURE__ */ new Map(), t = r();
248
+ for (let [n, r] of t.entries()) {
249
+ let t = Object.keys(r).map(H).sort();
250
+ e.set(n, t);
251
+ }
252
+ return e;
253
+ }), W = a(() => Object.keys(T).filter((e) => /(?:Outlined|Filled|TwoTone)$/.test(e)).map((e) => `antd:${e}`).sort()), G = a(() => {
254
+ let e = Array.from(U.value.keys()), t = e.includes("local"), n = e.filter((e) => e !== "local").sort();
255
+ return [
256
+ {
257
+ label: "全部",
258
+ value: "all"
259
+ },
260
+ ...t ? [{
261
+ label: "本地",
262
+ value: "local"
263
+ }] : [],
264
+ ...n.map((e) => ({
265
+ label: e,
266
+ value: e
267
+ })),
268
+ {
269
+ label: "Ant Design",
270
+ value: "antd"
271
+ }
272
+ ];
273
+ }), K = g("all"), q = g(""), J = a(() => {
274
+ let e = [];
275
+ for (let [t, n] of U.value.entries()) n.forEach((n) => {
276
+ t === "local" ? e.push({
277
+ name: n,
278
+ module: t
279
+ }) : e.push({
280
+ name: `${t}-[${n}]`,
281
+ module: t
282
+ });
283
+ });
284
+ return W.value.forEach((t) => e.push({
285
+ name: t,
286
+ module: "antd"
287
+ })), e;
288
+ }), Y = a(() => K.value === "all" ? J.value : K.value === "antd" ? J.value.filter((e) => e.module === "antd") : J.value.filter((e) => e.module === K.value)), X = a(() => {
289
+ let e = q.value.trim().toLowerCase();
290
+ return e ? Y.value.filter((t) => t.name.toLowerCase().includes(e)) : Y.value;
291
+ });
292
+ function ze(e) {
293
+ return e === "all" ? J.value.length : e === "antd" ? J.value.filter((e) => e.module === "antd").length : J.value.filter((t) => t.module === e).length;
294
+ }
295
+ let Z = g(1), Q = a(() => Math.max(1, Math.ceil(X.value.length / 30))), Be = a(() => {
296
+ let e = (Z.value - 1) * 30;
297
+ return X.value.slice(e, e + 30);
298
+ });
299
+ C([q, K], () => {
300
+ Z.value = 1;
301
+ }), C(X, () => {
302
+ Z.value > Q.value && (Z.value = Q.value);
303
+ });
304
+ function Ve(e) {
305
+ Z.value = e;
306
+ }
307
+ function He(e) {
308
+ j.value = e.name;
309
+ }
310
+ let Ue = E.PRESENTED_IMAGE_SIMPLE;
311
+ function We() {
312
+ if (!(j.value || "").startsWith("antd:")) return;
313
+ let e = L.value;
314
+ e && (e.style.width = "16px", e.style.height = "16px", e.click());
315
+ }
316
+ let $ = a(() => (j.value || "").startsWith("antd:"));
317
+ return C(M, (e, t) => {
318
+ t === "null" && e !== "null" && !I.value && (I.value = "#ffffff");
319
+ }), (e, r) => {
320
+ let a = se, f = D, g = ie, y = te, S = ae, C = oe, T = ee, E = re, O = ne;
321
+ return h(), c(i, null, [v(e.$slots, "default", { open: z }, () => [d(f, {
322
+ value: t.value,
323
+ readonly: "",
324
+ onClick: z
325
+ }, {
326
+ addonAfter: w(() => [d(a, null, {
327
+ title: w(() => [d(x(n), {
328
+ name: t.value || "",
329
+ size: "40px",
330
+ class: "cursor-default"
331
+ }, null, 8, ["name"])]),
332
+ default: w(() => [d(x(n), {
333
+ name: t.value || "",
334
+ size: "20px",
335
+ class: "cursor-default"
336
+ }, null, 8, ["name"])]),
337
+ _: 1
338
+ })]),
339
+ _: 1
340
+ }, 8, ["value"])], !0), d(O, null, {
341
+ default: w(() => [d(E, {
342
+ open: R.value,
343
+ "onUpdate:open": r[7] ||= (e) => R.value = e,
344
+ title: "选择图标",
345
+ width: "1200px",
346
+ footer: null,
347
+ "destroy-on-close": "",
348
+ onCancel: B
349
+ }, {
350
+ default: w(() => [l("div", le, [
351
+ s(" 左侧模块列表 "),
352
+ l("div", ue, [l("div", de, [d(f, {
353
+ value: q.value,
354
+ "onUpdate:value": r[0] ||= (e) => q.value = e,
355
+ "allow-clear": "",
356
+ bordered: !0,
357
+ placeholder: "搜索图标",
358
+ class: "h-9 text-13px"
359
+ }, {
360
+ prefix: w(() => [d(x(n), {
361
+ name: "i-carbon-search",
362
+ size: "16",
363
+ class: "text-[#7a869a]"
364
+ })]),
365
+ _: 1
366
+ }, 8, ["value"])]), l("div", fe, [(h(!0), c(i, null, _(G.value, (e) => (h(), c("div", {
367
+ key: e.value,
368
+ class: p(["flex items-center justify-between px-3 py-2 rounded-md cursor-pointer text-13px border border-transparent hover:bg-[#f3f6fa] dark:hover:bg-[#262c33] transition", K.value === e.value ? "bg-[#eef5ff] dark:bg-[#1e2a33] border-[#1677ff] text-[#1677ff] font-medium" : "text-[#4b5563]"]),
369
+ onClick: (t) => K.value = e.value
370
+ }, [l("span", me, b(e.label), 1), l("span", he, b(ze(e.value)), 1)], 10, pe))), 128))])]),
371
+ s(" 主体 "),
372
+ l("div", ge, [X.value.length ? (h(), c(i, { key: 0 }, [
373
+ l("div", _e, [(h(!0), c(i, null, _(Be.value, (e) => (h(), o(a, {
374
+ key: `${e.module || ""}:${e.name}`,
375
+ "mouse-enter-delay": .35
376
+ }, {
377
+ title: w(() => [l("div", ve, [l("div", ye, b(e.name), 1), e.module ? (h(), c("div", be, " 模块: " + b(e.module), 1)) : s("v-if", !0)])]),
378
+ default: w(() => [l("div", {
379
+ class: p(["group relative flex flex-col items-center justify-center cursor-pointer rounded-md border", j.value === e.name ? "border-solid border-[#1677ff]" : "border-dashed border-[#e5e7eb] dark:border-[#30363d]"]),
380
+ onClick: (t) => He(e)
381
+ }, [d(x(n), {
382
+ name: e.name,
383
+ size: "30px"
384
+ }, null, 8, ["name"])], 10, xe)]),
385
+ _: 2
386
+ }, 1024))), 128))]),
387
+ s(" 分页 "),
388
+ l("div", Se, [d(g, {
389
+ current: Z.value,
390
+ "page-size": 30,
391
+ total: X.value.length,
392
+ "show-size-changer": !1,
393
+ "show-quick-jumper": "",
394
+ onChange: Ve
395
+ }, null, 8, ["current", "total"])])
396
+ ], 64)) : (h(), c("div", Ce, [d(y, {
397
+ image: x(Ue),
398
+ description: "没有匹配的图标"
399
+ }, null, 8, ["image"])]))]),
400
+ s(" 右侧预留区域 "),
401
+ j.value ? (h(), c("div", we, [
402
+ l("div", Te, [
403
+ s(" 选项:固定顶部 "),
404
+ l("div", Ee, [d(C, {
405
+ value: M.value,
406
+ "onUpdate:value": r[1] ||= (e) => M.value = e,
407
+ class: "flex justify-center items-center"
408
+ }, {
409
+ default: w(() => [
410
+ d(S, { value: "null" }, {
411
+ default: w(() => [l("div", De, [d(x(n), {
412
+ name: j.value,
413
+ size: 16
414
+ }, null, 8, ["name", "size"])])]),
415
+ _: 1
416
+ }),
417
+ d(S, { value: "square" }, {
418
+ default: w(() => [l("div", Oe, [d(x(n), {
419
+ name: j.value,
420
+ box: "square",
421
+ size: 24,
422
+ radius: "6px",
423
+ color: "#ffffff"
424
+ }, null, 8, ["name"])])]),
425
+ _: 1
426
+ }),
427
+ d(S, { value: "prism" }, {
428
+ default: w(() => [l("div", ke, [d(x(n), {
429
+ name: j.value,
430
+ box: "prism",
431
+ size: 24,
432
+ color: "#ffffff",
433
+ radius: "2px"
434
+ }, null, 8, ["name"])])]),
435
+ _: 1
436
+ })
437
+ ]),
438
+ _: 1
439
+ }, 8, ["value"])]),
440
+ s(" 中间配置:保持在中部,可滚动,占据剩余空间 "),
441
+ l("div", Ae, [
442
+ s(" 背景设置:始终显示;当 boxType 为 null 时禁用 "),
443
+ l("div", je, [r[8] ||= l("div", { class: "text-12px mb-2 opacity-70" }, " 背景设置 ", -1), d(ce, {
444
+ angle: N.value,
445
+ "onUpdate:angle": r[2] ||= (e) => N.value = e,
446
+ background: P.value,
447
+ "onUpdate:background": r[3] ||= (e) => P.value = e,
448
+ radius: F.value,
449
+ "onUpdate:radius": r[4] ||= (e) => F.value = e,
450
+ disabled: M.value === "null"
451
+ }, null, 8, [
452
+ "angle",
453
+ "background",
454
+ "radius",
455
+ "disabled"
456
+ ])]),
457
+ s(" 图标颜色设置:始终显示;非 AntD 图标时禁用 "),
458
+ l("div", Me, [r[9] ||= l("label", { class: "text-12px opacity-70 w-14 shrink-0" }, "图标色", -1), d(f, {
459
+ value: I.value,
460
+ "onUpdate:value": r[6] ||= (e) => I.value = e,
461
+ "allow-clear": "",
462
+ placeholder: M.value === "null" ? "默认" : "#ffffff",
463
+ size: "small",
464
+ class: "flex-1 min-w-0",
465
+ disabled: !$.value
466
+ }, {
467
+ prefix: w(() => [l("div", Ne, [l("button", {
468
+ type: "button",
469
+ disabled: !$.value,
470
+ class: p(["w-4 h-4 rounded border border-gray-300 dark:border-gray-700", $.value ? "" : "opacity-50 cursor-not-allowed"]),
471
+ style: m({ background: I.value || "#ffffff" }),
472
+ onClick: We
473
+ }, null, 14, Pe), l("input", {
474
+ ref_key: "iconColorPickerRef",
475
+ ref: L,
476
+ type: "color",
477
+ value: I.value || "#ffffff",
478
+ disabled: !$.value,
479
+ class: "absolute left-0 top-0 opacity-0 pointer-events-none",
480
+ style: {
481
+ width: "16px",
482
+ height: "16px"
483
+ },
484
+ onInput: r[5] ||= (e) => I.value = e.target.value
485
+ }, null, 40, Fe)])]),
486
+ _: 1
487
+ }, 8, [
488
+ "value",
489
+ "placeholder",
490
+ "disabled"
491
+ ])])
492
+ ]),
493
+ s(" 预览:固定底部 "),
494
+ l("div", Ie, [l("div", Le, [j.value ? (h(), c(i, { key: 0 }, [M.value === "null" ? (h(), o(x(n), {
495
+ key: 0,
496
+ name: j.value,
497
+ size: 80,
498
+ color: $.value && I.value ? I.value : void 0
499
+ }, null, 8, ["name", "color"])) : (h(), o(x(n), {
500
+ key: 1,
501
+ name: j.value,
502
+ box: M.value,
503
+ size: 80,
504
+ angle: N.value,
505
+ background: P.value,
506
+ radius: F.value,
507
+ color: $.value ? I.value || "#ffffff" : void 0
508
+ }, null, 8, [
509
+ "name",
510
+ "box",
511
+ "angle",
512
+ "background",
513
+ "radius",
514
+ "color"
515
+ ]))], 64)) : s("v-if", !0)])])
516
+ ]),
517
+ s(" 侧栏底部操作按钮 "),
518
+ l("div", Re, [d(T, { onClick: B }, {
519
+ default: w(() => r[10] ||= [u(" 取消 ")]),
520
+ _: 1,
521
+ __: [10]
522
+ }), d(T, {
523
+ type: "primary",
524
+ onClick: V
525
+ }, {
526
+ default: w(() => r[11] ||= [u(" 确定 ")]),
527
+ _: 1,
528
+ __: [11]
529
+ })])
530
+ ])) : s("v-if", !0)
531
+ ])]),
532
+ _: 1
533
+ }, 8, ["open"])]),
534
+ _: 1
535
+ })], 64);
536
+ };
537
+ }
538
+ }), H = /* @__PURE__ */ e(V, [["__scopeId", "data-v-5889f8ee"]]);
539
+ const U = {
540
+ key: 0,
541
+ class: "w-full h-full flex justify-center mb-4"
542
+ }, W = ["onClick"], G = ["onClick"], K = { class: "flex flex-col items-center justify-center" };
543
+ var q = /* @__PURE__ */ f({
544
+ name: "ResourceIconSelect",
545
+ __name: "IconSelect",
546
+ props: {
547
+ modelValue: { default: { meta: {
548
+ url: "",
549
+ component: ""
550
+ } } },
551
+ modelModifiers: {}
552
+ },
553
+ emits: ["update:modelValue"],
554
+ setup(e) {
555
+ let r = S(e, "modelValue"), u = a({
556
+ get() {
557
+ let e = r.value.meta || (r.value.meta = {});
558
+ return e.iconOptions ||= {
559
+ boxType: "null",
560
+ angle: 65,
561
+ background: {
562
+ from: "#65E54A",
563
+ to: "#35C724"
564
+ },
565
+ radius: 6,
566
+ iconColor: ""
567
+ }, e.iconOptions;
568
+ },
569
+ set(e) {
570
+ let t = r.value.meta || (r.value.meta = {});
571
+ t.iconOptions = e || {
572
+ boxType: "null",
573
+ angle: 65,
574
+ background: {
575
+ from: "#65E54A",
576
+ to: "#35C724"
577
+ },
578
+ radius: 6,
579
+ iconColor: ""
580
+ };
581
+ }
582
+ }), f = a(() => {
583
+ let e = r.value.type;
584
+ return { icon: [
585
+ t.DYNAMIC_APP,
586
+ t.MICRO_APP,
587
+ t.INDEX,
588
+ t.MENU,
589
+ t.IFRAME,
590
+ t.LINK
591
+ ].includes(e) };
592
+ }), p = a(() => !0);
593
+ function m(e) {
594
+ e.stopPropagation(), r.value.icon && (r.value.icon = void 0);
595
+ }
596
+ return (e, t) => p.value && f.value.icon ? (h(), c("div", U, [d(H, {
597
+ modelValue: r.value.icon,
598
+ "onUpdate:modelValue": t[0] ||= (e) => r.value.icon = e,
599
+ "box-type": u.value.boxType,
600
+ "onUpdate:boxType": t[1] ||= (e) => u.value.boxType = e,
601
+ angle: u.value.angle,
602
+ "onUpdate:angle": t[2] ||= (e) => u.value.angle = e,
603
+ background: u.value.background,
604
+ "onUpdate:background": t[3] ||= (e) => u.value.background = e,
605
+ radius: u.value.radius,
606
+ "onUpdate:radius": t[4] ||= (e) => u.value.radius = e,
607
+ "icon-color": u.value.iconColor,
608
+ "onUpdate:iconColor": t[5] ||= (e) => u.value.iconColor = e
609
+ }, {
610
+ default: w(({ open: e }) => [s(" select box "), r.value.icon ? (h(), c(i, { key: 0 }, [s(" 已选择图标展示盒子 "), l("div", {
611
+ class: "size-20 flex justify-center items-center cursor-pointer rounded-md border-px border-dashed relative group border-[#d9d9d9] dark:border-[#424242] hover:border-[#5794f7] dark:hover:border-[#5187e1]",
612
+ onClick: e
613
+ }, [
614
+ u.value.boxType && u.value.boxType !== "null" ? (h(), o(x(n), {
615
+ key: 0,
616
+ name: r.value.icon,
617
+ box: u.value.boxType,
618
+ size: 76,
619
+ radius: u.value.radius,
620
+ background: u.value.background,
621
+ angle: u.value.angle,
622
+ color: (r.value.icon || "").startsWith("antd:") ? u.value.iconColor || "#ffffff" : void 0
623
+ }, null, 8, [
624
+ "name",
625
+ "box",
626
+ "radius",
627
+ "background",
628
+ "angle",
629
+ "color"
630
+ ])) : (h(), o(x(n), {
631
+ key: 1,
632
+ name: r.value.icon,
633
+ size: "76px",
634
+ color: (r.value.icon || "").startsWith("antd:") && u.value.iconColor || void 0
635
+ }, null, 8, ["name", "color"])),
636
+ s(" 清除按钮 "),
637
+ r.value.icon ? (h(), c("button", {
638
+ key: 2,
639
+ class: "absolute -top-1.5 -right-1.5 size-5 flex items-center justify-center rounded-full cursor-pointer border-none op-65 dark:op-55 hover:op-100",
640
+ type: "button",
641
+ onClick: m
642
+ }, [d(x(n), {
643
+ name: "antd:CloseOutlined",
644
+ size: "10px"
645
+ })])) : s("v-if", !0)
646
+ ], 8, W)], 64)) : (h(), c(i, { key: 1 }, [s(" null icon select box "), l("div", {
647
+ class: "size-20 flex justify-center items-center rounded-md border-px border-dashed cursor-pointer border-[#d9d9d9] dark:border-[#424242] hover:border-[#5794f7] dark:hover:border-[#5187e1] text-[#d9d9d9] dark:text-[#424242] hover:text-[#5794f7] dark:hover:text-[#5187e1] transition",
648
+ onClick: e
649
+ }, [l("div", K, [d(x(n), { name: "antd:PlusOutlined" }), t[6] ||= l("span", { class: "text-10px mt-1" }, "选择图标", -1)])], 8, G)], 64))]),
650
+ _: 1
651
+ }, 8, [
652
+ "modelValue",
653
+ "box-type",
654
+ "angle",
655
+ "background",
656
+ "radius",
657
+ "icon-color"
658
+ ])])) : s("v-if", !0);
659
+ }
660
+ }), J = q;
661
+ export { J as b };
@@ -0,0 +1 @@
1
+ [data-v-5889f8ee] .ant-radio-group{align-items:center;display:inline-flex}[data-v-5889f8ee] .ant-radio-button-wrapper{flex:none;justify-content:center;align-items:center;padding:4px 10px;display:inline-flex;height:auto!important;line-height:1!important}[data-v-5889f8ee] .ant-radio-button-wrapper>span{justify-content:center;align-items:center;display:inline-flex}
@@ -1,7 +1,7 @@
1
1
  import { b as e, c as t } from "./chunk-B3eAFu3c.js";
2
2
  import { A as n, B as r, C as i, D as a, E as o, am as s, z as c } from "./index.js";
3
- import { c as l, e as u } from "./enum-D0U38jb6.js";
4
- import { b as d } from "./dayjs.min-DcxwBe2I.js";
3
+ import { c as l, e as u } from "./enum-BMY6bmPA.js";
4
+ import { b as d } from "./dayjs.min-CdDcH50N.js";
5
5
  import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createTextVNode as v, createVNode as y, defineComponent as b, isRef as ee, normalizeStyle as x, openBlock as S, reactive as C, ref as w, renderList as te, resolveComponent as T, toDisplayString as E, unref as D, vShow as O, withCtx as k, withDirectives as A } from "vue";
6
6
  import { ClockCircleOutlined as j, CloudDownloadOutlined as ne, CloudUploadOutlined as re, DeleteOutlined as ie, UndoOutlined as ae } from "@ant-design/icons-vue";
7
7
  import { Upload as M, message as N, theme as oe } from "ant-design-vue";
@@ -0,0 +1,4 @@
1
+ import "./enum-BMY6bmPA.js";
2
+ import "./dayjs.min-CdDcH50N.js";
3
+ import { b as e } from "./ImportExport-ByRTssxP.js";
4
+ export { e as default };
@@ -1,5 +1,5 @@
1
1
  import "./_plugin-vue_export-helper-DziIhCOI.js";
2
- import "./enum-D0U38jb6.js";
2
+ import "./enum-BMY6bmPA.js";
3
3
  import "./HoverCard-B79q5sly.js";
4
- import { b as e } from "./MetaForm-DpH9an5A.js";
4
+ import { b as e } from "./MetaForm-DErrpELP.js";
5
5
  export { e as default };