@libs-ui/components-inputs-multi-language 0.2.313-0 → 0.2.315-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-inputs-multi-language.mjs","sources":["../../../../../../libs-ui/components/inputs/multi-language/src/pipes/display-language.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/pipes/get-disable-key.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/utils/multi-language.ts","../../../../../../libs-ui/components/inputs/multi-language/src/pipes/get-item.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/multi-language.component.ts","../../../../../../libs-ui/components/inputs/multi-language/src/multi-language.component.html","../../../../../../libs-ui/components/inputs/multi-language/src/items/items.component.ts","../../../../../../libs-ui/components/inputs/multi-language/src/items/items.component.html","../../../../../../libs-ui/components/inputs/multi-language/src/libs-ui-components-inputs-multi-language.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { IOption } from '../interfaces/multi-language.interface';\nimport { CHARACTER_DATA_EMPTY } from '@libs-ui/utils';\n\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe implements PipeTransform {\n transform(keyLang: string, listLanguage: Array<IOption>): string {\n if (!keyLang || !listLanguage || !listLanguage.length) {\n return CHARACTER_DATA_EMPTY;\n }\n const result = listLanguage.find((item) => item.key === keyLang);\n if (!result) {\n return CHARACTER_DATA_EMPTY;\n }\n return `${result.label}:&nbsp;`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe implements PipeTransform {\n transform(langs: Array<string>, key: string): Array<string> {\n return langs.filter((item) => item !== key);\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { signal } from '@angular/core';\nimport { IValidRequired } from '@libs-ui/components-inputs-valid';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IHttpRequestConfig, returnDetailObject, returnListObject } from '@libs-ui/services-http-request';\nimport { get, set, UtilsCache } from '@libs-ui/utils';\nimport { IOption } from '../interfaces/multi-language.interface';\n\nexport const currenciesSupport = () => {\n // UtilsCache.KEY_CACHE_CURRENCIES_CMS_SUPPORT\n return UtilsCache.Get('test_currencies', ['VND', 'USD', 'EUR']);\n};\n\nexport const languageSupport = () => {\n // UtilsCache.KEY_CACHE_LANGUAGE_CMS_SUPPORT\n return UtilsCache.Get('test_lang', ['vi', 'en']);\n};\n\nexport const currenciesOptions = (objectPattern: { key: string; label: string } = { key: 'key', label: 'code' }) => {\n const data = [\n { symbol: '$', name: 'US Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'USD', name_plural: 'US dollars', key: 'USD' },\n { symbol: 'CA$', name: 'Canadian Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'CAD', name_plural: 'Canadian dollars', key: 'CAD' },\n { symbol: '€', name: 'Euro', symbol_native: '€', decimal_digits: 2, rounding: 0, code: 'EUR', name_plural: 'euros', key: 'EUR' },\n { symbol: 'AED', name: 'United Arab Emirates Dirham', symbol_native: 'د.إ.‏', decimal_digits: 2, rounding: 0, code: 'AED', name_plural: 'UAE dirhams', key: 'AED' },\n { symbol: 'Af', name: 'Afghan Afghani', symbol_native: '؋', decimal_digits: 0, rounding: 0, code: 'AFN', name_plural: 'Afghan Afghanis', key: 'AFN' },\n { symbol: 'ALL', name: 'Albanian Lek', symbol_native: 'Lek', decimal_digits: 0, rounding: 0, code: 'ALL', name_plural: 'Albanian lekë', key: 'ALL' },\n { symbol: 'AMD', name: 'Armenian Dram', symbol_native: 'դր.', decimal_digits: 0, rounding: 0, code: 'AMD', name_plural: 'Armenian drams', key: 'AMD' },\n { symbol: 'AR$', name: 'Argentine Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'ARS', name_plural: 'Argentine pesos', key: 'ARS' },\n { symbol: 'AU$', name: 'Australian Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'AUD', name_plural: 'Australian dollars', key: 'AUD' },\n { symbol: 'man.', name: 'Azerbaijani Manat', symbol_native: 'ман.', decimal_digits: 2, rounding: 0, code: 'AZN', name_plural: 'Azerbaijani manats', key: 'AZN' },\n { symbol: 'KM', name: 'Bosnia-Herzegovina Convertible Mark', symbol_native: 'KM', decimal_digits: 2, rounding: 0, code: 'BAM', name_plural: 'Bosnia-Herzegovina convertible marks', key: 'BAM' },\n { symbol: 'Tk', name: 'Bangladeshi Taka', symbol_native: '৳', decimal_digits: 2, rounding: 0, code: 'BDT', name_plural: 'Bangladeshi takas', key: 'BDT' },\n { symbol: 'BGN', name: 'Bulgarian Lev', symbol_native: 'лв.', decimal_digits: 2, rounding: 0, code: 'BGN', name_plural: 'Bulgarian leva', key: 'BGN' },\n { symbol: 'BD', name: 'Bahraini Dinar', symbol_native: 'د.ب.‏', decimal_digits: 3, rounding: 0, code: 'BHD', name_plural: 'Bahraini dinars', key: 'BHD' },\n { symbol: 'FBu', name: 'Burundian Franc', symbol_native: 'FBu', decimal_digits: 0, rounding: 0, code: 'BIF', name_plural: 'Burundian francs', key: 'BIF' },\n { symbol: 'BN$', name: 'Brunei Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'BND', name_plural: 'Brunei dollars', key: 'BND' },\n { symbol: 'Bs', name: 'Bolivian Boliviano', symbol_native: 'Bs', decimal_digits: 2, rounding: 0, code: 'BOB', name_plural: 'Bolivian bolivianos', key: 'BOB' },\n { symbol: 'R$', name: 'Brazilian Real', symbol_native: 'R$', decimal_digits: 2, rounding: 0, code: 'BRL', name_plural: 'Brazilian reals', key: 'BRL' },\n { symbol: 'BWP', name: 'Botswanan Pula', symbol_native: 'P', decimal_digits: 2, rounding: 0, code: 'BWP', name_plural: 'Botswanan pulas', key: 'BWP' },\n { symbol: 'Br', name: 'Belarusian Ruble', symbol_native: 'руб.', decimal_digits: 2, rounding: 0, code: 'BYN', name_plural: 'Belarusian rubles', key: 'BYN' },\n { symbol: 'BZ$', name: 'Belize Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'BZD', name_plural: 'Belize dollars', key: 'BZD' },\n { symbol: 'CDF', name: 'Congolese Franc', symbol_native: 'FrCD', decimal_digits: 2, rounding: 0, code: 'CDF', name_plural: 'Congolese francs', key: 'CDF' },\n { symbol: 'CHF', name: 'Swiss Franc', symbol_native: 'CHF', decimal_digits: 2, rounding: 0.05, code: 'CHF', name_plural: 'Swiss francs', key: 'CHF' },\n { symbol: 'CL$', name: 'Chilean Peso', symbol_native: '$', decimal_digits: 0, rounding: 0, code: 'CLP', name_plural: 'Chilean pesos', key: 'CLP' },\n { symbol: 'CN¥', name: 'Chinese Yuan', symbol_native: 'CN¥', decimal_digits: 2, rounding: 0, code: 'CNY', name_plural: 'Chinese yuan', key: 'CNY' },\n { symbol: 'CO$', name: 'Colombian Peso', symbol_native: '$', decimal_digits: 0, rounding: 0, code: 'COP', name_plural: 'Colombian pesos', key: 'COP' },\n { symbol: '₡', name: 'Costa Rican Colón', symbol_native: '₡', decimal_digits: 0, rounding: 0, code: 'CRC', name_plural: 'Costa Rican colóns', key: 'CRC' },\n { symbol: 'CV$', name: 'Cape Verdean Escudo', symbol_native: 'CV$', decimal_digits: 2, rounding: 0, code: 'CVE', name_plural: 'Cape Verdean escudos', key: 'CVE' },\n { symbol: 'Kč', name: 'Czech Republic Koruna', symbol_native: 'Kč', decimal_digits: 2, rounding: 0, code: 'CZK', name_plural: 'Czech Republic korunas', key: 'CZK' },\n { symbol: 'Fdj', name: 'Djiboutian Franc', symbol_native: 'Fdj', decimal_digits: 0, rounding: 0, code: 'DJF', name_plural: 'Djiboutian francs', key: 'DJF' },\n { symbol: 'Dkr', name: 'Danish Krone', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'DKK', name_plural: 'Danish kroner', key: 'DKK' },\n { symbol: 'RD$', name: 'Dominican Peso', symbol_native: 'RD$', decimal_digits: 2, rounding: 0, code: 'DOP', name_plural: 'Dominican pesos', key: 'DOP' },\n { symbol: 'DA', name: 'Algerian Dinar', symbol_native: 'د.ج.‏', decimal_digits: 2, rounding: 0, code: 'DZD', name_plural: 'Algerian dinars', key: 'DZD' },\n { symbol: 'Ekr', name: 'Estonian Kroon', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'EEK', name_plural: 'Estonian kroons', key: 'EEK' },\n { symbol: 'EGP', name: 'Egyptian Pound', symbol_native: 'ج.م.‏', decimal_digits: 2, rounding: 0, code: 'EGP', name_plural: 'Egyptian pounds', key: 'EGP' },\n { symbol: 'Nfk', name: 'Eritrean Nakfa', symbol_native: 'Nfk', decimal_digits: 2, rounding: 0, code: 'ERN', name_plural: 'Eritrean nakfas', key: 'ERN' },\n { symbol: 'Br', name: 'Ethiopian Birr', symbol_native: 'Br', decimal_digits: 2, rounding: 0, code: 'ETB', name_plural: 'Ethiopian birrs', key: 'ETB' },\n { symbol: '£', name: 'British Pound Sterling', symbol_native: '£', decimal_digits: 2, rounding: 0, code: 'GBP', name_plural: 'British pounds sterling', key: 'GBP' },\n { symbol: 'GEL', name: 'Georgian Lari', symbol_native: 'GEL', decimal_digits: 2, rounding: 0, code: 'GEL', name_plural: 'Georgian laris', key: 'GEL' },\n { symbol: 'GH₵', name: 'Ghanaian Cedi', symbol_native: 'GH₵', decimal_digits: 2, rounding: 0, code: 'GHS', name_plural: 'Ghanaian cedis', key: 'GHS' },\n { symbol: 'FG', name: 'Guinean Franc', symbol_native: 'FG', decimal_digits: 0, rounding: 0, code: 'GNF', name_plural: 'Guinean francs', key: 'GNF' },\n { symbol: 'GTQ', name: 'Guatemalan Quetzal', symbol_native: 'Q', decimal_digits: 2, rounding: 0, code: 'GTQ', name_plural: 'Guatemalan quetzals', key: 'GTQ' },\n { symbol: 'HK$', name: 'Hong Kong Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'HKD', name_plural: 'Hong Kong dollars', key: 'HKD' },\n { symbol: 'HNL', name: 'Honduran Lempira', symbol_native: 'L', decimal_digits: 2, rounding: 0, code: 'HNL', name_plural: 'Honduran lempiras', key: 'HNL' },\n { symbol: 'kn', name: 'Croatian Kuna', symbol_native: 'kn', decimal_digits: 2, rounding: 0, code: 'HRK', name_plural: 'Croatian kunas', key: 'HRK' },\n { symbol: 'Ft', name: 'Hungarian Forint', symbol_native: 'Ft', decimal_digits: 0, rounding: 0, code: 'HUF', name_plural: 'Hungarian forints', key: 'HUF' },\n { symbol: 'Rp', name: 'Indonesian Rupiah', symbol_native: 'Rp', decimal_digits: 0, rounding: 0, code: 'IDR', name_plural: 'Indonesian rupiahs', key: 'IDR' },\n { symbol: '₪', name: 'Israeli New Sheqel', symbol_native: '₪', decimal_digits: 2, rounding: 0, code: 'ILS', name_plural: 'Israeli new sheqels', key: 'ILS' },\n { symbol: 'Rs', name: 'Indian Rupee', symbol_native: 'টকা', decimal_digits: 2, rounding: 0, code: 'INR', name_plural: 'Indian rupees', key: 'INR' },\n { symbol: 'IQD', name: 'Iraqi Dinar', symbol_native: 'د.ع.‏', decimal_digits: 0, rounding: 0, code: 'IQD', name_plural: 'Iraqi dinars', key: 'IQD' },\n { symbol: 'IRR', name: 'Iranian Rial', symbol_native: '﷼', decimal_digits: 0, rounding: 0, code: 'IRR', name_plural: 'Iranian rials', key: 'IRR' },\n { symbol: 'Ikr', name: 'Icelandic Króna', symbol_native: 'kr', decimal_digits: 0, rounding: 0, code: 'ISK', name_plural: 'Icelandic krónur', key: 'ISK' },\n { symbol: 'J$', name: 'Jamaican Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'JMD', name_plural: 'Jamaican dollars', key: 'JMD' },\n { symbol: 'JD', name: 'Jordanian Dinar', symbol_native: 'د.أ.‏', decimal_digits: 3, rounding: 0, code: 'JOD', name_plural: 'Jordanian dinars', key: 'JOD' },\n { symbol: '¥', name: 'Japanese Yen', symbol_native: '¥', decimal_digits: 0, rounding: 0, code: 'JPY', name_plural: 'Japanese yen', key: 'JPY' },\n { symbol: 'Ksh', name: 'Kenyan Shilling', symbol_native: 'Ksh', decimal_digits: 2, rounding: 0, code: 'KES', name_plural: 'Kenyan shillings', key: 'KES' },\n { symbol: 'KHR', name: 'Cambodian Riel', symbol_native: '៛', decimal_digits: 2, rounding: 0, code: 'KHR', name_plural: 'Cambodian riels', key: 'KHR' },\n { symbol: 'CF', name: 'Comorian Franc', symbol_native: 'FC', decimal_digits: 0, rounding: 0, code: 'KMF', name_plural: 'Comorian francs', key: 'KMF' },\n { symbol: '₩', name: 'South Korean Won', symbol_native: '₩', decimal_digits: 0, rounding: 0, code: 'KRW', name_plural: 'South Korean won', key: 'KRW' },\n { symbol: 'KD', name: 'Kuwaiti Dinar', symbol_native: 'د.ك.‏', decimal_digits: 3, rounding: 0, code: 'KWD', name_plural: 'Kuwaiti dinars', key: 'KWD' },\n { symbol: 'KZT', name: 'Kazakhstani Tenge', symbol_native: 'тңг.', decimal_digits: 2, rounding: 0, code: 'KZT', name_plural: 'Kazakhstani tenges', key: 'KZT' },\n { symbol: 'LB£', name: 'Lebanese Pound', symbol_native: 'ل.ل.‏', decimal_digits: 0, rounding: 0, code: 'LBP', name_plural: 'Lebanese pounds', key: 'LBP' },\n { symbol: 'SLRs', name: 'Sri Lankan Rupee', symbol_native: 'SL Re', decimal_digits: 2, rounding: 0, code: 'LKR', name_plural: 'Sri Lankan rupees', key: 'LKR' },\n { symbol: 'Lt', name: 'Lithuanian Litas', symbol_native: 'Lt', decimal_digits: 2, rounding: 0, code: 'LTL', name_plural: 'Lithuanian litai', key: 'LTL' },\n { symbol: 'Ls', name: 'Latvian Lats', symbol_native: 'Ls', decimal_digits: 2, rounding: 0, code: 'LVL', name_plural: 'Latvian lati', key: 'LVL' },\n { symbol: 'LD', name: 'Libyan Dinar', symbol_native: 'د.ل.‏', decimal_digits: 3, rounding: 0, code: 'LYD', name_plural: 'Libyan dinars', key: 'LYD' },\n { symbol: 'MAD', name: 'Moroccan Dirham', symbol_native: 'د.م.‏', decimal_digits: 2, rounding: 0, code: 'MAD', name_plural: 'Moroccan dirhams', key: 'MAD' },\n { symbol: 'MDL', name: 'Moldovan Leu', symbol_native: 'MDL', decimal_digits: 2, rounding: 0, code: 'MDL', name_plural: 'Moldovan lei', key: 'MDL' },\n { symbol: 'MGA', name: 'Malagasy Ariary', symbol_native: 'MGA', decimal_digits: 0, rounding: 0, code: 'MGA', name_plural: 'Malagasy Ariaries', key: 'MGA' },\n { symbol: 'MKD', name: 'Macedonian Denar', symbol_native: 'MKD', decimal_digits: 2, rounding: 0, code: 'MKD', name_plural: 'Macedonian denari', key: 'MKD' },\n { symbol: 'MMK', name: 'Myanma Kyat', symbol_native: 'K', decimal_digits: 0, rounding: 0, code: 'MMK', name_plural: 'Myanma kyats', key: 'MMK' },\n { symbol: 'MOP$', name: 'Macanese Pataca', symbol_native: 'MOP$', decimal_digits: 2, rounding: 0, code: 'MOP', name_plural: 'Macanese patacas', key: 'MOP' },\n { symbol: 'MURs', name: 'Mauritian Rupee', symbol_native: 'MURs', decimal_digits: 0, rounding: 0, code: 'MUR', name_plural: 'Mauritian rupees', key: 'MUR' },\n { symbol: 'MX$', name: 'Mexican Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'MXN', name_plural: 'Mexican pesos', key: 'MXN' },\n { symbol: 'RM', name: 'Malaysian Ringgit', symbol_native: 'RM', decimal_digits: 2, rounding: 0, code: 'MYR', name_plural: 'Malaysian ringgits', key: 'MYR' },\n { symbol: 'MTn', name: 'Mozambican Metical', symbol_native: 'MTn', decimal_digits: 2, rounding: 0, code: 'MZN', name_plural: 'Mozambican meticals', key: 'MZN' },\n { symbol: 'N$', name: 'Namibian Dollar', symbol_native: 'N$', decimal_digits: 2, rounding: 0, code: 'NAD', name_plural: 'Namibian dollars', key: 'NAD' },\n { symbol: '₦', name: 'Nigerian Naira', symbol_native: '₦', decimal_digits: 2, rounding: 0, code: 'NGN', name_plural: 'Nigerian nairas', key: 'NGN' },\n { symbol: 'C$', name: 'Nicaraguan Córdoba', symbol_native: 'C$', decimal_digits: 2, rounding: 0, code: 'NIO', name_plural: 'Nicaraguan córdobas', key: 'NIO' },\n { symbol: 'Nkr', name: 'Norwegian Krone', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'NOK', name_plural: 'Norwegian kroner', key: 'NOK' },\n { symbol: 'NPRs', name: 'Nepalese Rupee', symbol_native: 'नेरू', decimal_digits: 2, rounding: 0, code: 'NPR', name_plural: 'Nepalese rupees', key: 'NPR' },\n { symbol: 'NZ$', name: 'New Zealand Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'NZD', name_plural: 'New Zealand dollars', key: 'NZD' },\n { symbol: 'OMR', name: 'Omani Rial', symbol_native: 'ر.ع.‏', decimal_digits: 3, rounding: 0, code: 'OMR', name_plural: 'Omani rials', key: 'OMR' },\n { symbol: 'B/.', name: 'Panamanian Balboa', symbol_native: 'B/.', decimal_digits: 2, rounding: 0, code: 'PAB', name_plural: 'Panamanian balboas', key: 'PAB' },\n { symbol: 'S/.', name: 'Peruvian Nuevo Sol', symbol_native: 'S/.', decimal_digits: 2, rounding: 0, code: 'PEN', name_plural: 'Peruvian nuevos soles', key: 'PEN' },\n { symbol: '₱', name: 'Philippine Peso', symbol_native: '₱', decimal_digits: 2, rounding: 0, code: 'PHP', name_plural: 'Philippine pesos', key: 'PHP' },\n { symbol: 'PKRs', name: 'Pakistani Rupee', symbol_native: '₨', decimal_digits: 0, rounding: 0, code: 'PKR', name_plural: 'Pakistani rupees', key: 'PKR' },\n { symbol: 'zł', name: 'Polish Zloty', symbol_native: 'zł', decimal_digits: 2, rounding: 0, code: 'PLN', name_plural: 'Polish zlotys', key: 'PLN' },\n { symbol: '₲', name: 'Paraguayan Guarani', symbol_native: '₲', decimal_digits: 0, rounding: 0, code: 'PYG', name_plural: 'Paraguayan guaranis', key: 'PYG' },\n { symbol: 'QR', name: 'Qatari Rial', symbol_native: 'ر.ق.‏', decimal_digits: 2, rounding: 0, code: 'QAR', name_plural: 'Qatari rials', key: 'QAR' },\n { symbol: 'RON', name: 'Romanian Leu', symbol_native: 'RON', decimal_digits: 2, rounding: 0, code: 'RON', name_plural: 'Romanian lei', key: 'RON' },\n { symbol: 'din.', name: 'Serbian Dinar', symbol_native: 'дин.', decimal_digits: 0, rounding: 0, code: 'RSD', name_plural: 'Serbian dinars', key: 'RSD' },\n { symbol: 'RUB', name: 'Russian Ruble', symbol_native: '₽.', decimal_digits: 2, rounding: 0, code: 'RUB', name_plural: 'Russian rubles', key: 'RUB' },\n { symbol: 'RWF', name: 'Rwandan Franc', symbol_native: 'FR', decimal_digits: 0, rounding: 0, code: 'RWF', name_plural: 'Rwandan francs', key: 'RWF' },\n { symbol: 'SR', name: 'Saudi Riyal', symbol_native: 'ر.س.‏', decimal_digits: 2, rounding: 0, code: 'SAR', name_plural: 'Saudi riyals', key: 'SAR' },\n { symbol: 'SDG', name: 'Sudanese Pound', symbol_native: 'SDG', decimal_digits: 2, rounding: 0, code: 'SDG', name_plural: 'Sudanese pounds', key: 'SDG' },\n { symbol: 'Skr', name: 'Swedish Krona', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'SEK', name_plural: 'Swedish kronor', key: 'SEK' },\n { symbol: 'S$', name: 'Singapore Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'SGD', name_plural: 'Singapore dollars', key: 'SGD' },\n { symbol: 'Ssh', name: 'Somali Shilling', symbol_native: 'Ssh', decimal_digits: 0, rounding: 0, code: 'SOS', name_plural: 'Somali shillings', key: 'SOS' },\n { symbol: 'SY£', name: 'Syrian Pound', symbol_native: 'ل.س.‏', decimal_digits: 0, rounding: 0, code: 'SYP', name_plural: 'Syrian pounds', key: 'SYP' },\n { symbol: '฿', name: 'Thai Baht', symbol_native: '฿', decimal_digits: 2, rounding: 0, code: 'THB', name_plural: 'Thai baht', key: 'THB' },\n { symbol: 'DT', name: 'Tunisian Dinar', symbol_native: 'د.ت.‏', decimal_digits: 3, rounding: 0, code: 'TND', name_plural: 'Tunisian dinars', key: 'TND' },\n { symbol: 'T$', name: 'Tongan Paʻanga', symbol_native: 'T$', decimal_digits: 2, rounding: 0, code: 'TOP', name_plural: 'Tongan paʻanga', key: 'TOP' },\n { symbol: 'TL', name: 'Turkish Lira', symbol_native: 'TL', decimal_digits: 2, rounding: 0, code: 'TRY', name_plural: 'Turkish Lira', key: 'TRY' },\n { symbol: 'TT$', name: 'Trinidad and Tobago Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'TTD', name_plural: 'Trinidad and Tobago dollars', key: 'TTD' },\n { symbol: 'NT$', name: 'New Taiwan Dollar', symbol_native: 'NT$', decimal_digits: 2, rounding: 0, code: 'TWD', name_plural: 'New Taiwan dollars', key: 'TWD' },\n { symbol: 'TSh', name: 'Tanzanian Shilling', symbol_native: 'TSh', decimal_digits: 0, rounding: 0, code: 'TZS', name_plural: 'Tanzanian shillings', key: 'TZS' },\n { symbol: '₴', name: 'Ukrainian Hryvnia', symbol_native: '₴', decimal_digits: 2, rounding: 0, code: 'UAH', name_plural: 'Ukrainian hryvnias', key: 'UAH' },\n { symbol: 'USh', name: 'Ugandan Shilling', symbol_native: 'USh', decimal_digits: 0, rounding: 0, code: 'UGX', name_plural: 'Ugandan shillings', key: 'UGX' },\n { symbol: '$U', name: 'Uruguayan Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'UYU', name_plural: 'Uruguayan pesos', key: 'UYU' },\n { symbol: 'UZS', name: 'Uzbekistan Som', symbol_native: 'UZS', decimal_digits: 0, rounding: 0, code: 'UZS', name_plural: 'Uzbekistan som', key: 'UZS' },\n { symbol: 'Bs.F.', name: 'Venezuelan Bolívar', symbol_native: 'Bs.F.', decimal_digits: 2, rounding: 0, code: 'VEF', name_plural: 'Venezuelan bolívars', key: 'VEF' },\n { symbol: '₫', name: 'Vietnamese Dong', symbol_native: '₫', decimal_digits: 0, rounding: 0, code: 'VND', name_plural: 'Vietnamese dong', key: 'VND' },\n { symbol: 'FCFA', name: 'CFA Franc BEAC', symbol_native: 'FCFA', decimal_digits: 0, rounding: 0, code: 'XAF', name_plural: 'CFA francs BEAC', key: 'XAF' },\n { symbol: 'CFA', name: 'CFA Franc BCEAO', symbol_native: 'CFA', decimal_digits: 0, rounding: 0, code: 'XOF', name_plural: 'CFA francs BCEAO', key: 'XOF' },\n { symbol: 'YR', name: 'Yemeni Rial', symbol_native: 'ر.ي.‏', decimal_digits: 0, rounding: 0, code: 'YER', name_plural: 'Yemeni rials', key: 'YER' },\n { symbol: 'R', name: 'South African Rand', symbol_native: 'R', decimal_digits: 2, rounding: 0, code: 'ZAR', name_plural: 'South African rand', key: 'ZAR' },\n { symbol: 'ZK', name: 'Zambian Kwacha', symbol_native: 'ZK', decimal_digits: 0, rounding: 0, code: 'ZMK', name_plural: 'Zambian kwachas', key: 'ZMK' },\n { symbol: 'ZWL$', name: 'Zimbabwean Dollar', symbol_native: 'ZWL$', decimal_digits: 0, rounding: 0, code: 'ZWL', name_plural: 'Zimbabwean Dollar', key: 'ZWL' },\n ];\n const dataurrenciesSupportData: Array<unknown> = [];\n currenciesSupport().forEach((key: string) => {\n const found = data.find((item) => item.key === key);\n if (found) {\n dataurrenciesSupportData.push(found);\n }\n });\n return convertObjectOfArray(objectPattern, dataurrenciesSupportData) as Array<IOption>;\n};\n\nexport const langOptions = (objectPattern: { key: string; label: string } = { key: 'key', label: 'nativeName' }) => {\n const data = [\n { name: 'Abkhaz', nativeName: 'аҧсуа', key: 'ab' },\n { name: 'Afar', nativeName: 'Afaraf', key: 'aa' },\n { name: 'Afrikaans', nativeName: 'Afrikaans', key: 'af' },\n { name: 'Akan', nativeName: 'Akan', key: 'ak' },\n { name: 'Albanian', nativeName: 'Shqip', key: 'sq' },\n { name: 'Amharic', nativeName: 'አማርኛ', key: 'am' },\n { name: 'Arabic', nativeName: 'العربية', key: 'ar' },\n { name: 'Aragonese', nativeName: 'Aragonés', key: 'an' },\n { name: 'Armenian', nativeName: 'Հայերեն', key: 'hy' },\n { name: 'Assamese', nativeName: 'অসমীয়া', key: 'as' },\n { name: 'Avaric', nativeName: 'авар мацӀ, магӀарул мацӀ', key: 'av' },\n { name: 'Avestan', nativeName: 'avesta', key: 'ae' },\n { name: 'Aymara', nativeName: 'aymar aru', key: 'ay' },\n { name: 'Azerbaijani', nativeName: 'azərbaycan dili', key: 'az' },\n { name: 'Bambara', nativeName: 'bamanankan', key: 'bm' },\n { name: 'Bashkir', nativeName: 'башҡорт теле', key: 'ba' },\n { name: 'Basque', nativeName: 'euskara, euskera', key: 'eu' },\n { name: 'Belarusian', nativeName: 'Беларуская', key: 'be' },\n { name: 'Bengali', nativeName: 'বাংলা', key: 'bn' },\n { name: 'Bihari', nativeName: 'भोजपुरी', key: 'bh' },\n { name: 'Bislama', nativeName: 'Bislama', key: 'bi' },\n { name: 'Bosnian', nativeName: 'bosanski jezik', key: 'bs' },\n { name: 'Breton', nativeName: 'brezhoneg', key: 'br' },\n { name: 'Bulgarian', nativeName: 'български език', key: 'bg' },\n { name: 'Burmese', nativeName: 'ဗမာစာ', key: 'my' },\n { name: 'Catalan; Valencian', nativeName: 'Català', key: 'ca' },\n { name: 'Chamorro', nativeName: 'Chamoru', key: 'ch' },\n { name: 'Chechen', nativeName: 'нохчийн мотт', key: 'ce' },\n { name: 'Chichewa; Chewa; Nyanja', nativeName: 'chiCheŵa, chinyanja', key: 'ny' },\n { name: 'Chinese', nativeName: '中文 (Zhōngwén), 汉语, 漢語', key: 'zh' },\n { name: 'Chuvash', nativeName: 'чӑваш чӗлхи', key: 'cv' },\n { name: 'Cornish', nativeName: 'Kernewek', key: 'kw' },\n { name: 'Corsican', nativeName: 'corsu, lingua corsa', key: 'co' },\n { name: 'Cree', nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ', key: 'cr' },\n { name: 'Croatian', nativeName: 'hrvatski', key: 'hr' },\n { name: 'Czech', nativeName: 'česky, čeština', key: 'cs' },\n { name: 'Danish', nativeName: 'dansk', key: 'da' },\n { name: 'Divehi; Dhivehi; Maldivian;', nativeName: 'ދިވެހި', key: 'dv' },\n { name: 'Dutch', nativeName: 'Nederlands, Vlaams', key: 'nl' },\n { name: 'English', nativeName: 'English', key: 'en' },\n { name: 'Esperanto', nativeName: 'Esperanto', key: 'eo' },\n { name: 'Estonian', nativeName: 'eesti, eesti keel', key: 'et' },\n { name: 'Ewe', nativeName: 'Eʋegbe', key: 'ee' },\n { name: 'Faroese', nativeName: 'føroyskt', key: 'fo' },\n { name: 'Fijian', nativeName: 'vosa Vakaviti', key: 'fj' },\n { name: 'Finnish', nativeName: 'suomi, suomen kieli', key: 'fi' },\n { name: 'French', nativeName: 'français, langue française', key: 'fr' },\n { name: 'Fula; Fulah; Pulaar; Pular', nativeName: 'Fulfulde, Pulaar, Pular', key: 'ff' },\n { name: 'Galician', nativeName: 'Galego', key: 'gl' },\n { name: 'Georgian', nativeName: 'ქართული', key: 'ka' },\n { name: 'German', nativeName: 'Deutsch', key: 'de' },\n { name: 'Greek, Modern', nativeName: 'Ελληνικά', key: 'el' },\n { name: 'Guaraní', nativeName: 'Avañeẽ', key: 'gn' },\n { name: 'Gujarati', nativeName: 'ગુજરાતી', key: 'gu' },\n { name: 'Haitian; Haitian Creole', nativeName: 'Kreyòl ayisyen', key: 'ht' },\n { name: 'Hausa', nativeName: 'Hausa, هَوُسَ', key: 'ha' },\n { name: 'Hebrew (modern)', nativeName: 'עברית', key: 'he' },\n { name: 'Herero', nativeName: 'Otjiherero', key: 'hz' },\n { name: 'Hindi', nativeName: 'हिन्दी, हिंदी', key: 'hi' },\n { name: 'Hiri Motu', nativeName: 'Hiri Motu', key: 'ho' },\n { name: 'Hungarian', nativeName: 'Magyar', key: 'hu' },\n { name: 'Interlingua', nativeName: 'Interlingua', key: 'ia' },\n { name: 'Indonesian', nativeName: 'Bahasa Indonesia', key: 'id' },\n { name: 'Interlingue', nativeName: 'Originally called Occidental; then Interlingue after WWII', key: 'ie' },\n { name: 'Irish', nativeName: 'Gaeilge', key: 'ga' },\n { name: 'Igbo', nativeName: 'Asụsụ Igbo', key: 'ig' },\n { name: 'Inupiaq', nativeName: 'Iñupiaq, Iñupiatun', key: 'ik' },\n { name: 'Ido', nativeName: 'Ido', key: 'io' },\n { name: 'Icelandic', nativeName: 'Íslenska', key: 'is' },\n { name: 'Italian', nativeName: 'Italiano', key: 'it' },\n { name: 'Inuktitut', nativeName: 'ᐃᓄᒃᑎᑐᑦ', key: 'iu' },\n { name: 'Japanese', nativeName: '日本語 (にほんご/にっぽんご)', key: 'ja' },\n { name: 'Javanese', nativeName: 'basa Jawa', key: 'jv' },\n { name: 'Kalaallisut, Greenlandic', nativeName: 'kalaallisut, kalaallit oqaasii', key: 'kl' },\n { name: 'Kannada', nativeName: 'ಕನ್ನಡ', key: 'kn' },\n { name: 'Kanuri', nativeName: 'Kanuri', key: 'kr' },\n { name: 'Kashmiri', nativeName: 'कश्मीरी, كشميري‎', key: 'ks' },\n { name: 'Kazakh', nativeName: 'Қазақ тілі', key: 'kk' },\n { name: 'Khmer', nativeName: 'ភាសាខ្មែរ', key: 'km' },\n { name: 'Kikuyu, Gikuyu', nativeName: 'Gĩkũyũ', key: 'ki' },\n { name: 'Kinyarwanda', nativeName: 'Ikinyarwanda', key: 'rw' },\n { name: 'Kirghiz, Kyrgyz', nativeName: 'кыргыз тили', key: 'ky' },\n { name: 'Komi', nativeName: 'коми кыв', key: 'kv' },\n { name: 'Kongo', nativeName: 'KiKongo', key: 'kg' },\n { name: 'Korean', nativeName: '한국어 (韓國語), 조선말 (朝鮮語)', key: 'ko' },\n { name: 'Kurdish', nativeName: 'Kurdî, كوردی‎', key: 'ku' },\n { name: 'Kwanyama, Kuanyama', nativeName: 'Kuanyama', key: 'kj' },\n { name: 'Latin', nativeName: 'latine, lingua latina', key: 'la' },\n { name: 'Luxembourgish, Letzeburgesch', nativeName: 'Lëtzebuergesch', key: 'lb' },\n { name: 'Luganda', nativeName: 'Luganda', key: 'lg' },\n { name: 'Limburgish, Limburgan, Limburger', nativeName: 'Limburgs', key: 'li' },\n { name: 'Lingala', nativeName: 'Lingála', key: 'ln' },\n { name: 'Lao', nativeName: 'ພາສາລາວ', key: 'lo' },\n { name: 'Lithuanian', nativeName: 'lietuvių kalba', key: 'lt' },\n { name: 'Luba-Katanga', nativeName: 'Luba-Katanga', key: 'lu' },\n { name: 'Latvian', nativeName: 'latviešu valoda', key: 'lv' },\n { name: 'Manx', nativeName: 'Gaelg, Gailck', key: 'gv' },\n { name: 'Macedonian', nativeName: 'македонски јазик', key: 'mk' },\n { name: 'Malagasy', nativeName: 'Malagasy fiteny', key: 'mg' },\n { name: 'Malay', nativeName: 'bahasa Melayu, بهاس ملايو‎', key: 'ms' },\n { name: 'Malayalam', nativeName: 'മലയാളം', key: 'ml' },\n { name: 'Maltese', nativeName: 'Malti', key: 'mt' },\n { name: 'Māori', nativeName: 'te reo Māori', key: 'mi' },\n { name: 'Marathi (Marāṭhī)', nativeName: 'मराठी', key: 'mr' },\n { name: 'Marshallese', nativeName: 'Kajin M̧ajeļ', key: 'mh' },\n { name: 'Mongolian', nativeName: 'монгол', key: 'mn' },\n { name: 'Nauru', nativeName: 'Ekakairũ Naoero', key: 'na' },\n { name: 'Navajo, Navaho', nativeName: 'Diné bizaad, Dinékʼehǰí', key: 'nv' },\n { name: 'Norwegian Bokmål', nativeName: 'Norsk bokmål', key: 'nb' },\n { name: 'North Ndebele', nativeName: 'isiNdebele', key: 'nd' },\n { name: 'Nepali', nativeName: 'नेपाली', key: 'ne' },\n { name: 'Ndonga', nativeName: 'Owambo', key: 'ng' },\n { name: 'Norwegian Nynorsk', nativeName: 'Norsk nynorsk', key: 'nn' },\n { name: 'Norwegian', nativeName: 'Norsk', key: 'no' },\n { name: 'Nuosu', nativeName: 'ꆈꌠ꒿ Nuosuhxop', key: 'ii' },\n { name: 'South Ndebele', nativeName: 'isiNdebele', key: 'nr' },\n { name: 'Occitan', nativeName: 'Occitan', key: 'oc' },\n { name: 'Ojibwe, Ojibwa', nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ', key: 'oj' },\n { name: 'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic', nativeName: 'ѩзыкъ словѣньскъ', key: 'cu' },\n { name: 'Oromo', nativeName: 'Afaan Oromoo', key: 'om' },\n { name: 'Oriya', nativeName: 'ଓଡ଼ିଆ', key: 'or' },\n { name: 'Ossetian, Ossetic', nativeName: 'ирон æвзаг', key: 'os' },\n { name: 'Panjabi, Punjabi', nativeName: 'ਪੰਜਾਬੀ, پنجابی‎', key: 'pa' },\n { name: 'Pāli', nativeName: 'पाऴि', key: 'pi' },\n { name: 'Persian', nativeName: 'فارسی', key: 'fa' },\n { name: 'Polish', nativeName: 'polski', key: 'pl' },\n { name: 'Pashto, Pushto', nativeName: 'پښتو', key: 'ps' },\n { name: 'Portuguese', nativeName: 'Português', key: 'pt' },\n { name: 'Quechua', nativeName: 'Runa Simi, Kichwa', key: 'qu' },\n { name: 'Romansh', nativeName: 'rumantsch grischun', key: 'rm' },\n { name: 'Kirundi', nativeName: 'kiRundi', key: 'rn' },\n { name: 'Romanian, Moldavian, Moldovan', nativeName: 'română', key: 'ro' },\n { name: 'Russian', nativeName: 'русский язык', key: 'ru' },\n { name: 'Sanskrit (Saṁskṛta)', nativeName: 'संस्कृतम्', key: 'sa' },\n { name: 'Sardinian', nativeName: 'sardu', key: 'sc' },\n { name: 'Sindhi', nativeName: 'सिन्धी, سنڌي، سندھی‎', key: 'sd' },\n { name: 'Northern Sami', nativeName: 'Davvisámegiella', key: 'se' },\n { name: 'Samoan', nativeName: 'gagana faa Samoa', key: 'sm' },\n { name: 'Sango', nativeName: 'yângâ tî sängö', key: 'sg' },\n { name: 'Serbian', nativeName: 'српски језик', key: 'sr' },\n { name: 'Scottish Gaelic; Gaelic', nativeName: 'Gàidhlig', key: 'gd' },\n { name: 'Shona', nativeName: 'chiShona', key: 'sn' },\n { name: 'Sinhala, Sinhalese', nativeName: 'සිංහල', key: 'si' },\n { name: 'Slovak', nativeName: 'slovenčina', key: 'sk' },\n { name: 'Slovene', nativeName: 'slovenščina', key: 'sl' },\n { name: 'Somali', nativeName: 'Soomaaliga, af Soomaali', key: 'so' },\n { name: 'Southern Sotho', nativeName: 'Sesotho', key: 'st' },\n { name: 'Spanish; Castilian', nativeName: 'español, castellano', key: 'es' },\n { name: 'Sundanese', nativeName: 'Basa Sunda', key: 'su' },\n { name: 'Swahili', nativeName: 'Kiswahili', key: 'sw' },\n { name: 'Swati', nativeName: 'SiSwati', key: 'ss' },\n { name: 'Swedish', nativeName: 'svenska', key: 'sv' },\n { name: 'Tamil', nativeName: 'தமிழ்', key: 'ta' },\n { name: 'Telugu', nativeName: 'తెలుగు', key: 'te' },\n { name: 'Tajik', nativeName: 'тоҷикӣ, toğikī, تاجیکی‎', key: 'tg' },\n { name: 'Thai', nativeName: 'ไทย', key: 'th' },\n { name: 'Tigrinya', nativeName: 'ትግርኛ', key: 'ti' },\n { name: 'Tibetan Standard, Tibetan, Central', nativeName: 'བོད་ཡིག', key: 'bo' },\n { name: 'Turkmen', nativeName: 'Türkmen, Түркмен', key: 'tk' },\n { name: 'Tagalog', nativeName: 'Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔', key: 'tl' },\n { name: 'Tswana', nativeName: 'Setswana', key: 'tn' },\n { name: 'Tonga (Tonga Islands)', nativeName: 'faka Tonga', key: 'to' },\n { name: 'Turkish', nativeName: 'Türkçe', key: 'tr' },\n { name: 'Tsonga', nativeName: 'Xitsonga', key: 'ts' },\n { name: 'Tatar', nativeName: 'татарча, tatarça, تاتارچا‎', key: 'tt' },\n { name: 'Twi', nativeName: 'Twi', key: 'tw' },\n { name: 'Tahitian', nativeName: 'Reo Tahiti', key: 'ty' },\n { name: 'Uighur, Uyghur', nativeName: 'Uyƣurqə, ئۇيغۇرچە‎', key: 'ug' },\n { name: 'Ukrainian', nativeName: 'українська', key: 'uk' },\n { name: 'Urdu', nativeName: 'اردو', key: 'ur' },\n { name: 'Uzbek', nativeName: 'zbek, Ўзбек, أۇزبېك‎', key: 'uz' },\n { name: 'Venda', nativeName: 'Tshivenḓa', key: 've' },\n { name: 'Vietnamese', nativeName: 'Tiếng Việt', key: 'vi' },\n { name: 'Volapük', nativeName: 'Volapük', key: 'vo' },\n { name: 'Walloon', nativeName: 'Walon', key: 'wa' },\n { name: 'Welsh', nativeName: 'Cymraeg', key: 'cy' },\n { name: 'Wolof', nativeName: 'Wollof', key: 'wo' },\n { name: 'Western Frisian', nativeName: 'Frysk', key: 'fy' },\n { name: 'Xhosa', nativeName: 'isiXhosa', key: 'xh' },\n { name: 'Yiddish', nativeName: 'ייִדיש', key: 'yi' },\n { name: 'Yoruba', nativeName: 'Yorùbá', key: 'yo' },\n { name: 'Zhuang, Chuang', nativeName: 'Saɯ cueŋƅ, Saw cuengh', key: 'za' },\n ];\n const languageSupportData: Array<unknown> = [];\n languageSupport().forEach((key: string) => {\n const found = data.find((item) => item.key === key);\n if (found) {\n languageSupportData.push(found);\n }\n });\n return convertObjectOfArray(objectPattern, languageSupportData) as Array<IOption>;\n};\n\nexport const convertObjectOfArray = (objectPattern: unknown, data: Array<unknown>) => {\n if (!objectPattern || !Object.keys(objectPattern).length) {\n return data;\n }\n return data.map((item) => {\n return convertObject(objectPattern, item);\n });\n};\n\nconst convertObject = (objectPattern: unknown, data: unknown) => {\n // dữ liệu đầu vào là object\n if (!objectPattern || !Object.keys(objectPattern).length) {\n return data;\n }\n const keys = Object.keys(objectPattern);\n const objectConvert: unknown = {};\n keys.forEach((key) => {\n const valKey = get(objectPattern, key);\n if (!valKey || !(typeof valKey === 'string')) {\n return;\n }\n const keysObject: Array<string> = valKey.split('.');\n const value = getDataObject(keysObject, data);\n set(objectConvert, key, value);\n });\n return objectConvert;\n};\n\nconst getDataObject = (keysObject: Array<string>, object: unknown) => {\n let value = object;\n const length = keysObject.length;\n for (let i = 0; i < length; i++) {\n const key = keysObject[i];\n if (!key) {\n return undefined;\n }\n const valueKey = get(value, key);\n if (!valueKey) {\n return undefined;\n }\n value = valueKey;\n }\n return value;\n};\n\nexport const httpRequestDetail = (options: Array<{ label: string; key: string }>): IHttpRequestConfig => {\n return {\n serviceOther: returnDetailObject(new HttpParams({ fromObject: { fieldKey: 'key' } }), options),\n functionName: 'detailByData',\n argumentsValue: [''],\n guideAutoUpdateArgumentsValue: {\n paging: {},\n detailById: {\n fieldUpdate: '[0]',\n fieldGetValue: '',\n },\n },\n };\n};\n\nexport const listConfigItem = (options: Array<{ label: string; key: string }>): IListConfigItem => {\n return {\n type: 'text',\n httpRequestData: signal({\n serviceOther: returnListObject(options),\n functionName: 'list',\n argumentsValue: [''],\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getValue: (item) => `${item.label}`,\n }),\n };\n};\n\nexport const validRequired = (): IValidRequired => {\n return {\n message: '',\n isRequired: false,\n };\n};\n","import { ModelSignal, Pipe, PipeTransform, signal, WritableSignal } from '@angular/core';\nimport { get } from '@libs-ui/utils';\nimport { IDataMultiLanguage } from '../interfaces/multi-language.interface';\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageGetItemPipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageGetItemPipe implements PipeTransform {\n transform(keyBindData: string | undefined, dataLanguageChange: WritableSignal<IDataMultiLanguage> | IDataMultiLanguage): ModelSignal<IDataMultiLanguage> {\n return (keyBindData ? signal(get(dataLanguageChange, keyBindData)) : dataLanguageChange) as ModelSignal<IDataMultiLanguage>;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, OnDestroy, OnInit, output, signal, untracked } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { IInputValidFunctionControlEvent, IValidLength, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';\nimport { cloneDeep, get, isNil } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil, timer } from 'rxjs';\nimport { ICurrencyUnit, IDataItem, IDataMultiLanguage, IEventMultiLanguage, IInputMultiLanguageFunctionControlEvent, IOption, TYPE_VIEW_MULTI_LANGUAGE } from './interfaces/multi-language.interface';\nimport { LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe } from './pipes/display-language.pipe';\nimport { LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe } from './pipes/get-disable-key.pipe';\nimport { currenciesOptions, currenciesSupport, httpRequestDetail, langOptions, languageSupport, listConfigItem, validRequired } from './utils/multi-language';\nimport { LibsUiComponentsInputsMultiLanguageGetItemPipe } from './pipes/get-item.pipe';\nimport { LibsUiPipesEscapeHtmlPipe } from '@libs-ui/pipes-escape-html';\nimport { IQuillFunctionControlEvent, LibsUiComponentsInputsQuillComponent } from '@libs-ui/components-inputs-quill';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-multi_language',\n templateUrl: './multi-language.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsDropdownComponent,\n LibsUiComponentsInputsValidComponent,\n LibsUiComponentsButtonsButtonComponent,\n LibsUiComponentsPopoverComponent,\n LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe,\n LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe,\n LibsUiComponentsInputsMultiLanguageGetItemPipe,\n LibsUiPipesEscapeHtmlPipe,\n LibsUiComponentsInputsQuillComponent,\n ],\n})\nexport class LibsUiComponentsInputsMultiLanguageComponent implements OnInit, OnDestroy {\n // #region PROPERTY\n protected languageDisplay = signal<Array<string>>([]);\n protected dataLanguageChange = signal<IDataMultiLanguage>({});\n protected langDefault = signal<Array<string>>(languageSupport());\n protected currencyUnits = signal<Array<ICurrencyUnit>>([]);\n protected options = signal<Array<IOption>>(langOptions());\n protected validRequiredDefault = signal<IValidRequired>(validRequired());\n protected listConfigItem = computed(() => listConfigItem(this.options()));\n protected httpRequestDetail = computed(() => httpRequestDetail(this.options()));\n\n private inputFunctionControl = signal<Map<string, IInputValidFunctionControlEvent>>(new Map());\n private quillFunctionControl = signal<Array<IQuillFunctionControlEvent>>([]);\n private onDestroy = new Subject<void>();\n\n // #region INPUT\n readonly zIndex = input<number>();\n readonly viewType = input<TYPE_VIEW_MULTI_LANGUAGE, TYPE_VIEW_MULTI_LANGUAGE | undefined>('text', { transform: (value) => value ?? 'text' });\n readonly singleLanguage = input<boolean>();\n readonly data = model<Array<IDataItem>>([]);\n readonly validRequired = input<IValidRequired, IValidRequired | undefined>(validRequired(), { transform: (value) => value ?? validRequired() });\n readonly ignoreAdd = model<boolean>();\n readonly titleField = input<string>();\n readonly keyHeader = input<string>();\n readonly textArea = input<boolean>();\n readonly placeholder = input<string>();\n readonly extendClass = model<string>();\n readonly extendClassContent = input<string>();\n readonly viewPosition = input<'row' | 'column'>('row');\n readonly ignoreRemove = input<boolean>();\n readonly validMaxLength = input<IValidLength, IValidLength | undefined>({ length: 0 }, { transform: (value) => value ?? { length: 0 } });\n readonly validMinLength = input<IValidLength>();\n readonly countCharacters = input<boolean>();\n readonly viewContent = input<boolean>();\n readonly classIncludeKey = input<string>('libs-ui-font-h4r');\n readonly classIncludeValue = input<string>('libs-ui-font-h4s');\n readonly dataLanguage = model<IDataMultiLanguage>({});\n readonly multiLine = input<boolean>();\n readonly readonly = input<boolean>();\n readonly acceptNegativeValue = input<boolean>();\n readonly valueUpDownNumber = input<number>();\n readonly maxValueNumber = input<number>();\n readonly onlyAcceptNegativeValue = input<boolean>();\n\n // #region OUTPUT\n readonly outEventMultiLanguage = output<IEventMultiLanguage>();\n readonly outChangeTypeLanguage = output<boolean>();\n readonly outFunctionsControl = output<IInputMultiLanguageFunctionControlEvent>();\n readonly outChangeValueInput = output<void>();\n\n constructor() {\n effect(() => {\n const viewType = this.viewType();\n untracked(() => {\n if (viewType === 'integer') {\n this.langDefault.set(currenciesSupport());\n this.options.set(currenciesOptions());\n this.options().forEach((item) => {\n this.currencyUnits().push({\n label: item.label,\n id: item.key,\n type: item.label,\n });\n });\n this.currencyUnits.update((value) => [...value]);\n }\n });\n });\n\n effect(() => {\n untracked(() => {\n const dataLanguage = this.dataLanguage();\n this.dataLanguageChange.set(cloneDeep(dataLanguage));\n this.generateData();\n const optionsSelected: Set<string> = new Set();\n Object.keys(this.dataLanguageChange()).forEach((key) => {\n if (this.options().find((item) => item.key === key)) {\n optionsSelected.add(key);\n }\n });\n if (this.langDefault().length) {\n this.langDefault().forEach((key) => {\n if (!isNil(get(this.dataLanguageChange, key))) {\n optionsSelected.add(key);\n }\n });\n }\n this.languageDisplay.set(Array.from(optionsSelected));\n });\n });\n\n effect(() => {\n const singleLanguage = this.singleLanguage();\n untracked(() => {\n this.outChangeTypeLanguage.emit(true);\n if (!singleLanguage) {\n return;\n }\n const key = this.langDefault()[0];\n this.dataLanguage.update((value) => ({ ...value, [key]: get(this.dataLanguageChange, key) }));\n });\n });\n\n effect(() => {\n const validRequired = this.validRequired();\n untracked(() => {\n if (!validRequired) {\n return;\n }\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: validRequired.isRequired }));\n if (!validRequired.isRequired) {\n this.validate();\n }\n });\n });\n }\n\n ngOnInit() {\n this.outFunctionsControl.emit(this.FunctionsControl);\n this.extendClass.update((value) => `${value || ''} ${this.viewPosition() === 'row' ? 'flex-row' : 'flex-col'}`);\n }\n\n public get FunctionsControl(): IInputMultiLanguageFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n getData: this.getData.bind(this),\n };\n }\n\n protected async handlerInputFunctionControl(event: IInputValidFunctionControlEvent, key: string) {\n this.inputFunctionControl().set(key, event);\n }\n\n protected async handlerQuillFunctionControl(event: IQuillFunctionControlEvent) {\n this.quillFunctionControl.update((items) => [...items, event]);\n }\n\n protected async handlerSelectChange(event: IEmitSelectKey | undefined, keyOld: string) {\n if (!event || event.key === keyOld) {\n return;\n }\n this.languageDisplay.update((value) => value.map((item) => (item === keyOld ? (event.key as string) : item)));\n delete this.dataLanguageChange()[keyOld];\n delete this.dataLanguage()[keyOld];\n this.setDefaultData(event.key as string);\n }\n\n protected async handlerAddLanguage(event: Event) {\n event.stopPropagation();\n const lang = this.options().find((item) => !this.languageDisplay().includes(item.key));\n if (!lang) {\n return;\n }\n this.languageDisplay.update((value) => [...value, lang.key]);\n this.setDefaultData(lang.key);\n if (this.options().length === this.languageDisplay().length) {\n this.ignoreAdd.set(true);\n }\n this.outEventMultiLanguage.emit({ action: 'add', data: this.dataLanguageChange() });\n }\n\n protected async handlerRemoveLanguage(event: Event, key: string) {\n event.stopPropagation();\n this.ignoreAdd.set(true);\n this.dataLanguageChange.update((value) => {\n delete value[key];\n return { ...value };\n });\n this.validateIsMultiKey();\n this.languageDisplay.update((value) => value.filter((item) => item !== key));\n this.outEventMultiLanguage.emit({ action: 'remove', data: this.dataLanguageChange() });\n this.inputFunctionControl().delete(key);\n }\n\n private async getData() {\n if (this.singleLanguage()) {\n const key = this.langDefault()[0];\n this.dataLanguage.update((value) => ({ ...value, [key]: get(this.dataLanguageChange, key) }));\n return this.dataLanguage();\n }\n if (this.data().length > 1) {\n for (const item of this.data()) {\n const lang = this.langDefault()[0];\n const key = item.keyBindData;\n const dataByKey = key ? get(this.dataLanguageChange, key) : undefined;\n if (key && dataByKey && lang && !get(dataByKey, lang) && !get(this.dataLanguageChange, lang)) {\n return {};\n }\n }\n }\n return this.dataLanguageChange();\n }\n\n protected async generateData() {\n const lang = this.langDefault()[0];\n if (this.data().length) {\n this.data().forEach((item, index) => {\n const key = item.keyBindData;\n if (!index && isNil(get(this.dataLanguageChange, lang))) {\n this.setDefaultData(lang);\n return;\n }\n if (!key || !isNil(get(this.dataLanguageChange, key))) {\n return;\n }\n this.dataLanguageChange.update((value) => ({ ...value, [key]: { [lang]: '' } }));\n });\n }\n if (!this.data().length) {\n if (!this.dataLanguage() || !Object.keys(this.dataLanguage()).length) {\n this.setDefaultData(lang);\n }\n this.data.set([\n {\n type: this.viewType(),\n placeholder: this.placeholder(),\n isOneValue: false,\n keyBindData: '',\n },\n ]);\n }\n }\n\n private async setDefaultData(key: string) {\n this.dataLanguageChange.update((value) => ({ ...value, [key]: '' }));\n this.dataLanguage.update((value) => ({ ...value, [key]: '' }));\n }\n\n private async validate() {\n let valid = true;\n for (const control of this.inputFunctionControl().values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n for (const control of this.quillFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n if (this.singleLanguage()) {\n return valid;\n }\n if (this.data().length === 1) {\n await this.validateDefault();\n }\n this.validateIsMultiKey();\n return valid;\n }\n\n private async validateDefault() {\n let valid = true;\n if (this.validRequired().isRequired) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: true }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return valid;\n }\n if (Object.keys(this.dataLanguageChange()).length === 1) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: false }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return valid;\n }\n for (const key of Object.keys(this.dataLanguageChange())) {\n if (key !== 'id' && key !== this.keyHeader() && get(this.dataLanguageChange, key) && key !== this.langDefault()[0]) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: true }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return;\n }\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: false }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n }\n return valid;\n }\n\n private async checkValidInput() {\n let valid = true;\n for (const control of this.inputFunctionControl().values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n private async validateIsMultiKey() {\n if (this.data().length > 1) {\n if (this.data()[0].validRequired?.isRequired) {\n return;\n }\n this.data().forEach((item) => {\n if (!item.keyBindData) {\n return;\n }\n Object.keys(get(this.dataLanguageChange, item.keyBindData)).forEach(async (keyBind) => {\n for (const key of Object.keys(this.dataLanguageChange())) {\n if (key === item.keyBindData || key === keyBind) {\n continue;\n }\n if (get(this.dataLanguageChange, key) && this.options().find((item) => item.key === key)) {\n this.data().forEach(async (config) => {\n if (config && config.validRequiredLangDefault) {\n config.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n });\n return;\n }\n this.data().forEach(async (config) => {\n if (config && config.validRequiredLangDefault) {\n config.validRequiredLangDefault.isRequired = false;\n await this.checkValidInput();\n }\n });\n }\n const dataLanguageChangeByKeyBind = get(this.dataLanguageChange, keyBind);\n const dataLanguageChangeByKeyBindData = item.keyBindData ? get(this.dataLanguageChange, item.keyBindData) : undefined;\n if ((!dataLanguageChangeByKeyBind && !get(dataLanguageChangeByKeyBindData, keyBind)) || (dataLanguageChangeByKeyBind && get(dataLanguageChangeByKeyBindData, keyBind))) {\n return;\n }\n if (!dataLanguageChangeByKeyBind) {\n const dataFirst = this.data()[0];\n if (dataFirst && dataFirst.validRequiredLangDefault) {\n dataFirst.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n return;\n }\n if (!get(dataLanguageChangeByKeyBindData, keyBind)) {\n const dataSecond = this.data()[1];\n if (dataSecond && dataSecond.validRequiredLangDefault) {\n dataSecond.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n return;\n }\n });\n });\n }\n }\n\n protected async handlerInputChange() {\n this.outChangeValueInput.emit();\n timer(500)\n .pipe(takeUntil(this.onDestroy))\n .subscribe(() => this.validate());\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<div class=\"w-full\">\n @if (titleField(); as titleField) {\n <div class=\"libs-ui-font-h6m mb-[4px]\">{{ titleField | translate }}</div>\n }\n @for (key of languageDisplay(); track key) {\n @if (!viewContent()) {\n <div\n [class.mt-[4px]]=\"!$first\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.mt-[8px]]=\"countCharacters() && !$first\">\n <div class=\"flex {{ extendClass() }}\">\n @if (!singleLanguage()) {\n <div>\n <libs_ui-components-dropdown\n [listConfig]=\"listConfigItem()\"\n [httpRequestDetailItemById]=\"httpRequestDetail()\"\n [listKeysDisable]=\"languageDisplay() | LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe: key\"\n [readonly]=\"$index === 0 || readonly()\"\n [listKeySelected]=\"key\"\n [zIndex]=\"zIndex()\"\n [classInclude]=\"'w-[150px]'\"\n [listHasButtonUnSelectOption]=\"false\"\n (outSelectKey)=\"handlerSelectChange($event, key)\" />\n </div>\n }\n <div\n class=\"flex relative p-0 {{ extendClassContent() }}\"\n [class.w-[calc(100%-150px)]]=\"!textArea() && !singleLanguage() && viewPosition() === 'row'\"\n [class.w-full]=\"textArea() || singleLanguage() || viewPosition() === 'column'\">\n @for (item of data(); track item) {\n @if ((item.type !== 'editor' && !item.isOneValue) || (item.isOneValue && $first)) {\n <div\n class=\"relative {{ item.classIncludeInput }}\"\n [class.w-full]=\"(singleLanguage() && !multiLine()) || readonly() || $first\"\n [class.w-[calc(100%-28px)]]=\"textArea() || (!singleLanguage() && multiLine())\"\n [class.w-[calc(100%-40px)]]=\"!textArea() && !singleLanguage() && !multiLine() && !readonly()\"\n [class.w-[calc(100%-70px)]]=\"!textArea() && !singleLanguage() && multiLine()\"\n [class.mt-[8px]]=\"viewPosition() === 'column'\"\n [class.ml-[12px]]=\"!singleLanguage() && !textArea() && viewPosition() === 'row'\">\n @if (item.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: dataLanguageChange; as itemMap) {\n <libs_ui-components-inputs-valid\n [dataType]=\"item.type === 'number' ? 'int' : item.type === 'text' ? 'string' : item.type === 'bigint' ? 'bigint' : 'float'\"\n [(item)]=\"itemMap\"\n [fieldNameBind]=\"key\"\n [labelConfig]=\"countCharacters() ? { classInclude: 'absolute -top-[20px]', required: true } : undefined\"\n [tagInput]=\"textArea() ? 'textarea' : 'input'\"\n [placeholder]=\"item.placeholder || '' | translate\"\n [emitEmptyInDataTypeNumber]=\"true\"\n [validRequired]=\"\n $index === 0 && data().length <= 1\n ? validRequiredDefault()\n : $index === 0 && data().length > 1 && item.validRequiredLangDefault\n ? item.validRequiredLangDefault\n : item.validRequired\n ? item.validRequired\n : validRequired() || { isRequired: false }\n \"\n [unitsRight]=\"currencyUnits()\"\n [keySelectedUnitRight]=\"key\"\n [readonly]=\"readonly()\"\n [showCount]=\"countCharacters()\"\n [maxLength]=\"validMaxLength.length ? validMaxLength.length : undefined\"\n [fixedFloat]=\"item.type === 'bigint' ? 4 : 14\"\n [validMinLength]=\"{ length: validMinLength()?.length || -1, message: 'i18n_minimum_length_number', interpolateParams: { number: validMinLength()?.length } }\"\n [acceptNegativeValue]=\"acceptNegativeValue()\"\n [valueUpDownNumber]=\"valueUpDownNumber()\"\n [maxValueNumber]=\"maxValueNumber()\"\n [onlyAcceptNegativeValue]=\"onlyAcceptNegativeValue()\"\n (outValueChange)=\"handlerInputChange()\"\n (outFunctionsControl)=\"handlerInputFunctionControl($event, key)\" />\n }\n </div>\n }\n @if (item.type === 'editor') {\n <div class=\"w-[calc(100%-28px)]\">\n <div class=\"h-[250px]\">\n @if (item.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: dataLanguageChange; as itemMap) {\n <libs_ui-components-inputs-quill\n [(item)]=\"itemMap\"\n [fieldNameBind]=\"key\"\n [validRequired]=\"$index === 0 && data().length <= 1 ? validRequiredDefault() : validRequired()\"\n [placeholder]=\"item.placeholder || '' | translate\"\n [readonly]=\"readonly()\"\n (outFocus)=\"handlerInputChange()\"\n (outChange)=\"handlerInputChange()\"\n (outFunctionsControl)=\"handlerQuillFunctionControl($event)\" />\n }\n </div>\n </div>\n }\n }\n @if ($index > 0 && data().length === 1 && !ignoreRemove() && !readonly()) {\n <div class=\"h-[32px] flex items-center ml-[16px]\">\n <libs_ui-components-buttons-button\n [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631',\n },\n rootColor: '#071631',\n }\"\n [iconOnlyType]=\"true\"\n [popover]=\"{ config: { content: 'i18n_delete', zIndex: 1205 } }\"\n [classIconLeft]=\"'libs-ui-icon-remove'\"\n [classInclude]=\"'!p-0'\"\n (outClick)=\"handlerRemoveLanguage($event, key)\" />\n </div>\n }\n </div>\n </div>\n @if ($index === 0 && !singleLanguage() && options().length !== languageDisplay().length && viewType() !== 'integer' && !readonly()) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-primary'\"\n [label]=\"'i18n_add_language'\"\n [classIconLeft]=\"'libs-ui-icon-add'\"\n [classInclude]=\"'!px-0 mt-[8px]'\"\n (outClick)=\"handlerAddLanguage($event)\" />\n }\n </div>\n }\n @if (viewContent()) {\n <div class=\"flex\">\n @if (singleLanguage()) {\n <div\n class=\"flex\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.mt-[4px]]=\"!singleLanguage() && !$first\">\n <libs_ui-components-popover\n [type]=\"'text'\"\n [classInclude]=\"classIncludeKey()\"\n [innerHTML]=\"key | LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe: options()\" />\n </div>\n }\n <div\n class=\"w-[calc(100%-100px)]\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.flex]=\"!singleLanguage || $first\"\n [class.mt-[4px]]=\"!singleLanguage() && !$first\">\n <libs_ui-components-popover\n [type]=\"'text'\"\n [classInclude]=\"classIncludeValue()\"\n [innerHTML]=\"(dataLanguageChange()[key] || dataLanguageChange()[key] === 0 ? dataLanguageChange()[key] + '' : '') | LibsUiPipesEscapeHtmlPipe\"\n [config]=\"{ zIndex: zIndex() }\" />\n </div>\n </div>\n }\n }\n @if (viewType() === 'integer' && !this.ignoreAdd() && !readonly()) {\n <libs_ui-components-buttons-button\n type=\"button-link-primary\"\n [classIconLeft]=\"'libs-ui-icon-add mr-[8px] text-[10px]'\"\n [classLabel]=\"'libs-ui-font-h5r'\"\n [classInclude]=\"'!pb-0'\"\n [label]=\"'i18n_add_currency'\"\n (outClick)=\"handlerAddLanguage($event)\" />\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, model, OnInit, output, signal, untracked } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { IInputValidFunctionControlEvent, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { cloneDeep, isNil, UtilsCache } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LibsUiComponentsInputsMultiLanguageComponent } from '../multi-language.component';\nimport { IConfigMultiLanguageHeader, IDataItem, IDataMultiLanguage, IInputMultiLanguageFunctionControlEvent } from '../interfaces/multi-language.interface';\nimport { LibsUiComponentsInputsMultiLanguageGetItemPipe } from '../pipes/get-item.pipe';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-multi_language-items',\n templateUrl: './items.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, LibsUiComponentsInputsMultiLanguageGetItemPipe, LibsUiComponentsInputsValidComponent, LibsUiComponentsInputsMultiLanguageComponent, LibsUiComponentsButtonsButtonComponent],\n})\nexport class LibsUiComponentsInputsMultiLanguageItemsComponent implements OnInit {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected dataMultiKey = signal<Array<any>>([]);\n protected langDefault = signal<string>(UtilsCache.getLang());\n protected configHeader = signal<IConfigMultiLanguageHeader | undefined>(undefined);\n protected validRequired = signal<IValidRequired>({ isRequired: false });\n protected validRequiredWhenInputHasValue = signal<IValidRequired | undefined>(undefined);\n protected dataHeader = signal<string | undefined>(undefined);\n protected multiLanguageFunctionControl = signal<Array<IInputMultiLanguageFunctionControlEvent>>([]);\n protected inputValidFunctionControl = signal<Array<IInputValidFunctionControlEvent>>([]);\n\n readonly configItems = input<Array<IDataItem>>([]);\n readonly dataMultiLanguage = model<Array<IDataMultiLanguage>>([{}]);\n readonly zIndex = input<number>();\n readonly ignoreAdd = input<boolean>();\n readonly labelAddItem = input<string>();\n readonly singleLanguage = input<boolean>();\n readonly acceptNegativeValue = input<boolean>();\n readonly valueUpDownNumber = input<number>();\n readonly maxValueNumber = input<number>();\n readonly onlyAcceptNegativeValue = input<boolean>();\n\n readonly outClick = output<void>();\n readonly outFunctionControl = output<IInputMultiLanguageFunctionControlEvent>();\n readonly outChangeValue = output<void>();\n\n constructor() {\n effect(() => {\n const configItems = this.configItems();\n untracked(() => {\n if (configItems && configItems.length) {\n this.configHeader.set(configItems[0].header);\n }\n });\n });\n\n effect(() => {\n const dataMultiLanguage = this.dataMultiLanguage();\n untracked(() => {\n if (!dataMultiLanguage || !dataMultiLanguage.length) {\n this.dataMultiLanguage.set([{}]);\n const configHeader = this.configHeader();\n if (configHeader && configHeader.dataDefault) {\n this.dataMultiLanguage.set([cloneDeep(configHeader.dataDefault)]);\n }\n }\n this.handlerConfigMulti();\n });\n });\n }\n\n ngOnInit(): void {\n this.outFunctionControl.emit(this.FunctionsControl);\n const configItems = this.configItems();\n if (configItems && configItems.length && configItems[0].validRequired) {\n this.validRequired.set(configItems[0].validRequired);\n }\n }\n\n public get FunctionsControl(): IInputMultiLanguageFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n getData: this.getData.bind(this),\n };\n }\n\n protected async handlerConfigMulti() {\n this.dataMultiKey.set([]);\n this.dataMultiLanguage().forEach(() => {\n const configItems = this.configItems();\n if (configItems) {\n this.dataMultiKey().push(configItems);\n }\n });\n this.dataMultiKey.update((items) => [...items]);\n }\n\n protected async handlerAdd() {\n let dataLanguage: IDataMultiLanguage = {};\n const configHeader = this.configHeader();\n if (configHeader) {\n dataLanguage = cloneDeep(configHeader.dataDefault);\n }\n this.dataMultiLanguage.update((items) => [...items, dataLanguage]);\n this.dataMultiKey.update((items) => [...items, this.configItems()]);\n this.handlerChangeValue();\n }\n\n protected async handlerRemove(index: number) {\n this.dataMultiLanguage.update((items) => {\n items.splice(index, 1);\n return [...items];\n });\n this.handlerChangeValue();\n }\n\n protected async handlerClick(e: Event) {\n e.stopPropagation();\n this.outClick.emit();\n }\n\n protected async handlerFunctionsControlInputLanguage(event: IInputMultiLanguageFunctionControlEvent) {\n this.multiLanguageFunctionControl.update((items) => [...items, event]);\n console.log(this.multiLanguageFunctionControl());\n }\n\n protected async handlerFunctionsControlInputValid(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.update((items) => [...items, event]);\n }\n\n private async validate() {\n let valid = true;\n this.checkValidRequiredWhenInputHasValue();\n for (const control of this.inputValidFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n for (const control of this.multiLanguageFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n protected async getData(): Promise<IDataMultiLanguage[]> {\n const dataMultiLanguage: IDataMultiLanguage[] = [];\n for (const element of this.multiLanguageFunctionControl()) {\n dataMultiLanguage.push(((await element.getData()) as IDataMultiLanguage) || {});\n }\n // this.dataMultiLanguage.update(items => [...items]);\n return dataMultiLanguage;\n }\n\n protected async handlerChangeValue(value?: string | number, type?: string) {\n if (type === 'input') {\n this.dataHeader.set(value as string);\n }\n this.checkValidRequiredWhenInputHasValue();\n this.outChangeValue.emit();\n }\n\n protected async checkValidRequiredWhenInputHasValue() {\n this.validRequiredWhenInputHasValue.set(undefined);\n if (!isNil(this.dataHeader())) {\n this.validRequiredWhenInputHasValue.set({ isRequired: true });\n }\n }\n}\n","<div class=\"mt-[4px]\">\n @for (item of dataMultiLanguage(); track item) {\n <div\n class=\"flex w-full\"\n [class.mt-[12px]]=\"!$first\">\n <div\n class=\"libs-ui-border-general\"\n [class.w-full]=\"dataMultiLanguage().length < 2\"\n [class.w-[calc(100%-28px)]]=\"dataMultiLanguage().length > 1\">\n @if (configHeader(); as configHeader) {\n <div class=\"flex bg-[#e6eef5] px-[12px] py-[4px]\">\n <div class=\"libs-ui-font-h6m h-[32px] flex items-center\">{{ configHeader.title ?? ' ' | translate }}</div>\n <div\n (click)=\"handlerClick($event)\"\n class=\"pl-[8px]\">\n @if (configHeader.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: item; as itemMap) {\n <libs_ui-components-inputs-valid\n [(item)]=\"itemMap\"\n [dataType]=\"configHeader.type && configHeader.type === 'number' ? 'int' : 'string'\"\n [fieldNameBind]=\"langDefault()\"\n [emitEmptyInDataTypeNumber]=\"true\"\n [validRequired]=\"{ isRequired: configItems()[0].validRequired?.isRequired ?? false }\"\n [placeholder]=\"'i18n_enter_value'\"\n [acceptNegativeValue]=\"acceptNegativeValue() ?? true\"\n [valueUpDownNumber]=\"valueUpDownNumber() || 1\"\n [maxValueNumber]=\"maxValueNumber()\"\n [fixedFloat]=\"15\"\n (outValueChange)=\"handlerChangeValue($event, 'input')\"\n (outFunctionsControl)=\"handlerFunctionsControlInputValid($event)\" />\n }\n </div>\n </div>\n <div class=\"px-[12px] pt-[8px] pb-[12px] flex w-full\">\n <libs_ui-components-inputs-multi_language\n class=\"w-full\"\n [singleLanguage]=\"singleLanguage() || false\"\n [multiLine]=\"false\"\n [titleField]=\"configItems()[0].titleField || ''\"\n [keyHeader]=\"configHeader.keyBindData ?? ''\"\n [placeholder]=\"'i18n_import_content'\"\n [classIncludeValue]=\"'libs-ui-font-h4r'\"\n [data]=\"dataMultiKey()[$index]\"\n [validRequired]=\"validRequiredWhenInputHasValue() || configItems()[0].validRequired\"\n [dataLanguage]=\"item\"\n [zIndex]=\"1203\"\n [acceptNegativeValue]=\"acceptNegativeValue() ?? true\"\n [valueUpDownNumber]=\"valueUpDownNumber() || 1\"\n [maxValueNumber]=\"maxValueNumber()\"\n [onlyAcceptNegativeValue]=\"onlyAcceptNegativeValue()\"\n [viewType]=\"configItems()[0].type ? (configItems()[0].type === 'number' ? 'number' : configItems()[0].type === 'float' ? 'float' : 'text') : 'text'\"\n (outEventMultiLanguage)=\"handlerChangeValue()\"\n (outChangeValueInput)=\"handlerChangeValue()\"\n (outFunctionsControl)=\"handlerFunctionsControlInputLanguage($event)\" />\n </div>\n }\n </div>\n @if (!$first) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631',\n },\n rootColor: '#071631',\n }\"\n [iconOnlyType]=\"true\"\n [popover]=\"{ config: { content: 'i18n_delete', zIndex: 1205 } }\"\n [classIconLeft]=\"'libs-ui-icon-remove'\"\n [classInclude]=\"'!p-0 ml-[8px] mt-[12px]'\"\n (outClick)=\"handlerRemove($index)\" />\n }\n </div>\n }\n @if (!ignoreAdd()) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-primary'\"\n [classIconLeft]=\"'libs-ui-icon-add mr-[8px]'\"\n [classLabel]=\"'libs-ui-font-h5r'\"\n [classInclude]=\"'!px-0 mt-[8px]'\"\n [label]=\"labelAddItem() || ''\"\n (outClick)=\"handlerAdd()\" />\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-inputs-multi-language.mjs","sources":["../../../../../../libs-ui/components/inputs/multi-language/src/pipes/display-language.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/pipes/get-disable-key.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/utils/multi-language.ts","../../../../../../libs-ui/components/inputs/multi-language/src/pipes/get-item.pipe.ts","../../../../../../libs-ui/components/inputs/multi-language/src/multi-language.component.ts","../../../../../../libs-ui/components/inputs/multi-language/src/multi-language.component.html","../../../../../../libs-ui/components/inputs/multi-language/src/items/items.component.ts","../../../../../../libs-ui/components/inputs/multi-language/src/items/items.component.html","../../../../../../libs-ui/components/inputs/multi-language/src/libs-ui-components-inputs-multi-language.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { IOption } from '../interfaces/multi-language.interface';\nimport { CHARACTER_DATA_EMPTY } from '@libs-ui/utils';\n\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe implements PipeTransform {\n transform(keyLang: string, listLanguage: Array<IOption>): string {\n if (!keyLang || !listLanguage || !listLanguage.length) {\n return CHARACTER_DATA_EMPTY;\n }\n const result = listLanguage.find((item) => item.key === keyLang);\n if (!result) {\n return CHARACTER_DATA_EMPTY;\n }\n return `${result.label}:&nbsp;`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe implements PipeTransform {\n transform(langs: Array<string>, key: string): Array<string> {\n return langs.filter((item) => item !== key);\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { signal } from '@angular/core';\nimport { IValidRequired } from '@libs-ui/components-inputs-valid';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IHttpRequestConfig, returnDetailObject, returnListObject } from '@libs-ui/services-http-request';\nimport { get, set, UtilsCache } from '@libs-ui/utils';\nimport { IOption } from '../interfaces/multi-language.interface';\n\nexport const currenciesSupport = () => {\n // UtilsCache.KEY_CACHE_CURRENCIES_CMS_SUPPORT\n return UtilsCache.Get('test_currencies', ['VND', 'USD', 'EUR']);\n};\n\nexport const languageSupport = () => {\n // UtilsCache.KEY_CACHE_LANGUAGE_CMS_SUPPORT\n return UtilsCache.Get('test_lang', ['vi', 'en']);\n};\n\nexport const currenciesOptions = (objectPattern: { key: string; label: string } = { key: 'key', label: 'code' }) => {\n const data = [\n { symbol: '$', name: 'US Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'USD', name_plural: 'US dollars', key: 'USD' },\n { symbol: 'CA$', name: 'Canadian Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'CAD', name_plural: 'Canadian dollars', key: 'CAD' },\n { symbol: '€', name: 'Euro', symbol_native: '€', decimal_digits: 2, rounding: 0, code: 'EUR', name_plural: 'euros', key: 'EUR' },\n { symbol: 'AED', name: 'United Arab Emirates Dirham', symbol_native: 'د.إ.‏', decimal_digits: 2, rounding: 0, code: 'AED', name_plural: 'UAE dirhams', key: 'AED' },\n { symbol: 'Af', name: 'Afghan Afghani', symbol_native: '؋', decimal_digits: 0, rounding: 0, code: 'AFN', name_plural: 'Afghan Afghanis', key: 'AFN' },\n { symbol: 'ALL', name: 'Albanian Lek', symbol_native: 'Lek', decimal_digits: 0, rounding: 0, code: 'ALL', name_plural: 'Albanian lekë', key: 'ALL' },\n { symbol: 'AMD', name: 'Armenian Dram', symbol_native: 'դր.', decimal_digits: 0, rounding: 0, code: 'AMD', name_plural: 'Armenian drams', key: 'AMD' },\n { symbol: 'AR$', name: 'Argentine Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'ARS', name_plural: 'Argentine pesos', key: 'ARS' },\n { symbol: 'AU$', name: 'Australian Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'AUD', name_plural: 'Australian dollars', key: 'AUD' },\n { symbol: 'man.', name: 'Azerbaijani Manat', symbol_native: 'ман.', decimal_digits: 2, rounding: 0, code: 'AZN', name_plural: 'Azerbaijani manats', key: 'AZN' },\n { symbol: 'KM', name: 'Bosnia-Herzegovina Convertible Mark', symbol_native: 'KM', decimal_digits: 2, rounding: 0, code: 'BAM', name_plural: 'Bosnia-Herzegovina convertible marks', key: 'BAM' },\n { symbol: 'Tk', name: 'Bangladeshi Taka', symbol_native: '৳', decimal_digits: 2, rounding: 0, code: 'BDT', name_plural: 'Bangladeshi takas', key: 'BDT' },\n { symbol: 'BGN', name: 'Bulgarian Lev', symbol_native: 'лв.', decimal_digits: 2, rounding: 0, code: 'BGN', name_plural: 'Bulgarian leva', key: 'BGN' },\n { symbol: 'BD', name: 'Bahraini Dinar', symbol_native: 'د.ب.‏', decimal_digits: 3, rounding: 0, code: 'BHD', name_plural: 'Bahraini dinars', key: 'BHD' },\n { symbol: 'FBu', name: 'Burundian Franc', symbol_native: 'FBu', decimal_digits: 0, rounding: 0, code: 'BIF', name_plural: 'Burundian francs', key: 'BIF' },\n { symbol: 'BN$', name: 'Brunei Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'BND', name_plural: 'Brunei dollars', key: 'BND' },\n { symbol: 'Bs', name: 'Bolivian Boliviano', symbol_native: 'Bs', decimal_digits: 2, rounding: 0, code: 'BOB', name_plural: 'Bolivian bolivianos', key: 'BOB' },\n { symbol: 'R$', name: 'Brazilian Real', symbol_native: 'R$', decimal_digits: 2, rounding: 0, code: 'BRL', name_plural: 'Brazilian reals', key: 'BRL' },\n { symbol: 'BWP', name: 'Botswanan Pula', symbol_native: 'P', decimal_digits: 2, rounding: 0, code: 'BWP', name_plural: 'Botswanan pulas', key: 'BWP' },\n { symbol: 'Br', name: 'Belarusian Ruble', symbol_native: 'руб.', decimal_digits: 2, rounding: 0, code: 'BYN', name_plural: 'Belarusian rubles', key: 'BYN' },\n { symbol: 'BZ$', name: 'Belize Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'BZD', name_plural: 'Belize dollars', key: 'BZD' },\n { symbol: 'CDF', name: 'Congolese Franc', symbol_native: 'FrCD', decimal_digits: 2, rounding: 0, code: 'CDF', name_plural: 'Congolese francs', key: 'CDF' },\n { symbol: 'CHF', name: 'Swiss Franc', symbol_native: 'CHF', decimal_digits: 2, rounding: 0.05, code: 'CHF', name_plural: 'Swiss francs', key: 'CHF' },\n { symbol: 'CL$', name: 'Chilean Peso', symbol_native: '$', decimal_digits: 0, rounding: 0, code: 'CLP', name_plural: 'Chilean pesos', key: 'CLP' },\n { symbol: 'CN¥', name: 'Chinese Yuan', symbol_native: 'CN¥', decimal_digits: 2, rounding: 0, code: 'CNY', name_plural: 'Chinese yuan', key: 'CNY' },\n { symbol: 'CO$', name: 'Colombian Peso', symbol_native: '$', decimal_digits: 0, rounding: 0, code: 'COP', name_plural: 'Colombian pesos', key: 'COP' },\n { symbol: '₡', name: 'Costa Rican Colón', symbol_native: '₡', decimal_digits: 0, rounding: 0, code: 'CRC', name_plural: 'Costa Rican colóns', key: 'CRC' },\n { symbol: 'CV$', name: 'Cape Verdean Escudo', symbol_native: 'CV$', decimal_digits: 2, rounding: 0, code: 'CVE', name_plural: 'Cape Verdean escudos', key: 'CVE' },\n { symbol: 'Kč', name: 'Czech Republic Koruna', symbol_native: 'Kč', decimal_digits: 2, rounding: 0, code: 'CZK', name_plural: 'Czech Republic korunas', key: 'CZK' },\n { symbol: 'Fdj', name: 'Djiboutian Franc', symbol_native: 'Fdj', decimal_digits: 0, rounding: 0, code: 'DJF', name_plural: 'Djiboutian francs', key: 'DJF' },\n { symbol: 'Dkr', name: 'Danish Krone', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'DKK', name_plural: 'Danish kroner', key: 'DKK' },\n { symbol: 'RD$', name: 'Dominican Peso', symbol_native: 'RD$', decimal_digits: 2, rounding: 0, code: 'DOP', name_plural: 'Dominican pesos', key: 'DOP' },\n { symbol: 'DA', name: 'Algerian Dinar', symbol_native: 'د.ج.‏', decimal_digits: 2, rounding: 0, code: 'DZD', name_plural: 'Algerian dinars', key: 'DZD' },\n { symbol: 'Ekr', name: 'Estonian Kroon', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'EEK', name_plural: 'Estonian kroons', key: 'EEK' },\n { symbol: 'EGP', name: 'Egyptian Pound', symbol_native: 'ج.م.‏', decimal_digits: 2, rounding: 0, code: 'EGP', name_plural: 'Egyptian pounds', key: 'EGP' },\n { symbol: 'Nfk', name: 'Eritrean Nakfa', symbol_native: 'Nfk', decimal_digits: 2, rounding: 0, code: 'ERN', name_plural: 'Eritrean nakfas', key: 'ERN' },\n { symbol: 'Br', name: 'Ethiopian Birr', symbol_native: 'Br', decimal_digits: 2, rounding: 0, code: 'ETB', name_plural: 'Ethiopian birrs', key: 'ETB' },\n { symbol: '£', name: 'British Pound Sterling', symbol_native: '£', decimal_digits: 2, rounding: 0, code: 'GBP', name_plural: 'British pounds sterling', key: 'GBP' },\n { symbol: 'GEL', name: 'Georgian Lari', symbol_native: 'GEL', decimal_digits: 2, rounding: 0, code: 'GEL', name_plural: 'Georgian laris', key: 'GEL' },\n { symbol: 'GH₵', name: 'Ghanaian Cedi', symbol_native: 'GH₵', decimal_digits: 2, rounding: 0, code: 'GHS', name_plural: 'Ghanaian cedis', key: 'GHS' },\n { symbol: 'FG', name: 'Guinean Franc', symbol_native: 'FG', decimal_digits: 0, rounding: 0, code: 'GNF', name_plural: 'Guinean francs', key: 'GNF' },\n { symbol: 'GTQ', name: 'Guatemalan Quetzal', symbol_native: 'Q', decimal_digits: 2, rounding: 0, code: 'GTQ', name_plural: 'Guatemalan quetzals', key: 'GTQ' },\n { symbol: 'HK$', name: 'Hong Kong Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'HKD', name_plural: 'Hong Kong dollars', key: 'HKD' },\n { symbol: 'HNL', name: 'Honduran Lempira', symbol_native: 'L', decimal_digits: 2, rounding: 0, code: 'HNL', name_plural: 'Honduran lempiras', key: 'HNL' },\n { symbol: 'kn', name: 'Croatian Kuna', symbol_native: 'kn', decimal_digits: 2, rounding: 0, code: 'HRK', name_plural: 'Croatian kunas', key: 'HRK' },\n { symbol: 'Ft', name: 'Hungarian Forint', symbol_native: 'Ft', decimal_digits: 0, rounding: 0, code: 'HUF', name_plural: 'Hungarian forints', key: 'HUF' },\n { symbol: 'Rp', name: 'Indonesian Rupiah', symbol_native: 'Rp', decimal_digits: 0, rounding: 0, code: 'IDR', name_plural: 'Indonesian rupiahs', key: 'IDR' },\n { symbol: '₪', name: 'Israeli New Sheqel', symbol_native: '₪', decimal_digits: 2, rounding: 0, code: 'ILS', name_plural: 'Israeli new sheqels', key: 'ILS' },\n { symbol: 'Rs', name: 'Indian Rupee', symbol_native: 'টকা', decimal_digits: 2, rounding: 0, code: 'INR', name_plural: 'Indian rupees', key: 'INR' },\n { symbol: 'IQD', name: 'Iraqi Dinar', symbol_native: 'د.ع.‏', decimal_digits: 0, rounding: 0, code: 'IQD', name_plural: 'Iraqi dinars', key: 'IQD' },\n { symbol: 'IRR', name: 'Iranian Rial', symbol_native: '﷼', decimal_digits: 0, rounding: 0, code: 'IRR', name_plural: 'Iranian rials', key: 'IRR' },\n { symbol: 'Ikr', name: 'Icelandic Króna', symbol_native: 'kr', decimal_digits: 0, rounding: 0, code: 'ISK', name_plural: 'Icelandic krónur', key: 'ISK' },\n { symbol: 'J$', name: 'Jamaican Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'JMD', name_plural: 'Jamaican dollars', key: 'JMD' },\n { symbol: 'JD', name: 'Jordanian Dinar', symbol_native: 'د.أ.‏', decimal_digits: 3, rounding: 0, code: 'JOD', name_plural: 'Jordanian dinars', key: 'JOD' },\n { symbol: '¥', name: 'Japanese Yen', symbol_native: '¥', decimal_digits: 0, rounding: 0, code: 'JPY', name_plural: 'Japanese yen', key: 'JPY' },\n { symbol: 'Ksh', name: 'Kenyan Shilling', symbol_native: 'Ksh', decimal_digits: 2, rounding: 0, code: 'KES', name_plural: 'Kenyan shillings', key: 'KES' },\n { symbol: 'KHR', name: 'Cambodian Riel', symbol_native: '៛', decimal_digits: 2, rounding: 0, code: 'KHR', name_plural: 'Cambodian riels', key: 'KHR' },\n { symbol: 'CF', name: 'Comorian Franc', symbol_native: 'FC', decimal_digits: 0, rounding: 0, code: 'KMF', name_plural: 'Comorian francs', key: 'KMF' },\n { symbol: '₩', name: 'South Korean Won', symbol_native: '₩', decimal_digits: 0, rounding: 0, code: 'KRW', name_plural: 'South Korean won', key: 'KRW' },\n { symbol: 'KD', name: 'Kuwaiti Dinar', symbol_native: 'د.ك.‏', decimal_digits: 3, rounding: 0, code: 'KWD', name_plural: 'Kuwaiti dinars', key: 'KWD' },\n { symbol: 'KZT', name: 'Kazakhstani Tenge', symbol_native: 'тңг.', decimal_digits: 2, rounding: 0, code: 'KZT', name_plural: 'Kazakhstani tenges', key: 'KZT' },\n { symbol: 'LB£', name: 'Lebanese Pound', symbol_native: 'ل.ل.‏', decimal_digits: 0, rounding: 0, code: 'LBP', name_plural: 'Lebanese pounds', key: 'LBP' },\n { symbol: 'SLRs', name: 'Sri Lankan Rupee', symbol_native: 'SL Re', decimal_digits: 2, rounding: 0, code: 'LKR', name_plural: 'Sri Lankan rupees', key: 'LKR' },\n { symbol: 'Lt', name: 'Lithuanian Litas', symbol_native: 'Lt', decimal_digits: 2, rounding: 0, code: 'LTL', name_plural: 'Lithuanian litai', key: 'LTL' },\n { symbol: 'Ls', name: 'Latvian Lats', symbol_native: 'Ls', decimal_digits: 2, rounding: 0, code: 'LVL', name_plural: 'Latvian lati', key: 'LVL' },\n { symbol: 'LD', name: 'Libyan Dinar', symbol_native: 'د.ل.‏', decimal_digits: 3, rounding: 0, code: 'LYD', name_plural: 'Libyan dinars', key: 'LYD' },\n { symbol: 'MAD', name: 'Moroccan Dirham', symbol_native: 'د.م.‏', decimal_digits: 2, rounding: 0, code: 'MAD', name_plural: 'Moroccan dirhams', key: 'MAD' },\n { symbol: 'MDL', name: 'Moldovan Leu', symbol_native: 'MDL', decimal_digits: 2, rounding: 0, code: 'MDL', name_plural: 'Moldovan lei', key: 'MDL' },\n { symbol: 'MGA', name: 'Malagasy Ariary', symbol_native: 'MGA', decimal_digits: 0, rounding: 0, code: 'MGA', name_plural: 'Malagasy Ariaries', key: 'MGA' },\n { symbol: 'MKD', name: 'Macedonian Denar', symbol_native: 'MKD', decimal_digits: 2, rounding: 0, code: 'MKD', name_plural: 'Macedonian denari', key: 'MKD' },\n { symbol: 'MMK', name: 'Myanma Kyat', symbol_native: 'K', decimal_digits: 0, rounding: 0, code: 'MMK', name_plural: 'Myanma kyats', key: 'MMK' },\n { symbol: 'MOP$', name: 'Macanese Pataca', symbol_native: 'MOP$', decimal_digits: 2, rounding: 0, code: 'MOP', name_plural: 'Macanese patacas', key: 'MOP' },\n { symbol: 'MURs', name: 'Mauritian Rupee', symbol_native: 'MURs', decimal_digits: 0, rounding: 0, code: 'MUR', name_plural: 'Mauritian rupees', key: 'MUR' },\n { symbol: 'MX$', name: 'Mexican Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'MXN', name_plural: 'Mexican pesos', key: 'MXN' },\n { symbol: 'RM', name: 'Malaysian Ringgit', symbol_native: 'RM', decimal_digits: 2, rounding: 0, code: 'MYR', name_plural: 'Malaysian ringgits', key: 'MYR' },\n { symbol: 'MTn', name: 'Mozambican Metical', symbol_native: 'MTn', decimal_digits: 2, rounding: 0, code: 'MZN', name_plural: 'Mozambican meticals', key: 'MZN' },\n { symbol: 'N$', name: 'Namibian Dollar', symbol_native: 'N$', decimal_digits: 2, rounding: 0, code: 'NAD', name_plural: 'Namibian dollars', key: 'NAD' },\n { symbol: '₦', name: 'Nigerian Naira', symbol_native: '₦', decimal_digits: 2, rounding: 0, code: 'NGN', name_plural: 'Nigerian nairas', key: 'NGN' },\n { symbol: 'C$', name: 'Nicaraguan Córdoba', symbol_native: 'C$', decimal_digits: 2, rounding: 0, code: 'NIO', name_plural: 'Nicaraguan córdobas', key: 'NIO' },\n { symbol: 'Nkr', name: 'Norwegian Krone', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'NOK', name_plural: 'Norwegian kroner', key: 'NOK' },\n { symbol: 'NPRs', name: 'Nepalese Rupee', symbol_native: 'नेरू', decimal_digits: 2, rounding: 0, code: 'NPR', name_plural: 'Nepalese rupees', key: 'NPR' },\n { symbol: 'NZ$', name: 'New Zealand Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'NZD', name_plural: 'New Zealand dollars', key: 'NZD' },\n { symbol: 'OMR', name: 'Omani Rial', symbol_native: 'ر.ع.‏', decimal_digits: 3, rounding: 0, code: 'OMR', name_plural: 'Omani rials', key: 'OMR' },\n { symbol: 'B/.', name: 'Panamanian Balboa', symbol_native: 'B/.', decimal_digits: 2, rounding: 0, code: 'PAB', name_plural: 'Panamanian balboas', key: 'PAB' },\n { symbol: 'S/.', name: 'Peruvian Nuevo Sol', symbol_native: 'S/.', decimal_digits: 2, rounding: 0, code: 'PEN', name_plural: 'Peruvian nuevos soles', key: 'PEN' },\n { symbol: '₱', name: 'Philippine Peso', symbol_native: '₱', decimal_digits: 2, rounding: 0, code: 'PHP', name_plural: 'Philippine pesos', key: 'PHP' },\n { symbol: 'PKRs', name: 'Pakistani Rupee', symbol_native: '₨', decimal_digits: 0, rounding: 0, code: 'PKR', name_plural: 'Pakistani rupees', key: 'PKR' },\n { symbol: 'zł', name: 'Polish Zloty', symbol_native: 'zł', decimal_digits: 2, rounding: 0, code: 'PLN', name_plural: 'Polish zlotys', key: 'PLN' },\n { symbol: '₲', name: 'Paraguayan Guarani', symbol_native: '₲', decimal_digits: 0, rounding: 0, code: 'PYG', name_plural: 'Paraguayan guaranis', key: 'PYG' },\n { symbol: 'QR', name: 'Qatari Rial', symbol_native: 'ر.ق.‏', decimal_digits: 2, rounding: 0, code: 'QAR', name_plural: 'Qatari rials', key: 'QAR' },\n { symbol: 'RON', name: 'Romanian Leu', symbol_native: 'RON', decimal_digits: 2, rounding: 0, code: 'RON', name_plural: 'Romanian lei', key: 'RON' },\n { symbol: 'din.', name: 'Serbian Dinar', symbol_native: 'дин.', decimal_digits: 0, rounding: 0, code: 'RSD', name_plural: 'Serbian dinars', key: 'RSD' },\n { symbol: 'RUB', name: 'Russian Ruble', symbol_native: '₽.', decimal_digits: 2, rounding: 0, code: 'RUB', name_plural: 'Russian rubles', key: 'RUB' },\n { symbol: 'RWF', name: 'Rwandan Franc', symbol_native: 'FR', decimal_digits: 0, rounding: 0, code: 'RWF', name_plural: 'Rwandan francs', key: 'RWF' },\n { symbol: 'SR', name: 'Saudi Riyal', symbol_native: 'ر.س.‏', decimal_digits: 2, rounding: 0, code: 'SAR', name_plural: 'Saudi riyals', key: 'SAR' },\n { symbol: 'SDG', name: 'Sudanese Pound', symbol_native: 'SDG', decimal_digits: 2, rounding: 0, code: 'SDG', name_plural: 'Sudanese pounds', key: 'SDG' },\n { symbol: 'Skr', name: 'Swedish Krona', symbol_native: 'kr', decimal_digits: 2, rounding: 0, code: 'SEK', name_plural: 'Swedish kronor', key: 'SEK' },\n { symbol: 'S$', name: 'Singapore Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'SGD', name_plural: 'Singapore dollars', key: 'SGD' },\n { symbol: 'Ssh', name: 'Somali Shilling', symbol_native: 'Ssh', decimal_digits: 0, rounding: 0, code: 'SOS', name_plural: 'Somali shillings', key: 'SOS' },\n { symbol: 'SY£', name: 'Syrian Pound', symbol_native: 'ل.س.‏', decimal_digits: 0, rounding: 0, code: 'SYP', name_plural: 'Syrian pounds', key: 'SYP' },\n { symbol: '฿', name: 'Thai Baht', symbol_native: '฿', decimal_digits: 2, rounding: 0, code: 'THB', name_plural: 'Thai baht', key: 'THB' },\n { symbol: 'DT', name: 'Tunisian Dinar', symbol_native: 'د.ت.‏', decimal_digits: 3, rounding: 0, code: 'TND', name_plural: 'Tunisian dinars', key: 'TND' },\n { symbol: 'T$', name: 'Tongan Paʻanga', symbol_native: 'T$', decimal_digits: 2, rounding: 0, code: 'TOP', name_plural: 'Tongan paʻanga', key: 'TOP' },\n { symbol: 'TL', name: 'Turkish Lira', symbol_native: 'TL', decimal_digits: 2, rounding: 0, code: 'TRY', name_plural: 'Turkish Lira', key: 'TRY' },\n { symbol: 'TT$', name: 'Trinidad and Tobago Dollar', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'TTD', name_plural: 'Trinidad and Tobago dollars', key: 'TTD' },\n { symbol: 'NT$', name: 'New Taiwan Dollar', symbol_native: 'NT$', decimal_digits: 2, rounding: 0, code: 'TWD', name_plural: 'New Taiwan dollars', key: 'TWD' },\n { symbol: 'TSh', name: 'Tanzanian Shilling', symbol_native: 'TSh', decimal_digits: 0, rounding: 0, code: 'TZS', name_plural: 'Tanzanian shillings', key: 'TZS' },\n { symbol: '₴', name: 'Ukrainian Hryvnia', symbol_native: '₴', decimal_digits: 2, rounding: 0, code: 'UAH', name_plural: 'Ukrainian hryvnias', key: 'UAH' },\n { symbol: 'USh', name: 'Ugandan Shilling', symbol_native: 'USh', decimal_digits: 0, rounding: 0, code: 'UGX', name_plural: 'Ugandan shillings', key: 'UGX' },\n { symbol: '$U', name: 'Uruguayan Peso', symbol_native: '$', decimal_digits: 2, rounding: 0, code: 'UYU', name_plural: 'Uruguayan pesos', key: 'UYU' },\n { symbol: 'UZS', name: 'Uzbekistan Som', symbol_native: 'UZS', decimal_digits: 0, rounding: 0, code: 'UZS', name_plural: 'Uzbekistan som', key: 'UZS' },\n { symbol: 'Bs.F.', name: 'Venezuelan Bolívar', symbol_native: 'Bs.F.', decimal_digits: 2, rounding: 0, code: 'VEF', name_plural: 'Venezuelan bolívars', key: 'VEF' },\n { symbol: '₫', name: 'Vietnamese Dong', symbol_native: '₫', decimal_digits: 0, rounding: 0, code: 'VND', name_plural: 'Vietnamese dong', key: 'VND' },\n { symbol: 'FCFA', name: 'CFA Franc BEAC', symbol_native: 'FCFA', decimal_digits: 0, rounding: 0, code: 'XAF', name_plural: 'CFA francs BEAC', key: 'XAF' },\n { symbol: 'CFA', name: 'CFA Franc BCEAO', symbol_native: 'CFA', decimal_digits: 0, rounding: 0, code: 'XOF', name_plural: 'CFA francs BCEAO', key: 'XOF' },\n { symbol: 'YR', name: 'Yemeni Rial', symbol_native: 'ر.ي.‏', decimal_digits: 0, rounding: 0, code: 'YER', name_plural: 'Yemeni rials', key: 'YER' },\n { symbol: 'R', name: 'South African Rand', symbol_native: 'R', decimal_digits: 2, rounding: 0, code: 'ZAR', name_plural: 'South African rand', key: 'ZAR' },\n { symbol: 'ZK', name: 'Zambian Kwacha', symbol_native: 'ZK', decimal_digits: 0, rounding: 0, code: 'ZMK', name_plural: 'Zambian kwachas', key: 'ZMK' },\n { symbol: 'ZWL$', name: 'Zimbabwean Dollar', symbol_native: 'ZWL$', decimal_digits: 0, rounding: 0, code: 'ZWL', name_plural: 'Zimbabwean Dollar', key: 'ZWL' },\n ];\n const dataurrenciesSupportData: Array<unknown> = [];\n currenciesSupport().forEach((key: string) => {\n const found = data.find((item) => item.key === key);\n if (found) {\n dataurrenciesSupportData.push(found);\n }\n });\n return convertObjectOfArray(objectPattern, dataurrenciesSupportData) as Array<IOption>;\n};\n\nexport const langOptions = (objectPattern: { key: string; label: string } = { key: 'key', label: 'nativeName' }) => {\n const data = [\n { name: 'Abkhaz', nativeName: 'аҧсуа', key: 'ab' },\n { name: 'Afar', nativeName: 'Afaraf', key: 'aa' },\n { name: 'Afrikaans', nativeName: 'Afrikaans', key: 'af' },\n { name: 'Akan', nativeName: 'Akan', key: 'ak' },\n { name: 'Albanian', nativeName: 'Shqip', key: 'sq' },\n { name: 'Amharic', nativeName: 'አማርኛ', key: 'am' },\n { name: 'Arabic', nativeName: 'العربية', key: 'ar' },\n { name: 'Aragonese', nativeName: 'Aragonés', key: 'an' },\n { name: 'Armenian', nativeName: 'Հայերեն', key: 'hy' },\n { name: 'Assamese', nativeName: 'অসমীয়া', key: 'as' },\n { name: 'Avaric', nativeName: 'авар мацӀ, магӀарул мацӀ', key: 'av' },\n { name: 'Avestan', nativeName: 'avesta', key: 'ae' },\n { name: 'Aymara', nativeName: 'aymar aru', key: 'ay' },\n { name: 'Azerbaijani', nativeName: 'azərbaycan dili', key: 'az' },\n { name: 'Bambara', nativeName: 'bamanankan', key: 'bm' },\n { name: 'Bashkir', nativeName: 'башҡорт теле', key: 'ba' },\n { name: 'Basque', nativeName: 'euskara, euskera', key: 'eu' },\n { name: 'Belarusian', nativeName: 'Беларуская', key: 'be' },\n { name: 'Bengali', nativeName: 'বাংলা', key: 'bn' },\n { name: 'Bihari', nativeName: 'भोजपुरी', key: 'bh' },\n { name: 'Bislama', nativeName: 'Bislama', key: 'bi' },\n { name: 'Bosnian', nativeName: 'bosanski jezik', key: 'bs' },\n { name: 'Breton', nativeName: 'brezhoneg', key: 'br' },\n { name: 'Bulgarian', nativeName: 'български език', key: 'bg' },\n { name: 'Burmese', nativeName: 'ဗမာစာ', key: 'my' },\n { name: 'Catalan; Valencian', nativeName: 'Català', key: 'ca' },\n { name: 'Chamorro', nativeName: 'Chamoru', key: 'ch' },\n { name: 'Chechen', nativeName: 'нохчийн мотт', key: 'ce' },\n { name: 'Chichewa; Chewa; Nyanja', nativeName: 'chiCheŵa, chinyanja', key: 'ny' },\n { name: 'Chinese', nativeName: '中文 (Zhōngwén), 汉语, 漢語', key: 'zh' },\n { name: 'Chuvash', nativeName: 'чӑваш чӗлхи', key: 'cv' },\n { name: 'Cornish', nativeName: 'Kernewek', key: 'kw' },\n { name: 'Corsican', nativeName: 'corsu, lingua corsa', key: 'co' },\n { name: 'Cree', nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ', key: 'cr' },\n { name: 'Croatian', nativeName: 'hrvatski', key: 'hr' },\n { name: 'Czech', nativeName: 'česky, čeština', key: 'cs' },\n { name: 'Danish', nativeName: 'dansk', key: 'da' },\n { name: 'Divehi; Dhivehi; Maldivian;', nativeName: 'ދިވެހި', key: 'dv' },\n { name: 'Dutch', nativeName: 'Nederlands, Vlaams', key: 'nl' },\n { name: 'English', nativeName: 'English', key: 'en' },\n { name: 'Esperanto', nativeName: 'Esperanto', key: 'eo' },\n { name: 'Estonian', nativeName: 'eesti, eesti keel', key: 'et' },\n { name: 'Ewe', nativeName: 'Eʋegbe', key: 'ee' },\n { name: 'Faroese', nativeName: 'føroyskt', key: 'fo' },\n { name: 'Fijian', nativeName: 'vosa Vakaviti', key: 'fj' },\n { name: 'Finnish', nativeName: 'suomi, suomen kieli', key: 'fi' },\n { name: 'French', nativeName: 'français, langue française', key: 'fr' },\n { name: 'Fula; Fulah; Pulaar; Pular', nativeName: 'Fulfulde, Pulaar, Pular', key: 'ff' },\n { name: 'Galician', nativeName: 'Galego', key: 'gl' },\n { name: 'Georgian', nativeName: 'ქართული', key: 'ka' },\n { name: 'German', nativeName: 'Deutsch', key: 'de' },\n { name: 'Greek, Modern', nativeName: 'Ελληνικά', key: 'el' },\n { name: 'Guaraní', nativeName: 'Avañeẽ', key: 'gn' },\n { name: 'Gujarati', nativeName: 'ગુજરાતી', key: 'gu' },\n { name: 'Haitian; Haitian Creole', nativeName: 'Kreyòl ayisyen', key: 'ht' },\n { name: 'Hausa', nativeName: 'Hausa, هَوُسَ', key: 'ha' },\n { name: 'Hebrew (modern)', nativeName: 'עברית', key: 'he' },\n { name: 'Herero', nativeName: 'Otjiherero', key: 'hz' },\n { name: 'Hindi', nativeName: 'हिन्दी, हिंदी', key: 'hi' },\n { name: 'Hiri Motu', nativeName: 'Hiri Motu', key: 'ho' },\n { name: 'Hungarian', nativeName: 'Magyar', key: 'hu' },\n { name: 'Interlingua', nativeName: 'Interlingua', key: 'ia' },\n { name: 'Indonesian', nativeName: 'Bahasa Indonesia', key: 'id' },\n { name: 'Interlingue', nativeName: 'Originally called Occidental; then Interlingue after WWII', key: 'ie' },\n { name: 'Irish', nativeName: 'Gaeilge', key: 'ga' },\n { name: 'Igbo', nativeName: 'Asụsụ Igbo', key: 'ig' },\n { name: 'Inupiaq', nativeName: 'Iñupiaq, Iñupiatun', key: 'ik' },\n { name: 'Ido', nativeName: 'Ido', key: 'io' },\n { name: 'Icelandic', nativeName: 'Íslenska', key: 'is' },\n { name: 'Italian', nativeName: 'Italiano', key: 'it' },\n { name: 'Inuktitut', nativeName: 'ᐃᓄᒃᑎᑐᑦ', key: 'iu' },\n { name: 'Japanese', nativeName: '日本語 (にほんご/にっぽんご)', key: 'ja' },\n { name: 'Javanese', nativeName: 'basa Jawa', key: 'jv' },\n { name: 'Kalaallisut, Greenlandic', nativeName: 'kalaallisut, kalaallit oqaasii', key: 'kl' },\n { name: 'Kannada', nativeName: 'ಕನ್ನಡ', key: 'kn' },\n { name: 'Kanuri', nativeName: 'Kanuri', key: 'kr' },\n { name: 'Kashmiri', nativeName: 'कश्मीरी, كشميري‎', key: 'ks' },\n { name: 'Kazakh', nativeName: 'Қазақ тілі', key: 'kk' },\n { name: 'Khmer', nativeName: 'ភាសាខ្មែរ', key: 'km' },\n { name: 'Kikuyu, Gikuyu', nativeName: 'Gĩkũyũ', key: 'ki' },\n { name: 'Kinyarwanda', nativeName: 'Ikinyarwanda', key: 'rw' },\n { name: 'Kirghiz, Kyrgyz', nativeName: 'кыргыз тили', key: 'ky' },\n { name: 'Komi', nativeName: 'коми кыв', key: 'kv' },\n { name: 'Kongo', nativeName: 'KiKongo', key: 'kg' },\n { name: 'Korean', nativeName: '한국어 (韓國語), 조선말 (朝鮮語)', key: 'ko' },\n { name: 'Kurdish', nativeName: 'Kurdî, كوردی‎', key: 'ku' },\n { name: 'Kwanyama, Kuanyama', nativeName: 'Kuanyama', key: 'kj' },\n { name: 'Latin', nativeName: 'latine, lingua latina', key: 'la' },\n { name: 'Luxembourgish, Letzeburgesch', nativeName: 'Lëtzebuergesch', key: 'lb' },\n { name: 'Luganda', nativeName: 'Luganda', key: 'lg' },\n { name: 'Limburgish, Limburgan, Limburger', nativeName: 'Limburgs', key: 'li' },\n { name: 'Lingala', nativeName: 'Lingála', key: 'ln' },\n { name: 'Lao', nativeName: 'ພາສາລາວ', key: 'lo' },\n { name: 'Lithuanian', nativeName: 'lietuvių kalba', key: 'lt' },\n { name: 'Luba-Katanga', nativeName: 'Luba-Katanga', key: 'lu' },\n { name: 'Latvian', nativeName: 'latviešu valoda', key: 'lv' },\n { name: 'Manx', nativeName: 'Gaelg, Gailck', key: 'gv' },\n { name: 'Macedonian', nativeName: 'македонски јазик', key: 'mk' },\n { name: 'Malagasy', nativeName: 'Malagasy fiteny', key: 'mg' },\n { name: 'Malay', nativeName: 'bahasa Melayu, بهاس ملايو‎', key: 'ms' },\n { name: 'Malayalam', nativeName: 'മലയാളം', key: 'ml' },\n { name: 'Maltese', nativeName: 'Malti', key: 'mt' },\n { name: 'Māori', nativeName: 'te reo Māori', key: 'mi' },\n { name: 'Marathi (Marāṭhī)', nativeName: 'मराठी', key: 'mr' },\n { name: 'Marshallese', nativeName: 'Kajin M̧ajeļ', key: 'mh' },\n { name: 'Mongolian', nativeName: 'монгол', key: 'mn' },\n { name: 'Nauru', nativeName: 'Ekakairũ Naoero', key: 'na' },\n { name: 'Navajo, Navaho', nativeName: 'Diné bizaad, Dinékʼehǰí', key: 'nv' },\n { name: 'Norwegian Bokmål', nativeName: 'Norsk bokmål', key: 'nb' },\n { name: 'North Ndebele', nativeName: 'isiNdebele', key: 'nd' },\n { name: 'Nepali', nativeName: 'नेपाली', key: 'ne' },\n { name: 'Ndonga', nativeName: 'Owambo', key: 'ng' },\n { name: 'Norwegian Nynorsk', nativeName: 'Norsk nynorsk', key: 'nn' },\n { name: 'Norwegian', nativeName: 'Norsk', key: 'no' },\n { name: 'Nuosu', nativeName: 'ꆈꌠ꒿ Nuosuhxop', key: 'ii' },\n { name: 'South Ndebele', nativeName: 'isiNdebele', key: 'nr' },\n { name: 'Occitan', nativeName: 'Occitan', key: 'oc' },\n { name: 'Ojibwe, Ojibwa', nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ', key: 'oj' },\n { name: 'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic', nativeName: 'ѩзыкъ словѣньскъ', key: 'cu' },\n { name: 'Oromo', nativeName: 'Afaan Oromoo', key: 'om' },\n { name: 'Oriya', nativeName: 'ଓଡ଼ିଆ', key: 'or' },\n { name: 'Ossetian, Ossetic', nativeName: 'ирон æвзаг', key: 'os' },\n { name: 'Panjabi, Punjabi', nativeName: 'ਪੰਜਾਬੀ, پنجابی‎', key: 'pa' },\n { name: 'Pāli', nativeName: 'पाऴि', key: 'pi' },\n { name: 'Persian', nativeName: 'فارسی', key: 'fa' },\n { name: 'Polish', nativeName: 'polski', key: 'pl' },\n { name: 'Pashto, Pushto', nativeName: 'پښتو', key: 'ps' },\n { name: 'Portuguese', nativeName: 'Português', key: 'pt' },\n { name: 'Quechua', nativeName: 'Runa Simi, Kichwa', key: 'qu' },\n { name: 'Romansh', nativeName: 'rumantsch grischun', key: 'rm' },\n { name: 'Kirundi', nativeName: 'kiRundi', key: 'rn' },\n { name: 'Romanian, Moldavian, Moldovan', nativeName: 'română', key: 'ro' },\n { name: 'Russian', nativeName: 'русский язык', key: 'ru' },\n { name: 'Sanskrit (Saṁskṛta)', nativeName: 'संस्कृतम्', key: 'sa' },\n { name: 'Sardinian', nativeName: 'sardu', key: 'sc' },\n { name: 'Sindhi', nativeName: 'सिन्धी, سنڌي، سندھی‎', key: 'sd' },\n { name: 'Northern Sami', nativeName: 'Davvisámegiella', key: 'se' },\n { name: 'Samoan', nativeName: 'gagana faa Samoa', key: 'sm' },\n { name: 'Sango', nativeName: 'yângâ tî sängö', key: 'sg' },\n { name: 'Serbian', nativeName: 'српски језик', key: 'sr' },\n { name: 'Scottish Gaelic; Gaelic', nativeName: 'Gàidhlig', key: 'gd' },\n { name: 'Shona', nativeName: 'chiShona', key: 'sn' },\n { name: 'Sinhala, Sinhalese', nativeName: 'සිංහල', key: 'si' },\n { name: 'Slovak', nativeName: 'slovenčina', key: 'sk' },\n { name: 'Slovene', nativeName: 'slovenščina', key: 'sl' },\n { name: 'Somali', nativeName: 'Soomaaliga, af Soomaali', key: 'so' },\n { name: 'Southern Sotho', nativeName: 'Sesotho', key: 'st' },\n { name: 'Spanish; Castilian', nativeName: 'español, castellano', key: 'es' },\n { name: 'Sundanese', nativeName: 'Basa Sunda', key: 'su' },\n { name: 'Swahili', nativeName: 'Kiswahili', key: 'sw' },\n { name: 'Swati', nativeName: 'SiSwati', key: 'ss' },\n { name: 'Swedish', nativeName: 'svenska', key: 'sv' },\n { name: 'Tamil', nativeName: 'தமிழ்', key: 'ta' },\n { name: 'Telugu', nativeName: 'తెలుగు', key: 'te' },\n { name: 'Tajik', nativeName: 'тоҷикӣ, toğikī, تاجیکی‎', key: 'tg' },\n { name: 'Thai', nativeName: 'ไทย', key: 'th' },\n { name: 'Tigrinya', nativeName: 'ትግርኛ', key: 'ti' },\n { name: 'Tibetan Standard, Tibetan, Central', nativeName: 'བོད་ཡིག', key: 'bo' },\n { name: 'Turkmen', nativeName: 'Türkmen, Түркмен', key: 'tk' },\n { name: 'Tagalog', nativeName: 'Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔', key: 'tl' },\n { name: 'Tswana', nativeName: 'Setswana', key: 'tn' },\n { name: 'Tonga (Tonga Islands)', nativeName: 'faka Tonga', key: 'to' },\n { name: 'Turkish', nativeName: 'Türkçe', key: 'tr' },\n { name: 'Tsonga', nativeName: 'Xitsonga', key: 'ts' },\n { name: 'Tatar', nativeName: 'татарча, tatarça, تاتارچا‎', key: 'tt' },\n { name: 'Twi', nativeName: 'Twi', key: 'tw' },\n { name: 'Tahitian', nativeName: 'Reo Tahiti', key: 'ty' },\n { name: 'Uighur, Uyghur', nativeName: 'Uyƣurqə, ئۇيغۇرچە‎', key: 'ug' },\n { name: 'Ukrainian', nativeName: 'українська', key: 'uk' },\n { name: 'Urdu', nativeName: 'اردو', key: 'ur' },\n { name: 'Uzbek', nativeName: 'zbek, Ўзбек, أۇزبېك‎', key: 'uz' },\n { name: 'Venda', nativeName: 'Tshivenḓa', key: 've' },\n { name: 'Vietnamese', nativeName: 'Tiếng Việt', key: 'vi' },\n { name: 'Volapük', nativeName: 'Volapük', key: 'vo' },\n { name: 'Walloon', nativeName: 'Walon', key: 'wa' },\n { name: 'Welsh', nativeName: 'Cymraeg', key: 'cy' },\n { name: 'Wolof', nativeName: 'Wollof', key: 'wo' },\n { name: 'Western Frisian', nativeName: 'Frysk', key: 'fy' },\n { name: 'Xhosa', nativeName: 'isiXhosa', key: 'xh' },\n { name: 'Yiddish', nativeName: 'ייִדיש', key: 'yi' },\n { name: 'Yoruba', nativeName: 'Yorùbá', key: 'yo' },\n { name: 'Zhuang, Chuang', nativeName: 'Saɯ cueŋƅ, Saw cuengh', key: 'za' },\n ];\n const languageSupportData: Array<unknown> = [];\n languageSupport().forEach((key: string) => {\n const found = data.find((item) => item.key === key);\n if (found) {\n languageSupportData.push(found);\n }\n });\n return convertObjectOfArray(objectPattern, languageSupportData) as Array<IOption>;\n};\n\nexport const convertObjectOfArray = (objectPattern: unknown, data: Array<unknown>) => {\n if (!objectPattern || !Object.keys(objectPattern).length) {\n return data;\n }\n return data.map((item) => {\n return convertObject(objectPattern, item);\n });\n};\n\nconst convertObject = (objectPattern: unknown, data: unknown) => {\n // dữ liệu đầu vào là object\n if (!objectPattern || !Object.keys(objectPattern).length) {\n return data;\n }\n const keys = Object.keys(objectPattern);\n const objectConvert: unknown = {};\n keys.forEach((key) => {\n const valKey = get(objectPattern, key);\n if (!valKey || !(typeof valKey === 'string')) {\n return;\n }\n const keysObject: Array<string> = valKey.split('.');\n const value = getDataObject(keysObject, data);\n set(objectConvert, key, value);\n });\n return objectConvert;\n};\n\nconst getDataObject = (keysObject: Array<string>, object: unknown) => {\n let value = object;\n const length = keysObject.length;\n for (let i = 0; i < length; i++) {\n const key = keysObject[i];\n if (!key) {\n return undefined;\n }\n const valueKey = get(value, key);\n if (!valueKey) {\n return undefined;\n }\n value = valueKey;\n }\n return value;\n};\n\nexport const httpRequestDetail = (options: Array<{ label: string; key: string }>): IHttpRequestConfig => {\n return {\n objectInstance: returnDetailObject(new HttpParams({ fromObject: { fieldKey: 'key' } }), options),\n functionName: 'detailByData',\n argumentsValue: [''],\n guideAutoUpdateArgumentsValue: {\n paging: {},\n detailById: {\n fieldUpdate: '[0]',\n fieldGetValue: '',\n },\n },\n };\n};\n\nexport const listConfigItem = (options: Array<{ label: string; key: string }>): IListConfigItem => {\n return {\n type: 'text',\n httpRequestData: signal({\n serviceOther: returnListObject(options),\n functionName: 'list',\n argumentsValue: [''],\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getValue: (item) => `${item.label}`,\n }),\n };\n};\n\nexport const validRequired = (): IValidRequired => {\n return {\n message: '',\n isRequired: false,\n };\n};\n","import { ModelSignal, Pipe, PipeTransform, signal, WritableSignal } from '@angular/core';\nimport { get } from '@libs-ui/utils';\nimport { IDataMultiLanguage } from '../interfaces/multi-language.interface';\n@Pipe({\n name: 'LibsUiComponentsInputsMultiLanguageGetItemPipe',\n standalone: true,\n})\nexport class LibsUiComponentsInputsMultiLanguageGetItemPipe implements PipeTransform {\n transform(keyBindData: string | undefined, dataLanguageChange: WritableSignal<IDataMultiLanguage> | IDataMultiLanguage): ModelSignal<IDataMultiLanguage> {\n return (keyBindData ? signal(get(dataLanguageChange, keyBindData)) : dataLanguageChange) as ModelSignal<IDataMultiLanguage>;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, OnDestroy, OnInit, output, signal, untracked } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { IInputValidFunctionControlEvent, IValidLength, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';\nimport { cloneDeep, get, isNil } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil, timer } from 'rxjs';\nimport { ICurrencyUnit, IDataItem, IDataMultiLanguage, IEventMultiLanguage, IInputMultiLanguageFunctionControlEvent, IOption, TYPE_VIEW_MULTI_LANGUAGE } from './interfaces/multi-language.interface';\nimport { LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe } from './pipes/display-language.pipe';\nimport { LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe } from './pipes/get-disable-key.pipe';\nimport { currenciesOptions, currenciesSupport, httpRequestDetail, langOptions, languageSupport, listConfigItem, validRequired } from './utils/multi-language';\nimport { LibsUiComponentsInputsMultiLanguageGetItemPipe } from './pipes/get-item.pipe';\nimport { LibsUiPipesEscapeHtmlPipe } from '@libs-ui/pipes-escape-html';\nimport { IQuillFunctionControlEvent, LibsUiComponentsInputsQuillComponent } from '@libs-ui/components-inputs-quill';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-multi_language',\n templateUrl: './multi-language.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsDropdownComponent,\n LibsUiComponentsInputsValidComponent,\n LibsUiComponentsButtonsButtonComponent,\n LibsUiComponentsPopoverComponent,\n LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe,\n LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe,\n LibsUiComponentsInputsMultiLanguageGetItemPipe,\n LibsUiPipesEscapeHtmlPipe,\n LibsUiComponentsInputsQuillComponent,\n ],\n})\nexport class LibsUiComponentsInputsMultiLanguageComponent implements OnInit, OnDestroy {\n // #region PROPERTY\n protected languageDisplay = signal<Array<string>>([]);\n protected dataLanguageChange = signal<IDataMultiLanguage>({});\n protected langDefault = signal<Array<string>>(languageSupport());\n protected currencyUnits = signal<Array<ICurrencyUnit>>([]);\n protected options = signal<Array<IOption>>(langOptions());\n protected validRequiredDefault = signal<IValidRequired>(validRequired());\n protected listConfigItem = computed(() => listConfigItem(this.options()));\n protected httpRequestDetail = computed(() => httpRequestDetail(this.options()));\n\n private inputFunctionControl = signal<Map<string, IInputValidFunctionControlEvent>>(new Map());\n private quillFunctionControl = signal<Array<IQuillFunctionControlEvent>>([]);\n private onDestroy = new Subject<void>();\n\n // #region INPUT\n readonly zIndex = input<number>();\n readonly viewType = input<TYPE_VIEW_MULTI_LANGUAGE, TYPE_VIEW_MULTI_LANGUAGE | undefined>('text', { transform: (value) => value ?? 'text' });\n readonly singleLanguage = input<boolean>();\n readonly data = model<Array<IDataItem>>([]);\n readonly validRequired = input<IValidRequired, IValidRequired | undefined>(validRequired(), { transform: (value) => value ?? validRequired() });\n readonly ignoreAdd = model<boolean>();\n readonly titleField = input<string>();\n readonly keyHeader = input<string>();\n readonly textArea = input<boolean>();\n readonly placeholder = input<string>();\n readonly extendClass = model<string>();\n readonly extendClassContent = input<string>();\n readonly viewPosition = input<'row' | 'column'>('row');\n readonly ignoreRemove = input<boolean>();\n readonly validMaxLength = input<IValidLength, IValidLength | undefined>({ length: 0 }, { transform: (value) => value ?? { length: 0 } });\n readonly validMinLength = input<IValidLength>();\n readonly countCharacters = input<boolean>();\n readonly viewContent = input<boolean>();\n readonly classIncludeKey = input<string>('libs-ui-font-h4r');\n readonly classIncludeValue = input<string>('libs-ui-font-h4s');\n readonly dataLanguage = model<IDataMultiLanguage>({});\n readonly multiLine = input<boolean>();\n readonly readonly = input<boolean>();\n readonly acceptNegativeValue = input<boolean>();\n readonly valueUpDownNumber = input<number>();\n readonly maxValueNumber = input<number>();\n readonly onlyAcceptNegativeValue = input<boolean>();\n\n // #region OUTPUT\n readonly outEventMultiLanguage = output<IEventMultiLanguage>();\n readonly outChangeTypeLanguage = output<boolean>();\n readonly outFunctionsControl = output<IInputMultiLanguageFunctionControlEvent>();\n readonly outChangeValueInput = output<void>();\n\n constructor() {\n effect(() => {\n const viewType = this.viewType();\n untracked(() => {\n if (viewType === 'integer') {\n this.langDefault.set(currenciesSupport());\n this.options.set(currenciesOptions());\n this.options().forEach((item) => {\n this.currencyUnits().push({\n label: item.label,\n id: item.key,\n type: item.label,\n });\n });\n this.currencyUnits.update((value) => [...value]);\n }\n });\n });\n\n effect(() => {\n untracked(() => {\n const dataLanguage = this.dataLanguage();\n this.dataLanguageChange.set(cloneDeep(dataLanguage));\n this.generateData();\n const optionsSelected: Set<string> = new Set();\n Object.keys(this.dataLanguageChange()).forEach((key) => {\n if (this.options().find((item) => item.key === key)) {\n optionsSelected.add(key);\n }\n });\n if (this.langDefault().length) {\n this.langDefault().forEach((key) => {\n if (!isNil(get(this.dataLanguageChange, key))) {\n optionsSelected.add(key);\n }\n });\n }\n this.languageDisplay.set(Array.from(optionsSelected));\n });\n });\n\n effect(() => {\n const singleLanguage = this.singleLanguage();\n untracked(() => {\n this.outChangeTypeLanguage.emit(true);\n if (!singleLanguage) {\n return;\n }\n const key = this.langDefault()[0];\n this.dataLanguage.update((value) => ({ ...value, [key]: get(this.dataLanguageChange, key) }));\n });\n });\n\n effect(() => {\n const validRequired = this.validRequired();\n untracked(() => {\n if (!validRequired) {\n return;\n }\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: validRequired.isRequired }));\n if (!validRequired.isRequired) {\n this.validate();\n }\n });\n });\n }\n\n ngOnInit() {\n this.outFunctionsControl.emit(this.FunctionsControl);\n this.extendClass.update((value) => `${value || ''} ${this.viewPosition() === 'row' ? 'flex-row' : 'flex-col'}`);\n }\n\n public get FunctionsControl(): IInputMultiLanguageFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n getData: this.getData.bind(this),\n };\n }\n\n protected async handlerInputFunctionControl(event: IInputValidFunctionControlEvent, key: string) {\n this.inputFunctionControl().set(key, event);\n }\n\n protected async handlerQuillFunctionControl(event: IQuillFunctionControlEvent) {\n this.quillFunctionControl.update((items) => [...items, event]);\n }\n\n protected async handlerSelectChange(event: IEmitSelectKey | undefined, keyOld: string) {\n if (!event || event.key === keyOld) {\n return;\n }\n this.languageDisplay.update((value) => value.map((item) => (item === keyOld ? (event.key as string) : item)));\n delete this.dataLanguageChange()[keyOld];\n delete this.dataLanguage()[keyOld];\n this.setDefaultData(event.key as string);\n }\n\n protected async handlerAddLanguage(event: Event) {\n event.stopPropagation();\n const lang = this.options().find((item) => !this.languageDisplay().includes(item.key));\n if (!lang) {\n return;\n }\n this.languageDisplay.update((value) => [...value, lang.key]);\n this.setDefaultData(lang.key);\n if (this.options().length === this.languageDisplay().length) {\n this.ignoreAdd.set(true);\n }\n this.outEventMultiLanguage.emit({ action: 'add', data: this.dataLanguageChange() });\n }\n\n protected async handlerRemoveLanguage(event: Event, key: string) {\n event.stopPropagation();\n this.ignoreAdd.set(true);\n this.dataLanguageChange.update((value) => {\n delete value[key];\n return { ...value };\n });\n this.validateIsMultiKey();\n this.languageDisplay.update((value) => value.filter((item) => item !== key));\n this.outEventMultiLanguage.emit({ action: 'remove', data: this.dataLanguageChange() });\n this.inputFunctionControl().delete(key);\n }\n\n private async getData() {\n if (this.singleLanguage()) {\n const key = this.langDefault()[0];\n this.dataLanguage.update((value) => ({ ...value, [key]: get(this.dataLanguageChange, key) }));\n return this.dataLanguage();\n }\n if (this.data().length > 1) {\n for (const item of this.data()) {\n const lang = this.langDefault()[0];\n const key = item.keyBindData;\n const dataByKey = key ? get(this.dataLanguageChange, key) : undefined;\n if (key && dataByKey && lang && !get(dataByKey, lang) && !get(this.dataLanguageChange, lang)) {\n return {};\n }\n }\n }\n return this.dataLanguageChange();\n }\n\n protected async generateData() {\n const lang = this.langDefault()[0];\n if (this.data().length) {\n this.data().forEach((item, index) => {\n const key = item.keyBindData;\n if (!index && isNil(get(this.dataLanguageChange, lang))) {\n this.setDefaultData(lang);\n return;\n }\n if (!key || !isNil(get(this.dataLanguageChange, key))) {\n return;\n }\n this.dataLanguageChange.update((value) => ({ ...value, [key]: { [lang]: '' } }));\n });\n }\n if (!this.data().length) {\n if (!this.dataLanguage() || !Object.keys(this.dataLanguage()).length) {\n this.setDefaultData(lang);\n }\n this.data.set([\n {\n type: this.viewType(),\n placeholder: this.placeholder(),\n isOneValue: false,\n keyBindData: '',\n },\n ]);\n }\n }\n\n private async setDefaultData(key: string) {\n this.dataLanguageChange.update((value) => ({ ...value, [key]: '' }));\n this.dataLanguage.update((value) => ({ ...value, [key]: '' }));\n }\n\n private async validate() {\n let valid = true;\n for (const control of this.inputFunctionControl().values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n for (const control of this.quillFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n if (this.singleLanguage()) {\n return valid;\n }\n if (this.data().length === 1) {\n await this.validateDefault();\n }\n this.validateIsMultiKey();\n return valid;\n }\n\n private async validateDefault() {\n let valid = true;\n if (this.validRequired().isRequired) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: true }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return valid;\n }\n if (Object.keys(this.dataLanguageChange()).length === 1) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: false }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return valid;\n }\n for (const key of Object.keys(this.dataLanguageChange())) {\n if (key !== 'id' && key !== this.keyHeader() && get(this.dataLanguageChange, key) && key !== this.langDefault()[0]) {\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: true }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n return;\n }\n this.validRequiredDefault.update((value) => ({ ...value, isRequired: false }));\n if (!(await this.checkValidInput())) {\n valid = false;\n }\n }\n return valid;\n }\n\n private async checkValidInput() {\n let valid = true;\n for (const control of this.inputFunctionControl().values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n private async validateIsMultiKey() {\n if (this.data().length > 1) {\n if (this.data()[0].validRequired?.isRequired) {\n return;\n }\n this.data().forEach((item) => {\n if (!item.keyBindData) {\n return;\n }\n Object.keys(get(this.dataLanguageChange, item.keyBindData)).forEach(async (keyBind) => {\n for (const key of Object.keys(this.dataLanguageChange())) {\n if (key === item.keyBindData || key === keyBind) {\n continue;\n }\n if (get(this.dataLanguageChange, key) && this.options().find((item) => item.key === key)) {\n this.data().forEach(async (config) => {\n if (config && config.validRequiredLangDefault) {\n config.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n });\n return;\n }\n this.data().forEach(async (config) => {\n if (config && config.validRequiredLangDefault) {\n config.validRequiredLangDefault.isRequired = false;\n await this.checkValidInput();\n }\n });\n }\n const dataLanguageChangeByKeyBind = get(this.dataLanguageChange, keyBind);\n const dataLanguageChangeByKeyBindData = item.keyBindData ? get(this.dataLanguageChange, item.keyBindData) : undefined;\n if ((!dataLanguageChangeByKeyBind && !get(dataLanguageChangeByKeyBindData, keyBind)) || (dataLanguageChangeByKeyBind && get(dataLanguageChangeByKeyBindData, keyBind))) {\n return;\n }\n if (!dataLanguageChangeByKeyBind) {\n const dataFirst = this.data()[0];\n if (dataFirst && dataFirst.validRequiredLangDefault) {\n dataFirst.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n return;\n }\n if (!get(dataLanguageChangeByKeyBindData, keyBind)) {\n const dataSecond = this.data()[1];\n if (dataSecond && dataSecond.validRequiredLangDefault) {\n dataSecond.validRequiredLangDefault.isRequired = true;\n await this.checkValidInput();\n }\n return;\n }\n });\n });\n }\n }\n\n protected async handlerInputChange() {\n this.outChangeValueInput.emit();\n timer(500)\n .pipe(takeUntil(this.onDestroy))\n .subscribe(() => this.validate());\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<div class=\"w-full\">\n @if (titleField(); as titleField) {\n <div class=\"libs-ui-font-h6m mb-[4px]\">{{ titleField | translate }}</div>\n }\n @for (key of languageDisplay(); track key) {\n @if (!viewContent()) {\n <div\n [class.mt-[4px]]=\"!$first\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.mt-[8px]]=\"countCharacters() && !$first\">\n <div class=\"flex {{ extendClass() }}\">\n @if (!singleLanguage()) {\n <div>\n <libs_ui-components-dropdown\n [listConfig]=\"listConfigItem()\"\n [httpRequestDetailItemById]=\"httpRequestDetail()\"\n [listKeysDisable]=\"languageDisplay() | LibsUiComponentsInputsMultiLanguageGetDisableKeyPipe: key\"\n [readonly]=\"$index === 0 || readonly()\"\n [listKeySelected]=\"key\"\n [zIndex]=\"zIndex()\"\n [classInclude]=\"'w-[150px]'\"\n [listHasButtonUnSelectOption]=\"false\"\n (outSelectKey)=\"handlerSelectChange($event, key)\" />\n </div>\n }\n <div\n class=\"flex relative p-0 {{ extendClassContent() }}\"\n [class.w-[calc(100%-150px)]]=\"!textArea() && !singleLanguage() && viewPosition() === 'row'\"\n [class.w-full]=\"textArea() || singleLanguage() || viewPosition() === 'column'\">\n @for (item of data(); track item) {\n @if ((item.type !== 'editor' && !item.isOneValue) || (item.isOneValue && $first)) {\n <div\n class=\"relative {{ item.classIncludeInput }}\"\n [class.w-full]=\"(singleLanguage() && !multiLine()) || readonly() || $first\"\n [class.w-[calc(100%-28px)]]=\"textArea() || (!singleLanguage() && multiLine())\"\n [class.w-[calc(100%-40px)]]=\"!textArea() && !singleLanguage() && !multiLine() && !readonly()\"\n [class.w-[calc(100%-70px)]]=\"!textArea() && !singleLanguage() && multiLine()\"\n [class.mt-[8px]]=\"viewPosition() === 'column'\"\n [class.ml-[12px]]=\"!singleLanguage() && !textArea() && viewPosition() === 'row'\">\n @if (item.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: dataLanguageChange; as itemMap) {\n <libs_ui-components-inputs-valid\n [dataType]=\"item.type === 'number' ? 'int' : item.type === 'text' ? 'string' : item.type === 'bigint' ? 'bigint' : 'float'\"\n [(item)]=\"itemMap\"\n [fieldNameBind]=\"key\"\n [labelConfig]=\"countCharacters() ? { classInclude: 'absolute -top-[20px]', required: true } : undefined\"\n [tagInput]=\"textArea() ? 'textarea' : 'input'\"\n [placeholder]=\"item.placeholder || '' | translate\"\n [emitEmptyInDataTypeNumber]=\"true\"\n [validRequired]=\"\n $index === 0 && data().length <= 1\n ? validRequiredDefault()\n : $index === 0 && data().length > 1 && item.validRequiredLangDefault\n ? item.validRequiredLangDefault\n : item.validRequired\n ? item.validRequired\n : validRequired() || { isRequired: false }\n \"\n [unitsRight]=\"currencyUnits()\"\n [keySelectedUnitRight]=\"key\"\n [readonly]=\"readonly()\"\n [showCount]=\"countCharacters()\"\n [maxLength]=\"validMaxLength.length ? validMaxLength.length : undefined\"\n [fixedFloat]=\"item.type === 'bigint' ? 4 : 14\"\n [validMinLength]=\"{ length: validMinLength()?.length || -1, message: 'i18n_minimum_length_number', interpolateParams: { number: validMinLength()?.length } }\"\n [acceptNegativeValue]=\"acceptNegativeValue()\"\n [valueUpDownNumber]=\"valueUpDownNumber()\"\n [maxValueNumber]=\"maxValueNumber()\"\n [onlyAcceptNegativeValue]=\"onlyAcceptNegativeValue()\"\n (outValueChange)=\"handlerInputChange()\"\n (outFunctionsControl)=\"handlerInputFunctionControl($event, key)\" />\n }\n </div>\n }\n @if (item.type === 'editor') {\n <div class=\"w-[calc(100%-28px)]\">\n <div class=\"h-[250px]\">\n @if (item.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: dataLanguageChange; as itemMap) {\n <libs_ui-components-inputs-quill\n [(item)]=\"itemMap\"\n [fieldNameBind]=\"key\"\n [validRequired]=\"$index === 0 && data().length <= 1 ? validRequiredDefault() : validRequired()\"\n [placeholder]=\"item.placeholder || '' | translate\"\n [readonly]=\"readonly()\"\n (outFocus)=\"handlerInputChange()\"\n (outChange)=\"handlerInputChange()\"\n (outFunctionsControl)=\"handlerQuillFunctionControl($event)\" />\n }\n </div>\n </div>\n }\n }\n @if ($index > 0 && data().length === 1 && !ignoreRemove() && !readonly()) {\n <div class=\"h-[32px] flex items-center ml-[16px]\">\n <libs_ui-components-buttons-button\n [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631',\n },\n rootColor: '#071631',\n }\"\n [iconOnlyType]=\"true\"\n [popover]=\"{ config: { content: 'i18n_delete', zIndex: 1205 } }\"\n [classIconLeft]=\"'libs-ui-icon-remove'\"\n [classInclude]=\"'!p-0'\"\n (outClick)=\"handlerRemoveLanguage($event, key)\" />\n </div>\n }\n </div>\n </div>\n @if ($index === 0 && !singleLanguage() && options().length !== languageDisplay().length && viewType() !== 'integer' && !readonly()) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-primary'\"\n [label]=\"'i18n_add_language'\"\n [classIconLeft]=\"'libs-ui-icon-add'\"\n [classInclude]=\"'!px-0 mt-[8px]'\"\n (outClick)=\"handlerAddLanguage($event)\" />\n }\n </div>\n }\n @if (viewContent()) {\n <div class=\"flex\">\n @if (singleLanguage()) {\n <div\n class=\"flex\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.mt-[4px]]=\"!singleLanguage() && !$first\">\n <libs_ui-components-popover\n [type]=\"'text'\"\n [classInclude]=\"classIncludeKey()\"\n [innerHTML]=\"key | LibsUiComponentsInputsMultiLanguageDisplayLanguagePipe: options()\" />\n </div>\n }\n <div\n class=\"w-[calc(100%-100px)]\"\n [class.hidden]=\"singleLanguage() && !$first\"\n [class.flex]=\"!singleLanguage || $first\"\n [class.mt-[4px]]=\"!singleLanguage() && !$first\">\n <libs_ui-components-popover\n [type]=\"'text'\"\n [classInclude]=\"classIncludeValue()\"\n [innerHTML]=\"(dataLanguageChange()[key] || dataLanguageChange()[key] === 0 ? dataLanguageChange()[key] + '' : '') | LibsUiPipesEscapeHtmlPipe\"\n [config]=\"{ zIndex: zIndex() }\" />\n </div>\n </div>\n }\n }\n @if (viewType() === 'integer' && !this.ignoreAdd() && !readonly()) {\n <libs_ui-components-buttons-button\n type=\"button-link-primary\"\n [classIconLeft]=\"'libs-ui-icon-add mr-[8px] text-[10px]'\"\n [classLabel]=\"'libs-ui-font-h5r'\"\n [classInclude]=\"'!pb-0'\"\n [label]=\"'i18n_add_currency'\"\n (outClick)=\"handlerAddLanguage($event)\" />\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, model, OnInit, output, signal, untracked } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { IInputValidFunctionControlEvent, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { cloneDeep, isNil, UtilsCache } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LibsUiComponentsInputsMultiLanguageComponent } from '../multi-language.component';\nimport { IConfigMultiLanguageHeader, IDataItem, IDataMultiLanguage, IInputMultiLanguageFunctionControlEvent } from '../interfaces/multi-language.interface';\nimport { LibsUiComponentsInputsMultiLanguageGetItemPipe } from '../pipes/get-item.pipe';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-multi_language-items',\n templateUrl: './items.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, LibsUiComponentsInputsMultiLanguageGetItemPipe, LibsUiComponentsInputsValidComponent, LibsUiComponentsInputsMultiLanguageComponent, LibsUiComponentsButtonsButtonComponent],\n})\nexport class LibsUiComponentsInputsMultiLanguageItemsComponent implements OnInit {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected dataMultiKey = signal<Array<any>>([]);\n protected langDefault = signal<string>(UtilsCache.getLang());\n protected configHeader = signal<IConfigMultiLanguageHeader | undefined>(undefined);\n protected validRequired = signal<IValidRequired>({ isRequired: false });\n protected validRequiredWhenInputHasValue = signal<IValidRequired | undefined>(undefined);\n protected dataHeader = signal<string | undefined>(undefined);\n protected multiLanguageFunctionControl = signal<Array<IInputMultiLanguageFunctionControlEvent>>([]);\n protected inputValidFunctionControl = signal<Array<IInputValidFunctionControlEvent>>([]);\n\n readonly configItems = input<Array<IDataItem>>([]);\n readonly dataMultiLanguage = model<Array<IDataMultiLanguage>>([{}]);\n readonly zIndex = input<number>();\n readonly ignoreAdd = input<boolean>();\n readonly labelAddItem = input<string>();\n readonly singleLanguage = input<boolean>();\n readonly acceptNegativeValue = input<boolean>();\n readonly valueUpDownNumber = input<number>();\n readonly maxValueNumber = input<number>();\n readonly onlyAcceptNegativeValue = input<boolean>();\n\n readonly outClick = output<void>();\n readonly outFunctionControl = output<IInputMultiLanguageFunctionControlEvent>();\n readonly outChangeValue = output<void>();\n\n constructor() {\n effect(() => {\n const configItems = this.configItems();\n untracked(() => {\n if (configItems && configItems.length) {\n this.configHeader.set(configItems[0].header);\n }\n });\n });\n\n effect(() => {\n const dataMultiLanguage = this.dataMultiLanguage();\n untracked(() => {\n if (!dataMultiLanguage || !dataMultiLanguage.length) {\n this.dataMultiLanguage.set([{}]);\n const configHeader = this.configHeader();\n if (configHeader && configHeader.dataDefault) {\n this.dataMultiLanguage.set([cloneDeep(configHeader.dataDefault)]);\n }\n }\n this.handlerConfigMulti();\n });\n });\n }\n\n ngOnInit(): void {\n this.outFunctionControl.emit(this.FunctionsControl);\n const configItems = this.configItems();\n if (configItems && configItems.length && configItems[0].validRequired) {\n this.validRequired.set(configItems[0].validRequired);\n }\n }\n\n public get FunctionsControl(): IInputMultiLanguageFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n getData: this.getData.bind(this),\n };\n }\n\n protected async handlerConfigMulti() {\n this.dataMultiKey.set([]);\n this.dataMultiLanguage().forEach(() => {\n const configItems = this.configItems();\n if (configItems) {\n this.dataMultiKey().push(configItems);\n }\n });\n this.dataMultiKey.update((items) => [...items]);\n }\n\n protected async handlerAdd() {\n let dataLanguage: IDataMultiLanguage = {};\n const configHeader = this.configHeader();\n if (configHeader) {\n dataLanguage = cloneDeep(configHeader.dataDefault);\n }\n this.dataMultiLanguage.update((items) => [...items, dataLanguage]);\n this.dataMultiKey.update((items) => [...items, this.configItems()]);\n this.handlerChangeValue();\n }\n\n protected async handlerRemove(index: number) {\n this.dataMultiLanguage.update((items) => {\n items.splice(index, 1);\n return [...items];\n });\n this.handlerChangeValue();\n }\n\n protected async handlerClick(e: Event) {\n e.stopPropagation();\n this.outClick.emit();\n }\n\n protected async handlerFunctionsControlInputLanguage(event: IInputMultiLanguageFunctionControlEvent) {\n this.multiLanguageFunctionControl.update((items) => [...items, event]);\n console.log(this.multiLanguageFunctionControl());\n }\n\n protected async handlerFunctionsControlInputValid(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.update((items) => [...items, event]);\n }\n\n private async validate() {\n let valid = true;\n this.checkValidRequiredWhenInputHasValue();\n for (const control of this.inputValidFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n for (const control of this.multiLanguageFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n protected async getData(): Promise<IDataMultiLanguage[]> {\n const dataMultiLanguage: IDataMultiLanguage[] = [];\n for (const element of this.multiLanguageFunctionControl()) {\n dataMultiLanguage.push(((await element.getData()) as IDataMultiLanguage) || {});\n }\n // this.dataMultiLanguage.update(items => [...items]);\n return dataMultiLanguage;\n }\n\n protected async handlerChangeValue(value?: string | number, type?: string) {\n if (type === 'input') {\n this.dataHeader.set(value as string);\n }\n this.checkValidRequiredWhenInputHasValue();\n this.outChangeValue.emit();\n }\n\n protected async checkValidRequiredWhenInputHasValue() {\n this.validRequiredWhenInputHasValue.set(undefined);\n if (!isNil(this.dataHeader())) {\n this.validRequiredWhenInputHasValue.set({ isRequired: true });\n }\n }\n}\n","<div class=\"mt-[4px]\">\n @for (item of dataMultiLanguage(); track item) {\n <div\n class=\"flex w-full\"\n [class.mt-[12px]]=\"!$first\">\n <div\n class=\"libs-ui-border-general\"\n [class.w-full]=\"dataMultiLanguage().length < 2\"\n [class.w-[calc(100%-28px)]]=\"dataMultiLanguage().length > 1\">\n @if (configHeader(); as configHeader) {\n <div class=\"flex bg-[#e6eef5] px-[12px] py-[4px]\">\n <div class=\"libs-ui-font-h6m h-[32px] flex items-center\">{{ configHeader.title ?? ' ' | translate }}</div>\n <div\n (click)=\"handlerClick($event)\"\n class=\"pl-[8px]\">\n @if (configHeader.keyBindData | LibsUiComponentsInputsMultiLanguageGetItemPipe: item; as itemMap) {\n <libs_ui-components-inputs-valid\n [(item)]=\"itemMap\"\n [dataType]=\"configHeader.type && configHeader.type === 'number' ? 'int' : 'string'\"\n [fieldNameBind]=\"langDefault()\"\n [emitEmptyInDataTypeNumber]=\"true\"\n [validRequired]=\"{ isRequired: configItems()[0].validRequired?.isRequired ?? false }\"\n [placeholder]=\"'i18n_enter_value'\"\n [acceptNegativeValue]=\"acceptNegativeValue() ?? true\"\n [valueUpDownNumber]=\"valueUpDownNumber() || 1\"\n [maxValueNumber]=\"maxValueNumber()\"\n [fixedFloat]=\"15\"\n (outValueChange)=\"handlerChangeValue($event, 'input')\"\n (outFunctionsControl)=\"handlerFunctionsControlInputValid($event)\" />\n }\n </div>\n </div>\n <div class=\"px-[12px] pt-[8px] pb-[12px] flex w-full\">\n <libs_ui-components-inputs-multi_language\n class=\"w-full\"\n [singleLanguage]=\"singleLanguage() || false\"\n [multiLine]=\"false\"\n [titleField]=\"configItems()[0].titleField || ''\"\n [keyHeader]=\"configHeader.keyBindData ?? ''\"\n [placeholder]=\"'i18n_import_content'\"\n [classIncludeValue]=\"'libs-ui-font-h4r'\"\n [data]=\"dataMultiKey()[$index]\"\n [validRequired]=\"validRequiredWhenInputHasValue() || configItems()[0].validRequired\"\n [dataLanguage]=\"item\"\n [zIndex]=\"1203\"\n [acceptNegativeValue]=\"acceptNegativeValue() ?? true\"\n [valueUpDownNumber]=\"valueUpDownNumber() || 1\"\n [maxValueNumber]=\"maxValueNumber()\"\n [onlyAcceptNegativeValue]=\"onlyAcceptNegativeValue()\"\n [viewType]=\"configItems()[0].type ? (configItems()[0].type === 'number' ? 'number' : configItems()[0].type === 'float' ? 'float' : 'text') : 'text'\"\n (outEventMultiLanguage)=\"handlerChangeValue()\"\n (outChangeValueInput)=\"handlerChangeValue()\"\n (outFunctionsControl)=\"handlerFunctionsControlInputLanguage($event)\" />\n </div>\n }\n </div>\n @if (!$first) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631',\n },\n rootColor: '#071631',\n }\"\n [iconOnlyType]=\"true\"\n [popover]=\"{ config: { content: 'i18n_delete', zIndex: 1205 } }\"\n [classIconLeft]=\"'libs-ui-icon-remove'\"\n [classInclude]=\"'!p-0 ml-[8px] mt-[12px]'\"\n (outClick)=\"handlerRemove($index)\" />\n }\n </div>\n }\n @if (!ignoreAdd()) {\n <libs_ui-components-buttons-button\n [type]=\"'button-link-primary'\"\n [classIconLeft]=\"'libs-ui-icon-add mr-[8px]'\"\n [classLabel]=\"'libs-ui-font-h5r'\"\n [classInclude]=\"'!px-0 mt-[8px]'\"\n [label]=\"labelAddItem() || ''\"\n (outClick)=\"handlerAdd()\" />\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}