@shival99/z-ui 1.3.1 → 1.3.3

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.
@@ -526,7 +526,7 @@ function zRegisterEchartsTheme(options = {}) {
526
526
  * @param form - FormGroup or FormArray to submit
527
527
  * @returns true if form is valid, false otherwise
528
528
  */
529
- const zSubmitForm = (form) => {
529
+ const zValidForm = (form) => {
530
530
  if (form.invalid) {
531
531
  markFormAsInvalid(form);
532
532
  return false;
@@ -596,5 +596,5 @@ const zDebugFormInvalid = (form, parentKey = '') => {
596
596
  * Generated bundle index. Do not edit.
597
597
  */
598
598
 
599
- export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zSubmitForm, zTransform, zTreeBuild, zTreeFlatten, zUuid };
599
+ export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zTransform, zTreeBuild, zTreeFlatten, zUuid, zValidForm };
600
600
  //# sourceMappingURL=shival99-z-ui-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-utils.mjs","sources":["../../../../libs/core-ui/utils/types/z-common.types.ts","../../../../libs/core-ui/utils/z-common.utils.ts","../../../../libs/core-ui/utils/z-echarts.utils.ts","../../../../libs/core-ui/utils/z-form.utils.ts","../../../../libs/core-ui/utils/types/index.ts","../../../../libs/core-ui/utils/index.ts","../../../../libs/core-ui/utils/shival99-z-ui-utils.ts"],"sourcesContent":["export type ZBrowserName = 'Chrome' | 'Edge' | 'Firefox' | 'Safari' | 'Opera' | 'IE' | 'Unknown' | string;\n\nexport type ZDeviceType = 'mobile' | 'tablet' | 'desktop';\nexport interface ZBrowserInfo {\n name: ZBrowserName;\n version: string;\n agent: string;\n device: ZDeviceType;\n time: string;\n}\n\nexport interface ZNavigatorUABrandVersion {\n brand: string;\n version: string;\n}\n\nexport interface ZNavigatorUAData {\n brands: ZNavigatorUABrandVersion[];\n mobile: boolean;\n platform: string;\n}\n\nexport type ZNumberDivide = 'none' | 'thousand' | 'million' | 'billion';\nexport type ZEmptyCheck = 'strict' | 'includeZero';\n\nexport const Z_DIVIDE_SCALE: Record<ZNumberDivide, number> = {\n none: 1,\n thousand: 1_000,\n million: 1_000_000,\n billion: 1_000_000_000,\n};\n\nexport const Z_LOCALE_MAP: Record<string, string> = {\n vi: 'vi-VN',\n en: 'en-US',\n};\n\nexport interface ZFormatNumOptions {\n divide?: ZNumberDivide;\n format?: string;\n percent?: boolean;\n emptyCheck?: ZEmptyCheck;\n locale?: string;\n placeholder?: string;\n}\n\nexport const Z_EXCEL_NUMBER_FORMAT_MAP: Record<string, string> = {\n '1.0-0': '#,##0',\n '1.0-1': '#,##0.0',\n '1.0-2': '#,##0.00',\n '1.0-3': '#,##0.000',\n '1.1-1': '#,##0.0',\n '1.1-2': '#,##0.00',\n '1.1-3': '#,##0.000',\n '1.2-2': '#,##0.00',\n};\n\nexport interface ZFormatNumExcelOptions {\n divide?: ZNumberDivide;\n format?: string;\n percent?: boolean;\n emptyCheck?: ZEmptyCheck;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n interface Navigator {\n userAgentData?: ZNavigatorUAData;\n }\n}\n\nexport type ZCapitalizeType = 'all' | 'sentence' | 'first';\n","import { isSignal, type WritableSignal } from '@angular/core';\nimport { type ClassValue, clsx } from 'clsx';\nimport type * as ExcelJS from 'exceljs';\nimport MiniSearch from 'minisearch';\nimport { delay, finalize, type Observable, of } from 'rxjs';\nimport { twMerge } from 'tailwind-merge';\nimport {\n type ZDeviceType,\n type ZBrowserInfo,\n type ZNavigatorUABrandVersion,\n type ZFormatNumOptions,\n type ZFormatNumExcelOptions,\n Z_DIVIDE_SCALE,\n Z_LOCALE_MAP,\n Z_EXCEL_NUMBER_FORMAT_MAP,\n type ZCapitalizeType,\n} from './types/z-common.types';\n\nexport const zMergeClasses = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n\nexport const zTransform = (value: boolean | string): boolean => {\n if (typeof value === 'string') {\n return value === '';\n }\n if (typeof value === 'number') {\n return value === 0;\n }\n return value;\n};\n\nexport const zUuid = (prefix = ''): string => {\n const id = crypto.randomUUID();\n return prefix ? `${prefix}-${id}` : id;\n};\n\nexport const zNoop = () => void 0;\n\nexport const zFormatNum = (value: unknown, options: ZFormatNumOptions = {}): string => {\n const {\n divide = 'none',\n format = '1.0-2',\n percent = false,\n emptyCheck = 'strict',\n locale = 'vi',\n placeholder = '-',\n } = options;\n\n if (value === null || value === undefined) {\n return placeholder;\n }\n\n const numValue = Number(value);\n\n if (Number.isNaN(numValue)) {\n return placeholder;\n }\n\n if (emptyCheck === 'includeZero' && numValue === 0) {\n return placeholder;\n }\n\n const scaledValue = numValue / Z_DIVIDE_SCALE[divide];\n const matched = format.match(/1\\.(\\d)-(\\d)/);\n const minDigits = matched ? parseInt(matched[1], 10) : 0;\n const maxDigits = matched ? parseInt(matched[2], 10) : 2;\n\n const lang = document.documentElement.lang || locale;\n const formatted = new Intl.NumberFormat(Z_LOCALE_MAP[lang] || 'vi-VN', {\n minimumFractionDigits: minDigits,\n maximumFractionDigits: maxDigits,\n }).format(scaledValue);\n\n return percent ? `${formatted}%` : formatted;\n};\n\nexport const zFormatNumExcel = (\n cell: ExcelJS.Cell | undefined,\n value: unknown,\n options: ZFormatNumExcelOptions = {}\n): number | undefined => {\n const { divide = 'none', format = '1.0-1', percent = false, emptyCheck = 'strict' } = options;\n if (value === null || value === undefined || value === '') {\n return undefined;\n }\n\n const numValue = Number(value);\n\n if (Number.isNaN(numValue)) {\n return undefined;\n }\n\n if (emptyCheck === 'includeZero' && numValue === 0) {\n return undefined;\n }\n\n const scaledValue = numValue / Z_DIVIDE_SCALE[divide];\n let numFmt = Z_EXCEL_NUMBER_FORMAT_MAP[format] || '#,##0.0';\n\n if (percent) {\n numFmt = numFmt + '\"%\"';\n }\n\n if (cell) {\n cell.value = '\\u200B' + scaledValue;\n cell.numFmt = numFmt;\n }\n\n return scaledValue;\n};\n\nexport const zCapitalCase = (text: string, type: ZCapitalizeType = 'first'): string => {\n if (!text) {\n return '';\n }\n\n switch (type) {\n case 'all':\n return text.toUpperCase();\n\n case 'sentence':\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();\n\n case 'first':\n default:\n return text\n .toLowerCase()\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n};\n\nexport const zDecodeUnicode = (str: string): string => {\n if (!str) {\n return '';\n }\n\n str = str.replace(/\\\\\\\\u/g, '\\\\u');\n str = str.replace(/\\\\u([\\dA-Fa-f]{4})/g, (_, g1) => String.fromCharCode(parseInt(g1, 16)));\n str = str.replace(/(^|[^\\\\])u([\\dA-Fa-f]{4})/g, (_, p1, g1) => p1 + String.fromCharCode(parseInt(g1, 16)));\n\n return str.replace(/([\\uD800-\\uDBFF])([\\uDC00-\\uDFFF])/g, (_, high, low) => {\n const hi = high.charCodeAt(0);\n const lo = low.charCodeAt(0);\n const codePoint = (hi - 0xd800) * 0x400 + (lo - 0xdc00) + 0x10000;\n return String.fromCodePoint(codePoint);\n });\n};\n\nexport const zRandomColor = (): { hex: string; rgb: string; hsl: string } => {\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 40) + 60;\n const l = Math.floor(Math.random() * 20) + 60;\n const hsl = `hsl(${h}, ${s}%, ${l}%)`;\n\n const a = s / 100;\n const b = l / 100;\n const c = (1 - Math.abs(2 * b - 1)) * a;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = b - c / 2;\n\n const hueSegment = Math.floor(h / 60) % 6;\n const rgbMap: [number, number, number][] = [\n [c, x, 0],\n [x, c, 0],\n [0, c, x],\n [0, x, c],\n [x, 0, c],\n [c, 0, x],\n ];\n const [r, g, bl] = rgbMap[hueSegment];\n\n const R = Math.round((r + m) * 255);\n const G = Math.round((g + m) * 255);\n const B = Math.round((bl + m) * 255);\n\n const rgb = `rgb(${R}, ${G}, ${B})`;\n const toHex = (n: number) => n.toString(16).padStart(2, '0');\n const hex = `#${toHex(R)}${toHex(G)}${toHex(B)}`;\n\n return { hex, rgb, hsl };\n};\n\nexport const zConvertColorToArgb = (color: string): string => {\n if (color.startsWith('#')) {\n return 'FF' + color.substring(1).toUpperCase();\n }\n\n if (color.startsWith('rgb')) {\n const matches = color.match(/\\d+/g);\n if (matches && matches.length >= 3) {\n const r = parseInt(matches[0]).toString(16).padStart(2, '0');\n const g = parseInt(matches[1]).toString(16).padStart(2, '0');\n const b = parseInt(matches[2]).toString(16).padStart(2, '0');\n return `FF${r}${g}${b}`.toUpperCase();\n }\n }\n\n return 'FF000000';\n};\n\nexport const zCleanObject = <T = unknown>(obj: T): T => {\n if (obj !== Object(obj)) {\n return obj;\n }\n\n return Object.entries(obj as Record<string, unknown>).reduce(\n (acc, [key, value]) => {\n if (value === null || value === undefined) {\n return acc;\n }\n\n const cleaned = zCleanObject(value);\n if (\n cleaned !== null &&\n cleaned !== undefined &&\n (typeof cleaned !== 'object' || Object.keys(cleaned).length > 0)\n ) {\n (acc as Record<string, unknown>)[key] = cleaned;\n }\n\n return acc;\n },\n {} as Record<string, unknown>\n ) as T;\n};\n\nexport const zTreeFlatten = <T extends Record<string, unknown>>(\n list: T[],\n keyMap: keyof T,\n parentKeyMap: keyof T,\n sortFn?: (a: T, b: T) => number\n): (T & { level: number; parentsKey: string[] })[] => {\n const sortedList = sortFn ? [...list].sort(sortFn) : list;\n const byParent: Record<string, T[]> = {};\n\n for (const item of sortedList) {\n const parentKey = (item[parentKeyMap] as string) ?? 'root';\n if (!byParent[parentKey]) {\n byParent[parentKey] = [];\n }\n byParent[parentKey].push(item);\n }\n\n const flatten = (\n parentKey: string | null,\n level: number,\n parentsKey: string[]\n ): (T & { level: number; parentsKey: string[] })[] => {\n const children = byParent[parentKey ?? 'root'] || [];\n return children.flatMap(child => {\n const keyVal = String(child[keyMap]);\n const newParents = [...parentsKey, keyVal];\n return [{ ...child, level, parentsKey }, ...flatten(keyVal, level + 1, newParents)];\n });\n };\n\n return flatten(null, 0, []);\n};\n\nexport const zTreeBuild = <T extends Record<string, unknown>>(\n list: T[],\n keyMap: keyof T,\n parentKeyMap: keyof T,\n sortFn?: (a: T, b: T) => number\n): (T & { level: number; parentsKey: string[]; children: unknown[] })[] => {\n const sortedList = sortFn ? [...list].sort(sortFn) : list;\n const byParent: Record<string, T[]> = {};\n\n for (const item of sortedList) {\n const parentKey = (item[parentKeyMap] as string) ?? 'root';\n if (!byParent[parentKey]) {\n byParent[parentKey] = [];\n }\n byParent[parentKey].push(item);\n }\n\n const buildTree = (\n parentKey: string | null,\n level: number,\n parentsKey: string[]\n ): (T & { level: number; parentsKey: string[]; children: unknown[] })[] => {\n const children = byParent[parentKey ?? 'root'] || [];\n return children.map(child => {\n const keyVal = String(child[keyMap]);\n const newParents = [...parentsKey, keyVal];\n return {\n ...child,\n level,\n parentsKey,\n children: buildTree(keyVal, level + 1, newParents),\n };\n });\n };\n\n return buildTree(null, 0, []);\n};\n\nexport const VIETNAMESE_MAP: Record<string, string> = {\n à: 'a',\n á: 'a',\n ạ: 'a',\n ả: 'a',\n ã: 'a',\n â: 'a',\n ầ: 'a',\n ấ: 'a',\n ậ: 'a',\n ẩ: 'a',\n ẫ: 'a',\n ă: 'a',\n ằ: 'a',\n ắ: 'a',\n ặ: 'a',\n ẳ: 'a',\n ẵ: 'a',\n è: 'e',\n é: 'e',\n ẹ: 'e',\n ẻ: 'e',\n ẽ: 'e',\n ê: 'e',\n ề: 'e',\n ế: 'e',\n ệ: 'e',\n ể: 'e',\n ễ: 'e',\n ì: 'i',\n í: 'i',\n ị: 'i',\n ỉ: 'i',\n ĩ: 'i',\n ò: 'o',\n ó: 'o',\n ọ: 'o',\n ỏ: 'o',\n õ: 'o',\n ô: 'o',\n ồ: 'o',\n ố: 'o',\n ộ: 'o',\n ổ: 'o',\n ỗ: 'o',\n ơ: 'o',\n ờ: 'o',\n ớ: 'o',\n ợ: 'o',\n ở: 'o',\n ỡ: 'o',\n ù: 'u',\n ú: 'u',\n ụ: 'u',\n ủ: 'u',\n ũ: 'u',\n ư: 'u',\n ừ: 'u',\n ứ: 'u',\n ự: 'u',\n ử: 'u',\n ữ: 'u',\n ỳ: 'y',\n ý: 'y',\n ỵ: 'y',\n ỷ: 'y',\n ỹ: 'y',\n đ: 'd',\n À: 'A',\n Á: 'A',\n Ạ: 'A',\n Ả: 'A',\n Ã: 'A',\n Â: 'A',\n Ầ: 'A',\n Ấ: 'A',\n Ậ: 'A',\n Ẩ: 'A',\n Ẫ: 'A',\n Ă: 'A',\n Ằ: 'A',\n Ắ: 'A',\n Ặ: 'A',\n Ẳ: 'A',\n Ẵ: 'A',\n È: 'E',\n É: 'E',\n Ẹ: 'E',\n Ẻ: 'E',\n Ẽ: 'E',\n Ê: 'E',\n Ề: 'E',\n Ế: 'E',\n Ệ: 'E',\n Ể: 'E',\n Ễ: 'E',\n Ì: 'I',\n Í: 'I',\n Ị: 'I',\n Ỉ: 'I',\n Ĩ: 'I',\n Ò: 'O',\n Ó: 'O',\n Ọ: 'O',\n Ỏ: 'O',\n Õ: 'O',\n Ô: 'O',\n Ồ: 'O',\n Ố: 'O',\n Ộ: 'O',\n Ổ: 'O',\n Ỗ: 'O',\n Ơ: 'O',\n Ờ: 'O',\n Ớ: 'O',\n Ợ: 'O',\n Ở: 'O',\n Ỡ: 'O',\n Ù: 'U',\n Ú: 'U',\n Ụ: 'U',\n Ủ: 'U',\n Ũ: 'U',\n Ư: 'U',\n Ừ: 'U',\n Ứ: 'U',\n Ự: 'U',\n Ử: 'U',\n Ữ: 'U',\n Ỳ: 'Y',\n Ý: 'Y',\n Ỵ: 'Y',\n Ỷ: 'Y',\n Ỹ: 'Y',\n Đ: 'D',\n};\n\nexport const zRemoveVietnamese = (str: string): string =>\n str\n .split('')\n .map(char => VIETNAMESE_MAP[char] || char)\n .join('');\n\nconst getDeepValue = (obj: unknown, path: string): string => {\n try {\n const value = path.split('.').reduce((acc: unknown, key: string) => {\n if (acc && typeof acc === 'object' && key in acc) {\n return (acc as Record<string, unknown>)[key];\n }\n return '';\n }, obj);\n\n if (Array.isArray(value)) {\n return value.map(v => String(v)).join(' ');\n }\n\n return value as string;\n } catch {\n return '';\n }\n};\n\nexport const zMiniSearch = <T>(\n data: T[],\n query: string,\n fields: (keyof T | string)[],\n idField?: keyof T | string\n): T[] => {\n if (!query) {\n return data;\n }\n\n const fieldStrings = fields.map(f => String(f));\n const idFieldString = idField ? String(idField) : '_index';\n const useCustomId = !!idField;\n\n const flatData = data.map((item, index) => ({\n ...item,\n ...(!useCustomId && { _index: index }),\n ...Object.fromEntries(fieldStrings.map(field => [field, getDeepValue(item, field)])),\n }));\n\n const search = new MiniSearch({\n idField: idFieldString,\n fields: fieldStrings,\n storeFields: [idFieldString],\n tokenize: (text: string) =>\n zRemoveVietnamese(text.toLowerCase())\n .split(/[\\s@.\\-_]+/)\n .filter(Boolean),\n processTerm: (term: string) => zRemoveVietnamese(term.toLowerCase()),\n });\n\n search.addAll(flatData);\n const results = search.search(query, { prefix: true });\n\n if (useCustomId) {\n const resultIds = new Set(results.map(result => result.id));\n return data.filter(item => resultIds.has((item as Record<string, unknown>)[idFieldString]));\n }\n\n return results.map(result => data[(result as unknown as { _index: number })._index]);\n};\n\nexport const zMiniSearch$ = <T>(\n data: T[],\n query: string,\n fields: (keyof T | string)[],\n options?: {\n idField?: keyof T | string;\n loading?: WritableSignal<boolean>;\n fakeDelay?: number;\n }\n): Observable<T[]> => {\n const { idField, loading, fakeDelay = 200 } = options ?? {};\n\n if (loading && isSignal(loading)) {\n loading.set(true);\n }\n\n return of(zMiniSearch(data, query, fields, idField)).pipe(\n delay(fakeDelay),\n finalize(() => {\n if (loading && isSignal(loading)) {\n loading.set(false);\n }\n })\n );\n};\n\nconst _detectDevice = (ua: string): ZDeviceType => {\n if (/Mobi|Android.*Mobile|iPhone|iPod|BlackBerry|IEMobile/i.test(ua)) {\n return 'mobile';\n }\n if (/iPad|Android(?!.*Mobile)|Tablet/i.test(ua)) {\n return 'tablet';\n }\n return 'desktop';\n};\n\nexport const zDetectBrowser = (): ZBrowserInfo => {\n const ua = navigator.userAgent;\n const result: ZBrowserInfo = {\n name: 'Unknown',\n version: '',\n agent: ua,\n device: _detectDevice(ua),\n time: new Date().toISOString(),\n };\n\n if (!navigator.userAgentData) {\n return result;\n }\n\n const brands = navigator.userAgentData.brands || [];\n const isMobile = navigator.userAgentData.mobile;\n\n if (isMobile) {\n result.device = 'mobile';\n }\n\n const mainBrand = brands.find(\n (b: ZNavigatorUABrandVersion) => !['Chromium', 'Not_A Brand', 'Not A;Brand', 'Not/A)Brand'].includes(b.brand)\n );\n\n if (mainBrand) {\n result.name = mainBrand.brand.replace('Google ', '');\n result.version = mainBrand.version;\n return result;\n }\n\n const chromium = brands.find((b: ZNavigatorUABrandVersion) => b.brand === 'Chromium');\n if (chromium) {\n result.name = 'Chrome';\n result.version = chromium.version;\n }\n\n return result;\n};\n","import * as echarts from 'echarts';\nimport type { ZEchartsThemeOptions } from './types/z-echarts.types';\n\nconst Z_ECHARTS_DEFAULT_FONT = `'Lexend', 'Arial', 'Helvetica', 'sans-serif'`;\n\n/**\n * Register custom Z-UI theme for ECharts\n * @param options - Theme configuration options\n */\nexport function zRegisterEchartsTheme(options: ZEchartsThemeOptions = {}): void {\n const { themeName = 'zTheme', fontFamily = Z_ECHARTS_DEFAULT_FONT } = options;\n\n echarts.registerTheme(themeName, {\n textStyle: {\n fontFamily,\n color: '#333',\n },\n title: {\n textStyle: {\n fontFamily,\n fontWeight: '450',\n },\n },\n legend: {\n textStyle: {\n fontFamily,\n fontSize: 13,\n color: '#333',\n },\n },\n tooltip: {\n textStyle: {\n fontFamily,\n color: '#333',\n fontSize: 13,\n },\n },\n axisPointer: {\n lineStyle: { color: '#999' },\n crossStyle: { color: '#999' },\n },\n categoryAxis: {\n axisLine: { lineStyle: { color: '#ccc' } },\n axisTick: { lineStyle: { color: '#ccc' } },\n axisLabel: {\n fontFamily,\n color: '#444',\n fontSize: 12,\n },\n splitLine: { show: false },\n },\n valueAxis: {\n axisLine: { lineStyle: { color: '#ccc' } },\n axisTick: { lineStyle: { color: '#ccc' } },\n axisLabel: {\n fontFamily,\n color: '#444',\n fontSize: 12,\n },\n splitLine: { lineStyle: { color: '#eee' } },\n },\n });\n}\n","import { FormArray, FormGroup } from '@angular/forms';\n\n/**\n * Submit form and mark invalid controls as dirty (supports nested FormArray/FormGroup)\n * @param form - FormGroup or FormArray to submit\n * @returns true if form is valid, false otherwise\n */\nexport const zSubmitForm = (form: FormGroup | FormArray): boolean => {\n if (form.invalid) {\n markFormAsInvalid(form);\n return false;\n }\n\n return true;\n};\n\n/**\n * Recursively mark invalid controls as dirty (handles nested FormArray/FormGroup)\n */\nconst markFormAsInvalid = (form: FormGroup | FormArray): void => {\n Object.values(form.controls).forEach(control => {\n if (control instanceof FormArray) {\n markFormAsInvalid(control);\n return;\n }\n\n if (control instanceof FormGroup) {\n markFormAsInvalid(control);\n return;\n }\n\n if (control?.invalid) {\n control.markAsDirty();\n control.updateValueAndValidity({ onlySelf: true });\n }\n });\n};\n\n/**\n * Debug invalid form controls by logging to console\n * @param form - FormGroup to debug\n * @param parentKey - Parent key for nested controls\n */\nexport const zDebugFormInvalid = (form: FormGroup, parentKey = ''): void => {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const controlPath = parentKey ? `${parentKey}.${key}` : key;\n\n if (control instanceof FormGroup) {\n zDebugFormInvalid(control, controlPath);\n return;\n }\n\n if (control instanceof FormArray) {\n control.controls.forEach((ctrl, index) => {\n const arrayPath = `${controlPath}[${index}]`;\n\n if (ctrl instanceof FormGroup) {\n zDebugFormInvalid(ctrl, arrayPath);\n return;\n }\n\n if (ctrl?.invalid) {\n console.log(`❌ Field: ${arrayPath}`, ctrl.errors);\n }\n });\n return;\n }\n\n if (control?.invalid) {\n console.log(`❌ Field: ${controlPath}`, control.errors);\n }\n });\n};\n","/**\n * Utils types index\n */\n\nexport * from './z-common.types';\nexport * from './z-echarts.types';\nexport * from './z-form.types';\n","/**\n * Utils index\n */\n\nexport * from './z-common.utils';\nexport * from './z-echarts.utils';\nexport * from './z-form.utils';\n\n// Export all types\nexport * from './types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAyBO,MAAM,cAAc,GAAkC;AAC3D,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,aAAa;;AAGjB,MAAM,YAAY,GAA2B;AAClD,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;;AAYN,MAAM,yBAAyB,GAA2B;AAC/D,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,OAAO,EAAE,UAAU;;;ACpCd,MAAM,aAAa,GAAG,CAAC,GAAG,MAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAEvE,MAAM,UAAU,GAAG,CAAC,KAAuB,KAAa;AAC7D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,KAAK,EAAE;IACrB;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,KAAK,CAAC;IACpB;AACA,IAAA,OAAO,KAAK;AACd;MAEa,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,KAAY;AAC3C,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE;AAC9B,IAAA,OAAO,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,GAAG,EAAE;AACxC;MAEa,KAAK,GAAG,MAAM,KAAK;AAEzB,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,OAAA,GAA6B,EAAE,KAAY;IACpF,MAAM,EACJ,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,QAAQ,EACrB,MAAM,GAAG,IAAI,EACb,WAAW,GAAG,GAAG,GAClB,GAAG,OAAO;IAEX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACzC,QAAA,OAAO,WAAW;IACpB;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE9B,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC1B,QAAA,OAAO,WAAW;IACpB;IAEA,IAAI,UAAU,KAAK,aAAa,IAAI,QAAQ,KAAK,CAAC,EAAE;AAClD,QAAA,OAAO,WAAW;IACpB;IAEA,MAAM,WAAW,GAAG,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACxD,IAAA,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IAExD,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,MAAM;AACpD,IAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE;AACrE,QAAA,qBAAqB,EAAE,SAAS;AAChC,QAAA,qBAAqB,EAAE,SAAS;AACjC,KAAA,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAEtB,OAAO,OAAO,GAAG,CAAA,EAAG,SAAS,CAAA,CAAA,CAAG,GAAG,SAAS;AAC9C;AAEO,MAAM,eAAe,GAAG,CAC7B,IAA8B,EAC9B,KAAc,EACd,OAAA,GAAkC,EAAE,KACd;AACtB,IAAA,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,OAAO;AAC7F,IAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;AACzD,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE9B,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC1B,QAAA,OAAO,SAAS;IAClB;IAEA,IAAI,UAAU,KAAK,aAAa,IAAI,QAAQ,KAAK,CAAC,EAAE;AAClD,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,WAAW,GAAG,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;IACrD,IAAI,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,SAAS;IAE3D,IAAI,OAAO,EAAE;AACX,QAAA,MAAM,GAAG,MAAM,GAAG,KAAK;IACzB;IAEA,IAAI,IAAI,EAAE;AACR,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,WAAW;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;AAEA,IAAA,OAAO,WAAW;AACpB;AAEO,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAA,GAAwB,OAAO,KAAY;IACpF,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,EAAE;IACX;IAEA,QAAQ,IAAI;AACV,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE;AAE3B,QAAA,KAAK,UAAU;AACb,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAEnE,QAAA,KAAK,OAAO;AACZ,QAAA;AACE,YAAA,OAAO;AACJ,iBAAA,WAAW;iBACX,KAAK,CAAC,GAAG;iBACT,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACxD,IAAI,CAAC,GAAG,CAAC;;AAElB;AAEO,MAAM,cAAc,GAAG,CAAC,GAAW,KAAY;IACpD,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,EAAE;IACX;IAEA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;IAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1F,IAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1G,IAAA,OAAO,GAAG,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAI;QACzE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5B,QAAA,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,OAAO;AACjE,QAAA,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;AACxC,IAAA,CAAC,CAAC;AACJ;AAEO,MAAM,YAAY,GAAG,MAAgD;AAC1E,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;AAC7C,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;IAC7C,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,CAAC,KAAK,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,EAAA,CAAI;AAErC,IAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG;AACjB,IAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG;AACjB,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAEnB,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;AACzC,IAAA,MAAM,MAAM,GAA+B;AACzC,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,QAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACV;AACD,IAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;AAErC,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACnC,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACnC,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;IAEpC,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,CAAC,KAAK,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA,CAAA,CAAG;IACnC,MAAM,KAAK,GAAG,CAAC,CAAS,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC5D,IAAA,MAAM,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAC,CAAC,CAAC,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AAEhD,IAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1B;AAEO,MAAM,mBAAmB,GAAG,CAAC,KAAa,KAAY;AAC3D,IAAA,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACzB,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;IAChD;AAEA,IAAA,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5D,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5D,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5D,OAAO,CAAA,EAAA,EAAK,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC,WAAW,EAAE;QACvC;IACF;AAEA,IAAA,OAAO,UAAU;AACnB;AAEO,MAAM,YAAY,GAAG,CAAc,GAAM,KAAO;AACrD,IAAA,IAAI,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QACpB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACzC,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;QACnC,IACE,OAAO,KAAK,IAAI;AAChB,YAAA,OAAO,KAAK,SAAS;AACrB,aAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAChE;AACC,YAAA,GAA+B,CAAC,GAAG,CAAC,GAAG,OAAO;QACjD;AAEA,QAAA,OAAO,GAAG;IACZ,CAAC,EACD,EAA6B,CACzB;AACR;AAEO,MAAM,YAAY,GAAG,CAC1B,IAAS,EACT,MAAe,EACf,YAAqB,EACrB,MAA+B,KACoB;AACnD,IAAA,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IACzD,MAAM,QAAQ,GAAwB,EAAE;AAExC,IAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC7B,MAAM,SAAS,GAAI,IAAI,CAAC,YAAY,CAAY,IAAI,MAAM;AAC1D,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACxB,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QAC1B;QACA,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC;IAEA,MAAM,OAAO,GAAG,CACd,SAAwB,EACxB,KAAa,EACb,UAAoB,KAC+B;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE;AACpD,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAG;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC;YAC1C,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AACrF,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC7B;AAEO,MAAM,UAAU,GAAG,CACxB,IAAS,EACT,MAAe,EACf,YAAqB,EACrB,MAA+B,KACyC;AACxE,IAAA,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IACzD,MAAM,QAAQ,GAAwB,EAAE;AAExC,IAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC7B,MAAM,SAAS,GAAI,IAAI,CAAC,YAAY,CAAY,IAAI,MAAM;AAC1D,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACxB,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QAC1B;QACA,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC;IAEA,MAAM,SAAS,GAAG,CAChB,SAAwB,EACxB,KAAa,EACb,UAAoB,KACoD;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE;AACpD,QAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAG;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC;YAC1C,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,UAAU;gBACV,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC;aACnD;AACH,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/B;AAEO,MAAM,cAAc,GAA2B;AACpD,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAA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"}
1
+ {"version":3,"file":"shival99-z-ui-utils.mjs","sources":["../../../../libs/core-ui/utils/types/z-common.types.ts","../../../../libs/core-ui/utils/z-common.utils.ts","../../../../libs/core-ui/utils/z-echarts.utils.ts","../../../../libs/core-ui/utils/z-form.utils.ts","../../../../libs/core-ui/utils/types/index.ts","../../../../libs/core-ui/utils/index.ts","../../../../libs/core-ui/utils/shival99-z-ui-utils.ts"],"sourcesContent":["export type ZBrowserName = 'Chrome' | 'Edge' | 'Firefox' | 'Safari' | 'Opera' | 'IE' | 'Unknown' | string;\n\nexport type ZDeviceType = 'mobile' | 'tablet' | 'desktop';\nexport interface ZBrowserInfo {\n name: ZBrowserName;\n version: string;\n agent: string;\n device: ZDeviceType;\n time: string;\n}\n\nexport interface ZNavigatorUABrandVersion {\n brand: string;\n version: string;\n}\n\nexport interface ZNavigatorUAData {\n brands: ZNavigatorUABrandVersion[];\n mobile: boolean;\n platform: string;\n}\n\nexport type ZNumberDivide = 'none' | 'thousand' | 'million' | 'billion';\nexport type ZEmptyCheck = 'strict' | 'includeZero';\n\nexport const Z_DIVIDE_SCALE: Record<ZNumberDivide, number> = {\n none: 1,\n thousand: 1_000,\n million: 1_000_000,\n billion: 1_000_000_000,\n};\n\nexport const Z_LOCALE_MAP: Record<string, string> = {\n vi: 'vi-VN',\n en: 'en-US',\n};\n\nexport interface ZFormatNumOptions {\n divide?: ZNumberDivide;\n format?: string;\n percent?: boolean;\n emptyCheck?: ZEmptyCheck;\n locale?: string;\n placeholder?: string;\n}\n\nexport const Z_EXCEL_NUMBER_FORMAT_MAP: Record<string, string> = {\n '1.0-0': '#,##0',\n '1.0-1': '#,##0.0',\n '1.0-2': '#,##0.00',\n '1.0-3': '#,##0.000',\n '1.1-1': '#,##0.0',\n '1.1-2': '#,##0.00',\n '1.1-3': '#,##0.000',\n '1.2-2': '#,##0.00',\n};\n\nexport interface ZFormatNumExcelOptions {\n divide?: ZNumberDivide;\n format?: string;\n percent?: boolean;\n emptyCheck?: ZEmptyCheck;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n interface Navigator {\n userAgentData?: ZNavigatorUAData;\n }\n}\n\nexport type ZCapitalizeType = 'all' | 'sentence' | 'first';\n","import { isSignal, type WritableSignal } from '@angular/core';\nimport { type ClassValue, clsx } from 'clsx';\nimport type * as ExcelJS from 'exceljs';\nimport MiniSearch from 'minisearch';\nimport { delay, finalize, type Observable, of } from 'rxjs';\nimport { twMerge } from 'tailwind-merge';\nimport {\n type ZDeviceType,\n type ZBrowserInfo,\n type ZNavigatorUABrandVersion,\n type ZFormatNumOptions,\n type ZFormatNumExcelOptions,\n Z_DIVIDE_SCALE,\n Z_LOCALE_MAP,\n Z_EXCEL_NUMBER_FORMAT_MAP,\n type ZCapitalizeType,\n} from './types/z-common.types';\n\nexport const zMergeClasses = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n\nexport const zTransform = (value: boolean | string): boolean => {\n if (typeof value === 'string') {\n return value === '';\n }\n if (typeof value === 'number') {\n return value === 0;\n }\n return value;\n};\n\nexport const zUuid = (prefix = ''): string => {\n const id = crypto.randomUUID();\n return prefix ? `${prefix}-${id}` : id;\n};\n\nexport const zNoop = () => void 0;\n\nexport const zFormatNum = (value: unknown, options: ZFormatNumOptions = {}): string => {\n const {\n divide = 'none',\n format = '1.0-2',\n percent = false,\n emptyCheck = 'strict',\n locale = 'vi',\n placeholder = '-',\n } = options;\n\n if (value === null || value === undefined) {\n return placeholder;\n }\n\n const numValue = Number(value);\n\n if (Number.isNaN(numValue)) {\n return placeholder;\n }\n\n if (emptyCheck === 'includeZero' && numValue === 0) {\n return placeholder;\n }\n\n const scaledValue = numValue / Z_DIVIDE_SCALE[divide];\n const matched = format.match(/1\\.(\\d)-(\\d)/);\n const minDigits = matched ? parseInt(matched[1], 10) : 0;\n const maxDigits = matched ? parseInt(matched[2], 10) : 2;\n\n const lang = document.documentElement.lang || locale;\n const formatted = new Intl.NumberFormat(Z_LOCALE_MAP[lang] || 'vi-VN', {\n minimumFractionDigits: minDigits,\n maximumFractionDigits: maxDigits,\n }).format(scaledValue);\n\n return percent ? `${formatted}%` : formatted;\n};\n\nexport const zFormatNumExcel = (\n cell: ExcelJS.Cell | undefined,\n value: unknown,\n options: ZFormatNumExcelOptions = {}\n): number | undefined => {\n const { divide = 'none', format = '1.0-1', percent = false, emptyCheck = 'strict' } = options;\n if (value === null || value === undefined || value === '') {\n return undefined;\n }\n\n const numValue = Number(value);\n\n if (Number.isNaN(numValue)) {\n return undefined;\n }\n\n if (emptyCheck === 'includeZero' && numValue === 0) {\n return undefined;\n }\n\n const scaledValue = numValue / Z_DIVIDE_SCALE[divide];\n let numFmt = Z_EXCEL_NUMBER_FORMAT_MAP[format] || '#,##0.0';\n\n if (percent) {\n numFmt = numFmt + '\"%\"';\n }\n\n if (cell) {\n cell.value = '\\u200B' + scaledValue;\n cell.numFmt = numFmt;\n }\n\n return scaledValue;\n};\n\nexport const zCapitalCase = (text: string, type: ZCapitalizeType = 'first'): string => {\n if (!text) {\n return '';\n }\n\n switch (type) {\n case 'all':\n return text.toUpperCase();\n\n case 'sentence':\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();\n\n case 'first':\n default:\n return text\n .toLowerCase()\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n};\n\nexport const zDecodeUnicode = (str: string): string => {\n if (!str) {\n return '';\n }\n\n str = str.replace(/\\\\\\\\u/g, '\\\\u');\n str = str.replace(/\\\\u([\\dA-Fa-f]{4})/g, (_, g1) => String.fromCharCode(parseInt(g1, 16)));\n str = str.replace(/(^|[^\\\\])u([\\dA-Fa-f]{4})/g, (_, p1, g1) => p1 + String.fromCharCode(parseInt(g1, 16)));\n\n return str.replace(/([\\uD800-\\uDBFF])([\\uDC00-\\uDFFF])/g, (_, high, low) => {\n const hi = high.charCodeAt(0);\n const lo = low.charCodeAt(0);\n const codePoint = (hi - 0xd800) * 0x400 + (lo - 0xdc00) + 0x10000;\n return String.fromCodePoint(codePoint);\n });\n};\n\nexport const zRandomColor = (): { hex: string; rgb: string; hsl: string } => {\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 40) + 60;\n const l = Math.floor(Math.random() * 20) + 60;\n const hsl = `hsl(${h}, ${s}%, ${l}%)`;\n\n const a = s / 100;\n const b = l / 100;\n const c = (1 - Math.abs(2 * b - 1)) * a;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = b - c / 2;\n\n const hueSegment = Math.floor(h / 60) % 6;\n const rgbMap: [number, number, number][] = [\n [c, x, 0],\n [x, c, 0],\n [0, c, x],\n [0, x, c],\n [x, 0, c],\n [c, 0, x],\n ];\n const [r, g, bl] = rgbMap[hueSegment];\n\n const R = Math.round((r + m) * 255);\n const G = Math.round((g + m) * 255);\n const B = Math.round((bl + m) * 255);\n\n const rgb = `rgb(${R}, ${G}, ${B})`;\n const toHex = (n: number) => n.toString(16).padStart(2, '0');\n const hex = `#${toHex(R)}${toHex(G)}${toHex(B)}`;\n\n return { hex, rgb, hsl };\n};\n\nexport const zConvertColorToArgb = (color: string): string => {\n if (color.startsWith('#')) {\n return 'FF' + color.substring(1).toUpperCase();\n }\n\n if (color.startsWith('rgb')) {\n const matches = color.match(/\\d+/g);\n if (matches && matches.length >= 3) {\n const r = parseInt(matches[0]).toString(16).padStart(2, '0');\n const g = parseInt(matches[1]).toString(16).padStart(2, '0');\n const b = parseInt(matches[2]).toString(16).padStart(2, '0');\n return `FF${r}${g}${b}`.toUpperCase();\n }\n }\n\n return 'FF000000';\n};\n\nexport const zCleanObject = <T = unknown>(obj: T): T => {\n if (obj !== Object(obj)) {\n return obj;\n }\n\n return Object.entries(obj as Record<string, unknown>).reduce(\n (acc, [key, value]) => {\n if (value === null || value === undefined) {\n return acc;\n }\n\n const cleaned = zCleanObject(value);\n if (\n cleaned !== null &&\n cleaned !== undefined &&\n (typeof cleaned !== 'object' || Object.keys(cleaned).length > 0)\n ) {\n (acc as Record<string, unknown>)[key] = cleaned;\n }\n\n return acc;\n },\n {} as Record<string, unknown>\n ) as T;\n};\n\nexport const zTreeFlatten = <T extends Record<string, unknown>>(\n list: T[],\n keyMap: keyof T,\n parentKeyMap: keyof T,\n sortFn?: (a: T, b: T) => number\n): (T & { level: number; parentsKey: string[] })[] => {\n const sortedList = sortFn ? [...list].sort(sortFn) : list;\n const byParent: Record<string, T[]> = {};\n\n for (const item of sortedList) {\n const parentKey = (item[parentKeyMap] as string) ?? 'root';\n if (!byParent[parentKey]) {\n byParent[parentKey] = [];\n }\n byParent[parentKey].push(item);\n }\n\n const flatten = (\n parentKey: string | null,\n level: number,\n parentsKey: string[]\n ): (T & { level: number; parentsKey: string[] })[] => {\n const children = byParent[parentKey ?? 'root'] || [];\n return children.flatMap(child => {\n const keyVal = String(child[keyMap]);\n const newParents = [...parentsKey, keyVal];\n return [{ ...child, level, parentsKey }, ...flatten(keyVal, level + 1, newParents)];\n });\n };\n\n return flatten(null, 0, []);\n};\n\nexport const zTreeBuild = <T extends Record<string, unknown>>(\n list: T[],\n keyMap: keyof T,\n parentKeyMap: keyof T,\n sortFn?: (a: T, b: T) => number\n): (T & { level: number; parentsKey: string[]; children: unknown[] })[] => {\n const sortedList = sortFn ? [...list].sort(sortFn) : list;\n const byParent: Record<string, T[]> = {};\n\n for (const item of sortedList) {\n const parentKey = (item[parentKeyMap] as string) ?? 'root';\n if (!byParent[parentKey]) {\n byParent[parentKey] = [];\n }\n byParent[parentKey].push(item);\n }\n\n const buildTree = (\n parentKey: string | null,\n level: number,\n parentsKey: string[]\n ): (T & { level: number; parentsKey: string[]; children: unknown[] })[] => {\n const children = byParent[parentKey ?? 'root'] || [];\n return children.map(child => {\n const keyVal = String(child[keyMap]);\n const newParents = [...parentsKey, keyVal];\n return {\n ...child,\n level,\n parentsKey,\n children: buildTree(keyVal, level + 1, newParents),\n };\n });\n };\n\n return buildTree(null, 0, []);\n};\n\nexport const VIETNAMESE_MAP: Record<string, string> = {\n à: 'a',\n á: 'a',\n ạ: 'a',\n ả: 'a',\n ã: 'a',\n â: 'a',\n ầ: 'a',\n ấ: 'a',\n ậ: 'a',\n ẩ: 'a',\n ẫ: 'a',\n ă: 'a',\n ằ: 'a',\n ắ: 'a',\n ặ: 'a',\n ẳ: 'a',\n ẵ: 'a',\n è: 'e',\n é: 'e',\n ẹ: 'e',\n ẻ: 'e',\n ẽ: 'e',\n ê: 'e',\n ề: 'e',\n ế: 'e',\n ệ: 'e',\n ể: 'e',\n ễ: 'e',\n ì: 'i',\n í: 'i',\n ị: 'i',\n ỉ: 'i',\n ĩ: 'i',\n ò: 'o',\n ó: 'o',\n ọ: 'o',\n ỏ: 'o',\n õ: 'o',\n ô: 'o',\n ồ: 'o',\n ố: 'o',\n ộ: 'o',\n ổ: 'o',\n ỗ: 'o',\n ơ: 'o',\n ờ: 'o',\n ớ: 'o',\n ợ: 'o',\n ở: 'o',\n ỡ: 'o',\n ù: 'u',\n ú: 'u',\n ụ: 'u',\n ủ: 'u',\n ũ: 'u',\n ư: 'u',\n ừ: 'u',\n ứ: 'u',\n ự: 'u',\n ử: 'u',\n ữ: 'u',\n ỳ: 'y',\n ý: 'y',\n ỵ: 'y',\n ỷ: 'y',\n ỹ: 'y',\n đ: 'd',\n À: 'A',\n Á: 'A',\n Ạ: 'A',\n Ả: 'A',\n Ã: 'A',\n Â: 'A',\n Ầ: 'A',\n Ấ: 'A',\n Ậ: 'A',\n Ẩ: 'A',\n Ẫ: 'A',\n Ă: 'A',\n Ằ: 'A',\n Ắ: 'A',\n Ặ: 'A',\n Ẳ: 'A',\n Ẵ: 'A',\n È: 'E',\n É: 'E',\n Ẹ: 'E',\n Ẻ: 'E',\n Ẽ: 'E',\n Ê: 'E',\n Ề: 'E',\n Ế: 'E',\n Ệ: 'E',\n Ể: 'E',\n Ễ: 'E',\n Ì: 'I',\n Í: 'I',\n Ị: 'I',\n Ỉ: 'I',\n Ĩ: 'I',\n Ò: 'O',\n Ó: 'O',\n Ọ: 'O',\n Ỏ: 'O',\n Õ: 'O',\n Ô: 'O',\n Ồ: 'O',\n Ố: 'O',\n Ộ: 'O',\n Ổ: 'O',\n Ỗ: 'O',\n Ơ: 'O',\n Ờ: 'O',\n Ớ: 'O',\n Ợ: 'O',\n Ở: 'O',\n Ỡ: 'O',\n Ù: 'U',\n Ú: 'U',\n Ụ: 'U',\n Ủ: 'U',\n Ũ: 'U',\n Ư: 'U',\n Ừ: 'U',\n Ứ: 'U',\n Ự: 'U',\n Ử: 'U',\n Ữ: 'U',\n Ỳ: 'Y',\n Ý: 'Y',\n Ỵ: 'Y',\n Ỷ: 'Y',\n Ỹ: 'Y',\n Đ: 'D',\n};\n\nexport const zRemoveVietnamese = (str: string): string =>\n str\n .split('')\n .map(char => VIETNAMESE_MAP[char] || char)\n .join('');\n\nconst getDeepValue = (obj: unknown, path: string): string => {\n try {\n const value = path.split('.').reduce((acc: unknown, key: string) => {\n if (acc && typeof acc === 'object' && key in acc) {\n return (acc as Record<string, unknown>)[key];\n }\n return '';\n }, obj);\n\n if (Array.isArray(value)) {\n return value.map(v => String(v)).join(' ');\n }\n\n return value as string;\n } catch {\n return '';\n }\n};\n\nexport const zMiniSearch = <T>(\n data: T[],\n query: string,\n fields: (keyof T | string)[],\n idField?: keyof T | string\n): T[] => {\n if (!query) {\n return data;\n }\n\n const fieldStrings = fields.map(f => String(f));\n const idFieldString = idField ? String(idField) : '_index';\n const useCustomId = !!idField;\n\n const flatData = data.map((item, index) => ({\n ...item,\n ...(!useCustomId && { _index: index }),\n ...Object.fromEntries(fieldStrings.map(field => [field, getDeepValue(item, field)])),\n }));\n\n const search = new MiniSearch({\n idField: idFieldString,\n fields: fieldStrings,\n storeFields: [idFieldString],\n tokenize: (text: string) =>\n zRemoveVietnamese(text.toLowerCase())\n .split(/[\\s@.\\-_]+/)\n .filter(Boolean),\n processTerm: (term: string) => zRemoveVietnamese(term.toLowerCase()),\n });\n\n search.addAll(flatData);\n const results = search.search(query, { prefix: true });\n\n if (useCustomId) {\n const resultIds = new Set(results.map(result => result.id));\n return data.filter(item => resultIds.has((item as Record<string, unknown>)[idFieldString]));\n }\n\n return results.map(result => data[(result as unknown as { _index: number })._index]);\n};\n\nexport const zMiniSearch$ = <T>(\n data: T[],\n query: string,\n fields: (keyof T | string)[],\n options?: {\n idField?: keyof T | string;\n loading?: WritableSignal<boolean>;\n fakeDelay?: number;\n }\n): Observable<T[]> => {\n const { idField, loading, fakeDelay = 200 } = options ?? {};\n\n if (loading && isSignal(loading)) {\n loading.set(true);\n }\n\n return of(zMiniSearch(data, query, fields, idField)).pipe(\n delay(fakeDelay),\n finalize(() => {\n if (loading && isSignal(loading)) {\n loading.set(false);\n }\n })\n );\n};\n\nconst _detectDevice = (ua: string): ZDeviceType => {\n if (/Mobi|Android.*Mobile|iPhone|iPod|BlackBerry|IEMobile/i.test(ua)) {\n return 'mobile';\n }\n if (/iPad|Android(?!.*Mobile)|Tablet/i.test(ua)) {\n return 'tablet';\n }\n return 'desktop';\n};\n\nexport const zDetectBrowser = (): ZBrowserInfo => {\n const ua = navigator.userAgent;\n const result: ZBrowserInfo = {\n name: 'Unknown',\n version: '',\n agent: ua,\n device: _detectDevice(ua),\n time: new Date().toISOString(),\n };\n\n if (!navigator.userAgentData) {\n return result;\n }\n\n const brands = navigator.userAgentData.brands || [];\n const isMobile = navigator.userAgentData.mobile;\n\n if (isMobile) {\n result.device = 'mobile';\n }\n\n const mainBrand = brands.find(\n (b: ZNavigatorUABrandVersion) => !['Chromium', 'Not_A Brand', 'Not A;Brand', 'Not/A)Brand'].includes(b.brand)\n );\n\n if (mainBrand) {\n result.name = mainBrand.brand.replace('Google ', '');\n result.version = mainBrand.version;\n return result;\n }\n\n const chromium = brands.find((b: ZNavigatorUABrandVersion) => b.brand === 'Chromium');\n if (chromium) {\n result.name = 'Chrome';\n result.version = chromium.version;\n }\n\n return result;\n};\n","import * as echarts from 'echarts';\nimport type { ZEchartsThemeOptions } from './types/z-echarts.types';\n\nconst Z_ECHARTS_DEFAULT_FONT = `'Lexend', 'Arial', 'Helvetica', 'sans-serif'`;\n\n/**\n * Register custom Z-UI theme for ECharts\n * @param options - Theme configuration options\n */\nexport function zRegisterEchartsTheme(options: ZEchartsThemeOptions = {}): void {\n const { themeName = 'zTheme', fontFamily = Z_ECHARTS_DEFAULT_FONT } = options;\n\n echarts.registerTheme(themeName, {\n textStyle: {\n fontFamily,\n color: '#333',\n },\n title: {\n textStyle: {\n fontFamily,\n fontWeight: '450',\n },\n },\n legend: {\n textStyle: {\n fontFamily,\n fontSize: 13,\n color: '#333',\n },\n },\n tooltip: {\n textStyle: {\n fontFamily,\n color: '#333',\n fontSize: 13,\n },\n },\n axisPointer: {\n lineStyle: { color: '#999' },\n crossStyle: { color: '#999' },\n },\n categoryAxis: {\n axisLine: { lineStyle: { color: '#ccc' } },\n axisTick: { lineStyle: { color: '#ccc' } },\n axisLabel: {\n fontFamily,\n color: '#444',\n fontSize: 12,\n },\n splitLine: { show: false },\n },\n valueAxis: {\n axisLine: { lineStyle: { color: '#ccc' } },\n axisTick: { lineStyle: { color: '#ccc' } },\n axisLabel: {\n fontFamily,\n color: '#444',\n fontSize: 12,\n },\n splitLine: { lineStyle: { color: '#eee' } },\n },\n });\n}\n","import { FormArray, FormGroup } from '@angular/forms';\n\n/**\n * Submit form and mark invalid controls as dirty (supports nested FormArray/FormGroup)\n * @param form - FormGroup or FormArray to submit\n * @returns true if form is valid, false otherwise\n */\nexport const zValidForm = (form: FormGroup | FormArray): boolean => {\n if (form.invalid) {\n markFormAsInvalid(form);\n return false;\n }\n\n return true;\n};\n\n/**\n * Recursively mark invalid controls as dirty (handles nested FormArray/FormGroup)\n */\nconst markFormAsInvalid = (form: FormGroup | FormArray): void => {\n Object.values(form.controls).forEach(control => {\n if (control instanceof FormArray) {\n markFormAsInvalid(control);\n return;\n }\n\n if (control instanceof FormGroup) {\n markFormAsInvalid(control);\n return;\n }\n\n if (control?.invalid) {\n control.markAsDirty();\n control.updateValueAndValidity({ onlySelf: true });\n }\n });\n};\n\n/**\n * Debug invalid form controls by logging to console\n * @param form - FormGroup to debug\n * @param parentKey - Parent key for nested controls\n */\nexport const zDebugFormInvalid = (form: FormGroup, parentKey = ''): void => {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const controlPath = parentKey ? `${parentKey}.${key}` : key;\n\n if (control instanceof FormGroup) {\n zDebugFormInvalid(control, controlPath);\n return;\n }\n\n if (control instanceof FormArray) {\n control.controls.forEach((ctrl, index) => {\n const arrayPath = `${controlPath}[${index}]`;\n\n if (ctrl instanceof FormGroup) {\n zDebugFormInvalid(ctrl, arrayPath);\n return;\n }\n\n if (ctrl?.invalid) {\n console.log(`❌ Field: ${arrayPath}`, ctrl.errors);\n }\n });\n return;\n }\n\n if (control?.invalid) {\n console.log(`❌ Field: ${controlPath}`, control.errors);\n }\n });\n};\n","/**\n * Utils types index\n */\n\nexport * from './z-common.types';\nexport * from './z-echarts.types';\nexport * from './z-form.types';\n","/**\n * Utils index\n */\n\nexport * from './z-common.utils';\nexport * from './z-echarts.utils';\nexport * from './z-form.utils';\n\n// Export all types\nexport * from './types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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G;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAA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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 20+, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -125,8 +125,9 @@ declare const zDrawerVariants: (props?: ({
125
125
  } & class_variance_authority_types.ClassProp) | undefined) => string;
126
126
 
127
127
  declare class ZDrawerComponent<T, U> extends BasePortalOutlet implements OnDestroy, AfterViewChecked {
128
- zOnOk: _angular_core.OutputEmitterRef<void>;
129
- zOnCancel: _angular_core.OutputEmitterRef<void>;
128
+ readonly zOnOk: _angular_core.OutputEmitterRef<void>;
129
+ readonly zOnCancel: _angular_core.OutputEmitterRef<void>;
130
+ readonly zScrollbar: _angular_core.OutputEmitterRef<NgScrollbar>;
130
131
  readonly class: _angular_core.InputSignal<ClassValue>;
131
132
  readonly zVisible: _angular_core.ModelSignal<boolean>;
132
133
  readonly zTitle: _angular_core.InputSignal<string | TemplateRef<unknown> | undefined>;
@@ -211,7 +212,7 @@ declare class ZDrawerComponent<T, U> extends BasePortalOutlet implements OnDestr
211
212
  private _closeWithAnimation;
212
213
  private _disposeTemplateOverlay;
213
214
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZDrawerComponent<any, any>, never>;
214
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZDrawerComponent<any, any>, "z-drawer", ["zDrawer"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zVisible": { "alias": "zVisible"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zDescription": { "alias": "zDescription"; "required": false; "isSignal": true; }; "zWidth": { "alias": "zWidth"; "required": false; "isSignal": true; }; "zHeight": { "alias": "zHeight"; "required": false; "isSignal": true; }; "zPlacement": { "alias": "zPlacement"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zMaskClosable": { "alias": "zMaskClosable"; "required": false; "isSignal": true; }; "zHideFooter": { "alias": "zHideFooter"; "required": false; "isSignal": true; }; "zOkText": { "alias": "zOkText"; "required": false; "isSignal": true; }; "zCancelText": { "alias": "zCancelText"; "required": false; "isSignal": true; }; "zOkDestructive": { "alias": "zOkDestructive"; "required": false; "isSignal": true; }; "zOkDisabled": { "alias": "zOkDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zOverlay": { "alias": "zOverlay"; "required": false; "isSignal": true; }; "zShadow": { "alias": "zShadow"; "required": false; "isSignal": true; }; "zShape": { "alias": "zShape"; "required": false; "isSignal": true; }; "zContentLoading": { "alias": "zContentLoading"; "required": false; "isSignal": true; }; "zSkeletonRows": { "alias": "zSkeletonRows"; "required": false; "isSignal": true; }; }, { "zOnOk": "zOnOk"; "zOnCancel": "zOnCancel"; "zVisible": "zVisibleChange"; }, ["customHeader", "customContent", "customFooter"], ["*"], true, never>;
215
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZDrawerComponent<any, any>, "z-drawer", ["zDrawer"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zVisible": { "alias": "zVisible"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zDescription": { "alias": "zDescription"; "required": false; "isSignal": true; }; "zWidth": { "alias": "zWidth"; "required": false; "isSignal": true; }; "zHeight": { "alias": "zHeight"; "required": false; "isSignal": true; }; "zPlacement": { "alias": "zPlacement"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zMaskClosable": { "alias": "zMaskClosable"; "required": false; "isSignal": true; }; "zHideFooter": { "alias": "zHideFooter"; "required": false; "isSignal": true; }; "zOkText": { "alias": "zOkText"; "required": false; "isSignal": true; }; "zCancelText": { "alias": "zCancelText"; "required": false; "isSignal": true; }; "zOkDestructive": { "alias": "zOkDestructive"; "required": false; "isSignal": true; }; "zOkDisabled": { "alias": "zOkDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zOverlay": { "alias": "zOverlay"; "required": false; "isSignal": true; }; "zShadow": { "alias": "zShadow"; "required": false; "isSignal": true; }; "zShape": { "alias": "zShape"; "required": false; "isSignal": true; }; "zContentLoading": { "alias": "zContentLoading"; "required": false; "isSignal": true; }; "zSkeletonRows": { "alias": "zSkeletonRows"; "required": false; "isSignal": true; }; }, { "zOnOk": "zOnOk"; "zOnCancel": "zOnCancel"; "zScrollbar": "zScrollbar"; "zVisible": "zVisibleChange"; }, ["customHeader", "customContent", "customFooter"], ["*"], true, never>;
215
216
  }
216
217
 
217
218
  declare class ZDrawerService {
@@ -163,6 +163,7 @@ declare class ZModalRef<T = any, R = any, U = any> {
163
163
  declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestroy, AfterViewChecked {
164
164
  zOk: _angular_core.OutputEmitterRef<void>;
165
165
  zCancel: _angular_core.OutputEmitterRef<void>;
166
+ readonly zScrollbar: _angular_core.OutputEmitterRef<NgScrollbar>;
166
167
  readonly class: _angular_core.InputSignal<ClassValue>;
167
168
  readonly zVisible: _angular_core.ModelSignal<boolean>;
168
169
  readonly zTitle: _angular_core.InputSignal<string | TemplateRef<unknown> | undefined>;
@@ -242,7 +243,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
242
243
  private _closeWithAnimation;
243
244
  private _disposeTemplateOverlay;
244
245
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalComponent<any, any>, never>;
245
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZModalComponent<any, any>, "z-modal", ["zModal"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zVisible": { "alias": "zVisible"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zDescription": { "alias": "zDescription"; "required": false; "isSignal": true; }; "zWidth": { "alias": "zWidth"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zMaskClosable": { "alias": "zMaskClosable"; "required": false; "isSignal": true; }; "zHideFooter": { "alias": "zHideFooter"; "required": false; "isSignal": true; }; "zOkText": { "alias": "zOkText"; "required": false; "isSignal": true; }; "zCancelText": { "alias": "zCancelText"; "required": false; "isSignal": true; }; "zOkDestructive": { "alias": "zOkDestructive"; "required": false; "isSignal": true; }; "zOkDisabled": { "alias": "zOkDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zContentLoading": { "alias": "zContentLoading"; "required": false; "isSignal": true; }; "zSkeletonRows": { "alias": "zSkeletonRows"; "required": false; "isSignal": true; }; "zOverlay": { "alias": "zOverlay"; "required": false; "isSignal": true; }; }, { "zOk": "zOk"; "zCancel": "zCancel"; "zVisible": "zVisibleChange"; }, ["customHeader", "customContent", "customFooter"], ["*"], true, never>;
246
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZModalComponent<any, any>, "z-modal", ["zModal"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zVisible": { "alias": "zVisible"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zDescription": { "alias": "zDescription"; "required": false; "isSignal": true; }; "zWidth": { "alias": "zWidth"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zMaskClosable": { "alias": "zMaskClosable"; "required": false; "isSignal": true; }; "zHideFooter": { "alias": "zHideFooter"; "required": false; "isSignal": true; }; "zOkText": { "alias": "zOkText"; "required": false; "isSignal": true; }; "zCancelText": { "alias": "zCancelText"; "required": false; "isSignal": true; }; "zOkDestructive": { "alias": "zOkDestructive"; "required": false; "isSignal": true; }; "zOkDisabled": { "alias": "zOkDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zContentLoading": { "alias": "zContentLoading"; "required": false; "isSignal": true; }; "zSkeletonRows": { "alias": "zSkeletonRows"; "required": false; "isSignal": true; }; "zOverlay": { "alias": "zOverlay"; "required": false; "isSignal": true; }; }, { "zOk": "zOk"; "zCancel": "zCancel"; "zScrollbar": "zScrollbar"; "zVisible": "zVisibleChange"; }, ["customHeader", "customContent", "customFooter"], ["*"], true, never>;
246
247
  }
247
248
 
248
249
  declare class ZModalService {
@@ -42,6 +42,7 @@ declare class ZStepsComponent implements AfterViewInit {
42
42
  readonly zClickable: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
43
43
  readonly zShowNumber: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
44
44
  readonly zResponsive: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
45
+ readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
45
46
  readonly zOnStepClick: _angular_core.OutputEmitterRef<number>;
46
47
  readonly zControl: _angular_core.OutputEmitterRef<ZStepsControl>;
47
48
  private readonly _internalCurrent;
@@ -61,14 +62,13 @@ declare class ZStepsComponent implements AfterViewInit {
61
62
  protected readonly getIconSizeByIndex: _angular_core.Signal<NonNullable<"10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | null | undefined>[]>;
62
63
  protected readonly iconWidth: _angular_core.Signal<24 | 40 | 32>;
63
64
  ngAfterViewInit(): void;
64
- private _createControl;
65
65
  private _updateStepOverride;
66
66
  private _setupResizeObserver;
67
67
  private _getStepStatus;
68
68
  private _getConnectorStatus;
69
69
  protected onStepClick(index: number): void;
70
70
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZStepsComponent, never>;
71
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZStepsComponent, "z-steps", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSteps": { "alias": "zSteps"; "required": true; "isSignal": true; }; "zCurrent": { "alias": "zCurrent"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zClickable": { "alias": "zClickable"; "required": false; "isSignal": true; }; "zShowNumber": { "alias": "zShowNumber"; "required": false; "isSignal": true; }; "zResponsive": { "alias": "zResponsive"; "required": false; "isSignal": true; }; }, { "zOnStepClick": "zOnStepClick"; "zControl": "zControl"; }, never, never, true, never>;
71
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZStepsComponent, "z-steps", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSteps": { "alias": "zSteps"; "required": true; "isSignal": true; }; "zCurrent": { "alias": "zCurrent"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zClickable": { "alias": "zClickable"; "required": false; "isSignal": true; }; "zShowNumber": { "alias": "zShowNumber"; "required": false; "isSignal": true; }; "zResponsive": { "alias": "zResponsive"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; }, { "zOnStepClick": "zOnStepClick"; "zControl": "zControl"; }, never, never, true, never>;
72
72
  }
73
73
 
74
74
  declare const zStepsContainerVariants: (props?: ({
@@ -100,7 +100,7 @@ declare function zRegisterEchartsTheme(options?: ZEchartsThemeOptions): void;
100
100
  * @param form - FormGroup or FormArray to submit
101
101
  * @returns true if form is valid, false otherwise
102
102
  */
103
- declare const zSubmitForm: (form: FormGroup | FormArray) => boolean;
103
+ declare const zValidForm: (form: FormGroup | FormArray) => boolean;
104
104
  /**
105
105
  * Debug invalid form controls by logging to console
106
106
  * @param form - FormGroup to debug
@@ -114,5 +114,5 @@ interface ZFormDebugOptions {
114
114
  logLevel?: 'error' | 'warn' | 'log';
115
115
  }
116
116
 
117
- export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zSubmitForm, zTransform, zTreeBuild, zTreeFlatten, zUuid };
117
+ export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zTransform, zTreeBuild, zTreeFlatten, zUuid, zValidForm };
118
118
  export type { ZBrowserInfo, ZBrowserName, ZCapitalizeType, ZDeviceType, ZEchartsThemeOptions, ZEmptyCheck, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumExcelOptions, ZFormatNumOptions, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide };