@mk-kit/ui 0.56.0 → 0.57.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":"mk-kit-ui-locales-uk.mjs","sources":["../../../projects/mk-kit/locales/uk/uk.ts","../../../projects/mk-kit/locales/uk/index.ts","../../../projects/mk-kit/locales/uk/mk-kit-ui-locales-uk.ts"],"sourcesContent":["import type { Provider } from '@angular/core';\nimport {\n type MkBlockEditorStrings,\n type MkDateNames,\n type MkI18nOverrides,\n type MkI18nStrings,\n type MkValidationStrings,\n provideMkI18n,\n} from '@mk-kit/ui/core';\n\n/**\n * Picks the Ukrainian plural form for a count — CLDR's `uk` rules for\n * integers: `one` when the number ends in 1 (but not 11), `few` when it ends\n * in 2–4 (but not 12–14), `many` otherwise.\n *\n * ```ts\n * mkPluralUk(1, 'результат', 'результати', 'результатів'); // 'результат'\n * mkPluralUk(3, 'результат', 'результати', 'результатів'); // 'результати'\n * mkPluralUk(11, 'результат', 'результати', 'результатів'); // 'результатів'\n * ```\n */\nexport function mkPluralUk(\n count: number,\n one: string,\n few: string,\n many: string,\n): string {\n const n = Math.abs(Math.trunc(count));\n const mod10 = n % 10;\n const mod100 = n % 100;\n if (mod10 === 1 && mod100 !== 11) return one;\n if (mod10 >= 2 && mod10 <= 4 && (mod100 < 12 || mod100 > 14)) return few;\n return many;\n}\n\nconst plural = mkPluralUk;\n\n/** Ukrainian month and weekday names (Sunday-first, lowercase as in `Intl`). */\nexport const MK_UK_DATE_NAMES: MkDateNames = {\n months: [\n 'січень', 'лютий', 'березень', 'квітень', 'травень', 'червень',\n 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень',\n ],\n monthsShort: [\n 'січ', 'лют', 'бер', 'кві', 'тра', 'чер',\n 'лип', 'сер', 'вер', 'жов', 'лис', 'гру',\n ],\n weekdays: [\n 'неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'пʼятниця', 'субота',\n ],\n weekdaysShort: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n weekdaysNarrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n};\n\n/** Ukrainian validation messages rendered by `mk-form-field`. */\nexport const MK_UK_VALIDATION: MkValidationStrings = {\n required: 'Це поле є обовʼязковим',\n email: 'Введіть дійсну адресу електронної пошти',\n min: ({ min }) => `Значення не може бути меншим за ${min}`,\n max: ({ max }) => `Значення не може бути більшим за ${max}`,\n minlength: ({ requiredLength }) =>\n `Введіть щонайменше ${requiredLength} ${plural(requiredLength, 'символ', 'символи', 'символів')}`,\n maxlength: ({ requiredLength }) =>\n `Введіть не більше ${requiredLength} ${plural(requiredLength, 'символа', 'символів', 'символів')}`,\n pattern: 'Введіть значення в очікуваному форматі',\n mkMinDate: ({ min }) =>\n `Дата не може бути ранішою за ${min.toLocaleDateString('uk-UA')}`,\n mkMaxDate: ({ max }) =>\n `Дата не може бути пізнішою за ${max.toLocaleDateString('uk-UA')}`,\n mkDateFilter: 'Ця дата недоступна',\n mkDateRangeIncomplete: 'Виберіть початкову та кінцеву дати',\n mkMinTime: ({ min }) => `Час не може бути ранішим за ${min}`,\n mkMaxTime: ({ max }) => `Час не може бути пізнішим за ${max}`,\n mkMaxItems: ({ max }) =>\n `Виберіть не більше ${max} ${plural(max, 'елемента', 'елементів', 'елементів')}`,\n mkFileSize: ({ name, maxLabel }) => `Файл ${name} перевищує ${maxLabel}`,\n mkFileType: ({ name }) => `Файл ${name} має неприпустимий тип`,\n cardNumber: 'Введіть дійсний номер картки',\n iban: ({ expectedLength }) =>\n expectedLength\n ? `Введіть дійсний IBAN (${expectedLength} символів)`\n : 'Введіть дійсний IBAN',\n postalCode: ({ example }) => `Введіть дійсний поштовий індекс, напр. ${example}`,\n taxId: ({ label, example }) => `Введіть дійсний ${label}, напр. ${example}`,\n unknown: 'Недійсне значення',\n};\n\n/** Ukrainian strings of the block editor's chrome. */\nexport const MK_UK_BLOCK_EDITOR: MkBlockEditorStrings = {\n addBlock: 'Додати блок',\n addFirstBlock: 'Додати перший блок',\n insertBlockHere: 'Вставити блок тут',\n blockInserter: 'Вставлення блоків',\n searchBlocks: 'Пошук блоків…',\n blocks: 'Блоки',\n moveBlockUp: 'Перемістити блок вище',\n moveBlockDown: 'Перемістити блок нижче',\n blockOptions: 'Параметри блока',\n duplicate: 'Дублювати',\n remove: 'Видалити',\n textFormatting: 'Форматування тексту',\n altText: 'Альтернативний текст',\n caption: 'Підпис',\n alignment: 'Вирівнювання',\n replaceImage: 'Замінити зображення',\n imageUrl: 'URL-адреса зображення',\n externalContent: 'Зовнішній вміст',\n embedUrl: 'URL-адреса вбудовування',\n columnSettings: 'Налаштування колонок',\n columns: 'Колонки',\n ratio: 'Пропорції',\n gap: 'Проміжок',\n align: 'Вирівняти',\n justify: 'Розподілити',\n headingLevel: (level) => `Заголовок рівня ${level}`,\n editorLabel: 'Редактор блокового вмісту',\n emptyBlockPlaceholder: 'Введіть /, щоб вибрати блок, або просто почніть писати…',\n dragHandle: 'Ручка перетягування',\n turnInto: (label) => `Перетворити на: ${label}`,\n unknownBlock: (type) => `Невідомий блок: ${type}`,\n blockAdded: (label) => `Додано: ${label}`,\n blockDuplicated: 'Блок продубльовано',\n blockDeleted: (label) => `Видалено: ${label}`,\n blockMovedUp: 'Блок переміщено вище',\n blockMovedDown: 'Блок переміщено нижче',\n turnedInto: (label) => `Перетворено на: ${label}`,\n noBlocksMatch: (query) => `Немає блоків, що відповідають «${query}».`,\n groupText: 'Текст',\n groupMedia: 'Медіа',\n groupLayout: 'Макет',\n blockParagraph: 'Абзац',\n blockParagraphDesc: 'Текст із вбудованим форматуванням.',\n blockHeading: 'Заголовок',\n blockHeadingDesc: 'Назва розділу (H1–H4).',\n blockList: 'Список',\n blockListDesc: 'Маркований або нумерований список.',\n blockQuote: 'Цитата',\n blockQuoteDesc: 'Блокова цитата з необовʼязковим джерелом.',\n blockCode: 'Код',\n blockCodeDesc: 'Відформатований моноширинний код.',\n blockImage: 'Зображення',\n blockImageDesc: 'Завантажте зображення або додайте посилання.',\n blockEmbed: 'Вбудовування',\n blockEmbedDesc: 'YouTube, Vimeo або будь-яка URL-адреса.',\n blockButton: 'Кнопка',\n blockButtonDesc: 'Кнопка із закликом до дії.',\n blockDivider: 'Розділювач',\n blockDividerDesc: 'Горизонтальна розділювальна лінія.',\n blockColumns: 'Колонки',\n blockColumnsDesc: 'Адаптивний багатоколонковий макет.',\n bold: 'Жирний',\n italic: 'Курсив',\n underline: 'Підкреслений',\n strikethrough: 'Закреслений',\n inlineCode: 'Вбудований код',\n link: 'Посилання',\n clearFormatting: 'Очистити форматування',\n linkUrlPrompt: 'URL-адреса посилання',\n editableText: 'Текст для редагування',\n headingPlaceholder: (level) => `Заголовок ${level}`,\n headingLevelGroup: 'Рівень заголовка',\n listStyle: 'Стиль списку',\n bulleted: 'Маркований',\n numbered: 'Нумерований',\n listItem: 'Елемент списку',\n quoteText: 'Текст цитати',\n citation: 'Джерело',\n addCitation: '— Додати джерело',\n codeLanguage: 'Мова коду',\n codeLanguagePlaceholder: 'мова (необовʼязково)',\n enterCode: 'Введіть код…',\n imageWidth: (percent) => `Ширина: ${percent}%`,\n uploading: 'Завантаження…',\n dropImagePrompt: 'Перетягніть зображення сюди або',\n chooseFile: 'Виберіть файл',\n pasteImageUrl: '…або вставте URL-адресу зображення',\n notAnImage: 'Виберіть файл зображення.',\n uploadFailed: 'Не вдалося завантажити. Спробуйте ще раз або вставте URL-адресу.',\n imageAdded: 'Зображення додано',\n pasteEmbedUrl: 'Вставте URL-адресу з YouTube, Vimeo чи іншу…',\n embedFallbackNote: 'Цю адресу не можна вбудувати, але її буде показано як посилання.',\n embedTitle: (provider) => `Вбудовування ${provider}`,\n embedAdded: (provider) => `Додано вбудовування ${provider}`,\n embeddedContent: 'Вбудований вміст',\n buttonLabel: 'Напис',\n buttonLink: 'Посилання (href)',\n buttonTone: 'Тон',\n buttonVariant: 'Варіант',\n buttonDefaultLabel: 'Натисніть',\n alignLeft: 'Ліворуч',\n alignCenter: 'По центру',\n alignRight: 'Праворуч',\n tonePrimary: 'Основний',\n toneNeutral: 'Нейтральний',\n toneSuccess: 'Успіх',\n toneWarning: 'Попередження',\n toneDanger: 'Небезпека',\n toneInfo: 'Інформація',\n variantSolid: 'Заповнений',\n variantSoft: 'Мʼякий',\n variantOutline: 'Контурний',\n ratioEqual: 'Рівні',\n alignStretch: 'Розтягнути',\n alignTop: 'Угорі',\n alignMiddle: 'Посередині',\n alignBottom: 'Унизу',\n justifyStart: 'На початку',\n justifyCenter: 'По центру',\n justifyEnd: 'У кінці',\n justifyBetween: 'Рівномірно',\n};\n\nconst PASSWORD_STRENGTH_LABELS = ['Слабкий', 'Слабкий', 'Посередній', 'Хороший', 'Надійний'];\n\n/**\n * The complete Ukrainian string map — every key of {@link MkI18nStrings},\n * `locale: 'uk-UA'` and `currency: 'UAH'` for the formatting pipes.\n * Provide it whole with {@link provideMkI18nUk}, or pass it as the base of\n * `provideMkI18n(overrides, MK_UK_I18N)`.\n */\nexport const MK_UK_I18N: MkI18nStrings = {\n locale: 'uk-UA',\n currency: 'UAH',\n\n validation: MK_UK_VALIDATION,\n\n close: 'Закрити',\n dismiss: 'Відхилити',\n clear: 'Очистити',\n confirm: 'Підтвердити',\n cancel: 'Скасувати',\n ok: 'OK',\n save: 'Зберегти',\n submit: 'Надіслати',\n edit: 'Редагувати',\n remove: 'Видалити',\n removeItem: (name) => `Видалити ${name}`,\n empty: 'Порожньо',\n optional: 'Необовʼязково',\n filter: 'Фільтрувати…',\n confirmMessage: 'Ви впевнені?',\n decrease: 'Зменшити',\n increase: 'Збільшити',\n\n loading: 'Завантаження…',\n noOptions: 'Немає варіантів',\n noResults: 'Немає результатів',\n noData: 'Немає даних для відображення',\n translationEditorSearch: 'Пошук ключів і тексту',\n translationEditorAll: 'Усі',\n translationEditorOverridden: 'Змінені',\n translationEditorMissing: 'Відсутні',\n translationEditorKey: 'Ключ',\n translationEditorReset: 'Відновити оригінальний текст',\n translationEditorExport: 'Експортувати CSV',\n translationEditorKeys: 'ключів',\n resultsCount: (count) =>\n `${count} ${plural(count, 'результат', 'результати', 'результатів')}`,\n\n previousPage: 'Перейти до попередньої сторінки',\n nextPage: 'Перейти до наступної сторінки',\n goToPage: (page) => `Перейти до сторінки ${page}`,\n paginationLabel: 'Пагінація',\n previousSlide: 'Попередній слайд',\n nextSlide: 'Наступний слайд',\n goToSlide: (slide) => `Перейти до слайда ${slide}`,\n carouselLabel: 'Карусель',\n pauseSlideshow: 'Призупинити показ слайдів',\n playSlideshow: 'Продовжити показ слайдів',\n slideOf: (slide, total) => `Слайд ${slide} з ${total}`,\n\n dateNames: MK_UK_DATE_NAMES,\n previousMonth: 'Попередній місяць',\n nextMonth: 'Наступний місяць',\n previousYear: 'Попередній рік',\n nextYear: 'Наступний рік',\n previousYears: 'Попередні роки',\n nextYears: 'Наступні роки',\n selectDate: 'Виберіть дату…',\n selectRange: 'Виберіть діапазон…',\n selectTime: 'Виберіть час…',\n selectMonth: 'Виберіть місяць…',\n selectYear: 'Виберіть рік…',\n selectWeek: 'Виберіть тиждень…',\n selectPlaceholder: 'Виберіть…',\n chooseDate: 'Вибір дати',\n chooseDateRange: 'Вибір діапазону дат',\n chooseMonth: 'Вибір місяця',\n chooseYear: 'Вибір року',\n chooseWeek: 'Вибір тижня',\n openCalendar: 'Відкрити календар',\n openTimeList: 'Відкрити список часу',\n moreActions: 'Більше дій',\n selectDateTime: 'Виберіть дату й час…',\n chooseDateTime: 'Вибір дати й часу',\n chooseTime: 'Вибір часу',\n openDateTimePicker: 'Відкрити вибір дати й часу',\n daySegment: 'День',\n monthSegment: 'Місяць',\n yearSegment: 'Рік',\n countdownDays: 'дн.',\n countdownHours: 'год',\n countdownMinutes: 'хв',\n countdownSeconds: 'с',\n countdownFinished: 'Завершено',\n dayEvents: (count, titles) =>\n `${count} ${plural(count, 'подія', 'події', 'подій')}${titles ? `: ${titles}` : ''}`,\n moreEvents: (count) => `+${count} ще`,\n\n selectAllRows: 'Вибрати всі рядки',\n selectRow: (row) => (row ? `Вибрати рядок ${row}` : 'Вибрати рядок'),\n expandHeader: 'Розгорнути',\n expandRow: 'Розгорнути рядок',\n collapseRow: 'Згорнути рядок',\n expandTreeRow: 'Показати дочірні рядки',\n collapseTreeRow: 'Сховати дочірні рядки',\n expandGroup: 'Розгорнути групу',\n collapseGroup: 'Згорнути групу',\n groupCount: (count) =>\n `${count} ${plural(count, 'елемент', 'елементи', 'елементів')}`,\n resizeColumn: 'Змінити ширину колонки',\n columnWidth: (column, width) => `Ширина колонки ${column}: ${width} пкс`,\n columnMoved: (column, position, total) =>\n `Колонку ${column} переміщено на позицію ${position} з ${total}`,\n editCell: 'Натисніть Enter, щоб редагувати',\n cellSaved: (value) => `Збережено ${value}`,\n sortedBy: (column, direction) =>\n `Відсортовано за ${column} ${direction === 'asc' ? 'за зростанням' : 'за спаданням'}`,\n sortingCleared: (column) => `Сортування за ${column} скасовано`,\n\n showPassword: 'Показати пароль',\n hidePassword: 'Сховати пароль',\n passwordRuleMinLength: (length) =>\n `Щонайменше ${length} ${plural(length, 'символ', 'символи', 'символів')}`,\n passwordRuleUppercase: 'Велика літера',\n passwordRuleNumber: 'Цифра',\n passwordRuleSymbol: 'Спеціальний символ',\n passwordStrength: (score) =>\n PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],\n passwordStrengthLabel: 'Надійність пароля:',\n ruleMet: 'Виконано:',\n ruleNotMet: 'Не виконано:',\n oneTimeCode: 'Одноразовий код',\n otpDigit: (position) => `Цифра ${position}`,\n numericKeypadLabel: 'Цифрова клавіатура',\n keypadClear: 'Очистити',\n keypadBackspace: 'Backspace',\n keypadDigitsEntered: (count, length) => `Введено ${count} з ${length} цифр`,\n onScreenKeyboardLabel: 'Екранна клавіатура',\n keyboardShift: 'Shift',\n keyboardSpace: 'Пробіл',\n keyboardEnter: 'Enter',\n keyboardAltLayer: 'Більше символів',\n keyboardBaseLayer: 'Літери',\n ratingLabel: 'Оцінка',\n ratingValueText: (value, max) =>\n `${value} з ${max} ${plural(max, 'зірки', 'зірок', 'зірок')}`,\n minimum: 'Мінімум',\n maximum: 'Максимум',\n chooseColor: 'Виберіть колір',\n hexValue: 'Шістнадцяткове значення',\n presetColors: 'Стандартні кольори',\n chooseCountry: 'Виберіть країну',\n searchCountries: 'Пошук країни…',\n phoneNumber: 'Номер телефону',\n postalCode: 'Поштовий індекс',\n amount: 'Сума',\n cardNumber: 'Номер картки',\n cardBrand: (brand) => `Тип картки: ${brand}`,\n iban: 'IBAN',\n taxId: 'Податковий номер',\n signature: 'Підпис',\n jsonLabel: 'JSON',\n\n logViewerLabel: 'Журнал подій',\n logFollow: 'Стежити',\n logCopyAll: 'Копіювати журнал',\n logWrapLines: 'Переносити рядки',\n\n orgChartLabel: 'Організаційна структура',\n orgChartExpand: 'Розгорнути {label}',\n orgChartCollapse: 'Згорнути {label}',\n\n chatLabel: 'Розмова',\n chatComposerLabel: 'Повідомлення',\n chatPlaceholder: 'Напишіть повідомлення…',\n chatSend: 'Надіслати',\n chatStop: 'Зупинити генерування',\n chatAttach: 'Додати файли',\n chatRemoveAttachment: 'Видалити вкладення',\n chatAttachments: 'Вкладення',\n chatSuggestions: 'Пропозиції',\n chatCopy: 'Копіювати повідомлення',\n chatRetry: 'Повторити',\n chatTyping: 'Пише…',\n chatStreaming: 'Генерування…',\n chatJumpToLatest: 'Перейти до найновіших',\n chatEmpty: 'Немає повідомлень',\n chatYou: 'Ви',\n chatAssistant: 'Асистент',\n chatToolRunning: 'Виконується',\n chatToolDone: 'Готово',\n chatToolError: 'Помилка',\n\n dynamicFormAdd: 'Додати',\n dynamicFormRemove: (index) => `Видалити елемент ${index}`,\n\n queryBuilderLabel: 'Умови фільтрування',\n queryAddRule: 'Додати правило',\n queryAddGroup: 'Додати групу',\n queryRemoveRule: 'Видалити правило',\n queryRemoveGroup: 'Видалити групу',\n queryAnd: 'Та',\n queryOr: 'Або',\n queryNot: 'Не',\n queryField: 'Поле',\n queryOperator: 'Оператор',\n queryValue: 'Значення',\n queryValueFrom: 'Від',\n queryValueTo: 'До',\n queryEmptyGroup: 'Немає умов',\n queryTrue: 'Істина',\n queryFalse: 'Хиба',\n queryOpEq: 'дорівнює',\n queryOpNeq: 'не дорівнює',\n queryOpContains: 'містить',\n queryOpNotContains: 'не містить',\n queryOpStartsWith: 'починається з',\n queryOpEndsWith: 'закінчується на',\n queryOpGt: 'більше ніж',\n queryOpGte: 'щонайменше',\n queryOpLt: 'менше ніж',\n queryOpLte: 'щонайбільше',\n queryOpBetween: 'між',\n queryOpIn: 'є одним із',\n queryOpNotIn: 'не є жодним із',\n queryOpBefore: 'до',\n queryOpAfter: 'після',\n queryOpEmpty: 'порожнє',\n queryOpNotEmpty: 'не порожнє',\n\n dialogMove: 'Перемістити вікно (стрілки; Home повертає)',\n dialogResize: 'Змінити розмір вікна (стрілки; Home повертає)',\n\n listboxFilter: 'Фільтрувати варіанти',\n listboxEmpty: 'Немає відповідних варіантів',\n\n eventCalendarGrabbed: (title, from, to) =>\n `Піднято ${title}, ${from} – ${to}. Стрілки переміщують, ` +\n 'Shift зі стрілкою вгору або вниз змінює час завершення, ' +\n 'Enter зберігає, Escape скасовує.',\n eventCalendarPosition: (title, day, from, to) =>\n `${title}, ${day}, ${from} – ${to}.`,\n eventCalendarMoved: (title, day, from, to) =>\n `${title} переміщено на ${day}, ${from} – ${to}.`,\n eventCalendarResized: (title, to) => `${title} тепер закінчується о ${to}.`,\n eventCalendarEditCancelled:\n 'Переміщення скасовано. Подія зберігає початковий час.',\n eventCalendarMovableEvent: 'Подія, яку можна переміщувати',\n\n previousImage: 'Попереднє зображення',\n nextImage: 'Наступне зображення',\n imageOf: (index, total) => `Зображення ${index} з ${total}`,\n viewImage: (alt) => (alt ? `Переглянути ${alt}` : 'Переглянути зображення'),\n imageFailed: 'Не вдалося завантажити зображення',\n zoom: 'Масштаб',\n zoomIn: 'Збільшити',\n zoomOut: 'Зменшити',\n mediaLibrary: 'Медіатека',\n dropzoneLabel: 'Перетягніть файли сюди або натисніть, щоб вибрати',\n uploadFailed: 'Не вдалося завантажити',\n retryUpload: 'Повторити завантаження',\n errorSummaryTitle: 'Виникла проблема',\n\n available: 'Доступні',\n selected: 'Вибрані',\n transferSelected: (target) => `Перемістити вибрані до: ${target}`,\n transferAll: (target) => `Перемістити всі до: ${target}`,\n itemsMoved: (count, target) =>\n `Переміщено ${count} ${plural(count, 'елемент', 'елементи', 'елементів')} до: ${target}`,\n\n notificationsTitle: 'Сповіщення',\n allCaughtUp: 'Усе прочитано',\n markAllRead: 'Позначити всі як прочитані',\n notificationsUnread: (count) =>\n `Сповіщення, ${count} ${plural(count, 'непрочитане', 'непрочитані', 'непрочитаних')}`,\n unread: 'Непрочитані',\n tourStepOf: (step, total) => `Крок ${step} з ${total}`,\n tourSkip: 'Пропустити',\n tourPrevious: 'Назад',\n tourNext: 'Далі',\n tourDone: 'Готово',\n\n commandPalettePlaceholder: 'Введіть команду або шукайте…',\n commandPaletteLabel: 'Палітра команд',\n stepCompleted: 'Завершено',\n stepError: 'Містить помилки',\n diffAddedLine: 'Додано:',\n diffRemovedLine: 'Видалено:',\n itemAdded: (name) => `Додано ${name}`,\n itemRemoved: (name) => `Видалено ${name}`,\n resizePanes: 'Змінити розмір панелей',\n backToTop: 'Повернутися нагору',\n breadcrumbLabel: 'Навігаційний ланцюжок',\n fabLabel: 'Дії',\n diffBefore: 'До',\n diffAfter: 'Після',\n diffChanges: 'Зміни',\n skipToContent: 'Перейти до вмісту',\n primaryNav: 'Головна',\n\n dndPickedUp: (position, total) =>\n `Піднято. Елемент ${position} з ${total}. ` +\n 'Стрілки переміщують, пробіл або Enter опускає, Escape скасовує.',\n dndMoved: (position, total) => `Переміщено на позицію ${position} з ${total}.`,\n dndMovedToList: (list, position, total) =>\n `Переміщено до: ${list}, позиція ${position} з ${total}.`,\n dndDropped: (position) => `Опущено на позиції ${position}.`,\n dndMovedToZone: (zone) => `Переміщено до: ${zone}. Пробіл або Enter опускає тут.`,\n dndDroppedInZone: (zone) => `Опущено в: ${zone}.`,\n dndCancelled: 'Переміщення скасовано. Елемент повернувся на початкове місце.',\n\n repeaterAddRow: 'Додати рядок',\n repeaterRemoveRow: (index) => `Видалити рядок ${index}`,\n repeaterReorderRow: (index) => `Змінити порядок рядка ${index}`,\n repeaterRowMoved: (from, to) =>\n `Рядок переміщено з позиції ${from} на позицію ${to}.`,\n\n fileRejectedType: (name) => `${name}: непідтримуваний тип`,\n fileRejectedSize: (name, limit) => `${name}: перевищує ${limit}`,\n fileRejectedCount: (name, max) =>\n `${name}: перевищено ліміт ${max} ${plural(max, 'файлу', 'файлів', 'файлів')}`,\n\n chartCategory: 'Категорія',\n chartValue: 'Значення',\n chartSeries: 'Серія',\n chartSlice: 'Сегмент',\n chartStage: 'Етап',\n chartConversion: 'Конверсія',\n chartAxis: 'Вісь',\n chartShare: 'Частка',\n chartLabel: 'Мітка',\n\n qrCodeLabel: (text) => `QR-код: ${text}`,\n\n sortableListLabel: 'Список із сортуванням',\n filterColumn: (column) => `Фільтрувати ${column}`,\n clearFilter: (column) => `Очистити фільтр колонки ${column}`,\n filterAny: 'Усі',\n filterMin: 'Мін',\n\n blockEditor: MK_UK_BLOCK_EDITOR,\n};\n\n/**\n * Provides the Ukrainian strings — {@link MK_UK_I18N} with any `overrides`\n * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like\n * `provideMkI18n`).\n *\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideMkI18nUk({ noData: 'Тут нічого немає' })],\n * });\n * ```\n */\nexport function provideMkI18nUk(overrides: MkI18nOverrides = {}): Provider {\n return provideMkI18n(overrides, MK_UK_I18N);\n}\n","/**\n * Ukrainian locale pack for @mk-kit/ui — `@mk-kit/ui/locales/uk`.\n *\n * Its own entry point so an app carries only the locales it provides.\n */\nexport * from './uk';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAUA;;;;;;;;;;AAUG;AACG,SAAU,UAAU,CACxB,KAAa,EACb,GAAW,EACX,GAAW,EACX,IAAY,EAAA;AAEZ,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;AACpB,IAAA,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG;AACtB,IAAA,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE;AAAE,QAAA,OAAO,GAAG;AAC5C,IAAA,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAAE,QAAA,OAAO,GAAG;AACxE,IAAA,OAAO,IAAI;AACb;AAEA,MAAM,MAAM,GAAG,UAAU;AAEzB;AACO,MAAM,gBAAgB,GAAgB;AAC3C,IAAA,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC9D,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;AAClE,KAAA;AACD,IAAA,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;QACxC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AACzC,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;AAC5E,KAAA;AACD,IAAA,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACzD,IAAA,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;AAGrD;AACO,MAAM,gBAAgB,GAAwB;AACnD,IAAA,QAAQ,EAAE,wBAAwB;AAClC,IAAA,KAAK,EAAE,yCAAyC;IAChD,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,gCAAA,EAAmC,GAAG,CAAA,CAAE;IAC1D,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,iCAAA,EAAoC,GAAG,CAAA,CAAE;IAC3D,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,KAC5B,CAAA,mBAAA,EAAsB,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA,CAAE;IACnG,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,KAC5B,CAAA,kBAAA,EAAqB,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA,CAAE;AACpG,IAAA,OAAO,EAAE,wCAAwC;AACjD,IAAA,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KACjB,CAAA,6BAAA,EAAgC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA,CAAE;AACnE,IAAA,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KACjB,CAAA,8BAAA,EAAiC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA,CAAE;AACpE,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,qBAAqB,EAAE,oCAAoC;IAC3D,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,4BAAA,EAA+B,GAAG,CAAA,CAAE;IAC5D,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,6BAAA,EAAgC,GAAG,CAAA,CAAE;IAC7D,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,KAClB,CAAA,mBAAA,EAAsB,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA,CAAE;AAClF,IAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE;IACxE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,sBAAA,CAAwB;AAC9D,IAAA,UAAU,EAAE,8BAA8B;IAC1C,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,KACvB;UACI,CAAA,sBAAA,EAAyB,cAAc,CAAA,UAAA;AACzC,UAAE,sBAAsB;IAC5B,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAA,uCAAA,EAA0C,OAAO,CAAA,CAAE;AAChF,IAAA,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE;AAC3E,IAAA,OAAO,EAAE,mBAAmB;;AAG9B;AACO,MAAM,kBAAkB,GAAyB;AACtD,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,WAAW,EAAE,uBAAuB;AACpC,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,OAAO,EAAE,sBAAsB;AAC/B,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,QAAQ,EAAE,uBAAuB;AACjC,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,QAAQ,EAAE,yBAAyB;AACnC,IAAA,cAAc,EAAE,sBAAsB;AACtC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;AACnD,IAAA,WAAW,EAAE,2BAA2B;AACxC,IAAA,qBAAqB,EAAE,yDAAyD;AAChF,IAAA,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;IAC/C,YAAY,EAAE,CAAC,IAAI,KAAK,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE;IACjD,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,QAAA,EAAW,KAAK,CAAA,CAAE;AACzC,IAAA,eAAe,EAAE,oBAAoB;IACrC,YAAY,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;AAC7C,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAE,uBAAuB;IACvC,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;IACjD,aAAa,EAAE,CAAC,KAAK,KAAK,CAAA,+BAAA,EAAkC,KAAK,CAAA,EAAA,CAAI;AACrE,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,cAAc,EAAE,OAAO;AACvB,IAAA,kBAAkB,EAAE,oCAAoC;AACxD,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,gBAAgB,EAAE,wBAAwB;AAC1C,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,aAAa,EAAE,oCAAoC;AACnD,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,2CAA2C;AAC3D,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,aAAa,EAAE,mCAAmC;AAClD,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,cAAc,EAAE,8CAA8C;AAC9D,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,cAAc,EAAE,yCAAyC;AACzD,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,YAAY,EAAE,uBAAuB;IACrC,kBAAkB,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;AACnD,IAAA,iBAAiB,EAAE,kBAAkB;AACrC,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,uBAAuB,EAAE,sBAAsB;AAC/C,IAAA,SAAS,EAAE,cAAc;IACzB,UAAU,EAAE,CAAC,OAAO,KAAK,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,CAAG;AAC9C,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,eAAe,EAAE,iCAAiC;AAClD,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,aAAa,EAAE,oCAAoC;AACnD,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,YAAY,EAAE,kEAAkE;AAChF,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,aAAa,EAAE,8CAA8C;AAC7D,IAAA,iBAAiB,EAAE,kEAAkE;IACrF,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,aAAA,EAAgB,QAAQ,CAAA,CAAE;IACpD,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,oBAAA,EAAuB,QAAQ,CAAA,CAAE;AAC3D,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,kBAAkB,EAAE,WAAW;AAC/B,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,WAAW;AACxB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,cAAc,EAAE,WAAW;AAC3B,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,cAAc,EAAE,YAAY;;AAG9B,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;AAE5F;;;;;AAKG;AACI,MAAM,UAAU,GAAkB;AACvC,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,QAAQ,EAAE,KAAK;AAEf,IAAA,UAAU,EAAE,gBAAgB;AAE5B,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,CAAC,IAAI,KAAK,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE;AACxC,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,QAAQ,EAAE,WAAW;AAErB,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,MAAM,EAAE,8BAA8B;AACtC,IAAA,uBAAuB,EAAE,uBAAuB;AAChD,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,2BAA2B,EAAE,SAAS;AACtC,IAAA,wBAAwB,EAAE,UAAU;AACpC,IAAA,oBAAoB,EAAE,MAAM;AAC5B,IAAA,sBAAsB,EAAE,8BAA8B;AACtD,IAAA,uBAAuB,EAAE,kBAAkB;AAC3C,IAAA,qBAAqB,EAAE,QAAQ;AAC/B,IAAA,YAAY,EAAE,CAAC,KAAK,KAClB,GAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA,CAAE;AAEvE,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,QAAQ,EAAE,+BAA+B;IACzC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAA,oBAAA,EAAuB,IAAI,CAAA,CAAE;AACjD,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,aAAa,EAAE,kBAAkB;AACjC,IAAA,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,kBAAA,EAAqB,KAAK,CAAA,CAAE;AAClD,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,cAAc,EAAE,2BAA2B;AAC3C,IAAA,aAAa,EAAE,0BAA0B;AACzC,IAAA,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAA,MAAA,EAAS,KAAK,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAEtD,IAAA,SAAS,EAAE,gBAAgB;AAC3B,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,eAAe,EAAE,qBAAqB;AACtC,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,YAAY,EAAE,mBAAmB;AACjC,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,cAAc,EAAE,sBAAsB;AACtC,IAAA,cAAc,EAAE,mBAAmB;AACnC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,kBAAkB,EAAE,4BAA4B;AAChD,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KACvB,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,MAAM,GAAG,CAAA,EAAA,EAAK,MAAM,CAAA,CAAE,GAAG,EAAE,CAAA,CAAE;IACtF,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,CAAA,EAAI,KAAK,CAAA,GAAA,CAAK;AAErC,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,iBAAiB,GAAG,CAAA,CAAE,GAAG,eAAe,CAAC;AACpE,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,UAAU,EAAE,CAAC,KAAK,KAChB,GAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA,CAAE;AACjE,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAA,eAAA,EAAkB,MAAM,CAAA,EAAA,EAAK,KAAK,CAAA,IAAA,CAAM;AACxE,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,KACnC,WAAW,MAAM,CAAA,uBAAA,EAA0B,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAClE,IAAA,QAAQ,EAAE,iCAAiC;IAC3C,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAC1B,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAA,EAAI,SAAS,KAAK,KAAK,GAAG,eAAe,GAAG,cAAc,CAAA,CAAE;IACvF,cAAc,EAAE,CAAC,MAAM,KAAK,CAAA,cAAA,EAAiB,MAAM,CAAA,UAAA,CAAY;AAE/D,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,qBAAqB,EAAE,CAAC,MAAM,KAC5B,cAAc,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA,CAAE;AAC3E,IAAA,qBAAqB,EAAE,eAAe;AACtC,IAAA,kBAAkB,EAAE,OAAO;AAC3B,IAAA,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,CAAC,KAAK,KACtB,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,IAAA,qBAAqB,EAAE,oBAAoB;AAC3C,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,CAAC,QAAQ,KAAK,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAE;AAC3C,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA,QAAA,EAAW,KAAK,CAAA,GAAA,EAAM,MAAM,CAAA,KAAA,CAAO;AAC3E,IAAA,qBAAqB,EAAE,oBAAoB;AAC3C,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,gBAAgB,EAAE,iBAAiB;AACnC,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,WAAW,EAAE,QAAQ;IACrB,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,KAC1B,CAAA,EAAG,KAAK,CAAA,GAAA,EAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA,CAAE;AAC/D,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,QAAQ,EAAE,yBAAyB;AACnC,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE;AAC5C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,kBAAkB;AACzB,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,SAAS,EAAE,MAAM;AAEjB,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,YAAY,EAAE,kBAAkB;AAEhC,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,cAAc,EAAE,oBAAoB;AACpC,IAAA,gBAAgB,EAAE,kBAAkB;AAEpC,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,iBAAiB,EAAE,cAAc;AACjC,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,oBAAoB,EAAE,oBAAoB;AAC1C,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,QAAQ,EAAE,wBAAwB;AAClC,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,eAAe,EAAE,aAAa;AAC9B,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,aAAa,EAAE,SAAS;AAExB,IAAA,cAAc,EAAE,QAAQ;IACxB,iBAAiB,EAAE,CAAC,KAAK,KAAK,CAAA,iBAAA,EAAoB,KAAK,CAAA,CAAE;AAEzD,IAAA,iBAAiB,EAAE,oBAAoB;AACvC,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,kBAAkB,EAAE,YAAY;AAChC,IAAA,iBAAiB,EAAE,eAAe;AAClC,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,eAAe,EAAE,YAAY;AAE7B,IAAA,UAAU,EAAE,4CAA4C;AACxD,IAAA,YAAY,EAAE,+CAA+C;AAE7D,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,YAAY,EAAE,6BAA6B;AAE3C,IAAA,oBAAoB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KACpC,WAAW,KAAK,CAAA,EAAA,EAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,uBAAA,CAAyB;QAC1D,0DAA0D;QAC1D,kCAAkC;IACpC,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAC1C,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,GAAG,KAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,CAAA,CAAG;IACtC,kBAAkB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KACvC,CAAA,EAAG,KAAK,CAAA,eAAA,EAAkB,GAAG,KAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,CAAA,CAAG;AACnD,IAAA,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAA,EAAG,KAAK,CAAA,sBAAA,EAAyB,EAAE,CAAA,CAAA,CAAG;AAC3E,IAAA,0BAA0B,EACxB,uDAAuD;AACzD,IAAA,yBAAyB,EAAE,+BAA+B;AAE1D,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAA,WAAA,EAAc,KAAK,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAC3D,IAAA,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,eAAe,GAAG,CAAA,CAAE,GAAG,wBAAwB,CAAC;AAC3E,IAAA,WAAW,EAAE,mCAAmC;AAChD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,aAAa,EAAE,mDAAmD;AAClE,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,iBAAiB,EAAE,kBAAkB;AAErC,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,CAAC,MAAM,KAAK,CAAA,wBAAA,EAA2B,MAAM,CAAA,CAAE;IACjE,WAAW,EAAE,CAAC,MAAM,KAAK,CAAA,oBAAA,EAAuB,MAAM,CAAA,CAAE;IACxD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KACxB,CAAA,WAAA,EAAc,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE;AAE1F,IAAA,kBAAkB,EAAE,YAAY;AAChC,IAAA,WAAW,EAAE,eAAe;AAC5B,IAAA,WAAW,EAAE,4BAA4B;AACzC,IAAA,mBAAmB,EAAE,CAAC,KAAK,KACzB,eAAe,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA,CAAE;AACvF,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AACtD,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,QAAQ,EAAE,QAAQ;AAElB,IAAA,yBAAyB,EAAE,8BAA8B;AACzD,IAAA,mBAAmB,EAAE,gBAAgB;AACrC,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,CAAC,IAAI,KAAK,CAAA,OAAA,EAAU,IAAI,CAAA,CAAE;IACrC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE;AACzC,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,UAAU,EAAE,SAAS;AAErB,IAAA,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,KAC3B,CAAA,iBAAA,EAAoB,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,EAAA,CAAI;QAC3C,iEAAiE;AACnE,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAA,sBAAA,EAAyB,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAA,CAAG;AAC9E,IAAA,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,KACpC,kBAAkB,IAAI,CAAA,UAAA,EAAa,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAA,CAAG;IAC3D,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,mBAAA,EAAsB,QAAQ,CAAA,CAAA,CAAG;IAC3D,cAAc,EAAE,CAAC,IAAI,KAAK,CAAA,eAAA,EAAkB,IAAI,CAAA,+BAAA,CAAiC;IACjF,gBAAgB,EAAE,CAAC,IAAI,KAAK,CAAA,WAAA,EAAc,IAAI,CAAA,CAAA,CAAG;AACjD,IAAA,YAAY,EAAE,+DAA+D;AAE7E,IAAA,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,CAAC,KAAK,KAAK,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAE;IACvD,kBAAkB,EAAE,CAAC,KAAK,KAAK,CAAA,sBAAA,EAAyB,KAAK,CAAA,CAAE;AAC/D,IAAA,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,KACzB,CAAA,2BAAA,EAA8B,IAAI,CAAA,YAAA,EAAe,EAAE,CAAA,CAAA,CAAG;IAExD,gBAAgB,EAAE,CAAC,IAAI,KAAK,CAAA,EAAG,IAAI,CAAA,qBAAA,CAAuB;AAC1D,IAAA,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA,EAAG,IAAI,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE;IAChE,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAC3B,CAAA,EAAG,IAAI,CAAA,mBAAA,EAAsB,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA,CAAE;AAEhF,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,OAAO;IAEnB,WAAW,EAAE,CAAC,IAAI,KAAK,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE;AAExC,IAAA,iBAAiB,EAAE,uBAAuB;IAC1C,YAAY,EAAE,CAAC,MAAM,KAAK,CAAA,YAAA,EAAe,MAAM,CAAA,CAAE;IACjD,WAAW,EAAE,CAAC,MAAM,KAAK,CAAA,wBAAA,EAA2B,MAAM,CAAA,CAAE;AAC5D,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAEhB,IAAA,WAAW,EAAE,kBAAkB;;AAGjC;;;;;;;;;;AAUG;AACG,SAAU,eAAe,CAAC,SAAA,GAA6B,EAAE,EAAA;AAC7D,IAAA,OAAO,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;AAC7C;;ACvjBA;;;;AAIG;;ACJH;;AAEG;;;;"}
1
+ {"version":3,"file":"mk-kit-ui-locales-uk.mjs","sources":["../../../projects/mk-kit/locales/uk/uk.ts","../../../projects/mk-kit/locales/uk/index.ts","../../../projects/mk-kit/locales/uk/mk-kit-ui-locales-uk.ts"],"sourcesContent":["import type { Provider } from '@angular/core';\nimport {\n type MkBlockEditorStrings,\n type MkDateNames,\n type MkI18nOverrides,\n type MkI18nStrings,\n type MkValidationStrings,\n provideMkI18n,\n} from '@mk-kit/ui/core';\n\n/**\n * Picks the Ukrainian plural form for a count — CLDR's `uk` rules for\n * integers: `one` when the number ends in 1 (but not 11), `few` when it ends\n * in 2–4 (but not 12–14), `many` otherwise.\n *\n * ```ts\n * mkPluralUk(1, 'результат', 'результати', 'результатів'); // 'результат'\n * mkPluralUk(3, 'результат', 'результати', 'результатів'); // 'результати'\n * mkPluralUk(11, 'результат', 'результати', 'результатів'); // 'результатів'\n * ```\n */\nexport function mkPluralUk(\n count: number,\n one: string,\n few: string,\n many: string,\n): string {\n const n = Math.abs(Math.trunc(count));\n const mod10 = n % 10;\n const mod100 = n % 100;\n if (mod10 === 1 && mod100 !== 11) return one;\n if (mod10 >= 2 && mod10 <= 4 && (mod100 < 12 || mod100 > 14)) return few;\n return many;\n}\n\nconst plural = mkPluralUk;\n\n/** Ukrainian month and weekday names (Sunday-first, lowercase as in `Intl`). */\nexport const MK_UK_DATE_NAMES: MkDateNames = {\n months: [\n 'січень', 'лютий', 'березень', 'квітень', 'травень', 'червень',\n 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень',\n ],\n monthsShort: [\n 'січ', 'лют', 'бер', 'кві', 'тра', 'чер',\n 'лип', 'сер', 'вер', 'жов', 'лис', 'гру',\n ],\n weekdays: [\n 'неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'пʼятниця', 'субота',\n ],\n weekdaysShort: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n weekdaysNarrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n};\n\n/** Ukrainian validation messages rendered by `mk-form-field`. */\nexport const MK_UK_VALIDATION: MkValidationStrings = {\n required: 'Це поле є обовʼязковим',\n email: 'Введіть дійсну адресу електронної пошти',\n min: ({ min }) => `Значення не може бути меншим за ${min}`,\n max: ({ max }) => `Значення не може бути більшим за ${max}`,\n minlength: ({ requiredLength }) =>\n `Введіть щонайменше ${requiredLength} ${plural(requiredLength, 'символ', 'символи', 'символів')}`,\n maxlength: ({ requiredLength }) =>\n `Введіть не більше ${requiredLength} ${plural(requiredLength, 'символа', 'символів', 'символів')}`,\n pattern: 'Введіть значення в очікуваному форматі',\n mkMinDate: ({ min }) =>\n `Дата не може бути ранішою за ${min.toLocaleDateString('uk-UA')}`,\n mkMaxDate: ({ max }) =>\n `Дата не може бути пізнішою за ${max.toLocaleDateString('uk-UA')}`,\n mkDateFilter: 'Ця дата недоступна',\n mkDateRangeIncomplete: 'Виберіть початкову та кінцеву дати',\n mkMinTime: ({ min }) => `Час не може бути ранішим за ${min}`,\n mkMaxTime: ({ max }) => `Час не може бути пізнішим за ${max}`,\n mkMaxItems: ({ max }) =>\n `Виберіть не більше ${max} ${plural(max, 'елемента', 'елементів', 'елементів')}`,\n mkFileSize: ({ name, maxLabel }) => `Файл ${name} перевищує ${maxLabel}`,\n mkFileType: ({ name }) => `Файл ${name} має неприпустимий тип`,\n cardNumber: 'Введіть дійсний номер картки',\n iban: ({ expectedLength }) =>\n expectedLength\n ? `Введіть дійсний IBAN (${expectedLength} символів)`\n : 'Введіть дійсний IBAN',\n postalCode: ({ example }) => `Введіть дійсний поштовий індекс, напр. ${example}`,\n taxId: ({ label, example }) => `Введіть дійсний ${label}, напр. ${example}`,\n unknown: 'Недійсне значення',\n};\n\n/** Ukrainian strings of the block editor's chrome. */\nexport const MK_UK_BLOCK_EDITOR: MkBlockEditorStrings = {\n addBlock: 'Додати блок',\n addFirstBlock: 'Додати перший блок',\n insertBlockHere: 'Вставити блок тут',\n blockInserter: 'Вставлення блоків',\n searchBlocks: 'Пошук блоків…',\n blocks: 'Блоки',\n moveBlockUp: 'Перемістити блок вище',\n moveBlockDown: 'Перемістити блок нижче',\n blockOptions: 'Параметри блока',\n duplicate: 'Дублювати',\n remove: 'Видалити',\n textFormatting: 'Форматування тексту',\n altText: 'Альтернативний текст',\n caption: 'Підпис',\n alignment: 'Вирівнювання',\n replaceImage: 'Замінити зображення',\n imageUrl: 'URL-адреса зображення',\n externalContent: 'Зовнішній вміст',\n embedUrl: 'URL-адреса вбудовування',\n columnSettings: 'Налаштування колонок',\n columns: 'Колонки',\n ratio: 'Пропорції',\n gap: 'Проміжок',\n align: 'Вирівняти',\n justify: 'Розподілити',\n headingLevel: (level) => `Заголовок рівня ${level}`,\n editorLabel: 'Редактор блокового вмісту',\n emptyBlockPlaceholder: 'Введіть /, щоб вибрати блок, або просто почніть писати…',\n dragHandle: 'Ручка перетягування',\n turnInto: (label) => `Перетворити на: ${label}`,\n unknownBlock: (type) => `Невідомий блок: ${type}`,\n blockAdded: (label) => `Додано: ${label}`,\n blockDuplicated: 'Блок продубльовано',\n blockDeleted: (label) => `Видалено: ${label}`,\n blockMovedUp: 'Блок переміщено вище',\n blockMovedDown: 'Блок переміщено нижче',\n turnedInto: (label) => `Перетворено на: ${label}`,\n noBlocksMatch: (query) => `Немає блоків, що відповідають «${query}».`,\n groupText: 'Текст',\n groupMedia: 'Медіа',\n groupLayout: 'Макет',\n blockParagraph: 'Абзац',\n blockParagraphDesc: 'Текст із вбудованим форматуванням.',\n blockHeading: 'Заголовок',\n blockHeadingDesc: 'Назва розділу (H1–H4).',\n blockList: 'Список',\n blockListDesc: 'Маркований або нумерований список.',\n blockQuote: 'Цитата',\n blockQuoteDesc: 'Блокова цитата з необовʼязковим джерелом.',\n blockCode: 'Код',\n blockCodeDesc: 'Відформатований моноширинний код.',\n blockImage: 'Зображення',\n blockImageDesc: 'Завантажте зображення або додайте посилання.',\n blockEmbed: 'Вбудовування',\n blockEmbedDesc: 'YouTube, Vimeo або будь-яка URL-адреса.',\n blockButton: 'Кнопка',\n blockButtonDesc: 'Кнопка із закликом до дії.',\n blockDivider: 'Розділювач',\n blockDividerDesc: 'Горизонтальна розділювальна лінія.',\n blockColumns: 'Колонки',\n blockColumnsDesc: 'Адаптивний багатоколонковий макет.',\n bold: 'Жирний',\n italic: 'Курсив',\n underline: 'Підкреслений',\n strikethrough: 'Закреслений',\n inlineCode: 'Вбудований код',\n link: 'Посилання',\n clearFormatting: 'Очистити форматування',\n linkUrlPrompt: 'URL-адреса посилання',\n editableText: 'Текст для редагування',\n headingPlaceholder: (level) => `Заголовок ${level}`,\n headingLevelGroup: 'Рівень заголовка',\n listStyle: 'Стиль списку',\n bulleted: 'Маркований',\n numbered: 'Нумерований',\n listItem: 'Елемент списку',\n quoteText: 'Текст цитати',\n citation: 'Джерело',\n addCitation: '— Додати джерело',\n codeLanguage: 'Мова коду',\n codeLanguagePlaceholder: 'мова (необовʼязково)',\n enterCode: 'Введіть код…',\n imageWidth: (percent) => `Ширина: ${percent}%`,\n uploading: 'Завантаження…',\n dropImagePrompt: 'Перетягніть зображення сюди або',\n chooseFile: 'Виберіть файл',\n pasteImageUrl: '…або вставте URL-адресу зображення',\n notAnImage: 'Виберіть файл зображення.',\n uploadFailed: 'Не вдалося завантажити. Спробуйте ще раз або вставте URL-адресу.',\n imageAdded: 'Зображення додано',\n pasteEmbedUrl: 'Вставте URL-адресу з YouTube, Vimeo чи іншу…',\n embedFallbackNote: 'Цю адресу не можна вбудувати, але її буде показано як посилання.',\n embedTitle: (provider) => `Вбудовування ${provider}`,\n embedAdded: (provider) => `Додано вбудовування ${provider}`,\n embeddedContent: 'Вбудований вміст',\n buttonLabel: 'Напис',\n buttonLink: 'Посилання (href)',\n buttonTone: 'Тон',\n buttonVariant: 'Варіант',\n buttonDefaultLabel: 'Натисніть',\n alignLeft: 'Ліворуч',\n alignCenter: 'По центру',\n alignRight: 'Праворуч',\n tonePrimary: 'Основний',\n toneNeutral: 'Нейтральний',\n toneSuccess: 'Успіх',\n toneWarning: 'Попередження',\n toneDanger: 'Небезпека',\n toneInfo: 'Інформація',\n variantSolid: 'Заповнений',\n variantSoft: 'Мʼякий',\n variantOutline: 'Контурний',\n ratioEqual: 'Рівні',\n alignStretch: 'Розтягнути',\n alignTop: 'Угорі',\n alignMiddle: 'Посередині',\n alignBottom: 'Унизу',\n justifyStart: 'На початку',\n justifyCenter: 'По центру',\n justifyEnd: 'У кінці',\n justifyBetween: 'Рівномірно',\n};\n\nconst PASSWORD_STRENGTH_LABELS = ['Слабкий', 'Слабкий', 'Посередній', 'Хороший', 'Надійний'];\n\n/**\n * The complete Ukrainian string map — every key of {@link MkI18nStrings},\n * `locale: 'uk-UA'` and `currency: 'UAH'` for the formatting pipes.\n * Provide it whole with {@link provideMkI18nUk}, or pass it as the base of\n * `provideMkI18n(overrides, MK_UK_I18N)`.\n */\nexport const MK_UK_I18N: MkI18nStrings = {\n locale: 'uk-UA',\n currency: 'UAH',\n\n validation: MK_UK_VALIDATION,\n\n close: 'Закрити',\n dismiss: 'Відхилити',\n clear: 'Очистити',\n confirm: 'Підтвердити',\n cancel: 'Скасувати',\n ok: 'OK',\n save: 'Зберегти',\n submit: 'Надіслати',\n edit: 'Редагувати',\n remove: 'Видалити',\n removeItem: (name) => `Видалити ${name}`,\n empty: 'Порожньо',\n optional: 'Необовʼязково',\n filter: 'Фільтрувати…',\n confirmMessage: 'Ви впевнені?',\n decrease: 'Зменшити',\n increase: 'Збільшити',\n\n loading: 'Завантаження…',\n noOptions: 'Немає варіантів',\n noResults: 'Немає результатів',\n noData: 'Немає даних для відображення',\n translationEditorSearch: 'Пошук ключів і тексту',\n translationEditorAll: 'Усі',\n translationEditorOverridden: 'Змінені',\n translationEditorMissing: 'Відсутні',\n translationEditorKey: 'Ключ',\n translationEditorReset: 'Відновити оригінальний текст',\n translationEditorExport: 'Експортувати CSV',\n translationEditorKeys: 'ключів',\n sessionExpiryTitle: 'Сеанс незабаром завершиться',\n sessionExpiryExtend: 'Залишитися в системі',\n sessionExpiryExtending: 'Продовження…',\n sessionExpiryLogout: 'Вийти зараз',\n sessionExpiryBody: (countdown) => `З міркувань безпеки вас буде вилучено із системи через ${countdown}. Незбережені зміни буде втрачено.`,\n scannerTitle: 'Сканувати код',\n scannerHint: 'Наведіть камеру на штрихкод або QR-код. Він зчитається автоматично.',\n scannerCameraError: 'Не вдалося запустити камеру. Перевірте дозволи браузера.',\n resultsCount: (count) =>\n `${count} ${plural(count, 'результат', 'результати', 'результатів')}`,\n\n previousPage: 'Перейти до попередньої сторінки',\n nextPage: 'Перейти до наступної сторінки',\n goToPage: (page) => `Перейти до сторінки ${page}`,\n paginationLabel: 'Пагінація',\n previousSlide: 'Попередній слайд',\n nextSlide: 'Наступний слайд',\n goToSlide: (slide) => `Перейти до слайда ${slide}`,\n carouselLabel: 'Карусель',\n pauseSlideshow: 'Призупинити показ слайдів',\n playSlideshow: 'Продовжити показ слайдів',\n slideOf: (slide, total) => `Слайд ${slide} з ${total}`,\n\n dateNames: MK_UK_DATE_NAMES,\n previousMonth: 'Попередній місяць',\n nextMonth: 'Наступний місяць',\n previousYear: 'Попередній рік',\n nextYear: 'Наступний рік',\n previousYears: 'Попередні роки',\n nextYears: 'Наступні роки',\n selectDate: 'Виберіть дату…',\n selectRange: 'Виберіть діапазон…',\n selectTime: 'Виберіть час…',\n selectMonth: 'Виберіть місяць…',\n selectYear: 'Виберіть рік…',\n selectWeek: 'Виберіть тиждень…',\n selectPlaceholder: 'Виберіть…',\n chooseDate: 'Вибір дати',\n chooseDateRange: 'Вибір діапазону дат',\n chooseMonth: 'Вибір місяця',\n chooseYear: 'Вибір року',\n chooseWeek: 'Вибір тижня',\n openCalendar: 'Відкрити календар',\n openTimeList: 'Відкрити список часу',\n moreActions: 'Більше дій',\n selectDateTime: 'Виберіть дату й час…',\n chooseDateTime: 'Вибір дати й часу',\n chooseTime: 'Вибір часу',\n openDateTimePicker: 'Відкрити вибір дати й часу',\n daySegment: 'День',\n monthSegment: 'Місяць',\n yearSegment: 'Рік',\n countdownDays: 'дн.',\n countdownHours: 'год',\n countdownMinutes: 'хв',\n countdownSeconds: 'с',\n countdownFinished: 'Завершено',\n dayEvents: (count, titles) =>\n `${count} ${plural(count, 'подія', 'події', 'подій')}${titles ? `: ${titles}` : ''}`,\n moreEvents: (count) => `+${count} ще`,\n\n selectAllRows: 'Вибрати всі рядки',\n selectRow: (row) => (row ? `Вибрати рядок ${row}` : 'Вибрати рядок'),\n expandHeader: 'Розгорнути',\n expandRow: 'Розгорнути рядок',\n collapseRow: 'Згорнути рядок',\n expandTreeRow: 'Показати дочірні рядки',\n collapseTreeRow: 'Сховати дочірні рядки',\n expandGroup: 'Розгорнути групу',\n collapseGroup: 'Згорнути групу',\n groupCount: (count) =>\n `${count} ${plural(count, 'елемент', 'елементи', 'елементів')}`,\n resizeColumn: 'Змінити ширину колонки',\n columnWidth: (column, width) => `Ширина колонки ${column}: ${width} пкс`,\n columnMoved: (column, position, total) =>\n `Колонку ${column} переміщено на позицію ${position} з ${total}`,\n editCell: 'Натисніть Enter, щоб редагувати',\n cellSaved: (value) => `Збережено ${value}`,\n sortedBy: (column, direction) =>\n `Відсортовано за ${column} ${direction === 'asc' ? 'за зростанням' : 'за спаданням'}`,\n sortingCleared: (column) => `Сортування за ${column} скасовано`,\n\n showPassword: 'Показати пароль',\n hidePassword: 'Сховати пароль',\n passwordRuleMinLength: (length) =>\n `Щонайменше ${length} ${plural(length, 'символ', 'символи', 'символів')}`,\n passwordRuleUppercase: 'Велика літера',\n passwordRuleNumber: 'Цифра',\n passwordRuleSymbol: 'Спеціальний символ',\n passwordStrength: (score) =>\n PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],\n passwordStrengthLabel: 'Надійність пароля:',\n ruleMet: 'Виконано:',\n ruleNotMet: 'Не виконано:',\n oneTimeCode: 'Одноразовий код',\n otpDigit: (position) => `Цифра ${position}`,\n numericKeypadLabel: 'Цифрова клавіатура',\n keypadClear: 'Очистити',\n keypadBackspace: 'Backspace',\n keypadDigitsEntered: (count, length) => `Введено ${count} з ${length} цифр`,\n onScreenKeyboardLabel: 'Екранна клавіатура',\n keyboardShift: 'Shift',\n keyboardSpace: 'Пробіл',\n keyboardEnter: 'Enter',\n keyboardAltLayer: 'Більше символів',\n keyboardBaseLayer: 'Літери',\n ratingLabel: 'Оцінка',\n ratingValueText: (value, max) =>\n `${value} з ${max} ${plural(max, 'зірки', 'зірок', 'зірок')}`,\n minimum: 'Мінімум',\n maximum: 'Максимум',\n chooseColor: 'Виберіть колір',\n hexValue: 'Шістнадцяткове значення',\n presetColors: 'Стандартні кольори',\n chooseCountry: 'Виберіть країну',\n searchCountries: 'Пошук країни…',\n phoneNumber: 'Номер телефону',\n postalCode: 'Поштовий індекс',\n amount: 'Сума',\n cardNumber: 'Номер картки',\n cardBrand: (brand) => `Тип картки: ${brand}`,\n iban: 'IBAN',\n taxId: 'Податковий номер',\n signature: 'Підпис',\n jsonLabel: 'JSON',\n\n logViewerLabel: 'Журнал подій',\n logFollow: 'Стежити',\n logCopyAll: 'Копіювати журнал',\n logWrapLines: 'Переносити рядки',\n\n orgChartLabel: 'Організаційна структура',\n orgChartExpand: 'Розгорнути {label}',\n orgChartCollapse: 'Згорнути {label}',\n\n chatLabel: 'Розмова',\n chatComposerLabel: 'Повідомлення',\n chatPlaceholder: 'Напишіть повідомлення…',\n chatSend: 'Надіслати',\n chatStop: 'Зупинити генерування',\n chatAttach: 'Додати файли',\n chatRemoveAttachment: 'Видалити вкладення',\n chatAttachments: 'Вкладення',\n chatSuggestions: 'Пропозиції',\n chatCopy: 'Копіювати повідомлення',\n chatRetry: 'Повторити',\n chatTyping: 'Пише…',\n chatStreaming: 'Генерування…',\n chatJumpToLatest: 'Перейти до найновіших',\n chatEmpty: 'Немає повідомлень',\n chatYou: 'Ви',\n chatAssistant: 'Асистент',\n chatToolRunning: 'Виконується',\n chatToolDone: 'Готово',\n chatToolError: 'Помилка',\n\n dynamicFormAdd: 'Додати',\n dynamicFormRemove: (index) => `Видалити елемент ${index}`,\n\n queryBuilderLabel: 'Умови фільтрування',\n queryAddRule: 'Додати правило',\n queryAddGroup: 'Додати групу',\n queryRemoveRule: 'Видалити правило',\n queryRemoveGroup: 'Видалити групу',\n queryAnd: 'Та',\n queryOr: 'Або',\n queryNot: 'Не',\n queryField: 'Поле',\n queryOperator: 'Оператор',\n queryValue: 'Значення',\n queryValueFrom: 'Від',\n queryValueTo: 'До',\n queryEmptyGroup: 'Немає умов',\n queryTrue: 'Істина',\n queryFalse: 'Хиба',\n queryOpEq: 'дорівнює',\n queryOpNeq: 'не дорівнює',\n queryOpContains: 'містить',\n queryOpNotContains: 'не містить',\n queryOpStartsWith: 'починається з',\n queryOpEndsWith: 'закінчується на',\n queryOpGt: 'більше ніж',\n queryOpGte: 'щонайменше',\n queryOpLt: 'менше ніж',\n queryOpLte: 'щонайбільше',\n queryOpBetween: 'між',\n queryOpIn: 'є одним із',\n queryOpNotIn: 'не є жодним із',\n queryOpBefore: 'до',\n queryOpAfter: 'після',\n queryOpEmpty: 'порожнє',\n queryOpNotEmpty: 'не порожнє',\n\n dialogMove: 'Перемістити вікно (стрілки; Home повертає)',\n dialogResize: 'Змінити розмір вікна (стрілки; Home повертає)',\n\n listboxFilter: 'Фільтрувати варіанти',\n listboxEmpty: 'Немає відповідних варіантів',\n\n eventCalendarGrabbed: (title, from, to) =>\n `Піднято ${title}, ${from} – ${to}. Стрілки переміщують, ` +\n 'Shift зі стрілкою вгору або вниз змінює час завершення, ' +\n 'Enter зберігає, Escape скасовує.',\n eventCalendarPosition: (title, day, from, to) =>\n `${title}, ${day}, ${from} – ${to}.`,\n eventCalendarMoved: (title, day, from, to) =>\n `${title} переміщено на ${day}, ${from} – ${to}.`,\n eventCalendarResized: (title, to) => `${title} тепер закінчується о ${to}.`,\n eventCalendarEditCancelled:\n 'Переміщення скасовано. Подія зберігає початковий час.',\n eventCalendarMovableEvent: 'Подія, яку можна переміщувати',\n\n previousImage: 'Попереднє зображення',\n nextImage: 'Наступне зображення',\n imageOf: (index, total) => `Зображення ${index} з ${total}`,\n viewImage: (alt) => (alt ? `Переглянути ${alt}` : 'Переглянути зображення'),\n imageFailed: 'Не вдалося завантажити зображення',\n zoom: 'Масштаб',\n zoomIn: 'Збільшити',\n zoomOut: 'Зменшити',\n mediaLibrary: 'Медіатека',\n dropzoneLabel: 'Перетягніть файли сюди або натисніть, щоб вибрати',\n uploadFailed: 'Не вдалося завантажити',\n retryUpload: 'Повторити завантаження',\n errorSummaryTitle: 'Виникла проблема',\n\n available: 'Доступні',\n selected: 'Вибрані',\n transferSelected: (target) => `Перемістити вибрані до: ${target}`,\n transferAll: (target) => `Перемістити всі до: ${target}`,\n itemsMoved: (count, target) =>\n `Переміщено ${count} ${plural(count, 'елемент', 'елементи', 'елементів')} до: ${target}`,\n\n notificationsTitle: 'Сповіщення',\n allCaughtUp: 'Усе прочитано',\n markAllRead: 'Позначити всі як прочитані',\n notificationsUnread: (count) =>\n `Сповіщення, ${count} ${plural(count, 'непрочитане', 'непрочитані', 'непрочитаних')}`,\n unread: 'Непрочитані',\n tourStepOf: (step, total) => `Крок ${step} з ${total}`,\n tourSkip: 'Пропустити',\n tourPrevious: 'Назад',\n tourNext: 'Далі',\n tourDone: 'Готово',\n\n commandPalettePlaceholder: 'Введіть команду або шукайте…',\n commandPaletteLabel: 'Палітра команд',\n stepCompleted: 'Завершено',\n stepError: 'Містить помилки',\n diffAddedLine: 'Додано:',\n diffRemovedLine: 'Видалено:',\n itemAdded: (name) => `Додано ${name}`,\n itemRemoved: (name) => `Видалено ${name}`,\n resizePanes: 'Змінити розмір панелей',\n backToTop: 'Повернутися нагору',\n breadcrumbLabel: 'Навігаційний ланцюжок',\n fabLabel: 'Дії',\n diffBefore: 'До',\n diffAfter: 'Після',\n diffChanges: 'Зміни',\n skipToContent: 'Перейти до вмісту',\n primaryNav: 'Головна',\n\n dndPickedUp: (position, total) =>\n `Піднято. Елемент ${position} з ${total}. ` +\n 'Стрілки переміщують, пробіл або Enter опускає, Escape скасовує.',\n dndMoved: (position, total) => `Переміщено на позицію ${position} з ${total}.`,\n dndMovedToList: (list, position, total) =>\n `Переміщено до: ${list}, позиція ${position} з ${total}.`,\n dndDropped: (position) => `Опущено на позиції ${position}.`,\n dndMovedToZone: (zone) => `Переміщено до: ${zone}. Пробіл або Enter опускає тут.`,\n dndDroppedInZone: (zone) => `Опущено в: ${zone}.`,\n dndCancelled: 'Переміщення скасовано. Елемент повернувся на початкове місце.',\n\n repeaterAddRow: 'Додати рядок',\n repeaterRemoveRow: (index) => `Видалити рядок ${index}`,\n repeaterReorderRow: (index) => `Змінити порядок рядка ${index}`,\n repeaterRowMoved: (from, to) =>\n `Рядок переміщено з позиції ${from} на позицію ${to}.`,\n\n fileRejectedType: (name) => `${name}: непідтримуваний тип`,\n fileRejectedSize: (name, limit) => `${name}: перевищує ${limit}`,\n fileRejectedCount: (name, max) =>\n `${name}: перевищено ліміт ${max} ${plural(max, 'файлу', 'файлів', 'файлів')}`,\n\n chartCategory: 'Категорія',\n chartValue: 'Значення',\n chartSeries: 'Серія',\n chartSlice: 'Сегмент',\n chartStage: 'Етап',\n chartConversion: 'Конверсія',\n chartAxis: 'Вісь',\n chartShare: 'Частка',\n chartLabel: 'Мітка',\n\n qrCodeLabel: (text) => `QR-код: ${text}`,\n\n sortableListLabel: 'Список із сортуванням',\n filterColumn: (column) => `Фільтрувати ${column}`,\n clearFilter: (column) => `Очистити фільтр колонки ${column}`,\n filterAny: 'Усі',\n filterMin: 'Мін',\n\n blockEditor: MK_UK_BLOCK_EDITOR,\n};\n\n/**\n * Provides the Ukrainian strings — {@link MK_UK_I18N} with any `overrides`\n * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like\n * `provideMkI18n`).\n *\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideMkI18nUk({ noData: 'Тут нічого немає' })],\n * });\n * ```\n */\nexport function provideMkI18nUk(overrides: MkI18nOverrides = {}): Provider {\n return provideMkI18n(overrides, MK_UK_I18N);\n}\n","/**\n * Ukrainian locale pack for @mk-kit/ui — `@mk-kit/ui/locales/uk`.\n *\n * Its own entry point so an app carries only the locales it provides.\n */\nexport * from './uk';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAUA;;;;;;;;;;AAUG;AACG,SAAU,UAAU,CACxB,KAAa,EACb,GAAW,EACX,GAAW,EACX,IAAY,EAAA;AAEZ,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;AACpB,IAAA,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG;AACtB,IAAA,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE;AAAE,QAAA,OAAO,GAAG;AAC5C,IAAA,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAAE,QAAA,OAAO,GAAG;AACxE,IAAA,OAAO,IAAI;AACb;AAEA,MAAM,MAAM,GAAG,UAAU;AAEzB;AACO,MAAM,gBAAgB,GAAgB;AAC3C,IAAA,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC9D,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;AAClE,KAAA;AACD,IAAA,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;QACxC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AACzC,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;AAC5E,KAAA;AACD,IAAA,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACzD,IAAA,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;AAGrD;AACO,MAAM,gBAAgB,GAAwB;AACnD,IAAA,QAAQ,EAAE,wBAAwB;AAClC,IAAA,KAAK,EAAE,yCAAyC;IAChD,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,gCAAA,EAAmC,GAAG,CAAA,CAAE;IAC1D,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,iCAAA,EAAoC,GAAG,CAAA,CAAE;IAC3D,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,KAC5B,CAAA,mBAAA,EAAsB,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA,CAAE;IACnG,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,KAC5B,CAAA,kBAAA,EAAqB,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA,CAAE;AACpG,IAAA,OAAO,EAAE,wCAAwC;AACjD,IAAA,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KACjB,CAAA,6BAAA,EAAgC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA,CAAE;AACnE,IAAA,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KACjB,CAAA,8BAAA,EAAiC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA,CAAE;AACpE,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,qBAAqB,EAAE,oCAAoC;IAC3D,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,4BAAA,EAA+B,GAAG,CAAA,CAAE;IAC5D,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAA,6BAAA,EAAgC,GAAG,CAAA,CAAE;IAC7D,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,KAClB,CAAA,mBAAA,EAAsB,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA,CAAE;AAClF,IAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE;IACxE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,sBAAA,CAAwB;AAC9D,IAAA,UAAU,EAAE,8BAA8B;IAC1C,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,KACvB;UACI,CAAA,sBAAA,EAAyB,cAAc,CAAA,UAAA;AACzC,UAAE,sBAAsB;IAC5B,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAA,uCAAA,EAA0C,OAAO,CAAA,CAAE;AAChF,IAAA,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE;AAC3E,IAAA,OAAO,EAAE,mBAAmB;;AAG9B;AACO,MAAM,kBAAkB,GAAyB;AACtD,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,WAAW,EAAE,uBAAuB;AACpC,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,OAAO,EAAE,sBAAsB;AAC/B,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,QAAQ,EAAE,uBAAuB;AACjC,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,QAAQ,EAAE,yBAAyB;AACnC,IAAA,cAAc,EAAE,sBAAsB;AACtC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;AACnD,IAAA,WAAW,EAAE,2BAA2B;AACxC,IAAA,qBAAqB,EAAE,yDAAyD;AAChF,IAAA,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;IAC/C,YAAY,EAAE,CAAC,IAAI,KAAK,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE;IACjD,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,QAAA,EAAW,KAAK,CAAA,CAAE;AACzC,IAAA,eAAe,EAAE,oBAAoB;IACrC,YAAY,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;AAC7C,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAE,uBAAuB;IACvC,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE;IACjD,aAAa,EAAE,CAAC,KAAK,KAAK,CAAA,+BAAA,EAAkC,KAAK,CAAA,EAAA,CAAI;AACrE,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,cAAc,EAAE,OAAO;AACvB,IAAA,kBAAkB,EAAE,oCAAoC;AACxD,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,gBAAgB,EAAE,wBAAwB;AAC1C,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,aAAa,EAAE,oCAAoC;AACnD,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,2CAA2C;AAC3D,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,aAAa,EAAE,mCAAmC;AAClD,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,cAAc,EAAE,8CAA8C;AAC9D,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,cAAc,EAAE,yCAAyC;AACzD,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,YAAY,EAAE,uBAAuB;IACrC,kBAAkB,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;AACnD,IAAA,iBAAiB,EAAE,kBAAkB;AACrC,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,uBAAuB,EAAE,sBAAsB;AAC/C,IAAA,SAAS,EAAE,cAAc;IACzB,UAAU,EAAE,CAAC,OAAO,KAAK,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,CAAG;AAC9C,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,eAAe,EAAE,iCAAiC;AAClD,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,aAAa,EAAE,oCAAoC;AACnD,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,YAAY,EAAE,kEAAkE;AAChF,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,aAAa,EAAE,8CAA8C;AAC7D,IAAA,iBAAiB,EAAE,kEAAkE;IACrF,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,aAAA,EAAgB,QAAQ,CAAA,CAAE;IACpD,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,oBAAA,EAAuB,QAAQ,CAAA,CAAE;AAC3D,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,kBAAkB,EAAE,WAAW;AAC/B,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,WAAW;AACxB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,cAAc,EAAE,WAAW;AAC3B,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,cAAc,EAAE,YAAY;;AAG9B,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;AAE5F;;;;;AAKG;AACI,MAAM,UAAU,GAAkB;AACvC,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,QAAQ,EAAE,KAAK;AAEf,IAAA,UAAU,EAAE,gBAAgB;AAE5B,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,CAAC,IAAI,KAAK,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE;AACxC,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,QAAQ,EAAE,WAAW;AAErB,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,MAAM,EAAE,8BAA8B;AACtC,IAAA,uBAAuB,EAAE,uBAAuB;AAChD,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,2BAA2B,EAAE,SAAS;AACtC,IAAA,wBAAwB,EAAE,UAAU;AACpC,IAAA,oBAAoB,EAAE,MAAM;AAC5B,IAAA,sBAAsB,EAAE,8BAA8B;AACtD,IAAA,uBAAuB,EAAE,kBAAkB;AAC3C,IAAA,qBAAqB,EAAE,QAAQ;AAC/B,IAAA,kBAAkB,EAAE,6BAA6B;AACjD,IAAA,mBAAmB,EAAE,sBAAsB;AAC3C,IAAA,sBAAsB,EAAE,cAAc;AACtC,IAAA,mBAAmB,EAAE,aAAa;IAClC,iBAAiB,EAAE,CAAC,SAAS,KAAK,CAAA,uDAAA,EAA0D,SAAS,CAAA,kCAAA,CAAoC;AACzI,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,WAAW,EAAE,qEAAqE;AAClF,IAAA,kBAAkB,EAAE,0DAA0D;AAC9E,IAAA,YAAY,EAAE,CAAC,KAAK,KAClB,GAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA,CAAE;AAEvE,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,QAAQ,EAAE,+BAA+B;IACzC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAA,oBAAA,EAAuB,IAAI,CAAA,CAAE;AACjD,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,aAAa,EAAE,kBAAkB;AACjC,IAAA,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,kBAAA,EAAqB,KAAK,CAAA,CAAE;AAClD,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,cAAc,EAAE,2BAA2B;AAC3C,IAAA,aAAa,EAAE,0BAA0B;AACzC,IAAA,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAA,MAAA,EAAS,KAAK,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAEtD,IAAA,SAAS,EAAE,gBAAgB;AAC3B,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,eAAe,EAAE,qBAAqB;AACtC,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,YAAY,EAAE,mBAAmB;AACjC,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,cAAc,EAAE,sBAAsB;AACtC,IAAA,cAAc,EAAE,mBAAmB;AACnC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,kBAAkB,EAAE,4BAA4B;AAChD,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KACvB,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,MAAM,GAAG,CAAA,EAAA,EAAK,MAAM,CAAA,CAAE,GAAG,EAAE,CAAA,CAAE;IACtF,UAAU,EAAE,CAAC,KAAK,KAAK,CAAA,CAAA,EAAI,KAAK,CAAA,GAAA,CAAK;AAErC,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,iBAAiB,GAAG,CAAA,CAAE,GAAG,eAAe,CAAC;AACpE,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,UAAU,EAAE,CAAC,KAAK,KAChB,GAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA,CAAE;AACjE,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAA,eAAA,EAAkB,MAAM,CAAA,EAAA,EAAK,KAAK,CAAA,IAAA,CAAM;AACxE,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,KACnC,WAAW,MAAM,CAAA,uBAAA,EAA0B,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAClE,IAAA,QAAQ,EAAE,iCAAiC;IAC3C,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAC1B,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAA,EAAI,SAAS,KAAK,KAAK,GAAG,eAAe,GAAG,cAAc,CAAA,CAAE;IACvF,cAAc,EAAE,CAAC,MAAM,KAAK,CAAA,cAAA,EAAiB,MAAM,CAAA,UAAA,CAAY;AAE/D,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,qBAAqB,EAAE,CAAC,MAAM,KAC5B,cAAc,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA,CAAE;AAC3E,IAAA,qBAAqB,EAAE,eAAe;AACtC,IAAA,kBAAkB,EAAE,OAAO;AAC3B,IAAA,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,CAAC,KAAK,KACtB,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,IAAA,qBAAqB,EAAE,oBAAoB;AAC3C,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,CAAC,QAAQ,KAAK,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAE;AAC3C,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA,QAAA,EAAW,KAAK,CAAA,GAAA,EAAM,MAAM,CAAA,KAAA,CAAO;AAC3E,IAAA,qBAAqB,EAAE,oBAAoB;AAC3C,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,gBAAgB,EAAE,iBAAiB;AACnC,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,WAAW,EAAE,QAAQ;IACrB,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,KAC1B,CAAA,EAAG,KAAK,CAAA,GAAA,EAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA,CAAE;AAC/D,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,QAAQ,EAAE,yBAAyB;AACnC,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,CAAC,KAAK,KAAK,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE;AAC5C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,kBAAkB;AACzB,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,SAAS,EAAE,MAAM;AAEjB,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,YAAY,EAAE,kBAAkB;AAEhC,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,cAAc,EAAE,oBAAoB;AACpC,IAAA,gBAAgB,EAAE,kBAAkB;AAEpC,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,iBAAiB,EAAE,cAAc;AACjC,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,oBAAoB,EAAE,oBAAoB;AAC1C,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,QAAQ,EAAE,wBAAwB;AAClC,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,eAAe,EAAE,aAAa;AAC9B,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,aAAa,EAAE,SAAS;AAExB,IAAA,cAAc,EAAE,QAAQ;IACxB,iBAAiB,EAAE,CAAC,KAAK,KAAK,CAAA,iBAAA,EAAoB,KAAK,CAAA,CAAE;AAEzD,IAAA,iBAAiB,EAAE,oBAAoB;AACvC,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,kBAAkB,EAAE,YAAY;AAChC,IAAA,iBAAiB,EAAE,eAAe;AAClC,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,eAAe,EAAE,YAAY;AAE7B,IAAA,UAAU,EAAE,4CAA4C;AACxD,IAAA,YAAY,EAAE,+CAA+C;AAE7D,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,YAAY,EAAE,6BAA6B;AAE3C,IAAA,oBAAoB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KACpC,WAAW,KAAK,CAAA,EAAA,EAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,uBAAA,CAAyB;QAC1D,0DAA0D;QAC1D,kCAAkC;IACpC,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAC1C,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,GAAG,KAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,CAAA,CAAG;IACtC,kBAAkB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KACvC,CAAA,EAAG,KAAK,CAAA,eAAA,EAAkB,GAAG,KAAK,IAAI,CAAA,GAAA,EAAM,EAAE,CAAA,CAAA,CAAG;AACnD,IAAA,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAA,EAAG,KAAK,CAAA,sBAAA,EAAyB,EAAE,CAAA,CAAA,CAAG;AAC3E,IAAA,0BAA0B,EACxB,uDAAuD;AACzD,IAAA,yBAAyB,EAAE,+BAA+B;AAE1D,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAA,WAAA,EAAc,KAAK,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AAC3D,IAAA,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,eAAe,GAAG,CAAA,CAAE,GAAG,wBAAwB,CAAC;AAC3E,IAAA,WAAW,EAAE,mCAAmC;AAChD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,aAAa,EAAE,mDAAmD;AAClE,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,iBAAiB,EAAE,kBAAkB;AAErC,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,CAAC,MAAM,KAAK,CAAA,wBAAA,EAA2B,MAAM,CAAA,CAAE;IACjE,WAAW,EAAE,CAAC,MAAM,KAAK,CAAA,oBAAA,EAAuB,MAAM,CAAA,CAAE;IACxD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KACxB,CAAA,WAAA,EAAc,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE;AAE1F,IAAA,kBAAkB,EAAE,YAAY;AAChC,IAAA,WAAW,EAAE,eAAe;AAC5B,IAAA,WAAW,EAAE,4BAA4B;AACzC,IAAA,mBAAmB,EAAE,CAAC,KAAK,KACzB,eAAe,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA,CAAE;AACvF,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA,KAAA,EAAQ,IAAI,CAAA,GAAA,EAAM,KAAK,CAAA,CAAE;AACtD,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,QAAQ,EAAE,QAAQ;AAElB,IAAA,yBAAyB,EAAE,8BAA8B;AACzD,IAAA,mBAAmB,EAAE,gBAAgB;AACrC,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,CAAC,IAAI,KAAK,CAAA,OAAA,EAAU,IAAI,CAAA,CAAE;IACrC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE;AACzC,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,eAAe,EAAE,uBAAuB;AACxC,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,aAAa,EAAE,mBAAmB;AAClC,IAAA,UAAU,EAAE,SAAS;AAErB,IAAA,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,KAC3B,CAAA,iBAAA,EAAoB,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,EAAA,CAAI;QAC3C,iEAAiE;AACnE,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAA,sBAAA,EAAyB,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAA,CAAG;AAC9E,IAAA,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,KACpC,kBAAkB,IAAI,CAAA,UAAA,EAAa,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,CAAA,CAAG;IAC3D,UAAU,EAAE,CAAC,QAAQ,KAAK,CAAA,mBAAA,EAAsB,QAAQ,CAAA,CAAA,CAAG;IAC3D,cAAc,EAAE,CAAC,IAAI,KAAK,CAAA,eAAA,EAAkB,IAAI,CAAA,+BAAA,CAAiC;IACjF,gBAAgB,EAAE,CAAC,IAAI,KAAK,CAAA,WAAA,EAAc,IAAI,CAAA,CAAA,CAAG;AACjD,IAAA,YAAY,EAAE,+DAA+D;AAE7E,IAAA,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,CAAC,KAAK,KAAK,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAE;IACvD,kBAAkB,EAAE,CAAC,KAAK,KAAK,CAAA,sBAAA,EAAyB,KAAK,CAAA,CAAE;AAC/D,IAAA,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,KACzB,CAAA,2BAAA,EAA8B,IAAI,CAAA,YAAA,EAAe,EAAE,CAAA,CAAA,CAAG;IAExD,gBAAgB,EAAE,CAAC,IAAI,KAAK,CAAA,EAAG,IAAI,CAAA,qBAAA,CAAuB;AAC1D,IAAA,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA,EAAG,IAAI,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE;IAChE,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAC3B,CAAA,EAAG,IAAI,CAAA,mBAAA,EAAsB,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA,CAAE;AAEhF,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,OAAO;IAEnB,WAAW,EAAE,CAAC,IAAI,KAAK,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE;AAExC,IAAA,iBAAiB,EAAE,uBAAuB;IAC1C,YAAY,EAAE,CAAC,MAAM,KAAK,CAAA,YAAA,EAAe,MAAM,CAAA,CAAE;IACjD,WAAW,EAAE,CAAC,MAAM,KAAK,CAAA,wBAAA,EAA2B,MAAM,CAAA,CAAE;AAC5D,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAEhB,IAAA,WAAW,EAAE,kBAAkB;;AAGjC;;;;;;;;;;AAUG;AACG,SAAU,eAAe,CAAC,SAAA,GAA6B,EAAE,EAAA;AAC7D,IAAA,OAAO,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;AAC7C;;AC/jBA;;;;AAIG;;ACJH;;AAEG;;;;"}
@@ -0,0 +1,189 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, viewChild, input, output, signal, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { MK_I18N, MK_OVERLAY_DATA, MkOverlayRef } from '@mk-kit/ui/core';
4
+ import { MkButton } from '@mk-kit/ui/button';
5
+ import { MkDialog } from '@mk-kit/ui/feedback';
6
+
7
+ const MK_BARCODE_DEFAULT_FORMATS = [
8
+ 'QR_CODE', 'EAN_13', 'EAN_8', 'CODE_128', 'CODE_39', 'UPC_A', 'UPC_E',
9
+ ];
10
+ let nextId = 0;
11
+ /**
12
+ * Camera barcode / QR reader. Starts the rear camera when it appears, emits
13
+ * `scanned` once with the first decoded text and stops. The decoder
14
+ * (`html5-qrcode`, an optional peer dependency) is loaded on demand, so pages
15
+ * that only *offer* scanning ship nothing extra until a scan starts. Use
16
+ * inline, or through {@link MkBarcodeScannerDialog}.
17
+ *
18
+ * ```html
19
+ * <mk-barcode-scanner (scanned)="onCode($event)" (failed)="show($event)" />
20
+ * ```
21
+ */
22
+ class MkBarcodeScanner {
23
+ i18n = inject(MK_I18N);
24
+ readerEl = viewChild.required('reader', /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "readerEl" }] : /* istanbul ignore next */ []));
26
+ /** Symbologies to decode. Default: QR + the retail 1-D codes. */
27
+ formats = input(MK_BARCODE_DEFAULT_FORMATS, /* @ts-ignore */
28
+ ...(ngDevMode ? [{ debugName: "formats" }] : /* istanbul ignore next */ []));
29
+ /** Frames per second offered to the decoder. Default 10. */
30
+ fps = input(10, /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "fps" }] : /* istanbul ignore next */ []));
32
+ /** Show the built-in hint line above the viewfinder. Default `true`. */
33
+ hint = input(true, /* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
35
+ /** Keep scanning after a hit instead of stopping. Default `false`. */
36
+ continuous = input(false, /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "continuous" }] : /* istanbul ignore next */ []));
38
+ /** Decoded text. */
39
+ scanned = output();
40
+ /** The camera could not start (permission, no device, insecure context). */
41
+ failed = output();
42
+ error = signal(null, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
44
+ scanning = signal(false, /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "scanning" }] : /* istanbul ignore next */ []));
46
+ scanner = null;
47
+ destroyed = false;
48
+ lastHit = '';
49
+ async ngAfterViewInit() {
50
+ const id = `mk-barcode-reader-${++nextId}`;
51
+ this.readerEl().nativeElement.id = id;
52
+ let lib;
53
+ try {
54
+ lib = await import('html5-qrcode');
55
+ }
56
+ catch {
57
+ this.fail('html5-qrcode is not installed');
58
+ return;
59
+ }
60
+ // Dismissed while the chunk loaded — never start a camera nobody can stop.
61
+ if (this.destroyed)
62
+ return;
63
+ const formats = this.formats()
64
+ .map((f) => lib.Html5QrcodeSupportedFormats[f])
65
+ .filter((f) => f !== undefined);
66
+ this.scanner = new lib.Html5Qrcode(id, { formatsToSupport: formats, verbose: false });
67
+ try {
68
+ this.scanning.set(true);
69
+ await this.scanner.start({ facingMode: 'environment' }, { fps: this.fps(), qrbox: { width: 260, height: 160 } }, (text) => void this.onHit(text), () => undefined);
70
+ }
71
+ catch (err) {
72
+ this.scanning.set(false);
73
+ this.fail(err?.message || this.i18n.scannerCameraError);
74
+ }
75
+ }
76
+ ngOnDestroy() {
77
+ this.destroyed = true;
78
+ void this.stop();
79
+ }
80
+ /** Stop the camera and release it. Safe to call twice. */
81
+ async stop() {
82
+ const s = this.scanner;
83
+ if (!s)
84
+ return;
85
+ this.scanner = null;
86
+ try {
87
+ if (s.isScanning)
88
+ await s.stop();
89
+ await s.clear();
90
+ }
91
+ catch {
92
+ /* teardown races are fine */
93
+ }
94
+ this.scanning.set(false);
95
+ }
96
+ async onHit(text) {
97
+ if (this.continuous()) {
98
+ if (text === this.lastHit)
99
+ return; // the same code across consecutive frames
100
+ this.lastHit = text;
101
+ this.scanned.emit(text);
102
+ return;
103
+ }
104
+ await this.stop();
105
+ this.scanned.emit(text);
106
+ }
107
+ fail(message) {
108
+ this.error.set(message);
109
+ this.failed.emit(message);
110
+ }
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkBarcodeScanner, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MkBarcodeScanner, isStandalone: true, selector: "mk-barcode-scanner", inputs: { formats: { classPropertyName: "formats", publicName: "formats", isSignal: true, isRequired: false, transformFunction: null }, fps: { classPropertyName: "fps", publicName: "fps", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, continuous: { classPropertyName: "continuous", publicName: "continuous", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scanned: "scanned", failed: "failed" }, host: { classAttribute: "mk-barcode-scanner" }, viewQueries: [{ propertyName: "readerEl", first: true, predicate: ["reader"], descendants: true, isSignal: true }], ngImport: i0, template: `
113
+ @if (error(); as message) {
114
+ <p class="mk-barcode-scanner__error" role="alert">{{ message }}</p>
115
+ } @else if (hint()) {
116
+ <p class="mk-barcode-scanner__hint">{{ i18n.scannerHint }}</p>
117
+ }
118
+ <div #reader class="mk-barcode-scanner__reader" [class.mk-barcode-scanner__reader--live]="scanning()"></div>
119
+ `, isInline: true, styles: [":host{display:block}.mk-barcode-scanner__hint{margin:0 0 var(--mk-space-3);color:var(--mk-text-muted);font-size:var(--mk-font-size-sm)}.mk-barcode-scanner__error{margin:0 0 var(--mk-space-3);color:var(--mk-danger);font-size:var(--mk-font-size-sm)}.mk-barcode-scanner__reader{width:100%;min-height:12rem;border-radius:var(--mk-radius-md);overflow:hidden;background:var(--mk-surface-2)}.mk-barcode-scanner__reader video{width:100%!important;display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkBarcodeScanner, decorators: [{
122
+ type: Component,
123
+ args: [{ selector: 'mk-barcode-scanner', template: `
124
+ @if (error(); as message) {
125
+ <p class="mk-barcode-scanner__error" role="alert">{{ message }}</p>
126
+ } @else if (hint()) {
127
+ <p class="mk-barcode-scanner__hint">{{ i18n.scannerHint }}</p>
128
+ }
129
+ <div #reader class="mk-barcode-scanner__reader" [class.mk-barcode-scanner__reader--live]="scanning()"></div>
130
+ `, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'mk-barcode-scanner' }, styles: [":host{display:block}.mk-barcode-scanner__hint{margin:0 0 var(--mk-space-3);color:var(--mk-text-muted);font-size:var(--mk-font-size-sm)}.mk-barcode-scanner__error{margin:0 0 var(--mk-space-3);color:var(--mk-danger);font-size:var(--mk-font-size-sm)}.mk-barcode-scanner__reader{width:100%;min-height:12rem;border-radius:var(--mk-radius-md);overflow:hidden;background:var(--mk-surface-2)}.mk-barcode-scanner__reader video{width:100%!important;display:block}\n"] }]
131
+ }], propDecorators: { readerEl: [{ type: i0.ViewChild, args: ['reader', { isSignal: true }] }], formats: [{ type: i0.Input, args: [{ isSignal: true, alias: "formats", required: false }] }], fps: [{ type: i0.Input, args: [{ isSignal: true, alias: "fps", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], continuous: [{ type: i0.Input, args: [{ isSignal: true, alias: "continuous", required: false }] }], scanned: [{ type: i0.Output, args: ["scanned"] }], failed: [{ type: i0.Output, args: ["failed"] }] } });
132
+
133
+ /**
134
+ * The scanner in a dialog: resolves with the decoded text, or `null` when
135
+ * cancelled. Open it with `MkDialogService`:
136
+ *
137
+ * ```ts
138
+ * const code = await dialog.open<MkBarcodeScannerDialog, string | null>(MkBarcodeScannerDialog, { size: 'sm' }).afterClosed;
139
+ * if (code) this.search.setValue(code);
140
+ * ```
141
+ */
142
+ class MkBarcodeScannerDialog {
143
+ i18n = inject(MK_I18N);
144
+ data = inject(MK_OVERLAY_DATA, { optional: true });
145
+ ref = inject(MkOverlayRef);
146
+ defaultFormats = MK_BARCODE_DEFAULT_FORMATS;
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkBarcodeScannerDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: MkBarcodeScannerDialog, isStandalone: true, selector: "mk-barcode-scanner-dialog", ngImport: i0, template: `
149
+ <mk-dialog [dialogTitle]="data?.title || i18n.scannerTitle" hideClose>
150
+ <mk-barcode-scanner
151
+ [formats]="data?.formats || defaultFormats"
152
+ (scanned)="ref.close($event)"
153
+ />
154
+ <div mkDialogFooter>
155
+ <button mkButton variant="ghost" tone="neutral" type="button" (click)="ref.close(null)">
156
+ {{ i18n.cancel }}
157
+ </button>
158
+ </div>
159
+ </mk-dialog>
160
+ `, isInline: true, dependencies: [{ kind: "component", type: MkDialog, selector: "mk-dialog", inputs: ["dialogTitle", "titleId", "hideClose", "draggable", "resizable"] }, { kind: "component", type: MkButton, selector: "button[mkButton], a[mkButton]", inputs: ["variant", "tone", "size", "loading", "fullWidth", "iconOnly", "disabled"] }, { kind: "component", type: MkBarcodeScanner, selector: "mk-barcode-scanner", inputs: ["formats", "fps", "hint", "continuous"], outputs: ["scanned", "failed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkBarcodeScannerDialog, decorators: [{
163
+ type: Component,
164
+ args: [{
165
+ selector: 'mk-barcode-scanner-dialog',
166
+ imports: [MkDialog, MkButton, MkBarcodeScanner],
167
+ template: `
168
+ <mk-dialog [dialogTitle]="data?.title || i18n.scannerTitle" hideClose>
169
+ <mk-barcode-scanner
170
+ [formats]="data?.formats || defaultFormats"
171
+ (scanned)="ref.close($event)"
172
+ />
173
+ <div mkDialogFooter>
174
+ <button mkButton variant="ghost" tone="neutral" type="button" (click)="ref.close(null)">
175
+ {{ i18n.cancel }}
176
+ </button>
177
+ </div>
178
+ </mk-dialog>
179
+ `,
180
+ changeDetection: ChangeDetectionStrategy.OnPush,
181
+ }]
182
+ }] });
183
+
184
+ /**
185
+ * Generated bundle index. Do not edit.
186
+ */
187
+
188
+ export { MK_BARCODE_DEFAULT_FORMATS, MkBarcodeScanner, MkBarcodeScannerDialog };
189
+ //# sourceMappingURL=mk-kit-ui-media-scanner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mk-kit-ui-media-scanner.mjs","sources":["../../../projects/mk-kit/media/scanner/barcode-scanner.ts","../../../projects/mk-kit/media/scanner/barcode-scanner-dialog.ts","../../../projects/mk-kit/media/scanner/mk-kit-ui-media-scanner.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnDestroy,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { MK_I18N } from '@mk-kit/ui/core';\nimport type { Html5Qrcode } from 'html5-qrcode';\n\n/** Symbologies the scanner reads; names follow `Html5QrcodeSupportedFormats`. */\nexport type MkBarcodeFormat =\n | 'QR_CODE'\n | 'EAN_13'\n | 'EAN_8'\n | 'CODE_128'\n | 'CODE_39'\n | 'UPC_A'\n | 'UPC_E'\n | 'DATA_MATRIX'\n | 'ITF'\n | 'CODABAR';\n\nexport const MK_BARCODE_DEFAULT_FORMATS: MkBarcodeFormat[] = [\n 'QR_CODE', 'EAN_13', 'EAN_8', 'CODE_128', 'CODE_39', 'UPC_A', 'UPC_E',\n];\n\nlet nextId = 0;\n\n/**\n * Camera barcode / QR reader. Starts the rear camera when it appears, emits\n * `scanned` once with the first decoded text and stops. The decoder\n * (`html5-qrcode`, an optional peer dependency) is loaded on demand, so pages\n * that only *offer* scanning ship nothing extra until a scan starts. Use\n * inline, or through {@link MkBarcodeScannerDialog}.\n *\n * ```html\n * <mk-barcode-scanner (scanned)=\"onCode($event)\" (failed)=\"show($event)\" />\n * ```\n */\n@Component({\n selector: 'mk-barcode-scanner',\n template: `\n @if (error(); as message) {\n <p class=\"mk-barcode-scanner__error\" role=\"alert\">{{ message }}</p>\n } @else if (hint()) {\n <p class=\"mk-barcode-scanner__hint\">{{ i18n.scannerHint }}</p>\n }\n <div #reader class=\"mk-barcode-scanner__reader\" [class.mk-barcode-scanner__reader--live]=\"scanning()\"></div>\n `,\n styles: `\n :host { display: block; }\n .mk-barcode-scanner__hint { margin: 0 0 var(--mk-space-3); color: var(--mk-text-muted); font-size: var(--mk-font-size-sm); }\n .mk-barcode-scanner__error { margin: 0 0 var(--mk-space-3); color: var(--mk-danger); font-size: var(--mk-font-size-sm); }\n .mk-barcode-scanner__reader { width: 100%; min-height: 12rem; border-radius: var(--mk-radius-md); overflow: hidden; background: var(--mk-surface-2); }\n .mk-barcode-scanner__reader video { width: 100% !important; display: block; }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'mk-barcode-scanner' },\n})\nexport class MkBarcodeScanner implements AfterViewInit, OnDestroy {\n protected readonly i18n = inject(MK_I18N);\n private readonly readerEl = viewChild.required<ElementRef<HTMLDivElement>>('reader');\n\n /** Symbologies to decode. Default: QR + the retail 1-D codes. */\n readonly formats = input<MkBarcodeFormat[]>(MK_BARCODE_DEFAULT_FORMATS);\n /** Frames per second offered to the decoder. Default 10. */\n readonly fps = input(10);\n /** Show the built-in hint line above the viewfinder. Default `true`. */\n readonly hint = input(true);\n /** Keep scanning after a hit instead of stopping. Default `false`. */\n readonly continuous = input(false);\n\n /** Decoded text. */\n readonly scanned = output<string>();\n /** The camera could not start (permission, no device, insecure context). */\n readonly failed = output<string>();\n\n protected readonly error = signal<string | null>(null);\n protected readonly scanning = signal(false);\n private scanner: Html5Qrcode | null = null;\n private destroyed = false;\n private lastHit = '';\n\n async ngAfterViewInit(): Promise<void> {\n const id = `mk-barcode-reader-${++nextId}`;\n this.readerEl().nativeElement.id = id;\n let lib: typeof import('html5-qrcode');\n try {\n lib = await import('html5-qrcode');\n } catch {\n this.fail('html5-qrcode is not installed');\n return;\n }\n // Dismissed while the chunk loaded — never start a camera nobody can stop.\n if (this.destroyed) return;\n const formats = this.formats()\n .map((f) => lib.Html5QrcodeSupportedFormats[f])\n .filter((f) => f !== undefined);\n this.scanner = new lib.Html5Qrcode(id, { formatsToSupport: formats, verbose: false });\n try {\n this.scanning.set(true);\n await this.scanner.start(\n { facingMode: 'environment' },\n { fps: this.fps(), qrbox: { width: 260, height: 160 } },\n (text) => void this.onHit(text),\n () => undefined,\n );\n } catch (err) {\n this.scanning.set(false);\n this.fail((err as { message?: string })?.message || this.i18n.scannerCameraError);\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed = true;\n void this.stop();\n }\n\n /** Stop the camera and release it. Safe to call twice. */\n async stop(): Promise<void> {\n const s = this.scanner;\n if (!s) return;\n this.scanner = null;\n try {\n if (s.isScanning) await s.stop();\n await s.clear();\n } catch {\n /* teardown races are fine */\n }\n this.scanning.set(false);\n }\n\n private async onHit(text: string): Promise<void> {\n if (this.continuous()) {\n if (text === this.lastHit) return; // the same code across consecutive frames\n this.lastHit = text;\n this.scanned.emit(text);\n return;\n }\n await this.stop();\n this.scanned.emit(text);\n }\n\n private fail(message: string): void {\n this.error.set(message);\n this.failed.emit(message);\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MK_I18N, MK_OVERLAY_DATA, MkOverlayRef } from '@mk-kit/ui/core';\nimport { MkButton } from '@mk-kit/ui/button';\nimport { MkDialog } from '@mk-kit/ui/feedback';\nimport { MK_BARCODE_DEFAULT_FORMATS, MkBarcodeFormat, MkBarcodeScanner } from './barcode-scanner';\n\n/** Optional data for {@link MkBarcodeScannerDialog}. */\nexport interface MkBarcodeScannerDialogData {\n title?: string;\n formats?: MkBarcodeFormat[];\n}\n\n/**\n * The scanner in a dialog: resolves with the decoded text, or `null` when\n * cancelled. Open it with `MkDialogService`:\n *\n * ```ts\n * const code = await dialog.open<MkBarcodeScannerDialog, string | null>(MkBarcodeScannerDialog, { size: 'sm' }).afterClosed;\n * if (code) this.search.setValue(code);\n * ```\n */\n@Component({\n selector: 'mk-barcode-scanner-dialog',\n imports: [MkDialog, MkButton, MkBarcodeScanner],\n template: `\n <mk-dialog [dialogTitle]=\"data?.title || i18n.scannerTitle\" hideClose>\n <mk-barcode-scanner\n [formats]=\"data?.formats || defaultFormats\"\n (scanned)=\"ref.close($event)\"\n />\n <div mkDialogFooter>\n <button mkButton variant=\"ghost\" tone=\"neutral\" type=\"button\" (click)=\"ref.close(null)\">\n {{ i18n.cancel }}\n </button>\n </div>\n </mk-dialog>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MkBarcodeScannerDialog {\n protected readonly i18n = inject(MK_I18N);\n protected readonly data = inject<MkBarcodeScannerDialogData | null>(MK_OVERLAY_DATA, { optional: true });\n protected readonly ref = inject<MkOverlayRef<string | null>>(MkOverlayRef);\n protected readonly defaultFormats = MK_BARCODE_DEFAULT_FORMATS;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export * from '@mk-kit/ui/status';
15
15
  export * from '@mk-kit/ui/data';
16
16
  export * from '@mk-kit/ui/kanban';
17
17
  export * from '@mk-kit/ui/translate';
18
+ export * from '@mk-kit/ui/attention';
18
19
  export * from '@mk-kit/ui/feedback';
19
20
  export * from '@mk-kit/ui/rich-text';
20
21
  export * from '@mk-kit/ui/block-editor';
@@ -1 +1 @@
1
- {"version":3,"file":"mk-kit-ui.mjs","sources":["../../../projects/mk-kit/src/public-api.ts","../../../projects/mk-kit/src/mk-kit-ui.ts"],"sourcesContent":["/*\n * Public API Surface of @mk-kit/ui.\n *\n * The library ships Material-style secondary entry points — import from the\n * group entries (`@mk-kit/ui/forms`, `@mk-kit/ui/table`, …) so a code-split\n * app only carries the groups each chunk uses. This root entry re-exports\n * everything for convenience; importing it eagerly pulls all groups into the\n * importing chunk.\n */\nexport * from '@mk-kit/ui/core';\nexport * from '@mk-kit/ui/core/signal-forms';\nexport * from '@mk-kit/ui/icon';\nexport * from '@mk-kit/ui/icon/extended';\nexport * from '@mk-kit/ui/chip';\nexport * from '@mk-kit/ui/checkbox';\nexport * from '@mk-kit/ui/button';\nexport * from '@mk-kit/ui/directives';\nexport * from '@mk-kit/ui/dnd';\nexport * from '@mk-kit/ui/navigation';\nexport * from '@mk-kit/ui/forms';\nexport * from '@mk-kit/ui/datetime';\nexport * from '@mk-kit/ui/table';\nexport * from '@mk-kit/ui/status';\nexport * from '@mk-kit/ui/data';\nexport * from '@mk-kit/ui/kanban';\nexport * from '@mk-kit/ui/translate';\nexport * from '@mk-kit/ui/feedback';\nexport * from '@mk-kit/ui/rich-text';\nexport * from '@mk-kit/ui/block-editor';\nexport * from '@mk-kit/ui/context-menu';\nexport * from '@mk-kit/ui/layout';\nexport * from '@mk-kit/ui/chat';\nexport * from '@mk-kit/ui/query-builder';\nexport * from '@mk-kit/ui/dynamic-form';\nexport * from '@mk-kit/ui/media';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AAQG;;ACRH;;AAEG"}
1
+ {"version":3,"file":"mk-kit-ui.mjs","sources":["../../../projects/mk-kit/src/public-api.ts","../../../projects/mk-kit/src/mk-kit-ui.ts"],"sourcesContent":["/*\n * Public API Surface of @mk-kit/ui.\n *\n * The library ships Material-style secondary entry points — import from the\n * group entries (`@mk-kit/ui/forms`, `@mk-kit/ui/table`, …) so a code-split\n * app only carries the groups each chunk uses. This root entry re-exports\n * everything for convenience; importing it eagerly pulls all groups into the\n * importing chunk.\n */\nexport * from '@mk-kit/ui/core';\nexport * from '@mk-kit/ui/core/signal-forms';\nexport * from '@mk-kit/ui/icon';\nexport * from '@mk-kit/ui/icon/extended';\nexport * from '@mk-kit/ui/chip';\nexport * from '@mk-kit/ui/checkbox';\nexport * from '@mk-kit/ui/button';\nexport * from '@mk-kit/ui/directives';\nexport * from '@mk-kit/ui/dnd';\nexport * from '@mk-kit/ui/navigation';\nexport * from '@mk-kit/ui/forms';\nexport * from '@mk-kit/ui/datetime';\nexport * from '@mk-kit/ui/table';\nexport * from '@mk-kit/ui/status';\nexport * from '@mk-kit/ui/data';\nexport * from '@mk-kit/ui/kanban';\nexport * from '@mk-kit/ui/translate';\nexport * from '@mk-kit/ui/attention';\nexport * from '@mk-kit/ui/feedback';\nexport * from '@mk-kit/ui/rich-text';\nexport * from '@mk-kit/ui/block-editor';\nexport * from '@mk-kit/ui/context-menu';\nexport * from '@mk-kit/ui/layout';\nexport * from '@mk-kit/ui/chat';\nexport * from '@mk-kit/ui/query-builder';\nexport * from '@mk-kit/ui/dynamic-form';\nexport * from '@mk-kit/ui/media';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AAQG;;ACRH;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@mk-kit/ui",
3
- "version": "0.56.0",
3
+ "version": "0.57.0",
4
+ "bin": {
5
+ "mk-translate": "./bin/mk-translate.mjs"
6
+ },
4
7
  "publishConfig": {
5
8
  "access": "public"
6
9
  },
@@ -36,7 +39,8 @@
36
39
  "@angular/core": "^22.0.0",
37
40
  "@angular/forms": "^22.0.0",
38
41
  "@angular/platform-browser": "^22.0.0",
39
- "rxjs": "^7.8.0"
42
+ "rxjs": "^7.8.0",
43
+ "html5-qrcode": ">=2.3.0"
40
44
  },
41
45
  "dependencies": {
42
46
  "@mk-kit/core": "^0.1.0",
@@ -61,6 +65,10 @@
61
65
  "types": "./types/mk-kit-ui.d.ts",
62
66
  "default": "./fesm2022/mk-kit-ui.mjs"
63
67
  },
68
+ "./attention": {
69
+ "types": "./types/mk-kit-ui-attention.d.ts",
70
+ "default": "./fesm2022/mk-kit-ui-attention.mjs"
71
+ },
64
72
  "./block-editor": {
65
73
  "types": "./types/mk-kit-ui-block-editor.d.ts",
66
74
  "default": "./fesm2022/mk-kit-ui-block-editor.mjs"
@@ -165,6 +173,10 @@
165
173
  "types": "./types/mk-kit-ui-media.d.ts",
166
174
  "default": "./fesm2022/mk-kit-ui-media.mjs"
167
175
  },
176
+ "./media/scanner": {
177
+ "types": "./types/mk-kit-ui-media-scanner.d.ts",
178
+ "default": "./fesm2022/mk-kit-ui-media-scanner.mjs"
179
+ },
168
180
  "./navigation": {
169
181
  "types": "./types/mk-kit-ui-navigation.d.ts",
170
182
  "default": "./fesm2022/mk-kit-ui-navigation.mjs"
@@ -202,6 +214,11 @@
202
214
  "default": "./fesm2022/mk-kit-ui-translate-server.mjs"
203
215
  }
204
216
  },
217
+ "peerDependenciesMeta": {
218
+ "html5-qrcode": {
219
+ "optional": true
220
+ }
221
+ },
205
222
  "module": "fesm2022/mk-kit-ui.mjs",
206
223
  "typings": "types/mk-kit-ui.d.ts",
207
224
  "type": "module"