nfx-ui 0.26.0 → 0.28.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/dist/apis/authRefresh.js.map +1 -1
- package/dist/apis/clients.js.map +1 -1
- package/dist/apis/ip.d.ts.map +1 -1
- package/dist/apis/ip.js.map +1 -1
- package/dist/apis/repositories/AssetRepository.d.ts.map +1 -1
- package/dist/apis/repositories/AssetRepository.js.map +1 -1
- package/dist/apis/repositories/AuthRepository.d.ts.map +1 -1
- package/dist/apis/repositories/AuthRepository.js.map +1 -1
- package/dist/config/env.js.map +1 -1
- package/dist/constants/index.js +5 -5
- package/dist/constants/key.d.ts +4 -0
- package/dist/constants/key.d.ts.map +1 -1
- package/dist/constants/key.js +23 -1
- package/dist/constants/key.js.map +1 -1
- package/dist/constants/querykeys.js.map +1 -1
- package/dist/enums/auth.d.ts.map +1 -1
- package/dist/enums/auth.js.map +1 -1
- package/dist/enums/dashboard.d.ts.map +1 -1
- package/dist/enums/dashboard.js.map +1 -1
- package/dist/enums/language.d.ts.map +1 -1
- package/dist/enums/language.js.map +1 -1
- package/dist/enums/layout.d.ts.map +1 -1
- package/dist/enums/layout.js.map +1 -1
- package/dist/enums/theme.d.ts.map +1 -1
- package/dist/enums/theme.js.map +1 -1
- package/dist/events/EventEmitter.d.ts.map +1 -1
- package/dist/events/EventEmitter.js.map +1 -1
- package/dist/events/auth.d.ts +4 -0
- package/dist/events/auth.d.ts.map +1 -1
- package/dist/events/auth.js +9 -1
- package/dist/events/auth.js.map +1 -1
- package/dist/events/query.d.ts.map +1 -1
- package/dist/events/query.js.map +1 -1
- package/dist/events/system.d.ts.map +1 -1
- package/dist/events/system.js.map +1 -1
- package/dist/hooks/asset.d.ts +1 -0
- package/dist/hooks/asset.d.ts.map +1 -1
- package/dist/hooks/asset.js +10 -7
- package/dist/hooks/asset.js.map +1 -1
- package/dist/hooks/auth.d.ts +27 -0
- package/dist/hooks/auth.d.ts.map +1 -1
- package/dist/hooks/auth.js +256 -111
- package/dist/hooks/auth.js.map +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -9
- package/dist/hooks/preference.d.ts.map +1 -1
- package/dist/hooks/preference.js.map +1 -1
- package/dist/languages/hooks/useLanguageLabel.d.ts.map +1 -1
- package/dist/languages/hooks/useLanguageLabel.js.map +1 -1
- package/dist/languages/hooks/useLayoutLabel.d.ts.map +1 -1
- package/dist/languages/hooks/useLayoutLabel.js.map +1 -1
- package/dist/languages/hooks/usePreferenceLabel.d.ts.map +1 -1
- package/dist/languages/hooks/usePreferenceLabel.js.map +1 -1
- package/dist/languages/hooks/useThemeLabel.d.ts.map +1 -1
- package/dist/languages/hooks/useThemeLabel.js.map +1 -1
- package/dist/languages/languages/i18n.d.ts.map +1 -1
- package/dist/languages/languages/i18n.js.map +1 -1
- package/dist/languages/languages/i18nResources.js.map +1 -1
- package/dist/languages/types/components.d.ts.map +1 -1
- package/dist/languages/types/language.d.ts.map +1 -1
- package/dist/languages/utils/getLocalLanguage.d.ts.map +1 -1
- package/dist/languages/utils/getLocalLanguage.js.map +1 -1
- package/dist/languages/utils/languageStorage.d.ts.map +1 -1
- package/dist/languages/utils/languageStorage.js.map +1 -1
- package/dist/navigations/GuestRoute.js.map +1 -1
- package/dist/navigations/ProtectedRoute.js.map +1 -1
- package/dist/providers/DataProvider/index.d.ts.map +1 -1
- package/dist/providers/DataProvider/index.js.map +1 -1
- package/dist/providers/LanguageProvider/index.d.ts.map +1 -1
- package/dist/providers/LanguageProvider/index.js.map +1 -1
- package/dist/providers/ThemeProvider/index.d.ts.map +1 -1
- package/dist/providers/ThemeProvider/index.js.map +1 -1
- package/dist/schemas/index.js +4 -4
- package/dist/schemas/loginSchema.d.ts +15 -0
- package/dist/schemas/loginSchema.d.ts.map +1 -1
- package/dist/schemas/loginSchema.js +20 -1
- package/dist/schemas/loginSchema.js.map +1 -1
- package/dist/schemas/profileEditSchema.d.ts.map +1 -1
- package/dist/schemas/profileEditSchema.js.map +1 -1
- package/dist/schemas/signupSchema.js.map +1 -1
- package/dist/stores/auth.d.ts.map +1 -1
- package/dist/stores/auth.js.map +1 -1
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/layout.js.map +1 -1
- package/dist/stores/preference.d.ts.map +1 -1
- package/dist/stores/preference.js.map +1 -1
- package/dist/themes/hooks/index.d.ts.map +1 -1
- package/dist/themes/hooks/useTheme.d.ts.map +1 -1
- package/dist/themes/hooks/useTheme.js.map +1 -1
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/radix/mappings.d.ts.map +1 -1
- package/dist/themes/radix/mappings.js.map +1 -1
- package/dist/themes/types/components.d.ts.map +1 -1
- package/dist/themes/types/context.d.ts.map +1 -1
- package/dist/themes/types/index.d.ts.map +1 -1
- package/dist/themes/types/theme.d.ts.map +1 -1
- package/dist/types/domain/auth/login.d.ts.map +1 -1
- package/dist/types/domain/auth/profile.d.ts.map +1 -1
- package/dist/types/domain/auth/signup.d.ts.map +1 -1
- package/dist/utils/apiError.d.ts.map +1 -1
- package/dist/utils/apiError.js.map +1 -1
- package/dist/utils/array.d.ts.map +1 -1
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/domain/account.d.ts.map +1 -1
- package/dist/utils/domain/account.js.map +1 -1
- package/dist/utils/domain/buildProfilePatch.d.ts.map +1 -1
- package/dist/utils/domain/buildProfilePatch.js.map +1 -1
- package/dist/utils/domain/images.js.map +1 -1
- package/dist/utils/factory/hooks.d.ts.map +1 -1
- package/dist/utils/factory/hooks.js.map +1 -1
- package/dist/utils/lstorage.d.ts.map +1 -1
- package/dist/utils/lstorage.js.map +1 -1
- package/dist/utils/safe.d.ts.map +1 -1
- package/dist/utils/safe.js.map +1 -1
- package/dist/utils/suspense.d.ts.map +1 -1
- package/dist/utils/suspense.js.map +1 -1
- package/package.json +1 -1
- package/src/apis/authRefresh.ts +4 -4
- package/src/apis/clients.ts +5 -5
- package/src/apis/ip.ts +1 -1
- package/src/apis/repositories/AssetRepository.ts +1 -1
- package/src/apis/repositories/AuthRepository.ts +2 -2
- package/src/config/env.ts +1 -1
- package/src/constants/key.ts +5 -1
- package/src/constants/querykeys.ts +1 -1
- package/src/enums/auth.ts +2 -2
- package/src/enums/dashboard.ts +2 -2
- package/src/enums/language.ts +2 -2
- package/src/enums/layout.ts +2 -2
- package/src/enums/theme.ts +2 -2
- package/src/events/EventEmitter.ts +1 -1
- package/src/events/auth.ts +14 -4
- package/src/events/query.ts +3 -3
- package/src/events/system.ts +3 -3
- package/src/hooks/asset.ts +12 -7
- package/src/hooks/auth.ts +238 -12
- package/src/hooks/index.ts +1 -1
- package/src/hooks/preference.ts +5 -5
- package/src/languages/hooks/useLanguageLabel.ts +1 -1
- package/src/languages/hooks/useLayoutLabel.ts +1 -1
- package/src/languages/hooks/usePreferenceLabel.ts +1 -1
- package/src/languages/hooks/useThemeLabel.ts +1 -1
- package/src/languages/languages/i18n.ts +3 -3
- package/src/languages/languages/i18nResources.ts +1 -1
- package/src/languages/types/components.ts +1 -1
- package/src/languages/types/language.ts +1 -1
- package/src/languages/utils/getLocalLanguage.ts +2 -2
- package/src/languages/utils/languageStorage.ts +3 -3
- package/src/navigations/GuestRoute.tsx +1 -1
- package/src/navigations/ProtectedRoute.tsx +1 -1
- package/src/providers/DataProvider/index.tsx +7 -7
- package/src/providers/LanguageProvider/index.tsx +6 -6
- package/src/providers/ThemeProvider/index.tsx +4 -4
- package/src/schemas/loginSchema.ts +25 -0
- package/src/schemas/profileEditSchema.ts +4 -4
- package/src/schemas/signupSchema.ts +1 -1
- package/src/stores/auth.ts +3 -3
- package/src/stores/index.ts +1 -1
- package/src/stores/layout.ts +1 -1
- package/src/stores/preference.ts +5 -5
- package/src/themes/hooks/index.ts +1 -1
- package/src/themes/hooks/useTheme.ts +4 -4
- package/src/themes/index.ts +2 -2
- package/src/themes/radix/mappings.ts +2 -2
- package/src/themes/types/components.ts +1 -1
- package/src/themes/types/context.ts +2 -2
- package/src/themes/types/index.ts +1 -1
- package/src/themes/types/theme.ts +1 -1
- package/src/types/domain/auth/login.ts +2 -2
- package/src/types/domain/auth/profile.ts +1 -1
- package/src/types/domain/auth/signup.ts +1 -1
- package/src/utils/apiError.ts +2 -2
- package/src/utils/array.ts +1 -1
- package/src/utils/domain/account.ts +2 -2
- package/src/utils/domain/buildProfilePatch.ts +6 -6
- package/src/utils/domain/images.ts +1 -1
- package/src/utils/factory/hooks.ts +1 -1
- package/src/utils/lstorage.ts +1 -1
- package/src/utils/safe.ts +1 -1
- package/src/utils/suspense.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginSchema.js","names":[],"sources":["../../src/schemas/loginSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { z } from \"zod\";\n\n/** 登录表单;校验文案来自 host `pages.Account.Login` → `form.validation.*` */\nexport function createLoginSchema(t: TFunction) {\n return z.object({\n email: z.string().min(1, t(\"form.validation.emailRequired\")).email(t(\"form.validation.emailInvalid\")),\n password: z.string().min(1, t(\"form.validation.passwordRequired\")),\n rememberMe: z.boolean().optional(),\n });\n}\n\nexport type LoginFormData = z.infer<ReturnType<typeof createLoginSchema>>;\n\nexport const useInitLoginForm = () => {\n const { t } = useTranslation(\"pages.Account.Login\");\n const schema = createLoginSchema(t);\n\n return useForm<LoginFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n email: \"\",\n password: \"\",\n rememberMe: false,\n },\n });\n};\n"],"mappings":";;;;;AAQA,SAAgB,EAAkB,GAAc;CAC9C,OAAO,EAAE,OAAO;EACd,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC,MAAM,EAAE,8BAA8B,CAAC;EACpG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,kCAAkC,CAAC;EACjE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC;AACH;AAIA,IAAa,UAAyB;CACpC,IAAM,EAAE,SAAM,EAAe,qBAAqB,GAC5C,IAAS,EAAkB,CAAC;CAElC,OAAO,EAAuB;EAC5B,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,UAAU;GACV,YAAY;EACd;CACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"loginSchema.js","names":[],"sources":["../../src/schemas/loginSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { z } from \"zod\";\n\n/** 登录表单;校验文案来自 host `pages.Account.Login` → `form.validation.*` */\nexport function createLoginSchema(t: TFunction) {\n return z.object({\n email: z.string().min(1, t(\"form.validation.emailRequired\")).email(t(\"form.validation.emailInvalid\")),\n password: z.string().min(1, t(\"form.validation.passwordRequired\")),\n rememberMe: z.boolean().optional(),\n });\n}\n\nexport type LoginFormData = z.infer<ReturnType<typeof createLoginSchema>>;\n\nexport const useInitLoginForm = () => {\n const { t } = useTranslation(\"pages.Account.Login\");\n const schema = createLoginSchema(t);\n\n return useForm<LoginFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n email: \"\",\n password: \"\",\n rememberMe: false,\n },\n });\n};\n\nexport function createLoginWithPhoneSchema(t: TFunction) {\n return z.object({\n phone: z.string().min(1, t(\"form.validation.phoneRequired\")).min(6, t(\"form.validation.phoneInvalid\")),\n password: z.string().min(1, t(\"form.validation.passwordRequired\")),\n rememberMe: z.boolean().optional(),\n });\n}\n\nexport type LoginWithPhoneFormData = z.infer<ReturnType<typeof createLoginWithPhoneSchema>>;\n\nexport const useInitLoginWithPhoneForm = () => {\n const { t } = useTranslation(\"pages.Account.Login\");\n const schema = createLoginWithPhoneSchema(t);\n\n return useForm<LoginWithPhoneFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n phone: \"\",\n password: \"\",\n rememberMe: false,\n },\n });\n};\n"],"mappings":";;;;;AAQA,SAAgB,EAAkB,GAAc;CAC9C,OAAO,EAAE,OAAO;EACd,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC,MAAM,EAAE,8BAA8B,CAAC;EACpG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,kCAAkC,CAAC;EACjE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC;AACH;AAIA,IAAa,UAAyB;CACpC,IAAM,EAAE,SAAM,EAAe,qBAAqB,GAC5C,IAAS,EAAkB,CAAC;CAElC,OAAO,EAAuB;EAC5B,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,UAAU;GACV,YAAY;EACd;CACF,CAAC;AACH;AAEA,SAAgB,EAA2B,GAAc;CACvD,OAAO,EAAE,OAAO;EACd,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,8BAA8B,CAAC;EACrG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,kCAAkC,CAAC;EACjE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC;AACH;AAIA,IAAa,UAAkC;CAC7C,IAAM,EAAE,SAAM,EAAe,qBAAqB,GAC5C,IAAS,EAA2B,CAAC;CAE3C,OAAO,EAAgC;EACrC,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,UAAU;GACV,YAAY;EACd;CACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileEditSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/profileEditSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"profileEditSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/profileEditSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;AAKtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,uBAAuB,CAc3G;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,SAAS;;;;;;;;;;;;kBAmBvD;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAE9F,wBAAgB,uCAAuC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;;;mBAStF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAU/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileEditSchema.js","names":[],"sources":["../../src/schemas/profileEditSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\nimport type { Profile } from \"
|
|
1
|
+
{"version":3,"file":"profileEditSchema.js","names":[],"sources":["../../src/schemas/profileEditSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\nimport type { Profile } from \"nfx-ui/types\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { Language, LanguageEnum } from \"nfx-ui/enums\";\nimport { toDateInputValue } from \"nfx-ui/utils/time\";\nimport { safeStringable } from \"nfx-ui/utils/safe\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { z } from \"zod\";\n\nexport function buildUserProfileEditDefaults(profile: Profile.Response.ProfileBase): UserProfileEditFormData {\n return {\n profileLanguage: Language(profile.profileLanguage),\n displayName: safeStringable(profile.displayName),\n firstName: safeStringable(profile.firstName),\n lastName: safeStringable(profile.lastName),\n country: safeStringable(profile.country),\n city: safeStringable(profile.city),\n gender: safeStringable(profile.gender),\n birthday: toDateInputValue(profile.birthday),\n website: safeStringable(profile.website),\n timezone: safeStringable(profile.timezone),\n bio: safeStringable(profile.bio),\n };\n}\n\nexport function createUserProfileEditSchema(t: TFunction) {\n const optionalString = (max: number) => z.string().trim().max(max, t(\"edit.validation.maxLength\", { max }));\n\n return z.object({\n profileLanguage: z.enum(LanguageEnum),\n displayName: optionalString(150),\n firstName: optionalString(100),\n lastName: optionalString(100),\n country: optionalString(100),\n city: optionalString(100),\n gender: optionalString(100),\n birthday: z\n .string()\n .trim()\n .refine((value) => value === \"\" || /^\\d{4}-\\d{2}-\\d{2}$/.test(value), t(\"edit.validation.birthdayInvalid\")),\n website: optionalString(100).refine((value) => !value || /^https?:\\/\\/.+/i.test(value), t(\"edit.validation.websiteInvalid\")),\n timezone: optionalString(100),\n bio: optionalString(5000),\n });\n}\n\nexport type UserProfileEditFormData = z.infer<ReturnType<typeof createUserProfileEditSchema>>;\n\nexport function createUserProfileBackgroundsFieldSchema(t: TFunction, maxImages: number) {\n return z\n .array(\n z.object({\n imageId: z.string().min(1),\n sortOrder: z.number().int().nonnegative(),\n }),\n )\n .max(maxImages, t(\"backgroundUpload.limitReached\", { max: maxImages }));\n}\n\nexport function useInitUserProfileEditForm(profile: Profile.Response.ProfileBase) {\n const { t } = useTranslation(\"pages.User.Profile.Edit\");\n const schema = createUserProfileEditSchema(t);\n const defaultValues = buildUserProfileEditDefaults(profile);\n\n return useForm<UserProfileEditFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues,\n });\n}\n"],"mappings":";;;;;;;;AAWA,SAAgB,EAA6B,GAAgE;CAC3G,OAAO;EACL,iBAAiB,EAAS,EAAQ,eAAe;EACjD,aAAa,EAAe,EAAQ,WAAW;EAC/C,WAAW,EAAe,EAAQ,SAAS;EAC3C,UAAU,EAAe,EAAQ,QAAQ;EACzC,SAAS,EAAe,EAAQ,OAAO;EACvC,MAAM,EAAe,EAAQ,IAAI;EACjC,QAAQ,EAAe,EAAQ,MAAM;EACrC,UAAU,EAAiB,EAAQ,QAAQ;EAC3C,SAAS,EAAe,EAAQ,OAAO;EACvC,UAAU,EAAe,EAAQ,QAAQ;EACzC,KAAK,EAAe,EAAQ,GAAG;CACjC;AACF;AAEA,SAAgB,EAA4B,GAAc;CACxD,IAAM,KAAkB,MAAgB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAK,EAAE,6BAA6B,EAAE,OAAI,CAAC,CAAC;CAE1G,OAAO,EAAE,OAAO;EACd,iBAAiB,EAAE,KAAK,CAAY;EACpC,aAAa,EAAe,GAAG;EAC/B,WAAW,EAAe,GAAG;EAC7B,UAAU,EAAe,GAAG;EAC5B,SAAS,EAAe,GAAG;EAC3B,MAAM,EAAe,GAAG;EACxB,QAAQ,EAAe,GAAG;EAC1B,UAAU,EACP,OAAO,CAAC,CACR,KAAK,CAAC,CACN,QAAQ,MAAU,MAAU,MAAM,sBAAsB,KAAK,CAAK,GAAG,EAAE,iCAAiC,CAAC;EAC5G,SAAS,EAAe,GAAG,CAAC,CAAC,QAAQ,MAAU,CAAC,KAAS,kBAAkB,KAAK,CAAK,GAAG,EAAE,gCAAgC,CAAC;EAC3H,UAAU,EAAe,GAAG;EAC5B,KAAK,EAAe,GAAI;CAC1B,CAAC;AACH;AAIA,SAAgB,EAAwC,GAAc,GAAmB;CACvF,OAAO,EACJ,MACC,EAAE,OAAO;EACP,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;EACzB,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY;CAC1C,CAAC,CACH,CAAC,CACA,IAAI,GAAW,EAAE,iCAAiC,EAAE,KAAK,EAAU,CAAC,CAAC;AAC1E;AAEA,SAAgB,EAA2B,GAAuC;CAChF,IAAM,EAAE,MAAM,EAAe,yBAAyB,GAChD,IAAS,EAA4B,CAAC,GACtC,IAAgB,EAA6B,CAAO;CAE1D,OAAO,EAAiC;EACtC,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN;CACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signupSchema.js","names":[],"sources":["../../src/schemas/signupSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { normalizeVerificationCode, VERIFICATION_CODE_ALPHABET } from \"
|
|
1
|
+
{"version":3,"file":"signupSchema.js","names":[],"sources":["../../src/schemas/signupSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { normalizeVerificationCode, VERIFICATION_CODE_ALPHABET } from \"nfx-ui/utils/domain/verificationCode\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { z } from \"zod\";\n\nconst VERIFICATION_CODE_PATTERN = new RegExp(`^[${VERIFICATION_CODE_ALPHABET}]{6}$`);\n\n/** 注册表单;校验文案来自 host `pages.Account.Signup` → `validation.*` */\nexport function createSignupSchema(t: TFunction) {\n return z\n .object({\n email: z.string().min(1, t(\"validation.emailRequired\")).email(t(\"validation.emailInvalid\")),\n verificationCode: z\n .string()\n .min(1, t(\"validation.codeRequired\"))\n .transform((value) => normalizeVerificationCode(value))\n .pipe(z.string().regex(VERIFICATION_CODE_PATTERN, t(\"validation.codeInvalid\"))),\n password: z.string().min(1, t(\"validation.passwordRequired\")).min(8, t(\"validation.passwordMin\")),\n confirmPassword: z.string().min(1, t(\"validation.confirmRequired\")),\n rememberMe: z.boolean().optional(),\n })\n .refine((data) => data.password === data.confirmPassword, {\n message: t(\"validation.passwordMismatch\"),\n path: [\"confirmPassword\"],\n });\n}\n\nexport type SignupFormData = z.infer<ReturnType<typeof createSignupSchema>>;\n\nexport const useInitSignupForm = () => {\n const { t } = useTranslation(\"pages.Account.Signup\");\n const schema = createSignupSchema(t);\n\n return useForm<SignupFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n email: \"\",\n verificationCode: \"\",\n password: \"\",\n confirmPassword: \"\",\n rememberMe: false,\n },\n });\n};\n"],"mappings":";;;;;;AAQA,IAAM,IAAgC,OAAO,KAAK,EAA2B,MAAM;AAGnF,SAAgB,EAAmB,GAAc;CAC/C,OAAO,EACJ,OAAO;EACN,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,MAAM,EAAE,yBAAyB,CAAC;EAC1F,kBAAkB,EACf,OAAO,CAAC,CACR,IAAI,GAAG,EAAE,yBAAyB,CAAC,CAAC,CACpC,WAAW,MAAU,EAA0B,CAAK,CAAC,CAAC,CACtD,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,GAA2B,EAAE,wBAAwB,CAAC,CAAC;EAChF,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,6BAA6B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,wBAAwB,CAAC;EAChG,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,4BAA4B,CAAC;EAClE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC,CAAC,CACD,QAAQ,MAAS,EAAK,aAAa,EAAK,iBAAiB;EACxD,SAAS,EAAE,6BAA6B;EACxC,MAAM,CAAC,iBAAiB;CAC1B,CAAC;AACL;AAIA,IAAa,UAA0B;CACrC,IAAM,EAAE,SAAM,EAAe,sBAAsB,GAC7C,IAAS,EAAmB,CAAC;CAEnC,OAAO,EAAwB;EAC7B,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,kBAAkB;GAClB,UAAU;GACV,iBAAiB;GACjB,YAAY;EACd;CACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/stores/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/stores/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAqC,eAAe,EAAE,MAAM,cAAc,CAAC;AAGlF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,UAAU,WAAW;IACnB,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,qBAAqB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAKD,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AACvE,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAgDD,wBAAgB,aAAa,IAAI,QAAQ,CAAC,SAAS,CAAC,CAgBnD;AAsCD,wBAAgB,yBAAyB,SAExC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,QAErD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AA0BD,QAAA,MAAe,SAAS;;;;;;;;GAAY,YAAY,2DAkC7C,CAAC;AAEJ,QAAA,MAAM,cAAc,gBA9LY,OAAO,KAAK,IA8Lc,CAAC;AAC3D,QAAA,MAAM,SAAS,WA9LO,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,IA8LrC,CAAC;AACjD,QAAA,MAAM,mBAAmB,cA9LU,MAAM,KAAK,IA8LsB,CAAC;AACrE,QAAA,MAAM,mBAAmB,cA9LU,MAAM,KAAK,IA8LsB,CAAC;AACrE,QAAA,MAAM,qBAAqB,SA9LK,eAAe,KAAK,IA8LoB,CAAC;AACzE,QAAA,MAAM,SAAS,QA9LI,IA8L6B,CAAC;AAyCjD,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CA+B1E;AAED,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/stores/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","names":[],"sources":["../../src/stores/auth.ts"],"sourcesContent":["import type { Tokens } from \"@/types\";\n\nimport { DEFAULT_PROFILE_KIND, ProfileKind, ProfileKindEnum } from \"@/enums\";\nimport { makeStore } from \"@/stores/makeStore\";\n\n/**\n * Auth session: memory is source of truth.\n * Persistence is ONE key in ONE storage: rememberMe → localStorage, else sessionStorage.\n * Step-1 login tokens (profile not selected) stay memory-only.\n */\nexport type AuthState = {\n isAuthValid: boolean;\n accessToken: Nullable<string>;\n refreshToken: Nullable<string>;\n currentAccountId: string;\n currentProfileId: string;\n currentProfileKind: ProfileKindEnum;\n rememberMe: boolean;\n};\n\ninterface AuthActions {\n setIsAuthValid: (isAuthValid: boolean) => void;\n setTokens: (tokens: Tokens.Response.Tokens, options?: { rememberMe?: boolean }) => void;\n setCurrentAccountId: (accountId: string) => void;\n setCurrentProfileId: (profileId: string) => void;\n setCurrentProfileKind: (kind: ProfileKindEnum) => void;\n clearAuth: () => void;\n}\n\nconst AUTH_STORAGE_KEY = \"nfx-auth-storage\";\nconst AUTH_BROADCAST_CHANNEL = \"nfx-auth\";\n\nexport const EMPTY_ACCOUNT_ID = \"00000000-0000-0000-0000-000000000000\";\nexport const EMPTY_PROFILE_ID = \"00000000-0000-0000-0000-000000000000\";\n\nexport function hasSelectedProfile(profileId: string): boolean {\n return profileId !== EMPTY_PROFILE_ID && profileId.trim() !== \"\";\n}\n\nconst LOGGED_OUT_STATE: AuthState = {\n isAuthValid: false,\n accessToken: null,\n refreshToken: null,\n currentAccountId: EMPTY_ACCOUNT_ID,\n currentProfileId: EMPTY_PROFILE_ID,\n currentProfileKind: DEFAULT_PROFILE_KIND,\n rememberMe: false,\n};\n\ntype AuthBroadcastMessage = { type: \"auth\"; snapshot: AuthState } | { type: \"clear\" };\n\nfunction parseSnapshot(raw: Nullable<string>): Nullable<AuthState> {\n if (!raw) return null;\n let value: unknown;\n try {\n value = JSON.parse(raw);\n } catch {\n return null;\n }\n if (!value || typeof value !== \"object\") return null;\n const target = value as Partial<AuthState>;\n\n const accessToken = typeof target.accessToken === \"string\" ? target.accessToken : null;\n const refreshToken = typeof target.refreshToken === \"string\" ? target.refreshToken : null;\n const currentAccountId = typeof target.currentAccountId === \"string\" ? target.currentAccountId : EMPTY_ACCOUNT_ID;\n const currentProfileId = typeof target.currentProfileId === \"string\" ? target.currentProfileId : EMPTY_PROFILE_ID;\n if (!accessToken || !refreshToken || !hasSelectedProfile(currentProfileId)) return null;\n\n return {\n isAuthValid: typeof target.isAuthValid === \"boolean\" ? target.isAuthValid : false,\n accessToken,\n refreshToken,\n currentAccountId,\n currentProfileId,\n currentProfileKind: ProfileKind(target.currentProfileKind),\n rememberMe: target.rememberMe === true,\n };\n}\n\nfunction clearPersistedAuth() {\n if (typeof window === \"undefined\") return;\n window.localStorage.removeItem(AUTH_STORAGE_KEY);\n window.sessionStorage.removeItem(AUTH_STORAGE_KEY);\n}\n\nexport function readAuthState(): Nullable<AuthState> {\n if (typeof window === \"undefined\") return null;\n const localRaw = window.localStorage.getItem(AUTH_STORAGE_KEY);\n const sessionRaw = window.sessionStorage.getItem(AUTH_STORAGE_KEY);\n\n if (localRaw != null && sessionRaw != null) {\n clearPersistedAuth();\n return null;\n }\n\n const snapshot = parseSnapshot(localRaw) ?? parseSnapshot(sessionRaw);\n if (!snapshot) {\n if (localRaw != null || sessionRaw != null) clearPersistedAuth();\n return null;\n }\n return { ...snapshot, rememberMe: localRaw != null };\n}\n\nfunction persist(snapshot: AuthState) {\n if (typeof window === \"undefined\") return;\n if (!snapshot.isAuthValid || !snapshot.accessToken || !snapshot.refreshToken || !hasSelectedProfile(snapshot.currentProfileId)) {\n clearPersistedAuth();\n return;\n }\n const payload = JSON.stringify(snapshot);\n if (snapshot.rememberMe) {\n window.localStorage.setItem(AUTH_STORAGE_KEY, payload);\n window.sessionStorage.removeItem(AUTH_STORAGE_KEY);\n } else {\n window.sessionStorage.setItem(AUTH_STORAGE_KEY, payload);\n window.localStorage.removeItem(AUTH_STORAGE_KEY);\n }\n}\n\nlet authBroadcast: Nullable<BroadcastChannel> = null;\nlet suppressSync = false;\n\nfunction getAuthBroadcast(): Nullable<BroadcastChannel> {\n if (typeof window === \"undefined\" || typeof BroadcastChannel === \"undefined\") return null;\n if (!authBroadcast) authBroadcast = new BroadcastChannel(AUTH_BROADCAST_CHANNEL);\n return authBroadcast;\n}\n\nfunction broadcastAuth(message: AuthBroadcastMessage) {\n if (suppressSync) return;\n try {\n getAuthBroadcast()?.postMessage(message);\n } catch {\n // single-tab still works\n }\n}\n\nlet rejectedRefreshToken: Nullable<string> = null;\n\nexport function clearRejectedRefreshToken() {\n rejectedRefreshToken = null;\n}\n\nexport function markRejectedRefreshToken(token: string) {\n rejectedRefreshToken = token;\n}\n\nexport function isRejectedRefreshToken(token: string): boolean {\n return rejectedRefreshToken != null && rejectedRefreshToken === token;\n}\n\nconst initialState: AuthState = readAuthState() ?? LOGGED_OUT_STATE;\n\nfunction snapshotFromMemory(overrides: Partial<AuthState> = {}): AuthState {\n const current = AuthStore.getState();\n return {\n isAuthValid: current.isAuthValid,\n accessToken: current.accessToken,\n refreshToken: current.refreshToken,\n currentAccountId: current.currentAccountId,\n currentProfileId: current.currentProfileId,\n currentProfileKind: current.currentProfileKind,\n rememberMe: current.rememberMe,\n ...overrides,\n };\n}\n\nfunction commitAuthState(snapshot: AuthState) {\n AuthStore.setState(snapshot);\n persist(snapshot);\n if (hasSelectedProfile(snapshot.currentProfileId)) {\n broadcastAuth({ type: \"auth\", snapshot });\n }\n}\n\nconst { store: AuthStore, useStore: useAuthStore } = makeStore<AuthState, AuthActions>(initialState, (set) => ({\n setIsAuthValid: (isAuthValid) => {\n commitAuthState(snapshotFromMemory({ isAuthValid }));\n },\n\n setTokens: (tokens, options) => {\n clearRejectedRefreshToken();\n commitAuthState(\n snapshotFromMemory({\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n ...(options?.rememberMe != null ? { rememberMe: options.rememberMe } : {}),\n }),\n );\n },\n\n setCurrentAccountId: (accountId) => {\n commitAuthState(snapshotFromMemory({ currentAccountId: accountId }));\n },\n\n setCurrentProfileId: (profileId) => {\n commitAuthState(snapshotFromMemory({ currentProfileId: profileId }));\n },\n\n setCurrentProfileKind: (kind) => {\n commitAuthState(snapshotFromMemory({ currentProfileKind: ProfileKind(kind) }));\n },\n\n clearAuth: () => {\n clearPersistedAuth();\n clearRejectedRefreshToken();\n broadcastAuth({ type: \"clear\" });\n set({ ...LOGGED_OUT_STATE });\n },\n}));\n\nconst setIsAuthValid = AuthStore.getState().setIsAuthValid;\nconst setTokens = AuthStore.getState().setTokens;\nconst setCurrentAccountId = AuthStore.getState().setCurrentAccountId;\nconst setCurrentProfileId = AuthStore.getState().setCurrentProfileId;\nconst setCurrentProfileKind = AuthStore.getState().setCurrentProfileKind;\nconst clearAuth = AuthStore.getState().clearAuth;\n\nfunction statesEqual(a: AuthState, b: AuthState): boolean {\n return (\n a.isAuthValid === b.isAuthValid &&\n a.accessToken === b.accessToken &&\n a.refreshToken === b.refreshToken &&\n a.currentAccountId === b.currentAccountId &&\n a.currentProfileId === b.currentProfileId &&\n a.currentProfileKind === b.currentProfileKind &&\n a.rememberMe === b.rememberMe\n );\n}\n\nfunction applyRemoteSnapshot(snapshot: AuthState): boolean {\n if (statesEqual(AuthStore.getState(), snapshot)) return false;\n suppressSync = true;\n try {\n AuthStore.setState(snapshot);\n persist(snapshot);\n clearRejectedRefreshToken();\n } finally {\n suppressSync = false;\n }\n return true;\n}\n\nfunction applyRemoteClear(): boolean {\n const current = AuthStore.getState();\n if (!current.isAuthValid && !current.accessToken && !current.refreshToken) return false;\n suppressSync = true;\n try {\n clearPersistedAuth();\n clearRejectedRefreshToken();\n AuthStore.setState({ ...LOGGED_OUT_STATE });\n } finally {\n suppressSync = false;\n }\n return true;\n}\n\nexport function subscribeAuthStorageSync(onSynced?: () => void): () => void {\n if (typeof window === \"undefined\") return () => undefined;\n\n const onStorage = (event: StorageEvent) => {\n if (event.storageArea !== window.localStorage) return;\n if (event.key != null && event.key !== AUTH_STORAGE_KEY) return;\n const snapshot = readAuthState();\n const changed = snapshot ? applyRemoteSnapshot(snapshot) : applyRemoteClear();\n if (changed) onSynced?.();\n };\n\n const channel = getAuthBroadcast();\n const onBroadcast = (event: MessageEvent<AuthBroadcastMessage>) => {\n const data = event.data;\n if (!data || typeof data !== \"object\") return;\n let changed = false;\n if (data.type === \"clear\") {\n changed = applyRemoteClear();\n } else if (data.type === \"auth\" && data.snapshot) {\n changed = applyRemoteSnapshot(data.snapshot);\n }\n if (changed) onSynced?.();\n };\n\n window.addEventListener(\"storage\", onStorage);\n channel?.addEventListener(\"message\", onBroadcast);\n\n return () => {\n window.removeEventListener(\"storage\", onStorage);\n channel?.removeEventListener(\"message\", onBroadcast);\n };\n}\n\nexport { setIsAuthValid, setTokens, setCurrentAccountId, setCurrentProfileId, setCurrentProfileKind, clearAuth };\nexport { AuthStore, useAuthStore };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","names":[],"sources":["../../src/stores/auth.ts"],"sourcesContent":["import type { Tokens } from \"nfx-ui/types\";\n\nimport { DEFAULT_PROFILE_KIND, ProfileKind, ProfileKindEnum } from \"nfx-ui/enums\";\nimport { makeStore } from \"nfx-ui/stores/makeStore\";\n\n/**\n * Auth session: memory is source of truth.\n * Persistence is ONE key in ONE storage: rememberMe → localStorage, else sessionStorage.\n * Step-1 login tokens (profile not selected) stay memory-only.\n */\nexport type AuthState = {\n isAuthValid: boolean;\n accessToken: Nullable<string>;\n refreshToken: Nullable<string>;\n currentAccountId: string;\n currentProfileId: string;\n currentProfileKind: ProfileKindEnum;\n rememberMe: boolean;\n};\n\ninterface AuthActions {\n setIsAuthValid: (isAuthValid: boolean) => void;\n setTokens: (tokens: Tokens.Response.Tokens, options?: { rememberMe?: boolean }) => void;\n setCurrentAccountId: (accountId: string) => void;\n setCurrentProfileId: (profileId: string) => void;\n setCurrentProfileKind: (kind: ProfileKindEnum) => void;\n clearAuth: () => void;\n}\n\nconst AUTH_STORAGE_KEY = \"nfx-auth-storage\";\nconst AUTH_BROADCAST_CHANNEL = \"nfx-auth\";\n\nexport const EMPTY_ACCOUNT_ID = \"00000000-0000-0000-0000-000000000000\";\nexport const EMPTY_PROFILE_ID = \"00000000-0000-0000-0000-000000000000\";\n\nexport function hasSelectedProfile(profileId: string): boolean {\n return profileId !== EMPTY_PROFILE_ID && profileId.trim() !== \"\";\n}\n\nconst LOGGED_OUT_STATE: AuthState = {\n isAuthValid: false,\n accessToken: null,\n refreshToken: null,\n currentAccountId: EMPTY_ACCOUNT_ID,\n currentProfileId: EMPTY_PROFILE_ID,\n currentProfileKind: DEFAULT_PROFILE_KIND,\n rememberMe: false,\n};\n\ntype AuthBroadcastMessage = { type: \"auth\"; snapshot: AuthState } | { type: \"clear\" };\n\nfunction parseSnapshot(raw: Nullable<string>): Nullable<AuthState> {\n if (!raw) return null;\n let value: unknown;\n try {\n value = JSON.parse(raw);\n } catch {\n return null;\n }\n if (!value || typeof value !== \"object\") return null;\n const target = value as Partial<AuthState>;\n\n const accessToken = typeof target.accessToken === \"string\" ? target.accessToken : null;\n const refreshToken = typeof target.refreshToken === \"string\" ? target.refreshToken : null;\n const currentAccountId = typeof target.currentAccountId === \"string\" ? target.currentAccountId : EMPTY_ACCOUNT_ID;\n const currentProfileId = typeof target.currentProfileId === \"string\" ? target.currentProfileId : EMPTY_PROFILE_ID;\n if (!accessToken || !refreshToken || !hasSelectedProfile(currentProfileId)) return null;\n\n return {\n isAuthValid: typeof target.isAuthValid === \"boolean\" ? target.isAuthValid : false,\n accessToken,\n refreshToken,\n currentAccountId,\n currentProfileId,\n currentProfileKind: ProfileKind(target.currentProfileKind),\n rememberMe: target.rememberMe === true,\n };\n}\n\nfunction clearPersistedAuth() {\n if (typeof window === \"undefined\") return;\n window.localStorage.removeItem(AUTH_STORAGE_KEY);\n window.sessionStorage.removeItem(AUTH_STORAGE_KEY);\n}\n\nexport function readAuthState(): Nullable<AuthState> {\n if (typeof window === \"undefined\") return null;\n const localRaw = window.localStorage.getItem(AUTH_STORAGE_KEY);\n const sessionRaw = window.sessionStorage.getItem(AUTH_STORAGE_KEY);\n\n if (localRaw != null && sessionRaw != null) {\n clearPersistedAuth();\n return null;\n }\n\n const snapshot = parseSnapshot(localRaw) ?? parseSnapshot(sessionRaw);\n if (!snapshot) {\n if (localRaw != null || sessionRaw != null) clearPersistedAuth();\n return null;\n }\n return { ...snapshot, rememberMe: localRaw != null };\n}\n\nfunction persist(snapshot: AuthState) {\n if (typeof window === \"undefined\") return;\n if (!snapshot.isAuthValid || !snapshot.accessToken || !snapshot.refreshToken || !hasSelectedProfile(snapshot.currentProfileId)) {\n clearPersistedAuth();\n return;\n }\n const payload = JSON.stringify(snapshot);\n if (snapshot.rememberMe) {\n window.localStorage.setItem(AUTH_STORAGE_KEY, payload);\n window.sessionStorage.removeItem(AUTH_STORAGE_KEY);\n } else {\n window.sessionStorage.setItem(AUTH_STORAGE_KEY, payload);\n window.localStorage.removeItem(AUTH_STORAGE_KEY);\n }\n}\n\nlet authBroadcast: Nullable<BroadcastChannel> = null;\nlet suppressSync = false;\n\nfunction getAuthBroadcast(): Nullable<BroadcastChannel> {\n if (typeof window === \"undefined\" || typeof BroadcastChannel === \"undefined\") return null;\n if (!authBroadcast) authBroadcast = new BroadcastChannel(AUTH_BROADCAST_CHANNEL);\n return authBroadcast;\n}\n\nfunction broadcastAuth(message: AuthBroadcastMessage) {\n if (suppressSync) return;\n try {\n getAuthBroadcast()?.postMessage(message);\n } catch {\n // single-tab still works\n }\n}\n\nlet rejectedRefreshToken: Nullable<string> = null;\n\nexport function clearRejectedRefreshToken() {\n rejectedRefreshToken = null;\n}\n\nexport function markRejectedRefreshToken(token: string) {\n rejectedRefreshToken = token;\n}\n\nexport function isRejectedRefreshToken(token: string): boolean {\n return rejectedRefreshToken != null && rejectedRefreshToken === token;\n}\n\nconst initialState: AuthState = readAuthState() ?? LOGGED_OUT_STATE;\n\nfunction snapshotFromMemory(overrides: Partial<AuthState> = {}): AuthState {\n const current = AuthStore.getState();\n return {\n isAuthValid: current.isAuthValid,\n accessToken: current.accessToken,\n refreshToken: current.refreshToken,\n currentAccountId: current.currentAccountId,\n currentProfileId: current.currentProfileId,\n currentProfileKind: current.currentProfileKind,\n rememberMe: current.rememberMe,\n ...overrides,\n };\n}\n\nfunction commitAuthState(snapshot: AuthState) {\n AuthStore.setState(snapshot);\n persist(snapshot);\n if (hasSelectedProfile(snapshot.currentProfileId)) {\n broadcastAuth({ type: \"auth\", snapshot });\n }\n}\n\nconst { store: AuthStore, useStore: useAuthStore } = makeStore<AuthState, AuthActions>(initialState, (set) => ({\n setIsAuthValid: (isAuthValid) => {\n commitAuthState(snapshotFromMemory({ isAuthValid }));\n },\n\n setTokens: (tokens, options) => {\n clearRejectedRefreshToken();\n commitAuthState(\n snapshotFromMemory({\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n ...(options?.rememberMe != null ? { rememberMe: options.rememberMe } : {}),\n }),\n );\n },\n\n setCurrentAccountId: (accountId) => {\n commitAuthState(snapshotFromMemory({ currentAccountId: accountId }));\n },\n\n setCurrentProfileId: (profileId) => {\n commitAuthState(snapshotFromMemory({ currentProfileId: profileId }));\n },\n\n setCurrentProfileKind: (kind) => {\n commitAuthState(snapshotFromMemory({ currentProfileKind: ProfileKind(kind) }));\n },\n\n clearAuth: () => {\n clearPersistedAuth();\n clearRejectedRefreshToken();\n broadcastAuth({ type: \"clear\" });\n set({ ...LOGGED_OUT_STATE });\n },\n}));\n\nconst setIsAuthValid = AuthStore.getState().setIsAuthValid;\nconst setTokens = AuthStore.getState().setTokens;\nconst setCurrentAccountId = AuthStore.getState().setCurrentAccountId;\nconst setCurrentProfileId = AuthStore.getState().setCurrentProfileId;\nconst setCurrentProfileKind = AuthStore.getState().setCurrentProfileKind;\nconst clearAuth = AuthStore.getState().clearAuth;\n\nfunction statesEqual(a: AuthState, b: AuthState): boolean {\n return (\n a.isAuthValid === b.isAuthValid &&\n a.accessToken === b.accessToken &&\n a.refreshToken === b.refreshToken &&\n a.currentAccountId === b.currentAccountId &&\n a.currentProfileId === b.currentProfileId &&\n a.currentProfileKind === b.currentProfileKind &&\n a.rememberMe === b.rememberMe\n );\n}\n\nfunction applyRemoteSnapshot(snapshot: AuthState): boolean {\n if (statesEqual(AuthStore.getState(), snapshot)) return false;\n suppressSync = true;\n try {\n AuthStore.setState(snapshot);\n persist(snapshot);\n clearRejectedRefreshToken();\n } finally {\n suppressSync = false;\n }\n return true;\n}\n\nfunction applyRemoteClear(): boolean {\n const current = AuthStore.getState();\n if (!current.isAuthValid && !current.accessToken && !current.refreshToken) return false;\n suppressSync = true;\n try {\n clearPersistedAuth();\n clearRejectedRefreshToken();\n AuthStore.setState({ ...LOGGED_OUT_STATE });\n } finally {\n suppressSync = false;\n }\n return true;\n}\n\nexport function subscribeAuthStorageSync(onSynced?: () => void): () => void {\n if (typeof window === \"undefined\") return () => undefined;\n\n const onStorage = (event: StorageEvent) => {\n if (event.storageArea !== window.localStorage) return;\n if (event.key != null && event.key !== AUTH_STORAGE_KEY) return;\n const snapshot = readAuthState();\n const changed = snapshot ? applyRemoteSnapshot(snapshot) : applyRemoteClear();\n if (changed) onSynced?.();\n };\n\n const channel = getAuthBroadcast();\n const onBroadcast = (event: MessageEvent<AuthBroadcastMessage>) => {\n const data = event.data;\n if (!data || typeof data !== \"object\") return;\n let changed = false;\n if (data.type === \"clear\") {\n changed = applyRemoteClear();\n } else if (data.type === \"auth\" && data.snapshot) {\n changed = applyRemoteSnapshot(data.snapshot);\n }\n if (changed) onSynced?.();\n };\n\n window.addEventListener(\"storage\", onStorage);\n channel?.addEventListener(\"message\", onBroadcast);\n\n return () => {\n window.removeEventListener(\"storage\", onStorage);\n channel?.removeEventListener(\"message\", onBroadcast);\n };\n}\n\nexport { setIsAuthValid, setTokens, setCurrentAccountId, setCurrentProfileId, setCurrentProfileKind, clearAuth };\nexport { AuthStore, useAuthStore };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","names":[],"sources":["../../src/stores/layout.ts"],"sourcesContent":["import { makePersistStore } from \"
|
|
1
|
+
{"version":3,"file":"layout.js","names":[],"sources":["../../src/stores/layout.ts"],"sourcesContent":["import { makePersistStore } from \"nfx-ui/stores/makeStore\";\n\ninterface LayoutState {\n headerHeight: number;\n footerHeight: number;\n isAsiderOpen: boolean;\n}\n\ninterface LayoutActions {\n setHeaderHeight: (headerHeight: number) => void;\n setFooterHeight: (footerHeight: number) => void;\n openAsider: () => void;\n closeAsider: () => void;\n setAsiderOpen: (isAsiderOpen: boolean) => void;\n}\n\nconst LAYOUT_STORAGE_KEY = \"nfx-layout-storage\";\n\nconst { store: LayoutStore, useStore: useLayoutStore } = makePersistStore<LayoutState, LayoutActions>({\n name: LAYOUT_STORAGE_KEY,\n initialState: {\n headerHeight: 0,\n footerHeight: 0,\n isAsiderOpen: false,\n },\n actions: (set) => ({\n setHeaderHeight: (headerHeight) => set({ headerHeight }),\n setFooterHeight: (footerHeight) => set({ footerHeight }),\n openAsider: () => set({ isAsiderOpen: true }),\n closeAsider: () => set({ isAsiderOpen: false }),\n setAsiderOpen: (isAsiderOpen) => set({ isAsiderOpen }),\n }),\n});\n\nconst setHeaderHeight = LayoutStore.getState().setHeaderHeight;\nconst setFooterHeight = LayoutStore.getState().setFooterHeight;\nconst openAsider = LayoutStore.getState().openAsider;\nconst closeAsider = LayoutStore.getState().closeAsider;\nconst setAsiderOpen = LayoutStore.getState().setAsiderOpen;\n\nexport { setHeaderHeight, setFooterHeight, openAsider, closeAsider, setAsiderOpen };\nexport { LayoutStore, useLayoutStore };\n"],"mappings":";;AAkBA,IAAM,EAAE,OAAO,GAAa,UAAU,MAAmB,EAA6C;CACpG,MAAM;CACN,cAAc;EACZ,cAAc;EACd,cAAc;EACd,cAAc;CAChB;CACA,UAAU,OAAS;EACjB,kBAAkB,MAAiB,EAAI,EAAE,gBAAa,CAAC;EACvD,kBAAkB,MAAiB,EAAI,EAAE,gBAAa,CAAC;EACvD,kBAAkB,EAAI,EAAE,cAAc,GAAK,CAAC;EAC5C,mBAAmB,EAAI,EAAE,cAAc,GAAM,CAAC;EAC9C,gBAAgB,MAAiB,EAAI,EAAE,gBAAa,CAAC;CACvD;AACF,CAAC,GAEK,IAAkB,EAAY,SAAS,CAAC,CAAC,iBACzC,IAAkB,EAAY,SAAS,CAAC,CAAC,iBACzC,IAAa,EAAY,SAAS,CAAC,CAAC,YACpC,IAAc,EAAY,SAAS,CAAC,CAAC,aACrC,IAAgB,EAAY,SAAS,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference.d.ts","sourceRoot":"","sources":["../../src/stores/preference.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAuB,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"preference.d.ts","sourceRoot":"","sources":["../../src/stores/preference.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAuB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAqD,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAqD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,mBAAmB,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C;AAED,wBAAgB,oBAAoB,IAAI,kBAAkB,CAOzD;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAUtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAOhF;AAED,UAAU,iBAAiB;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,iBAAiB,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAe,eAAe;;;;;;;;;;;;;;;;;;;;GAAY,kBAAkB,0EAqB1D,CAAC;AAEH,QAAA,MAAM,aAAa,UA3BM,eAAe,KAAK,IA2BiB,CAAC;AAC/D,QAAA,MAAM,iBAAiB,SA3BK,kBAAkB,KAAK,IA2BmB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference.js","names":[],"sources":["../../src/stores/preference.ts"],"sourcesContent":["/**\n * Shared preference store — theme + language + layout (no map/billing/event).\n */\nimport { DEFAULT_LAYOUT_MODE, LayoutModeEnum } from \"
|
|
1
|
+
{"version":3,"file":"preference.js","names":[],"sources":["../../src/stores/preference.ts"],"sourcesContent":["/**\n * Shared preference store — theme + language + layout (no map/billing/event).\n */\nimport { DEFAULT_LAYOUT_MODE, LayoutModeEnum } from \"nfx-ui/enums/layout\";\nimport { DEFAULT_LANGUAGE, Language, type LanguageEnum } from \"nfx-ui/enums/language\";\nimport { DashboardBackground, DEFAULT_DASHBOARD_BACKGROUND, DashboardBackgroundEnum } from \"nfx-ui/enums/dashboard\";\nimport { getDefaultThemePreference, resolveThemePreference, type ResolvedThemePreference } from \"nfx-ui/themes/radix\";\nimport { makePersistStore } from \"nfx-ui/stores/makeStore\";\n\nexport interface ResolvedPreference {\n language: LanguageEnum;\n theme: ResolvedThemePreference;\n layoutMode: LayoutModeEnum;\n dashboardBackground: DashboardBackgroundEnum;\n}\n\nexport interface PreferencePatch {\n language?: LanguageEnum;\n theme?: Partial<ResolvedThemePreference>;\n layoutMode?: LayoutModeEnum;\n dashboardBackground?: DashboardBackgroundEnum;\n}\n\nexport function getDefaultPreference(): ResolvedPreference {\n return {\n language: DEFAULT_LANGUAGE,\n theme: getDefaultThemePreference(),\n layoutMode: DEFAULT_LAYOUT_MODE,\n dashboardBackground: DEFAULT_DASHBOARD_BACKGROUND,\n };\n}\n\nfunction isPlainRecord(v: unknown): v is Record<string, unknown> {\n return v !== null && typeof v === \"object\" && !Array.isArray(v);\n}\n\nexport function parseServerPreference(raw: unknown): ResolvedPreference {\n const d = getDefaultPreference();\n if (!isPlainRecord(raw)) return d;\n const themeRaw = isPlainRecord(raw.theme) ? (raw.theme as Partial<ResolvedThemePreference>) : undefined;\n return {\n language: Language(typeof raw.language === \"string\" ? raw.language : undefined),\n theme: resolveThemePreference(themeRaw),\n layoutMode: raw.layoutMode === LayoutModeEnum.HIDE ? LayoutModeEnum.HIDE : DEFAULT_LAYOUT_MODE,\n dashboardBackground: DashboardBackground(typeof raw.dashboardBackground === \"string\" ? raw.dashboardBackground : undefined),\n };\n}\n\nexport function toServerPreference(state: ResolvedPreference): ResolvedPreference {\n return {\n language: state.language,\n theme: { ...state.theme },\n layoutMode: state.layoutMode,\n dashboardBackground: state.dashboardBackground,\n };\n}\n\ninterface PreferenceActions {\n setPreference: (patch: PreferencePatch) => void;\n replacePreference: (next: ResolvedPreference) => void;\n}\n\nconst { store: PreferenceStore, useStore: usePreferenceStore } = makePersistStore<ResolvedPreference, PreferenceActions>({\n name: \"nfx-preference\",\n initialState: getDefaultPreference(),\n version: 2,\n migrate: (persisted) => parseServerPreference(persisted),\n partialize: (state) => ({\n language: state.language,\n theme: state.theme,\n layoutMode: state.layoutMode,\n dashboardBackground: state.dashboardBackground,\n }),\n actions: (set) => ({\n setPreference: (patch) =>\n set((s) => ({\n language: patch.language ?? s.language,\n theme: { ...s.theme, ...patch.theme },\n layoutMode: patch.layoutMode ?? s.layoutMode,\n dashboardBackground: patch.dashboardBackground ?? s.dashboardBackground,\n })),\n replacePreference: (next) => set(() => next),\n }),\n});\n\nconst setPreference = PreferenceStore.getState().setPreference;\nconst replacePreference = PreferenceStore.getState().replacePreference;\n\nexport { setPreference, replacePreference };\nexport { PreferenceStore, usePreferenceStore };\n"],"mappings":";;;;;;AAuBA,SAAgB,IAA2C;CACzD,OAAO;EACL,UAAA;EACA,OAAO,EAA0B;EACjC,YAAY;EACZ,qBAAqB;CACvB;AACF;AAEA,SAAS,EAAc,GAA0C;CAC/D,OAAqB,OAAO,KAAM,cAA3B,KAAuC,CAAC,MAAM,QAAQ,CAAC;AAChE;AAEA,SAAgB,EAAsB,GAAkC;CACtE,IAAM,IAAI,EAAqB;CAC/B,IAAI,CAAC,EAAc,CAAG,GAAG,OAAO;CAChC,IAAM,IAAW,EAAc,EAAI,KAAK,IAAK,EAAI,QAA6C,KAAA;CAC9F,OAAO;EACL,UAAU,EAAS,OAAO,EAAI,YAAa,WAAW,EAAI,WAAW,KAAA,CAAS;EAC9E,OAAO,EAAuB,CAAQ;EACtC,YAAY,EAAI,eAAe,EAAe,OAAO,EAAe,OAAO;EAC3E,qBAAqB,EAAoB,OAAO,EAAI,uBAAwB,WAAW,EAAI,sBAAsB,KAAA,CAAS;CAC5H;AACF;AAEA,SAAgB,EAAmB,GAA+C;CAChF,OAAO;EACL,UAAU,EAAM;EAChB,OAAO,EAAE,GAAG,EAAM,MAAM;EACxB,YAAY,EAAM;EAClB,qBAAqB,EAAM;CAC7B;AACF;AAOA,IAAM,EAAE,OAAO,GAAiB,UAAU,MAAuB,EAAwD;CACvH,MAAM;CACN,cAAc,EAAqB;CACnC,SAAS;CACT,UAAU,MAAc,EAAsB,CAAS;CACvD,aAAa,OAAW;EACtB,UAAU,EAAM;EAChB,OAAO,EAAM;EACb,YAAY,EAAM;EAClB,qBAAqB,EAAM;CAC7B;CACA,UAAU,OAAS;EACjB,gBAAgB,MACd,GAAK,OAAO;GACV,UAAU,EAAM,YAAY,EAAE;GAC9B,OAAO;IAAE,GAAG,EAAE;IAAO,GAAG,EAAM;GAAM;GACpC,YAAY,EAAM,cAAc,EAAE;GAClC,qBAAqB,EAAM,uBAAuB,EAAE;EACtD,EAAE;EACJ,oBAAoB,MAAS,QAAU,CAAI;CAC7C;AACF,CAAC,GAEK,IAAgB,EAAgB,SAAS,CAAC,CAAC,eAC3C,IAAoB,EAAgB,SAAS,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/themes/hooks/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/themes/hooks/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAA8C,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG/G,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtE;AAED,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;sBAqBF,OAAO,CAAC,uBAAuB,CAAC;oBAClC,QAAQ;;EAG3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.js","names":[],"sources":["../../../src/themes/hooks/useTheme.ts"],"sourcesContent":["import { usePreferenceStore } from \"
|
|
1
|
+
{"version":3,"file":"useTheme.js","names":[],"sources":["../../../src/themes/hooks/useTheme.ts"],"sourcesContent":["import { usePreferenceStore } from \"nfx-ui/stores/preference\";\nimport { BASE_VALUES, type BaseEnum } from \"nfx-ui/enums/theme\";\nimport { BASE_TO_RADIX_RADIUS, RADIX_RADIUS_TO_BASE, type ResolvedThemePreference } from \"nfx-ui/themes/radix\";\nimport { setPreference } from \"nfx-ui/stores/preference\";\n\nexport function readCssColor(varName: string, fallback: string): string {\n if (typeof document === \"undefined\") return fallback;\n const el = document.querySelector(\".radix-themes\") ?? document.documentElement;\n const value = getComputedStyle(el).getPropertyValue(varName).trim();\n return value || fallback;\n}\n\nexport function useTheme() {\n const theme = usePreferenceStore((s) => s.theme);\n const currentTheme = {\n colors: {\n variables: {\n primary: readCssColor(\"--accent-9\", \"#e54d2e\"),\n info: readCssColor(\"--blue-9\", \"#0090ff\"),\n success: readCssColor(\"--green-9\", \"#30a46c\"),\n fgHeading: readCssColor(\"--gray-12\", \"#1c2024\"),\n border5: readCssColor(\"--gray-8\", \"#b9bbc6\"),\n fg: readCssColor(\"--gray-11\", \"#60646c\"),\n bg3: readCssColor(\"--gray-3\", \"#f0f0f3\"),\n border3: readCssColor(\"--gray-6\", \"#d8d9e0\"),\n },\n },\n };\n return {\n theme,\n currentTheme,\n themeName: theme.accent,\n baseName: RADIX_RADIUS_TO_BASE[theme.radius],\n setTheme: (patch: Partial<ResolvedThemePreference>) => setPreference({ theme: patch }),\n setBase: (base: BaseEnum) => setPreference({ theme: { radius: BASE_TO_RADIX_RADIUS[base] } }),\n availableBases: BASE_VALUES,\n };\n}\n"],"mappings":";;;;AAKA,SAAgB,EAAa,GAAiB,GAA0B;CACtE,IAAI,OAAO,WAAa,KAAa,OAAO;CAC5C,IAAM,IAAK,SAAS,cAAc,eAAe,KAAK,SAAS;CAE/D,OADc,iBAAiB,CAAE,CAAC,CAAC,iBAAiB,CAAO,CAAC,CAAC,KACtD,KAAS;AAClB;AAEA,SAAgB,IAAW;CACzB,IAAM,IAAQ,GAAoB,MAAM,EAAE,KAAK;CAe/C,OAAO;EACL;EACA,cAAA,EAfA,QAAQ,EACN,WAAW;GACT,SAAS,EAAa,cAAc,SAAS;GAC7C,MAAM,EAAa,YAAY,SAAS;GACxC,SAAS,EAAa,aAAa,SAAS;GAC5C,WAAW,EAAa,aAAa,SAAS;GAC9C,SAAS,EAAa,YAAY,SAAS;GAC3C,IAAI,EAAa,aAAa,SAAS;GACvC,KAAK,EAAa,YAAY,SAAS;GACvC,SAAS,EAAa,YAAY,SAAS;EAC7C,EACF,EAIA;EACA,WAAW,EAAM;EACjB,UAAU,EAAqB,EAAM;EACrC,WAAW,MAA4C,EAAc,EAAE,OAAO,EAAM,CAAC;EACrF,UAAU,MAAmB,EAAc,EAAE,OAAO,EAAE,QAAQ,EAAqB,GAAM,EAAE,CAAC;EAC5F,gBAAgB;CAClB;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../src/themes/radix/mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../src/themes/radix/mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAEL,eAAe,EAEf,cAAc,EACd,QAAQ,EAER,aAAa,EAEb,mBAAmB,EAEnB,UAAU,EAEV,WAAW,EAEX,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;AAC/F,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAAmC,CAAC;AAC9F,eAAO,MAAM,iBAAiB,EAAE,SAAS,aAAa,EAAiC,CAAC;AACxF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAAgD,CAAC;AAC/G,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAAkC,CAAC;AAChG,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,EAA8B,CAAC;AACpF,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAA+B,CAAC;AACvF,eAAO,MAAM,6BAA6B,EAAE,SAAS,mBAAmB,EAAuC,CAAC;AAEhH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAM7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAM7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,wBAAwB,EAAE,SAAS,mBAAmB,EAAuC,CAAC;AAC3G,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,wBAAgB,yBAAyB,IAAI,eAAe,CAG3D;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,cAAc,GAAG,eAAe,CAElF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAED,wBAAgB,yBAAyB,IAAI,uBAAuB,CAUnE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAClD,kBAAkB,GAAE,cAAyC,EAC7D,cAAc,GAAE,UAA8B,GAC7C,uBAAuB,CAWzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappings.js","names":[],"sources":["../../../src/themes/radix/mappings.ts"],"sourcesContent":["import type { ThemeProps } from \"@radix-ui/themes\";\n\nimport type { Nilable } from \"
|
|
1
|
+
{"version":3,"file":"mappings.js","names":[],"sources":["../../../src/themes/radix/mappings.ts"],"sourcesContent":["import type { ThemeProps } from \"@radix-ui/themes\";\n\nimport type { Nilable } from \"nfx-ui/types\";\n\nimport {\n AccentColor,\n AccentColorEnum,\n Appearance,\n AppearanceEnum,\n BaseEnum,\n GrayColor,\n GrayColorEnum,\n PanelBackground,\n PanelBackgroundEnum,\n Radius,\n RadiusEnum,\n Scaling,\n ScalingEnum,\n ThemeFontFamily,\n ThemeFontFamilyEnum,\n} from \"nfx-ui/enums/theme\";\n\nexport type RadixAccentColor = NonNullable<ThemeProps[\"accentColor\"]>;\nexport type RadixGrayColor = NonNullable<ThemeProps[\"grayColor\"]>;\nexport type RadixAppearance = Extract<NonNullable<ThemeProps[\"appearance\"]>, \"light\" | \"dark\">;\nexport type RadixRadius = NonNullable<ThemeProps[\"radius\"]>;\nexport type RadixScaling = NonNullable<ThemeProps[\"scaling\"]>;\nexport type RadixPanelBackground = NonNullable<ThemeProps[\"panelBackground\"]>;\n\nexport const RADIX_ACCENT_VALUES: readonly AccentColorEnum[] = Object.values(AccentColorEnum);\nexport const RADIX_GRAY_VALUES: readonly GrayColorEnum[] = Object.values(GrayColorEnum);\nexport const RADIX_APPEARANCE_VALUES: readonly RadixAppearance[] = [AppearanceEnum.LIGHT, AppearanceEnum.DARK];\nexport const THEME_APPEARANCE_VALUES: readonly AppearanceEnum[] = Object.values(AppearanceEnum);\nexport const RADIX_RADIUS_VALUES: readonly RadiusEnum[] = Object.values(RadiusEnum);\nexport const RADIX_SCALING_VALUES: readonly ScalingEnum[] = Object.values(ScalingEnum);\nexport const RADIX_PANEL_BACKGROUND_VALUES: readonly PanelBackgroundEnum[] = Object.values(PanelBackgroundEnum);\n\nexport const BASE_TO_RADIX_RADIUS: Record<BaseEnum, RadiusEnum> = {\n [BaseEnum.LINUX]: RadiusEnum.NONE,\n [BaseEnum.ANDROID]: RadiusEnum.SMALL,\n [BaseEnum.DEFAULT]: RadiusEnum.MEDIUM,\n [BaseEnum.WINDOWS]: RadiusEnum.LARGE,\n [BaseEnum.IOS]: RadiusEnum.FULL,\n};\n\nexport const RADIX_RADIUS_TO_BASE: Record<RadiusEnum, BaseEnum> = {\n [RadiusEnum.NONE]: BaseEnum.LINUX,\n [RadiusEnum.SMALL]: BaseEnum.ANDROID,\n [RadiusEnum.MEDIUM]: BaseEnum.DEFAULT,\n [RadiusEnum.LARGE]: BaseEnum.WINDOWS,\n [RadiusEnum.FULL]: BaseEnum.IOS,\n};\n\nexport const DEFAULT_RADIX_ACCENT = AccentColorEnum.TOMATO;\nexport const DEFAULT_RADIX_GRAY = GrayColorEnum.SLATE;\nexport const DEFAULT_RADIX_SCALING = ScalingEnum.S100;\nexport const DEFAULT_RADIX_PANEL_BACKGROUND = PanelBackgroundEnum.TRANSLUCENT;\nexport const DEFAULT_THEME_FONT_FAMILY = ThemeFontFamilyEnum.SYSTEM;\nexport const THEME_FONT_FAMILY_VALUES: readonly ThemeFontFamilyEnum[] = Object.values(ThemeFontFamilyEnum);\nexport const DEFAULT_THEME_APPEARANCE = AppearanceEnum.SYSTEM;\n\nexport function readSystemRadixAppearance(): RadixAppearance {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return AppearanceEnum.LIGHT;\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? AppearanceEnum.DARK : AppearanceEnum.LIGHT;\n}\n\nexport function resolveRadixAppearance(appearance: AppearanceEnum): RadixAppearance {\n return appearance === AppearanceEnum.SYSTEM ? readSystemRadixAppearance() : appearance;\n}\n\nexport interface ResolvedThemePreference {\n accent: AccentColorEnum;\n gray: GrayColorEnum;\n appearance: AppearanceEnum;\n radius: RadiusEnum;\n scaling: ScalingEnum;\n panelBackground: PanelBackgroundEnum;\n fontFamily: ThemeFontFamilyEnum;\n}\n\nexport function getDefaultThemePreference(): ResolvedThemePreference {\n return {\n accent: DEFAULT_RADIX_ACCENT,\n gray: DEFAULT_RADIX_GRAY,\n appearance: DEFAULT_THEME_APPEARANCE,\n radius: RadiusEnum.MEDIUM,\n scaling: DEFAULT_RADIX_SCALING,\n panelBackground: DEFAULT_RADIX_PANEL_BACKGROUND,\n fontFamily: DEFAULT_THEME_FONT_FAMILY,\n };\n}\n\nexport function resolveThemePreference(\n partial: Nilable<Partial<ResolvedThemePreference>>,\n fallbackAppearance: AppearanceEnum = DEFAULT_THEME_APPEARANCE,\n fallbackRadius: RadiusEnum = RadiusEnum.MEDIUM,\n): ResolvedThemePreference {\n const p = partial ?? {};\n return {\n accent: AccentColor(p.accent),\n gray: GrayColor(p.gray),\n appearance: Appearance(p.appearance ?? fallbackAppearance),\n radius: Radius(p.radius ?? fallbackRadius),\n scaling: Scaling(p.scaling),\n panelBackground: PanelBackground(p.panelBackground),\n fontFamily: ThemeFontFamily(p.fontFamily),\n };\n}\n"],"mappings":";;AA6BA,IAAa,IAAkD,OAAO,OAAO,CAAe,GAC/E,IAA8C,OAAO,OAAO,CAAa,GACzE,IAAsD,CAAC,EAAe,OAAO,EAAe,IAAI,GAChG,IAAqD,OAAO,OAAO,CAAc,GACjF,IAA6C,OAAO,OAAO,CAAU,GACrE,IAA+C,OAAO,OAAO,CAAW,GACxE,IAAgE,OAAO,OAAO,CAAmB,GAEjG,IAAqD;EAC/D,EAAS,QAAQ,EAAW;EAC5B,EAAS,UAAU,EAAW;EAC9B,EAAS,UAAU,EAAW;EAC9B,EAAS,UAAU,EAAW;EAC9B,EAAS,MAAM,EAAW;AAC7B,GAEa,IAAqD;EAC/D,EAAW,OAAO,EAAS;EAC3B,EAAW,QAAQ,EAAS;EAC5B,EAAW,SAAS,EAAS;EAC7B,EAAW,QAAQ,EAAS;EAC5B,EAAW,OAAO,EAAS;AAC9B,GAEa,IAAuB,EAAgB,QACvC,IAAqB,EAAc,OACnC,IAAwB,EAAY,MACpC,IAAiC,EAAoB,aACrD,IAA4B,EAAoB,QAChD,IAA2D,OAAO,OAAO,CAAmB,GAC5F,IAA2B,EAAe;AAEvD,SAAgB,IAA6C;CAE3D,OADI,OAAO,SAAW,OAAe,OAAO,OAAO,cAAe,aAAmB,EAAe,QAC7F,OAAO,WAAW,8BAA8B,CAAC,CAAC,UAAU,EAAe,OAAO,EAAe;AAC1G;AAEA,SAAgB,EAAuB,GAA6C;CAClF,OAAO,MAAe,EAAe,SAAS,EAA0B,IAAI;AAC9E;AAYA,SAAgB,IAAqD;CACnE,OAAO;EACL,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,QAAQ,EAAW;EACnB,SAAS;EACT,iBAAiB;EACjB,YAAY;CACd;AACF;AAEA,SAAgB,EACd,GACA,IAAqC,GACrC,IAA6B,EAAW,QACf;CACzB,IAAM,IAAI,KAAW,CAAC;CACtB,OAAO;EACL,QAAQ,EAAY,EAAE,MAAM;EAC5B,MAAM,EAAU,EAAE,IAAI;EACtB,YAAY,EAAW,EAAE,cAAc,CAAkB;EACzD,QAAQ,EAAO,EAAE,UAAU,CAAc;EACzC,SAAS,EAAQ,EAAE,OAAO;EAC1B,iBAAiB,EAAgB,EAAE,eAAe;EAClD,YAAY,EAAgB,EAAE,UAAU;CAC1C;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/themes/types/components.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/themes/types/components.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/themes/types/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/themes/types/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;IAC5D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,QAAQ,EAAE,CAAC;CAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/types/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/types/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../../src/types/domain/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,yBAAiB,MAAM,CAAC;IACtB,UAAiB,OAAO,CAAC;QACvB,UAAiB,oBAAoB;YACnC,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,YAAY,CAAC;SACpB;QAED,UAAiB,eAAe;YAC9B,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,gBAAgB,EAAE,MAAM,CAAC;YACzB,IAAI,EAAE,YAAY,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE,sBAAsB,CAAC;SACxC;KACF;IAED,UAAiB,QAAQ,CAAC;QACxB,KAAY,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC7D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiError.d.ts","sourceRoot":"","sources":["../../src/utils/apiError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"apiError.d.ts","sourceRoot":"","sources":["../../src/utils/apiError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,gEAAgE;AAChE,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAU/D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiError.js","names":[],"sources":["../../src/utils/apiError.ts"],"sourcesContent":["/**\n * 与约定一致:HTTP 错误经 fiberx.Error/ErrorFromErrx → httpx.BuildErrorResp,\n * 响应体固定为 { status, err_code, message, details?, trace_id? }(axios 转 camelCase)。\n * 前端只认「有 response.data」= 后端错误体;UI 展示与 NFX 一致:先 errors 命名空间(后端拉取),再 message,再 fallback。\n */\n\nimport type { AxiosError } from \"axios\";\nimport type { ApiErrorBody } from \"
|
|
1
|
+
{"version":3,"file":"apiError.js","names":[],"sources":["../../src/utils/apiError.ts"],"sourcesContent":["/**\n * 与约定一致:HTTP 错误经 fiberx.Error/ErrorFromErrx → httpx.BuildErrorResp,\n * 响应体固定为 { status, err_code, message, details?, trace_id? }(axios 转 camelCase)。\n * 前端只认「有 response.data」= 后端错误体;UI 展示与 NFX 一致:先 errors 命名空间(后端拉取),再 message,再 fallback。\n */\n\nimport type { AxiosError } from \"axios\";\nimport type { ApiErrorBody } from \"nfx-ui/types/api\";\n\nimport i18n from \"nfx-ui/languages/languages/i18n\";\n\n/** Identity error copy namespace (GET /asset/locales/:lang). */\nexport const ERRORS_NS_IDENTITY = \"errors\";\n\n/** Identity message copy namespace (GET /asset/messages/:lang). */\nexport const MESSAGES_NS_IDENTITY = \"messages\";\n\n/**\n * 仅当为后端错误(有 response.data)时解析为 ApiErrorBody,否则返回 null\n * Parse to ApiErrorBody only when response.data exists; otherwise null.\n * @param error - 通常为 Axios 错误或 unknown\n * @returns ApiErrorBody 或 null\n */\nexport function getApiError(error: unknown): ApiErrorBody | null {\n const d = (error as AxiosError<ApiErrorBody>)?.response?.data;\n if (!d || typeof d !== \"object\") return null;\n return {\n status: d.status,\n errCode: d.errCode,\n message: d.message,\n details: d.details,\n traceId: d.traceId,\n };\n}\n\n/**\n * UI 展示用错误文案:优先 i18n errors 命名空间(errCode),其次 api.message,最后 fallback\n * Get display message: i18n errors namespace (by errCode) → api.message → fallback.\n * @param error - 通常为 Axios 错误\n * @param fallback - 无法解析时的默认文案\n * @returns 展示用字符串\n */\nexport function getApiErrorMessage(error: unknown, fallback: string): string {\n const api = getApiError(error);\n if (api?.errCode) {\n const out = i18n.t(`${ERRORS_NS_IDENTITY}:${api.errCode}`);\n if (out && out !== `${ERRORS_NS_IDENTITY}:${api.errCode}`) return out;\n }\n if (api?.message) return api.message;\n return fallback;\n}\n"],"mappings":";;AAYA,IAAa,IAAqB,UAGrB,IAAuB;AAQpC,SAAgB,EAAY,GAAqC;CAC/D,IAAM,IAAK,GAAoC,UAAU;CAEzD,OADI,CAAC,KAAK,OAAO,KAAM,WAAiB,OACjC;EACL,QAAQ,EAAE;EACV,SAAS,EAAE;EACX,SAAS,EAAE;EACX,SAAS,EAAE;EACX,SAAS,EAAE;CACb;AACF;AASA,SAAgB,EAAmB,GAAgB,GAA0B;CAC3E,IAAM,IAAM,EAAY,CAAK;CAC7B,IAAI,GAAK,SAAS;EAChB,IAAM,IAAM,EAAK,EAAE,GAAG,EAAmB,GAAG,EAAI,SAAS;EACzD,IAAI,KAAO,MAAQ,UAAyB,EAAI,WAAW,OAAO;CACpE;CAEA,OADI,GAAK,UAAgB,EAAI,UACtB;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,YAS1I;AAiDD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,YAQ5F"}
|
package/dist/utils/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","names":[],"sources":["../../src/utils/array.ts"],"sourcesContent":["import type { Array } from \"
|
|
1
|
+
{"version":3,"file":"array.js","names":[],"sources":["../../src/utils/array.ts"],"sourcesContent":["import type { Array } from \"nfx-ui/types\";\n\n/**\n * 按 id 将 items 合并进数组:insert 仅插入新 id,upsert 覆盖同 id 并插入新 id;可 prepend 或 append\n * Merge items into array by id: insert = only new ids, upsert = overwrite same id + insert new; place = prepend | append.\n * @param arr - 原数组\n * @param items - 待合并项\n * @param idOf - 取 id 的函数\n * @param place - 新项插入位置\n * @param mode - insert 不覆盖已有 id;upsert 覆盖同 id\n * @returns 合并后的新数组\n */\nexport function mergeById<T>(arr: Array<T>, items: Array<T>, idOf: (x: T) => string, place: \"prepend\" | \"append\", mode: \"insert\" | \"upsert\") {\n if (items.length === 0) return arr;\n\n switch (mode) {\n case \"insert\":\n return insertUnique(arr, items, idOf, place);\n case \"upsert\":\n return upsertArray(arr, items, idOf, place);\n }\n}\n\nfunction insertUnique<T>(arr: Array<T>, items: Array<T>, idOf: (x: T) => string, place: \"prepend\" | \"append\") {\n const seen = new Set(arr.map(idOf));\n\n const toInsert = items.filter((x) => {\n const id = idOf(x);\n if (seen.has(id)) return false;\n seen.add(id);\n return true;\n });\n if (toInsert.length === 0) return arr;\n\n return place === \"prepend\" ? [...toInsert, ...arr] : [...arr, ...toInsert];\n}\n\nfunction upsertArray<T>(arr: Array<T>, items: Array<T>, idOf: (x: T) => string, place: \"prepend\" | \"append\") {\n const idxById = new Map<string, number>();\n arr.forEach((x, i) => idxById.set(idOf(x), i));\n\n let changed = false;\n const next = arr.slice();\n\n // Overwrite: elements with the same id are replaced with the real items\n for (const it of items) {\n const id = idOf(it);\n const idx = idxById.get(id);\n if (idx !== undefined) {\n if (next[idx] !== it) {\n next[idx] = it;\n changed = true;\n }\n }\n }\n\n // Insert: elements with the same id are replaced with the real items\n const toInsert: Array<T> = [];\n for (const it of items) {\n const id = idOf(it);\n if (!idxById.has(id)) toInsert.push(it);\n }\n if (toInsert.length > 0) {\n changed = true;\n return place === \"prepend\" ? [...toInsert, ...next] : [...next, ...toInsert];\n }\n\n return changed ? next : arr;\n}\n\n/**\n * 从数组中移除 id 在集合 ids 中的项,返回新数组\n * Remove elements whose id is in the given set; return new array.\n * @param arr - 原数组\n * @param ids - 要移除的 id 集合\n * @param idOf - 取 id 的函数\n * @returns 若无变化返回原数组,否则返回新数组\n */\nexport function pruneArray<T>(arr: Array<T>, ids: ReadonlySet<string>, idOf: (x: T) => string) {\n let changed = false;\n const next = arr.filter((v) => {\n const keep = !ids.has(idOf(v));\n if (!keep) changed = true;\n return keep;\n });\n return changed ? next : arr;\n}\n"],"mappings":";AAYA,SAAgB,EAAa,GAAe,GAAiB,GAAwB,GAA6B,GAA2B;CAC3I,IAAI,EAAM,WAAW,GAAG,OAAO;CAE/B,QAAQ,GAAR;EACE,KAAK,UACH,OAAO,EAAa,GAAK,GAAO,GAAM,CAAK;EAC7C,KAAK,UACH,OAAO,EAAY,GAAK,GAAO,GAAM,CAAK;CAC9C;AACF;AAEA,SAAS,EAAgB,GAAe,GAAiB,GAAwB,GAA6B;CAC5G,IAAM,IAAO,IAAI,IAAI,EAAI,IAAI,CAAI,CAAC,GAE5B,IAAW,EAAM,QAAQ,MAAM;EACnC,IAAM,IAAK,EAAK,CAAC;EAGjB,OAFA,CAAI,EAAK,IAAI,CAAE,MACf,EAAK,IAAI,CAAE,GACJ;CACT,CAAC;CAGD,OAFI,EAAS,WAAW,IAAU,IAE3B,MAAU,YAAY,CAAC,GAAG,GAAU,GAAG,CAAG,IAAI,CAAC,GAAG,GAAK,GAAG,CAAQ;AAC3E;AAEA,SAAS,EAAe,GAAe,GAAiB,GAAwB,GAA6B;CAC3G,IAAM,oBAAU,IAAI,IAAoB;CACxC,EAAI,SAAS,GAAG,MAAM,EAAQ,IAAI,EAAK,CAAC,GAAG,CAAC,CAAC;CAE7C,IAAI,IAAU,IACR,IAAO,EAAI,MAAM;CAGvB,KAAK,IAAM,KAAM,GAAO;EACtB,IAAM,IAAK,EAAK,CAAE,GACZ,IAAM,EAAQ,IAAI,CAAE;EAC1B,AAAI,MAAQ,KAAA,KACN,EAAK,OAAS,MAChB,EAAK,KAAO,GACZ,IAAU;CAGhB;CAGA,IAAM,IAAqB,CAAC;CAC5B,KAAK,IAAM,KAAM,GAAO;EACtB,IAAM,IAAK,EAAK,CAAE;EAClB,AAAK,EAAQ,IAAI,CAAE,KAAG,EAAS,KAAK,CAAE;CACxC;CAMA,OALI,EAAS,SAAS,KACpB,IAAU,IACH,MAAU,YAAY,CAAC,GAAG,GAAU,GAAG,CAAI,IAAI,CAAC,GAAG,GAAM,GAAG,CAAQ,KAGtE,IAAU,IAAO;AAC1B;AAUA,SAAgB,EAAc,GAAe,GAA0B,GAAwB;CAC7F,IAAI,IAAU,IACR,IAAO,EAAI,QAAQ,MAAM;EAC7B,IAAM,IAAO,CAAC,EAAI,IAAI,EAAK,CAAC,CAAC;EAE7B,OADK,MAAM,IAAU,KACd;CACT,CAAC;CACD,OAAO,IAAU,IAAO;AAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/utils/domain/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/utils/domain/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,wBAAgB,WAAW,CACzB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,GAAG,OAAO,CAAC,QAAQ,CAAC,0CAA0C,CAAC,GACpI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAKxC;AAMD,wBAAgB,yBAAyB,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAQlF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAQ9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","names":[],"sources":["../../../src/utils/domain/account.ts"],"sourcesContent":["import type { Profile } from \"
|
|
1
|
+
{"version":3,"file":"account.js","names":[],"sources":["../../../src/utils/domain/account.ts"],"sourcesContent":["import type { Profile } from \"nfx-ui/types\";\n\nimport { ProfileKindEnum } from \"nfx-ui/enums\";\n\nexport function pickProfile(\n kind: ProfileKindEnum,\n data: Nilable<Profile.Response.FullAccountInformationWithForgerProfile | Profile.Response.FullAccountInformationWithAuthorityProfile>,\n): Nullable<Profile.Response.ProfileBase> {\n if (!data) return null;\n return kind === ProfileKindEnum.AUTHORITY\n ? (data as Profile.Response.FullAccountInformationWithAuthorityProfile).authorityProfile\n : (data as Profile.Response.FullAccountInformationWithForgerProfile).forgerProfile;\n}\n\nfunction isUuidLike(value: string): boolean {\n return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value);\n}\n\nexport function resolveAccountDisplayName(...candidates: Nilable<string>[]): string {\n for (const candidate of candidates) {\n const value = candidate?.trim();\n if (!value) continue;\n if (isUuidLike(value)) return `Account ${value.slice(0, 8)}`;\n return value;\n }\n return \"User\";\n}\n\nexport function resolveAccountInitial(...candidates: Nilable<string>[]): string {\n for (const candidate of candidates) {\n const value = candidate?.trim();\n if (!value) continue;\n const match = value.match(/[A-Za-z0-9]/);\n if (match) return match[0].toUpperCase();\n }\n return \"U\";\n}\n"],"mappings":";;AAIA,SAAgB,EACd,GACA,GACwC;CAExC,OADK,IACE,MAAS,EAAgB,YAC3B,EAAqE,mBACrE,EAAkE,gBAHrD;AAIpB;AAEA,SAAS,EAAW,GAAwB;CAC1C,OAAO,kEAAkE,KAAK,CAAK;AACrF;AAEA,SAAgB,EAA0B,GAAG,GAAuC;CAClF,KAAK,IAAM,KAAa,GAAY;EAClC,IAAM,IAAQ,GAAW,KAAK;EACzB,OAEL,OADI,EAAW,CAAK,IAAU,WAAW,EAAM,MAAM,GAAG,CAAC,MAClD;CACT;CACA,OAAO;AACT;AAEA,SAAgB,EAAsB,GAAG,GAAuC;CAC9E,KAAK,IAAM,KAAa,GAAY;EAClC,IAAM,IAAQ,GAAW,KAAK;EAC9B,IAAI,CAAC,GAAO;EACZ,IAAM,IAAQ,EAAM,MAAM,aAAa;EACvC,IAAI,GAAO,OAAO,EAAM,EAAE,CAAC,YAAY;CACzC;CACA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProfilePatch.d.ts","sourceRoot":"","sources":["../../../src/utils/domain/buildProfilePatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"buildProfilePatch.d.ts","sourceRoot":"","sources":["../../../src/utils/domain/buildProfilePatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAwBrJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProfilePatch.js","names":[],"sources":["../../../src/utils/domain/buildProfilePatch.ts"],"sourcesContent":["import type { UserProfileEditFormData } from \"
|
|
1
|
+
{"version":3,"file":"buildProfilePatch.js","names":[],"sources":["../../../src/utils/domain/buildProfilePatch.ts"],"sourcesContent":["import type { UserProfileEditFormData } from \"nfx-ui/schemas\";\nimport type { Profile } from \"nfx-ui/types\";\n\nimport { Language } from \"nfx-ui/enums\";\nimport { assignIfChanged, assignNullableString, normalizeOptionalString } from \"nfx-ui/utils/primitive/patch\";\nimport { safeNullable, safeStringable } from \"nfx-ui/utils/safe\";\nimport { toDateInputValue } from \"nfx-ui/utils/time\";\n\nexport function buildProfilePatch(original: Maybe<Profile.Response.ProfileBase>, form: Partial<UserProfileEditFormData>): Profile.Request.PatchProfile {\n const patch: Profile.Request.PatchProfile = {};\n\n assignIfChanged(patch, \"profileLanguage\", form.profileLanguage, Language(original?.profileLanguage));\n\n assignNullableString(patch, \"displayName\", form.displayName, safeNullable(original?.displayName));\n assignNullableString(patch, \"firstName\", form.firstName, safeNullable(original?.firstName));\n assignNullableString(patch, \"lastName\", form.lastName, safeNullable(original?.lastName));\n assignNullableString(patch, \"country\", form.country, safeNullable(original?.country));\n assignNullableString(patch, \"city\", form.city, safeNullable(original?.city));\n assignNullableString(patch, \"gender\", form.gender, safeNullable(original?.gender));\n assignNullableString(patch, \"website\", form.website, safeNullable(original?.website));\n assignNullableString(patch, \"timezone\", form.timezone, safeNullable(original?.timezone));\n assignNullableString(patch, \"bio\", form.bio, safeNullable(original?.bio));\n\n if (form.birthday !== undefined) {\n const nextBirthday = normalizeOptionalString(safeStringable(form.birthday));\n const previousBirthday = original?.birthday ? toDateInputValue(original.birthday) : null;\n if (nextBirthday !== previousBirthday) {\n patch.birthday = nextBirthday || null;\n }\n }\n\n return patch;\n}\n"],"mappings":";;;;;AAQA,SAAgB,EAAkB,GAA+C,GAAsE;CACrJ,IAAM,IAAsC,CAAC;CAc7C,IAZA,EAAgB,GAAO,mBAAmB,EAAK,iBAAiB,EAAS,GAAU,eAAe,CAAC,GAEnG,EAAqB,GAAO,eAAe,EAAK,aAAa,EAAa,GAAU,WAAW,CAAC,GAChG,EAAqB,GAAO,aAAa,EAAK,WAAW,EAAa,GAAU,SAAS,CAAC,GAC1F,EAAqB,GAAO,YAAY,EAAK,UAAU,EAAa,GAAU,QAAQ,CAAC,GACvF,EAAqB,GAAO,WAAW,EAAK,SAAS,EAAa,GAAU,OAAO,CAAC,GACpF,EAAqB,GAAO,QAAQ,EAAK,MAAM,EAAa,GAAU,IAAI,CAAC,GAC3E,EAAqB,GAAO,UAAU,EAAK,QAAQ,EAAa,GAAU,MAAM,CAAC,GACjF,EAAqB,GAAO,WAAW,EAAK,SAAS,EAAa,GAAU,OAAO,CAAC,GACpF,EAAqB,GAAO,YAAY,EAAK,UAAU,EAAa,GAAU,QAAQ,CAAC,GACvF,EAAqB,GAAO,OAAO,EAAK,KAAK,EAAa,GAAU,GAAG,CAAC,GAEpE,EAAK,aAAa,KAAA,GAAW;EAC/B,IAAM,IAAe,EAAwB,EAAe,EAAK,QAAQ,CAAC;EAE1E,AAAI,OADqB,GAAU,WAAW,EAAiB,EAAS,QAAQ,IAAI,UAElF,EAAM,WAAW,KAAgB;CAErC;CAEA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","names":[],"sources":["../../../src/utils/domain/images.ts"],"sourcesContent":["import { appEnv } from \"
|
|
1
|
+
{"version":3,"file":"images.js","names":[],"sources":["../../../src/utils/domain/images.ts"],"sourcesContent":["import { appEnv } from \"nfx-ui/config/env\";\n\nexport const DEFAULT_AVATAR_SRC = \"/default-avatar.png\";\n\nexport const buildImageUrl = (imageId: Nilable<string>): string => {\n if (!imageId) return \"\";\n if (imageId.startsWith(\"http://\") || imageId.startsWith(\"https://\")) {\n return imageId;\n }\n const apiBase = appEnv.apiUrl.replace(/\\/$/, \"\");\n return `${apiBase}/asset/images/${imageId}/file`;\n};\n\nexport function buildAvatarImageSrc(avatarImageId: Nilable<string>): string {\n return avatarImageId ? buildImageUrl(avatarImageId) : DEFAULT_AVATAR_SRC;\n}\n\nexport const resolveAvatarSrc = (imageId: Nilable<string>): string => buildImageUrl(imageId) || DEFAULT_AVATAR_SRC;\n\nasync function compressImageBlob(file: File, maxSize: number = 800): Promise<Blob> {\n return new Promise((resolve, reject) => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n const img = new Image();\n\n img.onload = () => {\n let { width, height } = img;\n\n if (width > height) {\n if (width > maxSize) {\n height = (height * maxSize) / width;\n width = maxSize;\n }\n } else if (height > maxSize) {\n width = (width * maxSize) / height;\n height = maxSize;\n }\n\n canvas.width = width;\n canvas.height = height;\n ctx?.drawImage(img, 0, 0, width, height);\n\n canvas.toBlob(\n (blob) => {\n if (blob) resolve(blob);\n else reject(new Error(\"Failed to compress image\"));\n },\n \"image/png\",\n 0.9,\n );\n };\n\n img.onerror = () => {\n reject(new Error(\"Failed to load image\"));\n };\n\n img.src = URL.createObjectURL(file);\n });\n}\n\nexport async function compressImage(file: File): Promise<File> {\n const compressedBlob = await compressImageBlob(file, 800);\n return new File([compressedBlob], `avatar_${Date.now()}.png`, {\n type: \"image/png\",\n });\n}\n"],"mappings":";;AAEA,IAAa,IAAqB,uBAErB,KAAiB,MACvB,IACD,EAAQ,WAAW,SAAS,KAAK,EAAQ,WAAW,UAAU,IACzD,IAGF,GADS,EAAO,OAAO,QAAQ,OAAO,EACnC,EAAQ,gBAAgB,EAAQ,SALrB;AAQvB,SAAgB,EAAoB,GAAwC;CAC1E,OAAO,IAAgB,EAAc,CAAa,IAAI;AACxD;AAEA,IAAa,KAAoB,MAAqC,EAAc,CAAO,KAAA;AAE3F,eAAe,EAAkB,GAAY,IAAkB,KAAoB;CACjF,OAAO,IAAI,SAAS,GAAS,MAAW;EACtC,IAAM,IAAS,SAAS,cAAc,QAAQ,GACxC,IAAM,EAAO,WAAW,IAAI,GAC5B,IAAM,IAAI,MAAM;EAiCtB,AA/BA,EAAI,eAAe;GACjB,IAAI,EAAE,UAAO,cAAW;GAgBxB,AAdI,IAAQ,IACN,IAAQ,MACV,IAAU,IAAS,IAAW,GAC9B,IAAQ,KAED,IAAS,MAClB,IAAS,IAAQ,IAAW,GAC5B,IAAS,IAGX,EAAO,QAAQ,GACf,EAAO,SAAS,GAChB,GAAK,UAAU,GAAK,GAAG,GAAG,GAAO,CAAM,GAEvC,EAAO,QACJ,MAAS;IACR,AAAI,IAAM,EAAQ,CAAI,IACjB,EAAO,gBAAI,MAAM,0BAA0B,CAAC;GACnD,GACA,aACA,EACF;EACF,GAEA,EAAI,gBAAgB;GAClB,EAAO,gBAAI,MAAM,sBAAsB,CAAC;EAC1C,GAEA,EAAI,MAAM,IAAI,gBAAgB,CAAI;CACpC,CAAC;AACH;AAEA,eAAsB,EAAc,GAA2B;CAC7D,IAAM,IAAiB,MAAM,EAAkB,GAAM,GAAG;CACxD,OAAO,IAAI,KAAK,CAAC,CAAc,GAAG,UAAU,KAAK,IAAI,EAAE,OAAO,EAC5D,MAAM,YACR,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/utils/factory/hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAEV,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/utils/factory/hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAEV,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK5H,KAAK,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAErD,KAAK,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,GAAG,iBAAiB,CAAC;AAEtG,KAAK,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC;AAE/F,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,GAAG;IAC3K,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,GAAG;IAChL,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,4BAA4B,CAAC,CAAC,IAAI,IAAI,CACzC,+BAA+B,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAC3E,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CACjE,GAAG;IACF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,yBAAyB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAE9F,KAAK,2BAA2B,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IAC9G,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,yBAAyB,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACpG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACjC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,KAAK,YAAY,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK,oBAAoB,CAAC,CAAC,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAI9D,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,GACnB,CAAC;AAUF,iBAAS,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACnF,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC5D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAEnB,YAAW,MAAU,EAAE,SAAS,CAAC,KAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAYrF;AAED,iBAAS,6BAA6B,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,EAChJ,SAAS,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAClF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAEnB,YAAW,MAAW,EAAE,SAAS,CAAC,KAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAWrF;AAED,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,CAAC;AAoDlE,iBAAS,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAE/B;AAED,iBAAS,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC,sBAAsB,CAAC,CAAC,EAAE,UAAU,CAAC,CAEvC;AAED,iBAAS,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACnF,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC9D,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC,sBAAsB,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAKzC;AAED,iBAAS,+BAA+B,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAC3F,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC9D,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC,GACxC,8BAA8B,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAKjD;AAED,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,CAAC"}
|