@delon/theme 20.1.0 → 21.0.0-next.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"theme.mjs","sources":["../../../../packages/theme/src/services/preloader/preloader.ts","../../../../packages/theme/src/services/i18n/i18n.ts","../../../../packages/theme/src/services/menu/menu.service.ts","../../../../packages/theme/src/services/settings/settings.service.ts","../../../../packages/theme/src/services/responsive/responsive.ts","../../../../packages/theme/src/services/rtl/rtl.service.ts","../../../../packages/theme/src/services/title/title.service.ts","../../../../packages/theme/src/services/i18n/i18n.pipe.ts","../../../../packages/theme/src/services/i18n/i18n-url.guard.ts","../../../../packages/theme/src/services/modal/modal.helper.ts","../../../../packages/theme/src/services/drawer/drawer.helper.ts","../../../../packages/theme/src/services/http/http.client.ts","../../../../packages/theme/src/services/http/http.decorator.ts","../../../../packages/theme/src/services/http/http.token.ts","../../../../packages/theme/src/locale/locale.tokens.ts","../../../../packages/theme/src/locale/languages/zh-CN.ts","../../../../packages/theme/src/locale/locale.service.ts","../../../../packages/theme/src/locale/locale.module.ts","../../../../packages/theme/src/locale/languages/en-US.ts","../../../../packages/theme/src/locale/languages/zh-HK.ts","../../../../packages/theme/src/locale/languages/zh-TW.ts","../../../../packages/theme/src/locale/languages/tr-TR.ts","../../../../packages/theme/src/locale/languages/pl-PL.ts","../../../../packages/theme/src/locale/languages/el-GR.ts","../../../../packages/theme/src/locale/languages/ko-KR.ts","../../../../packages/theme/src/locale/languages/hr-HR.ts","../../../../packages/theme/src/locale/languages/ja-JP.ts","../../../../packages/theme/src/locale/languages/sl-SI.ts","../../../../packages/theme/src/locale/languages/fr-FR.ts","../../../../packages/theme/src/locale/languages/es-ES.ts","../../../../packages/theme/src/locale/languages/it-IT.ts","../../../../packages/theme/src/locale/languages/vi-VN.ts","../../../../packages/theme/src/locale/languages/ar-SA.ts","../../../../packages/theme/src/locale/languages/id-ID.ts","../../../../packages/theme/src/locale/languages/km-KH.ts","../../../../packages/theme/src/locale/languages/ms-MY.ts","../../../../packages/theme/src/locale/languages/th-TH.ts","../../../../packages/theme/src/pipes/date/date.pipe.ts","../../../../packages/theme/src/pipes/keys/keys.pipe.ts","../../../../packages/theme/src/pipes/yn/yn.pipe.ts","../../../../packages/theme/src/pipes/safe/html.pipe.ts","../../../../packages/theme/src/pipes/safe/url.pipe.ts","../../../../packages/theme/src/theme.module.ts","../../../../packages/theme/src/provide.ts","../../../../packages/theme/src/router/optional-preloader.ts","../../../../packages/theme/src/version.ts","../../../../packages/theme/theme.ts"],"sourcesContent":["import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { PLATFORM_ID, inject } from '@angular/core';\n\nexport function stepPreloader(): () => void {\n const doc: Document = inject(DOCUMENT);\n const ssr = isPlatformServer(inject(PLATFORM_ID));\n if (ssr) {\n return () => {};\n }\n const body = doc.querySelector<HTMLBodyElement>('body')!;\n body.style.overflow = 'hidden';\n let done = false;\n\n return () => {\n if (done) return;\n\n done = true;\n const preloader = doc.querySelector<HTMLElement>('.preloader');\n if (preloader == null) return;\n\n const CLS = 'preloader-hidden';\n preloader.addEventListener('transitionend', () => {\n preloader.className = CLS;\n });\n preloader.className += ` ${CLS}-add ${CLS}-add-active`;\n body.style.overflow = '';\n };\n}\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeI18nConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface AlainI18NService {\n [key: string]: NzSafeAny;\n\n /**\n * Call `use` to trigger change notification\n *\n * 调用 `use` 触发变更通知\n */\n readonly change: Observable<string>;\n\n /**\n * Get the default language\n *\n * 获取默认语言\n */\n readonly defaultLang: string;\n\n /**\n * Get current language\n *\n * 获取当前语言\n */\n readonly currentLang: string;\n\n /**\n * Change language\n *\n * 变更语言\n *\n * @param emit 是否触发 `change`,默认:true ; Should be removed, please use `change` event instead.\n */\n use(lang: string, data?: Record<string, unknown>): void;\n\n /**\n * Return to the current language list\n *\n * 返回当前语言列表\n */\n getLangs(): NzSafeAny[];\n\n /**\n * Translate 翻译\n *\n * @param params 模板所需要的参数对象\n * @param isSafe 是否返回安全字符,自动调用 `bypassSecurityTrustHtml`; Should be removed, If you need SafeHtml support, please use `| html` pipe instead.\n */\n fanyi(path: string, params?: unknown | unknown[]): string;\n}\n\nexport const ALAIN_I18N_TOKEN = new InjectionToken<AlainI18NService>('alainI18nToken', {\n providedIn: 'root',\n factory: () => new AlainI18NServiceFake()\n});\n\n@Injectable()\nexport abstract class AlainI18nBaseService implements AlainI18NService {\n protected readonly cogSrv = inject(AlainConfigService);\n\n private cog: AlainThemeI18nConfig;\n protected _change$ = new BehaviorSubject<string | null>(null);\n protected _currentLang: string = '';\n protected _defaultLang: string = '';\n protected _data: Record<string, string> = {};\n get change(): Observable<string> {\n return this._change$.asObservable().pipe(filter(w => w != null)) as Observable<string>;\n }\n get defaultLang(): string {\n return this._defaultLang;\n }\n get currentLang(): string {\n return this._currentLang;\n }\n get data(): Record<string, string> {\n return this._data;\n }\n\n constructor() {\n this.cog = this.cogSrv.merge('themeI18n', {\n interpolation: ['{{', '}}']\n })!;\n }\n\n /**\n * Flattened data source\n *\n * @example\n * {\n * \"name\": \"Name\",\n * \"sys\": {\n * \"\": \"System\",\n * \"title\": \"Title\"\n * }\n * }\n * =>\n * {\n * \"name\": \"Name\",\n * \"sys\": \"System\",\n * \"sys.title\": \"Title\"\n * }\n */\n flatData(data: Record<string, unknown>, parentKey: string[]): Record<string, string> {\n const res: Record<string, string> = {};\n for (const key of Object.keys(data)) {\n const value = data[key];\n if (typeof value === 'object') {\n const child = this.flatData(value as Record<string, unknown>, parentKey.concat(key));\n Object.keys(child).forEach(childKey => (res[childKey] = child[childKey]));\n } else {\n res[(key ? parentKey.concat(key) : parentKey).join('.')] = `${value}`;\n }\n }\n return res;\n }\n\n abstract use(lang: string, data?: Record<string, unknown>): void;\n\n abstract getLangs(): NzSafeAny[];\n\n fanyi(path: string, params?: unknown | unknown[]): string {\n let content = this._data[path] || '';\n if (!content) return path;\n\n if (!params) return content;\n\n if (typeof params === 'object') {\n const interpolation = this.cog.interpolation!;\n const objParams = params as Record<string, unknown>;\n Object.keys(objParams).forEach(key => {\n content = content.replace(\n new RegExp(`${interpolation[0]}\\\\s?${key}\\\\s?${interpolation[1]}`, 'g'),\n `${objParams[key]}`\n );\n });\n }\n\n (Array.isArray(params) ? params : [params]).forEach(\n (item, index) => (content = content.replace(new RegExp(`\\\\{\\\\s?${index}\\\\s?\\\\}`, 'g'), `${item}`))\n );\n return content;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NServiceFake extends AlainI18nBaseService {\n use(lang: string, data: Record<string, unknown>): void {\n this._data = this.flatData(data ?? {}, []);\n this._currentLang = lang;\n this._change$.next(lang);\n }\n\n getLangs(): NzSafeAny[] {\n return [];\n }\n}\n","import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription, share } from 'rxjs';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Menu, MenuIcon, MenuInner } from './interface';\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\n\n/**\n * 菜单服务,[在线文档](https://ng-alain.com/theme/menu)\n */\n@Injectable({ providedIn: 'root' })\nexport class MenuService implements OnDestroy {\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n private readonly aclService = inject(ACLService);\n private _change$: BehaviorSubject<Menu[]> = new BehaviorSubject<Menu[]>([]);\n private i18n$?: Subscription;\n private data: Menu[] = [];\n /**\n * 是否完全受控菜单打开状态,默认:`false`\n */\n openStrictly = false;\n\n constructor() {\n this.i18n$ = this.i18nSrv.change.subscribe(() => this.resume());\n }\n\n get change(): Observable<Menu[]> {\n return this._change$.pipe(share());\n }\n\n get menus(): Menu[] {\n return this.data;\n }\n\n /**\n * Returns a default menu link\n *\n * 返回一个默认跳转的菜单链接\n */\n getDefaultRedirect(opt: { redirectUrl?: string } = {}): string | null | undefined {\n let ret: string | null | undefined;\n this.visit(this.menus, (item: MenuInner) => {\n if (typeof item.link !== 'string' || item.link.length <= 0 || !item._aclResult || item._hidden === true) {\n return;\n }\n if (ret == null || ret.length <= 0 || item.link == opt?.redirectUrl) {\n ret = item.link;\n }\n });\n return ret;\n }\n\n visit<T extends Menu = Menu>(data: T[], callback: (item: T, parentMenum: T | null, depth?: number) => void): void;\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n const inFn = (list: Menu[], parentMenu: Menu | null, depth: number): void => {\n for (const item of list) {\n callback(item, parentMenu, depth);\n if (item.children && item.children.length > 0) {\n inFn(item.children, item, depth + 1);\n } else {\n item.children = [];\n }\n }\n };\n\n inFn(data, null, 0);\n }\n\n add(items: Menu[]): void {\n this.data = items;\n this.resume();\n }\n\n private fixItem(item: MenuInner): void {\n item._aclResult = true;\n\n if (!item.render_type) item.render_type = 'item';\n if (!item.link) item.link = '';\n if (!item.externalLink) item.externalLink = '';\n\n // badge\n if (item.badge) {\n if (item.badgeDot !== true) {\n item.badgeDot = false;\n }\n if (!item.badgeStatus) {\n item.badgeStatus = 'error';\n }\n }\n\n if (!Array.isArray(item.children)) {\n item.children = [];\n }\n\n // icon\n if (typeof item.icon === 'string') {\n let type = 'class';\n let value = item.icon;\n // compatible `anticon anticon-user`\n if (~item.icon.indexOf(`anticon-`)) {\n type = 'icon';\n value = value.split('-').slice(1).join('-');\n } else if (/^https?:\\/\\//.test(item.icon)) {\n type = 'img';\n }\n item.icon = { type, value } as NzSafeAny;\n }\n if (item.icon != null) {\n item.icon = { theme: 'outline', spin: false, ...(item.icon as MenuIcon) };\n }\n\n item.text = item.i18n ? this.i18nSrv.fanyi(item.i18n) : item.text;\n\n // group\n item.group = item.group !== false;\n\n // hidden\n item._hidden = typeof item.hide === 'undefined' ? false : item.hide;\n\n // disabled\n item.disabled = typeof item.disabled === 'undefined' ? false : item.disabled;\n\n // acl\n item._aclResult = item.acl ? this.aclService.can(item.acl) : true;\n\n item.open = item.open != null ? item.open : false;\n }\n\n /**\n * 重置菜单,可能I18N、用户权限变动时需要调用刷新\n */\n resume<T extends Menu = Menu>(callback?: (item: T, parentMenum: T | null, depth?: number) => void): void;\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n let i = 1;\n const shortcuts: Menu[] = [];\n this.visit(this.data, (item: MenuInner, parent, depth) => {\n item._id = i++;\n item._parent = parent;\n item._depth = depth;\n this.fixItem(item);\n\n // shortcut\n if (parent && item.shortcut === true && parent.shortcutRoot !== true) {\n shortcuts.push(item);\n }\n\n if (callback) callback(item, parent, depth);\n });\n\n this.loadShortcut(shortcuts);\n this._change$.next(this.data);\n }\n\n /**\n * 加载快捷菜单,加载位置规则如下:\n * 1、统一在下标0的节点下(即【主导航】节点下方)\n * 1、若 children 存在 【shortcutRoot: true】则最优先【推荐】这种方式\n * 2、否则查找带有【dashboard】字样链接,若存在则在此菜单的下方创建快捷入口\n * 3、否则放在0节点位置\n */\n private loadShortcut(shortcuts: MenuInner[]): void {\n if (shortcuts.length === 0 || this.data.length === 0) {\n return;\n }\n\n const ls = this.data[0].children as MenuInner[];\n let pos = ls.findIndex(w => w.shortcutRoot === true);\n if (pos === -1) {\n pos = ls.findIndex(w => w.link!.includes('dashboard'));\n pos = (pos !== -1 ? pos : -1) + 1;\n const shortcutMenu = {\n text: '快捷菜单',\n i18n: 'shortcut',\n icon: 'icon-rocket',\n children: []\n } as MenuInner;\n this.data[0].children!.splice(pos, 0, shortcutMenu);\n }\n let _data = this.data[0].children![pos];\n if (_data.i18n) _data.text = this.i18nSrv.fanyi(_data.i18n);\n _data = Object.assign(_data, {\n shortcutRoot: true,\n _id: -1,\n _parent: null,\n _depth: 1\n } as MenuInner);\n _data.children = shortcuts.map(i => {\n i._depth = 2;\n i._parent = _data;\n return i;\n });\n }\n\n /**\n * 清空菜单\n */\n clear(): void {\n this.data = [];\n this._change$.next(this.data);\n }\n\n /**\n * Use `url` or `key` to find menus\n *\n * 利用 `url` 或 `key` 查找菜单\n */\n find(options: {\n key?: string | null;\n url?: string | null;\n recursive?: boolean | null;\n /**\n * When the callback returns a Boolean type, it means the custom validation result\n *\n * 当回调返回一个布尔类型时,表示自定义校验结果\n */\n cb?: ((i: Menu) => boolean | null) | null;\n /**\n * Use the current menu data by default\n *\n * 默认使用当前菜单数据\n */\n data?: Menu[] | null;\n /**\n * Whether to ignore hide items, default: `false`\n *\n * 是否忽略隐藏的项,默认:`false`\n */\n ignoreHide?: boolean;\n /**\n * Whether to return the last one, default: `false`\n *\n * 是否返回最后一个,默认:`false`\n */\n last?: boolean;\n }): Menu | null {\n const opt = { recursive: false, ignoreHide: false, last: false, ...options };\n if (opt.key != null) {\n return this.getItem(opt.key);\n }\n\n let url = opt.url;\n\n let item: Menu | null = null;\n\n while (!item && url) {\n this.visit(opt.data ?? this.data, i => {\n if (!opt.last && item != null) {\n return;\n }\n if (opt.ignoreHide && i.hide) {\n return;\n }\n if (opt.cb) {\n const res = opt.cb(i);\n if (typeof res === 'boolean' && res) {\n item = i;\n }\n }\n if (i.link != null && i.link === url) {\n item = i;\n }\n });\n\n if (!opt.recursive) break;\n\n if (/[?;]/g.test(url)) {\n url = url.split(/[?;]/g)[0];\n } else {\n url = url.split('/').slice(0, -1).join('/');\n }\n }\n\n return item;\n }\n\n /**\n * 根据url获取菜单列表\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n getPathByUrl(url: string, recursive: boolean = false): Menu[] {\n const ret: Menu[] = [];\n let item = this.find({ url, recursive }) as MenuInner;\n\n if (!item) return ret;\n\n do {\n ret.splice(0, 0, item);\n item = item._parent!;\n } while (item);\n\n return ret;\n }\n\n /**\n * Get menu based on `key`\n */\n getItem(key: string): Menu | null {\n let res: Menu | null = null;\n this.visit(this.data, item => {\n if (res == null && item.key === key) {\n res = item;\n }\n });\n return res;\n }\n\n /**\n * Set menu based on `key`\n */\n setItem(key: string | Menu, value: Menu, options?: { emit?: boolean }): void {\n const item = typeof key === 'string' ? this.getItem(key) : key;\n if (item == null) return;\n\n Object.keys(value).forEach(k => {\n item[k] = value[k];\n });\n this.fixItem(item);\n\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n /**\n * Open menu based on `key` or menu object\n */\n open(keyOrItem: string | Menu | null, options?: { emit?: boolean }): void {\n let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n if (item == null) return;\n\n this.visit(this.menus, (i: MenuInner) => {\n i._selected = false;\n if (!this.openStrictly) i.open = false;\n });\n\n do {\n item._selected = true;\n item.open = true;\n item = item._parent;\n } while (item);\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n openAll(status?: boolean): void {\n this.toggleOpen(null, { allStatus: status });\n }\n\n toggleOpen(keyOrItem: string | Menu | null, options?: { allStatus?: boolean; emit?: boolean }): void {\n let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n if (item == null) {\n this.visit(this.menus, (i: MenuInner) => {\n i._selected = false;\n i.open = options?.allStatus === true;\n });\n } else {\n if (!this.openStrictly) {\n this.visit(this.menus, (i: MenuInner) => {\n if (i !== item) i.open = false;\n });\n let pItem = item._parent;\n while (pItem) {\n pItem.open = true;\n pItem = pItem._parent;\n }\n }\n item.open = !item.open;\n }\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n ngOnDestroy(): void {\n this._change$.unsubscribe();\n this.i18n$?.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { Injectable, InjectionToken, Provider, inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { App, Layout, SettingsNotify, User } from './types';\n\nexport interface SettingsKeys {\n /** Layout data specifies the stored key, default: `layout` */\n layout: string;\n /** User data specifies the stored key, default: `user` */\n user: string;\n /** App data specifies the stored key, default: `app` */\n app: string;\n}\n\nexport const ALAIN_SETTING_KEYS = new InjectionToken<SettingsKeys>('ALAIN_SETTING_KEYS');\nexport const ALAIN_SETTING_DEFAULT: Provider = {\n provide: ALAIN_SETTING_KEYS,\n useValue: {\n layout: 'layout',\n user: 'user',\n app: 'app'\n }\n};\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> {\n private readonly KEYS = inject(ALAIN_SETTING_KEYS);\n private readonly platform = inject(Platform);\n\n private notify$ = new Subject<SettingsNotify>();\n private _app: A | null = null;\n private _user: U | null = null;\n private _layout: L | null = null;\n\n getData(key: string): NzSafeAny {\n if (!this.platform.isBrowser) {\n return null;\n }\n return JSON.parse(localStorage.getItem(key) || 'null') || null;\n }\n\n setData(key: string, value: NzSafeAny): void {\n if (!this.platform.isBrowser) {\n return;\n }\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n get layout(): L {\n if (!this._layout) {\n this._layout = {\n fixed: true,\n collapsed: false,\n boxed: false,\n lang: null,\n ...this.getData(this.KEYS.layout)\n };\n this.setData(this.KEYS.layout, this._layout);\n }\n return this._layout as L;\n }\n\n get app(): A {\n if (!this._app) {\n this._app = {\n year: new Date().getFullYear(),\n ...this.getData(this.KEYS.app)\n };\n this.setData(this.KEYS.app, this._app);\n }\n return this._app as A;\n }\n\n get user(): U {\n if (!this._user) {\n this._user = { ...this.getData(this.KEYS.user) };\n this.setData(this.KEYS.user, this._user);\n }\n return this._user as U;\n }\n\n get notify(): Observable<SettingsNotify> {\n return this.notify$.asObservable();\n }\n\n setLayout<T extends Layout = Layout>(name: T, value?: NzSafeAny): boolean;\n setLayout(name: string | L, value?: NzSafeAny): boolean;\n setLayout(name: string | L, value?: NzSafeAny): boolean {\n if (typeof name === 'string') {\n (this.layout as Layout)[name] = value;\n } else {\n this._layout = name;\n }\n this.setData(this.KEYS.layout, this._layout);\n this.notify$.next({ type: 'layout', name, value } as NzSafeAny);\n return true;\n }\n getLayout<T>(): T {\n return this._layout as unknown as T;\n }\n\n setApp<T extends App = App>(value: T): void;\n setApp(value: A): void;\n setApp(value: A): void {\n this._app = value;\n this.setData(this.KEYS.app, value);\n this.notify$.next({ type: 'app', value });\n }\n getApp<T>(): T {\n return this._app as unknown as T;\n }\n\n setUser<T extends User = User>(value: T): void;\n setUser(value: U): void;\n setUser(value: U): void {\n this._user = value;\n this.setData(this.KEYS.user, value);\n this.notify$.next({ type: 'user', value });\n }\n getUser<T>(): T {\n return this._user as unknown as T;\n }\n}\n","import { inject, Injectable } from '@angular/core';\n\nimport { AlainConfigService, AlainThemeResponsiveConfig } from '@delon/util/config';\n\nexport const REP_MAX = 6;\nexport const SPAN_MAX = 24;\n\nexport type REP_TYPE = 1 | 2 | 3 | 4 | 5 | 6;\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveService {\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainThemeResponsiveConfig;\n constructor() {\n this.cog = this.cogSrv.merge('themeResponsive', {\n rules: {\n 1: { xs: 24 },\n 2: { xs: 24, sm: 12 },\n 3: { xs: 24, sm: 12, md: 8 },\n 4: { xs: 24, sm: 12, md: 8, lg: 6 },\n 5: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 2 }\n }\n })!;\n if (\n Object.keys(this.cog.rules)\n .map(i => +i)\n .some((i: number) => i < 1 || i > REP_MAX)\n ) {\n throw new Error(`[theme] the responseive rule index value range must be 1-${REP_MAX}`);\n }\n }\n\n genCls(count: number, defaultCol: number = 1): string[] {\n const rule = { ...this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)] };\n const antColClass = 'ant-col';\n\n const itemMaxSpan = SPAN_MAX / defaultCol;\n const paddingSpan = (value: number | undefined): number | undefined => {\n if (value == null || defaultCol <= 1 || count >= defaultCol) return value;\n return Math.max(value, count * itemMaxSpan);\n };\n const clsMap = [`${antColClass}-xs-${paddingSpan(rule.xs)}`];\n if (rule.sm) clsMap.push(`${antColClass}-sm-${paddingSpan(rule.sm)}`);\n if (rule.md) clsMap.push(`${antColClass}-md-${paddingSpan(rule.md)}`);\n if (rule.lg) clsMap.push(`${antColClass}-lg-${paddingSpan(rule.lg)}`);\n if (rule.xl) clsMap.push(`${antColClass}-xl-${paddingSpan(rule.xl)}`);\n if (rule.xxl) clsMap.push(`${antColClass}-xxl-${paddingSpan(rule.xxl)}`);\n return clsMap;\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzConfigService } from 'ng-zorro-antd/core/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SettingsService } from '../settings/settings.service';\n\nexport const HTML_DIR = 'dir';\nexport const RTL_DIRECTION = 'direction';\nexport const RTL_NZ_COMPONENTS = ['modal', 'drawer', 'message', 'notification', 'image'];\nexport const RTL_DELON_COMPONENTS = ['loading', 'onboarding'];\nexport const LTR = 'ltr';\nexport const RTL = 'rtl';\n\n@Injectable({ providedIn: 'root' })\nexport class RTLService {\n private readonly d = inject(Directionality);\n private readonly nz = inject(NzConfigService);\n private readonly delon = inject(AlainConfigService);\n private readonly platform = inject(Platform);\n private readonly doc = inject(DOCUMENT);\n private readonly srv = inject(SettingsService);\n\n private _dir: Direction = LTR;\n /**\n * Get or Set the current text direction\n *\n * 获取或设置当前文字方向\n */\n get dir(): Direction {\n return this._dir;\n }\n set dir(value: Direction) {\n this._dir = value;\n this.updateLibConfig();\n this.updateHtml();\n // Should be wait inited\n Promise.resolve().then(() => {\n this.d.valueSignal.set(value);\n this.d.change.emit(value);\n this.srv.setLayout(RTL_DIRECTION, value);\n });\n }\n\n /**\n * Get the next text direction\n *\n * 获取下一次文字方向\n */\n get nextDir(): Direction {\n return this.dir === LTR ? RTL : LTR;\n }\n\n /**\n * Subscription change notification\n *\n * 订阅变更通知\n */\n get change(): Observable<Direction> {\n return this.srv.notify.pipe(\n filter(w => w.name === RTL_DIRECTION),\n map(v => v.value)\n );\n }\n\n constructor() {\n this.dir = this.srv.layout.direction === RTL ? RTL : LTR;\n }\n\n /**\n * Toggle text direction\n *\n * 切换文字方向\n */\n toggle(): void {\n this.dir = this.nextDir;\n }\n\n private updateHtml(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n const htmlEl = this.doc.querySelector('html') as HTMLElement;\n if (htmlEl) {\n const dir = this.dir;\n htmlEl.style.direction = dir;\n htmlEl.classList.remove(RTL, LTR);\n htmlEl.classList.add(dir);\n htmlEl.setAttribute(HTML_DIR, dir);\n }\n }\n\n private updateLibConfig(): void {\n RTL_NZ_COMPONENTS.forEach(name => {\n this.nz.set(name as NzSafeAny, { nzDirection: this.dir });\n });\n RTL_DELON_COMPONENTS.forEach(name => {\n this.delon.set(name as NzSafeAny, { direction: this.dir });\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { DestroyRef, Injectable, Injector, OnDestroy, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, of, map, delay, isObservable, switchMap, Subscription } from 'rxjs';\n\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { MenuService } from '../menu/menu.service';\n\nexport interface RouteTitle {\n title?: string | Observable<string>;\n titleI18n?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService implements OnDestroy {\n private destroy$ = inject(DestroyRef);\n private _prefix: string = '';\n private _suffix: string = '';\n private _separator: string = ' - ';\n private _reverse: boolean = false;\n private tit$?: Subscription;\n\n readonly DELAY_TIME = 25;\n\n private readonly doc = inject(DOCUMENT);\n private readonly injector = inject(Injector);\n private readonly title = inject(Title);\n private readonly menuSrv = inject(MenuService);\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n\n constructor() {\n this.i18nSrv.change.pipe(takeUntilDestroyed()).subscribe(() => this.setTitle());\n }\n\n /**\n * Set separator\n *\n * 设置分隔符\n */\n set separator(value: string) {\n this._separator = value;\n }\n\n /**\n * Set prefix\n *\n * 设置前缀\n */\n set prefix(value: string) {\n this._prefix = value;\n }\n\n /**\n * Set suffix\n *\n * 设置后缀\n */\n set suffix(value: string) {\n this._suffix = value;\n }\n\n /**\n * Set whether to reverse\n *\n * 设置是否反转\n */\n set reverse(value: boolean) {\n this._reverse = value;\n }\n\n /**\n * Set the default CSS selector string\n *\n * 设置默认CSS选择器字符串\n */\n selector?: string | null;\n\n /**\n * Set default title name\n *\n * 设置默认标题名\n */\n default = `Not Page Name`;\n\n private getByElement(): Observable<string> {\n return of('').pipe(\n delay(this.DELAY_TIME),\n map(() => {\n const el = ((this.selector != null ? this.doc.querySelector(this.selector) : null) ||\n this.doc.querySelector('.alain-default__content-title h1') ||\n this.doc.querySelector('.page-header__title')) as HTMLElement;\n if (el) {\n let text = '';\n el.childNodes.forEach(val => {\n if (!text && val.nodeType === 3) {\n text = val.textContent!.trim();\n }\n });\n return text || el.firstChild!.textContent!.trim();\n }\n return '';\n })\n );\n }\n\n private getByRoute(): Observable<string> {\n let next = this.injector.get(ActivatedRoute);\n while (next.firstChild) next = next.firstChild;\n const data: RouteTitle = (next.snapshot && next.snapshot.data) || {};\n if (data.titleI18n) data.title = this.i18nSrv.fanyi(data.titleI18n);\n return isObservable(data.title) ? data.title : of(data.title!);\n }\n\n private getByMenu(): Observable<string> {\n const menus = this.menuSrv.getPathByUrl(this.injector.get<Router>(Router).url);\n if (!menus || menus.length <= 0) return of('');\n\n const item = menus[menus.length - 1];\n let title;\n if (item.i18n) title = this.i18nSrv.fanyi(item.i18n);\n return of(title || item.text!);\n }\n\n /**\n * Set the document title\n */\n setTitle(title?: string | string[]): void {\n this.tit$?.unsubscribe();\n this.tit$ = of(title)\n .pipe(\n switchMap(tit => (tit ? of(tit) : this.getByRoute())),\n switchMap(tit => (tit ? of(tit) : this.getByMenu())),\n switchMap(tit => (tit ? of(tit) : this.getByElement())),\n map(tit => tit || this.default),\n map(title => (!Array.isArray(title) ? [title] : title)),\n takeUntilDestroyed(this.destroy$)\n )\n .subscribe(titles => {\n let newTitles: string[] = [];\n if (this._prefix) {\n newTitles.push(this._prefix);\n }\n newTitles.push(...titles.filter(title => !!title));\n if (this._suffix) {\n newTitles.push(this._suffix);\n }\n if (this._reverse) {\n newTitles = newTitles.reverse();\n }\n this.title.setTitle(newTitles.join(this._separator));\n });\n }\n\n /**\n * Set i18n key of the document title\n */\n setTitleByI18n(key: string, params?: unknown): void {\n this.setTitle(this.i18nSrv.fanyi(key, params));\n }\n\n ngOnDestroy(): void {\n this.tit$?.unsubscribe();\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Pipe({ name: 'i18n' })\nexport class I18nPipe implements PipeTransform {\n private readonly i18n = inject(ALAIN_I18N_TOKEN);\n\n transform(key: string, params?: unknown | unknown[]): string {\n return this.i18n.fanyi(key, params);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateChildFn, CanActivateFn } from '@angular/router';\nimport { Observable, of } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NGuardService {\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });\n private readonly cogSrv = inject(AlainConfigService);\n\n process(route: ActivatedRouteSnapshot): Observable<boolean> {\n const lang = route.params && route.params[this.cogSrv.get('themeI18n')?.paramNameOfUrlGuard ?? 'i18n'];\n if (lang != null) {\n this.i18nSrv?.use(lang);\n }\n return of(true);\n }\n}\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫,自动识别Url中的语言,并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n * path: 'home',\n * canActivate: [ alainI18nCanActivate ]\n * }\n * ```\n */\nexport const alainI18nCanActivate: CanActivateFn = childRoute => inject(AlainI18NGuardService).process(childRoute);\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫,自动识别Url中的语言,并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n * path: 'home',\n * canActivateChild: [ alainI18nCanActivateChild ]\n * }\n * ```\n */\nexport const alainI18nCanActivateChild: CanActivateChildFn = route => inject(AlainI18NGuardService).process(route);\n","import { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Injectable, TemplateRef, Type, inject } from '@angular/core';\nimport { SIGNAL, SignalNode } from '@angular/core/primitives/signals';\nimport { Observable, Observer, delay, filter, take, tap } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { ModalOptions, NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\n\nconst CLS_DRAG = 'MODAL-DRAG';\n\nexport interface ModalHelperOptions {\n /** 大小;例如:lg、600、80%,默认:`lg` */\n size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number | string;\n /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */\n modalOptions?: ModalOptions;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 是否包裹标签页,修复模态包含标签间距问题 */\n includeTabs?: boolean;\n /**\n * 是否支持拖动,默认是通过标题来触发\n */\n drag?: ModalHelperDragOptions | boolean;\n /**\n * 是否强制使用 `nzData` 传递参数,若为 `false` 表示参数会直接映射到组件实例中,其他值只能通过 `NZ_MODAL_DATA` 的方式来获取参数,默认:`false`\n */\n useNzData?: boolean;\n\n /**\n * 设置焦点按钮\n */\n focus?: 'ok' | 'cancel';\n}\n\nexport interface ModalHelperDragOptions {\n /**\n * 指定拖地区域的类名,若指定为 `null` 时表示整个对话框,默认:`.modal-header, .ant-modal-title`\n */\n handleCls?: string | null;\n}\n\n/**\n * 对话框辅助类\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalHelper {\n private readonly srv = inject(NzModalService);\n private readonly drag = inject(DragDrop);\n private readonly doc = inject(DOCUMENT);\n\n private createDragRef(options: ModalHelperDragOptions, wrapCls: string): DragRef {\n const wrapEl = this.doc.querySelector(wrapCls) as HTMLDivElement;\n const modalEl = wrapEl.firstChild as HTMLDivElement;\n const handelEl = options.handleCls ? wrapEl.querySelector<HTMLDivElement>(options.handleCls) : null;\n if (handelEl) {\n handelEl.classList.add(`${CLS_DRAG}-HANDLE`);\n }\n\n return this.drag\n .createDrag(handelEl ?? modalEl)\n .withHandles([handelEl ?? modalEl])\n .withBoundaryElement(wrapEl)\n .withRootElement(modalEl);\n }\n\n /**\n * 构建一个对话框\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.create(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n create(\n comp?: TemplateRef<NzSafeAny> | Type<NzSafeAny> | 'confirm' | 'info' | 'success' | 'error' | 'warning',\n params?: NzSafeAny | ModalHelperOptions | null,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const isBuildIn = typeof comp === 'string';\n options = deepMerge(\n {\n size: 'lg',\n exact: true,\n includeTabs: false\n },\n isBuildIn && arguments.length === 2 ? params : options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, includeTabs, modalOptions, drag, useNzData, focus } = options as ModalHelperOptions;\n let cls: string[] = [];\n let width = '';\n if (size) {\n if (typeof size === 'number') {\n width = `${size}px`;\n } else if (['sm', 'md', 'lg', 'xl'].includes(size)) {\n cls.push(`modal-${size}`);\n } else {\n width = size;\n }\n }\n if (includeTabs) {\n cls.push(`modal-include-tabs`);\n }\n if (modalOptions && modalOptions.nzWrapClassName) {\n cls.push(modalOptions.nzWrapClassName);\n delete modalOptions.nzWrapClassName;\n }\n let dragOptions: ModalHelperDragOptions | null;\n let dragWrapCls = `${CLS_DRAG}-${+new Date()}`;\n let dragRef: DragRef | null;\n if (drag != null && drag !== false) {\n dragOptions = {\n handleCls: `.modal-header, .ant-modal-title`,\n ...(typeof drag === 'object' ? drag : {})\n };\n cls.push(CLS_DRAG, dragWrapCls);\n }\n const mth = isBuildIn ? this.srv[comp] : this.srv.create;\n const subject: NzModalRef<NzSafeAny, NzSafeAny> = mth.call(this.srv, {\n nzWrapClassName: cls.join(' '),\n nzContent: isBuildIn ? undefined : comp,\n nzWidth: width ? width : undefined,\n nzFooter: null,\n nzData: params,\n nzDraggable: false,\n ...modalOptions\n } as ModalOptions);\n // 保留 nzComponentParams 原有风格,但依然可以通过 @Inject(NZ_MODAL_DATA) 获取\n if (subject.componentInstance != null && useNzData !== true) {\n Object.entries(params as object).forEach(([key, value]) => {\n const t = subject.componentInstance as any;\n const s = t[key]?.[SIGNAL] as SignalNode<any>;\n if (s != null) {\n s.value = value;\n } else {\n t[key] = value;\n }\n });\n }\n subject.afterOpen\n .pipe(\n take(1),\n tap(() => {\n if (dragOptions != null) {\n dragRef = this.createDragRef(dragOptions, `.${dragWrapCls}`);\n }\n }),\n filter(() => focus != null),\n delay(modalOptions?.nzNoAnimation ? 10 : 241)\n )\n .subscribe(() => {\n const btns = subject\n .getElement()\n .querySelector<HTMLDivElement>('.ant-modal-confirm-btns, .modal-footer')\n ?.querySelectorAll<HTMLButtonElement>('.ant-btn');\n const btnSize = btns?.length ?? 0;\n let el: HTMLButtonElement | null = null;\n if (btnSize === 1) {\n el = btns![0];\n } else if (btnSize > 1) {\n el = btns![focus === 'ok' ? 1 : 0];\n }\n if (el != null) {\n el.focus();\n el.dataset.focused = focus;\n }\n });\n subject.afterClose.pipe(take(1)).subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n dragRef?.dispose();\n });\n });\n }\n\n /**\n * 构建静态框,点击蒙层不允许关闭\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.open(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n createStatic(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const modalOptions = {\n nzMaskClosable: false,\n ...(options && options.modalOptions)\n };\n return this.create(comp, params, { ...options, modalOptions });\n }\n}\n","import { Injectable, TemplateRef, Type, inject } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerOptions, NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';\n\nexport interface DrawerHelperOptions {\n /**\n * 大小,若值为数值类型,则根据 `nzPlacement` 自动转化为 `nzHeight` 或 `nzWidth`;例如:lg、600,默认:`md`\n *\n * | 类型 | 默认大小 |\n * | --- | ------ |\n * | `sm` | `300` |\n * | `md` | `600` |\n * | `lg` | `900` |\n * | `xl` | `1200` |\n *\n * > 以上值,可通过覆盖相应的LESS参数自行调整\n */\n size?: 'sm' | 'md' | 'lg' | 'xl' | number;\n /**\n * 是否包含底部工具条,默认:`true`\n */\n footer?: boolean;\n /**\n * 底部工具条高度,默认:`55`\n */\n footerHeight?: number;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */\n drawerOptions?: NzDrawerOptions;\n}\n\n/**\n * 抽屉辅助类\n *\n * **注意:** 构建结果都可被订阅,但永远都不会触发 `observer.error`\n *\n * @example\n * this.drawerHelper.create('Edit', FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功\n * this.NzDrawerRef.close(data);\n * this.NzDrawerRef.close(true);\n * // 关闭\n * this.NzDrawerRef.close();\n * this.NzDrawerRef.close(false);\n */\n@Injectable({ providedIn: 'root' })\nexport class DrawerHelper {\n private readonly srv = inject(NzDrawerService);\n private readonly parentDrawer = inject(DrawerHelper, { optional: true, skipSelf: true });\n private openDrawersAtThisLevel: NzDrawerRef[] = [];\n get openDrawers(): NzDrawerRef[] {\n return this.parentDrawer ? this.parentDrawer.openDrawers : this.openDrawersAtThisLevel;\n }\n\n /**\n * 构建一个抽屉\n */\n create(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'md',\n footer: true,\n footerHeight: 50,\n exact: true,\n drawerOptions: {\n nzPlacement: 'right',\n nzWrapClassName: ''\n }\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, footer, footerHeight, drawerOptions } = options as DrawerHelperOptions;\n const defaultOptions: NzDrawerOptions = {\n nzContent: comp,\n nzContentParams: params,\n nzTitle: title as NzSafeAny\n };\n\n if (typeof size === 'number') {\n defaultOptions[\n drawerOptions!.nzPlacement === 'top' || drawerOptions!.nzPlacement === 'bottom' ? 'nzHeight' : 'nzWidth'\n ] = options!.size;\n } else if (!drawerOptions!.nzWidth) {\n defaultOptions.nzWrapClassName = `${drawerOptions!.nzWrapClassName} drawer-${options!.size}`.trim();\n delete drawerOptions!.nzWrapClassName;\n }\n\n if (footer) {\n // The 24 value is @drawer-body-padding\n defaultOptions.nzBodyStyle = {\n 'padding-bottom': `${footerHeight! + 24}px`\n };\n }\n\n const ref = this.srv.create({ ...defaultOptions, ...drawerOptions });\n this.openDrawers.push(ref);\n const afterClose$ = ref.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n this.close(ref);\n });\n });\n }\n\n private close(ref: NzDrawerRef): void {\n const idx = this.openDrawers.indexOf(ref);\n if (idx === -1) return;\n this.openDrawers.splice(idx, 1);\n }\n\n closeAll(): void {\n let i = this.openDrawers.length;\n while (i--) {\n this.openDrawers[i].close();\n }\n }\n\n /**\n * 构建一个抽屉,点击蒙层不允许关闭\n */\n static(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n const drawerOptions = {\n nzMaskClosable: false,\n ...(options && options.drawerOptions)\n };\n return this.create(title, comp, params, { ...options, drawerOptions });\n }\n}\n","import { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, of, delay, finalize, switchMap, tap } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeHttpClientConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type _HttpHeaders = HttpHeaders | Record<string, string | string[]>;\nexport type HttpObserve = 'body' | 'events' | 'response';\n\n/**\n * 封装HttpClient,主要解决:\n * + 优化HttpClient在参数上便利性\n * + 统一实现 loading\n * + 统一处理时间格式问题\n */\n@Injectable({ providedIn: 'root' })\nexport class _HttpClient {\n private readonly http = inject(HttpClient);\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainThemeHttpClientConfig;\n constructor() {\n this.cog = this.cogSrv.merge('themeHttp', {\n nullValueHandling: 'include',\n dateValueHandling: 'timestamp'\n })!;\n }\n\n private lc = 0;\n\n /**\n * Get whether it's loading\n *\n * 获取是否正在加载中\n */\n get loading(): boolean {\n return this.lc > 0;\n }\n\n /**\n * Get the currently loading count\n *\n * 获取当前加载中的数量\n */\n get loadingCount(): number {\n return this.lc;\n }\n\n parseParams(params: NzSafeAny): HttpParams {\n const newParams: NzSafeAny = {};\n if (params instanceof HttpParams) {\n return params;\n }\n\n const { nullValueHandling, dateValueHandling } = this.cog;\n Object.keys(params).forEach(key => {\n let paramValue = params[key];\n // 忽略空值\n if (nullValueHandling === 'ignore' && paramValue == null) return;\n // 将时间转化为:时间戳 (秒)\n if (\n paramValue instanceof Date &&\n (dateValueHandling === 'timestamp' || dateValueHandling === 'timestampSecond')\n ) {\n paramValue = dateValueHandling === 'timestamp' ? paramValue.valueOf() : Math.trunc(paramValue.valueOf() / 1000);\n }\n newParams[key] = paramValue;\n });\n return new HttpParams({ fromObject: newParams });\n }\n\n appliedUrl(url: string, params?: NzSafeAny): string {\n if (!params) return url;\n url += ~url.indexOf('?') ? '' : '?';\n const arr: string[] = [];\n Object.keys(params).forEach(key => {\n arr.push(`${key}=${params[key]}`);\n });\n return url + arr.join('&');\n }\n\n private setCount(count: number): void {\n Promise.resolve(null).then(() => (this.lc = count <= 0 ? 0 : count));\n }\n\n private push(): void {\n this.setCount(++this.lc);\n }\n\n private pop(): void {\n this.setCount(--this.lc);\n }\n\n /**\n * Clean loading count\n *\n * 清空加载中\n */\n cleanLoading(): void {\n this.setCount(0);\n }\n\n // #region get\n\n /**\n * **GET Request** Return a `string` type / 返回一个 `string` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **GET Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **GET Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **GET Request** Return a `HttpResponse<T>` type / 返回一个 `HttpResponse<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<T>>;\n\n /**\n * **GET Request** Return a `any` type / 返回一个 `any` 类型\n */\n get(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **GET Request** Return a generic type / 返回一个泛类型\n */\n get<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('GET', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region post\n\n /**\n * **POST Request** Return a `string` type / 返回一个 `string` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **POST Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n post<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **POST Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **POST Request** Return a `any` type / 返回一个 `any` 类型\n */\n post(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **POST Request** Return a JSON type / 返回一个 `JSON` 类型\n */\n post<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body' | 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region delete\n\n /**\n * **DELETE Request** Return a `string` type / 返回一个 `string` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **DELETE Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **DELETE Request** Return a `any` type / 返回一个 `any` 类型\n */\n delete(\n url: string,\n params?: any,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * c返回一个泛类型\n */\n delete<T>(\n url: string,\n params?: any,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('DELETE', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region jsonp\n\n /**\n * **JSONP Request**\n *\n * @param callbackParam CALLBACK值,默认:JSONP_CALLBACK\n */\n jsonp(url: string, params?: any, callbackParam: string = 'JSONP_CALLBACK'): Observable<any> {\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.jsonp(this.appliedUrl(url, params), callbackParam)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n\n // #region patch\n\n /**\n * **PATCH Request** Return a `string` type / 返回一个 `string` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PATCH Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PATCH Request** Return a `any` type / 返回一个 `any` 类型\n */\n patch(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PATCH Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n patch<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PATCH', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region put\n\n /**\n * **PUT Request** Return a `string` type / 返回一个 `string` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PUT Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PUT Request** Return a `any` type / 返回一个 `any` 类型\n */\n put(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PUT Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n put<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PUT', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region form\n\n /**\n * **Form Request** Return a `string` type / 返回一个 `string` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Form Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n form<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **Form Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **Form Request** Return a `any` type / 返回一个 `any` 类型\n */\n form(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **Form Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n form<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options,\n headers: {\n 'content-type': `application/x-www-form-urlencoded`\n }\n });\n }\n\n // #endregion\n\n // #region request\n\n /**\n * **Request** Return a `ArrayBuffer` type / 返回一个 `ArrayBuffer` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<ArrayBuffer>;\n\n /**\n * **Request** Return a `Blob` type / 返回一个 `Blob` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Blob>;\n\n /**\n * **Request** Return a `string` type / 返回一个 `string` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Request** Return a `HttpEvent<ArrayBuffer>` type / 返回一个 `HttpEvent<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpEvent<Blob>` type / 返回一个 `HttpEvent<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<Blob>>;\n\n /**\n * **Request** Return a `HttpEvent<string>` type / 返回一个 `HttpEvent<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<string>>;\n\n /**\n * **Request** Return a `HttpEvent<any>` type / 返回一个 `HttpEvent<any>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<any>>;\n\n /**\n * **Request** Return a `HttpEvent<R>` type / 返回一个 `HttpEvent<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<R>>;\n\n /**\n * **Request** Return a `HttpResponse<ArrayBuffer>` type / 返回一个 `HttpResponse<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpResponse<Blob>` type / 返回一个 `HttpResponse<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<Blob>>;\n\n /**\n * **Request** Return a `HttpResponse<string>` type / 返回一个 `HttpResponse<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<string>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **Request** Return a `HttpResponse<R>` type / 返回一个 `HttpResponse<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<R>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Record<string, unknown>>;\n\n /**\n * **Request** Return a `R` type / 返回一个 `R` 类型\n */\n request<R>(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<R>;\n\n /**\n * **Request** Return a `any` type / 返回一个 `any` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n if (options.params) options.params = this.parseParams(options.params);\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.request(method, url, options)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n}\n","import { HttpHeaders, HttpContext } from '@angular/common/http';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\nimport { ACLService, ACLCanType } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from './http.client';\n\n/**\n * Every http decorator must be based on `BaseAPI`, Like this:\n * ```ts\n * \\@Injectable()\n * class DataService extends BaseApi {}\n * ```\n */\n@Injectable()\nexport abstract class BaseApi {\n protected readonly injector = inject(Injector);\n}\n\nexport interface HttpOptions {\n /** ACL配置,若导入 `@delon/acl` 时自动有效,等同于 `ACLService.can(roleOrAbility: ACLCanType)` 参数值 */\n acl?: ACLCanType;\n observe?: 'body' | 'events' | 'response';\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n}\n\ninterface ParamType {\n key: string;\n index: number;\n [key: string]: any;\n [key: number]: any;\n}\n\nconst paramKey = `__api_params`;\n\nfunction setParam(target: any, key: string = paramKey): any {\n let params = target[key];\n if (typeof params === 'undefined') {\n params = target[key] = {};\n }\n return params;\n}\n\n/**\n * 默认基准URL\n * - 有效范围:类\n */\nexport function BaseUrl(url: string) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseUrl = url;\n return target;\n };\n}\n\n/**\n * 默认 `headers`\n * - 有效范围:类\n */\nexport function BaseHeaders(headers: HttpHeaders | Record<string, string | string[]>) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseHeaders = headers;\n return target;\n };\n}\n\nfunction makeParam(paramName: string) {\n return function (key?: string) {\n return function (target: BaseApi, propertyKey: string, index: number) {\n const params = setParam(setParam(target), propertyKey);\n let tParams = params[paramName];\n if (typeof tParams === 'undefined') {\n tParams = params[paramName] = [];\n }\n tParams.push({\n key,\n index\n });\n };\n };\n}\n\n/**\n * URL路由参数\n * - 有效范围:方法参数\n */\nexport const Path = makeParam('path');\n\n/**\n * URL 参数 `QueryString`\n * - 有效范围:方法参数\n */\nexport const Query = makeParam('query');\n\n/**\n * 参数 `Body`\n * - 有效范围:方法参数\n */\nexport const Body = makeParam('body')();\n\n/**\n * 参数 `headers`\n * - 有效范围:方法参数\n * - 合并 `BaseHeaders`\n */\nexport const Headers = makeParam('headers');\n\n/**\n * Request Payload\n * - Supported body (like`POST`, `PUT`) as a body data, equivalent to `@Body`\n * - Not supported body (like `GET`, `DELETE` etc) as a `QueryString`\n */\nexport const Payload = makeParam('payload')();\n\nfunction getValidArgs(data: any, key: string, args: any[]): NzSafeAny {\n if (!data[key] || !Array.isArray(data[key]) || data[key].length <= 0) {\n return undefined;\n }\n return args[data[key][0].index];\n}\n\nfunction genBody(data?: any, payload?: any): any {\n if (Array.isArray(data) || Array.isArray(payload)) {\n return Object.assign([], data, payload);\n }\n return { ...data, ...payload };\n}\n\nexport type METHOD_TYPE = 'OPTIONS' | 'GET' | 'POST' | 'DELETE' | 'PUT' | 'HEAD' | 'PATCH' | 'JSONP' | 'FORM';\n\nfunction makeMethod(method: METHOD_TYPE) {\n return function (url: string = '', options?: HttpOptions) {\n return (_target: BaseApi, targetKey?: string, descriptor?: PropertyDescriptor) => {\n descriptor!.value = function (...args: any[]): Observable<any> {\n options = options || {};\n\n const injector = (this as NzSafeAny).injector as Injector;\n const http = injector.get(_HttpClient, null) as _HttpClient;\n if (http == null) {\n throw new TypeError(\n `Not found '_HttpClient', You can import 'AlainThemeModule' && 'HttpClientModule' in your root module.`\n );\n }\n\n const baseData = setParam(this);\n const data = setParam(baseData, targetKey);\n\n let requestUrl = url || '';\n requestUrl = [baseData.baseUrl || '', requestUrl.startsWith('/') ? requestUrl.substring(1) : requestUrl].join(\n '/'\n );\n // fix last split\n if (requestUrl.length > 1 && requestUrl.endsWith('/')) {\n requestUrl = requestUrl.substring(0, requestUrl.length - 1);\n }\n\n if (options.acl) {\n const aclSrv = injector.get(ACLService, null);\n if (aclSrv && !aclSrv.can(options.acl)) {\n return throwError(() => ({\n url: requestUrl,\n status: 401,\n statusText: `From Http Decorator`\n }));\n }\n delete options.acl;\n }\n\n requestUrl = requestUrl.replace(/::/g, '^^');\n ((data.path as ParamType[]) || [])\n .filter(w => typeof args[w.index] !== 'undefined')\n .forEach((i: ParamType) => {\n requestUrl = requestUrl.replace(new RegExp(`:${i.key}`, 'g'), encodeURIComponent(args[i.index]));\n });\n requestUrl = requestUrl.replace(/\\^\\^/g, `:`);\n\n const params = (data.query || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n const headers = (data.headers || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n if (method === 'FORM') {\n headers['content-type'] = 'application/x-www-form-urlencoded';\n }\n\n const payload = getValidArgs(data, 'payload', args);\n const supportedBody = ['POST', 'PUT', 'PATCH', 'DELETE'].some(v => v === method);\n\n return http.request(method, requestUrl, {\n body: supportedBody ? genBody(getValidArgs(data, 'body', args), payload) : null,\n params: !supportedBody ? { ...params, ...payload } : params,\n headers: { ...baseData.baseHeaders, ...headers },\n ...options\n });\n };\n\n return descriptor;\n };\n };\n}\n\n/**\n * `OPTIONS` 请求\n * - 有效范围:方法\n */\nexport const OPTIONS = makeMethod('OPTIONS');\n\n/**\n * `GET` 请求\n * - 有效范围:方法\n */\nexport const GET = makeMethod('GET');\n\n/**\n * `POST` 请求\n * - 有效范围:方法\n */\nexport const POST = makeMethod('POST');\n\n/**\n * `DELETE` 请求\n * - 有效范围:方法\n */\nexport const DELETE = makeMethod('DELETE');\n\n/**\n * `PUT` 请求\n * - 有效范围:方法\n */\nexport const PUT = makeMethod('PUT');\n\n/**\n * `HEAD` 请求\n * - 有效范围:方法\n */\nexport const HEAD = makeMethod('HEAD');\n\n/**\n * `PATCH` 请求\n * - 有效范围:方法\n */\nexport const PATCH = makeMethod('PATCH');\n\n/**\n * `JSONP` 请求\n * - 有效范围:方法\n */\nexport const JSONP = makeMethod('JSONP');\n\n/**\n * `FORM` 请求\n * - 有效范围:方法\n */\nexport const FORM = makeMethod('FORM');\n","import { HttpContextToken } from '@angular/common/http';\n\n/**\n * Whether to customize the handling of exception messages\n *\n * 是否自定义处理异常消息\n *\n * @example\n * this.http.post(`login`, {\n * name: 'cipchk', pwd: '123456'\n * }, {\n * context: new HttpContext()\n * .set(ALLOW_ANONYMOUS, true)\n * .set(CUSTOM_ERROR, true)\n * }).subscribe({\n * next: console.log,\n * error: console.log\n * });\n */\nexport const CUSTOM_ERROR = new HttpContextToken(() => false);\n\n/**\n * Whether to ignore API prefixes\n *\n * 是否忽略API前缀\n *\n * @example\n * // When environment.api.baseUrl set '/api'\n *\n * this.http.get(`/path`) // Request Url: /api/path\n * this.http.get(`/path`, { context: new HttpContext().set(IGNORE_BASE_URL, true) }) // Request Url: /path\n */\nexport const IGNORE_BASE_URL = new HttpContextToken(() => false);\n\n/**\n * Whether to return raw response body\n *\n * 是否原样返回请求Body\n */\nexport const RAW_BODY = new HttpContextToken(() => false);\n","import { InjectionToken } from '@angular/core';\n\nimport type { FullLocaleData } from './locale.types';\n\nexport const DELON_LOCALE = new InjectionToken<FullLocaleData>('delon-locale');\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-CN',\n exception: {\n 403: '抱歉,你无权访问该页面',\n 404: '抱歉,你访问的页面不存在',\n 500: '抱歉,服务器出错了',\n backToHome: '返回首页'\n },\n noticeIcon: {\n emptyText: '暂无数据',\n clearText: '清空'\n },\n reuseTab: {\n close: '关闭标签',\n closeOther: '关闭其它标签',\n closeRight: '关闭右侧标签',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展开',\n collapse: '收起'\n },\n miniProgress: {\n target: '目标值:'\n },\n st: {\n total: '共 {{total}} 条',\n filterConfirm: '确定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全选',\n error: {\n 'false schema': `布尔模式出错`,\n $ref: `无法找到引用{ref}`,\n additionalItems: `不允许超过{limit}个元素`,\n additionalProperties: `不允许有额外的属性`,\n anyOf: `数据应为 anyOf 所指定的其中一个`,\n dependencies: `应当拥有属性{property}的依赖属性{deps}`,\n enum: `应当是预设定的枚举值之一`,\n format: `格式不正确`,\n type: `类型应当是 {type}`,\n required: `必填项`,\n maxLength: `至多 {limit} 个字符`,\n minLength: `至少 {limit} 个字符以上`,\n minimum: `必须 {comparison}{limit}`,\n formatMinimum: `必须 {comparison}{limit}`,\n maximum: `必须 {comparison}{limit}`,\n formatMaximum: `必须 {comparison}{limit}`,\n maxItems: `不应多于 {limit} 个项`,\n minItems: `不应少于 {limit} 个项`,\n maxProperties: `不应多于 {limit} 个属性`,\n minProperties: `不应少于 {limit} 个属性`,\n multipleOf: `应当是 {multipleOf} 的整数倍`,\n not: `不应当匹配 \"not\" schema`,\n oneOf: `只能匹配一个 \"oneOf\" 中的 schema`,\n pattern: `数据格式不正确`,\n uniqueItems: `不应当含有重复项 (第 {j} 项与第 {i} 项是重复的)`,\n custom: `格式不正确`,\n propertyNames: `属性名 \"{propertyName}\" 无效`,\n patternRequired: `应当有属性匹配模式 {missingPattern}`,\n switch: `由于 {caseIndex} 失败,未通过 \"switch\" 校验`,\n const: `应当等于常量`,\n contains: `应当包含一个有效项`,\n formatExclusiveMaximum: `formatExclusiveMaximum 应当是布尔值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 应当是布尔值`,\n if: `应当匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳过`,\n prev: `上一项`,\n next: `下一项`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { inject, Injectable, Optional, Provider, Signal, SkipSelf } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE } from './locale.tokens';\nimport type { FullLocaleData } from './locale.types';\n\n@Injectable()\nexport class DelonLocaleService {\n private defLocale = inject(DELON_LOCALE, { optional: true });\n private _locale: FullLocaleData = zhCN;\n private change$ = new BehaviorSubject<FullLocaleData>(this._locale);\n\n constructor() {\n this.setLocale(this.defLocale || zhCN);\n }\n\n get change(): Observable<FullLocaleData> {\n return this.change$.asObservable();\n }\n\n setLocale(locale: FullLocaleData): void {\n if (this._locale && this._locale.abbr === locale.abbr) {\n return;\n }\n this._locale = locale;\n this.change$.next(locale);\n }\n\n valueSignal<K extends keyof FullLocaleData>(key: K): Signal<FullLocaleData[K]> {\n const ret = toSignal(this.change.pipe(map(() => this.getData(key))), {\n initialValue: this._locale[key]\n });\n return ret;\n }\n\n get locale(): FullLocaleData {\n return this._locale;\n }\n\n getData<K extends keyof FullLocaleData>(key: K): FullLocaleData[K] {\n return (this._locale[key] || {}) as FullLocaleData[K];\n }\n}\n\nexport function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(exist: DelonLocaleService): DelonLocaleService {\n return exist || new DelonLocaleService();\n}\n\nexport const DELON_LOCALE_SERVICE_PROVIDER: Provider = {\n provide: DelonLocaleService,\n useFactory: DELON_LOCALE_SERVICE_PROVIDER_FACTORY,\n deps: [[new Optional(), new SkipSelf(), DelonLocaleService]]\n};\n","import { NgModule } from '@angular/core';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE_SERVICE_PROVIDER } from './locale.service';\nimport { DELON_LOCALE } from './locale.tokens';\n\n@NgModule({\n providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]\n})\nexport class DelonLocaleModule {}\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'en-US',\n exception: {\n 403: `Sorry, you don't have access to this page`,\n 404: `Sorry, the page you visited does not exist`,\n 500: `Sorry, the server is reporting an error`,\n backToHome: 'Back To Home'\n },\n noticeIcon: {\n emptyText: 'No data',\n clearText: 'Clear'\n },\n reuseTab: {\n close: 'Close tab',\n closeOther: 'Close other tabs',\n closeRight: 'Close tabs to right',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reset',\n search: 'Search',\n edit: 'Save',\n addText: 'Add',\n removeText: 'Remove',\n checkAllText: 'Check all',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Skip`,\n prev: `Prev`,\n next: `Next`,\n done: `Done`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-HK',\n exception: {\n 403: '抱歉,你無權訪問該頁面',\n 404: '抱歉,你訪問的頁面不存在',\n 500: '抱歉,伺服器出錯了',\n backToHome: '返回主頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標籤',\n closeOther: '關閉其他標籤',\n closeRight: '關閉右側標籤',\n refresh: '重新整理'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收合'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重設'\n },\n sf: {\n submit: '提交',\n reset: '重設',\n search: '搜尋',\n edit: '儲存',\n addText: '新增',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `布爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{limit}個元素`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `最多 {limit} 個字元`,\n minLength: `至少 {limit} 個字元以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項目`,\n minItems: `不應少於 {limit} 個項目`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `只能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 驗證`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項目`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是布爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是布爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-TW',\n exception: {\n 403: '抱歉,你無權訪問該頁面',\n 404: '抱歉,你訪問的頁面不存在',\n 500: '抱歉,服務器出錯了',\n backToHome: '返回首頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標簽',\n closeOther: '關閉其它標簽',\n closeRight: '關閉右側標簽',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收起'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `佈爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{ref}`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設定的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `至多 {limit} 個字符`,\n minLength: `至少 {limit} 個字符以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項`,\n minItems: `不應少於 {limit} 個項`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `隻能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 校驗`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是佈爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是佈爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'tr-TR',\n exception: {\n 403: `Üzgünüz, bu sayfaya erişiminiz yok`,\n 404: `Maalesef bu sayfa mevcut değil`,\n 500: `Üzgünüz, sunucu hatası`,\n backToHome: `Ana Sayfa'ya geri dön`\n },\n noticeIcon: {\n emptyText: 'Veri yok',\n clearText: 'Temiz'\n },\n reuseTab: {\n close: 'Sekmeyi Kapat',\n closeOther: 'Diğer sekmeleri kapat',\n closeRight: 'Sağdaki sekmeleri kapat',\n refresh: 'täzele'\n },\n tagSelect: {\n expand: 'Genişlet',\n collapse: 'Daralt'\n },\n miniProgress: {\n target: 'Hedef: '\n },\n st: {\n total: '{{range[0]}} ile {{range[1]}} arasında {{total}}',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla'\n },\n sf: {\n submit: 'Gönder',\n reset: 'Sıfırla',\n search: 'Ara',\n edit: 'Kaydet',\n addText: 'Ekle',\n removeText: 'Kaldır',\n checkAllText: 'Tümünü kontrol et',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Atla`,\n prev: `Önceki`,\n next: `Sonraki`,\n done: `Bitti`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'pl-PL',\n exception: {\n 403: `Niestety, nie masz uprawnień do tej strony`,\n 404: `Niestety, ta strona nie istnieje`,\n 500: `Niestety, błąd serwera`,\n backToHome: 'Powróć do strony głównej'\n },\n noticeIcon: {\n emptyText: 'Brak danych',\n clearText: 'Wyczyść'\n },\n reuseTab: {\n close: 'Zamknij kartę',\n closeOther: 'Zamknij inne karty',\n closeRight: 'Zamknij karty po prawej',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Rozszerz',\n collapse: 'Zmniejsz'\n },\n miniProgress: {\n target: 'Cel: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} z {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Wyczyść'\n },\n sf: {\n submit: 'Wyślij',\n reset: 'Resetuj',\n search: 'Szukaj',\n edit: 'Zapisz',\n addText: 'Dodaj',\n removeText: 'Usuń',\n checkAllText: 'Zaznacz wszystkie',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Pominąć`,\n prev: `Poprzedni`,\n next: `Kolejny`,\n done: `Gotowe`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'el-GR',\n exception: {\n 403: `Λυπούμαστε, δεν έχετε πρόσβαση σε αυτήν τη σελίδα`,\n 404: `Λυπούμαστε, η σελίδα αυτή δεν βρέθηκε`,\n 500: `Λυπούμαστε, σφάλμα διακομιστή`,\n backToHome: 'Επιστροφή στην αρχική σελίδα'\n },\n noticeIcon: {\n emptyText: 'Δεν υπάρχουν δεδομένα',\n clearText: 'Καθαρισμός'\n },\n reuseTab: {\n close: 'Κλείσιμο καρτέλας',\n closeOther: 'Κλείσιμο των άλλων καρτέλων',\n closeRight: 'Κλείσιμο των καρτελών δεξιά',\n refresh: 'Ανανέωση'\n },\n tagSelect: {\n expand: 'Επέκταση',\n collapse: 'Σύμπτυξη'\n },\n miniProgress: {\n target: 'Στόχος: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} από {{total}}',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά'\n },\n sf: {\n submit: 'Υποβολή',\n reset: 'Επαναφορά',\n search: 'Αναζήτηση',\n edit: 'Αποθήκευση',\n addText: 'Προσθήκη',\n removeText: 'Αφαίρεση',\n checkAllText: 'Επιλογή όλων',\n error: {\n 'false schema': `Η δυαδική δομή είναι ψευδής`,\n $ref: `Δεν είναι δυνατή η επίλυση της αναφοράς {ref}`,\n additionalItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n additionalProperties: `Δεν πρέπει να έχει επιπλέον χαρακτηριστικά`,\n anyOf: `Πρέπει να ταιριάζει με κάποια απο τις δομές στο \"anyOf\"`,\n dependencies: `τα χαρακτηριστικά {deps} είναι απαραίτητα, όταν υπάρχει το χαρακτηριστικό {property}`,\n enum: `Πρέπει να είναι ίσο με μία από τις προκαθορισμένες τιμές`,\n format: `Πρέπει να έχει την μορφή \"{format}\"`,\n type: `Πρέπει να είναι {type}`,\n required: `Απαιτείται`,\n maxLength: `Δεν πρέπει να είναι μεγαλύτερο από {limit} χαρακτήρες`,\n minLength: `Δεν πρέπει να είναι μικρότερο από {limit} χαρακτήρες`,\n minimum: `Πρέπει να είναι {comparison} {limit}`,\n formatMinimum: `Πρέπει να είναι {comparison} {limit}`,\n maximum: `Πρέπει να είναι {comparison} {limit}`,\n formatMaximum: `Πρέπει να είναι {comparison} {limit}`,\n maxItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n minItems: `Δεν πρέπει να έχει λιγότερα από {limit} στοιχεία`,\n maxProperties: `Δεν πρέπει να έχει περισσότερα από {limit} χαρακτηριστικά`,\n minProperties: `Δεν πρέπει να έχει λιγότερα από {limit} χαρακτηριστικά`,\n multipleOf: `Πρέπει να είναι πολλαπλάσιο του {multipleOf}`,\n not: `Δεν πρέπει να είναι εγκύρο, σύμφωνα με την δομή στο \"not\"`,\n oneOf: `Πρέπει να ταιριάζει με ακριβώς μια απο τις δομές στο \"oneOf\"`,\n pattern: `Πρέπει να ταιριάζει με το πρότυπο \"{pattern}\"`,\n uniqueItems: `Τα στοιχεία δεν πρέπει να επαναλαμβάνονται (τα στοιχεία ## {j} και {i} είναι ίδια)`,\n custom: `Πρέπει να έχει την μορφή`,\n propertyNames: `Το όνομα του χαρακτηριστικού \"{propertyName}\" δεν είναι έγκυρο`,\n patternRequired: `Πρέπει να υπάρχει το χαρακτηριστικό αντιπαραβολής προτύπου \"{missingPattern}\"`,\n switch: `Πρέπει να περάσει ο έλεγχος εγκυρότητας της λέξης-κλειδιού με την χρήση της \"switch\", η περίπτωση {caseIndex} αποτυγχάνει`,\n const: `Πρέπει να είναι ίσο με σταθερά`,\n contains: `Πρέπει να περιέχει κάποιο έγκυρο στοιχείο`,\n formatExclusiveMaximum: `formatExclusiveMaximum πρέπει να είναι boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum πρέπει να είναι boolean`,\n if: `Πρέπει να ταιριάζει στην δομή \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Παράλειψη`,\n prev: `Προηγούμενο`,\n next: `Επόμενο`,\n done: `Ολοκληρώθηκε`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ko-KR',\n exception: {\n 403: `죄송합니다.이 페이지에 액세스 할 수 없습니다.`,\n 404: `죄송합니다. 해당 페이지가 없습니다.`,\n 500: `죄송합니다, 서버 오류가 있습니다.`,\n backToHome: '홈으로 돌아갑니다.'\n },\n noticeIcon: {\n emptyText: '데이터 없음',\n clearText: '지우기'\n },\n reuseTab: {\n close: '탭 닫기',\n closeOther: '다른 탭 닫기',\n closeRight: '오른쪽 탭 닫기',\n refresh: '새롭게 하다'\n },\n tagSelect: {\n expand: '펼치기',\n collapse: '접기'\n },\n miniProgress: {\n target: '대상: '\n },\n st: {\n total: '전체 {{total}}건',\n filterConfirm: '확인',\n filterReset: '초기화'\n },\n sf: {\n submit: '제출',\n reset: '재설정',\n search: '검색',\n edit: '저장',\n addText: '추가',\n removeText: '제거',\n checkAllText: '모두 확인',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `건너 뛰기`,\n prev: `이전`,\n next: `다음`,\n done: `끝난`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'hr-HR',\n exception: {\n 403: `Nažalost, nemate pristup ovoj lokaciji`,\n 404: `Nažalost, lokacija ne postoji`,\n 500: `Nažalost, server je javio pogrešku`,\n backToHome: 'Nazad na početnu stranicu'\n },\n noticeIcon: {\n emptyText: 'Nema podataka',\n clearText: 'Obriši'\n },\n reuseTab: {\n close: 'Zatvori karticu',\n closeOther: 'Zatvori druge kartice',\n closeRight: 'Zatvori kartice desno',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Proširi',\n collapse: 'Skupi'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} od {{total}}',\n filterConfirm: 'U redu',\n filterReset: 'Poništi'\n },\n sf: {\n submit: 'Pošalji',\n reset: 'Poništi',\n search: 'Pretraži',\n edit: 'Spremi',\n addText: 'Dodaj',\n removeText: 'Ukloni',\n checkAllText: 'Označi sve'\n },\n onboarding: {\n skip: `Preskočiti`,\n prev: `Prethodna`,\n next: `Sljedeći`,\n done: `Sastavljeno`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ja-JP',\n exception: {\n 403: 'ページへのアクセス権限がありません',\n 404: 'ページが存在しません',\n 500: 'サーバーエラーが発生しました',\n backToHome: 'ホームに戻る'\n },\n noticeIcon: {\n emptyText: 'データが有りません',\n clearText: 'クリア'\n },\n reuseTab: {\n close: 'タブを閉じる',\n closeOther: '他のタブを閉じる',\n closeRight: '右のタブを閉じる',\n refresh: 'リフレッシュ'\n },\n tagSelect: {\n expand: '展開する',\n collapse: '折りたたむ'\n },\n miniProgress: {\n target: '設定値: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} / {{total}}',\n filterConfirm: '確定',\n filterReset: 'リセット'\n },\n sf: {\n submit: '送信',\n reset: 'リセット',\n search: '検索',\n edit: '保存',\n addText: '追加',\n removeText: '削除',\n checkAllText: '全選択',\n error: {\n 'false schema': `真偽値スキーマが不正です`,\n $ref: `参照を解決できません: {ref}`,\n additionalItems: `{limit}個を超えるアイテムを含めることはできません`,\n additionalProperties: `追加のプロパティを使用しないでください`,\n anyOf: `\"anyOf\"のスキーマと一致する必要があります`,\n dependencies: `プロパティ {property} を指定した場合、次の依存関係を満たす必要があります: {deps}`,\n enum: `定義された値のいずれかに等しくなければなりません`,\n format: `入力形式に一致しません: \"{format}\"`,\n type: `型が不正です: {type}`,\n required: `必須項目です`,\n maxLength: `最大文字数: {limit}`,\n minLength: `最少文字数: {limit}`,\n minimum: `値が不正です: {comparison} {limit}`,\n formatMinimum: `値が不正です: {comparison} {limit}`,\n maximum: `値が不正です: {comparison} {limit}`,\n formatMaximum: `値が不正です: {comparison} {limit}`,\n maxItems: `最大選択数は {limit} より小さい必要があります`,\n minItems: `最小選択数は {limit} より大きい必要があります`,\n maxProperties: `値を{limit}より大きくすることはできません`,\n minProperties: `値を{limit}より小さくすることはできません`,\n multipleOf: `値は次の数の倍数である必要があります: {multipleOf}`,\n not: `値が不正です:`,\n oneOf: `値が不正です:`,\n pattern: `次のパターンに一致する必要があります: \"{pattern}\"`,\n uniqueItems: `値が重複しています: 選択肢: {j} 、{i}`,\n custom: `形式と一致する必要があります`,\n propertyNames: `次のプロパティの値が無効です: \"{propertyName}\"`,\n patternRequired: `次のパターンに一致するプロパティが必須です: \"{missingPattern}\"`,\n switch: `\"switch\" キーワードの値が不正です: {caseIndex}`,\n const: `値が定数に一致しません`,\n contains: `有効なアイテムを含める必要があります`,\n formatExclusiveMaximum: `formatExclusiveMaximum は真偽値である必要があります`,\n formatExclusiveMinimum: `formatExclusiveMaximum は真偽値である必要があります`,\n if: `パターンと一致する必要があります: \"{failingKeyword}\" `\n }\n },\n onboarding: {\n skip: `スキップ`,\n prev: `前へ`,\n next: `次`,\n done: `できた`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'sl-SI',\n exception: {\n 403: `Žal nimate dostopa do te strani`,\n 404: `Žal stran, ki ste jo obiskali, ne obstaja`,\n 500: `Žal strežnik poroča o napaki`,\n backToHome: 'Nazaj domov'\n },\n noticeIcon: {\n emptyText: 'Ni podatkov',\n clearText: 'Počisti'\n },\n reuseTab: {\n close: 'Zapri zavihek',\n closeOther: 'Zaprite druge zavihke',\n closeRight: 'Zaprite zavihke na desni'\n },\n tagSelect: {\n expand: 'Razširi',\n collapse: 'Strni'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Pošlji',\n reset: 'Reset',\n search: 'Išči',\n edit: 'Shrani',\n addText: 'Dodaj',\n removeText: 'Odstrani',\n checkAllText: 'Preveri vse',\n error: {\n 'false schema': `Boolova shema je napačna`,\n $ref: `Referenc ni mogoče razrešiti {ref}`,\n additionalItems: `Ne sme imeti več kot {limit} artiklov`,\n additionalProperties: `Ne bi smel imeti dodatnih lastnosti`,\n anyOf: `Se mora ujemati s shemo v \"anyOf\"`,\n dependencies: `mora imeti lastnosti {deps} ko je artikel {property} prisoten`,\n enum: `Mora biti enaka eni od vnaprej določenih vrednosti`,\n format: `Naj ustreza formatu \"{format}\"`,\n type: `Naj bo {type}`,\n required: `Zahtevano`,\n maxLength: `Ne sme biti daljši od {limit} znakov`,\n minLength: `Ne sme biti krajši od {limit} znakov`,\n minimum: `Naj bo {comparison} {limit}`,\n formatMinimum: `Naj bo {comparison} {limit}`,\n maximum: `Naj bo {comparison} {limit}`,\n formatMaximum: `Naj bo {comparison} {limit}`,\n maxItems: `Ne sme imeti več kot {limit} artiklov`,\n minItems: `Ne sme imeti manj kot {limit} artiklov`,\n maxProperties: `Ne sme imeti več kot {limit} lastnosti`,\n minProperties: `Ne sme imeti manj kot {limit} lastnosti`,\n multipleOf: `Mora biti večkratnik od {multipleOf}`,\n not: `Ne sme biti veljaven po shemi v \"not\"`,\n oneOf: `Naj ustreza natančno eni shemi v \"oneOf\"`,\n pattern: `Naj se ujema z vzorcem \"{pattern}\"`,\n uniqueItems: `Ne bi smel imeti dvojnikov (items ## {j} in {i} so identični)`,\n custom: `Naj ustreza formatu`,\n propertyNames: `Ime artikla \"{propertyName}\" je neveljavno`,\n patternRequired: `Mora imeti vzorec ujemanja lastnosti \"{missingPattern}\"`,\n switch: `Mora prestati \"switch\" validacijo ključne besede, primer {caseIndex} ne uspe`,\n const: `Naj bo enako konstanti`,\n contains: `Naj vsebuje veljaven artikel`,\n formatExclusiveMaximum: `formatExclusiveMaximum naj bo boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum naj bo boolean`,\n if: `Naj se ujema s shemo \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Preskoči`,\n prev: `Prejšnje`,\n next: `Naslednji`,\n done: `Končano`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'fr-FR',\n exception: {\n 403: `Désolé, vous n'avez pas accès à cette page`,\n 404: `Désolé, la page que vous avez visitée n'existe pas`,\n 500: `Désolé, le serveur signale une erreur`,\n backToHome: \"Retour à l'accueil\"\n },\n noticeIcon: {\n emptyText: 'Pas de données',\n clearText: 'Effacer'\n },\n reuseTab: {\n close: \"Fermer l'onglet\",\n closeOther: 'Fermer les autres onglets',\n closeRight: 'Fermer les onglets à droite',\n refresh: 'Rafraîchir'\n },\n tagSelect: {\n expand: 'Etendre',\n collapse: 'Effondrer'\n },\n miniProgress: {\n target: 'Cible: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} de {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser'\n },\n sf: {\n submit: 'Soumettre',\n reset: 'Réinitialiser',\n search: 'Rechercher',\n edit: 'Sauvegarder',\n addText: 'Ajouter',\n removeText: 'Supprimer',\n checkAllText: 'Cochez toutes',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Passer`,\n prev: `Précédent`,\n next: `Suivant`,\n done: `Terminé`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'es-ES',\n exception: {\n 403: `Lo sentimos, no tiene acceso a esta página`,\n 404: `Lo sentimos, la página que ha visitado no existe`,\n 500: `Lo siento, error interno del servidor `,\n backToHome: 'Volver a la página de inicio'\n },\n noticeIcon: {\n emptyText: 'No hay datos',\n clearText: 'Limpiar'\n },\n reuseTab: {\n close: 'Cerrar pestaña',\n closeOther: 'Cerrar otras pestañas',\n closeRight: 'Cerrar pestañas a la derecha',\n refresh: 'Actualizar'\n },\n tagSelect: {\n expand: 'Expandir',\n collapse: 'Ocultar'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{rango[0]}} - {{rango[1]}} de {{total}}',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reiniciar',\n search: 'Buscar',\n edit: 'Guardar',\n addText: 'Añadir',\n removeText: 'Eliminar',\n checkAllText: 'Comprobar todo',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Omitir`,\n prev: `Previo`,\n next: `Siguiente`,\n done: `Terminado`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'it-IT',\n exception: {\n 403: `Spiacenti, non hai accesso a questa pagina`,\n 404: `Spiacenti, la pagina che hai visitato non esiste`,\n 500: `Spiacenti, il server sta riscontrando un errore`,\n backToHome: 'Torna alla Home'\n },\n noticeIcon: {\n emptyText: 'Nessun dato',\n clearText: 'Cancella memoria locale'\n },\n reuseTab: {\n close: 'Chiudi la scheda',\n closeOther: 'Chiudi le altre schede',\n closeRight: 'Chiudi le schede a destra',\n refresh: 'Aggiorna'\n },\n tagSelect: {\n expand: 'Espandi',\n collapse: 'Comprimi'\n },\n miniProgress: {\n target: 'Obiettivo: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} di {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reimposta'\n },\n sf: {\n submit: 'Invia',\n reset: 'Reimposta',\n search: 'Cerca',\n edit: 'Salva',\n addText: 'Aggiungi',\n removeText: 'Rimuovi',\n checkAllText: 'Seleziona tutto',\n error: {\n 'false schema': `Lo schema booleano è falso`,\n $ref: `Impossibile risolvere il riferimento {ref}`,\n additionalItems: `Non deve avere più di {limit} elementi`,\n additionalProperties: `Non deve avere proprietà aggiuntive`,\n anyOf: `Deve corrispondere a uno schema in \"anyOf\"`,\n dependencies: `Deve avere una proprietà {deps} quando è presente la proprietà {property}`,\n enum: `Deve essere uguale a uno dei valori predefiniti`,\n format: `Deve corrispondere al formato \"{format}\"`,\n type: `Deve essere {type}`,\n required: `Obbligatorio`,\n maxLength: `Non deve essere superiore a {limit} caratteri`,\n minLength: `Non deve essere superiore a {limit} caratteri`,\n minimum: `Deve essere {comparison} {limit}`,\n formatMinimum: `Deve essere {comparison} {limit}`,\n maximum: `Deve essere {comparison} {limit}`,\n formatMaximum: `Deve essere {comparison} {limit}`,\n maxItems: `Non deve avere più di {limit} elementi`,\n minItems: `Non deve avere meno di {limit} elementi`,\n maxProperties: `Non deve avere più di {limit} proprietà`,\n minProperties: `Non deve avere meno di {limit} proprietà`,\n multipleOf: `Deve essere un multiplo di {multipleOf}`,\n not: `Non deve essere valido secondo lo schema in \"not\"`,\n oneOf: `Deve corrispondere esattamente a uno schema in \"oneOf\"`,\n pattern: `Deve corrispondere al modello \"{pattern}\"`,\n uniqueItems: `Non deve avere elementi duplicati (gli elementi ## {j} e {i} sono identici)`,\n custom: `Deve corrispondere al formato \"{format}\"`,\n propertyNames: `Il nome della proprietà \"{propertyName}\" non è valido`,\n patternRequired: `Deve avere una proprietà corrispondete al modello \"{missingPattern}\"`,\n switch: `Deve superare la convalida della parola chiave \"switch\", il caso {caseIndex} non è riuscito`,\n const: `Deve essere uguale alla costante`,\n contains: `Deve contenere un elemento valido`,\n formatExclusiveMaximum: `formatExclusiveMaximum deve essere booleano`,\n formatExclusiveMinimum: `formatExclusiveMaximum deve essere booleano`,\n if: `Deve corrispondere allo schema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Salta`,\n prev: `Precedente`,\n next: `Successivo`,\n done: `Fatto`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'vi-VN',\n exception: {\n 403: `Xin lỗi, bạn không có quyền truy cập vào trang này`,\n 404: `Xin lỗi, trang bạn truy cập không tồn tại`,\n 500: `Xin lỗi, máy chủ đang báo cáo một lỗi`,\n backToHome: 'Quay lại Trang chủ'\n },\n noticeIcon: {\n emptyText: 'Không có dữ liệu',\n clearText: 'Xóa'\n },\n reuseTab: {\n close: 'Đóng tab',\n closeOther: 'Đóng các tab khác',\n closeRight: 'Đóng các tab bên phải',\n refresh: 'Làm mới'\n },\n tagSelect: {\n expand: 'Mở rộng',\n collapse: 'Thu gọn'\n },\n miniProgress: {\n target: 'Mục tiêu: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} của {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Đặt lại'\n },\n sf: {\n submit: 'Gửi',\n reset: 'Đặt lại',\n search: 'Tìm kiếm',\n edit: 'Lưu',\n addText: 'Thêm',\n removeText: 'Xóa',\n checkAllText: 'Chọn tất cả',\n error: {\n 'false schema': `Mô hình Boolean sai`,\n $ref: `Không thể giải quyết tham chiếu {ref}`,\n additionalItems: `Không nên có nhiều hơn {limit} mục`,\n additionalProperties: `Không nên có các thuộc tính bổ sung`,\n anyOf: `Nên phù hợp với một số mô hình trong \"anyOf\"`,\n dependencies: `nên có thuộc tính {deps} khi thuộc tính {property} hiện diện`,\n enum: `Nên bằng với một trong số các giá trị được xác định trước`,\n format: `Nên phù hợp với định dạng \"{format}\"`,\n type: `Nên là {type}`,\n required: `Bắt buộc`,\n maxLength: `Không nên dài hơn {limit} ký tự`,\n minLength: `Không nên ngắn hơn {limit} ký tự`,\n minimum: `Nên là {comparison} {limit}`,\n formatMinimum: `Nên là {comparison} {limit}`,\n maximum: `Nên là {comparison} {limit}`,\n formatMaximum: `Nên là {comparison} {limit}`,\n maxItems: `Không nên có nhiều hơn {limit} mục`,\n minItems: `Không nên có ít hơn {limit} mục`,\n maxProperties: `Không nên có nhiều hơn {limit} thuộc tính`,\n minProperties: `Không nên có ít hơn {limit} thuộc tính`,\n multipleOf: `Nên là bội số của {multipleOf}`,\n not: `Không nên hợp lệ theo mô hình trong \"not\"`,\n oneOf: `Nên phù hợp chính xác với một mô hình trong \"oneOf\"`,\n pattern: `Nên phù hợp với mẫu \"{pattern}\"`,\n uniqueItems: `Không nên có các mục trùng lặp (mục ## {j} và {i} giống nhau)`,\n custom: `Nên phù hợp với định dạng`,\n propertyNames: `Tên thuộc tính \"{propertyName}\" không hợp lệ`,\n patternRequired: `Nên có thuộc tính phù hợp với mẫu \"{missingPattern}\"`,\n switch: `Nên vượt qua việc xác nhận từ khóa \"switch\", trường hợp {caseIndex} thất bại`,\n const: `Nên bằng với hằng số`,\n contains: `Nên chứa một mục hợp lệ`,\n formatExclusiveMaximum: `formatExclusiveMaximum nên là boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum nên là boolean`,\n if: `Nên phù hợp với mô hình \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Bỏ qua`,\n prev: `Trước`,\n next: `Tiếp`,\n done: `Hoàn thành`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ar-SA',\n exception: {\n 403: `عذراً، ليس لديك إذن للوصول إلى هذه الصفحة`,\n 404: `عذراً، الصفحة التي تبحث عنها غير موجودة`,\n 500: `عذراً، خطأ في الخادم`,\n backToHome: 'العودة إلى الصفحة الرئيسية'\n },\n noticeIcon: {\n emptyText: 'لا توجد بيانات',\n clearText: 'مسح'\n },\n reuseTab: {\n close: 'إغلاق العلامة',\n closeOther: 'إغلاق العلامات الأخرى',\n closeRight: 'إغلاق العلامات اليمنى',\n refresh: 'تحديث'\n },\n tagSelect: {\n expand: 'توسيع',\n collapse: 'طي'\n },\n miniProgress: {\n target: 'الهدف: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} من {{total}}',\n filterConfirm: 'تأكيد',\n filterReset: 'إعادة تعيين'\n },\n sf: {\n submit: 'حفظ',\n reset: 'إعادة تعيين',\n search: 'بحث',\n edit: 'تعديل',\n addText: 'إضافة',\n removeText: 'حذف',\n checkAllText: 'تحديد الكل',\n error: {\n 'false schema': `القيمة المنطقية خاطئة`,\n $ref: `المرجع \"{{ref}}\" غير موجود`,\n additionalItems: `يجب ألا يحتوي على عناصر إضافية`,\n additionalProperties: `يجب ألا يحتوي على خصائص إضافية`,\n anyOf: `يجب أن يتطابق مع أحد النماذج في \"anyOf\"`,\n dependencies: `يجب أن يحتوي على الخصائص {{deps}} عندما تكون الخاصية {{property}} موجودة`,\n enum: `يجب أن يكون واحدًا من القيم المحددة`,\n format: `يجب أن يتوافق مع النمط \"{{format}}\"`,\n type: `يجب أن يكون {{type}}`,\n required: `مطلوب`,\n maxLength: `يجب ألا يكون أطول من {limit} حرف`,\n minLength: `يجب ألا يكون أقصر من {limit} حرف`,\n minimum: `يجب أن يكون أكبر من أو يساوي {comparison} {limit}`,\n formatMinimum: `يجب أن يكون أكبر من أو يساوي {comparison} {limit}`,\n maximum: `يجب أن يكون أقل من أو يساوي {comparison} {limit}`,\n formatMaximum: `يجب أن يكون أقل من أو يساوي {comparison} {limit}`,\n maxItems: `يجب ألا يكون أكثر من {limit} عنصر`,\n minItems: `يجب ألا يكون أقل من {limit} عنصر`,\n maxProperties: `يجب ألا يكون أكثر من {limit} خاصية`,\n minProperties: `يجب ألا يكون أقل من {limit} خاصية`,\n multipleOf: `يجب أن يكون مضاعفًا لـ {multipleOf}`,\n not: `لا يجب أن يتطابق مع النمط (not)`,\n oneOf: `يجب أن يتطابق مع أحد النماذج في \"oneOf\"`,\n pattern: `يجب أن يتطابق مع النمط \"{pattern}\"`,\n uniqueItems: `يجب ألا يحتوي على عناصر مكررة`,\n custom: `يجب أن يكون صالحًا`,\n propertyNames: `يجب أن تكون الخاصية صالحة`,\n patternRequired: `يجب أن تحتوي على خاصية تطابق النمط \"{missingPattern}\"`,\n switch: `يجب أن يكون {caseIndex} صالحًا`,\n const: `يجب أن يكون ثابتًا`,\n contains: `يجب أن يحتوي على قيمة صالحة`,\n formatExclusiveMaximum: `formatExclusiveMaximum يجب أن يكون قيمة منطقية`,\n formatExclusiveMinimum: `formatExclusiveMinimum يجب أن يكون قيمة منطقية`,\n if: `يجب أن يتوافق مع \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `تخطي`,\n prev: `السابق`,\n next: `التالي`,\n done: `تم`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'id-ID',\n exception: {\n 403: `Maaf, Anda tidak memiliki akses ke halaman ini`,\n 404: `Maaf, halaman yang Anda kunjungi tidak ada`,\n 500: `Maaf, server melaporkan kesalahan`,\n backToHome: 'Kembali ke Beranda'\n },\n noticeIcon: {\n emptyText: 'Tidak ada data',\n clearText: 'Bersihkan'\n },\n reuseTab: {\n close: 'Tutup tab',\n closeOther: 'Tutup tab lainnya',\n closeRight: 'Tutup tab di sebelah kanan',\n refresh: 'Segarkan'\n },\n tagSelect: {\n expand: 'Perluas',\n collapse: 'Ciutkan'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} dari {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Atur ulang'\n },\n sf: {\n submit: 'Kirim',\n reset: 'Atur ulang',\n search: 'Cari',\n edit: 'Simpan',\n addText: 'Tambah',\n removeText: 'Hapus',\n checkAllText: 'Pilih semua',\n error: {\n 'false schema': `Skema boolean salah`,\n $ref: `Tidak dapat menyelesaikan referensi {ref}`,\n additionalItems: `Tidak boleh memiliki lebih dari {limit} item`,\n additionalProperties: `Tidak boleh memiliki properti tambahan`,\n anyOf: `Harus cocok dengan salah satu skema di \"anyOf\"`,\n dependencies: `harus memiliki properti {deps} ketika properti {property} ada`,\n enum: `Harus sama dengan salah satu nilai yang telah ditentukan`,\n format: `Harus sesuai dengan format \"{format}\"`,\n type: `Harus berupa {type}`,\n required: `Diperlukan`,\n maxLength: `Tidak boleh lebih panjang dari {limit} karakter`,\n minLength: `Tidak boleh lebih pendek dari {limit} karakter`,\n minimum: `Harus {comparison} {limit}`,\n formatMinimum: `Harus {comparison} {limit}`,\n maximum: `Harus {comparison} {limit}`,\n formatMaximum: `Harus {comparison} {limit}`,\n maxItems: `Tidak boleh memiliki lebih dari {limit} item`,\n minItems: `Tidak boleh memiliki kurang dari {limit} item`,\n maxProperties: `Tidak boleh memiliki lebih dari {limit} properti`,\n minProperties: `Tidak boleh memiliki kurang dari {limit} properti`,\n multipleOf: `Harus kelipatan dari {multipleOf}`,\n not: `Tidak boleh valid menurut skema dalam \"not\"`,\n oneOf: `Harus cocok dengan tepat satu skema dalam \"oneOf\"`,\n pattern: `Harus cocok dengan pola \"{pattern}\"`,\n uniqueItems: `Tidak boleh memiliki item duplikat (item ## {j} dan {i} identik)`,\n custom: `Harus sesuai dengan format`,\n propertyNames: `Nama properti \"{propertyName}\" tidak valid`,\n patternRequired: `Harus memiliki properti yang cocok dengan pola \"{missingPattern}\"`,\n switch: `Harus lulus validasi kata kunci \"switch\", kasus {caseIndex} gagal`,\n const: `Harus sama dengan konstanta`,\n contains: `Harus berisi item yang valid`,\n formatExclusiveMaximum: `formatExclusiveMaximum harus berupa boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum harus berupa boolean`,\n if: `Harus cocok dengan skema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Lewati`,\n prev: `Sebelumnya`,\n next: `Berikutnya`,\n done: `Selesai`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'km-KH',\n exception: {\n 403: `សូមអភ័យទោស អ្នកមិនមានសិទ្ធិចូលទំព័រនេះទេ`,\n 404: `សូមអភ័យទោស ទំព័រដែលអ្នកចូលមិនមានទេ`,\n 500: `សូមអភ័យទោស ម៉ាស៊ីនមេកំពុងរាយការណ៍កំហុស`,\n backToHome: 'ត្រឡប់ទៅទំព័រដើម'\n },\n noticeIcon: {\n emptyText: 'គ្មានទិន្នន័យ',\n clearText: 'សម្អាត'\n },\n reuseTab: {\n close: 'បិទផ្ទាំង',\n closeOther: 'បិទផ្ទាំងផ្សេងទៀត',\n closeRight: 'បិទផ្ទាំងខាងស្ដាំ',\n refresh: 'ផ្ទុកឡើងវិញ'\n },\n tagSelect: {\n expand: 'ពង្រីក',\n collapse: 'បង្រួម'\n },\n miniProgress: {\n target: 'គោលដៅ៖ '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} នៃ {{total}}',\n filterConfirm: 'យល់ព្រម',\n filterReset: 'កំណត់ឡើងវិញ'\n },\n sf: {\n submit: 'ដាក់ស្នើ',\n reset: 'កំណត់ឡើងវិញ',\n search: 'ស្វែងរក',\n edit: 'រក្សាទុក',\n addText: 'បន្ថែម',\n removeText: 'លុបចេញ',\n checkAllText: 'ពិនិត្យទាំងអស់',\n error: {\n 'false schema': `ស្កីម៉ាមិនត្រឹមត្រូវទេ`,\n $ref: `មិនអាចដោះស្រាយយោង {ref} បានទេ`,\n additionalItems: `មិនគួរមានធាតុលើស {limit}`,\n additionalProperties: `មិនគួរមានលក្ខណៈបន្ថែមទេ`,\n anyOf: `ត្រូវតែត្រូវនឹងស្កីម៉ាណាមួយក្នុង \"anyOf\"`,\n dependencies: `ត្រូវមានលក្ខណៈ {deps} នៅពេលដែលមានលក្ខណៈ {property}`,\n enum: `ត្រូវតែស្មើនឹងតម្លៃដែលបានកំណត់ជាមុន`,\n format: `ត្រូវតែស្របនឹងទ្រង់ទ្រាយ \"{format}\"`,\n type: `ត្រូវតែជា {type}`,\n required: `ត្រូវការបំពេញ`,\n maxLength: `មិនគួរលើសពី {limit} តួអក្សរ`,\n minLength: `មិនគួរតិចជាង {limit} តួអក្សរ`,\n minimum: `ត្រូវជា {comparison} {limit}`,\n formatMinimum: `ត្រូវជា {comparison} {limit}`,\n maximum: `ត្រូវជា {comparison} {limit}`,\n formatMaximum: `ត្រូវជា {comparison} {limit}`,\n maxItems: `មិនគួរមានធាតុលើសពី {limit}`,\n minItems: `មិនគួរមានធាតុតិចជាង {limit}`,\n maxProperties: `មិនគួរមានលក្ខណៈលើសពី {limit}`,\n minProperties: `មិនគួរមានលក្ខណៈតិចជាង {limit}`,\n multipleOf: `ត្រូវជាចំនួនគុណនៃ {multipleOf}`,\n not: `មិនគួរត្រូវនឹងស្កីម៉ានៅក្នុង \"not\" ទេ`,\n oneOf: `ត្រូវតែត្រូវតែមួយស្កីម៉ានៅក្នុង \"oneOf\" ប៉ុណ្ណោះ`,\n pattern: `ត្រូវតែត្រូវនឹងលំនាំ \"{pattern}\"`,\n uniqueItems: `មិនគួរមានធាតុស្ទួន (ធាតុ ## {j} និង {i} ដូចគ្នា)`,\n custom: `ត្រូវតែស្របនឹងទ្រង់ទ្រាយ`,\n propertyNames: `ឈ្មោះលក្ខណៈ \"{propertyName}\" មិនត្រឹមត្រូវទេ`,\n patternRequired: `ត្រូវមានលក្ខណៈដែលត្រូវនឹងលំនាំ \"{missingPattern}\"`,\n switch: `មិនជោគជ័យក្នុងការផ្ទៀងផ្ទាត់តាមពាក្យគន្លឹះ \"switch\" ករណី {caseIndex} បរាជ័យ`,\n const: `ត្រូវស្មើនឹងតម្លៃថេរ`,\n contains: `ត្រូវមានធាតុត្រឹមត្រូវមួយ`,\n formatExclusiveMaximum: `formatExclusiveMaximum ត្រូវជាប៊ូលីន`,\n formatExclusiveMinimum: `formatExclusiveMinimum ត្រូវជាប៊ូលីន`,\n if: `ត្រូវតែត្រូវនឹងស្កីម៉ា \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `រំលង`,\n prev: `ថយក្រោយ`,\n next: `បន្ទាប់`,\n done: `រួចរាល់`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ms-MY',\n exception: {\n 403: `Maaf, anda tidak mempunyai akses ke halaman ini`,\n 404: `Maaf, halaman yang anda lawati tidak wujud`,\n 500: `Maaf, pelayan melaporkan ralat`,\n backToHome: 'Kembali ke Laman Utama'\n },\n noticeIcon: {\n emptyText: 'Tiada data',\n clearText: 'Padam'\n },\n reuseTab: {\n close: 'Tutup tab',\n closeOther: 'Tutup tab lain',\n closeRight: 'Tutup tab di sebelah kanan',\n refresh: 'Segar semula'\n },\n tagSelect: {\n expand: 'Kembangkan',\n collapse: 'Lipat'\n },\n miniProgress: {\n target: 'Sasaran: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} daripada {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Set Semula'\n },\n sf: {\n submit: 'Hantar',\n reset: 'Set Semula',\n search: 'Cari',\n edit: 'Simpan',\n addText: 'Tambah',\n removeText: 'Padam',\n checkAllText: 'Tanda semua',\n error: {\n 'false schema': `Skema boolean adalah palsu`,\n $ref: `Tidak dapat menyelesaikan rujukan {ref}`,\n additionalItems: `Tidak sepatutnya mempunyai lebih daripada {limit} item`,\n additionalProperties: `Tidak sepatutnya mempunyai sifat tambahan`,\n anyOf: `Perlu sepadan dengan beberapa skema dalam \"anyOf\"`,\n dependencies: `Perlu mempunyai sifat {deps} apabila sifat {property} wujud`,\n enum: `Perlu sama dengan salah satu nilai yang telah ditetapkan`,\n format: `Perlu sepadan dengan format \"{format}\"`,\n type: `Perlu menjadi {type}`,\n required: `Diperlukan`,\n maxLength: `Tidak boleh lebih panjang daripada {limit} aksara`,\n minLength: `Tidak boleh lebih pendek daripada {limit} aksara`,\n minimum: `Perlu {comparison} {limit}`,\n formatMinimum: `Perlu {comparison} {limit}`,\n maximum: `Perlu {comparison} {limit}`,\n formatMaximum: `Perlu {comparison} {limit}`,\n maxItems: `Tidak boleh mempunyai lebih daripada {limit} item`,\n minItems: `Tidak boleh mempunyai kurang daripada {limit} item`,\n maxProperties: `Tidak boleh mempunyai lebih daripada {limit} sifat`,\n minProperties: `Tidak boleh mempunyai kurang daripada {limit} sifat`,\n multipleOf: `Perlu menjadi gandaan bagi {multipleOf}`,\n not: `Tidak sepatutnya sah mengikut skema dalam \"not\"`,\n oneOf: `Perlu sepadan tepat dengan satu skema dalam \"oneOf\"`,\n pattern: `Perlu sepadan dengan corak \"{pattern}\"`,\n uniqueItems: `Tidak boleh mempunyai item yang sama (item ## {j} dan {i} adalah sama)`,\n custom: `Perlu sepadan dengan format`,\n propertyNames: `Nama sifat \"{propertyName}\" tidak sah`,\n patternRequired: `Perlu mempunyai sifat yang sepadan dengan corak \"{missingPattern}\"`,\n switch: `Perlu melepasi pengesahan kata kunci \"switch\", kes {caseIndex} gagal`,\n const: `Perlu sama dengan nilai tetap`,\n contains: `Perlu mengandungi item yang sah`,\n formatExclusiveMaximum: `formatExclusiveMaximum mesti boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum mesti boolean`,\n if: `Perlu sepadan dengan skema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Langkau`,\n prev: `Sebelum`,\n next: `Seterusnya`,\n done: `Selesai`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'th-TH',\n exception: {\n 403: `ขอโทษค่ะ คุณไม่มีสิทธิ์เข้าถึงหน้านี้`,\n 404: `ขอโทษค่ะ หน้าที่คุณเข้าชมไม่มีอยู่`,\n 500: `ขอโทษค่ะ เซิร์ฟเวอร์รายงานข้อผิดพลาด`,\n backToHome: 'กลับไปหน้าหลัก'\n },\n noticeIcon: {\n emptyText: 'ไม่มีข้อมูล',\n clearText: 'ล้างข้อมูล'\n },\n reuseTab: {\n close: 'ปิดแท็บ',\n closeOther: 'ปิดแท็บอื่น',\n closeRight: 'ปิดแท็บทางขวา',\n refresh: 'รีเฟรช'\n },\n tagSelect: {\n expand: 'ขยาย',\n collapse: 'ย่อ'\n },\n miniProgress: {\n target: 'เป้าหมาย: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} จาก {{total}}',\n filterConfirm: 'ตกลง',\n filterReset: 'รีเซ็ต'\n },\n sf: {\n submit: 'ส่งข้อมูล',\n reset: 'รีเซ็ต',\n search: 'ค้นหา',\n edit: 'บันทึก',\n addText: 'เพิ่ม',\n removeText: 'ลบ',\n checkAllText: 'เลือกทั้งหมด',\n error: {\n 'false schema': `สคีมาแบบบูลีนเป็นเท็จ`,\n $ref: `ไม่สามารถแก้ไขการอ้างอิง {ref} ได้`,\n additionalItems: `ไม่ควรมีมากกว่า {limit} รายการ`,\n additionalProperties: `ไม่ควรมีคุณสมบัติเพิ่มเติม`,\n anyOf: `ควรตรงกับบางสคีมาใน \"anyOf\"`,\n dependencies: `ควรมีคุณสมบัติ {deps} เมื่อมีคุณสมบัติ {property}`,\n enum: `ควรมีค่าเท่ากับค่าที่กำหนดไว้ล่วงหน้า`,\n format: `ควรตรงกับรูปแบบ \"{format}\"`,\n type: `ควรเป็น {type}`,\n required: `จำเป็นต้องกรอก`,\n maxLength: `ไม่ควรยาวเกิน {limit} ตัวอักษร`,\n minLength: `ไม่ควรสั้นกว่า {limit} ตัวอักษร`,\n minimum: `ควรเป็น {comparison} {limit}`,\n formatMinimum: `ควรเป็น {comparison} {limit}`,\n maximum: `ควรเป็น {comparison} {limit}`,\n formatMaximum: `ควรเป็น {comparison} {limit}`,\n maxItems: `ไม่ควรมีมากกว่า {limit} รายการ`,\n minItems: `ไม่ควรมีน้อยกว่า {limit} รายการ`,\n maxProperties: `ไม่ควรมีมากกว่า {limit} คุณสมบัติ`,\n minProperties: `ไม่ควรมีน้อยกว่า {limit} คุณสมบัติ`,\n multipleOf: `ควรเป็นผลคูณของ {multipleOf}`,\n not: `ไม่ควรถูกต้องตามสคีมาใน \"not\"`,\n oneOf: `ควรตรงกับเพียงหนึ่งสคีมาใน \"oneOf\"`,\n pattern: `ควรตรงกับรูปแบบ \"{pattern}\"`,\n uniqueItems: `ไม่ควรมีรายการซ้ำกัน (รายการ ## {j} และ {i} เหมือนกัน)`,\n custom: `ควรตรงกับรูปแบบ`,\n propertyNames: `ชื่อคุณสมบัติ \"{propertyName}\" ไม่ถูกต้อง`,\n patternRequired: `ควรมีคุณสมบัติที่ตรงกับรูปแบบ \"{missingPattern}\"`,\n switch: `ควรผ่านการตรวจสอบคำสำคัญ \"switch\" กรณี {caseIndex} ล้มเหลว`,\n const: `ควรเท่ากับค่าคงที่`,\n contains: `ควรมีรายการที่ถูกต้อง`,\n formatExclusiveMaximum: `formatExclusiveMaximum ควรเป็นบูลีน`,\n formatExclusiveMinimum: `formatExclusiveMinimum ควรเป็นบูลีน`,\n if: `ควรตรงกับสคีมา \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `ข้าม`,\n prev: `ก่อนหน้า`,\n next: `ถัดไป`,\n done: `เสร็จสิ้น`\n }\n} as FullLocaleData;\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { formatDate } from '@delon/util/date-time';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\n@Pipe({ name: '_date' })\nexport class DatePipe implements PipeTransform {\n private nzI18n = inject(NzI18nService);\n private cog = inject(AlainConfigService).get('themePipe');\n\n transform(value: Date | string | number, formatString?: string | null): string {\n const formatStr = formatString ?? this.cog?.dateFormat ?? 'yyyy-MM-dd HH:mm';\n\n return formatDate(value, formatStr, {\n locale: this.nzI18n.getDateLocale(),\n customFormat: this.cog?.dateFormatCustom\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * [Document](https://ng-alain.com/theme/keys)\n */\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(value: NzSafeAny, keyIsNumber: boolean = false): NzSafeAny[] {\n const ret: NzSafeAny[] = [];\n Object.keys(value).forEach(key => {\n ret.push({ key: keyIsNumber ? +key : key, value: value[key] });\n });\n return ret;\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type YNMode = 'full' | 'icon' | 'text';\n\nconst ICON_YES = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"></path></svg>`;\nconst ICON_NO = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg>`;\nconst CLS_YES = `class=\"yn__yes\"`;\nconst CLS_NO = `class=\"yn__no\"`;\n\nexport interface YNOptions {\n yes?: string;\n no?: string;\n mode?: YNMode;\n}\n\nexport function yn(value: boolean, opt?: YNOptions): string {\n let html = '';\n let { yes, no, mode } = { ...opt };\n yes = yes || '是';\n no = no || '否';\n switch (mode) {\n case 'full':\n html = value\n ? `<i ${CLS_YES}>${ICON_YES}<span>${yes}</span></i>`\n : `<i ${CLS_NO}>${ICON_NO}<span>${no}</span></i>`;\n break;\n case 'text':\n html = value ? `<i ${CLS_YES}>${yes}</i>` : `<i ${CLS_NO}>${no}</i>`;\n break;\n default:\n html = value ? `<i ${CLS_YES} title=\"${yes}\">${ICON_YES}</i>` : `<i ${CLS_NO} title=\"${no}\">${ICON_NO}</i>`;\n break;\n }\n return html;\n}\n\n@Pipe({ name: 'yn' })\nexport class YNPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(value: boolean, yes?: string, no?: string, mode?: YNMode, isSafeHtml: boolean = true): SafeHtml {\n const html = yn(value, { yes, no, mode });\n return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({ name: 'html' })\nexport class HTMLPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(html: string): string | SafeHtml {\n return html ? this.dom.bypassSecurityTrustHtml(html) : '';\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({ name: 'url' })\nexport class URLPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(url: string): string | SafeUrl {\n return url ? this.dom.bypassSecurityTrustUrl(url) : '';\n }\n}\n","/* eslint-disable import/order */\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n// #region import\n\nconst HELPERS = [ModalHelper, DrawerHelper];\n\n// pipes\nimport { BellOutline, DeleteOutline, InboxOutline, PlusOutline } from '@ant-design/icons-angular/icons';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { DelonLocaleModule } from './locale/locale.module';\nimport { DatePipe } from './pipes/date/date.pipe';\nimport { KeysPipe } from './pipes/keys/keys.pipe';\nimport { HTMLPipe } from './pipes/safe/html.pipe';\nimport { URLPipe } from './pipes/safe/url.pipe';\nimport { YNPipe } from './pipes/yn/yn.pipe';\nimport { I18nPipe } from './services/i18n/i18n.pipe';\nconst PIPES = [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe];\n\n// #endregion\n\n// #region all delon used icons\n\n// - zorro: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/icon/icons.ts\n\nimport { DrawerHelper } from './services/drawer/drawer.helper';\nimport { ModalHelper } from './services/modal/modal.helper';\nimport { ALAIN_SETTING_DEFAULT } from './services/settings/settings.service';\nconst ICONS = [BellOutline, DeleteOutline, PlusOutline, InboxOutline];\n\n// #endregion\n\n@NgModule({\n imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, ...PIPES],\n providers: [ALAIN_SETTING_DEFAULT],\n exports: [...PIPES, DelonLocaleModule]\n})\nexport class AlainThemeModule {\n constructor(iconSrv: NzIconService) {\n iconSrv.addIcon(...ICONS);\n }\n\n static forRoot(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: HELPERS\n };\n }\n\n static forChild(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: HELPERS\n };\n }\n}\n","import { registerLocaleData } from '@angular/common';\nimport {\n EnvironmentProviders,\n LOCALE_ID,\n Provider,\n Type,\n importProvidersFrom,\n inject,\n makeEnvironmentProviders,\n provideEnvironmentInitializer\n} from '@angular/core';\n\nimport type { IconDefinition } from '@ant-design/icons-angular';\nimport {\n BellOutline,\n DeleteOutline,\n InboxOutline,\n PlusOutline,\n MenuFoldOutline,\n MenuUnfoldOutline\n} from '@ant-design/icons-angular/icons';\n\nimport { ALAIN_CONFIG, AlainConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NZ_DATE_LOCALE, provideNzI18n } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\n\nimport { DELON_LOCALE, DELON_LOCALE_SERVICE_PROVIDER } from './locale';\nimport zhCN from './locale/languages/zh-CN';\nimport { ALAIN_I18N_TOKEN } from './services';\nimport { ALAIN_SETTING_DEFAULT } from './services/settings/settings.service';\n\nexport interface AlainProvideOptions {\n config?: AlainConfig;\n /**\n * Initialize default language\n *\n * 初始化默认语言\n */\n defaultLang?: AlainProvideLang;\n i18nClass?: Type<NzSafeAny>;\n icons?: IconDefinition[];\n}\n\nexport interface AlainProvideLang {\n abbr: string;\n ng: NzSafeAny;\n zorro: NzSafeAny;\n date: NzSafeAny;\n delon: NzSafeAny;\n}\n\nexport function provideAlain(options: AlainProvideOptions): EnvironmentProviders {\n const lang = options?.defaultLang;\n const provides: Array<Provider | EnvironmentProviders> = [\n { provide: ALAIN_CONFIG, useValue: options?.config },\n { provide: DELON_LOCALE, useValue: lang?.delon ?? zhCN },\n DELON_LOCALE_SERVICE_PROVIDER,\n importProvidersFrom([NzDrawerModule, NzModalModule]),\n ALAIN_SETTING_DEFAULT\n ];\n if (lang) {\n registerLocaleData(lang.ng, lang.abbr);\n provides.push({ provide: LOCALE_ID, useValue: lang.abbr }, provideNzI18n(lang.zorro), {\n provide: NZ_DATE_LOCALE,\n useValue: lang.date\n });\n }\n\n const i18nCls = options?.i18nClass;\n if (i18nCls) {\n provides.push({ provide: ALAIN_I18N_TOKEN, useClass: i18nCls, multi: false });\n }\n\n const icons: IconDefinition[] = [\n BellOutline,\n DeleteOutline,\n PlusOutline,\n InboxOutline,\n MenuFoldOutline,\n MenuUnfoldOutline,\n ...(options.icons ?? [])\n ];\n provides.push(\n provideEnvironmentInitializer(() => {\n inject(NzIconService, { optional: true })?.addIcon(...icons);\n })\n );\n return makeEnvironmentProviders(provides);\n}\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of, catchError } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * Optional pre-loading module, when it's necessary to load the resource at the first page load for some lazy routes, [example](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts).\n *\n * 可选预加载模块,当需要对某些懒路由在第一次页面加载时也一并加载该资源时,[示例](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts)。\n *\n * @example\n * {AT}NgModule({\n * providers: [PreloadOptionalModules],\n * imports: [\n * RouterModule.forRoot([\n * { path: '', loadChildren: null, data: { preload: true } }\n * ], { preloadingStrategy: PreloadOptionalModules})]\n * })\n */\nexport class PreloadOptionalModules implements PreloadingStrategy {\n preload(route: Route, fn: () => Observable<NzSafeAny>): Observable<NzSafeAny> {\n return route.data?.preload === true ? fn().pipe(catchError(() => of(null))) : of(null);\n }\n}\n","import { Version } from '@angular/core';\n\nexport const VERSION = new Version('20.1.0');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.mjs","sources":["../../../../packages/theme/src/services/preloader/preloader.ts","../../../../packages/theme/src/services/i18n/i18n.ts","../../../../packages/theme/src/services/menu/menu.service.ts","../../../../packages/theme/src/services/settings/settings.service.ts","../../../../packages/theme/src/services/responsive/responsive.ts","../../../../packages/theme/src/services/rtl/rtl.service.ts","../../../../packages/theme/src/services/title/title.service.ts","../../../../packages/theme/src/services/i18n/i18n.pipe.ts","../../../../packages/theme/src/services/i18n/i18n-url.guard.ts","../../../../packages/theme/src/services/modal/modal.helper.ts","../../../../packages/theme/src/services/drawer/drawer.helper.ts","../../../../packages/theme/src/services/http/http.client.ts","../../../../packages/theme/src/services/http/http.decorator.ts","../../../../packages/theme/src/services/http/http.token.ts","../../../../packages/theme/src/locale/locale.tokens.ts","../../../../packages/theme/src/locale/languages/zh-CN.ts","../../../../packages/theme/src/locale/locale.service.ts","../../../../packages/theme/src/locale/locale.module.ts","../../../../packages/theme/src/locale/languages/en-US.ts","../../../../packages/theme/src/locale/languages/zh-HK.ts","../../../../packages/theme/src/locale/languages/zh-TW.ts","../../../../packages/theme/src/locale/languages/tr-TR.ts","../../../../packages/theme/src/locale/languages/pl-PL.ts","../../../../packages/theme/src/locale/languages/el-GR.ts","../../../../packages/theme/src/locale/languages/ko-KR.ts","../../../../packages/theme/src/locale/languages/hr-HR.ts","../../../../packages/theme/src/locale/languages/ja-JP.ts","../../../../packages/theme/src/locale/languages/sl-SI.ts","../../../../packages/theme/src/locale/languages/fr-FR.ts","../../../../packages/theme/src/locale/languages/es-ES.ts","../../../../packages/theme/src/locale/languages/it-IT.ts","../../../../packages/theme/src/locale/languages/vi-VN.ts","../../../../packages/theme/src/locale/languages/ar-SA.ts","../../../../packages/theme/src/locale/languages/id-ID.ts","../../../../packages/theme/src/locale/languages/km-KH.ts","../../../../packages/theme/src/locale/languages/ms-MY.ts","../../../../packages/theme/src/locale/languages/th-TH.ts","../../../../packages/theme/src/pipes/date/date.pipe.ts","../../../../packages/theme/src/pipes/keys/keys.pipe.ts","../../../../packages/theme/src/pipes/yn/yn.pipe.ts","../../../../packages/theme/src/pipes/safe/html.pipe.ts","../../../../packages/theme/src/pipes/safe/url.pipe.ts","../../../../packages/theme/src/theme.module.ts","../../../../packages/theme/src/provide.ts","../../../../packages/theme/src/router/optional-preloader.ts","../../../../packages/theme/src/version.ts","../../../../packages/theme/theme.ts"],"sourcesContent":["import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { PLATFORM_ID, inject } from '@angular/core';\n\nexport function stepPreloader(): () => void {\n const doc: Document = inject(DOCUMENT);\n const ssr = isPlatformServer(inject(PLATFORM_ID));\n if (ssr) {\n return () => {};\n }\n const body = doc.querySelector<HTMLBodyElement>('body')!;\n body.style.overflow = 'hidden';\n let done = false;\n\n return () => {\n if (done) return;\n\n done = true;\n const preloader = doc.querySelector<HTMLElement>('.preloader');\n if (preloader == null) return;\n\n const CLS = 'preloader-hidden';\n preloader.addEventListener('transitionend', () => {\n preloader.className = CLS;\n });\n preloader.className += ` ${CLS}-add ${CLS}-add-active`;\n body.style.overflow = '';\n };\n}\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeI18nConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface AlainI18NService {\n [key: string]: NzSafeAny;\n\n /**\n * Call `use` to trigger change notification\n *\n * 调用 `use` 触发变更通知\n */\n readonly change: Observable<string>;\n\n /**\n * Get the default language\n *\n * 获取默认语言\n */\n readonly defaultLang: string;\n\n /**\n * Get current language\n *\n * 获取当前语言\n */\n readonly currentLang: string;\n\n /**\n * Change language\n *\n * 变更语言\n */\n use(lang: string, data?: Record<string, unknown>): void;\n\n /**\n * Return to the current language list\n *\n * 返回当前语言列表\n */\n getLangs(): NzSafeAny[];\n\n /**\n * Translate 翻译\n *\n * @param params 模板所需要的参数对象\n */\n fanyi(path: string, params?: unknown | unknown[]): string;\n}\n\nexport const ALAIN_I18N_TOKEN = new InjectionToken<AlainI18NService>('alainI18nToken', {\n providedIn: 'root',\n factory: () => new AlainI18NServiceFake()\n});\n\n@Injectable()\nexport abstract class AlainI18nBaseService implements AlainI18NService {\n protected readonly cogSrv = inject(AlainConfigService);\n\n private cog: AlainThemeI18nConfig;\n protected _change$ = new BehaviorSubject<string | null>(null);\n protected _currentLang: string = '';\n protected _defaultLang: string = '';\n protected _data: Record<string, string> = {};\n get change(): Observable<string> {\n return this._change$.asObservable().pipe(filter(w => w != null)) as Observable<string>;\n }\n get defaultLang(): string {\n return this._defaultLang;\n }\n get currentLang(): string {\n return this._currentLang;\n }\n get data(): Record<string, string> {\n return this._data;\n }\n\n constructor() {\n this.cog = this.cogSrv.merge('themeI18n', {\n interpolation: ['{{', '}}']\n })!;\n }\n\n /**\n * Merge the data into the current language data.\n */\n mergeData(data?: Record<string, unknown>): void {\n if (!data) return;\n const flatData = this.flatData(data, []);\n this._data = { ...this._data, ...flatData };\n }\n\n /**\n * Flattened data source\n *\n * @example\n * {\n * \"name\": \"Name\",\n * \"sys\": {\n * \"\": \"System\",\n * \"title\": \"Title\"\n * }\n * }\n * =>\n * {\n * \"name\": \"Name\",\n * \"sys\": \"System\",\n * \"sys.title\": \"Title\"\n * }\n */\n flatData(data: Record<string, unknown>, parentKey: string[]): Record<string, string> {\n const res: Record<string, string> = {};\n for (const key of Object.keys(data)) {\n const value = data[key];\n if (typeof value === 'object') {\n const child = this.flatData(value as Record<string, unknown>, parentKey.concat(key));\n Object.keys(child).forEach(childKey => (res[childKey] = child[childKey]));\n } else {\n res[(key ? parentKey.concat(key) : parentKey).join('.')] = `${value}`;\n }\n }\n return res;\n }\n\n abstract use(lang: string, data?: Record<string, unknown>): void;\n\n abstract getLangs(): NzSafeAny[];\n\n fanyi(path: string, params?: unknown | unknown[]): string {\n let content = this._data[path] ?? '';\n if (!content) return path;\n\n if (!params) return content;\n\n if (typeof params === 'object') {\n const interpolation = this.cog.interpolation!;\n const objParams = params as Record<string, unknown>;\n Object.keys(objParams).forEach(key => {\n content = content.replace(\n new RegExp(`${interpolation[0]}\\\\s?${key}\\\\s?${interpolation[1]}`, 'g'),\n `${objParams[key]}`\n );\n });\n }\n\n (Array.isArray(params) ? params : [params]).forEach(\n (item, index) => (content = content.replace(new RegExp(`\\\\{\\\\s?${index}\\\\s?\\\\}`, 'g'), `${item}`))\n );\n return content;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NServiceFake extends AlainI18nBaseService {\n use(lang: string, data: Record<string, unknown>): void {\n this._data = this.flatData(data ?? {}, []);\n this._currentLang = lang;\n this._change$.next(lang);\n }\n\n getLangs(): NzSafeAny[] {\n return [];\n }\n}\n","import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription, share } from 'rxjs';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Menu, MenuIcon, MenuInner } from './interface';\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\n\n/**\n * 菜单服务,[在线文档](https://ng-alain.com/theme/menu)\n */\n@Injectable({ providedIn: 'root' })\nexport class MenuService implements OnDestroy {\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n private readonly aclService = inject(ACLService);\n private _change$: BehaviorSubject<Menu[]> = new BehaviorSubject<Menu[]>([]);\n private i18n$?: Subscription;\n private data: Menu[] = [];\n /**\n * 是否完全受控菜单打开状态,默认:`false`\n */\n openStrictly = false;\n\n constructor() {\n this.i18n$ = this.i18nSrv.change.subscribe(() => this.resume());\n }\n\n get change(): Observable<Menu[]> {\n return this._change$.pipe(share());\n }\n\n get menus(): Menu[] {\n return this.data;\n }\n\n /**\n * Returns a default menu link\n *\n * 返回一个默认跳转的菜单链接\n */\n getDefaultRedirect(opt: { redirectUrl?: string } = {}): string | null | undefined {\n let ret: string | null | undefined;\n this.visit(this.menus, (item: MenuInner) => {\n if (typeof item.link !== 'string' || item.link.length <= 0 || !item._aclResult || item._hidden === true) {\n return;\n }\n if (ret == null || ret.length <= 0 || item.link == opt?.redirectUrl) {\n ret = item.link;\n }\n });\n return ret;\n }\n\n visit<T extends Menu = Menu>(data: T[], callback: (item: T, parentMenum: T | null, depth?: number) => void): void;\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n const inFn = (list: Menu[], parentMenu: Menu | null, depth: number): void => {\n for (const item of list) {\n callback(item, parentMenu, depth);\n if (item.children && item.children.length > 0) {\n inFn(item.children, item, depth + 1);\n } else {\n item.children = [];\n }\n }\n };\n\n inFn(data, null, 0);\n }\n\n add(items: Menu[]): void {\n this.data = items;\n this.resume();\n }\n\n private fixItem(item: MenuInner): void {\n item._aclResult = true;\n\n if (!item.render_type) item.render_type = 'item';\n if (!item.link) item.link = '';\n if (!item.externalLink) item.externalLink = '';\n\n // badge\n if (item.badge) {\n if (item.badgeDot !== true) {\n item.badgeDot = false;\n }\n if (!item.badgeStatus) {\n item.badgeStatus = 'error';\n }\n }\n\n if (!Array.isArray(item.children)) {\n item.children = [];\n }\n\n // icon\n if (typeof item.icon === 'string') {\n let type = 'class';\n let value = item.icon;\n // compatible `anticon anticon-user`\n if (~item.icon.indexOf(`anticon-`)) {\n type = 'icon';\n value = value.split('-').slice(1).join('-');\n } else if (/^https?:\\/\\//.test(item.icon)) {\n type = 'img';\n }\n item.icon = { type, value } as NzSafeAny;\n }\n if (item.icon != null) {\n item.icon = { theme: 'outline', spin: false, ...(item.icon as MenuIcon) };\n }\n\n item.text = item.i18n ? this.i18nSrv.fanyi(item.i18n) : item.text;\n\n // group\n item.group = item.group !== false;\n\n // hidden\n item._hidden = typeof item.hide === 'undefined' ? false : item.hide;\n\n // disabled\n item.disabled = typeof item.disabled === 'undefined' ? false : item.disabled;\n\n // acl\n item._aclResult = item.acl ? this.aclService.can(item.acl) : true;\n\n item.open = item.open != null ? item.open : false;\n }\n\n /**\n * 重置菜单,可能I18N、用户权限变动时需要调用刷新\n */\n resume<T extends Menu = Menu>(callback?: (item: T, parentMenum: T | null, depth?: number) => void): void;\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n let i = 1;\n const shortcuts: Menu[] = [];\n this.visit(this.data, (item: MenuInner, parent, depth) => {\n item._id = i++;\n item._parent = parent;\n item._depth = depth;\n this.fixItem(item);\n\n // shortcut\n if (parent && item.shortcut === true && parent.shortcutRoot !== true) {\n shortcuts.push(item);\n }\n\n if (callback) callback(item, parent, depth);\n });\n\n this.loadShortcut(shortcuts);\n this._change$.next(this.data);\n }\n\n /**\n * 加载快捷菜单,加载位置规则如下:\n * 1、统一在下标0的节点下(即【主导航】节点下方)\n * 1、若 children 存在 【shortcutRoot: true】则最优先【推荐】这种方式\n * 2、否则查找带有【dashboard】字样链接,若存在则在此菜单的下方创建快捷入口\n * 3、否则放在0节点位置\n */\n private loadShortcut(shortcuts: MenuInner[]): void {\n if (shortcuts.length === 0 || this.data.length === 0) {\n return;\n }\n\n const ls = this.data[0].children as MenuInner[];\n let pos = ls.findIndex(w => w.shortcutRoot === true);\n if (pos === -1) {\n pos = ls.findIndex(w => w.link!.includes('dashboard'));\n pos = (pos !== -1 ? pos : -1) + 1;\n const shortcutMenu = {\n text: '快捷菜单',\n i18n: 'shortcut',\n icon: 'icon-rocket',\n children: []\n } as MenuInner;\n this.data[0].children!.splice(pos, 0, shortcutMenu);\n }\n let _data = this.data[0].children![pos];\n if (_data.i18n) _data.text = this.i18nSrv.fanyi(_data.i18n);\n _data = Object.assign(_data, {\n shortcutRoot: true,\n _id: -1,\n _parent: null,\n _depth: 1\n } as MenuInner);\n _data.children = shortcuts.map(i => {\n i._depth = 2;\n i._parent = _data;\n return i;\n });\n }\n\n /**\n * 清空菜单\n */\n clear(): void {\n this.data = [];\n this._change$.next(this.data);\n }\n\n /**\n * Use `url` or `key` to find menus\n *\n * 利用 `url` 或 `key` 查找菜单\n */\n find(options: {\n key?: string | null;\n url?: string | null;\n recursive?: boolean | null;\n /**\n * When the callback returns a Boolean type, it means the custom validation result\n *\n * 当回调返回一个布尔类型时,表示自定义校验结果\n */\n cb?: ((i: Menu) => boolean | null) | null;\n /**\n * Use the current menu data by default\n *\n * 默认使用当前菜单数据\n */\n data?: Menu[] | null;\n /**\n * Whether to ignore hide items, default: `false`\n *\n * 是否忽略隐藏的项,默认:`false`\n */\n ignoreHide?: boolean;\n /**\n * Whether to return the last one, default: `false`\n *\n * 是否返回最后一个,默认:`false`\n */\n last?: boolean;\n }): Menu | null {\n const opt = { recursive: false, ignoreHide: false, last: false, ...options };\n if (opt.key != null) {\n return this.getItem(opt.key);\n }\n\n let url = opt.url;\n\n let item: Menu | null = null;\n\n while (!item && url) {\n this.visit(opt.data ?? this.data, i => {\n if (!opt.last && item != null) {\n return;\n }\n if (opt.ignoreHide && i.hide) {\n return;\n }\n if (opt.cb) {\n const res = opt.cb(i);\n if (typeof res === 'boolean' && res) {\n item = i;\n }\n }\n if (i.link != null && i.link === url) {\n item = i;\n }\n });\n\n if (!opt.recursive) break;\n\n if (/[?;]/g.test(url)) {\n url = url.split(/[?;]/g)[0];\n } else {\n url = url.split('/').slice(0, -1).join('/');\n }\n }\n\n return item;\n }\n\n /**\n * 根据url获取菜单列表\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n getPathByUrl(url: string, recursive: boolean = false): Menu[] {\n const ret: Menu[] = [];\n let item = this.find({ url, recursive }) as MenuInner;\n\n if (!item) return ret;\n\n do {\n ret.splice(0, 0, item);\n item = item._parent!;\n } while (item);\n\n return ret;\n }\n\n /**\n * Get menu based on `key`\n */\n getItem(key: string): Menu | null {\n let res: Menu | null = null;\n this.visit(this.data, item => {\n if (res == null && item.key === key) {\n res = item;\n }\n });\n return res;\n }\n\n /**\n * Set menu based on `key`\n */\n setItem(key: string | Menu, value: Menu, options?: { emit?: boolean }): void {\n const item = typeof key === 'string' ? this.getItem(key) : key;\n if (item == null) return;\n\n Object.keys(value).forEach(k => {\n item[k] = value[k];\n });\n this.fixItem(item);\n\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n /**\n * Open menu based on `key` or menu object\n */\n open(keyOrItem: string | Menu | null, options?: { emit?: boolean }): void {\n let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n if (item == null) return;\n\n this.visit(this.menus, (i: MenuInner) => {\n i._selected = false;\n if (!this.openStrictly) i.open = false;\n });\n\n do {\n item._selected = true;\n item.open = true;\n item = item._parent;\n } while (item);\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n openAll(status?: boolean): void {\n this.toggleOpen(null, { allStatus: status });\n }\n\n toggleOpen(keyOrItem: string | Menu | null, options?: { allStatus?: boolean; emit?: boolean }): void {\n let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n if (item == null) {\n this.visit(this.menus, (i: MenuInner) => {\n i._selected = false;\n i.open = options?.allStatus === true;\n });\n } else {\n if (!this.openStrictly) {\n this.visit(this.menus, (i: MenuInner) => {\n if (i !== item) i.open = false;\n });\n let pItem = item._parent;\n while (pItem) {\n pItem.open = true;\n pItem = pItem._parent;\n }\n }\n item.open = !item.open;\n }\n if (options?.emit !== false) this._change$.next(this.data);\n }\n\n ngOnDestroy(): void {\n this._change$.unsubscribe();\n this.i18n$?.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { Injectable, InjectionToken, Provider, inject, signal } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { App, Layout, SettingsNotify, User } from './types';\n\nexport interface SettingsKeys {\n /** Layout data specifies the stored key, default: `layout` */\n layout: string;\n /** User data specifies the stored key, default: `user` */\n user: string;\n /** App data specifies the stored key, default: `app` */\n app: string;\n}\n\nexport const ALAIN_SETTING_KEYS = new InjectionToken<SettingsKeys>('ALAIN_SETTING_KEYS');\nexport const ALAIN_SETTING_DEFAULT: Provider = {\n provide: ALAIN_SETTING_KEYS,\n useValue: {\n layout: 'layout',\n user: 'user',\n app: 'app'\n }\n};\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> {\n private readonly KEYS = inject(ALAIN_SETTING_KEYS);\n private readonly platform = inject(Platform);\n\n private notify$ = new Subject<SettingsNotify>();\n readonly appSignal = signal<A>({\n year: new Date().getFullYear(),\n ...this.getData(this.KEYS.app)\n });\n readonly userSignal = signal<U>({ ...this.getData(this.KEYS.user) });\n readonly layoutSignal = signal<L>({\n fixed: true,\n collapsed: false,\n boxed: false,\n lang: null,\n ...this.getData(this.KEYS.layout)\n });\n\n getData(key: string): NzSafeAny {\n if (!this.platform.isBrowser) {\n return null;\n }\n return JSON.parse(localStorage.getItem(key) ?? 'null') ?? null;\n }\n\n setData(key: string, value: NzSafeAny): void {\n if (!this.platform.isBrowser) {\n return;\n }\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n get layout(): L {\n return this.layoutSignal() as L;\n }\n\n get app(): A {\n return this.appSignal() as A;\n }\n\n get user(): U {\n return this.userSignal() as U;\n }\n\n get notify(): Observable<SettingsNotify> {\n return this.notify$.asObservable();\n }\n\n setLayout<T extends Layout = Layout>(name: T, value?: NzSafeAny): boolean;\n setLayout(name: string | L, value?: NzSafeAny): boolean;\n setLayout(name: string | L, value?: NzSafeAny): boolean {\n this.layoutSignal.update(l => {\n if (typeof name === 'string') {\n (l as Layout)[name] = value;\n return { ...l };\n }\n return { ...name };\n });\n this.setData(this.KEYS.layout, this.layout);\n this.notify$.next({ type: 'layout', name, value } as NzSafeAny);\n return true;\n }\n getLayout<T>(): T {\n return this.layout as unknown as T;\n }\n\n setApp<T extends App = App>(value: T): void;\n setApp(value: A): void;\n setApp(value: A): void {\n this.appSignal.set(value);\n this.setData(this.KEYS.app, value);\n this.notify$.next({ type: 'app', value });\n }\n getApp<T>(): T {\n return this.app as unknown as T;\n }\n\n setUser<T extends User = User>(value: T): void;\n setUser(value: U): void;\n setUser(value: U): void {\n this.userSignal.set(value);\n this.setData(this.KEYS.user, value);\n this.notify$.next({ type: 'user', value });\n }\n getUser<T>(): T {\n return this.user as unknown as T;\n }\n}\n","import { inject, Injectable } from '@angular/core';\n\nimport { AlainConfigService, AlainThemeResponsiveConfig } from '@delon/util/config';\n\nexport const REP_MAX = 6;\nexport const SPAN_MAX = 24;\n\nexport type REP_TYPE = 1 | 2 | 3 | 4 | 5 | 6;\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveService {\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainThemeResponsiveConfig;\n constructor() {\n this.cog = this.cogSrv.merge('themeResponsive', {\n rules: {\n 1: { xs: 24 },\n 2: { xs: 24, sm: 12 },\n 3: { xs: 24, sm: 12, md: 8 },\n 4: { xs: 24, sm: 12, md: 8, lg: 6 },\n 5: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 2 }\n }\n })!;\n if (\n Object.keys(this.cog.rules)\n .map(i => +i)\n .some((i: number) => i < 1 || i > REP_MAX)\n ) {\n throw new Error(`[theme] the responseive rule index value range must be 1-${REP_MAX}`);\n }\n }\n\n genCls(count: number, defaultCol: number = 1): string[] {\n const rule = { ...this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)] };\n const antColClass = 'ant-col';\n\n const itemMaxSpan = SPAN_MAX / defaultCol;\n const paddingSpan = (value: number | undefined): number | undefined => {\n if (value == null || defaultCol <= 1 || count >= defaultCol) return value;\n return Math.max(value, count * itemMaxSpan);\n };\n const clsMap = [`${antColClass}-xs-${paddingSpan(rule.xs)}`];\n if (rule.sm) clsMap.push(`${antColClass}-sm-${paddingSpan(rule.sm)}`);\n if (rule.md) clsMap.push(`${antColClass}-md-${paddingSpan(rule.md)}`);\n if (rule.lg) clsMap.push(`${antColClass}-lg-${paddingSpan(rule.lg)}`);\n if (rule.xl) clsMap.push(`${antColClass}-xl-${paddingSpan(rule.xl)}`);\n if (rule.xxl) clsMap.push(`${antColClass}-xxl-${paddingSpan(rule.xxl)}`);\n return clsMap;\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzConfigService } from 'ng-zorro-antd/core/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SettingsService } from '../settings/settings.service';\n\nexport const HTML_DIR = 'dir';\nexport const RTL_DIRECTION = 'direction';\nexport const RTL_NZ_COMPONENTS = ['modal', 'drawer', 'message', 'notification', 'image'];\nexport const RTL_DELON_COMPONENTS = ['loading', 'onboarding'];\nexport const LTR = 'ltr';\nexport const RTL = 'rtl';\n\n@Injectable({ providedIn: 'root' })\nexport class RTLService {\n private readonly d = inject(Directionality);\n private readonly nz = inject(NzConfigService);\n private readonly delon = inject(AlainConfigService);\n private readonly platform = inject(Platform);\n private readonly doc = inject(DOCUMENT);\n private readonly srv = inject(SettingsService);\n\n private _dir: Direction = LTR;\n /**\n * Get or Set the current text direction\n *\n * 获取或设置当前文字方向\n */\n get dir(): Direction {\n return this._dir;\n }\n set dir(value: Direction) {\n this._dir = value;\n this.updateLibConfig();\n this.updateHtml();\n // Should be wait inited\n Promise.resolve().then(() => {\n this.d.valueSignal.set(value);\n this.d.change.emit(value);\n this.srv.setLayout(RTL_DIRECTION, value);\n });\n }\n\n /**\n * Get the next text direction\n *\n * 获取下一次文字方向\n */\n get nextDir(): Direction {\n return this.dir === LTR ? RTL : LTR;\n }\n\n /**\n * Subscription change notification\n *\n * 订阅变更通知\n */\n get change(): Observable<Direction> {\n return this.srv.notify.pipe(\n filter(w => w.name === RTL_DIRECTION),\n map(v => v.value)\n );\n }\n\n constructor() {\n this.dir = this.srv.layout.direction === RTL ? RTL : LTR;\n }\n\n /**\n * Toggle text direction\n *\n * 切换文字方向\n */\n toggle(): void {\n this.dir = this.nextDir;\n }\n\n private updateHtml(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n const htmlEl = this.doc.querySelector('html') as HTMLElement;\n if (htmlEl) {\n const dir = this.dir;\n htmlEl.style.direction = dir;\n htmlEl.classList.remove(RTL, LTR);\n htmlEl.classList.add(dir);\n htmlEl.setAttribute(HTML_DIR, dir);\n }\n }\n\n private updateLibConfig(): void {\n RTL_NZ_COMPONENTS.forEach(name => {\n this.nz.set(name as NzSafeAny, { nzDirection: this.dir });\n });\n RTL_DELON_COMPONENTS.forEach(name => {\n this.delon.set(name as NzSafeAny, { direction: this.dir });\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { DestroyRef, Injectable, Injector, OnDestroy, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, of, map, delay, isObservable, switchMap, Subscription } from 'rxjs';\n\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { MenuService } from '../menu/menu.service';\n\nexport interface RouteTitle {\n title?: string | Observable<string>;\n titleI18n?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService implements OnDestroy {\n private destroy$ = inject(DestroyRef);\n private _prefix: string = '';\n private _suffix: string = '';\n private _separator: string = ' - ';\n private _reverse: boolean = false;\n private tit$?: Subscription;\n\n readonly DELAY_TIME = 25;\n\n private readonly doc = inject(DOCUMENT);\n private readonly injector = inject(Injector);\n private readonly title = inject(Title);\n private readonly menuSrv = inject(MenuService);\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n\n constructor() {\n this.i18nSrv.change.pipe(takeUntilDestroyed()).subscribe(() => this.setTitle());\n }\n\n /**\n * Set separator\n *\n * 设置分隔符\n */\n set separator(value: string) {\n this._separator = value;\n }\n\n /**\n * Set prefix\n *\n * 设置前缀\n */\n set prefix(value: string) {\n this._prefix = value;\n }\n\n /**\n * Set suffix\n *\n * 设置后缀\n */\n set suffix(value: string) {\n this._suffix = value;\n }\n\n /**\n * Set whether to reverse\n *\n * 设置是否反转\n */\n set reverse(value: boolean) {\n this._reverse = value;\n }\n\n /**\n * Set the default CSS selector string\n *\n * 设置默认CSS选择器字符串\n */\n selector?: string | null;\n\n /**\n * Set default title name\n *\n * 设置默认标题名\n */\n default = `Not Page Name`;\n\n private getByElement(): Observable<string> {\n return of('').pipe(\n delay(this.DELAY_TIME),\n map(() => {\n const el = ((this.selector != null ? this.doc.querySelector(this.selector) : null) ||\n this.doc.querySelector('.alain-default__content-title h1') ||\n this.doc.querySelector('.page-header__title')) as HTMLElement;\n if (el) {\n let text = '';\n el.childNodes.forEach(val => {\n if (!text && val.nodeType === 3) {\n text = val.textContent!.trim();\n }\n });\n return text || el.firstChild!.textContent!.trim();\n }\n return '';\n })\n );\n }\n\n private getByRoute(): Observable<string> {\n let next = this.injector.get(ActivatedRoute);\n while (next.firstChild) next = next.firstChild;\n const data: RouteTitle = (next.snapshot && next.snapshot.data) ?? {};\n if (data.titleI18n) data.title = this.i18nSrv.fanyi(data.titleI18n);\n return isObservable(data.title) ? data.title : of(data.title!);\n }\n\n private getByMenu(): Observable<string> {\n const menus = this.menuSrv.getPathByUrl(this.injector.get<Router>(Router).url);\n if (!menus || menus.length <= 0) return of('');\n\n const item = menus[menus.length - 1];\n let title;\n if (item.i18n) title = this.i18nSrv.fanyi(item.i18n);\n return of(title ?? item.text!);\n }\n\n /**\n * Set the document title\n */\n setTitle(title?: string | string[]): void {\n this.tit$?.unsubscribe();\n this.tit$ = of(title)\n .pipe(\n switchMap(tit => (tit ? of(tit) : this.getByRoute())),\n switchMap(tit => (tit ? of(tit) : this.getByMenu())),\n switchMap(tit => (tit ? of(tit) : this.getByElement())),\n map(tit => tit || this.default),\n map(title => (!Array.isArray(title) ? [title] : title)),\n takeUntilDestroyed(this.destroy$)\n )\n .subscribe(titles => {\n let newTitles: string[] = [];\n if (this._prefix) {\n newTitles.push(this._prefix);\n }\n newTitles.push(...titles.filter(title => !!title));\n if (this._suffix) {\n newTitles.push(this._suffix);\n }\n if (this._reverse) {\n newTitles = newTitles.reverse();\n }\n this.title.setTitle(newTitles.join(this._separator));\n });\n }\n\n /**\n * Set i18n key of the document title\n */\n setTitleByI18n(key: string, params?: unknown): void {\n this.setTitle(this.i18nSrv.fanyi(key, params));\n }\n\n ngOnDestroy(): void {\n this.tit$?.unsubscribe();\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Pipe({ name: 'i18n' })\nexport class I18nPipe implements PipeTransform {\n private readonly i18n = inject(ALAIN_I18N_TOKEN);\n\n transform(key: string, params?: unknown | unknown[]): string {\n return this.i18n.fanyi(key, params);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateChildFn, CanActivateFn } from '@angular/router';\nimport { Observable, of } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NGuardService {\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });\n private readonly cogSrv = inject(AlainConfigService);\n\n process(route: ActivatedRouteSnapshot): Observable<boolean> {\n const lang = route.params && route.params[this.cogSrv.get('themeI18n')?.paramNameOfUrlGuard ?? 'i18n'];\n if (lang != null) {\n this.i18nSrv?.use(lang);\n }\n return of(true);\n }\n}\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫,自动识别Url中的语言,并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n * path: 'home',\n * canActivate: [ alainI18nCanActivate ]\n * }\n * ```\n */\nexport const alainI18nCanActivate: CanActivateFn = childRoute => inject(AlainI18NGuardService).process(childRoute);\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫,自动识别Url中的语言,并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n * path: 'home',\n * canActivateChild: [ alainI18nCanActivateChild ]\n * }\n * ```\n */\nexport const alainI18nCanActivateChild: CanActivateChildFn = route => inject(AlainI18NGuardService).process(route);\n","import { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Injectable, TemplateRef, Type, inject } from '@angular/core';\nimport { SIGNAL, SignalNode } from '@angular/core/primitives/signals';\nimport { Observable, Observer, delay, filter, take, tap } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { ModalOptions, NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\n\nconst CLS_DRAG = 'MODAL-DRAG';\n\nexport interface ModalHelperOptions {\n /** 大小;例如:lg、600、80%,默认:`lg` */\n size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number | string;\n /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */\n modalOptions?: ModalOptions;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 是否包裹标签页,修复模态包含标签间距问题 */\n includeTabs?: boolean;\n /**\n * 是否支持拖动,默认是通过标题来触发\n */\n drag?: ModalHelperDragOptions | boolean;\n /**\n * 是否强制使用 `nzData` 传递参数,若为 `false` 表示参数会直接映射到组件实例中,其他值只能通过 `NZ_MODAL_DATA` 的方式来获取参数,默认:`false`\n */\n useNzData?: boolean;\n\n /**\n * 设置焦点按钮\n */\n focus?: 'ok' | 'cancel';\n}\n\nexport interface ModalHelperDragOptions {\n /**\n * 指定拖地区域的类名,若指定为 `null` 时表示整个对话框,默认:`.modal-header, .ant-modal-title`\n */\n handleCls?: string | null;\n}\n\n/**\n * 对话框辅助类\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalHelper {\n private readonly srv = inject(NzModalService);\n private readonly drag = inject(DragDrop);\n private readonly doc = inject(DOCUMENT);\n\n private createDragRef(options: ModalHelperDragOptions, wrapCls: string): DragRef {\n const wrapEl = this.doc.querySelector(wrapCls) as HTMLDivElement;\n const modalEl = wrapEl.firstChild as HTMLDivElement;\n const handelEl = options.handleCls ? wrapEl.querySelector<HTMLDivElement>(options.handleCls) : null;\n if (handelEl) {\n handelEl.classList.add(`${CLS_DRAG}-HANDLE`);\n }\n\n return this.drag\n .createDrag(handelEl ?? modalEl)\n .withHandles([handelEl ?? modalEl])\n .withBoundaryElement(wrapEl)\n .withRootElement(modalEl);\n }\n\n /**\n * 构建一个对话框\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.create(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n create(\n comp?: TemplateRef<NzSafeAny> | Type<NzSafeAny> | 'confirm' | 'info' | 'success' | 'error' | 'warning',\n params?: NzSafeAny | ModalHelperOptions | null,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const isBuildIn = typeof comp === 'string';\n options = deepMerge(\n {\n size: 'lg',\n exact: true,\n includeTabs: false\n },\n isBuildIn && arguments.length === 2 ? params : options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, includeTabs, modalOptions, drag, useNzData, focus } = options as ModalHelperOptions;\n let cls: string[] = [];\n let width = '';\n if (size) {\n if (typeof size === 'number') {\n width = `${size}px`;\n } else if (['sm', 'md', 'lg', 'xl'].includes(size)) {\n cls.push(`modal-${size}`);\n } else {\n width = size;\n }\n }\n if (includeTabs) {\n cls.push(`modal-include-tabs`);\n }\n if (modalOptions && modalOptions.nzWrapClassName) {\n cls.push(modalOptions.nzWrapClassName);\n delete modalOptions.nzWrapClassName;\n }\n let dragOptions: ModalHelperDragOptions | null;\n let dragWrapCls = `${CLS_DRAG}-${+new Date()}`;\n let dragRef: DragRef | null;\n if (drag != null && drag !== false) {\n dragOptions = {\n handleCls: `.modal-header, .ant-modal-title`,\n ...(typeof drag === 'object' ? drag : {})\n };\n cls.push(CLS_DRAG, dragWrapCls);\n }\n const mth = isBuildIn ? this.srv[comp] : this.srv.create;\n const subject: NzModalRef<NzSafeAny, NzSafeAny> = mth.call(this.srv, {\n nzWrapClassName: cls.join(' '),\n nzContent: isBuildIn ? undefined : comp,\n nzWidth: width ? width : undefined,\n nzFooter: null,\n nzData: params,\n nzDraggable: false,\n ...modalOptions\n } as ModalOptions);\n // 保留 nzComponentParams 原有风格,但依然可以通过 @Inject(NZ_MODAL_DATA) 获取\n if (subject.componentInstance != null && useNzData !== true) {\n Object.entries(params as object).forEach(([key, value]) => {\n const t = subject.componentInstance as any;\n const s = t[key]?.[SIGNAL] as SignalNode<any>;\n if (s != null) {\n s.value = value;\n } else {\n t[key] = value;\n }\n });\n }\n subject.afterOpen\n .pipe(\n take(1),\n tap(() => {\n if (dragOptions != null) {\n dragRef = this.createDragRef(dragOptions, `.${dragWrapCls}`);\n }\n }),\n filter(() => focus != null),\n delay(modalOptions?.nzNoAnimation ? 10 : 241)\n )\n .subscribe(() => {\n const btns = subject\n .getElement()\n .querySelector<HTMLDivElement>('.ant-modal-confirm-btns, .modal-footer')\n ?.querySelectorAll<HTMLButtonElement>('.ant-btn');\n const btnSize = btns?.length ?? 0;\n let el: HTMLButtonElement | null = null;\n if (btnSize === 1) {\n el = btns![0];\n } else if (btnSize > 1) {\n el = btns![focus === 'ok' ? 1 : 0];\n }\n if (el != null) {\n el.focus();\n el.dataset.focused = focus;\n }\n });\n subject.afterClose.pipe(take(1)).subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n dragRef?.dispose();\n });\n });\n }\n\n /**\n * 构建静态框,点击蒙层不允许关闭\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.open(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n createStatic(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const modalOptions = {\n nzMaskClosable: false,\n ...(options && options.modalOptions)\n };\n return this.create(comp, params, { ...options, modalOptions });\n }\n}\n","import { Injectable, TemplateRef, Type, inject } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerOptions, NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';\n\nexport interface DrawerHelperOptions {\n /**\n * 大小,若值为数值类型,则根据 `nzPlacement` 自动转化为 `nzHeight` 或 `nzWidth`;例如:lg、600,默认:`md`\n *\n * | 类型 | 默认大小 |\n * | --- | ------ |\n * | `sm` | `300` |\n * | `md` | `600` |\n * | `lg` | `900` |\n * | `xl` | `1200` |\n *\n * > 以上值,可通过覆盖相应的LESS参数自行调整\n */\n size?: 'sm' | 'md' | 'lg' | 'xl' | number;\n /**\n * 是否包含底部工具条,默认:`true`\n */\n footer?: boolean;\n /**\n * 底部工具条高度,默认:`55`\n */\n footerHeight?: number;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */\n drawerOptions?: NzDrawerOptions;\n}\n\n/**\n * 抽屉辅助类\n *\n * **注意:** 构建结果都可被订阅,但永远都不会触发 `observer.error`\n *\n * @example\n * this.drawerHelper.create('Edit', FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功\n * this.NzDrawerRef.close(data);\n * this.NzDrawerRef.close(true);\n * // 关闭\n * this.NzDrawerRef.close();\n * this.NzDrawerRef.close(false);\n */\n@Injectable({ providedIn: 'root' })\nexport class DrawerHelper {\n private readonly srv = inject(NzDrawerService);\n private readonly parentDrawer = inject(DrawerHelper, { optional: true, skipSelf: true });\n private openDrawersAtThisLevel: NzDrawerRef[] = [];\n get openDrawers(): NzDrawerRef[] {\n return this.parentDrawer ? this.parentDrawer.openDrawers : this.openDrawersAtThisLevel;\n }\n\n /**\n * 构建一个抽屉\n */\n create(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'md',\n footer: true,\n footerHeight: 50,\n exact: true,\n drawerOptions: {\n nzPlacement: 'right',\n nzWrapClassName: ''\n }\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, footer, footerHeight, drawerOptions } = options as DrawerHelperOptions;\n const defaultOptions: NzDrawerOptions = {\n nzContent: comp,\n nzContentParams: params,\n nzTitle: title as NzSafeAny\n };\n\n if (typeof size === 'number') {\n defaultOptions[\n drawerOptions!.nzPlacement === 'top' || drawerOptions!.nzPlacement === 'bottom' ? 'nzHeight' : 'nzWidth'\n ] = options!.size;\n } else if (!drawerOptions!.nzWidth) {\n defaultOptions.nzWrapClassName = `${drawerOptions!.nzWrapClassName} drawer-${options!.size}`.trim();\n delete drawerOptions!.nzWrapClassName;\n }\n\n if (footer) {\n // The 24 value is @drawer-body-padding\n defaultOptions.nzBodyStyle = {\n 'padding-bottom': `${footerHeight! + 24}px`\n };\n }\n\n const ref = this.srv.create({ ...defaultOptions, ...drawerOptions });\n this.openDrawers.push(ref);\n const afterClose$ = ref.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n this.close(ref);\n });\n });\n }\n\n private close(ref: NzDrawerRef): void {\n const idx = this.openDrawers.indexOf(ref);\n if (idx === -1) return;\n this.openDrawers.splice(idx, 1);\n }\n\n closeAll(): void {\n let i = this.openDrawers.length;\n while (i--) {\n this.openDrawers[i].close();\n }\n }\n\n /**\n * 构建一个抽屉,点击蒙层不允许关闭\n */\n static(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n const drawerOptions = {\n nzMaskClosable: false,\n ...(options && options.drawerOptions)\n };\n return this.create(title, comp, params, { ...options, drawerOptions });\n }\n}\n","import { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, of, delay, finalize, switchMap, tap } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeHttpClientConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type _HttpHeaders = HttpHeaders | Record<string, string | string[]>;\nexport type HttpObserve = 'body' | 'events' | 'response';\n\n/**\n * 封装HttpClient,主要解决:\n * + 优化HttpClient在参数上便利性\n * + 统一实现 loading\n * + 统一处理时间格式问题\n */\n@Injectable({ providedIn: 'root' })\nexport class _HttpClient {\n private readonly http = inject(HttpClient);\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainThemeHttpClientConfig;\n constructor() {\n this.cog = this.cogSrv.merge('themeHttp', {\n nullValueHandling: 'include',\n dateValueHandling: 'timestamp'\n })!;\n }\n\n private lc = 0;\n\n /**\n * Get whether it's loading\n *\n * 获取是否正在加载中\n */\n get loading(): boolean {\n return this.lc > 0;\n }\n\n /**\n * Get the currently loading count\n *\n * 获取当前加载中的数量\n */\n get loadingCount(): number {\n return this.lc;\n }\n\n parseParams(params: NzSafeAny): HttpParams {\n const newParams: NzSafeAny = {};\n if (params instanceof HttpParams) {\n return params;\n }\n\n const { nullValueHandling, dateValueHandling } = this.cog;\n Object.keys(params).forEach(key => {\n let paramValue = params[key];\n // 忽略空值\n if (nullValueHandling === 'ignore' && paramValue == null) return;\n // 将时间转化为:时间戳 (秒)\n if (\n paramValue instanceof Date &&\n (dateValueHandling === 'timestamp' || dateValueHandling === 'timestampSecond')\n ) {\n paramValue = dateValueHandling === 'timestamp' ? paramValue.valueOf() : Math.trunc(paramValue.valueOf() / 1000);\n }\n newParams[key] = paramValue;\n });\n return new HttpParams({ fromObject: newParams });\n }\n\n appliedUrl(url: string, params?: NzSafeAny): string {\n if (!params) return url;\n url += ~url.indexOf('?') ? '' : '?';\n const arr: string[] = [];\n Object.keys(params).forEach(key => {\n arr.push(`${key}=${params[key]}`);\n });\n return url + arr.join('&');\n }\n\n private setCount(count: number): void {\n Promise.resolve(null).then(() => (this.lc = count <= 0 ? 0 : count));\n }\n\n private push(): void {\n this.setCount(++this.lc);\n }\n\n private pop(): void {\n this.setCount(--this.lc);\n }\n\n /**\n * Clean loading count\n *\n * 清空加载中\n */\n cleanLoading(): void {\n this.setCount(0);\n }\n\n // #region get\n\n /**\n * **GET Request** Return a `string` type / 返回一个 `string` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **GET Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **GET Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **GET Request** Return a `HttpResponse<T>` type / 返回一个 `HttpResponse<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<T>>;\n\n /**\n * **GET Request** Return a `any` type / 返回一个 `any` 类型\n */\n get(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **GET Request** Return a generic type / 返回一个泛类型\n */\n get<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('GET', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region post\n\n /**\n * **POST Request** Return a `string` type / 返回一个 `string` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **POST Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n post<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **POST Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **POST Request** Return a `any` type / 返回一个 `any` 类型\n */\n post(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **POST Request** Return a JSON type / 返回一个 `JSON` 类型\n */\n post<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body' | 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region delete\n\n /**\n * **DELETE Request** Return a `string` type / 返回一个 `string` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **DELETE Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **DELETE Request** Return a `any` type / 返回一个 `any` 类型\n */\n delete(\n url: string,\n params?: any,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * c返回一个泛类型\n */\n delete<T>(\n url: string,\n params?: any,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n delete(\n url: string,\n params: any,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('DELETE', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region jsonp\n\n /**\n * **JSONP Request**\n *\n * @param callbackParam CALLBACK值,默认:JSONP_CALLBACK\n */\n jsonp(url: string, params?: any, callbackParam: string = 'JSONP_CALLBACK'): Observable<any> {\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.jsonp(this.appliedUrl(url, params), callbackParam)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n\n // #region patch\n\n /**\n * **PATCH Request** Return a `string` type / 返回一个 `string` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PATCH Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PATCH Request** Return a `any` type / 返回一个 `any` 类型\n */\n patch(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PATCH Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n patch<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PATCH', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region put\n\n /**\n * **PUT Request** Return a `string` type / 返回一个 `string` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PUT Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PUT Request** Return a `any` type / 返回一个 `any` 类型\n */\n put(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PUT Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n put<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PUT', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region form\n\n /**\n * **Form Request** Return a `string` type / 返回一个 `string` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Form Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n form<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **Form Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **Form Request** Return a `any` type / 返回一个 `any` 类型\n */\n form(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **Form Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n form<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options,\n headers: {\n 'content-type': `application/x-www-form-urlencoded`\n }\n });\n }\n\n // #endregion\n\n // #region request\n\n /**\n * **Request** Return a `ArrayBuffer` type / 返回一个 `ArrayBuffer` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<ArrayBuffer>;\n\n /**\n * **Request** Return a `Blob` type / 返回一个 `Blob` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Blob>;\n\n /**\n * **Request** Return a `string` type / 返回一个 `string` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Request** Return a `HttpEvent<ArrayBuffer>` type / 返回一个 `HttpEvent<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpEvent<Blob>` type / 返回一个 `HttpEvent<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<Blob>>;\n\n /**\n * **Request** Return a `HttpEvent<string>` type / 返回一个 `HttpEvent<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<string>>;\n\n /**\n * **Request** Return a `HttpEvent<any>` type / 返回一个 `HttpEvent<any>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<any>>;\n\n /**\n * **Request** Return a `HttpEvent<R>` type / 返回一个 `HttpEvent<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<R>>;\n\n /**\n * **Request** Return a `HttpResponse<ArrayBuffer>` type / 返回一个 `HttpResponse<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpResponse<Blob>` type / 返回一个 `HttpResponse<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<Blob>>;\n\n /**\n * **Request** Return a `HttpResponse<string>` type / 返回一个 `HttpResponse<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<string>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **Request** Return a `HttpResponse<R>` type / 返回一个 `HttpResponse<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<R>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Record<string, unknown>>;\n\n /**\n * **Request** Return a `R` type / 返回一个 `R` 类型\n */\n request<R>(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<R>;\n\n /**\n * **Request** Return a `any` type / 返回一个 `any` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n if (options.params) options.params = this.parseParams(options.params);\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.request(method, url, options)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n}\n","import { HttpHeaders, HttpContext } from '@angular/common/http';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\nimport { ACLService, ACLCanType } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from './http.client';\n\n/**\n * Every http decorator must be based on `BaseAPI`, Like this:\n * ```ts\n * \\@Injectable()\n * class DataService extends BaseApi {}\n * ```\n */\n@Injectable()\nexport abstract class BaseApi {\n protected readonly injector = inject(Injector);\n}\n\nexport interface HttpOptions {\n /** ACL配置,若导入 `@delon/acl` 时自动有效,等同于 `ACLService.can(roleOrAbility: ACLCanType)` 参数值 */\n acl?: ACLCanType;\n observe?: 'body' | 'events' | 'response';\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n}\n\ninterface ParamType {\n key: string;\n index: number;\n [key: string]: any;\n [key: number]: any;\n}\n\nconst paramKey = `__api_params`;\n\nfunction setParam(target: any, key: string = paramKey): any {\n let params = target[key];\n if (typeof params === 'undefined') {\n params = target[key] = {};\n }\n return params;\n}\n\n/**\n * 默认基准URL\n * - 有效范围:类\n */\nexport function BaseUrl(url: string) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseUrl = url;\n return target;\n };\n}\n\n/**\n * 默认 `headers`\n * - 有效范围:类\n */\nexport function BaseHeaders(headers: HttpHeaders | Record<string, string | string[]>) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseHeaders = headers;\n return target;\n };\n}\n\nfunction makeParam(paramName: string) {\n return function (key?: string) {\n return function (target: BaseApi, propertyKey: string, index: number) {\n const params = setParam(setParam(target), propertyKey);\n let tParams = params[paramName];\n if (typeof tParams === 'undefined') {\n tParams = params[paramName] = [];\n }\n tParams.push({\n key,\n index\n });\n };\n };\n}\n\n/**\n * URL路由参数\n * - 有效范围:方法参数\n */\nexport const Path = makeParam('path');\n\n/**\n * URL 参数 `QueryString`\n * - 有效范围:方法参数\n */\nexport const Query = makeParam('query');\n\n/**\n * 参数 `Body`\n * - 有效范围:方法参数\n */\nexport const Body = makeParam('body')();\n\n/**\n * 参数 `headers`\n * - 有效范围:方法参数\n * - 合并 `BaseHeaders`\n */\nexport const Headers = makeParam('headers');\n\n/**\n * Request Payload\n * - Supported body (like`POST`, `PUT`) as a body data, equivalent to `@Body`\n * - Not supported body (like `GET`, `DELETE` etc) as a `QueryString`\n */\nexport const Payload = makeParam('payload')();\n\nfunction getValidArgs(data: any, key: string, args: any[]): NzSafeAny {\n if (!data[key] || !Array.isArray(data[key]) || data[key].length <= 0) {\n return undefined;\n }\n return args[data[key][0].index];\n}\n\nfunction genBody(data?: any, payload?: any): any {\n if (Array.isArray(data) || Array.isArray(payload)) {\n return Object.assign([], data, payload);\n }\n return { ...data, ...payload };\n}\n\nexport type METHOD_TYPE = 'OPTIONS' | 'GET' | 'POST' | 'DELETE' | 'PUT' | 'HEAD' | 'PATCH' | 'JSONP' | 'FORM';\n\nfunction makeMethod(method: METHOD_TYPE) {\n return function (url: string = '', options?: HttpOptions) {\n return (_target: BaseApi, targetKey?: string, descriptor?: PropertyDescriptor) => {\n descriptor!.value = function (...args: any[]): Observable<any> {\n options = options ?? {};\n\n const injector = (this as NzSafeAny).injector as Injector;\n const http = injector.get(_HttpClient, null) as _HttpClient;\n if (http == null) {\n throw new TypeError(\n `Not found '_HttpClient', You can import 'AlainThemeModule' && 'HttpClientModule' in your root module.`\n );\n }\n\n const baseData = setParam(this);\n const data = setParam(baseData, targetKey);\n\n let requestUrl = url ?? '';\n requestUrl = [baseData.baseUrl ?? '', requestUrl.startsWith('/') ? requestUrl.substring(1) : requestUrl].join(\n '/'\n );\n // fix last split\n if (requestUrl.length > 1 && requestUrl.endsWith('/')) {\n requestUrl = requestUrl.substring(0, requestUrl.length - 1);\n }\n\n if (options.acl) {\n const aclSrv = injector.get(ACLService, null);\n if (aclSrv && !aclSrv.can(options.acl)) {\n return throwError(() => ({\n url: requestUrl,\n status: 401,\n statusText: `From Http Decorator`\n }));\n }\n delete options.acl;\n }\n\n requestUrl = requestUrl.replace(/::/g, '^^');\n ((data.path as ParamType[]) ?? [])\n .filter(w => typeof args[w.index] !== 'undefined')\n .forEach((i: ParamType) => {\n requestUrl = requestUrl.replace(new RegExp(`:${i.key}`, 'g'), encodeURIComponent(args[i.index]));\n });\n requestUrl = requestUrl.replace(/\\^\\^/g, `:`);\n\n const params = (data.query ?? []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n const headers = (data.headers ?? []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n if (method === 'FORM') {\n headers['content-type'] = 'application/x-www-form-urlencoded';\n }\n\n const payload = getValidArgs(data, 'payload', args);\n const supportedBody = ['POST', 'PUT', 'PATCH', 'DELETE'].some(v => v === method);\n\n return http.request(method, requestUrl, {\n body: supportedBody ? genBody(getValidArgs(data, 'body', args), payload) : null,\n params: !supportedBody ? { ...params, ...payload } : params,\n headers: { ...baseData.baseHeaders, ...headers },\n ...options\n });\n };\n\n return descriptor;\n };\n };\n}\n\n/**\n * `OPTIONS` 请求\n * - 有效范围:方法\n */\nexport const OPTIONS = makeMethod('OPTIONS');\n\n/**\n * `GET` 请求\n * - 有效范围:方法\n */\nexport const GET = makeMethod('GET');\n\n/**\n * `POST` 请求\n * - 有效范围:方法\n */\nexport const POST = makeMethod('POST');\n\n/**\n * `DELETE` 请求\n * - 有效范围:方法\n */\nexport const DELETE = makeMethod('DELETE');\n\n/**\n * `PUT` 请求\n * - 有效范围:方法\n */\nexport const PUT = makeMethod('PUT');\n\n/**\n * `HEAD` 请求\n * - 有效范围:方法\n */\nexport const HEAD = makeMethod('HEAD');\n\n/**\n * `PATCH` 请求\n * - 有效范围:方法\n */\nexport const PATCH = makeMethod('PATCH');\n\n/**\n * `JSONP` 请求\n * - 有效范围:方法\n */\nexport const JSONP = makeMethod('JSONP');\n\n/**\n * `FORM` 请求\n * - 有效范围:方法\n */\nexport const FORM = makeMethod('FORM');\n","import { HttpContextToken } from '@angular/common/http';\n\n/**\n * Whether to customize the handling of exception messages\n *\n * 是否自定义处理异常消息\n *\n * @example\n * this.http.post(`login`, {\n * name: 'cipchk', pwd: '123456'\n * }, {\n * context: new HttpContext()\n * .set(ALLOW_ANONYMOUS, true)\n * .set(CUSTOM_ERROR, true)\n * }).subscribe({\n * next: console.log,\n * error: console.log\n * });\n */\nexport const CUSTOM_ERROR = new HttpContextToken(() => false);\n\n/**\n * Whether to ignore API prefixes\n *\n * 是否忽略API前缀\n *\n * @example\n * // When environment.api.baseUrl set '/api'\n *\n * this.http.get(`/path`) // Request Url: /api/path\n * this.http.get(`/path`, { context: new HttpContext().set(IGNORE_BASE_URL, true) }) // Request Url: /path\n */\nexport const IGNORE_BASE_URL = new HttpContextToken(() => false);\n\n/**\n * Whether to return raw response body\n *\n * 是否原样返回请求Body\n */\nexport const RAW_BODY = new HttpContextToken(() => false);\n","import { InjectionToken } from '@angular/core';\n\nimport type { FullLocaleData } from './locale.types';\n\nexport const DELON_LOCALE = new InjectionToken<FullLocaleData>('delon-locale');\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-CN',\n exception: {\n 403: '抱歉,你无权访问该页面',\n 404: '抱歉,你访问的页面不存在',\n 500: '抱歉,服务器出错了',\n backToHome: '返回首页'\n },\n noticeIcon: {\n emptyText: '暂无数据',\n clearText: '清空'\n },\n reuseTab: {\n close: '关闭标签',\n closeOther: '关闭其它标签',\n closeRight: '关闭右侧标签',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展开',\n collapse: '收起'\n },\n miniProgress: {\n target: '目标值:'\n },\n st: {\n total: '共 {{total}} 条',\n filterConfirm: '确定',\n filterReset: '重置',\n more: '更多'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全选',\n error: {\n 'false schema': `布尔模式出错`,\n $ref: `无法找到引用{ref}`,\n additionalItems: `不允许超过{limit}个元素`,\n additionalProperties: `不允许有额外的属性`,\n anyOf: `数据应为 anyOf 所指定的其中一个`,\n dependencies: `应当拥有属性{property}的依赖属性{deps}`,\n enum: `应当是预设定的枚举值之一`,\n format: `格式不正确`,\n type: `类型应当是 {type}`,\n required: `必填项`,\n maxLength: `至多 {limit} 个字符`,\n minLength: `至少 {limit} 个字符以上`,\n minimum: `必须 {comparison}{limit}`,\n formatMinimum: `必须 {comparison}{limit}`,\n maximum: `必须 {comparison}{limit}`,\n formatMaximum: `必须 {comparison}{limit}`,\n maxItems: `不应多于 {limit} 个项`,\n minItems: `不应少于 {limit} 个项`,\n maxProperties: `不应多于 {limit} 个属性`,\n minProperties: `不应少于 {limit} 个属性`,\n multipleOf: `应当是 {multipleOf} 的整数倍`,\n not: `不应当匹配 \"not\" schema`,\n oneOf: `只能匹配一个 \"oneOf\" 中的 schema`,\n pattern: `数据格式不正确`,\n uniqueItems: `不应当含有重复项 (第 {j} 项与第 {i} 项是重复的)`,\n custom: `格式不正确`,\n propertyNames: `属性名 \"{propertyName}\" 无效`,\n patternRequired: `应当有属性匹配模式 {missingPattern}`,\n switch: `由于 {caseIndex} 失败,未通过 \"switch\" 校验`,\n const: `应当等于常量`,\n contains: `应当包含一个有效项`,\n formatExclusiveMaximum: `formatExclusiveMaximum 应当是布尔值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 应当是布尔值`,\n if: `应当匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳过`,\n prev: `上一项`,\n next: `下一项`,\n done: `完成`\n },\n datePicker: {\n today: '今天',\n yesterday: '昨天',\n last3Days: '近3天',\n last7Days: '近7天',\n thisWeek: '本周',\n lastWeek: '上周',\n thisMonth: '本月',\n lastMonth: '上个月',\n thisYear: '今年'\n },\n loading: {\n text: '加载中...'\n },\n pageHeader: {\n home: '首页'\n }\n} as FullLocaleData;\n","import { inject, Injectable, Optional, Provider, Signal, SkipSelf } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE } from './locale.tokens';\nimport type { FullLocaleData } from './locale.types';\n\n@Injectable()\nexport class DelonLocaleService {\n private defLocale = inject(DELON_LOCALE, { optional: true });\n private _locale: FullLocaleData = zhCN;\n private change$ = new BehaviorSubject<FullLocaleData>(this._locale);\n\n constructor() {\n this.setLocale(this.defLocale ?? zhCN);\n }\n\n get change(): Observable<FullLocaleData> {\n return this.change$.asObservable();\n }\n\n setLocale(locale: FullLocaleData): void {\n if (this._locale && this._locale.abbr === locale.abbr) {\n return;\n }\n this._locale = locale;\n this.change$.next(locale);\n }\n\n valueSignal<K extends keyof FullLocaleData>(key: K): Signal<FullLocaleData[K]> {\n const ret = toSignal(this.change.pipe(map(() => this.getData(key))), {\n initialValue: this._locale[key]\n });\n return ret;\n }\n\n get locale(): FullLocaleData {\n return this._locale;\n }\n\n getData<K extends keyof FullLocaleData>(key: K): FullLocaleData[K] {\n return (this._locale[key] ?? {}) as FullLocaleData[K];\n }\n}\n\nexport function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(exist: DelonLocaleService): DelonLocaleService {\n return exist ?? new DelonLocaleService();\n}\n\nexport const DELON_LOCALE_SERVICE_PROVIDER: Provider = {\n provide: DelonLocaleService,\n useFactory: DELON_LOCALE_SERVICE_PROVIDER_FACTORY,\n deps: [[new Optional(), new SkipSelf(), DelonLocaleService]]\n};\n","import { NgModule } from '@angular/core';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE_SERVICE_PROVIDER } from './locale.service';\nimport { DELON_LOCALE } from './locale.tokens';\n\n@NgModule({\n providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]\n})\nexport class DelonLocaleModule {}\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'en-US',\n exception: {\n 403: `Sorry, you don't have access to this page`,\n 404: `Sorry, the page you visited does not exist`,\n 500: `Sorry, the server is reporting an error`,\n backToHome: 'Back To Home'\n },\n noticeIcon: {\n emptyText: 'No data',\n clearText: 'Clear'\n },\n reuseTab: {\n close: 'Close tab',\n closeOther: 'Close other tabs',\n closeRight: 'Close tabs to right',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n more: 'More'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reset',\n search: 'Search',\n edit: 'Save',\n addText: 'Add',\n removeText: 'Remove',\n checkAllText: 'Check all',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Skip`,\n prev: `Prev`,\n next: `Next`,\n done: `Done`\n },\n datePicker: {\n today: 'Today',\n yesterday: 'Yesterday',\n last3Days: 'Last 3 Days',\n last7Days: 'Last 7 Days',\n thisWeek: 'This Week',\n lastWeek: 'Last Week',\n thisMonth: 'This Month',\n lastMonth: 'Last Month',\n thisYear: 'This Year'\n },\n loading: {\n text: 'Loading...'\n },\n pageHeader: {\n home: 'Home'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-HK',\n exception: {\n 403: '抱歉,你無權訪問該頁麵',\n 404: '抱歉,你訪問的頁麵不存在',\n 500: '抱歉,伺服器出錯了',\n backToHome: '返回主頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標籤',\n closeOther: '關閉其他標籤',\n closeRight: '關閉右側標籤',\n refresh: '重新整理'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收合'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重設',\n more: '更多'\n },\n sf: {\n submit: '提交',\n reset: '重設',\n search: '搜尋',\n edit: '儲存',\n addText: '新增',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `佈爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{limit}個元素`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `最多 {limit} 個字元`,\n minLength: `至少 {limit} 個字元以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項目`,\n minItems: `不應少於 {limit} 個項目`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `隻能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 驗證`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項目`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是佈爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是佈爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n },\n datePicker: {\n today: '今日',\n yesterday: '昨日',\n last3Days: '近3日',\n last7Days: '近7日',\n thisWeek: '本星期',\n lastWeek: '上星期',\n thisMonth: '本月',\n lastMonth: '上個月',\n thisYear: '今年'\n },\n loading: {\n text: '加載中...'\n },\n pageHeader: {\n home: '主頁'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-TW',\n exception: {\n 403: '抱歉,你無權訪問該頁麵',\n 404: '抱歉,你訪問的頁麵不存在',\n 500: '抱歉,服務器出錯了',\n backToHome: '返回首頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標簽',\n closeOther: '關閉其它標簽',\n closeRight: '關閉右側標簽',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收起'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重置',\n more: '更多'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `佈爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{ref}`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設定的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `至多 {limit} 個字符`,\n minLength: `至少 {limit} 個字符以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項`,\n minItems: `不應少於 {limit} 個項`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `隻能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 校驗`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是佈爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是佈爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n },\n datePicker: {\n today: '今天',\n yesterday: '昨天',\n last3Days: '近3天',\n last7Days: '近7天',\n thisWeek: '本週',\n lastWeek: '上週',\n thisMonth: '本月',\n lastMonth: '上個月',\n thisYear: '今年'\n },\n loading: {\n text: '加載中...'\n },\n pageHeader: {\n home: '首頁'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'tr-TR',\n exception: {\n 403: `Üzgünüz, bu sayfaya erişiminiz yok`,\n 404: `Maalesef bu sayfa mevcut değil`,\n 500: `Üzgünüz, sunucu hatası`,\n backToHome: `Ana Sayfa'ya geri dön`\n },\n noticeIcon: {\n emptyText: 'Veri yok',\n clearText: 'Temiz'\n },\n reuseTab: {\n close: 'Sekmeyi Kapat',\n closeOther: 'Diğer sekmeleri kapat',\n closeRight: 'Sağdaki sekmeleri kapat',\n refresh: 'täzele'\n },\n tagSelect: {\n expand: 'Genişlet',\n collapse: 'Daralt'\n },\n miniProgress: {\n target: 'Hedef: '\n },\n st: {\n total: '{{range[0]}} ile {{range[1]}} arasında {{total}}',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla',\n more: 'Daha fazla'\n },\n sf: {\n submit: 'Gönder',\n reset: 'Sıfırla',\n search: 'Ara',\n edit: 'Kaydet',\n addText: 'Ekle',\n removeText: 'Kaldır',\n checkAllText: 'Tümünü kontrol et',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Atla`,\n prev: `Önceki`,\n next: `Sonraki`,\n done: `Bitti`\n },\n datePicker: {\n today: 'Bugün',\n yesterday: 'Dün',\n last3Days: 'Son 3 Gün',\n last7Days: 'Son 7 Gün',\n thisWeek: 'Bu Hafta',\n lastWeek: 'Geçen Hafta',\n thisMonth: 'Bu Ay',\n lastMonth: 'Geçen Ay',\n thisYear: 'Bu Yıl'\n },\n loading: {\n text: 'Yükleniyor...'\n },\n pageHeader: {\n home: 'Ana Sayfa'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'pl-PL',\n exception: {\n 403: `Niestety, nie masz uprawnień do tej strony`,\n 404: `Niestety, ta strona nie istnieje`,\n 500: `Niestety, błąd serwera`,\n backToHome: 'Powróć do strony głównej'\n },\n noticeIcon: {\n emptyText: 'Brak danych',\n clearText: 'Wyczyść'\n },\n reuseTab: {\n close: 'Zamknij kartę',\n closeOther: 'Zamknij inne karty',\n closeRight: 'Zamknij karty po prawej',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Rozszerz',\n collapse: 'Zmniejsz'\n },\n miniProgress: {\n target: 'Cel: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} z {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Wyczyść',\n more: 'Więcej'\n },\n sf: {\n submit: 'Wyślij',\n reset: 'Resetuj',\n search: 'Szukaj',\n edit: 'Zapisz',\n addText: 'Dodaj',\n removeText: 'Usuń',\n checkAllText: 'Zaznacz wszystkie',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Pominąć`,\n prev: `Poprzedni`,\n next: `Kolejny`,\n done: `Gotowe`\n },\n datePicker: {\n today: 'Dzisiaj',\n yesterday: 'Wczoraj',\n last3Days: 'Ost. 3 dni',\n last7Days: 'Ost. 7 dni',\n thisWeek: 'Ten tydzień',\n lastWeek: 'Poprz. tydzień',\n thisMonth: 'Ten miesiąc',\n lastMonth: 'Poprz. miesiąc',\n thisYear: 'Ten rok'\n },\n loading: {\n text: 'Ładowanie...'\n },\n pageHeader: {\n home: 'Strona główna'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'el-GR',\n exception: {\n 403: `Λυπούμαστε, δεν έχετε πρόσβαση σε αυτήν τη σελίδα`,\n 404: `Λυπούμαστε, η σελίδα αυτή δεν βρέθηκε`,\n 500: `Λυπούμαστε, σφάλμα διακομιστή`,\n backToHome: 'Επιστροφή στην αρχική σελίδα'\n },\n noticeIcon: {\n emptyText: 'Δεν υπάρχουν δεδομένα',\n clearText: 'Καθαρισμός'\n },\n reuseTab: {\n close: 'Κλείσιμο καρτέλας',\n closeOther: 'Κλείσιμο των άλλων καρτέλων',\n closeRight: 'Κλείσιμο των καρτελών δεξιά',\n refresh: 'Ανανέωση'\n },\n tagSelect: {\n expand: 'Επέκταση',\n collapse: 'Σύμπτυξη'\n },\n miniProgress: {\n target: 'Στόχος: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} από {{total}}',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά',\n more: 'Περισσότερα'\n },\n sf: {\n submit: 'Υποβολή',\n reset: 'Επαναφορά',\n search: 'Αναζήτηση',\n edit: 'Αποθήκευση',\n addText: 'Προσθήκη',\n removeText: 'Αφαίρεση',\n checkAllText: 'Επιλογή όλων',\n error: {\n 'false schema': `Η δυαδική δομή είναι ψευδής`,\n $ref: `Δεν είναι δυνατή η επίλυση της αναφοράς {ref}`,\n additionalItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n additionalProperties: `Δεν πρέπει να έχει επιπλέον χαρακτηριστικά`,\n anyOf: `Πρέπει να ταιριάζει με κάποια απο τις δομές στο \"anyOf\"`,\n dependencies: `τα χαρακτηριστικά {deps} είναι απαραίτητα, όταν υπάρχει το χαρακτηριστικό {property}`,\n enum: `Πρέπει να είναι ίσο με μία από τις προκαθορισμένες τιμές`,\n format: `Πρέπει να έχει την μορφή \"{format}\"`,\n type: `Πρέπει να είναι {type}`,\n required: `Απαιτείται`,\n maxLength: `Δεν πρέπει να είναι μεγαλύτερο από {limit} χαρακτήρες`,\n minLength: `Δεν πρέπει να είναι μικρότερο από {limit} χαρακτήρες`,\n minimum: `Πρέπει να είναι {comparison} {limit}`,\n formatMinimum: `Πρέπει να είναι {comparison} {limit}`,\n maximum: `Πρέπει να είναι {comparison} {limit}`,\n formatMaximum: `Πρέπει να είναι {comparison} {limit}`,\n maxItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n minItems: `Δεν πρέπει να έχει λιγότερα από {limit} στοιχεία`,\n maxProperties: `Δεν πρέπει να έχει περισσότερα από {limit} χαρακτηριστικά`,\n minProperties: `Δεν πρέπει να έχει λιγότερα από {limit} χαρακτηριστικά`,\n multipleOf: `Πρέπει να είναι πολλαπλάσιο του {multipleOf}`,\n not: `Δεν πρέπει να είναι εγκύρο, σύμφωνα με την δομή στο \"not\"`,\n oneOf: `Πρέπει να ταιριάζει με ακριβώς μια απο τις δομές στο \"oneOf\"`,\n pattern: `Πρέπει να ταιριάζει με το πρότυπο \"{pattern}\"`,\n uniqueItems: `Τα στοιχεία δεν πρέπει να επαναλαμβάνονται (τα στοιχεία ## {j} και {i} είναι ίδια)`,\n custom: `Πρέπει να έχει την μορφή`,\n propertyNames: `Το όνομα του χαρακτηριστικού \"{propertyName}\" δεν είναι έγκυρο`,\n patternRequired: `Πρέπει να υπάρχει το χαρακτηριστικό αντιπαραβολής προτύπου \"{missingPattern}\"`,\n switch: `Πρέπει να περάσει ο έλεγχος εγκυρότητας της λέξης-κλειδιού με την χρήση της \"switch\", η περίπτωση {caseIndex} αποτυγχάνει`,\n const: `Πρέπει να είναι ίσο με σταθερά`,\n contains: `Πρέπει να περιέχει κάποιο έγκυρο στοιχείο`,\n formatExclusiveMaximum: `formatExclusiveMaximum πρέπει να είναι boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum πρέπει να είναι boolean`,\n if: `Πρέπει να ταιριάζει στην δομή \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Παράλειψη`,\n prev: `Προηγούμενο`,\n next: `Επόμενο`,\n done: `Ολοκληρώθηκε`\n },\n datePicker: {\n today: 'Σήμερα',\n yesterday: 'Χθές',\n last3Days: 'Τελ. 3 ημ.',\n last7Days: 'Τελ. 7 ημ.',\n thisWeek: 'Αυτή την εβδ.',\n lastWeek: 'Προηγ. εβδ.',\n thisMonth: 'Αυτό το μήνα',\n lastMonth: 'Προηγ. μήνα',\n thisYear: 'Αυτό το έτος'\n },\n loading: {\n text: 'Φόρτωση...'\n },\n pageHeader: {\n home: 'Αρχική'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ko-KR',\n exception: {\n 403: `죄송합니다.이 페이지에 액세스 할 수 없습니다.`,\n 404: `죄송합니다. 해당 페이지가 없습니다.`,\n 500: `죄송합니다, 서버 오류가 있습니다.`,\n backToHome: '홈으로 돌아갑니다.'\n },\n noticeIcon: {\n emptyText: '데이터 없음',\n clearText: '지우기'\n },\n reuseTab: {\n close: '탭 닫기',\n closeOther: '다른 탭 닫기',\n closeRight: '오른쪽 탭 닫기',\n refresh: '새롭게 하다'\n },\n tagSelect: {\n expand: '펼치기',\n collapse: '접기'\n },\n miniProgress: {\n target: '대상: '\n },\n st: {\n total: '전체 {{total}}건',\n filterConfirm: '확인',\n filterReset: '초기화',\n more: '더보기'\n },\n sf: {\n submit: '제출',\n reset: '재설정',\n search: '검색',\n edit: '저장',\n addText: '추가',\n removeText: '제거',\n checkAllText: '모두 확인',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `건너 뛰기`,\n prev: `이전`,\n next: `다음`,\n done: `끝난`\n },\n datePicker: {\n today: '오늘',\n yesterday: '어제',\n last3Days: '지난 3일',\n last7Days: '지난 7일',\n thisWeek: '이번 주',\n lastWeek: '지난주',\n thisMonth: '이번 달',\n lastMonth: '지난달',\n thisYear: '올해'\n },\n loading: {\n text: '로딩 중...'\n },\n pageHeader: {\n home: '홈'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'hr-HR',\n exception: {\n 403: `Nažalost, nemate pristup ovoj lokaciji`,\n 404: `Nažalost, lokacija ne postoji`,\n 500: `Nažalost, server je javio pogrešku`,\n backToHome: 'Nazad na početnu stranicu'\n },\n noticeIcon: {\n emptyText: 'Nema podataka',\n clearText: 'Obriši'\n },\n reuseTab: {\n close: 'Zatvori karticu',\n closeOther: 'Zatvori druge kartice',\n closeRight: 'Zatvori kartice desno',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Proširi',\n collapse: 'Skupi'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} od {{total}}',\n filterConfirm: 'U redu',\n filterReset: 'Poništi',\n more: 'Više'\n },\n sf: {\n submit: 'Pošalji',\n reset: 'Poništi',\n search: 'Pretraži',\n edit: 'Spremi',\n addText: 'Dodaj',\n removeText: 'Ukloni',\n checkAllText: 'Označi sve'\n },\n onboarding: {\n skip: `Preskočiti`,\n prev: `Prethodna`,\n next: `Sljedeći`,\n done: `Sastavljeno`\n },\n datePicker: {\n today: 'Danas',\n yesterday: 'Jučer',\n last3Days: 'Posl. 3 dana',\n last7Days: 'Posl. 7 dana',\n thisWeek: 'Ovaj tjedan',\n lastWeek: 'Prošli tjedan',\n thisMonth: 'Ovaj mjesec',\n lastMonth: 'Prošli mjesec',\n thisYear: 'Ova godina'\n },\n loading: {\n text: 'Učitavanje...'\n },\n pageHeader: {\n home: 'Početna'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ja-JP',\n exception: {\n 403: 'ページへのアクセス権限がありません',\n 404: 'ページが存在しません',\n 500: 'サーバーエラーが発生しました',\n backToHome: 'ホームに戻る'\n },\n noticeIcon: {\n emptyText: 'データが有りません',\n clearText: 'クリア'\n },\n reuseTab: {\n close: 'タブを閉じる',\n closeOther: '他のタブを閉じる',\n closeRight: '右のタブを閉じる',\n refresh: 'リフレッシュ'\n },\n tagSelect: {\n expand: '展開する',\n collapse: '折りたたむ'\n },\n miniProgress: {\n target: '設定値: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} / {{total}}',\n filterConfirm: '確定',\n filterReset: 'リセット',\n more: 'もっと'\n },\n sf: {\n submit: '送信',\n reset: 'リセット',\n search: '検索',\n edit: '保存',\n addText: '追加',\n removeText: '削除',\n checkAllText: '全選択',\n error: {\n 'false schema': `真偽値スキーマが不正です`,\n $ref: `参照を解決できません: {ref}`,\n additionalItems: `{limit}個を超えるアイテムを含めることはできません`,\n additionalProperties: `追加のプロパティを使用しないでください`,\n anyOf: `\"anyOf\"のスキーマと一致する必要があります`,\n dependencies: `プロパティ {property} を指定した場合、次の依存関係を満たす必要があります: {deps}`,\n enum: `定義された値のいずれかに等しくなければなりません`,\n format: `入力形式に一致しません: \"{format}\"`,\n type: `型が不正です: {type}`,\n required: `必須項目です`,\n maxLength: `最大文字数: {limit}`,\n minLength: `最少文字数: {limit}`,\n minimum: `値が不正です: {comparison} {limit}`,\n formatMinimum: `値が不正です: {comparison} {limit}`,\n maximum: `値が不正です: {comparison} {limit}`,\n formatMaximum: `値が不正です: {comparison} {limit}`,\n maxItems: `最大選択数は {limit} より小さい必要があります`,\n minItems: `最小選択数は {limit} より大きい必要があります`,\n maxProperties: `値を{limit}より大きくすることはできません`,\n minProperties: `値を{limit}より小さくすることはできません`,\n multipleOf: `値は次の数の倍数である必要があります: {multipleOf}`,\n not: `値が不正です:`,\n oneOf: `値が不正です:`,\n pattern: `次のパターンに一致する必要があります: \"{pattern}\"`,\n uniqueItems: `値が重複しています: 選択肢: {j} 、{i}`,\n custom: `形式と一致する必要があります`,\n propertyNames: `次のプロパティの値が無効です: \"{propertyName}\"`,\n patternRequired: `次のパターンに一致するプロパティが必須です: \"{missingPattern}\"`,\n switch: `\"switch\" キーワードの値が不正です: {caseIndex}`,\n const: `値が定数に一致しません`,\n contains: `有効なアイテムを含める必要があります`,\n formatExclusiveMaximum: `formatExclusiveMaximum は真偽値である必要があります`,\n formatExclusiveMinimum: `formatExclusiveMaximum は真偽値である必要があります`,\n if: `パターンと一致する必要があります: \"{failingKeyword}\" `\n }\n },\n onboarding: {\n skip: `スキップ`,\n prev: `前へ`,\n next: `次`,\n done: `できた`\n },\n datePicker: {\n today: '今日',\n yesterday: '昨日',\n last3Days: '直近3日',\n last7Days: '直近7日',\n thisWeek: '今週',\n lastWeek: '先週',\n thisMonth: '今月',\n lastMonth: '先月',\n thisYear: '今年'\n },\n loading: {\n text: '読み込み中...'\n },\n pageHeader: {\n home: 'ホーム'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'sl-SI',\n exception: {\n 403: `Žal nimate dostopa do te strani`,\n 404: `Žal stran, ki ste jo obiskali, ne obstaja`,\n 500: `Žal strežnik poroča o napaki`,\n backToHome: 'Nazaj domov'\n },\n noticeIcon: {\n emptyText: 'Ni podatkov',\n clearText: 'Počisti'\n },\n reuseTab: {\n close: 'Zapri zavihek',\n closeOther: 'Zaprite druge zavihke',\n closeRight: 'Zaprite zavihke na desni'\n },\n tagSelect: {\n expand: 'Razširi',\n collapse: 'Strni'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n more: 'Več'\n },\n sf: {\n submit: 'Pošlji',\n reset: 'Reset',\n search: 'Išči',\n edit: 'Shrani',\n addText: 'Dodaj',\n removeText: 'Odstrani',\n checkAllText: 'Preveri vse',\n error: {\n 'false schema': `Boolova shema je napačna`,\n $ref: `Referenc ni mogoče razrešiti {ref}`,\n additionalItems: `Ne sme imeti več kot {limit} artiklov`,\n additionalProperties: `Ne bi smel imeti dodatnih lastnosti`,\n anyOf: `Se mora ujemati s shemo v \"anyOf\"`,\n dependencies: `mora imeti lastnosti {deps} ko je artikel {property} prisoten`,\n enum: `Mora biti enaka eni od vnaprej določenih vrednosti`,\n format: `Naj ustreza formatu \"{format}\"`,\n type: `Naj bo {type}`,\n required: `Zahtevano`,\n maxLength: `Ne sme biti daljši od {limit} znakov`,\n minLength: `Ne sme biti krajši od {limit} znakov`,\n minimum: `Naj bo {comparison} {limit}`,\n formatMinimum: `Naj bo {comparison} {limit}`,\n maximum: `Naj bo {comparison} {limit}`,\n formatMaximum: `Naj bo {comparison} {limit}`,\n maxItems: `Ne sme imeti več kot {limit} artiklov`,\n minItems: `Ne sme imeti manj kot {limit} artiklov`,\n maxProperties: `Ne sme imeti več kot {limit} lastnosti`,\n minProperties: `Ne sme imeti manj kot {limit} lastnosti`,\n multipleOf: `Mora biti večkratnik od {multipleOf}`,\n not: `Ne sme biti veljaven po shemi v \"not\"`,\n oneOf: `Naj ustreza natančno eni shemi v \"oneOf\"`,\n pattern: `Naj se ujema z vzorcem \"{pattern}\"`,\n uniqueItems: `Ne bi smel imeti dvojnikov (items ## {j} in {i} so identični)`,\n custom: `Naj ustreza formatu`,\n propertyNames: `Ime artikla \"{propertyName}\" je neveljavno`,\n patternRequired: `Mora imeti vzorec ujemanja lastnosti \"{missingPattern}\"`,\n switch: `Mora prestati \"switch\" validacijo ključne besede, primer {caseIndex} ne uspe`,\n const: `Naj bo enako konstanti`,\n contains: `Naj vsebuje veljaven artikel`,\n formatExclusiveMaximum: `formatExclusiveMaximum naj bo boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum naj bo boolean`,\n if: `Naj se ujema s shemo \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Preskoči`,\n prev: `Prejšnje`,\n next: `Naslednji`,\n done: `Končano`\n },\n datePicker: {\n today: 'Danes',\n yesterday: 'Včeraj',\n last3Days: 'Zadnji 3 dnevi',\n last7Days: 'Zadnjih 7 dni',\n thisWeek: 'Ta teden',\n lastWeek: 'Prejšnji teden',\n thisMonth: 'Ta mesec',\n lastMonth: 'Prejšnji mesec',\n thisYear: 'Letos'\n },\n loading: {\n text: 'Nalaganje...'\n },\n pageHeader: {\n home: 'Domov'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'fr-FR',\n exception: {\n 403: `Désolé, vous n'avez pas accès à cette page`,\n 404: `Désolé, la page que vous avez visitée n'existe pas`,\n 500: `Désolé, le serveur signale une erreur`,\n backToHome: \"Retour à l'accueil\"\n },\n noticeIcon: {\n emptyText: 'Pas de données',\n clearText: 'Effacer'\n },\n reuseTab: {\n close: \"Fermer l'onglet\",\n closeOther: 'Fermer les autres onglets',\n closeRight: 'Fermer les onglets à droite',\n refresh: 'Rafraîchir'\n },\n tagSelect: {\n expand: 'Etendre',\n collapse: 'Effondrer'\n },\n miniProgress: {\n target: 'Cible: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} de {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n more: 'Plus'\n },\n sf: {\n submit: 'Soumettre',\n reset: 'Réinitialiser',\n search: 'Rechercher',\n edit: 'Sauvegarder',\n addText: 'Ajouter',\n removeText: 'Supprimer',\n checkAllText: 'Cochez toutes',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Passer`,\n prev: `Précédent`,\n next: `Suivant`,\n done: `Terminé`\n },\n datePicker: {\n today: 'Auj.',\n yesterday: 'Hier',\n last3Days: '3 derniers j.',\n last7Days: '7 derniers j.',\n thisWeek: 'Sem. en cours',\n lastWeek: 'Sem. dernière',\n thisMonth: 'Mois en cours',\n lastMonth: 'Mois dernier',\n thisYear: 'Année en cours'\n },\n loading: {\n text: 'Chargement...'\n },\n pageHeader: {\n home: 'Accueil'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'es-ES',\n exception: {\n 403: `Lo sentimos, no tiene acceso a esta página`,\n 404: `Lo sentimos, la página que ha visitado no existe`,\n 500: `Lo siento, error interno del servidor `,\n backToHome: 'Volver a la página de inicio'\n },\n noticeIcon: {\n emptyText: 'No hay datos',\n clearText: 'Limpiar'\n },\n reuseTab: {\n close: 'Cerrar pestaña',\n closeOther: 'Cerrar otras pestañas',\n closeRight: 'Cerrar pestañas a la derecha',\n refresh: 'Actualizar'\n },\n tagSelect: {\n expand: 'Expandir',\n collapse: 'Ocultar'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{rango[0]}} - {{rango[1]}} de {{total}}',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar',\n more: 'Más'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reiniciar',\n search: 'Buscar',\n edit: 'Guardar',\n addText: 'Añadir',\n removeText: 'Eliminar',\n checkAllText: 'Comprobar todo',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Omitir`,\n prev: `Previo`,\n next: `Siguiente`,\n done: `Terminado`\n },\n datePicker: {\n today: 'Hoy',\n yesterday: 'Ayer',\n last3Days: 'Últ. 3 días',\n last7Days: 'Últ. 7 días',\n thisWeek: 'Esta sem.',\n lastWeek: 'Sem. pasada',\n thisMonth: 'Este mes',\n lastMonth: 'Mes pasado',\n thisYear: 'Este año'\n },\n loading: {\n text: 'Cargando...'\n },\n pageHeader: {\n home: 'Inicio'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'it-IT',\n exception: {\n 403: `Spiacenti, non hai accesso a questa pagina`,\n 404: `Spiacenti, la pagina che hai visitato non esiste`,\n 500: `Spiacenti, il server sta riscontrando un errore`,\n backToHome: 'Torna alla Home'\n },\n noticeIcon: {\n emptyText: 'Nessun dato',\n clearText: 'Cancella memoria locale'\n },\n reuseTab: {\n close: 'Chiudi la scheda',\n closeOther: 'Chiudi le altre schede',\n closeRight: 'Chiudi le schede a destra',\n refresh: 'Aggiorna'\n },\n tagSelect: {\n expand: 'Espandi',\n collapse: 'Comprimi'\n },\n miniProgress: {\n target: 'Obiettivo: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} di {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reimposta',\n more: 'Altro'\n },\n sf: {\n submit: 'Invia',\n reset: 'Reimposta',\n search: 'Cerca',\n edit: 'Salva',\n addText: 'Aggiungi',\n removeText: 'Rimuovi',\n checkAllText: 'Seleziona tutto',\n error: {\n 'false schema': `Lo schema booleano è falso`,\n $ref: `Impossibile risolvere il riferimento {ref}`,\n additionalItems: `Non deve avere più di {limit} elementi`,\n additionalProperties: `Non deve avere proprietà aggiuntive`,\n anyOf: `Deve corrispondere a uno schema in \"anyOf\"`,\n dependencies: `Deve avere una proprietà {deps} quando è presente la proprietà {property}`,\n enum: `Deve essere uguale a uno dei valori predefiniti`,\n format: `Deve corrispondere al formato \"{format}\"`,\n type: `Deve essere {type}`,\n required: `Obbligatorio`,\n maxLength: `Non deve essere superiore a {limit} caratteri`,\n minLength: `Non deve essere superiore a {limit} caratteri`,\n minimum: `Deve essere {comparison} {limit}`,\n formatMinimum: `Deve essere {comparison} {limit}`,\n maximum: `Deve essere {comparison} {limit}`,\n formatMaximum: `Deve essere {comparison} {limit}`,\n maxItems: `Non deve avere più di {limit} elementi`,\n minItems: `Non deve avere meno di {limit} elementi`,\n maxProperties: `Non deve avere più di {limit} proprietà`,\n minProperties: `Non deve avere meno di {limit} proprietà`,\n multipleOf: `Deve essere un multiplo di {multipleOf}`,\n not: `Non deve essere valido secondo lo schema in \"not\"`,\n oneOf: `Deve corrispondere esattamente a uno schema in \"oneOf\"`,\n pattern: `Deve corrispondere al modello \"{pattern}\"`,\n uniqueItems: `Non deve avere elementi duplicati (gli elementi ## {j} e {i} sono identici)`,\n custom: `Deve corrispondere al formato \"{format}\"`,\n propertyNames: `Il nome della proprietà \"{propertyName}\" non è valido`,\n patternRequired: `Deve avere una proprietà corrispondete al modello \"{missingPattern}\"`,\n switch: `Deve superare la convalida della parola chiave \"switch\", il caso {caseIndex} non è riuscito`,\n const: `Deve essere uguale alla costante`,\n contains: `Deve contenere un elemento valido`,\n formatExclusiveMaximum: `formatExclusiveMaximum deve essere booleano`,\n formatExclusiveMinimum: `formatExclusiveMaximum deve essere booleano`,\n if: `Deve corrispondere allo schema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Salta`,\n prev: `Precedente`,\n next: `Successivo`,\n done: `Fatto`\n },\n datePicker: {\n today: 'Oggi',\n yesterday: 'Ieri',\n last3Days: 'Ultimi 3 gg',\n last7Days: 'Ultimi 7 gg',\n thisWeek: 'Questa sett.',\n lastWeek: 'Sett. scorsa',\n thisMonth: 'Questo mese',\n lastMonth: 'Mese scorso',\n thisYear: \"Quest'anno\"\n },\n loading: {\n text: 'Caricamento...'\n },\n pageHeader: {\n home: 'Home'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'vi-VN',\n exception: {\n 403: `Xin lỗi, bạn không có quyền truy cập vào trang này`,\n 404: `Xin lỗi, trang bạn truy cập không tồn tại`,\n 500: `Xin lỗi, máy chủ đang báo cáo một lỗi`,\n backToHome: 'Quay lại Trang chủ'\n },\n noticeIcon: {\n emptyText: 'Không có dữ liệu',\n clearText: 'Xóa'\n },\n reuseTab: {\n close: 'Đóng tab',\n closeOther: 'Đóng các tab khác',\n closeRight: 'Đóng các tab bên phải',\n refresh: 'Làm mới'\n },\n tagSelect: {\n expand: 'Mở rộng',\n collapse: 'Thu gọn'\n },\n miniProgress: {\n target: 'Mục tiêu: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} của {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Đặt lại',\n more: 'Thêm'\n },\n sf: {\n submit: 'Gửi',\n reset: 'Đặt lại',\n search: 'Tìm kiếm',\n edit: 'Lưu',\n addText: 'Thêm',\n removeText: 'Xóa',\n checkAllText: 'Chọn tất cả',\n error: {\n 'false schema': `Mô hình Boolean sai`,\n $ref: `Không thể giải quyết tham chiếu {ref}`,\n additionalItems: `Không nên có nhiều hơn {limit} mục`,\n additionalProperties: `Không nên có các thuộc tính bổ sung`,\n anyOf: `Nên phù hợp với một số mô hình trong \"anyOf\"`,\n dependencies: `nên có thuộc tính {deps} khi thuộc tính {property} hiện diện`,\n enum: `Nên bằng với một trong số các giá trị được xác định trước`,\n format: `Nên phù hợp với định dạng \"{format}\"`,\n type: `Nên là {type}`,\n required: `Bắt buộc`,\n maxLength: `Không nên dài hơn {limit} ký tự`,\n minLength: `Không nên ngắn hơn {limit} ký tự`,\n minimum: `Nên là {comparison} {limit}`,\n formatMinimum: `Nên là {comparison} {limit}`,\n maximum: `Nên là {comparison} {limit}`,\n formatMaximum: `Nên là {comparison} {limit}`,\n maxItems: `Không nên có nhiều hơn {limit} mục`,\n minItems: `Không nên có ít hơn {limit} mục`,\n maxProperties: `Không nên có nhiều hơn {limit} thuộc tính`,\n minProperties: `Không nên có ít hơn {limit} thuộc tính`,\n multipleOf: `Nên là bội số của {multipleOf}`,\n not: `Không nên hợp lệ theo mô hình trong \"not\"`,\n oneOf: `Nên phù hợp chính xác với một mô hình trong \"oneOf\"`,\n pattern: `Nên phù hợp với mẫu \"{pattern}\"`,\n uniqueItems: `Không nên có các mục trùng lặp (mục ## {j} và {i} giống nhau)`,\n custom: `Nên phù hợp với định dạng`,\n propertyNames: `Tên thuộc tính \"{propertyName}\" không hợp lệ`,\n patternRequired: `Nên có thuộc tính phù hợp với mẫu \"{missingPattern}\"`,\n switch: `Nên vượt qua việc xác nhận từ khóa \"switch\", trường hợp {caseIndex} thất bại`,\n const: `Nên bằng với hằng số`,\n contains: `Nên chứa một mục hợp lệ`,\n formatExclusiveMaximum: `formatExclusiveMaximum nên là boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum nên là boolean`,\n if: `Nên phù hợp với mô hình \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Bỏ qua`,\n prev: `Trước`,\n next: `Tiếp`,\n done: `Hoàn thành`\n },\n datePicker: {\n today: 'Hôm nay',\n yesterday: 'Hôm qua',\n last3Days: '3 ngày qua',\n last7Days: '7 ngày qua',\n thisWeek: 'Tuần này',\n lastWeek: 'Tuần trước',\n thisMonth: 'Tháng này',\n lastMonth: 'Tháng trước',\n thisYear: 'Năm nay'\n },\n loading: {\n text: 'Đang tải...'\n },\n pageHeader: {\n home: 'Trang chủ'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ar-SA',\n exception: {\n 403: `عذراً، ليس لديك إذن للوصول إلى هذه الصفحة`,\n 404: `عذراً، الصفحة التي تبحث عنها غير موجودة`,\n 500: `عذراً، خطأ في الخادم`,\n backToHome: 'العودة إلى الصفحة الرئيسية'\n },\n noticeIcon: {\n emptyText: 'لا توجد بيانات',\n clearText: 'مسح'\n },\n reuseTab: {\n close: 'إغلاق العلامة',\n closeOther: 'إغلاق العلامات الأخرى',\n closeRight: 'إغلاق العلامات اليمنى',\n refresh: 'تحديث'\n },\n tagSelect: {\n expand: 'توسيع',\n collapse: 'طي'\n },\n miniProgress: {\n target: 'الهدف: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} من {{total}}',\n filterConfirm: 'تأكيد',\n filterReset: 'إعادة تعيين',\n more: 'المزيد'\n },\n sf: {\n submit: 'حفظ',\n reset: 'إعادة تعيين',\n search: 'بحث',\n edit: 'تعديل',\n addText: 'إضافة',\n removeText: 'حذف',\n checkAllText: 'تحديد الكل',\n error: {\n 'false schema': `القيمة المنطقية خاطئة`,\n $ref: `المرجع \"{{ref}}\" غير موجود`,\n additionalItems: `يجب ألا يحتوي على عناصر إضافية`,\n additionalProperties: `يجب ألا يحتوي على خصائص إضافية`,\n anyOf: `يجب أن يتطابق مع أحد النماذج في \"anyOf\"`,\n dependencies: `يجب أن يحتوي على الخصائص {{deps}} عندما تكون الخاصية {{property}} موجودة`,\n enum: `يجب أن يكون واحدًا من القيم المحددة`,\n format: `يجب أن يتوافق مع النمط \"{{format}}\"`,\n type: `يجب أن يكون {{type}}`,\n required: `مطلوب`,\n maxLength: `يجب ألا يكون أطول من {limit} حرف`,\n minLength: `يجب ألا يكون أقصر من {limit} حرف`,\n minimum: `يجب أن يكون أكبر من أو يساوي {comparison} {limit}`,\n formatMinimum: `يجب أن يكون أكبر من أو يساوي {comparison} {limit}`,\n maximum: `يجب أن يكون أقل من أو يساوي {comparison} {limit}`,\n formatMaximum: `يجب أن يكون أقل من أو يساوي {comparison} {limit}`,\n maxItems: `يجب ألا يكون أكثر من {limit} عنصر`,\n minItems: `يجب ألا يكون أقل من {limit} عنصر`,\n maxProperties: `يجب ألا يكون أكثر من {limit} خاصية`,\n minProperties: `يجب ألا يكون أقل من {limit} خاصية`,\n multipleOf: `يجب أن يكون مضاعفًا لـ {multipleOf}`,\n not: `لا يجب أن يتطابق مع النمط (not)`,\n oneOf: `يجب أن يتطابق مع أحد النماذج في \"oneOf\"`,\n pattern: `يجب أن يتطابق مع النمط \"{pattern}\"`,\n uniqueItems: `يجب ألا يحتوي على عناصر مكررة`,\n custom: `يجب أن يكون صالحًا`,\n propertyNames: `يجب أن تكون الخاصية صالحة`,\n patternRequired: `يجب أن تحتوي على خاصية تطابق النمط \"{missingPattern}\"`,\n switch: `يجب أن يكون {caseIndex} صالحًا`,\n const: `يجب أن يكون ثابتًا`,\n contains: `يجب أن يحتوي على قيمة صالحة`,\n formatExclusiveMaximum: `formatExclusiveMaximum يجب أن يكون قيمة منطقية`,\n formatExclusiveMinimum: `formatExclusiveMinimum يجب أن يكون قيمة منطقية`,\n if: `يجب أن يتوافق مع \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `تخطي`,\n prev: `السابق`,\n next: `التالي`,\n done: `تم`\n },\n datePicker: {\n today: 'اليوم',\n yesterday: 'أمس',\n last3Days: 'آخر 3 أيام',\n last7Days: 'آخر 7 أيام',\n thisWeek: 'هذا الأسبوع',\n lastWeek: 'الأسبوع الماضي',\n thisMonth: 'هذا الشهر',\n lastMonth: 'الشهر الماضي',\n thisYear: 'هذا العام'\n },\n loading: {\n text: 'جاري التحميل...'\n },\n pageHeader: {\n home: 'الرئيسية'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'id-ID',\n exception: {\n 403: `Maaf, Anda tidak memiliki akses ke halaman ini`,\n 404: `Maaf, halaman yang Anda kunjungi tidak ada`,\n 500: `Maaf, server melaporkan kesalahan`,\n backToHome: 'Kembali ke Beranda'\n },\n noticeIcon: {\n emptyText: 'Tidak ada data',\n clearText: 'Bersihkan'\n },\n reuseTab: {\n close: 'Tutup tab',\n closeOther: 'Tutup tab lainnya',\n closeRight: 'Tutup tab di sebelah kanan',\n refresh: 'Segarkan'\n },\n tagSelect: {\n expand: 'Perluas',\n collapse: 'Ciutkan'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} dari {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Atur ulang',\n more: 'Lainnya'\n },\n sf: {\n submit: 'Kirim',\n reset: 'Atur ulang',\n search: 'Cari',\n edit: 'Simpan',\n addText: 'Tambah',\n removeText: 'Hapus',\n checkAllText: 'Pilih semua',\n error: {\n 'false schema': `Skema boolean salah`,\n $ref: `Tidak dapat menyelesaikan referensi {ref}`,\n additionalItems: `Tidak boleh memiliki lebih dari {limit} item`,\n additionalProperties: `Tidak boleh memiliki properti tambahan`,\n anyOf: `Harus cocok dengan salah satu skema di \"anyOf\"`,\n dependencies: `harus memiliki properti {deps} ketika properti {property} ada`,\n enum: `Harus sama dengan salah satu nilai yang telah ditentukan`,\n format: `Harus sesuai dengan format \"{format}\"`,\n type: `Harus berupa {type}`,\n required: `Diperlukan`,\n maxLength: `Tidak boleh lebih panjang dari {limit} karakter`,\n minLength: `Tidak boleh lebih pendek dari {limit} karakter`,\n minimum: `Harus {comparison} {limit}`,\n formatMinimum: `Harus {comparison} {limit}`,\n maximum: `Harus {comparison} {limit}`,\n formatMaximum: `Harus {comparison} {limit}`,\n maxItems: `Tidak boleh memiliki lebih dari {limit} item`,\n minItems: `Tidak boleh memiliki kurang dari {limit} item`,\n maxProperties: `Tidak boleh memiliki lebih dari {limit} properti`,\n minProperties: `Tidak boleh memiliki kurang dari {limit} properti`,\n multipleOf: `Harus kelipatan dari {multipleOf}`,\n not: `Tidak boleh valid menurut skema dalam \"not\"`,\n oneOf: `Harus cocok dengan tepat satu skema dalam \"oneOf\"`,\n pattern: `Harus cocok dengan pola \"{pattern}\"`,\n uniqueItems: `Tidak boleh memiliki item duplikat (item ## {j} dan {i} identik)`,\n custom: `Harus sesuai dengan format`,\n propertyNames: `Nama properti \"{propertyName}\" tidak valid`,\n patternRequired: `Harus memiliki properti yang cocok dengan pola \"{missingPattern}\"`,\n switch: `Harus lulus validasi kata kunci \"switch\", kasus {caseIndex} gagal`,\n const: `Harus sama dengan konstanta`,\n contains: `Harus berisi item yang valid`,\n formatExclusiveMaximum: `formatExclusiveMaximum harus berupa boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum harus berupa boolean`,\n if: `Harus cocok dengan skema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Lewati`,\n prev: `Sebelumnya`,\n next: `Berikutnya`,\n done: `Selesai`\n },\n datePicker: {\n today: 'Hari Ini',\n yesterday: 'Kemarin',\n last3Days: '3 Hari Terakhir',\n last7Days: '7 Hari Terakhir',\n thisWeek: 'Minggu Ini',\n lastWeek: 'Minggu Lalu',\n thisMonth: 'Bulan Ini',\n lastMonth: 'Bulan Lalu',\n thisYear: 'Tahun Ini'\n },\n loading: {\n text: 'Memuat...'\n },\n pageHeader: {\n home: 'Beranda'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'km-KH',\n exception: {\n 403: `សូមអភ័យទោស អ្នកមិនមានសិទ្ធិចូលទំព័រនេះទេ`,\n 404: `សូមអភ័យទោស ទំព័រដែលអ្នកចូលមិនមានទេ`,\n 500: `សូមអភ័យទោស ម៉ាស៊ីនមេកំពុងរាយការណ៍កំហុស`,\n backToHome: 'ត្រឡប់ទៅទំព័រដើម'\n },\n noticeIcon: {\n emptyText: 'គ្មានទិន្នន័យ',\n clearText: 'សម្អាត'\n },\n reuseTab: {\n close: 'បិទផ្ទាំង',\n closeOther: 'បិទផ្ទាំងផ្សេងទៀត',\n closeRight: 'បិទផ្ទាំងខាងស្ដាំ',\n refresh: 'ផ្ទុកឡើងវិញ'\n },\n tagSelect: {\n expand: 'ពង្រីក',\n collapse: 'បង្រួម'\n },\n miniProgress: {\n target: 'គោលដៅ៖ '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} នៃ {{total}}',\n filterConfirm: 'យល់ព្រម',\n filterReset: 'កំណត់ឡើងវិញ',\n more: 'ច្រើនទៀត'\n },\n sf: {\n submit: 'ដាក់ស្នើ',\n reset: 'កំណត់ឡើងវិញ',\n search: 'ស្វែងរក',\n edit: 'រក្សាទុក',\n addText: 'បន្ថែម',\n removeText: 'លុបចេញ',\n checkAllText: 'ពិនិត្យទាំងអស់',\n error: {\n 'false schema': `ស្កីម៉ាមិនត្រឹមត្រូវទេ`,\n $ref: `មិនអាចដោះស្រាយយោង {ref} បានទេ`,\n additionalItems: `មិនគួរមានធាតុលើស {limit}`,\n additionalProperties: `មិនគួរមានលក្ខណៈបន្ថែមទេ`,\n anyOf: `ត្រូវតែត្រូវនឹងស្កីម៉ាណាមួយក្នុង \"anyOf\"`,\n dependencies: `ត្រូវមានលក្ខណៈ {deps} នៅពេលដែលមានលក្ខណៈ {property}`,\n enum: `ត្រូវតែស្មើនឹងតម្លៃដែលបានកំណត់ជាមុន`,\n format: `ត្រូវតែស្របនឹងទ្រង់ទ្រាយ \"{format}\"`,\n type: `ត្រូវតែជា {type}`,\n required: `ត្រូវការបំពេញ`,\n maxLength: `មិនគួរលើសពី {limit} តួអក្សរ`,\n minLength: `មិនគួរតិចជាង {limit} តួអក្សរ`,\n minimum: `ត្រូវជា {comparison} {limit}`,\n formatMinimum: `ត្រូវជា {comparison} {limit}`,\n maximum: `ត្រូវជា {comparison} {limit}`,\n formatMaximum: `ត្រូវជា {comparison} {limit}`,\n maxItems: `មិនគួរមានធាតុលើសពី {limit}`,\n minItems: `មិនគួរមានធាតុតិចជាង {limit}`,\n maxProperties: `មិនគួរមានលក្ខណៈលើសពី {limit}`,\n minProperties: `មិនគួរមានលក្ខណៈតិចជាង {limit}`,\n multipleOf: `ត្រូវជាចំនួនគុណនៃ {multipleOf}`,\n not: `មិនគួរត្រូវនឹងស្កីម៉ានៅក្នុង \"not\" ទេ`,\n oneOf: `ត្រូវតែត្រូវតែមួយស្កីម៉ានៅក្នុង \"oneOf\" ប៉ុណ្ណោះ`,\n pattern: `ត្រូវតែត្រូវនឹងលំនាំ \"{pattern}\"`,\n uniqueItems: `មិនគួរមានធាតុស្ទួន (ធាតុ ## {j} និង {i} ដូចគ្នា)`,\n custom: `ត្រូវតែស្របនឹងទ្រង់ទ្រាយ`,\n propertyNames: `ឈ្មោះលក្ខណៈ \"{propertyName}\" មិនត្រឹមត្រូវទេ`,\n patternRequired: `ត្រូវមានលក្ខណៈដែលត្រូវនឹងលំនាំ \"{missingPattern}\"`,\n switch: `មិនជោគជ័យក្នុងការផ្ទៀងផ្ទាត់តាមពាក្យគន្លឹះ \"switch\" ករណី {caseIndex} បរាជ័យ`,\n const: `ត្រូវស្មើនឹងតម្លៃថេរ`,\n contains: `ត្រូវមានធាតុត្រឹមត្រូវមួយ`,\n formatExclusiveMaximum: `formatExclusiveMaximum ត្រូវជាប៊ូលីន`,\n formatExclusiveMinimum: `formatExclusiveMinimum ត្រូវជាប៊ូលីន`,\n if: `ត្រូវតែត្រូវនឹងស្កីម៉ា \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `រំលង`,\n prev: `ថយក្រោយ`,\n next: `បន្ទាប់`,\n done: `រួចរាល់`\n },\n datePicker: {\n today: 'ថ្ងៃនេះ',\n yesterday: 'ម្សិលមិញ',\n last3Days: '៣ថ្ងៃចុងក្រោយ',\n last7Days: '៧ថ្ងៃចុងក្រោយ',\n thisWeek: 'សប្តាហ៍នេះ',\n lastWeek: 'សប្តាហ៍មុន',\n thisMonth: 'ខែនេះ',\n lastMonth: 'ខែមុន',\n thisYear: 'ឆ្នាំនេះ'\n },\n loading: {\n text: 'កំពុងផ្ទុក...'\n },\n pageHeader: {\n home: 'ទំព័រដើម'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ms-MY',\n exception: {\n 403: `Maaf, anda tidak mempunyai akses ke halaman ini`,\n 404: `Maaf, halaman yang anda lawati tidak wujud`,\n 500: `Maaf, pelayan melaporkan ralat`,\n backToHome: 'Kembali ke Laman Utama'\n },\n noticeIcon: {\n emptyText: 'Tiada data',\n clearText: 'Padam'\n },\n reuseTab: {\n close: 'Tutup tab',\n closeOther: 'Tutup tab lain',\n closeRight: 'Tutup tab di sebelah kanan',\n refresh: 'Segar semula'\n },\n tagSelect: {\n expand: 'Kembangkan',\n collapse: 'Lipat'\n },\n miniProgress: {\n target: 'Sasaran: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} daripada {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Set Semula',\n more: 'Lagi'\n },\n sf: {\n submit: 'Hantar',\n reset: 'Set Semula',\n search: 'Cari',\n edit: 'Simpan',\n addText: 'Tambah',\n removeText: 'Padam',\n checkAllText: 'Tanda semua',\n error: {\n 'false schema': `Skema boolean adalah palsu`,\n $ref: `Tidak dapat menyelesaikan rujukan {ref}`,\n additionalItems: `Tidak sepatutnya mempunyai lebih daripada {limit} item`,\n additionalProperties: `Tidak sepatutnya mempunyai sifat tambahan`,\n anyOf: `Perlu sepadan dengan beberapa skema dalam \"anyOf\"`,\n dependencies: `Perlu mempunyai sifat {deps} apabila sifat {property} wujud`,\n enum: `Perlu sama dengan salah satu nilai yang telah ditetapkan`,\n format: `Perlu sepadan dengan format \"{format}\"`,\n type: `Perlu menjadi {type}`,\n required: `Diperlukan`,\n maxLength: `Tidak boleh lebih panjang daripada {limit} aksara`,\n minLength: `Tidak boleh lebih pendek daripada {limit} aksara`,\n minimum: `Perlu {comparison} {limit}`,\n formatMinimum: `Perlu {comparison} {limit}`,\n maximum: `Perlu {comparison} {limit}`,\n formatMaximum: `Perlu {comparison} {limit}`,\n maxItems: `Tidak boleh mempunyai lebih daripada {limit} item`,\n minItems: `Tidak boleh mempunyai kurang daripada {limit} item`,\n maxProperties: `Tidak boleh mempunyai lebih daripada {limit} sifat`,\n minProperties: `Tidak boleh mempunyai kurang daripada {limit} sifat`,\n multipleOf: `Perlu menjadi gandaan bagi {multipleOf}`,\n not: `Tidak sepatutnya sah mengikut skema dalam \"not\"`,\n oneOf: `Perlu sepadan tepat dengan satu skema dalam \"oneOf\"`,\n pattern: `Perlu sepadan dengan corak \"{pattern}\"`,\n uniqueItems: `Tidak boleh mempunyai item yang sama (item ## {j} dan {i} adalah sama)`,\n custom: `Perlu sepadan dengan format`,\n propertyNames: `Nama sifat \"{propertyName}\" tidak sah`,\n patternRequired: `Perlu mempunyai sifat yang sepadan dengan corak \"{missingPattern}\"`,\n switch: `Perlu melepasi pengesahan kata kunci \"switch\", kes {caseIndex} gagal`,\n const: `Perlu sama dengan nilai tetap`,\n contains: `Perlu mengandungi item yang sah`,\n formatExclusiveMaximum: `formatExclusiveMaximum mesti boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum mesti boolean`,\n if: `Perlu sepadan dengan skema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Langkau`,\n prev: `Sebelum`,\n next: `Seterusnya`,\n done: `Selesai`\n },\n datePicker: {\n today: 'Hari Ini',\n yesterday: 'Semalam',\n last3Days: '3 Hari Lalu',\n last7Days: '7 Hari Lalu',\n thisWeek: 'Minggu Ini',\n lastWeek: 'Minggu Lalu',\n thisMonth: 'Bulan Ini',\n lastMonth: 'Bulan Lalu',\n thisYear: 'Tahun Ini'\n },\n loading: {\n text: 'Memuat...'\n },\n pageHeader: {\n home: 'Laman Utama'\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'th-TH',\n exception: {\n 403: `ขอโทษค่ะ คุณไม่มีสิทธิ์เข้าถึงหน้านี้`,\n 404: `ขอโทษค่ะ หน้าที่คุณเข้าชมไม่มีอยู่`,\n 500: `ขอโทษค่ะ เซิร์ฟเวอร์รายงานข้อผิดพลาด`,\n backToHome: 'กลับไปหน้าหลัก'\n },\n noticeIcon: {\n emptyText: 'ไม่มีข้อมูล',\n clearText: 'ล้างข้อมูล'\n },\n reuseTab: {\n close: 'ปิดแท็บ',\n closeOther: 'ปิดแท็บอื่น',\n closeRight: 'ปิดแท็บทางขวา',\n refresh: 'รีเฟรช'\n },\n tagSelect: {\n expand: 'ขยาย',\n collapse: 'ย่อ'\n },\n miniProgress: {\n target: 'เป้าหมาย: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} จาก {{total}}',\n filterConfirm: 'ตกลง',\n filterReset: 'รีเซ็ต',\n more: 'เพิ่มเติม'\n },\n sf: {\n submit: 'ส่งข้อมูล',\n reset: 'รีเซ็ต',\n search: 'ค้นหา',\n edit: 'บันทึก',\n addText: 'เพิ่ม',\n removeText: 'ลบ',\n checkAllText: 'เลือกทั้งหมด',\n error: {\n 'false schema': `สคีมาแบบบูลีนเป็นเท็จ`,\n $ref: `ไม่สามารถแก้ไขการอ้างอิง {ref} ได้`,\n additionalItems: `ไม่ควรมีมากกว่า {limit} รายการ`,\n additionalProperties: `ไม่ควรมีคุณสมบัติเพิ่มเติม`,\n anyOf: `ควรตรงกับบางสคีมาใน \"anyOf\"`,\n dependencies: `ควรมีคุณสมบัติ {deps} เมื่อมีคุณสมบัติ {property}`,\n enum: `ควรมีค่าเท่ากับค่าที่กำหนดไว้ล่วงหน้า`,\n format: `ควรตรงกับรูปแบบ \"{format}\"`,\n type: `ควรเป็น {type}`,\n required: `จำเป็นต้องกรอก`,\n maxLength: `ไม่ควรยาวเกิน {limit} ตัวอักษร`,\n minLength: `ไม่ควรสั้นกว่า {limit} ตัวอักษร`,\n minimum: `ควรเป็น {comparison} {limit}`,\n formatMinimum: `ควรเป็น {comparison} {limit}`,\n maximum: `ควรเป็น {comparison} {limit}`,\n formatMaximum: `ควรเป็น {comparison} {limit}`,\n maxItems: `ไม่ควรมีมากกว่า {limit} รายการ`,\n minItems: `ไม่ควรมีน้อยกว่า {limit} รายการ`,\n maxProperties: `ไม่ควรมีมากกว่า {limit} คุณสมบัติ`,\n minProperties: `ไม่ควรมีน้อยกว่า {limit} คุณสมบัติ`,\n multipleOf: `ควรเป็นผลคูณของ {multipleOf}`,\n not: `ไม่ควรถูกต้องตามสคีมาใน \"not\"`,\n oneOf: `ควรตรงกับเพียงหนึ่งสคีมาใน \"oneOf\"`,\n pattern: `ควรตรงกับรูปแบบ \"{pattern}\"`,\n uniqueItems: `ไม่ควรมีรายการซ้ำกัน (รายการ ## {j} และ {i} เหมือนกัน)`,\n custom: `ควรตรงกับรูปแบบ`,\n propertyNames: `ชื่อคุณสมบัติ \"{propertyName}\" ไม่ถูกต้อง`,\n patternRequired: `ควรมีคุณสมบัติที่ตรงกับรูปแบบ \"{missingPattern}\"`,\n switch: `ควรผ่านการตรวจสอบคำสำคัญ \"switch\" กรณี {caseIndex} ล้มเหลว`,\n const: `ควรเท่ากับค่าคงที่`,\n contains: `ควรมีรายการที่ถูกต้อง`,\n formatExclusiveMaximum: `formatExclusiveMaximum ควรเป็นบูลีน`,\n formatExclusiveMinimum: `formatExclusiveMinimum ควรเป็นบูลีน`,\n if: `ควรตรงกับสคีมา \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `ข้าม`,\n prev: `ก่อนหน้า`,\n next: `ถัดไป`,\n done: `เสร็จสิ้น`\n },\n datePicker: {\n today: 'วันนี้',\n yesterday: 'เมื่อวาน',\n last3Days: '3 วันที่ผ่านมา',\n last7Days: '7 วันที่ผ่านมา',\n thisWeek: 'สัปดาห์นี้',\n lastWeek: 'สัปดาห์ที่แล้ว',\n thisMonth: 'เดือนนี้',\n lastMonth: 'เดือนที่แล้ว',\n thisYear: 'ปีนี้'\n },\n loading: {\n text: 'กำลังโหลด...'\n },\n pageHeader: {\n home: 'หน้าหลัก'\n }\n} as FullLocaleData;\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { formatDate } from '@delon/util/date-time';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\n@Pipe({ name: '_date' })\nexport class DatePipe implements PipeTransform {\n private nzI18n = inject(NzI18nService);\n private cog = inject(AlainConfigService).get('themePipe');\n\n transform(value: Date | string | number, formatString?: string | null): string {\n const formatStr = formatString ?? this.cog?.dateFormat ?? 'yyyy-MM-dd HH:mm';\n\n return formatDate(value, formatStr, {\n locale: this.nzI18n.getDateLocale(),\n customFormat: this.cog?.dateFormatCustom\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * [Document](https://ng-alain.com/theme/keys)\n */\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(value: NzSafeAny, keyIsNumber: boolean = false): NzSafeAny[] {\n const ret: NzSafeAny[] = [];\n Object.keys(value).forEach(key => {\n ret.push({ key: keyIsNumber ? +key : key, value: value[key] });\n });\n return ret;\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type YNMode = 'full' | 'icon' | 'text';\n\nconst ICON_YES = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"></path></svg>`;\nconst ICON_NO = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg>`;\nconst CLS_YES = `class=\"yn__yes\"`;\nconst CLS_NO = `class=\"yn__no\"`;\n\nexport interface YNOptions {\n yes?: string;\n no?: string;\n mode?: YNMode;\n}\n\nexport function yn(value: boolean, opt?: YNOptions): string {\n let html = '';\n let { yes, no, mode } = { ...opt };\n yes = yes ?? '是';\n no = no ?? '否';\n switch (mode) {\n case 'full':\n html = value\n ? `<i ${CLS_YES}>${ICON_YES}<span>${yes}</span></i>`\n : `<i ${CLS_NO}>${ICON_NO}<span>${no}</span></i>`;\n break;\n case 'text':\n html = value ? `<i ${CLS_YES}>${yes}</i>` : `<i ${CLS_NO}>${no}</i>`;\n break;\n default:\n html = value ? `<i ${CLS_YES} title=\"${yes}\">${ICON_YES}</i>` : `<i ${CLS_NO} title=\"${no}\">${ICON_NO}</i>`;\n break;\n }\n return html;\n}\n\n@Pipe({ name: 'yn' })\nexport class YNPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(value: boolean, yes?: string, no?: string, mode?: YNMode, isSafeHtml: boolean = true): SafeHtml {\n const html = yn(value, { yes, no, mode });\n return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({ name: 'html' })\nexport class HTMLPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(html: string): string | SafeHtml {\n return html ? this.dom.bypassSecurityTrustHtml(html) : '';\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({ name: 'url' })\nexport class URLPipe implements PipeTransform {\n private readonly dom = inject(DomSanitizer);\n\n transform(url: string): string | SafeUrl {\n return url ? this.dom.bypassSecurityTrustUrl(url) : '';\n }\n}\n","/* eslint-disable import/order */\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n// #region import\n\nconst HELPERS = [ModalHelper, DrawerHelper];\n\n// pipes\nimport { BellOutline, DeleteOutline, InboxOutline, PlusOutline } from '@ant-design/icons-angular/icons';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { DelonLocaleModule } from './locale/locale.module';\nimport { DatePipe } from './pipes/date/date.pipe';\nimport { KeysPipe } from './pipes/keys/keys.pipe';\nimport { HTMLPipe } from './pipes/safe/html.pipe';\nimport { URLPipe } from './pipes/safe/url.pipe';\nimport { YNPipe } from './pipes/yn/yn.pipe';\nimport { I18nPipe } from './services/i18n/i18n.pipe';\nconst PIPES = [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe];\n\n// #endregion\n\n// #region all delon used icons\n\n// - zorro: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/icon/icons.ts\n\nimport { DrawerHelper } from './services/drawer/drawer.helper';\nimport { ModalHelper } from './services/modal/modal.helper';\nimport { ALAIN_SETTING_DEFAULT } from './services/settings/settings.service';\nconst ICONS = [BellOutline, DeleteOutline, PlusOutline, InboxOutline];\n\n// #endregion\n\n@NgModule({\n imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, ...PIPES],\n providers: [ALAIN_SETTING_DEFAULT],\n exports: [...PIPES, DelonLocaleModule]\n})\nexport class AlainThemeModule {\n constructor(iconSrv: NzIconService) {\n iconSrv.addIcon(...ICONS);\n }\n\n static forRoot(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: HELPERS\n };\n }\n\n static forChild(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: HELPERS\n };\n }\n}\n","import { registerLocaleData } from '@angular/common';\nimport {\n EnvironmentProviders,\n LOCALE_ID,\n Provider,\n Type,\n importProvidersFrom,\n inject,\n makeEnvironmentProviders,\n provideEnvironmentInitializer\n} from '@angular/core';\n\nimport type { IconDefinition } from '@ant-design/icons-angular';\nimport {\n BellOutline,\n DeleteOutline,\n InboxOutline,\n PlusOutline,\n MenuFoldOutline,\n MenuUnfoldOutline\n} from '@ant-design/icons-angular/icons';\n\nimport { ALAIN_CONFIG, AlainConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NZ_DATE_LOCALE, provideNzI18n } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\n\nimport { DELON_LOCALE, DELON_LOCALE_SERVICE_PROVIDER } from './locale';\nimport zhCN from './locale/languages/zh-CN';\nimport { ALAIN_I18N_TOKEN } from './services';\nimport { ALAIN_SETTING_DEFAULT } from './services/settings/settings.service';\n\nexport interface AlainProvideOptions {\n config?: AlainConfig;\n /**\n * Initialize default language\n *\n * 初始化默认语言\n */\n defaultLang?: AlainProvideLang;\n i18nClass?: Type<NzSafeAny>;\n icons?: IconDefinition[];\n}\n\nexport interface AlainProvideLang {\n abbr: string;\n ng: NzSafeAny;\n zorro: NzSafeAny;\n date: NzSafeAny;\n delon: NzSafeAny;\n}\n\nexport function provideAlain(options: AlainProvideOptions): EnvironmentProviders {\n const lang = options?.defaultLang;\n const provides: Array<Provider | EnvironmentProviders> = [\n { provide: ALAIN_CONFIG, useValue: options?.config },\n { provide: DELON_LOCALE, useValue: lang?.delon ?? zhCN },\n DELON_LOCALE_SERVICE_PROVIDER,\n importProvidersFrom([NzDrawerModule, NzModalModule]),\n ALAIN_SETTING_DEFAULT\n ];\n if (lang) {\n registerLocaleData(lang.ng, lang.abbr);\n provides.push({ provide: LOCALE_ID, useValue: lang.abbr }, provideNzI18n(lang.zorro), {\n provide: NZ_DATE_LOCALE,\n useValue: lang.date\n });\n }\n\n const i18nCls = options?.i18nClass;\n if (i18nCls) {\n provides.push({ provide: ALAIN_I18N_TOKEN, useClass: i18nCls, multi: false });\n }\n\n const icons: IconDefinition[] = [\n BellOutline,\n DeleteOutline,\n PlusOutline,\n InboxOutline,\n MenuFoldOutline,\n MenuUnfoldOutline,\n ...(options.icons ?? [])\n ];\n provides.push(\n provideEnvironmentInitializer(() => {\n inject(NzIconService, { optional: true })?.addIcon(...icons);\n })\n );\n return makeEnvironmentProviders(provides);\n}\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of, catchError } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * Optional pre-loading module, when it's necessary to load the resource at the first page load for some lazy routes, [example](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts).\n *\n * 可选预加载模块,当需要对某些懒路由在第一次页面加载时也一并加载该资源时,[示例](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts)。\n *\n * @example\n * {AT}NgModule({\n * providers: [PreloadOptionalModules],\n * imports: [\n * RouterModule.forRoot([\n * { path: '', loadChildren: null, data: { preload: true } }\n * ], { preloadingStrategy: PreloadOptionalModules})]\n * })\n */\nexport class PreloadOptionalModules implements PreloadingStrategy {\n preload(route: Route, fn: () => Observable<NzSafeAny>): Observable<NzSafeAny> {\n return route.data?.preload === true ? fn().pipe(catchError(() => of(null))) : of(null);\n }\n}\n","import { Version } from '@angular/core';\n\nexport const VERSION = new Version('21.0.0-next.1');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}