smart-admin-web 10.10.0 → 10.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +1 -0
  2. package/cli/icon-subset.mjs +132 -0
  3. package/cli/smart-admin-icons.mjs +57 -0
  4. package/dist/api/index.d.ts +52 -1
  5. package/dist/api/index.js +151 -84
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/schema.d.ts +936 -15
  8. package/dist/assets/icons/ph-subset.json.js +7 -7
  9. package/dist/createSmartAdmin.d.ts +3 -0
  10. package/dist/createSmartAdmin.js +36 -36
  11. package/dist/createSmartAdmin.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +268 -252
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/icons.d.ts +5 -2
  16. package/dist/lib/icons.js +15 -13
  17. package/dist/lib/icons.js.map +1 -1
  18. package/dist/lib/runtime.js +1 -1
  19. package/dist/locales/en-US.d.ts +143 -0
  20. package/dist/locales/en-US.js +145 -0
  21. package/dist/locales/en-US.js.map +1 -1
  22. package/dist/locales/zh-CN.d.ts +143 -0
  23. package/dist/locales/zh-CN.js +145 -0
  24. package/dist/locales/zh-CN.js.map +1 -1
  25. package/dist/router/viewRegistry.js +1 -1
  26. package/dist/router/viewRegistry.js.map +1 -1
  27. package/dist/style.css +1 -1
  28. package/dist/types/api.d.ts +166 -0
  29. package/dist/types/api.js +12 -9
  30. package/dist/types/api.js.map +1 -1
  31. package/dist/views/system/ai-model/components/ProviderCard.vue.d.ts +13 -0
  32. package/dist/views/system/ai-model/components/ProviderCard.vue.js +8 -0
  33. package/dist/views/system/ai-model/components/ProviderCard.vue.js.map +1 -0
  34. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +230 -0
  35. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -0
  36. package/dist/views/system/ai-model/components/ProviderForm.vue.d.ts +18 -0
  37. package/dist/views/system/ai-model/components/ProviderForm.vue.js +8 -0
  38. package/dist/views/system/ai-model/components/ProviderForm.vue.js.map +1 -0
  39. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +507 -0
  40. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -0
  41. package/dist/views/system/ai-model/index.vue.d.ts +3 -0
  42. package/dist/views/system/ai-model/index.vue.js +8 -0
  43. package/dist/views/system/ai-model/index.vue.js.map +1 -0
  44. package/dist/views/system/ai-model/index2.vue.js +134 -0
  45. package/dist/views/system/ai-model/index2.vue.js.map +1 -0
  46. package/dist/views/system/ai-model/presets.d.ts +14 -0
  47. package/dist/views/system/ai-model/presets.js +22 -0
  48. package/dist/views/system/ai-model/presets.js.map +1 -0
  49. package/dist/views/system/ai-usage/index.vue.d.ts +3 -0
  50. package/dist/views/system/ai-usage/index.vue.js +8 -0
  51. package/dist/views/system/ai-usage/index.vue.js.map +1 -0
  52. package/dist/views/system/ai-usage/index2.vue.js +423 -0
  53. package/dist/views/system/ai-usage/index2.vue.js.map +1 -0
  54. package/package.json +6 -2
package/dist/index.js CHANGED
@@ -3,272 +3,288 @@ import { createSmartAdmin as s } from "./createSmartAdmin.js";
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { ApiError as f, authApi as l, cacheApi as u, callApi as n, configApi as d, dashboardApi as x, dayRange as c, dictAdminApi as A, dictApi as S, externalAuthApi as g, fileApi as T, highSensApi as C, jobApi as h, listQuery as P, logApi as E, menuApi as M, mfaApi as D, moduleApi as _, monitorApi as I, normalizeCommit as B, normalizePreview as R, noticeApi as b, orgApi as w, pageParams as L, personalApi as O, positionApi as y, recycleApi as N, roleApi as U, sessionApi as v, toPage as k, toWireRows as H, unwrap as F, unwrapDownload as V, userApi as W } from "./api/index.js";
7
- import { DEFAULT_TIMEOUT_MS as z, LONG_TIMEOUT_MS as G, client as j, createApiClient as K, ensureAccessToken as Z, readCookie as J, refreshOnce as Q } from "./api/client.js";
8
- import { MenuType as q, PERMISSION_SEPARATOR as $, joinPermission as ee, splitPermission as re, toMenuInput as oe } from "./types/menu.js";
9
- import { useAppStore as ae } from "./stores/app.js";
10
- import { useAuthStore as pe } from "./stores/auth.js";
11
- import { useDictOptions as me, useDictStore as fe } from "./stores/dict.js";
12
- import { useTabsStore as ue } from "./stores/tabs.js";
13
- import { useUserStore as de } from "./stores/user.js";
14
- import { registerDynamic as ce, resetRouter as Ae, router as Se } from "./router/index.js";
15
- import { namedPage as Te } from "./router/namedPage.js";
16
- import { i18n as he, registerLocales as Pe, t as Ee, withExt as Me } from "./locales/index.js";
17
- import { menuTitleKey as _e, registerMenuTitles as Ie, translateMenuTitle as Be } from "./locales/menuTitle.js";
18
- import { vAuth as be } from "./directives/auth.js";
19
- import { describeMenuRoute as Le } from "./composables/authMenuRoute.js";
20
- import { clearClientCache as ye } from "./composables/clearClientCache.js";
21
- import { buildRoutesForModule as Ue } from "./composables/useAuthMenu.js";
22
- import { useBatchDelete as ke } from "./composables/useBatchDelete.js";
23
- import { COMPACT_MAX_HEIGHT as Fe, COMPACT_MAX_WIDTH as Ve, isCompactSize as We, useCompactScreen as Xe } from "./composables/useCompactScreen.js";
24
- import { useConfirm as Ge } from "./composables/useConfirm.js";
25
- import { useFullscreenToggle as Ke } from "./composables/useFullscreenToggle.js";
26
- import { registerHeaderTool as Je, useHeaderTools as Qe } from "./composables/useHeaderTools.js";
27
- import { useLayoutMenu as qe } from "./composables/useLayoutMenu.js";
28
- import { menuBadge as er, registerMenuBadge as rr } from "./composables/useMenuBadge.js";
29
- import { useMenuFlat as tr } from "./composables/useMenuFlat.js";
30
- import { useModule as ir } from "./composables/useModule.js";
31
- import { noticeActionButtonType as sr, useNoticeAction as mr } from "./composables/useNoticeAction.js";
32
- import { usePageTitle as lr } from "./composables/usePageTitle.js";
33
- import { beginVoluntaryLogout as nr, noticeBus as dr, onRealtime as xr, useRealtime as cr } from "./composables/useRealtime.js";
34
- import { loadSite as Sr, useSite as gr } from "./composables/useSite.js";
35
- import { DRAG_HANDLE_CLASS as Cr, useTableRowSort as hr } from "./composables/useTableRowSort.js";
36
- import { useTableZoom as Er } from "./composables/useTableZoom.js";
37
- import { useTabTitle as Dr } from "./composables/useTabTitle.js";
38
- import { useTheme as Ir } from "./composables/useTheme.js";
39
- import { useVisualViewportHeight as Rr } from "./composables/useVisualViewportHeight.js";
40
- import { default as wr } from "./components/ApiSelect/index.vue.js";
41
- import { default as Or } from "./components/Chart/index.vue.js";
42
- import { default as Nr } from "./components/Chart/LineChart.vue.js";
43
- import { default as vr } from "./components/Chart/BarChart.vue.js";
44
- import { default as Hr } from "./components/Chart/PieChart.vue.js";
45
- import { default as Vr } from "./components/CodeBlock/index.vue.js";
46
- import { default as Xr } from "./components/CronEditor/index.vue.js";
47
- import { default as Gr } from "./components/DetailPage/index.vue.js";
48
- import { default as Kr } from "./components/DictCheckbox/index.vue.js";
49
- import { default as Jr } from "./components/DictRadio/index.vue.js";
50
- import { default as Yr } from "./components/DictSelect/index.vue.js";
51
- import { default as $r } from "./components/DictTag/index.vue.js";
52
- import { default as ro } from "./components/ErrorBoundary/index.vue.js";
53
- import { default as to } from "./components/ExportColumnsModal/index.vue.js";
54
- import { default as io } from "./components/FileUpload/index.vue.js";
55
- import { default as so } from "./components/FormContainer/index.vue.js";
6
+ import { ApiError as f, aiProviderApi as l, aiUsageApi as u, authApi as n, cacheApi as d, callApi as x, configApi as c, dashboardApi as A, dayRange as S, dictAdminApi as g, dictApi as T, externalAuthApi as C, fileApi as E, highSensApi as P, jobApi as h, listQuery as _, logApi as b, menuApi as M, mfaApi as D, moduleApi as R, monitorApi as I, normalizeCommit as B, normalizePreview as y, noticeApi as w, orgApi as O, pageParams as L, personalApi as U, positionApi as N, recycleApi as v, roleApi as k, sessionApi as H, toPage as F, toWireRows as J, unwrap as G, unwrapDownload as V, userApi as W } from "./api/index.js";
7
+ import { DEFAULT_TIMEOUT_MS as z, LONG_TIMEOUT_MS as K, client as j, createApiClient as Y, ensureAccessToken as Z, readCookie as Q, refreshOnce as q } from "./api/client.js";
8
+ import { AI_USAGE_GROUP_BY as ee, AI_USAGE_SOURCE as re, DataScopeType as oe, DuplicateStrategy as te, JobConcurrencyMode as ae, JobFireMode as ie, JobHandlerKind as pe, JobMisfireStrategy as se, JobRunStatus as me, JobStatus as fe, JobTriggerKind as le, NoticeType as ue, ReceiverType as ne } from "./types/api.js";
9
+ import { MenuType as xe, PERMISSION_SEPARATOR as ce, joinPermission as Ae, splitPermission as Se, toMenuInput as ge } from "./types/menu.js";
10
+ import { useAppStore as Ce } from "./stores/app.js";
11
+ import { useAuthStore as Pe } from "./stores/auth.js";
12
+ import { useDictOptions as _e, useDictStore as be } from "./stores/dict.js";
13
+ import { useTabsStore as De } from "./stores/tabs.js";
14
+ import { useUserStore as Ie } from "./stores/user.js";
15
+ import { registerDynamic as ye, resetRouter as we, router as Oe } from "./router/index.js";
16
+ import { namedPage as Ue } from "./router/namedPage.js";
17
+ import { i18n as ve, registerLocales as ke, t as He, withExt as Fe } from "./locales/index.js";
18
+ import { menuTitleKey as Ge, registerMenuTitles as Ve, translateMenuTitle as We } from "./locales/menuTitle.js";
19
+ import { vAuth as ze } from "./directives/auth.js";
20
+ import { describeMenuRoute as je } from "./composables/authMenuRoute.js";
21
+ import { clearClientCache as Ze } from "./composables/clearClientCache.js";
22
+ import { buildRoutesForModule as qe } from "./composables/useAuthMenu.js";
23
+ import { useBatchDelete as er } from "./composables/useBatchDelete.js";
24
+ import { COMPACT_MAX_HEIGHT as or, COMPACT_MAX_WIDTH as tr, isCompactSize as ar, useCompactScreen as ir } from "./composables/useCompactScreen.js";
25
+ import { useConfirm as sr } from "./composables/useConfirm.js";
26
+ import { useFullscreenToggle as fr } from "./composables/useFullscreenToggle.js";
27
+ import { registerHeaderTool as ur, useHeaderTools as nr } from "./composables/useHeaderTools.js";
28
+ import { useLayoutMenu as xr } from "./composables/useLayoutMenu.js";
29
+ import { menuBadge as Ar, registerMenuBadge as Sr } from "./composables/useMenuBadge.js";
30
+ import { useMenuFlat as Tr } from "./composables/useMenuFlat.js";
31
+ import { useModule as Er } from "./composables/useModule.js";
32
+ import { noticeActionButtonType as hr, useNoticeAction as _r } from "./composables/useNoticeAction.js";
33
+ import { usePageTitle as Mr } from "./composables/usePageTitle.js";
34
+ import { beginVoluntaryLogout as Rr, noticeBus as Ir, onRealtime as Br, useRealtime as yr } from "./composables/useRealtime.js";
35
+ import { loadSite as Or, useSite as Lr } from "./composables/useSite.js";
36
+ import { DRAG_HANDLE_CLASS as Nr, useTableRowSort as vr } from "./composables/useTableRowSort.js";
37
+ import { useTableZoom as Hr } from "./composables/useTableZoom.js";
38
+ import { useTabTitle as Jr } from "./composables/useTabTitle.js";
39
+ import { useTheme as Vr } from "./composables/useTheme.js";
40
+ import { useVisualViewportHeight as Xr } from "./composables/useVisualViewportHeight.js";
41
+ import { default as Kr } from "./components/ApiSelect/index.vue.js";
42
+ import { default as Yr } from "./components/Chart/index.vue.js";
43
+ import { default as Qr } from "./components/Chart/LineChart.vue.js";
44
+ import { default as $r } from "./components/Chart/BarChart.vue.js";
45
+ import { default as ro } from "./components/Chart/PieChart.vue.js";
46
+ import { default as to } from "./components/CodeBlock/index.vue.js";
47
+ import { default as io } from "./components/CronEditor/index.vue.js";
48
+ import { default as so } from "./components/DetailPage/index.vue.js";
49
+ import { default as fo } from "./components/DictCheckbox/index.vue.js";
50
+ import { default as uo } from "./components/DictRadio/index.vue.js";
51
+ import { default as xo } from "./components/DictSelect/index.vue.js";
52
+ import { default as Ao } from "./components/DictTag/index.vue.js";
53
+ import { default as go } from "./components/ErrorBoundary/index.vue.js";
54
+ import { default as Co } from "./components/ExportColumnsModal/index.vue.js";
55
+ import { default as Po } from "./components/FileUpload/index.vue.js";
56
+ import { default as _o } from "./components/FormContainer/index.vue.js";
56
57
  /* empty css */
57
- import { default as fo } from "./components/IconPicker/index.vue.js";
58
- import { default as uo } from "./components/ImportWizard/index.vue.js";
59
- import { default as xo } from "./components/JsonEditor/index.vue.js";
60
- import { default as Ao } from "./components/MarkdownEditor/index.vue.js";
61
- import { default as go } from "./components/MarkdownEditor/MarkdownView.vue.js";
62
- import { default as Co } from "./components/OrgTreeSelect/index.vue.js";
63
- import { default as Po } from "./components/PasswordStrength/index.vue.js";
64
- import { default as Mo } from "./components/RoleSelect/index.vue.js";
65
- import { default as _o } from "./components/SelectTable/index.vue.js";
66
- import { default as Bo } from "./components/StatusSwitch/index.vue.js";
67
- import { default as bo } from "./components/TableZoomButton/index.vue.js";
68
- import { default as Lo } from "./components/UserPicker/index.vue.js";
69
- import { default as yo } from "./components/UserSelect/index.vue.js";
70
- import { default as Uo } from "./components/AppIcon.vue.js";
71
- import { default as ko } from "./components/MenuSearch.vue.js";
72
- import { default as Fo } from "./components/SmartLogo.vue.js";
73
- import { default as Wo } from "./components/oauth/BrandIcon.vue.js";
74
- import { uploadChunked as zo } from "./utils/chunkUpload.js";
75
- import { triggerBlobDownload as jo } from "./utils/download.js";
76
- import { translateError as Zo, translateErrorDetail as Jo } from "./utils/error.js";
77
- import { fmtBytes as Yo, fmtDateTime as qo, operatorText as $o } from "./utils/format.js";
78
- import { IMPORT_DUPLICATE_IN_DB as rt, hardErrorsOf as ot, isDuplicateOnly as tt, isHardError as at } from "./utils/importDup.js";
79
- import { BRAND_CODES as pt, LINK_BY_ACCOUNT_CODES as st, PREVIEW_ALL_SSO_BRANDS as mt, SSO_VISIBLE_MAX as ft, brandDisplayName as lt, buildConfigProviderRows as ut, claimWeComAutoLogin as nt, isBrandCode as dt, isIconifyName as xt, mergeBindingRows as ct, previewAllBrandProviders as At, resolveProviderIcon as St, splitLoginProviders as gt } from "./utils/oauthBrand.js";
80
- import { buildTree as Ct, collectSubtreeIds as ht, expandableIds as Pt, filterTree as Et } from "./utils/tree.js";
81
- import { parseUserAgent as Dt, uaSummary as _t } from "./utils/ua.js";
82
- import { FULLSCREEN_PATH_PREFIX as Bt, isFullscreenPath as Rt, isHttpUrl as bt, trimTrailingSlashes as wt } from "./utils/url.js";
83
- import { default as Ot } from "./assets/icons/ph-subset.json.js";
84
- import { ACCENTS as Nt } from "./theme/accents.js";
85
- import { btnGrad as vt, derivePrimary as kt, glowSh as Ht, mix as Ft, rgba as Vt } from "./theme/mix.js";
86
- import { buildThemeOverrides as Xt } from "./theme/naive-theme.js";
87
- import { setupMarkdown as Gt, withXssPlugin as jt } from "./lib/markdown.js";
88
- import { LoadingBarBridge as Zt, loadingBar as Jt } from "./lib/loadingBar.js";
89
- import { classifyNoticeAction as Yt, isSiteRelativeUrl as qt, noticeActionLabel as $t } from "./lib/noticeActions.js";
90
- import { registerViews as ra, viewComponentPaths as oa } from "./router/viewRegistry.js";
58
+ import { default as Mo } from "./components/IconPicker/index.vue.js";
59
+ import { default as Ro } from "./components/ImportWizard/index.vue.js";
60
+ import { default as Bo } from "./components/JsonEditor/index.vue.js";
61
+ import { default as wo } from "./components/MarkdownEditor/index.vue.js";
62
+ import { default as Lo } from "./components/MarkdownEditor/MarkdownView.vue.js";
63
+ import { default as No } from "./components/OrgTreeSelect/index.vue.js";
64
+ import { default as ko } from "./components/PasswordStrength/index.vue.js";
65
+ import { default as Fo } from "./components/RoleSelect/index.vue.js";
66
+ import { default as Go } from "./components/SelectTable/index.vue.js";
67
+ import { default as Wo } from "./components/StatusSwitch/index.vue.js";
68
+ import { default as zo } from "./components/TableZoomButton/index.vue.js";
69
+ import { default as jo } from "./components/UserPicker/index.vue.js";
70
+ import { default as Zo } from "./components/UserSelect/index.vue.js";
71
+ import { default as qo } from "./components/AppIcon.vue.js";
72
+ import { default as et } from "./components/MenuSearch.vue.js";
73
+ import { default as ot } from "./components/SmartLogo.vue.js";
74
+ import { default as at } from "./components/oauth/BrandIcon.vue.js";
75
+ import { uploadChunked as pt } from "./utils/chunkUpload.js";
76
+ import { triggerBlobDownload as mt } from "./utils/download.js";
77
+ import { translateError as lt, translateErrorDetail as ut } from "./utils/error.js";
78
+ import { fmtBytes as dt, fmtDateTime as xt, operatorText as ct } from "./utils/format.js";
79
+ import { IMPORT_DUPLICATE_IN_DB as St, hardErrorsOf as gt, isDuplicateOnly as Tt, isHardError as Ct } from "./utils/importDup.js";
80
+ import { BRAND_CODES as Pt, LINK_BY_ACCOUNT_CODES as ht, PREVIEW_ALL_SSO_BRANDS as _t, SSO_VISIBLE_MAX as bt, brandDisplayName as Mt, buildConfigProviderRows as Dt, claimWeComAutoLogin as Rt, isBrandCode as It, isIconifyName as Bt, mergeBindingRows as yt, previewAllBrandProviders as wt, resolveProviderIcon as Ot, splitLoginProviders as Lt } from "./utils/oauthBrand.js";
81
+ import { buildTree as Nt, collectSubtreeIds as vt, expandableIds as kt, filterTree as Ht } from "./utils/tree.js";
82
+ import { parseUserAgent as Jt, uaSummary as Gt } from "./utils/ua.js";
83
+ import { FULLSCREEN_PATH_PREFIX as Wt, isFullscreenPath as Xt, isHttpUrl as zt, trimTrailingSlashes as Kt } from "./utils/url.js";
84
+ import { default as Yt } from "./assets/icons/ph-subset.json.js";
85
+ import { ACCENTS as Qt } from "./theme/accents.js";
86
+ import { btnGrad as $t, derivePrimary as ea, glowSh as ra, mix as oa, rgba as ta } from "./theme/mix.js";
87
+ import { buildThemeOverrides as ia } from "./theme/naive-theme.js";
88
+ import { setupMarkdown as sa, withXssPlugin as ma } from "./lib/markdown.js";
89
+ import { LoadingBarBridge as la, loadingBar as ua } from "./lib/loadingBar.js";
90
+ import { classifyNoticeAction as da, isSiteRelativeUrl as xa, noticeActionLabel as ca } from "./lib/noticeActions.js";
91
+ import { registerViews as Sa, viewComponentPaths as ga } from "./router/viewRegistry.js";
91
92
  export {
92
- Nt as ACCENTS,
93
+ Qt as ACCENTS,
94
+ ee as AI_USAGE_GROUP_BY,
95
+ re as AI_USAGE_SOURCE,
93
96
  f as ApiError,
94
- wr as ApiSelect,
95
- Uo as AppIcon,
96
- pt as BRAND_CODES,
97
- vr as BarChart,
98
- Wo as BrandIcon,
99
- Fe as COMPACT_MAX_HEIGHT,
100
- Ve as COMPACT_MAX_WIDTH,
101
- Or as Chart,
102
- Vr as CodeBlock,
103
- Xr as CronEditor,
97
+ Kr as ApiSelect,
98
+ qo as AppIcon,
99
+ Pt as BRAND_CODES,
100
+ $r as BarChart,
101
+ at as BrandIcon,
102
+ or as COMPACT_MAX_HEIGHT,
103
+ tr as COMPACT_MAX_WIDTH,
104
+ Yr as Chart,
105
+ to as CodeBlock,
106
+ io as CronEditor,
104
107
  z as DEFAULT_TIMEOUT_MS,
105
- Cr as DRAG_HANDLE_CLASS,
106
- Gr as DetailPage,
107
- Kr as DictCheckbox,
108
- Jr as DictRadio,
109
- Yr as DictSelect,
110
- $r as DictTag,
111
- ro as ErrorBoundary,
112
- to as ExportColumnsModal,
113
- Bt as FULLSCREEN_PATH_PREFIX,
114
- io as FileUpload,
115
- so as FormContainer,
116
- rt as IMPORT_DUPLICATE_IN_DB,
117
- fo as IconPicker,
118
- uo as ImportWizard,
119
- xo as JsonEditor,
120
- st as LINK_BY_ACCOUNT_CODES,
121
- G as LONG_TIMEOUT_MS,
122
- Nr as LineChart,
123
- Zt as LoadingBarBridge,
124
- Ao as MarkdownEditor,
125
- go as MarkdownView,
126
- ko as MenuSearch,
127
- q as MenuType,
128
- Co as OrgTreeSelect,
129
- $ as PERMISSION_SEPARATOR,
130
- mt as PREVIEW_ALL_SSO_BRANDS,
131
- Po as PasswordStrength,
132
- Hr as PieChart,
133
- Mo as RoleSelect,
134
- ft as SSO_VISIBLE_MAX,
135
- _o as SelectTable,
136
- Fo as SmartLogo,
137
- Bo as StatusSwitch,
138
- bo as TableZoomButton,
139
- Lo as UserPicker,
140
- yo as UserSelect,
141
- l as authApi,
142
- nr as beginVoluntaryLogout,
143
- lt as brandDisplayName,
144
- vt as btnGrad,
145
- ut as buildConfigProviderRows,
146
- Ue as buildRoutesForModule,
147
- Xt as buildThemeOverrides,
148
- Ct as buildTree,
149
- u as cacheApi,
150
- n as callApi,
151
- nt as claimWeComAutoLogin,
152
- Yt as classifyNoticeAction,
153
- ye as clearClientCache,
108
+ Nr as DRAG_HANDLE_CLASS,
109
+ oe as DataScopeType,
110
+ so as DetailPage,
111
+ fo as DictCheckbox,
112
+ uo as DictRadio,
113
+ xo as DictSelect,
114
+ Ao as DictTag,
115
+ te as DuplicateStrategy,
116
+ go as ErrorBoundary,
117
+ Co as ExportColumnsModal,
118
+ Wt as FULLSCREEN_PATH_PREFIX,
119
+ Po as FileUpload,
120
+ _o as FormContainer,
121
+ St as IMPORT_DUPLICATE_IN_DB,
122
+ Mo as IconPicker,
123
+ Ro as ImportWizard,
124
+ ae as JobConcurrencyMode,
125
+ ie as JobFireMode,
126
+ pe as JobHandlerKind,
127
+ se as JobMisfireStrategy,
128
+ me as JobRunStatus,
129
+ fe as JobStatus,
130
+ le as JobTriggerKind,
131
+ Bo as JsonEditor,
132
+ ht as LINK_BY_ACCOUNT_CODES,
133
+ K as LONG_TIMEOUT_MS,
134
+ Qr as LineChart,
135
+ la as LoadingBarBridge,
136
+ wo as MarkdownEditor,
137
+ Lo as MarkdownView,
138
+ et as MenuSearch,
139
+ xe as MenuType,
140
+ ue as NoticeType,
141
+ No as OrgTreeSelect,
142
+ ce as PERMISSION_SEPARATOR,
143
+ _t as PREVIEW_ALL_SSO_BRANDS,
144
+ ko as PasswordStrength,
145
+ ro as PieChart,
146
+ ne as ReceiverType,
147
+ Fo as RoleSelect,
148
+ bt as SSO_VISIBLE_MAX,
149
+ Go as SelectTable,
150
+ ot as SmartLogo,
151
+ Wo as StatusSwitch,
152
+ zo as TableZoomButton,
153
+ jo as UserPicker,
154
+ Zo as UserSelect,
155
+ l as aiProviderApi,
156
+ u as aiUsageApi,
157
+ n as authApi,
158
+ Rr as beginVoluntaryLogout,
159
+ Mt as brandDisplayName,
160
+ $t as btnGrad,
161
+ Dt as buildConfigProviderRows,
162
+ qe as buildRoutesForModule,
163
+ ia as buildThemeOverrides,
164
+ Nt as buildTree,
165
+ d as cacheApi,
166
+ x as callApi,
167
+ Rt as claimWeComAutoLogin,
168
+ da as classifyNoticeAction,
169
+ Ze as clearClientCache,
154
170
  j as client,
155
- ht as collectSubtreeIds,
156
- d as configApi,
157
- K as createApiClient,
171
+ vt as collectSubtreeIds,
172
+ c as configApi,
173
+ Y as createApiClient,
158
174
  s as createSmartAdmin,
159
- x as dashboardApi,
160
- c as dayRange,
161
- kt as derivePrimary,
162
- Le as describeMenuRoute,
163
- A as dictAdminApi,
164
- S as dictApi,
175
+ A as dashboardApi,
176
+ S as dayRange,
177
+ ea as derivePrimary,
178
+ je as describeMenuRoute,
179
+ g as dictAdminApi,
180
+ T as dictApi,
165
181
  Z as ensureAccessToken,
166
- Pt as expandableIds,
167
- g as externalAuthApi,
168
- T as fileApi,
169
- Et as filterTree,
170
- Yo as fmtBytes,
171
- qo as fmtDateTime,
172
- Ht as glowSh,
173
- ot as hardErrorsOf,
174
- C as highSensApi,
175
- he as i18n,
176
- dt as isBrandCode,
177
- We as isCompactSize,
178
- tt as isDuplicateOnly,
179
- Rt as isFullscreenPath,
180
- at as isHardError,
181
- bt as isHttpUrl,
182
- xt as isIconifyName,
183
- qt as isSiteRelativeUrl,
182
+ kt as expandableIds,
183
+ C as externalAuthApi,
184
+ E as fileApi,
185
+ Ht as filterTree,
186
+ dt as fmtBytes,
187
+ xt as fmtDateTime,
188
+ ra as glowSh,
189
+ gt as hardErrorsOf,
190
+ P as highSensApi,
191
+ ve as i18n,
192
+ It as isBrandCode,
193
+ ar as isCompactSize,
194
+ Tt as isDuplicateOnly,
195
+ Xt as isFullscreenPath,
196
+ Ct as isHardError,
197
+ zt as isHttpUrl,
198
+ Bt as isIconifyName,
199
+ xa as isSiteRelativeUrl,
184
200
  h as jobApi,
185
- ee as joinPermission,
186
- Ot as kernelIconSet,
187
- P as listQuery,
188
- Sr as loadSite,
189
- Jt as loadingBar,
190
- E as logApi,
201
+ Ae as joinPermission,
202
+ Yt as kernelIconSet,
203
+ _ as listQuery,
204
+ Or as loadSite,
205
+ ua as loadingBar,
206
+ b as logApi,
191
207
  M as menuApi,
192
- er as menuBadge,
193
- _e as menuTitleKey,
194
- ct as mergeBindingRows,
208
+ Ar as menuBadge,
209
+ Ge as menuTitleKey,
210
+ yt as mergeBindingRows,
195
211
  D as mfaApi,
196
- Ft as mix,
197
- _ as moduleApi,
212
+ oa as mix,
213
+ R as moduleApi,
198
214
  I as monitorApi,
199
- Te as namedPage,
215
+ Ue as namedPage,
200
216
  B as normalizeCommit,
201
- R as normalizePreview,
202
- sr as noticeActionButtonType,
203
- $t as noticeActionLabel,
204
- b as noticeApi,
205
- dr as noticeBus,
206
- xr as onRealtime,
207
- $o as operatorText,
208
- w as orgApi,
217
+ y as normalizePreview,
218
+ hr as noticeActionButtonType,
219
+ ca as noticeActionLabel,
220
+ w as noticeApi,
221
+ Ir as noticeBus,
222
+ Br as onRealtime,
223
+ ct as operatorText,
224
+ O as orgApi,
209
225
  L as pageParams,
210
- Dt as parseUserAgent,
211
- O as personalApi,
212
- y as positionApi,
213
- At as previewAllBrandProviders,
214
- J as readCookie,
215
- N as recycleApi,
216
- Q as refreshOnce,
217
- ce as registerDynamic,
218
- Je as registerHeaderTool,
219
- Pe as registerLocales,
220
- rr as registerMenuBadge,
221
- Ie as registerMenuTitles,
222
- ra as registerViews,
223
- Ae as resetRouter,
224
- St as resolveProviderIcon,
225
- Vt as rgba,
226
- U as roleApi,
227
- Se as router,
228
- v as sessionApi,
229
- Gt as setupMarkdown,
230
- gt as splitLoginProviders,
231
- re as splitPermission,
232
- Ee as t,
233
- oe as toMenuInput,
234
- k as toPage,
235
- H as toWireRows,
236
- Zo as translateError,
237
- Jo as translateErrorDetail,
238
- Be as translateMenuTitle,
239
- jo as triggerBlobDownload,
240
- wt as trimTrailingSlashes,
241
- _t as uaSummary,
242
- F as unwrap,
226
+ Jt as parseUserAgent,
227
+ U as personalApi,
228
+ N as positionApi,
229
+ wt as previewAllBrandProviders,
230
+ Q as readCookie,
231
+ v as recycleApi,
232
+ q as refreshOnce,
233
+ ye as registerDynamic,
234
+ ur as registerHeaderTool,
235
+ ke as registerLocales,
236
+ Sr as registerMenuBadge,
237
+ Ve as registerMenuTitles,
238
+ Sa as registerViews,
239
+ we as resetRouter,
240
+ Ot as resolveProviderIcon,
241
+ ta as rgba,
242
+ k as roleApi,
243
+ Oe as router,
244
+ H as sessionApi,
245
+ sa as setupMarkdown,
246
+ Lt as splitLoginProviders,
247
+ Se as splitPermission,
248
+ He as t,
249
+ ge as toMenuInput,
250
+ F as toPage,
251
+ J as toWireRows,
252
+ lt as translateError,
253
+ ut as translateErrorDetail,
254
+ We as translateMenuTitle,
255
+ mt as triggerBlobDownload,
256
+ Kt as trimTrailingSlashes,
257
+ Gt as uaSummary,
258
+ G as unwrap,
243
259
  V as unwrapDownload,
244
- zo as uploadChunked,
245
- ae as useAppStore,
246
- pe as useAuthStore,
247
- ke as useBatchDelete,
248
- Xe as useCompactScreen,
249
- Ge as useConfirm,
250
- me as useDictOptions,
251
- fe as useDictStore,
252
- Ke as useFullscreenToggle,
253
- Qe as useHeaderTools,
254
- qe as useLayoutMenu,
255
- tr as useMenuFlat,
256
- ir as useModule,
257
- mr as useNoticeAction,
258
- lr as usePageTitle,
259
- cr as useRealtime,
260
- gr as useSite,
261
- Dr as useTabTitle,
262
- hr as useTableRowSort,
263
- Er as useTableZoom,
264
- ue as useTabsStore,
265
- Ir as useTheme,
266
- de as useUserStore,
267
- Rr as useVisualViewportHeight,
260
+ pt as uploadChunked,
261
+ Ce as useAppStore,
262
+ Pe as useAuthStore,
263
+ er as useBatchDelete,
264
+ ir as useCompactScreen,
265
+ sr as useConfirm,
266
+ _e as useDictOptions,
267
+ be as useDictStore,
268
+ fr as useFullscreenToggle,
269
+ nr as useHeaderTools,
270
+ xr as useLayoutMenu,
271
+ Tr as useMenuFlat,
272
+ Er as useModule,
273
+ _r as useNoticeAction,
274
+ Mr as usePageTitle,
275
+ yr as useRealtime,
276
+ Lr as useSite,
277
+ Jr as useTabTitle,
278
+ vr as useTableRowSort,
279
+ Hr as useTableZoom,
280
+ De as useTabsStore,
281
+ Vr as useTheme,
282
+ Ie as useUserStore,
283
+ Xr as useVisualViewportHeight,
268
284
  W as userApi,
269
- be as vAuth,
270
- oa as viewComponentPaths,
271
- Me as withExt,
272
- jt as withXssPlugin
285
+ ze as vAuth,
286
+ ga as viewComponentPaths,
287
+ Fe as withExt,
288
+ ma as withXssPlugin
273
289
  };
274
290
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,5 @@
1
- /** 首屏调用一次:同步装入 ph 子集,再注册离线集 + 本地 SVG(内核自带 + 消费方传入)。 */
2
- export declare function setupIcons(extraIcons?: Record<string, string>): void;
1
+ import { IconifyJSON } from 'smart-naive-icon';
2
+ /**
3
+ * 首屏调用一次:同步装入 ph 子集(内核的 + 消费方经 iconSets 传入的),再注册离线集 + 本地 SVG(内核自带 + 消费方传入)。
4
+ */
5
+ export declare function setupIcons(extraIcons?: Record<string, string>, extraSets?: IconifyJSON[]): void;
package/dist/lib/icons.js CHANGED
@@ -1,8 +1,8 @@
1
- import o from "../assets/svg/star.svg.js";
2
- import { addCollection as t } from "@iconify/vue";
3
- import { setupSmartIcon as n } from "smart-naive-icon";
4
- import r from "../assets/icons/ph-subset.json.js";
5
- const i = [
1
+ import r from "../assets/svg/star.svg.js";
2
+ import { addCollection as o } from "@iconify/vue";
3
+ import { setupSmartIcon as s } from "smart-naive-icon";
4
+ import i from "../assets/icons/ph-subset.json.js";
5
+ const a = [
6
6
  {
7
7
  prefix: "ph",
8
8
  name: "Phosphor",
@@ -23,17 +23,19 @@ const i = [
23
23
  name: "Ant Design",
24
24
  loader: () => import("@iconify-json/ant-design/icons.json").then((e) => e.default)
25
25
  }
26
- ], s = "__none__", a = /* @__PURE__ */ Object.assign({
27
- "../assets/svg/star.svg": o
26
+ ], l = "__none__", p = /* @__PURE__ */ Object.assign({
27
+ "../assets/svg/star.svg": r
28
28
  });
29
- function d(e = {}) {
30
- t(r), n({
31
- collections: i,
32
- localIcons: { ...a, ...e },
33
- preloadPrefix: s
29
+ function u(e = {}, t = []) {
30
+ o(i);
31
+ for (const n of t) o(n);
32
+ s({
33
+ collections: a,
34
+ localIcons: { ...p, ...e },
35
+ preloadPrefix: l
34
36
  });
35
37
  }
36
38
  export {
37
- d as setupIcons
39
+ u as setupIcons
38
40
  };
39
41
  //# sourceMappingURL=icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../../src/lib/icons.ts"],"sourcesContent":["// SmartAdmin 侧图标 bootstrap:把 4 套离线集 + 本地 SVG 注册进 smart-naive-icon,并同步装入 ph 子集。\n// 选择器/渲染器逻辑在该独立 npm 包里(见 components/IconPicker、components/AppIcon.vue),这里只做「注册配置」。\n// SmartAdmin 只保留三个薄封装(本文件 + AppIcon.vue + IconPicker/index.vue)。组件本体的 bug 去组件包的仓库提 issue\n// 或本地 patch,不要把组件逻辑复制进 SmartAdmin 修——那样同一套逻辑就有了两份。\nimport { addCollection } from '@iconify/vue'\nimport { setupSmartIcon, type IconCollection, type IconifyJSON } from 'smart-naive-icon'\nimport phSubset from '#/assets/icons/ph-subset.json'\n\n// 增删默认离线集:装/卸 `@iconify-json/<prefix>`,并在此加/删一行同 prefix 的 loader。\n// 每套是独立懒加载 chunk;`ph` 是全站默认集,整集只在选择器打开、或渲染到子集外的图标时才拉。\nconst collections: IconCollection[] = [\n {\n prefix: 'ph',\n name: 'Phosphor',\n loader: () => import('@iconify-json/ph/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'lucide',\n name: 'Lucide',\n loader: () => import('@iconify-json/lucide/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'ep',\n name: 'Element Plus',\n loader: () => import('@iconify-json/ep/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'ant-design',\n name: 'Ant Design',\n loader: () => import('@iconify-json/ant-design/icons.json').then(m => m.default as IconifyJSON),\n },\n]\n\n// 包没有「不预热」的开关:preloadIcons 拿不到 prefix 就退回第一套,故给一个必不存在的前缀把预热顶掉——\n// 只同步注册这份子集:预热整套 9000+ 图标(4.5 MB / 946 KB gz)会让首屏白拉掉 dist 四成的体积。\nconst NO_PRELOAD = '__none__'\n\n// 内核自带的本地 SVG(src/assets/svg/*.svg);消费方的经 createSmartAdmin({ icons }) 以同样的 glob 形状传入。\nconst kernelIcons = import.meta.glob('../assets/svg/*.svg', {\n query: '?raw',\n import: 'default',\n eager: true,\n}) as Record<string, string>\n\n/** 首屏调用一次:同步装入 ph 子集,再注册离线集 + 本地 SVG(内核自带 + 消费方传入)。 */\nexport function setupIcons(extraIcons: Record<string, string> = {}): void {\n // 子集同步入库,首帧即可离线渲染静态图标,不必等异步预热,也不会命中外部 CDN。\n // 子集由 `npm run gen:icons` 从 src 里实际用到的名字 + 内核种子菜单的图标生成(scripts/gen-icon-subset.mjs)。\n addCollection(phSubset as IconifyJSON)\n setupSmartIcon({\n collections,\n localIcons: { ...kernelIcons, ...extraIcons },\n preloadPrefix: NO_PRELOAD,\n })\n}\n"],"names":["collections","m","NO_PRELOAD","kernelIcons","__vite_glob_0_0","setupIcons","extraIcons","addCollection","phSubset","setupSmartIcon"],"mappings":";;;;AAUA,MAAMA,IAAgC;AAAA,EACpC;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAAC,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAExF;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,iCAAiC,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAE5F;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAExF;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,qCAAqC,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAElG,GAIMC,IAAa,YAGbC,IAAc,uBAAA,OAAA;AAAA,EAAA,0BAAAC;AAAA,CAAA;AAOb,SAASC,EAAWC,IAAqC,IAAU;AAGxE,EAAAC,EAAcC,CAAuB,GACrCC,EAAe;AAAA,IACb,aAAAT;AAAA,IACA,YAAY,EAAE,GAAGG,GAAa,GAAGG,EAAA;AAAA,IACjC,eAAeJ;AAAA,EAAA,CAChB;AACH;"}
1
+ {"version":3,"file":"icons.js","sources":["../../src/lib/icons.ts"],"sourcesContent":["// SmartAdmin 侧图标 bootstrap:把 4 套离线集 + 本地 SVG 注册进 smart-naive-icon,并同步装入 ph 子集。\n// 选择器/渲染器逻辑在该独立 npm 包里(见 components/IconPicker、components/AppIcon.vue),这里只做「注册配置」。\n// SmartAdmin 只保留三个薄封装(本文件 + AppIcon.vue + IconPicker/index.vue)。组件本体的 bug 去组件包的仓库提 issue\n// 或本地 patch,不要把组件逻辑复制进 SmartAdmin 修——那样同一套逻辑就有了两份。\nimport { addCollection } from '@iconify/vue'\nimport { setupSmartIcon, type IconCollection, type IconifyJSON } from 'smart-naive-icon'\nimport phSubset from '#/assets/icons/ph-subset.json'\n\n// 增删默认离线集:装/卸 `@iconify-json/<prefix>`,并在此加/删一行同 prefix 的 loader。\n// 每套是独立懒加载 chunk;`ph` 是全站默认集,整集只在选择器打开、或渲染到子集外的图标时才拉。\nconst collections: IconCollection[] = [\n {\n prefix: 'ph',\n name: 'Phosphor',\n loader: () => import('@iconify-json/ph/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'lucide',\n name: 'Lucide',\n loader: () => import('@iconify-json/lucide/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'ep',\n name: 'Element Plus',\n loader: () => import('@iconify-json/ep/icons.json').then(m => m.default as IconifyJSON),\n },\n {\n prefix: 'ant-design',\n name: 'Ant Design',\n loader: () => import('@iconify-json/ant-design/icons.json').then(m => m.default as IconifyJSON),\n },\n]\n\n// 包没有「不预热」的开关:preloadIcons 拿不到 prefix 就退回第一套,故给一个必不存在的前缀把预热顶掉——\n// 只同步注册这份子集:预热整套 9000+ 图标(4.5 MB / 946 KB gz)会让首屏白拉掉 dist 四成的体积。\nconst NO_PRELOAD = '__none__'\n\n// 内核自带的本地 SVG(src/assets/svg/*.svg);消费方的经 createSmartAdmin({ icons }) 以同样的 glob 形状传入。\nconst kernelIcons = import.meta.glob('../assets/svg/*.svg', {\n query: '?raw',\n import: 'default',\n eager: true,\n}) as Record<string, string>\n\n/**\n * 首屏调用一次:同步装入 ph 子集(内核的 + 消费方经 iconSets 传入的),再注册离线集 + 本地 SVG(内核自带 + 消费方传入)。\n */\nexport function setupIcons(\n extraIcons: Record<string, string> = {},\n extraSets: IconifyJSON[] = [],\n): void {\n // 子集同步入库,首帧即可离线渲染静态图标,不必等异步预热,也不会命中外部 CDN。\n // 内核子集由 `npm run gen:icons` 从包的 src 与种子菜单图标生成(scripts/gen-icon-subset.mjs);\n // 消费方的由 smart-admin-icons 从它自己的 src 生成。两份有重名也无妨,同名图标数据相同,后注册的覆盖前者。\n addCollection(phSubset as IconifyJSON)\n for (const set of extraSets) addCollection(set)\n setupSmartIcon({\n collections,\n localIcons: { ...kernelIcons, ...extraIcons },\n preloadPrefix: NO_PRELOAD,\n })\n}\n"],"names":["collections","m","NO_PRELOAD","kernelIcons","__vite_glob_0_0","setupIcons","extraIcons","extraSets","addCollection","phSubset","set","setupSmartIcon"],"mappings":";;;;AAUA,MAAMA,IAAgC;AAAA,EACpC;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAAC,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAExF;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,iCAAiC,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAE5F;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAAA,EAExF;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,qCAAqC,EAAE,KAAK,CAAAA,MAAKA,EAAE,OAAsB;AAAA,EAAA;AAElG,GAIMC,IAAa,YAGbC,IAAc,uBAAA,OAAA;AAAA,EAAA,0BAAAC;AAAA,CAAA;AASb,SAASC,EACdC,IAAqC,IACrCC,IAA2B,CAAA,GACrB;AAIN,EAAAC,EAAcC,CAAuB;AACrC,aAAWC,KAAOH,EAAW,CAAAC,EAAcE,CAAG;AAC9C,EAAAC,EAAe;AAAA,IACb,aAAAX;AAAA,IACA,YAAY,EAAE,GAAGG,GAAa,GAAGG,EAAA;AAAA,IACjC,eAAeJ;AAAA,EAAA,CAChB;AACH;"}