nfx-ui 0.27.0 → 0.29.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.
package/README.en.md ADDED
@@ -0,0 +1,12 @@
1
+ # NFX-UI
2
+
3
+ [中文](README.md)
4
+
5
+ Shared React library for NebulaForgeX (theme, i18n, hooks). **Not** a standalone site. Hosts: Identity, Vault, News, Storages, Documentation.
6
+
7
+ Exports and host wiring: [NFX-Documentation chapter 7](https://github.com/NebulaForgeX/NFX-Documentation/blob/main/books/en/chapter-07-nfx-ui.md). Current **0.29.0**; hosts pin exactly `"nfx-ui": "0.29.0"`. No `file:` dual path.
8
+
9
+ ```bash
10
+ npm install
11
+ npm run build
12
+ ```
package/README.md CHANGED
@@ -1,119 +1,12 @@
1
- # NFX-UI — Unified Frontend UI Library
1
+ # NFX-UI
2
2
 
3
- **NFX-UI 1.0** is the shared frontend UI library of the NebulaForgeX ecosystem. Chrome follows **CityPulso PulsoLink-Package** (Radix Themes + `react-pro-sidebar`). Hosts compose Radix primitives themselves; NFX-UI ships theme, language, layout, modal, and preference chrome.
3
+ [English](README.en.md)
4
4
 
5
- **NFX-UI 1.0** 是 NebulaForgeX 的共享前端 UI 库。壳层对齐 **CityPulso PulsoLink-Package**(Radix Themes + `react-pro-sidebar`)。宿主自己组合 Radix 原语;NFX-UI 提供主题、语言、布局、模态框与偏好设置壳。
5
+ NebulaForgeX 共享 React 库(主题、i18n、hooks)。**不是**独立站点。宿主:Identity、Vault、News、Storages、Documentation。
6
6
 
7
- Hosts: Identity, Vault, Documentation, Storages. Not LSR / PQTTEC / SJGZ.
8
-
9
- 宿主:Identity、Vault、Documentation、Storages。不含 LSR / PQTTEC / SJGZ。
10
-
11
- ---
12
-
13
- ## Install / 安装
14
-
15
- Host apps use the local package:
16
-
17
- 宿主使用本地包:
18
-
19
- ```json
20
- "nfx-ui": "file:../../NFX-UI"
21
- ```
22
-
23
- Peer versions follow PulsoLink-WEB (do not `ncu` past them independently):
24
-
25
- 对等依赖版本对齐 PulsoLink-WEB(不要单独 `ncu` 越过):
26
-
27
- - `react` / `react-dom` `^19.2.8`
28
- - `react-router` `^8.3.1` (not `react-router-dom`)
29
- - `@radix-ui/themes` `^3.3.0`, `radix-ui` `^1.6.7`, `@radix-ui/react-icons` `^1.3.2`
30
- - `lucide-react` `^1.41.0`
31
- - `vite` `^8.2.2`, `typescript` `~6.0.3`
32
-
33
- ---
34
-
35
- ## Host bootstrap / 宿主接入
36
-
37
- ```tsx
38
- import { LanguageEnum } from "nfx-ui/enums";
39
- import { LanguageProvider, ThemeProvider, ModalProvider } from "nfx-ui/providers";
40
- import { LayoutFrame, LayoutProvider, Sidebar, Header, Main, PageFrame } from "nfx-ui/layouts";
41
- import { PreferencesPopover, ThemeSettings, PageHeader, EmptyState } from "nfx-ui/components";
42
- import { usePreferenceStore } from "nfx-ui/stores";
43
- import { configurePreferenceSync, useSyncPreference, useApplyPreferenceOnLoad } from "nfx-ui/hooks";
44
- import { showInfo, showError, showSuccess, showConfirm } from "nfx-ui/stores";
45
- import "@radix-ui/themes/styles.css";
46
- import "nfx-ui/themes/fonts";
47
- import "nfx-ui/themes/styles.css";
48
-
49
- export function App() {
50
- return (
51
- <LanguageProvider getBuiltinBundles={getBuiltinI18nBundles}>
52
- <ThemeProvider>
53
- <LayoutProvider>
54
- <ModalProvider>
55
- <LayoutFrame items={menuItems}>{/* pages */}</LayoutFrame>
56
- </ModalProvider>
57
- </LayoutProvider>
58
- </ThemeProvider>
59
- </LanguageProvider>
60
- );
61
- }
62
- ```
63
-
64
- - `ThemeProvider` does **not** take `defaultTheme`. Theme lives on preference: `{ accent, gray, appearance, radius, scaling, panelBackground, fontFamily }`.
65
- - `ThemeProvider` **不再**接收 `defaultTheme`。主题在 preference 的 theme 对象上。
66
- - Fonts: import `"nfx-ui/themes/fonts"` (source, not bundled into every lib entry).
67
- - 字体:`"nfx-ui/themes/fonts"`(源码入口,不要打进每个 lib chunk)。
68
- - Page chrome: `PageFrame` + `PageHeader` (`icon` is required) + Radix `Card` / `Flex` / `Button` / `TextField`.
69
- - 页面壳:`PageFrame` + `PageHeader`(必须有 `icon`)+ Radix 原语。
70
- - Auth screens copy PulsoLink `AuthShell`. Theme/language UI is `PreferencesPopover` / `ThemeSettings`.
71
- - 登录页拷 PulsoLink `AuthShell`。主题/语言用 `PreferencesPopover` / `ThemeSettings`。
72
- - Queries: `useUnifiedQuery` / `useUnifiedInfiniteQuery` from `nfx-ui/hooks` (or `nfx-ui/utils`). Pages never call axios.
73
-
74
- ```tsx
75
- import { Button, TextField, Flex, Card } from "@radix-ui/themes";
76
- ```
77
-
78
- ---
79
-
80
- ## Modules / 模块
81
-
82
- | Module | Contents |
83
- |--------|----------|
84
- | **enums** | Language, appearance, accent, radius, dashboard background |
85
- | **providers** | ThemeProvider, LanguageProvider, ModalProvider |
86
- | **themes** | Radix mappings, fonts, CSS |
87
- | **languages** | i18n init, createI18nResources, labels |
88
- | **layouts** | LayoutFrame, Sidebar (`react-pro-sidebar`), Header, Main, PageFrame, UserTopBar |
89
- | **components** | PreferencesPopover, ThemeSettings, PageHeader, EmptyState, LucideIcon, Logo, VirtualList + Radix re-exports |
90
- | **stores** | preference + modal (`showInfo` / `showSuccess` / `showError` / `showConfirm` / `showLoading`) |
91
- | **hooks** | useUnifiedQuery, useSyncPreference, useApplyPreferenceOnLoad, configurePreferenceSync |
92
- | **animations** | WaveBackground, ECGLoading, TruckLoading, … |
93
- | **types / utils / constants** | Shared types and helpers |
94
-
95
- `useTheme().setTheme` takes `Partial<ResolvedThemePreference>`. Preference persist key is `nfx-preference`.
96
-
97
- ---
98
-
99
- ## Development / 开发
100
-
101
- This repo is library-only. Build with `npm run build`. Output in `dist/`. Font CSS must not be injected into every lib entry.
102
-
103
- 本仓库仅库模式。`npm run build` 输出到 `dist/`。字体 CSS 不得注入每个入口。
7
+ 接入与真实导出:[NFX-Documentation 第七章](https://github.com/NebulaForgeX/NFX-Documentation/blob/main/books/zh/chapter-07-nfx-ui.md)。当前 **0.29.0**,宿主精确钉 `"nfx-ui": "0.29.0"`。不要 `file:` 双路径。
104
8
 
105
9
  ```bash
106
10
  npm install
107
11
  npm run build
108
- npm run lint
109
12
  ```
110
-
111
- Test via host `file:../../NFX-UI`. Do not modify `Example/` (CityPulso PulsoLink is source of truth only).
112
-
113
- 用宿主 `file:../../NFX-UI` 验证。不要改 `Example/`(CityPulso PulsoLink 只作对照源)。
114
-
115
- ---
116
-
117
- ## License
118
-
119
- [MIT](LICENSE)
@@ -1,7 +1,7 @@
1
1
  import { CACHE_ITEM as e, CACHE_LIST as t } from "./caches.js";
2
2
  import { defineEnum as n, enumPickMap as r } from "./enums.js";
3
- import { ACCOUNT_SCOPE as i, AUTH_ACCOUNT_SCOPE as a, AUTH_EMAILS as o, AUTH_ME as s, AUTH_PHONES as c, AUTH_PROFILES as l, AUTH_PROFILE_SCOPE as u, PROFILE_SCOPE as d } from "./key.js";
4
- import { createItemKey as f } from "./query.itemkeys.js";
5
- import { createListKey as p } from "./query.listkeys.js";
6
- import { createKey as m, createQueryKeys as h } from "./querykeys.js";
7
- export { i as ACCOUNT_SCOPE, a as AUTH_ACCOUNT_SCOPE, o as AUTH_EMAILS, s as AUTH_ME, c as AUTH_PHONES, l as AUTH_PROFILES, u as AUTH_PROFILE_SCOPE, e as CACHE_ITEM, t as CACHE_LIST, d as PROFILE_SCOPE, f as createItemKey, m as createKey, p as createListKey, h as createQueryKeys, n as defineEnum, r as enumPickMap };
3
+ import { ACCOUNT_SCOPE as i, AUTH_ACCOUNT_SCOPE as a, AUTH_EMAILS as o, AUTH_ME as s, AUTH_OWNER_AUTHORITIES as c, AUTH_OWNER_FORGERS as l, AUTH_PHONES as u, AUTH_PROFILES as d, AUTH_PROFILE_SCOPE as f, AUTH_PROFILE_SEARCH as p, AUTH_PUBLIC_CARD as m, PROFILE_SCOPE as h } from "./key.js";
4
+ import { createItemKey as g } from "./query.itemkeys.js";
5
+ import { createListKey as _ } from "./query.listkeys.js";
6
+ import { createKey as v, createQueryKeys as y } from "./querykeys.js";
7
+ export { i as ACCOUNT_SCOPE, a as AUTH_ACCOUNT_SCOPE, o as AUTH_EMAILS, s as AUTH_ME, c as AUTH_OWNER_AUTHORITIES, l as AUTH_OWNER_FORGERS, u as AUTH_PHONES, d as AUTH_PROFILES, f as AUTH_PROFILE_SCOPE, p as AUTH_PROFILE_SEARCH, m as AUTH_PUBLIC_CARD, e as CACHE_ITEM, t as CACHE_LIST, h as PROFILE_SCOPE, g as createItemKey, v as createKey, _ as createListKey, y as createQueryKeys, n as defineEnum, r as enumPickMap };
@@ -8,4 +8,8 @@ export declare const AUTH_ME: (aID: string, pID: string) => QueryKey;
8
8
  export declare const AUTH_PROFILES: (aID: string, kind: ProfileKindEnum) => QueryKey;
9
9
  export declare const AUTH_EMAILS: (aID: string) => QueryKey;
10
10
  export declare const AUTH_PHONES: (aID: string) => QueryKey;
11
+ export declare const AUTH_OWNER_FORGERS: (aID: string) => QueryKey;
12
+ export declare const AUTH_OWNER_AUTHORITIES: (aID: string) => QueryKey;
13
+ export declare const AUTH_PUBLIC_CARD: (profileId: string) => QueryKey;
14
+ export declare const AUTH_PROFILE_SEARCH: (aID: string, kind: ProfileKindEnum, query: string) => QueryKey;
11
15
  //# sourceMappingURL=key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/constants/key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAsB,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,QAA8B,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAmC,CAAC;AAElG,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAiD,CAAC;AACrG,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,MAAM,eAAe,KAAG,QAAwD,CAAC;AAC5H,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC;AAC3F,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/constants/key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAsB,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,QAA8B,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAmC,CAAC;AAElG,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAiD,CAAC;AACrG,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,MAAM,eAAe,KAAG,QAAwD,CAAC;AAC5H,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC;AAC3F,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC;AAC3F,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,QAAuD,CAAC;AACzG,eAAO,MAAM,sBAAsB,GAAI,KAAK,MAAM,KAAG,QAA2D,CAAC;AACjH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,QAA2D,CAAC;AACjH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,MAAM,eAAe,EAAE,OAAO,MAAM,KAAG,QAAqE,CAAC"}
@@ -25,8 +25,30 @@ var e = "auth", t = (e) => [e], n = (e, t) => [e, t], r = (t) => [t, e], i = (t,
25
25
  e,
26
26
  "list",
27
27
  "phones"
28
+ ], l = (t) => [
29
+ t,
30
+ e,
31
+ "list",
32
+ "owner-forgers"
33
+ ], u = (t) => [
34
+ t,
35
+ e,
36
+ "list",
37
+ "owner-authorities"
38
+ ], d = (t) => [
39
+ e,
40
+ "item",
41
+ "public-card",
42
+ t
43
+ ], f = (t, n, r) => [
44
+ t,
45
+ e,
46
+ n,
47
+ "list",
48
+ "profile-search",
49
+ r
28
50
  ];
29
51
  //#endregion
30
- export { t as ACCOUNT_SCOPE, r as AUTH_ACCOUNT_SCOPE, s as AUTH_EMAILS, a as AUTH_ME, c as AUTH_PHONES, o as AUTH_PROFILES, i as AUTH_PROFILE_SCOPE, n as PROFILE_SCOPE };
52
+ export { t as ACCOUNT_SCOPE, r as AUTH_ACCOUNT_SCOPE, s as AUTH_EMAILS, a as AUTH_ME, u as AUTH_OWNER_AUTHORITIES, l as AUTH_OWNER_FORGERS, c as AUTH_PHONES, o as AUTH_PROFILES, i as AUTH_PROFILE_SCOPE, f as AUTH_PROFILE_SEARCH, d as AUTH_PUBLIC_CARD, n as PROFILE_SCOPE };
31
53
 
32
54
  //# sourceMappingURL=key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","names":[],"sources":["../../src/constants/key.ts"],"sourcesContent":["import type { QueryKey } from \"@tanstack/react-query\";\n\nimport { ProfileKindEnum } from \"nfx-ui/enums\";\n\nconst DOMAIN_AUTH = \"auth\";\n\nexport const ACCOUNT_SCOPE = (aID: string): QueryKey => [aID];\nexport const PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID];\nexport const AUTH_ACCOUNT_SCOPE = (aID: string): QueryKey => [aID, DOMAIN_AUTH];\nexport const AUTH_PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH];\n\nexport const AUTH_ME = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH, \"item\", \"me\"];\nexport const AUTH_PROFILES = (aID: string, kind: ProfileKindEnum): QueryKey => [aID, DOMAIN_AUTH, kind, \"list\", \"profiles\"];\nexport const AUTH_EMAILS = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"emails\"];\nexport const AUTH_PHONES = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"phones\"];\n"],"mappings":";AAIA,IAAM,IAAc,QAEP,KAAiB,MAA0B,CAAC,CAAG,GAC/C,KAAiB,GAAa,MAA0B,CAAC,GAAK,CAAG,GACjE,KAAsB,MAA0B,CAAC,GAAK,CAAW,GACjE,KAAsB,GAAa,MAA0B;CAAC;CAAK;CAAK;AAAW,GAEnF,KAAW,GAAa,MAA0B;CAAC;CAAK;CAAK;CAAa;CAAQ;AAAI,GACtF,KAAiB,GAAa,MAAoC;CAAC;CAAK;CAAa;CAAM;CAAQ;AAAU,GAC7G,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ,GAC5E,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ"}
1
+ {"version":3,"file":"key.js","names":[],"sources":["../../src/constants/key.ts"],"sourcesContent":["import type { QueryKey } from \"@tanstack/react-query\";\n\nimport { ProfileKindEnum } from \"nfx-ui/enums\";\n\nconst DOMAIN_AUTH = \"auth\";\n\nexport const ACCOUNT_SCOPE = (aID: string): QueryKey => [aID];\nexport const PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID];\nexport const AUTH_ACCOUNT_SCOPE = (aID: string): QueryKey => [aID, DOMAIN_AUTH];\nexport const AUTH_PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH];\n\nexport const AUTH_ME = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH, \"item\", \"me\"];\nexport const AUTH_PROFILES = (aID: string, kind: ProfileKindEnum): QueryKey => [aID, DOMAIN_AUTH, kind, \"list\", \"profiles\"];\nexport const AUTH_EMAILS = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"emails\"];\nexport const AUTH_PHONES = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"phones\"];\nexport const AUTH_OWNER_FORGERS = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"owner-forgers\"];\nexport const AUTH_OWNER_AUTHORITIES = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"owner-authorities\"];\nexport const AUTH_PUBLIC_CARD = (profileId: string): QueryKey => [DOMAIN_AUTH, \"item\", \"public-card\", profileId];\nexport const AUTH_PROFILE_SEARCH = (aID: string, kind: ProfileKindEnum, query: string): QueryKey => [aID, DOMAIN_AUTH, kind, \"list\", \"profile-search\", query];\n"],"mappings":";AAIA,IAAM,IAAc,QAEP,KAAiB,MAA0B,CAAC,CAAG,GAC/C,KAAiB,GAAa,MAA0B,CAAC,GAAK,CAAG,GACjE,KAAsB,MAA0B,CAAC,GAAK,CAAW,GACjE,KAAsB,GAAa,MAA0B;CAAC;CAAK;CAAK;AAAW,GAEnF,KAAW,GAAa,MAA0B;CAAC;CAAK;CAAK;CAAa;CAAQ;AAAI,GACtF,KAAiB,GAAa,MAAoC;CAAC;CAAK;CAAa;CAAM;CAAQ;AAAU,GAC7G,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ,GAC5E,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ,GAC5E,KAAsB,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAe,GAC1F,KAA0B,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAmB,GAClG,KAAoB,MAAgC;CAAC;CAAa;CAAQ;CAAe;AAAS,GAClG,KAAuB,GAAa,GAAuB,MAA4B;CAAC;CAAK;CAAa;CAAM;CAAQ;CAAkB;AAAK"}
@@ -5,7 +5,9 @@ export declare const authEvents: import('./EventEmitter').DefinedEvents<{
5
5
  LOGIN_SUCCESS: string;
6
6
  LOGOUT: string;
7
7
  INVALIDATE_EMAILS: string;
8
+ INVALIDATE_PHONES: string;
8
9
  INVALIDATE_PROFILES: string;
10
+ INVALIDATE_OWNER: string;
9
11
  }>;
10
12
  type AuthEvent = EventNamesOf<typeof authEvents>;
11
13
  export type InvalidateProfilesPayload = {
@@ -15,7 +17,9 @@ export type InvalidateProfilesPayload = {
15
17
  declare class AuthEventEmitter extends EventEmitter<AuthEvent> {
16
18
  constructor();
17
19
  invalidateEmails(aID?: string): void;
20
+ invalidatePhones(aID?: string): void;
18
21
  invalidateProfiles(payload: InvalidateProfilesPayload): void;
22
+ invalidateOwner(aID?: string): void;
19
23
  logout(): void;
20
24
  onLogout(callback: () => void): void;
21
25
  offLogout(callback: () => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/events/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAgB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxE,eAAO,MAAM,UAAU;;;;;;EAMrB,CAAC;AAEH,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,cAAM,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;;IAKpD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM;IAI7B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;IAIrD,MAAM;IAIN,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAG/B;AAED,eAAO,MAAM,gBAAgB,kBAAsC,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/events/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAgB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxE,eAAO,MAAM,UAAU;;;;;;;;EAQrB,CAAC;AAEH,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,cAAM,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;;IAKpD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM;IAI7B,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM;IAI7B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;IAIrD,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM;IAI5B,MAAM;IAIN,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAG/B;AAED,eAAO,MAAM,gBAAgB,kBAAsC,CAAC"}
@@ -6,7 +6,9 @@ var r = t({
6
6
  LOGIN_SUCCESS: "AUTH:LOGIN_SUCCESS",
7
7
  LOGOUT: "AUTH:LOGOUT",
8
8
  INVALIDATE_EMAILS: "AUTH:INVALIDATE_EMAILS",
9
- INVALIDATE_PROFILES: "AUTH:INVALIDATE_PROFILES"
9
+ INVALIDATE_PHONES: "AUTH:INVALIDATE_PHONES",
10
+ INVALIDATE_PROFILES: "AUTH:INVALIDATE_PROFILES",
11
+ INVALIDATE_OWNER: "AUTH:INVALIDATE_OWNER"
10
12
  }), i = new (n(class extends e {
11
13
  constructor() {
12
14
  super(r);
@@ -14,9 +16,15 @@ var r = t({
14
16
  invalidateEmails(e) {
15
17
  this.emit(r.INVALIDATE_EMAILS, e);
16
18
  }
19
+ invalidatePhones(e) {
20
+ this.emit(r.INVALIDATE_PHONES, e);
21
+ }
17
22
  invalidateProfiles(e) {
18
23
  this.emit(r.INVALIDATE_PROFILES, e);
19
24
  }
25
+ invalidateOwner(e) {
26
+ this.emit(r.INVALIDATE_OWNER, e);
27
+ }
20
28
  logout() {
21
29
  this.emit(r.LOGOUT);
22
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":[],"sources":["../../src/events/auth.ts"],"sourcesContent":["import type { ProfileKindEnum } from \"nfx-ui/enums\";\nimport type { EventNamesOf } from \"nfx-ui/events/EventEmitter\";\n\nimport { defineEvents, EventEmitter } from \"nfx-ui/events/EventEmitter\";\nimport { singleton } from \"nfx-ui/utils/singleton\";\n\nexport const authEvents = defineEvents({\n UPDATE_ACCOUNT_SUCCESS: \"AUTH:UPDATE_ACCOUNT_SUCCESS\",\n LOGIN_SUCCESS: \"AUTH:LOGIN_SUCCESS\",\n LOGOUT: \"AUTH:LOGOUT\",\n INVALIDATE_EMAILS: \"AUTH:INVALIDATE_EMAILS\",\n INVALIDATE_PROFILES: \"AUTH:INVALIDATE_PROFILES\",\n});\n\ntype AuthEvent = EventNamesOf<typeof authEvents>;\n\nexport type InvalidateProfilesPayload = {\n aID: string;\n kind: ProfileKindEnum;\n};\n\nclass AuthEventEmitter extends EventEmitter<AuthEvent> {\n constructor() {\n super(authEvents);\n }\n\n invalidateEmails(aID?: string) {\n this.emit(authEvents.INVALIDATE_EMAILS, aID);\n }\n\n invalidateProfiles(payload: InvalidateProfilesPayload) {\n this.emit(authEvents.INVALIDATE_PROFILES, payload);\n }\n\n logout() {\n this.emit(authEvents.LOGOUT);\n }\n\n onLogout(callback: () => void) {\n this.on(authEvents.LOGOUT, callback);\n }\n\n offLogout(callback: () => void) {\n this.off(authEvents.LOGOUT, callback);\n }\n}\n\nexport const authEventEmitter = new (singleton(AuthEventEmitter))();\n"],"mappings":";;;AAMA,IAAa,IAAa,EAAa;CACrC,wBAAwB;CACxB,eAAe;CACf,QAAQ;CACR,mBAAmB;CACnB,qBAAqB;AACvB,CAAC,GAmCY,IAAmB,KAAK,EAAU,cA1BhB,EAAwB;CACrD,cAAc;EACZ,MAAM,CAAU;CAClB;CAEA,iBAAiB,GAAc;EAC7B,KAAK,KAAK,EAAW,mBAAmB,CAAG;CAC7C;CAEA,mBAAmB,GAAoC;EACrD,KAAK,KAAK,EAAW,qBAAqB,CAAO;CACnD;CAEA,SAAS;EACP,KAAK,KAAK,EAAW,MAAM;CAC7B;CAEA,SAAS,GAAsB;EAC7B,KAAK,GAAG,EAAW,QAAQ,CAAQ;CACrC;CAEA,UAAU,GAAsB;EAC9B,KAAK,IAAI,EAAW,QAAQ,CAAQ;CACtC;AACF,CAE+D,GAAG"}
1
+ {"version":3,"file":"auth.js","names":[],"sources":["../../src/events/auth.ts"],"sourcesContent":["import type { ProfileKindEnum } from \"nfx-ui/enums\";\nimport type { EventNamesOf } from \"nfx-ui/events/EventEmitter\";\n\nimport { defineEvents, EventEmitter } from \"nfx-ui/events/EventEmitter\";\nimport { singleton } from \"nfx-ui/utils/singleton\";\n\nexport const authEvents = defineEvents({\n UPDATE_ACCOUNT_SUCCESS: \"AUTH:UPDATE_ACCOUNT_SUCCESS\",\n LOGIN_SUCCESS: \"AUTH:LOGIN_SUCCESS\",\n LOGOUT: \"AUTH:LOGOUT\",\n INVALIDATE_EMAILS: \"AUTH:INVALIDATE_EMAILS\",\n INVALIDATE_PHONES: \"AUTH:INVALIDATE_PHONES\",\n INVALIDATE_PROFILES: \"AUTH:INVALIDATE_PROFILES\",\n INVALIDATE_OWNER: \"AUTH:INVALIDATE_OWNER\",\n});\n\ntype AuthEvent = EventNamesOf<typeof authEvents>;\n\nexport type InvalidateProfilesPayload = {\n aID: string;\n kind: ProfileKindEnum;\n};\n\nclass AuthEventEmitter extends EventEmitter<AuthEvent> {\n constructor() {\n super(authEvents);\n }\n\n invalidateEmails(aID?: string) {\n this.emit(authEvents.INVALIDATE_EMAILS, aID);\n }\n\n invalidatePhones(aID?: string) {\n this.emit(authEvents.INVALIDATE_PHONES, aID);\n }\n\n invalidateProfiles(payload: InvalidateProfilesPayload) {\n this.emit(authEvents.INVALIDATE_PROFILES, payload);\n }\n\n invalidateOwner(aID?: string) {\n this.emit(authEvents.INVALIDATE_OWNER, aID);\n }\n\n logout() {\n this.emit(authEvents.LOGOUT);\n }\n\n onLogout(callback: () => void) {\n this.on(authEvents.LOGOUT, callback);\n }\n\n offLogout(callback: () => void) {\n this.off(authEvents.LOGOUT, callback);\n }\n}\n\nexport const authEventEmitter = new (singleton(AuthEventEmitter))();\n"],"mappings":";;;AAMA,IAAa,IAAa,EAAa;CACrC,wBAAwB;CACxB,eAAe;CACf,QAAQ;CACR,mBAAmB;CACnB,mBAAmB;CACnB,qBAAqB;CACrB,kBAAkB;AACpB,CAAC,GA2CY,IAAmB,KAAK,EAAU,cAlChB,EAAwB;CACrD,cAAc;EACZ,MAAM,CAAU;CAClB;CAEA,iBAAiB,GAAc;EAC7B,KAAK,KAAK,EAAW,mBAAmB,CAAG;CAC7C;CAEA,iBAAiB,GAAc;EAC7B,KAAK,KAAK,EAAW,mBAAmB,CAAG;CAC7C;CAEA,mBAAmB,GAAoC;EACrD,KAAK,KAAK,EAAW,qBAAqB,CAAO;CACnD;CAEA,gBAAgB,GAAc;EAC5B,KAAK,KAAK,EAAW,kBAAkB,CAAG;CAC5C;CAEA,SAAS;EACP,KAAK,KAAK,EAAW,MAAM;CAC7B;CAEA,SAAS,GAAsB;EAC7B,KAAK,GAAG,EAAW,QAAQ,CAAQ;CACrC;CAEA,UAAU,GAAsB;EAC9B,KAAK,IAAI,EAAW,QAAQ,CAAQ;CACtC;AACF,CAE+D,GAAG"}
@@ -3,6 +3,7 @@ import { Asset } from '../types';
3
3
  export type UseDeleteImageOptions = {
4
4
  ifShowError?: boolean;
5
5
  };
6
+ export declare const useAssetFileURL: () => (kind: Asset.Kind, id: string) => string;
6
7
  export declare const usePrepareUpload: () => import('@tanstack/react-query').UseMutationResult<Asset.Response.PrepareUpload, Error, {
7
8
  kind: Asset.Kind;
8
9
  params: Asset.Request.PrepareUpload;
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/hooks/asset.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAU1C,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB;UAGc,KAAK,CAAC,IAAI;YAAU,KAAK,CAAC,OAAO,CAAC,aAAa;WAEzF,CAAC;AAEF,eAAO,MAAM,gBAAgB;UAGc,KAAK,CAAC,IAAI;YAAU,KAAK,CAAC,OAAO,CAAC,aAAa;WAEzF,CAAC;AAEF,eAAO,MAAM,cAAc;UAGY,KAAK,CAAC,IAAI;QAAM,MAAM;WAK5D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,KAAK,CAAC,IAAI,2GAG7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,4JAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oIASjC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB,4GAW7D,CAAC"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/hooks/asset.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAU1C,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,eAAe,SAElB,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,WACrC,CAAC;AAEF,eAAO,MAAM,gBAAgB;UAGc,KAAK,CAAC,IAAI;YAAU,KAAK,CAAC,OAAO,CAAC,aAAa;WAEzF,CAAC;AAEF,eAAO,MAAM,gBAAgB;UAGc,KAAK,CAAC,IAAI;YAAU,KAAK,CAAC,OAAO,CAAC,aAAa;WAEzF,CAAC;AAEF,eAAO,MAAM,cAAc;UAGY,KAAK,CAAC,IAAI;QAAM,MAAM;WAK5D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,KAAK,CAAC,IAAI,2GAG7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,4JAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oIASjC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB,4GAW7D,CAAC"}
@@ -8,11 +8,14 @@ import { useMutation as s } from "@tanstack/react-query";
8
8
  //#region src/hooks/asset.ts
9
9
  var c = () => {
10
10
  let e = i();
11
- return s({ mutationFn: ({ kind: t, params: n }) => e.PrepareUpload(t, n) });
11
+ return (t, n) => e.FileURL(t, n);
12
12
  }, l = () => {
13
13
  let e = i();
14
- return s({ mutationFn: ({ kind: t, params: n }) => e.ConfirmUpload(t, n) });
14
+ return s({ mutationFn: ({ kind: t, params: n }) => e.PrepareUpload(t, n) });
15
15
  }, u = () => {
16
+ let e = i();
17
+ return s({ mutationFn: ({ kind: t, params: n }) => e.ConfirmUpload(t, n) });
18
+ }, d = () => {
16
19
  let e = i();
17
20
  return s({
18
21
  mutationFn: ({ kind: t, id: n }) => e.Delete(t, n),
@@ -20,17 +23,17 @@ var c = () => {
20
23
  a.showError(t(e, "[useDeleteAsset] error"));
21
24
  }
22
25
  });
23
- }, d = (e) => {
26
+ }, f = (e) => {
24
27
  let t = i();
25
28
  return o(() => t.List(e), [
26
29
  "asset",
27
30
  "list",
28
31
  e
29
32
  ], void 0);
30
- }, f = () => {
33
+ }, p = () => {
31
34
  let e = i();
32
35
  return s({ mutationFn: (t) => e.PrepareUpload("images", t) });
33
- }, p = () => {
36
+ }, m = () => {
34
37
  let t = i(), a = e.getState().currentAccountId;
35
38
  return s({
36
39
  mutationFn: (e) => t.ConfirmUpload("images", e),
@@ -38,7 +41,7 @@ var c = () => {
38
41
  n.emit(r.UPDATE_ACCOUNT_SUCCESS, a);
39
42
  }
40
43
  });
41
- }, m = (e) => {
44
+ }, h = (e) => {
42
45
  let n = i(), r = e?.ifShowError ?? !0;
43
46
  return s({
44
47
  mutationFn: (e) => n.Delete("images", e),
@@ -48,6 +51,6 @@ var c = () => {
48
51
  });
49
52
  };
50
53
  //#endregion
51
- export { p as useConfirmImageUpload, l as useConfirmUpload, u as useDeleteAsset, m as useDeleteImage, d as useListAssets, f as usePrepareImageUpload, c as usePrepareUpload };
54
+ export { c as useAssetFileURL, m as useConfirmImageUpload, u as useConfirmUpload, d as useDeleteAsset, h as useDeleteImage, f as useListAssets, p as usePrepareImageUpload, l as usePrepareUpload };
52
55
 
53
56
  //# sourceMappingURL=asset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","names":[],"sources":["../../src/hooks/asset.ts"],"sourcesContent":["/**\n * Asset upload hooks — 组件勿直接调 apis/asset\n */\nimport type { AxiosError } from \"axios\";\nimport type { Asset } from \"nfx-ui/types\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useAssetRepository } from \"nfx-ui/apis/repositories\";\nimport { authEventEmitter, authEvents } from \"nfx-ui/events/auth\";\nimport { systemEventEmitter } from \"nfx-ui/events/system\";\nimport { AuthStore } from \"nfx-ui/stores/auth\";\nimport { getApiErrorMessage } from \"nfx-ui/utils/apiError\";\nimport { useUnifiedQuery } from \"nfx-ui/utils/factory\";\n\nexport type UseDeleteImageOptions = {\n ifShowError?: boolean;\n};\n\nexport const usePrepareUpload = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, params }: { kind: Asset.Kind; params: Asset.Request.PrepareUpload }) => asset.PrepareUpload(kind, params),\n });\n};\n\nexport const useConfirmUpload = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, params }: { kind: Asset.Kind; params: Asset.Request.ConfirmUpload }) => asset.ConfirmUpload(kind, params),\n });\n};\n\nexport const useDeleteAsset = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, id }: { kind: Asset.Kind; id: string }) => asset.Delete(kind, id),\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteAsset] error\"));\n },\n });\n};\n\nexport const useListAssets = (kind: Asset.Kind) => {\n const asset = useAssetRepository();\n return useUnifiedQuery(() => asset.List(kind), [\"asset\", \"list\", kind], undefined);\n};\n\nexport const usePrepareImageUpload = () => {\n const asset = useAssetRepository();\n return useMutation<Asset.Response.PrepareUpload, AxiosError, Asset.Request.PrepareUpload>({\n mutationFn: (params) => asset.PrepareUpload(\"images\", params),\n });\n};\n\nexport const useConfirmImageUpload = () => {\n const asset = useAssetRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation<void, AxiosError, Asset.Request.ConfirmUpload>({\n mutationFn: (params) => asset.ConfirmUpload(\"images\", params),\n onSuccess: () => {\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n },\n });\n};\n\nexport const useDeleteImage = (options?: UseDeleteImageOptions) => {\n const asset = useAssetRepository();\n const ifShowError = options?.ifShowError ?? true;\n return useMutation({\n mutationFn: (id: string) => asset.Delete(\"images\", id),\n onError: (error: AxiosError) => {\n if (ifShowError) {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteImage] error\"));\n }\n },\n });\n};\n"],"mappings":";;;;;;;;AAkBA,IAAa,UAAyB;CACpC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY,EACjB,aAAa,EAAE,SAAM,gBAAwE,EAAM,cAAc,GAAM,CAAM,EAC/H,CAAC;AACH,GAEa,UAAyB;CACpC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY,EACjB,aAAa,EAAE,SAAM,gBAAwE,EAAM,cAAc,GAAM,CAAM,EAC/H,CAAC;AACH,GAEa,UAAuB;CAClC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY;EACjB,aAAa,EAAE,SAAM,YAA2C,EAAM,OAAO,GAAM,CAAE;EACrF,UAAU,MAAsB;GAC9B,EAAmB,UAAU,EAAmB,GAAO,wBAAwB,CAAC;EAClF;CACF,CAAC;AACH,GAEa,KAAiB,MAAqB;CACjD,IAAM,IAAQ,EAAmB;CACjC,OAAO,QAAsB,EAAM,KAAK,CAAI,GAAG;EAAC;EAAS;EAAQ;CAAI,GAAG,KAAA,CAAS;AACnF,GAEa,UAA8B;CACzC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAmF,EACxF,aAAa,MAAW,EAAM,cAAc,UAAU,CAAM,EAC9D,CAAC;AACH,GAEa,UAA8B;CACzC,IAAM,IAAQ,EAAmB,GAC3B,IAAY,EAAU,SAAS,CAAC,CAAC;CACvC,OAAO,EAA2D;EAChE,aAAa,MAAW,EAAM,cAAc,UAAU,CAAM;EAC5D,iBAAiB;GACf,EAAiB,KAAK,EAAW,wBAAwB,CAAS;EACpE;CACF,CAAC;AACH,GAEa,KAAkB,MAAoC;CACjE,IAAM,IAAQ,EAAmB,GAC3B,IAAc,GAAS,eAAe;CAC5C,OAAO,EAAY;EACjB,aAAa,MAAe,EAAM,OAAO,UAAU,CAAE;EACrD,UAAU,MAAsB;GAC9B,AAAI,KACF,EAAmB,UAAU,EAAmB,GAAO,wBAAwB,CAAC;EAEpF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"asset.js","names":[],"sources":["../../src/hooks/asset.ts"],"sourcesContent":["/**\n * Asset upload hooks — 组件勿直接调 apis/asset\n */\nimport type { AxiosError } from \"axios\";\nimport type { Asset } from \"nfx-ui/types\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useAssetRepository } from \"nfx-ui/apis/repositories\";\nimport { authEventEmitter, authEvents } from \"nfx-ui/events/auth\";\nimport { systemEventEmitter } from \"nfx-ui/events/system\";\nimport { AuthStore } from \"nfx-ui/stores/auth\";\nimport { getApiErrorMessage } from \"nfx-ui/utils/apiError\";\nimport { useUnifiedQuery } from \"nfx-ui/utils/factory\";\n\nexport type UseDeleteImageOptions = {\n ifShowError?: boolean;\n};\n\nexport const useAssetFileURL = () => {\n const asset = useAssetRepository();\n return (kind: Asset.Kind, id: string) => asset.FileURL(kind, id);\n};\n\nexport const usePrepareUpload = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, params }: { kind: Asset.Kind; params: Asset.Request.PrepareUpload }) => asset.PrepareUpload(kind, params),\n });\n};\n\nexport const useConfirmUpload = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, params }: { kind: Asset.Kind; params: Asset.Request.ConfirmUpload }) => asset.ConfirmUpload(kind, params),\n });\n};\n\nexport const useDeleteAsset = () => {\n const asset = useAssetRepository();\n return useMutation({\n mutationFn: ({ kind, id }: { kind: Asset.Kind; id: string }) => asset.Delete(kind, id),\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteAsset] error\"));\n },\n });\n};\n\nexport const useListAssets = (kind: Asset.Kind) => {\n const asset = useAssetRepository();\n return useUnifiedQuery(() => asset.List(kind), [\"asset\", \"list\", kind], undefined);\n};\n\nexport const usePrepareImageUpload = () => {\n const asset = useAssetRepository();\n return useMutation<Asset.Response.PrepareUpload, AxiosError, Asset.Request.PrepareUpload>({\n mutationFn: (params) => asset.PrepareUpload(\"images\", params),\n });\n};\n\nexport const useConfirmImageUpload = () => {\n const asset = useAssetRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation<void, AxiosError, Asset.Request.ConfirmUpload>({\n mutationFn: (params) => asset.ConfirmUpload(\"images\", params),\n onSuccess: () => {\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n },\n });\n};\n\nexport const useDeleteImage = (options?: UseDeleteImageOptions) => {\n const asset = useAssetRepository();\n const ifShowError = options?.ifShowError ?? true;\n return useMutation({\n mutationFn: (id: string) => asset.Delete(\"images\", id),\n onError: (error: AxiosError) => {\n if (ifShowError) {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteImage] error\"));\n }\n },\n });\n};\n"],"mappings":";;;;;;;;AAkBA,IAAa,UAAwB;CACnC,IAAM,IAAQ,EAAmB;CACjC,QAAQ,GAAkB,MAAe,EAAM,QAAQ,GAAM,CAAE;AACjE,GAEa,UAAyB;CACpC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY,EACjB,aAAa,EAAE,SAAM,gBAAwE,EAAM,cAAc,GAAM,CAAM,EAC/H,CAAC;AACH,GAEa,UAAyB;CACpC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY,EACjB,aAAa,EAAE,SAAM,gBAAwE,EAAM,cAAc,GAAM,CAAM,EAC/H,CAAC;AACH,GAEa,UAAuB;CAClC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAY;EACjB,aAAa,EAAE,SAAM,YAA2C,EAAM,OAAO,GAAM,CAAE;EACrF,UAAU,MAAsB;GAC9B,EAAmB,UAAU,EAAmB,GAAO,wBAAwB,CAAC;EAClF;CACF,CAAC;AACH,GAEa,KAAiB,MAAqB;CACjD,IAAM,IAAQ,EAAmB;CACjC,OAAO,QAAsB,EAAM,KAAK,CAAI,GAAG;EAAC;EAAS;EAAQ;CAAI,GAAG,KAAA,CAAS;AACnF,GAEa,UAA8B;CACzC,IAAM,IAAQ,EAAmB;CACjC,OAAO,EAAmF,EACxF,aAAa,MAAW,EAAM,cAAc,UAAU,CAAM,EAC9D,CAAC;AACH,GAEa,UAA8B;CACzC,IAAM,IAAQ,EAAmB,GAC3B,IAAY,EAAU,SAAS,CAAC,CAAC;CACvC,OAAO,EAA2D;EAChE,aAAa,MAAW,EAAM,cAAc,UAAU,CAAM;EAC5D,iBAAiB;GACf,EAAiB,KAAK,EAAW,wBAAwB,CAAS;EACpE;CACF,CAAC;AACH,GAEa,KAAkB,MAAoC;CACjE,IAAM,IAAQ,EAAmB,GAC3B,IAAc,GAAS,eAAe;CAC5C,OAAO,EAAY;EACjB,aAAa,MAAe,EAAM,OAAO,UAAU,CAAE;EACrD,UAAU,MAAsB;GAC9B,AAAI,KACF,EAAmB,UAAU,EAAmB,GAAO,wBAAwB,CAAC;EAEpF;CACF,CAAC;AACH"}
@@ -21,6 +21,11 @@ export declare const useLoginWithEmail: () => import('@tanstack/react-query').Us
21
21
  password: string;
22
22
  rememberMe: boolean;
23
23
  }, unknown>;
24
+ export declare const useLoginWithPhone: () => import('@tanstack/react-query').UseMutationResult<Login.Response.LoginWithEmail, AxiosError<unknown, any, any>, {
25
+ phone: string;
26
+ password: string;
27
+ rememberMe: boolean;
28
+ }, unknown>;
24
29
  export declare const useSelectProfile: () => import('@tanstack/react-query').UseMutationResult<Login.Response.SelectProfile, AxiosError<unknown, any, any>, {
25
30
  profileId: string;
26
31
  kind: Login.ProfileKind;
@@ -29,6 +34,7 @@ export declare const usePatchProfile: (options?: {
29
34
  silent?: boolean;
30
35
  }) => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, Profile.Request.PatchProfile, unknown>;
31
36
  export declare const useUpdateProfileSettings: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, Profile.Request.PatchProfileSettings, unknown>;
37
+ export declare const useUpdatePreference: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, string, unknown>;
32
38
  export declare const useListProfiles: <K extends ProfileKindEnum>(kind: K) => import('@tanstack/react-query').UseQueryResult<import('../types').ListDTOWithTotalNumber<import('../types').ProfileItemsByKind<K>[number]>, AxiosError<unknown, any, any>>;
33
39
  export declare const useCreateForgerProfile: () => import('@tanstack/react-query').UseMutationResult<Login.Response.CreateForgerProfile, AxiosError<unknown, any, any>, Login.Request.CreateForgerProfile, unknown>;
34
40
  export declare const useCreateAuthorityProfile: () => import('@tanstack/react-query').UseMutationResult<Login.Response.CreateAuthorityProfile, AxiosError<unknown, any, any>, Login.Request.CreateAuthorityProfile, unknown>;
@@ -58,6 +64,27 @@ export declare const useDeleteEmail: () => import('@tanstack/react-query').UseMu
58
64
  export declare const useSendChangePasswordVerificationCode: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, Login.Request.SendChangePasswordVerificationCode, unknown>;
59
65
  export declare const useChangePassword: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, Login.Request.ChangePassword, unknown>;
60
66
  export declare const useConfirmProfileBackgrounds: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, Profile.Request.ConfirmProfileBackgrounds, unknown>;
67
+ export declare const useCreatePhone: () => import('@tanstack/react-query').UseMutationResult<Login.Response.CreatePhone, AxiosError<unknown, any, any>, Login.Request.CreatePhone, unknown>;
68
+ export declare const useSendPhoneVerificationCode: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, string, unknown>;
69
+ export declare const useVerifyPhone: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, {
70
+ phoneId: string;
71
+ verificationCode: string;
72
+ }, unknown>;
73
+ export declare const useUpdatePhone: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, {
74
+ phoneId: string;
75
+ phone: string;
76
+ }, unknown>;
77
+ export declare const useSetPrimaryPhone: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, string, unknown>;
78
+ export declare const useDeletePhone: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, string, unknown>;
79
+ export declare const useSearchForgerProfiles: (query: string) => import('@tanstack/react-query').UseQueryResult<import('../types').ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>, AxiosError<unknown, any, any>>;
80
+ export declare const useSearchAuthorityProfiles: (query: string) => import('@tanstack/react-query').UseQueryResult<import('../types').ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>, AxiosError<unknown, any, any>>;
81
+ export declare const useGetPublicProfileCard: (profileId: string) => import('@tanstack/react-query').UseQueryResult<Profile.Response.ForgerProfileItem, AxiosError<unknown, any, any>>;
82
+ export declare const useListOwnerForgerProfiles: (query?: string) => import('@tanstack/react-query').UseQueryResult<import('../types').ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>, AxiosError<unknown, any, any>>;
83
+ export declare const useListOwnerAuthorityProfiles: (query?: string) => import('@tanstack/react-query').UseQueryResult<import('../types').ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>, AxiosError<unknown, any, any>>;
84
+ export declare const useUpdateAuthorityProfileRoles: () => import('@tanstack/react-query').UseMutationResult<void, AxiosError<unknown, any, any>, {
85
+ profileId: string;
86
+ authorityRoles: Profile.Request.UpdateAuthorityProfileRoles["authorityRoles"];
87
+ }, unknown>;
61
88
  export { hasSelectedProfile, AuthStore, useAuthStore };
62
89
  export { LanguageEnum, AuthSignupPlatformEnum };
63
90
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/hooks/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMjF,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EACL,SAAS,EAGT,kBAAkB,EAMlB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAQ5B,wBAAgB,iBAAiB;;;;;;EAMhC;AAWD,wBAAgB,iBAAiB,IAAI,oBAAoB,CAkBxD;AAED,eAAO,MAAM,uBAAuB,4IAYnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;gBAQoF,MAAM;;gBADvG,OAAO;8DAuCxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;WAG6B,MAAM;cAAY,MAAM;gBAAc,OAAO;WAsBvG,CAAC;AAEF,eAAO,MAAM,gBAAgB;eAG4B,MAAM;UAAQ,KAAK,CAAC,WAAW;WAqBvF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,kIAgB7D,CAAC;AAEF,eAAO,MAAM,wBAAwB,6IASpC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,eAAe,EAAE,MAAM,CAAC,uLASjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,wKAYlC,CAAC;AAEF,eAAO,MAAM,yBAAyB,8KAYrC,CAAC;AAEF,eAAO,MAAM,gBAAgB;UAGiB,eAAe;eAAa,MAAM;WAS/E,CAAC;AAEF,eAAO,MAAM,uBAAuB,6IASnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,6GASjC,CAAC;AAEF,eAAO,MAAM,aAAa,qJAMzB,CAAC;AAEF,eAAO,MAAM,aAAa,qJAMzB,CAAC;AAEF,eAAO,MAAM,cAAc,wJAc1B,CAAC;AAEF,eAAO,MAAM,4BAA4B;aAIM,MAAM;WAAS,YAAY;WAQzE,CAAC;AAEF,eAAO,MAAM,cAAc;aAKgC,MAAM;sBAAoB,MAAM;WAU1F,CAAC;AAEF,eAAO,MAAM,cAAc;aAKqB,MAAM;WAAS,MAAM;WASpE,CAAC;AAEF,eAAO,MAAM,kBAAkB,+GAe9B,CAAC;AAEF,eAAO,MAAM,cAAc,+GAc1B,CAAC;AAEF,eAAO,MAAM,qCAAqC,yJAYjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,qIAY7B,CAAC;AAEF,eAAO,MAAM,4BAA4B,kJAaxC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/hooks/auth.ts"],"names":[],"mappings":"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"}