[{"data":1,"prerenderedAt":48268},["ShallowReactive",2],{"navigation_docs":3,"-react-native-version2-forms-input-validation":3728,"-react-native-version2-forms-input-validation-surround":48263},[4,1707,1912,2366,2547,2673,2880,3002,3052,3109,3143,3269,3346,3360,3495,3512,3525,3671,3724],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"C#","i-devicon-csharp","\u002Fcsharp","01.csharp",[10,13,60,90,120,202,219,253,379,404,457,650,1364,1654,1703],{"title":11,"path":7,"stem":12},"C# та .NET","01.csharp\u002Findex",{"title":14,"icon":15,"path":16,"stem":17,"children":18,"page":59},"Fundamentals","i-lucide-book-open","\u002Fcsharp\u002Ffundamentals","01.csharp\u002F01.fundamentals",[19,23,27,31,35,39,43,47,51,55],{"title":20,"path":21,"stem":22},"Вступ до екосистеми .NET","\u002Fcsharp\u002Ffundamentals\u002Fintroduction-to-ecosystem","01.csharp\u002F01.fundamentals\u002F01.introduction-to-ecosystem",{"title":24,"path":25,"stem":26},"Структура програми на C#","\u002Fcsharp\u002Ffundamentals\u002Fprogram-structure","01.csharp\u002F01.fundamentals\u002F02.program-structure",{"title":28,"path":29,"stem":30},"Змінні та Типи Даних","\u002Fcsharp\u002Ffundamentals\u002Fvariables-data-types","01.csharp\u002F01.fundamentals\u002F03.variables-data-types",{"title":32,"path":33,"stem":34},"Масиви","\u002Fcsharp\u002Ffundamentals\u002Farrays","01.csharp\u002F01.fundamentals\u002F04.arrays",{"title":36,"path":37,"stem":38},"Strings & Text Handling","\u002Fcsharp\u002Ffundamentals\u002Fstrings-text-handling","01.csharp\u002F01.fundamentals\u002F05.strings-text-handling",{"title":40,"path":41,"stem":42},"Дати і Час","\u002Fcsharp\u002Ffundamentals\u002Fdates-time-handling","01.csharp\u002F01.fundamentals\u002F06.dates-time-handling",{"title":44,"path":45,"stem":46},"Потік Керування","\u002Fcsharp\u002Ffundamentals\u002Fcontrol-flow","01.csharp\u002F01.fundamentals\u002F07.control-flow",{"title":48,"path":49,"stem":50},"Методи","\u002Fcsharp\u002Ffundamentals\u002Fmethods","01.csharp\u002F01.fundamentals\u002F08.methods",{"title":52,"path":53,"stem":54},"Основи Відлагодження","\u002Fcsharp\u002Ffundamentals\u002Fdebugging-basics","01.csharp\u002F01.fundamentals\u002F09.debugging-basics",{"title":56,"path":57,"stem":58},"Інтерактивна Консоль (Classic)","\u002Fcsharp\u002Ffundamentals\u002Finteractive-console","01.csharp\u002F01.fundamentals\u002F10.interactive-console",false,{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":59},"OOP","i-lucide-box","\u002Fcsharp\u002Foop","01.csharp\u002F02.oop",[66,70,74,78,82,86],{"title":67,"path":68,"stem":69},"Package Management (Управління Пакетами)","\u002Fcsharp\u002Foop\u002Fpackage-management","01.csharp\u002F02.oop\u002F01.package-management",{"title":71,"path":72,"stem":73},"Класи та Об'єкти","\u002Fcsharp\u002Foop\u002Fclasses-objects","01.csharp\u002F02.oop\u002F02.classes-objects",{"title":75,"path":76,"stem":77},"Властивості та Поля","\u002Fcsharp\u002Foop\u002Fproperties-fields","01.csharp\u002F02.oop\u002F03.properties-fields",{"title":79,"path":80,"stem":81},"Стовпи ООП","\u002Fcsharp\u002Foop\u002Foop-pillars","01.csharp\u002F02.oop\u002F04.oop-pillars",{"title":83,"path":84,"stem":85},"Advanced Types","\u002Fcsharp\u002Foop\u002Fadvanced-types","01.csharp\u002F02.oop\u002F05.advanced-types",{"title":87,"path":88,"stem":89},"Namespaces (Простори Імен)","\u002Fcsharp\u002Foop\u002Fnamespaces","01.csharp\u002F02.oop\u002F06.namespaces",{"title":91,"icon":92,"path":93,"stem":94,"children":95,"page":59},"Advanced Core","i-lucide-zap","\u002Fcsharp\u002Fadvanced-core","01.csharp\u002F03.advanced-core",[96,100,104,108,112,116],{"title":97,"path":98,"stem":99},"Generics (Узагальнення)","\u002Fcsharp\u002Fadvanced-core\u002Fgenerics","01.csharp\u002F03.advanced-core\u002F01.generics",{"title":101,"path":102,"stem":103},"Делегати, Події та Лямбда-вирази","\u002Fcsharp\u002Fadvanced-core\u002Fdelegates-events-lambdas","01.csharp\u002F03.advanced-core\u002F02.delegates-events-lambdas",{"title":105,"path":106,"stem":107},"Interfaces Deep Dive (Інтерфейси: Поглиблений Розгляд)","\u002Fcsharp\u002Fadvanced-core\u002Finterfaces-deep-dive","01.csharp\u002F03.advanced-core\u002F03.interfaces-deep-dive",{"title":109,"path":110,"stem":111},"Обробка Винятків","\u002Fcsharp\u002Fadvanced-core\u002Fexception-handling","01.csharp\u002F03.advanced-core\u002F04.exception-handling",{"title":113,"path":114,"stem":115},"Pattern Matching","\u002Fcsharp\u002Fadvanced-core\u002Fpattern-matching","01.csharp\u002F03.advanced-core\u002F05.pattern-matching",{"title":117,"path":118,"stem":119},"Додаткові Можливості C#","\u002Fcsharp\u002Fadvanced-core\u002Fadditional-features","01.csharp\u002F03.advanced-core\u002F06.additional-features",{"title":121,"icon":122,"path":123,"stem":124,"children":125,"page":59},"Architecture Best Practices","i-lucide-building-2","\u002Fcsharp\u002Farchitecture-best-practices","01.csharp\u002F04.architecture-best-practices",[126,130,149,153,157,161,165,169],{"title":127,"path":128,"stem":129},"Software Design Principles (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fsoftware-design-principles","01.csharp\u002F04.architecture-best-practices\u002F01.software-design-principles",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":59},"Design Patterns","i-lucide-folder","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns",[136],{"title":137,"icon":132,"path":138,"stem":139,"children":140,"page":59},"Creational","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational",[141,145],{"title":142,"path":143,"stem":144},"Singleton (Одинак)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fsingleton","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F01.singleton",{"title":146,"path":147,"stem":148},"Builder (Будівельник)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fbuilder","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F02.builder",{"title":150,"path":151,"stem":152},"Building Professional CLIs","\u002Fcsharp\u002Farchitecture-best-practices\u002Fbuilding-professional-clis","01.csharp\u002F04.architecture-best-practices\u002F03.building-professional-clis",{"title":154,"path":155,"stem":156},"Validation & Flow Control","\u002Fcsharp\u002Farchitecture-best-practices\u002Fvalidation-flow-control","01.csharp\u002F04.architecture-best-practices\u002F04.validation-flow-control",{"title":158,"path":159,"stem":160},"The Modern .NET Host (Microsoft.Extensions)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fmodern-dotnet-host","01.csharp\u002F04.architecture-best-practices\u002F05.modern-dotnet-host",{"title":162,"path":163,"stem":164},"Data Mapper: Repository та DAO патерни (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part1","01.csharp\u002F04.architecture-best-practices\u002F06.data-mapper-part1",{"title":166,"path":167,"stem":168},"Data Mapper: Repository та DAO патерни (Частина 2)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part2","01.csharp\u002F04.architecture-best-practices\u002F07.data-mapper-part2",{"title":170,"icon":132,"path":171,"stem":172,"children":173,"page":59},"Di Ioc","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc",[174,178,182,186,190,194,198],{"title":175,"path":176,"stem":177},"Проблема залежностей та Інверсія Контролю","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fthe-dependency-problem","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F01.the-dependency-problem",{"title":179,"path":180,"stem":181},"Будуємо власний Service Container","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fbuild-your-own-container","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F02.build-your-own-container",{"title":183,"path":184,"stem":185},"Service Locator: Паттерн та Анти-паттерн","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-locator-pattern","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F03.service-locator-pattern",{"title":187,"path":188,"stem":189},"Паттерни Dependency Injection","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdependency-injection-patterns","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F04.dependency-injection-patterns",{"title":191,"path":192,"stem":193},"Microsoft DI: IServiceCollection та IServiceProvider","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fmicrosoft-di-deep-dive","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F05.microsoft-di-deep-dive",{"title":195,"path":196,"stem":197},"Service Lifetimes та Scopes","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-lifetimes-and-scopes","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F06.service-lifetimes-and-scopes",{"title":199,"path":200,"stem":201},"DI Анти-паттерни та Найкращі Практики","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdi-anti-patterns-and-best-practices","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F07.di-anti-patterns-and-best-practices",{"title":203,"icon":132,"path":204,"stem":205,"children":206,"page":59},"Standard Library","\u002Fcsharp\u002Fstandard-library","01.csharp\u002F05.standard-library",[207,211,215],{"title":208,"path":209,"stem":210},"Collections (Колекції)","\u002Fcsharp\u002Fstandard-library\u002Fcollections","01.csharp\u002F05.standard-library\u002F01.collections",{"title":212,"path":213,"stem":214},"High Performance Types (Високопродуктивні Типи)","\u002Fcsharp\u002Fstandard-library\u002Fhigh-performance-types","01.csharp\u002F05.standard-library\u002F02.high-performance-types",{"title":216,"path":217,"stem":218},"LINQ (Language Integrated Query)","\u002Fcsharp\u002Fstandard-library\u002Flinq","01.csharp\u002F05.standard-library\u002F03.linq",{"title":220,"icon":221,"path":222,"stem":223,"children":224,"page":59},"System Internals Concurrency","i-lucide-server","\u002Fcsharp\u002Fsystem-internals-concurrency","01.csharp\u002F06.system-internals-concurrency",[225,229,233,237,241,245,249],{"title":226,"path":227,"stem":228},"Memory Management","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmemory-management","01.csharp\u002F06.system-internals-concurrency\u002F01.memory-management",{"title":230,"path":231,"stem":232},"Reflection API: System.Type та Метадані","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Freflection-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F02.reflection-fundamentals",{"title":234,"path":235,"stem":236},"Attributes та Dynamic Language Runtime","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fattributes-dynamic","01.csharp\u002F06.system-internals-concurrency\u002F03.attributes-dynamic",{"title":238,"path":239,"stem":240},"Expression Trees: Швидка Альтернатива Рефлексії","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fexpression-trees-compiled","01.csharp\u002F06.system-internals-concurrency\u002F04.expression-trees-compiled",{"title":242,"path":243,"stem":244},"Source Generators: Compile-Time Code Generation","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsource-generators","01.csharp\u002F06.system-internals-concurrency\u002F05.source-generators",{"title":246,"path":247,"stem":248},"Multithreading Fundamentals","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmultithreading-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F06.multithreading-fundamentals",{"title":250,"path":251,"stem":252},"Synchronization Primitives","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsynchronization-primitives","01.csharp\u002F06.system-internals-concurrency\u002F07.synchronization-primitives",{"title":254,"icon":255,"path":256,"stem":257,"children":258,"page":59},"System Programming Windows","i-lucide-cpu","\u002Fcsharp\u002Fsystem-programming-windows","01.csharp\u002F07.system-programming-windows",[259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375],{"title":260,"path":261,"stem":262},"Як Працює Операційна Система","\u002Fcsharp\u002Fsystem-programming-windows\u002Fhow-os-works","01.csharp\u002F07.system-programming-windows\u002F01.how-os-works",{"title":264,"path":265,"stem":266},"Процеси в .NET — API та Запуск","\u002Fcsharp\u002Fsystem-programming-windows\u002Fprocesses-in-dotnet","01.csharp\u002F07.system-programming-windows\u002F02.processes-in-dotnet",{"title":268,"path":269,"stem":270},"Процеси в .NET — IPC та Міжпроцесна Комунікація","\u002Fcsharp\u002Fsystem-programming-windows\u002F02a.processes-ipc","01.csharp\u002F07.system-programming-windows\u002F02a.processes-ipc",{"title":272,"path":273,"stem":274},"Application Domains та Збірки — AppDomain і AssemblyLoadContext","\u002Fcsharp\u002Fsystem-programming-windows\u002Fappdomains-assemblies","01.csharp\u002F07.system-programming-windows\u002F03.appdomains-assemblies",{"title":276,"path":277,"stem":278},"Application Domains та Збірки — Plug-in Система з Hot-Reload","\u002Fcsharp\u002Fsystem-programming-windows\u002F03a.appdomains-plugin-system","01.csharp\u002F07.system-programming-windows\u002F03a.appdomains-plugin-system",{"title":280,"path":281,"stem":282},"Потоки — Основи та API Thread","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-fundamentals","01.csharp\u002F07.system-programming-windows\u002F04.thread-fundamentals",{"title":284,"path":285,"stem":286},"Потоки — Lifecycle, Пріоритети та Безпечне Завершення","\u002Fcsharp\u002Fsystem-programming-windows\u002F04a.thread-lifecycle-priorities","01.csharp\u002F07.system-programming-windows\u002F04a.thread-lifecycle-priorities",{"title":288,"path":289,"stem":290},"Проблеми Спільного Стану — Race Condition та Data Race","\u002Fcsharp\u002Fsystem-programming-windows\u002Fshared-state-problems","01.csharp\u002F07.system-programming-windows\u002F05.shared-state-problems",{"title":292,"path":293,"stem":294},"Проблеми Спільного Стану — Memory Model та volatile","\u002Fcsharp\u002Fsystem-programming-windows\u002F05a.shared-state-memory-model","01.csharp\u002F07.system-programming-windows\u002F05a.shared-state-memory-model",{"title":296,"path":297,"stem":298},"Синхронізація — Monitor, lock та еволюція примітивів","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-fundamentals","01.csharp\u002F07.system-programming-windows\u002F06.synchronization-fundamentals",{"title":300,"path":301,"stem":302},"Синхронізація — Наскрізний Приклад та Deadlock Detection","\u002Fcsharp\u002Fsystem-programming-windows\u002F06a.synchronization-walkthrough","01.csharp\u002F07.system-programming-windows\u002F06a.synchronization-walkthrough",{"title":304,"path":305,"stem":306},"Синхронізація — Mutex, Semaphore та Event-Based Primitives","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-advanced","01.csharp\u002F07.system-programming-windows\u002F07.synchronization-advanced",{"title":308,"path":309,"stem":310},"Синхронізація — Interlocked, Volatile та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002F07a.synchronization-advanced-walkthrough","01.csharp\u002F07.system-programming-windows\u002F07a.synchronization-advanced-walkthrough",{"title":312,"path":313,"stem":314},"Interlocked, CAS та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002Finterlocked-cas-lockfree","01.csharp\u002F07.system-programming-windows\u002F08.interlocked-cas-lockfree",{"title":316,"path":317,"stem":318},"Volatile, Memory Model та Spinning","\u002Fcsharp\u002Fsystem-programming-windows\u002F08a.volatile-memory-model","01.csharp\u002F07.system-programming-windows\u002F08a.volatile-memory-model",{"title":320,"path":321,"stem":322},"ThreadPool — Пул Потоків для Ефективного Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-pool","01.csharp\u002F07.system-programming-windows\u002F09.thread-pool",{"title":324,"path":325,"stem":326},"ThreadPool — Просунуті Сценарії та Внутрішня Будова","\u002Fcsharp\u002Fsystem-programming-windows\u002F09a.thread-pool-advanced","01.csharp\u002F07.system-programming-windows\u002F09a.thread-pool-advanced",{"title":328,"path":329,"stem":330},"Concurrent та Immutable Collections","\u002Fcsharp\u002Fsystem-programming-windows\u002Fconcurrent-collections","01.csharp\u002F07.system-programming-windows\u002F10.concurrent-collections",{"title":332,"path":333,"stem":334},"TPL, Task та Композиція — Від Thread до Task","\u002Fcsharp\u002Fsystem-programming-windows\u002Ftpl-parallel-plinq","01.csharp\u002F07.system-programming-windows\u002F11.tpl-parallel-plinq",{"title":336,"path":337,"stem":338},"Parallel Class та PLINQ — Data Parallelism","\u002Fcsharp\u002Fsystem-programming-windows\u002F11a.tpl-parallel-plinq-advanced","01.csharp\u002F07.system-programming-windows\u002F11a.tpl-parallel-plinq-advanced",{"title":340,"path":341,"stem":342},"Async\u002FAwait — Фундамент Асинхронного Програмування","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-fundamentals","01.csharp\u002F07.system-programming-windows\u002F12.async-fundamentals",{"title":344,"path":345,"stem":346},"SynchronizationContext та ConfigureAwait — Контекст Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-context-configureawait","01.csharp\u002F07.system-programming-windows\u002F13.async-context-configureawait",{"title":348,"path":349,"stem":350},"Async — Просунуті Паттерни","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-advanced","01.csharp\u002F07.system-programming-windows\u002F14.async-advanced",{"title":352,"path":353,"stem":354},"System.Threading.Channels — Async Producer-Consumer","\u002Fcsharp\u002Fsystem-programming-windows\u002Fchannels","01.csharp\u002F07.system-programming-windows\u002F15.channels",{"title":356,"path":357,"stem":358},"Асинхронна Синхронізація","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-synchronization","01.csharp\u002F07.system-programming-windows\u002F16.async-synchronization",{"title":360,"path":361,"stem":362},"Unsafe Code та Вказівники","\u002Fcsharp\u002Fsystem-programming-windows\u002Funsafe-code","01.csharp\u002F07.system-programming-windows\u002F17.unsafe-code",{"title":364,"path":365,"stem":366},"P\u002FInvoke та Windows API — Міст між .NET та Native Code","\u002Fcsharp\u002Fsystem-programming-windows\u002Fpinvoke-winapi","01.csharp\u002F07.system-programming-windows\u002F18.pinvoke-winapi",{"title":368,"path":369,"stem":370},"Реєстр Windows — Центральна База Конфігурації Системи","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-registry","01.csharp\u002F07.system-programming-windows\u002F19.windows-registry",{"title":372,"path":373,"stem":374},"Windows Hooks, Hotkeys та Services — Глибока Інтеграція з ОС","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-hooks-services","01.csharp\u002F07.system-programming-windows\u002F20.windows-hooks-services",{"title":376,"path":377,"stem":378},"Системне Програмування C# (Windows) — 07.system-programming-windows","\u002Fcsharp\u002Fsystem-programming-windows\u002Fimplementation_plan","01.csharp\u002F07.system-programming-windows\u002Fimplementation_plan",{"title":380,"icon":132,"path":381,"stem":382,"children":383,"page":59},"Io","\u002Fcsharp\u002Fio","01.csharp\u002F08.io",[384,388,392,396,400],{"title":385,"path":386,"stem":387},"8.1.1. Основи роботи з файловою системою","\u002Fcsharp\u002Fio\u002Ffile-system-basics","01.csharp\u002F08.io\u002F01.file-system-basics",{"title":389,"path":390,"stem":391},"8.1.2. Потоки (Streams) та Серіалізація Даних","\u002Fcsharp\u002Fio\u002Fstreams-serialization","01.csharp\u002F08.io\u002F02.streams-serialization",{"title":393,"path":394,"stem":395},"8.2.1. JSON Serialization з System.Text.Json","\u002Fcsharp\u002Fio\u002Fjson-serialization","01.csharp\u002F08.io\u002F03.json-serialization",{"title":397,"path":398,"stem":399},"8.2.2. XML Serialization та LINQ to XML","\u002Fcsharp\u002Fio\u002Fxml-serialization","01.csharp\u002F08.io\u002F04.xml-serialization",{"title":401,"path":402,"stem":403},"8.2.3. Binary Serialization: MessagePack та Protocol Buffers","\u002Fcsharp\u002Fio\u002Fbinary-serialization","01.csharp\u002F08.io\u002F05.binary-serialization",{"title":405,"icon":132,"path":406,"stem":407,"children":408,"page":59},"Ado Net","\u002Fcsharp\u002Fado-net","01.csharp\u002F09.ado-net",[409,413,417,421,425,429,433,437,441,445,449,453],{"title":410,"path":411,"stem":412},"9.1. Введення в ADO.NET","\u002Fcsharp\u002Fado-net\u002Fintroduction-to-adonet","01.csharp\u002F09.ado-net\u002F01.introduction-to-adonet",{"title":414,"path":415,"stem":416},"9.2. Клас DbConnection — з'єднання з базою даних","\u002Fcsharp\u002Fado-net\u002Fconnection","01.csharp\u002F09.ado-net\u002F02.connection",{"title":418,"path":419,"stem":420},"9.3. Клас DbCommand — виконання SQL-запитів","\u002Fcsharp\u002Fado-net\u002Fcommand-and-queries","01.csharp\u002F09.ado-net\u002F03.command-and-queries",{"title":422,"path":423,"stem":424},"9.4. Клас DbDataReader — ефективне читання даних","\u002Fcsharp\u002Fado-net\u002Fdatareader","01.csharp\u002F09.ado-net\u002F04.datareader",{"title":426,"path":427,"stem":428},"9.5. Параметризовані запити та захист від SQL Injection","\u002Fcsharp\u002Fado-net\u002Fparameters-and-sql-injection","01.csharp\u002F09.ado-net\u002F05.parameters-and-sql-injection",{"title":430,"path":431,"stem":432},"9.6. Транзакції в ADO.NET","\u002Fcsharp\u002Fado-net\u002Ftransactions","01.csharp\u002F09.ado-net\u002F06.transactions",{"title":434,"path":435,"stem":436},"9.7. DbProviderFactory — провайдер-незалежний код","\u002Fcsharp\u002Fado-net\u002Fprovider-factory","01.csharp\u002F09.ado-net\u002F07.provider-factory",{"title":438,"path":439,"stem":440},"9.8. Асинхронний доступ до даних","\u002Fcsharp\u002Fado-net\u002Fasync-data-access","01.csharp\u002F09.ado-net\u002F08.async-data-access",{"title":442,"path":443,"stem":444},"9.9. Від'єднаний режим: DataSet, DataTable, DataRow","\u002Fcsharp\u002Fado-net\u002Fdisconnected-mode-dataset","01.csharp\u002F09.ado-net\u002F09.disconnected-mode-dataset",{"title":446,"path":447,"stem":448},"9.10. DataAdapter — міст між DataSet та базою даних","\u002Fcsharp\u002Fado-net\u002Fdata-adapter","01.csharp\u002F09.ado-net\u002F10.data-adapter",{"title":450,"path":451,"stem":452},"9.11. Data Mapper та Repository: Архітектура доступу до даних","\u002Fcsharp\u002Fado-net\u002Fdata-mapper-repository","01.csharp\u002F09.ado-net\u002F11.data-mapper-repository",{"title":454,"path":455,"stem":456},"9.12. Identity Map, Unit of Work та Specification Pattern","\u002Fcsharp\u002Fado-net\u002Fadvanced-patterns","01.csharp\u002F09.ado-net\u002F12.advanced-patterns",{"title":458,"icon":255,"path":459,"stem":460,"children":461,"page":59},"Ef Core","\u002Fcsharp\u002Fef-core","01.csharp\u002F10.ef-core",[462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,532,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646],{"title":463,"path":464,"stem":465},"Що таке ORM? Від SQL до об'єктів","\u002Fcsharp\u002Fef-core\u002Fwhat-is-orm","01.csharp\u002F10.ef-core\u002F01.what-is-orm",{"title":467,"path":468,"stem":469},"Перший проєкт — від нуля до CRUD","\u002Fcsharp\u002Fef-core\u002Ffirst-project","01.csharp\u002F10.ef-core\u002F02.first-project",{"title":471,"path":472,"stem":473},"DbContext — Серце EF Core","\u002Fcsharp\u002Fef-core\u002Fdbcontext-deep-dive","01.csharp\u002F10.ef-core\u002F03.dbcontext-deep-dive",{"title":475,"path":476,"stem":477},"Провайдери баз даних — Архітектура та Вибір СУБД","\u002Fcsharp\u002Fef-core\u002Fdatabase-providers","01.csharp\u002F10.ef-core\u002F04.database-providers",{"title":479,"path":480,"stem":481},"Конвенції EF Core — Магія без конфігурації","\u002Fcsharp\u002Fef-core\u002Fconventions","01.csharp\u002F10.ef-core\u002F05.conventions",{"title":483,"path":484,"stem":485},"Fluent API та Data Annotations — Явна конфігурація моделі","\u002Fcsharp\u002Fef-core\u002Ffluent-api-vs-annotations","01.csharp\u002F10.ef-core\u002F06.fluent-api-vs-annotations",{"title":487,"path":488,"stem":489},"Зв'язки — One-to-One та One-to-Many","\u002Fcsharp\u002Fef-core\u002Frelationships-basics","01.csharp\u002F10.ef-core\u002F07.relationships-basics",{"title":491,"path":492,"stem":493},"Зв'язки Advanced — Many-to-Many та Складні Сценарії","\u002Fcsharp\u002Fef-core\u002Frelationships-advanced","01.csharp\u002F10.ef-core\u002F08.relationships-advanced",{"title":495,"path":496,"stem":497},"Властивості — Типи, Конвертери, Компаратори (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part1","01.csharp\u002F10.ef-core\u002F09.property-configuration-part1",{"title":499,"path":500,"stem":501},"Властивості — Value Comparers, Generators, Shadow Properties (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part2","01.csharp\u002F10.ef-core\u002F09.property-configuration-part2",{"title":503,"path":504,"stem":505},"Складні типи — Owned Types та Complex Types (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part1","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part1",{"title":507,"path":508,"stem":509},"Складні типи — Complex Types, Keyless Entities, Порівняння (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part2","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part2",{"title":511,"path":512,"stem":513},"JSON Columns — Складні дані у JSON (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part1","01.csharp\u002F10.ef-core\u002F11.json-columns-part1",{"title":515,"path":516,"stem":517},"JSON Columns — Value Comparers, Індекси, Провайдери (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part2","01.csharp\u002F10.ef-core\u002F11.json-columns-part2",{"title":519,"path":520,"stem":521},"Успадкування — Абстрактні класи та TPH (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finheritance-part1","01.csharp\u002F10.ef-core\u002F12.inheritance-part1",{"title":523,"path":524,"stem":525},"Успадкування — TPT, TPC та Порівняння Стратегій (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finheritance-part2","01.csharp\u002F10.ef-core\u002F12.inheritance-part2",{"title":527,"path":528,"stem":529,"children":530},"Індекси, Обмеження та Схема (Частина 1)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part1","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part1",[531],{"title":527,"path":528,"stem":529},{"title":533,"path":534,"stem":535,"children":536},"Індекси, Обмеження та Схема (Частина 2)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part2","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part2",[537],{"title":533,"path":534,"stem":535},{"title":539,"path":540,"stem":541},"Seed Data — Початкові Дані (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fseeding-part1","01.csharp\u002F10.ef-core\u002F14.seeding-part1",{"title":543,"path":544,"stem":545},"Seed Data — SQL-скрипти, Bogus та Стратегії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fseeding-part2","01.csharp\u002F10.ef-core\u002F14.seeding-part2",{"title":547,"path":548,"stem":549},"Global Query Filters — Глобальні Фільтри (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part1","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part1",{"title":551,"path":552,"stem":553},"Global Query Filters — Підводні камені та Інтеграція (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part2","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part2",{"title":555,"path":556,"stem":557},"LINQ-запити в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part1","01.csharp\u002F10.ef-core\u002F16.linq-queries-part1",{"title":559,"path":560,"stem":561},"LINQ-запити в EF Core (Частина 2)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part2","01.csharp\u002F10.ef-core\u002F16.linq-queries-part2",{"title":563,"path":564,"stem":565},"Завантаження Пов'язаних Даних (Частина 1)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part1","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part1",{"title":567,"path":568,"stem":569},"Завантаження Пов'язаних Даних (Частина 2)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part2","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part2",{"title":571,"path":572,"stem":573},"Raw SQL, Views та Stored Procedures (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part1","01.csharp\u002F10.ef-core\u002F18.raw-sql-part1",{"title":575,"path":576,"stem":577},"Raw SQL — Stored Procedures, DbFunction та Bulk Operations (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part2","01.csharp\u002F10.ef-core\u002F18.raw-sql-part2",{"title":579,"path":580,"stem":581},"Продвинуті Запити — Compiled Queries, Bulk та Оптимізація (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part1","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part1",{"title":583,"path":584,"stem":585},"Продвинуті Запити — Query Tags, Bulk та Interceptors (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part2","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part2",{"title":587,"path":588,"stem":589},"Change Tracker — Відстеження Змін (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part1","01.csharp\u002F10.ef-core\u002F20.change-tracking-part1",{"title":591,"path":592,"stem":593},"Change Tracker — Графи Об'єктів та Disconnected (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part2","01.csharp\u002F10.ef-core\u002F20.change-tracking-part2",{"title":595,"path":596,"stem":597},"Збереження Даних та Транзакції (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part1","01.csharp\u002F10.ef-core\u002F21.saving-data-part1",{"title":599,"path":600,"stem":601},"Збереження Даних — Concurrency та Outbox (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part2","01.csharp\u002F10.ef-core\u002F21.saving-data-part2",{"title":603,"path":604,"stem":605},"Конкурентність та Блокування (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part1","01.csharp\u002F10.ef-core\u002F22.concurrency-part1",{"title":607,"path":608,"stem":609},"Конкурентність — Дедлоки та Queue Processing (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part2","01.csharp\u002F10.ef-core\u002F22.concurrency-part2",{"title":611,"path":612,"stem":613},"Міграції в EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part1","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part1",{"title":615,"path":616,"stem":617},"Міграції в EF Core — Основи (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part2","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part2",{"title":619,"path":620,"stem":621},"Міграції — Просунуті Сценарії (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part1","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part1",{"title":623,"path":624,"stem":625},"Міграції — Просунуті Сценарії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part2","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part2",{"title":627,"path":628,"stem":629},"Управління Схемою та Database-First (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part1","01.csharp\u002F10.ef-core\u002F25.schema-management-part1",{"title":631,"path":632,"stem":633},"Управління Схемою та Database-First (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part2","01.csharp\u002F10.ef-core\u002F25.schema-management-part2",{"title":635,"path":636,"stem":637},"Продуктивність EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fperformance-fundamentals-part1","01.csharp\u002F10.ef-core\u002F26.performance-fundamentals-part1",{"title":639,"path":640,"stem":641},"Interceptors в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part1","01.csharp\u002F10.ef-core\u002F29.interceptors-part1",{"title":643,"path":644,"stem":645},"Interceptors в EF Core — Connection, Transaction та Materialization (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part2","01.csharp\u002F10.ef-core\u002F29.interceptors-part2",{"title":647,"path":648,"stem":649},"План вивчення Entity Framework Core — Повний курс","\u002Fcsharp\u002Fef-core\u002Fimplementation_plan","01.csharp\u002F10.ef-core\u002Fimplementation_plan",{"title":651,"icon":652,"path":653,"stem":654,"children":655,"page":59},"ASP.NET","i-devicon-dotnetcore","\u002Fcsharp\u002Faspnet","01.csharp\u002F11.aspnet",[656,730,791,869,927,941,967,1057,1111,1182,1212,1289,1346],{"title":657,"icon":658,"path":659,"stem":660,"children":661,"page":59},"Minimal API","i-lucide-network","\u002Fcsharp\u002Faspnet\u002Fminimal-api","01.csharp\u002F11.aspnet\u002F01.minimal-api",[662,666,670,674,678,682,686,690,694,698,702,706,710,714,718,722,726],{"title":663,"path":664,"stem":665},"Вступ до ASP.NET та еволюція фреймворку","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fintroduction","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F01.introduction",{"title":667,"path":668,"stem":669},"Перший додаток на ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Ffirst-application","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F02.first-application",{"title":671,"path":672,"stem":673},"WebApplication, Builder та Dependency Injection","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fwebapplication-builder","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F03.webapplication-builder",{"title":675,"path":676,"stem":677},"Конвеєр запитів та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frequest-pipeline-middleware","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F04.request-pipeline-middleware",{"title":679,"path":680,"stem":681},"Маршрутизація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F05.routing-basics",{"title":683,"path":684,"stem":685},"Маршрутизація в ASP.NET Core: Розширені можливості","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F06.routing-advanced",{"title":687,"path":688,"stem":689},"Статичні файли в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-files","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F07.static-files",{"title":691,"path":692,"stem":693},"Статичні Активи: MapStaticAssets (ASP.NET Core 9.0)","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-assets","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F08.static-assets",{"title":695,"path":696,"stem":697},"Конфігурація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-fundamentals","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F09.configuration-fundamentals",{"title":699,"path":700,"stem":701},"Конфігурація: Паттерн Options","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-options","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F10.configuration-options",{"title":703,"path":704,"stem":705},"Логування в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F11.logging-basics",{"title":707,"path":708,"stem":709},"Логування: Serilog та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F12.logging-advanced",{"title":711,"path":712,"stem":713},"Управління станом: HttpContext.Items та Cookies","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstate-management","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F13.state-management",{"title":715,"path":716,"stem":717},"Стан сесії: Sessions","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fsession-state","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F14.session-state",{"title":719,"path":720,"stem":721},"Структура проєкту: від хаосу до архітектури","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fproject-structure","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F15.project-structure",{"title":723,"path":724,"stem":725},"Scalar у Minimal API: повний проєкт і Fluent OpenAPI","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fscalar-openapi-fluent","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F16.scalar-openapi-fluent",{"title":727,"path":728,"stem":729},"Swagger \u002F Swashbuckle у Minimal API: окремий класичний шлях","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fswagger-swashbuckle","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F17.swagger-swashbuckle",{"title":731,"icon":658,"path":732,"stem":733,"children":734,"page":59},"API","\u002Fcsharp\u002Faspnet\u002Fapi","01.csharp\u002F11.aspnet\u002F02.api",[735,739,743,747,751,755,759,763,767,771,775,779,783,787],{"title":736,"path":737,"stem":738},"Що таке API. Клієнт-серверна архітектура","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fwhat-is-api","01.csharp\u002F11.aspnet\u002F02.api\u002F01.what-is-api",{"title":740,"path":741,"stem":742},"Формати даних: JSON, XML, TOML та бінарні формати","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fdata-formats","01.csharp\u002F11.aspnet\u002F02.api\u002F02.data-formats",{"title":744,"path":745,"stem":746},"Парадигми API та концепція REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-paradigms-rest","01.csharp\u002F11.aspnet\u002F02.api\u002F03.api-paradigms-rest",{"title":748,"path":749,"stem":750},"HTTP-методи, статус-коди та заголовки","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fhttp-methods-status-codes","01.csharp\u002F11.aspnet\u002F02.api\u002F04.http-methods-status-codes",{"title":752,"path":753,"stem":754},"Організація HTTP API за принципами REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Frest-organizing","01.csharp\u002F11.aspnet\u002F02.api\u002F05.rest-organizing",{"title":756,"path":757,"stem":758},"Номенклатура URL та CRUD-операції","\u002Fcsharp\u002Faspnet\u002Fapi\u002Furl-nomenclature-crud","01.csharp\u002F11.aspnet\u002F02.api\u002F06.url-nomenclature-crud",{"title":760,"path":761,"stem":762},"Правила дизайну: іменування та стандарти","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-naming","01.csharp\u002F11.aspnet\u002F02.api\u002F07.api-design-naming",{"title":764,"path":765,"stem":766},"Валідація, ліміти та обробка помилок","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-validation","01.csharp\u002F11.aspnet\u002F02.api\u002F08.api-design-validation",{"title":768,"path":769,"stem":770},"Обробка помилок у Minimal API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Ferror-handling-http","01.csharp\u002F11.aspnet\u002F02.api\u002F09.error-handling-http",{"title":772,"path":773,"stem":774},"Ідемпотентність та синхронізація стану","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fidempotency-sync","01.csharp\u002F11.aspnet\u002F02.api\u002F10.idempotency-sync",{"title":776,"path":777,"stem":778},"Пагінація та організація списків","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fpagination-lists","01.csharp\u002F11.aspnet\u002F02.api\u002F11.pagination-lists",{"title":780,"path":781,"stem":782},"Безпека API, кешування та інтернаціоналізація","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fsecurity-auth","01.csharp\u002F11.aspnet\u002F02.api\u002F12.security-auth",{"title":784,"path":785,"stem":786},"Процес проєктування API та документування","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-process","01.csharp\u002F11.aspnet\u002F02.api\u002F13.api-design-process",{"title":788,"path":789,"stem":790},"OpenAPI: контракт, специфікація та документація API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fopenapi","01.csharp\u002F11.aspnet\u002F02.api\u002F14.openapi",{"title":792,"icon":793,"path":794,"stem":795,"children":796,"page":59},"Auth","i-lucide-shield-check","\u002Fcsharp\u002Faspnet\u002Fauth","01.csharp\u002F11.aspnet\u002F03.auth",[797,801,805,809,813,817,821,825,829,833,837,841,845,849,853,857,861,865],{"title":798,"path":799,"stem":800},"Основи аутентифікації та авторизації","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauth-fundamentals","01.csharp\u002F11.aspnet\u002F03.auth\u002F01.auth-fundamentals",{"title":802,"path":803,"stem":804},"JWT-аутентифікація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fjwt-authentication","01.csharp\u002F11.aspnet\u002F03.auth\u002F02.jwt-authentication",{"title":806,"path":807,"stem":808},"Авторизація: ролі, політики та resource-based доступ","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauthorization-policies","01.csharp\u002F11.aspnet\u002F03.auth\u002F03.authorization-policies",{"title":810,"path":811,"stem":812},"Cookie-аутентифікація та ASP.NET Core Identity","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcookie-auth-identity","01.csharp\u002F11.aspnet\u002F03.auth\u002F04.cookie-auth-identity",{"title":814,"path":815,"stem":816},"JWT + Refresh Tokens (HttpOnly Cookie)","\u002Fcsharp\u002Faspnet\u002Fauth\u002F04b.identity-auth-jwt","01.csharp\u002F11.aspnet\u002F03.auth\u002F04b.identity-auth-jwt",{"title":818,"path":819,"stem":820},"Identity: Підтвердження Email та Скидання Пароля","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-email-confirmation","01.csharp\u002F11.aspnet\u002F03.auth\u002F05.identity-email-confirmation",{"title":822,"path":823,"stem":824},"Identity: Двофакторна Аутентифікація (2FA)","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-two-factor","01.csharp\u002F11.aspnet\u002F03.auth\u002F06.identity-two-factor",{"title":826,"path":827,"stem":828},"Identity: Внутрішня Архітектура та Кастомізація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-internals","01.csharp\u002F11.aspnet\u002F03.auth\u002F07.identity-internals",{"title":830,"path":831,"stem":832},"OAuth 2.0 та зовнішні провайдери","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-external-providers","01.csharp\u002F11.aspnet\u002F03.auth\u002F08.oauth-external-providers",{"title":834,"path":835,"stem":836},"Безпека на практиці: CORS, HTTPS та захист від атак","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fsecurity-hardening","01.csharp\u002F11.aspnet\u002F03.auth\u002F09.security-hardening",{"title":838,"path":839,"stem":840},"Теорія OAuth 2.0: Поняття, Аналогії та Флоу","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-theory","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oauth-theory",{"title":842,"path":843,"stem":844},"OIDC, OAuth 2.0 та Keycloak в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foidc-keycloak","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oidc-keycloak",{"title":846,"path":847,"stem":848},"API Keys аутентифікація в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fapi-keys","01.csharp\u002F11.aspnet\u002F03.auth\u002F11.api-keys",{"title":850,"path":851,"stem":852},"Rate Limiting та Throttling в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frate-limiting","01.csharp\u002F11.aspnet\u002F03.auth\u002F12.rate-limiting",{"title":854,"path":855,"stem":856},"Refresh Token Rotation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frefresh-token-rotation","01.csharp\u002F11.aspnet\u002F03.auth\u002F13.refresh-token-rotation",{"title":858,"path":859,"stem":860},"Certificate Authentication та mTLS в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcertificate-auth","01.csharp\u002F11.aspnet\u002F03.auth\u002F14.certificate-auth",{"title":862,"path":863,"stem":864},"RBAC, ABAC та ReBAC в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frbac-abac-rebac","01.csharp\u002F11.aspnet\u002F03.auth\u002F15.rbac-abac-rebac",{"title":866,"path":867,"stem":868},"Multi-tenancy та ізоляція даних в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fmulti-tenancy","01.csharp\u002F11.aspnet\u002F03.auth\u002F16.multi-tenancy",{"title":870,"icon":871,"path":872,"stem":873,"children":874,"page":59},"Нотифікації","i-lucide-bell","\u002Fcsharp\u002Faspnet\u002Fnotifications","01.csharp\u002F11.aspnet\u002F04.notifications",[875,879,883,887,891,895,899,903,907,911,915,919,923],{"title":876,"path":877,"stem":878},"In-App нотифікації через базу даних","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fin-app-database-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F01.in-app-database-notifications",{"title":880,"path":881,"stem":882},"Polling: Регулярний запит оновлень","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fpolling","01.csharp\u002F11.aspnet\u002F04.notifications\u002F02.polling",{"title":884,"path":885,"stem":886},"Server-Sent Events: Однострімовий push від сервера","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fserver-sent-events","01.csharp\u002F11.aspnet\u002F04.notifications\u002F03.server-sent-events",{"title":888,"path":889,"stem":890},"WebSockets: Двостороннє з'єднання в реальному часі","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fwebsockets","01.csharp\u002F11.aspnet\u002F04.notifications\u002F04.websockets",{"title":892,"path":893,"stem":894},"SignalR: Абстракція над транспортами реального часу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fsignalr","01.csharp\u002F11.aspnet\u002F04.notifications\u002F05.signalr",{"title":896,"path":897,"stem":898},"Background Services: Фонові задачі в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fbackground-services","01.csharp\u002F11.aspnet\u002F04.notifications\u002F06.background-services",{"title":900,"path":901,"stem":902},"Web Push нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fweb-push","01.csharp\u002F11.aspnet\u002F04.notifications\u002F07.web-push",{"title":904,"path":905,"stem":906},"Email нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Femail-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F08.email-notifications",{"title":908,"path":909,"stem":910},"Порівняння підходів: Як вибрати правильну технологію нотифікацій","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fchoosing-the-right-approach","01.csharp\u002F11.aspnet\u002F04.notifications\u002F09.choosing-the-right-approach",{"title":912,"path":913,"stem":914},"Hangfire: Надійне планування фонових задач","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire","01.csharp\u002F11.aspnet\u002F04.notifications\u002F10.hangfire",{"title":916,"path":917,"stem":918},"Практика: Конвертація зображень у WebP через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-image-webp","01.csharp\u002F11.aspnet\u002F04.notifications\u002F11.hangfire-image-webp",{"title":920,"path":921,"stem":922},"Практика: Підготовка відео до HLS-стрімінгу через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-video-hls","01.csharp\u002F11.aspnet\u002F04.notifications\u002F12.hangfire-video-hls",{"title":924,"path":925,"stem":926},"Telegram-нотифікації: від одного повідомлення до масових розсилок і мульти-канального підходу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Ftelegram-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F13.telegram-notifications",{"title":928,"icon":929,"path":930,"stem":931,"children":932,"page":59},"Інтернаціоналізація","i-lucide-languages","\u002Fcsharp\u002Faspnet\u002Fi18n","01.csharp\u002F11.aspnet\u002F05.i18n",[933,937],{"title":934,"path":935,"stem":936},"Інтернаціоналізація (i18n) у Minimal API: від A до Я","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Finternationalization","01.csharp\u002F11.aspnet\u002F05.i18n\u002F01.internationalization",{"title":938,"path":939,"stem":940},"Humanizer: людиномовні рядки у .NET","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Fhumanizer","01.csharp\u002F11.aspnet\u002F05.i18n\u002F02.humanizer",{"title":942,"icon":943,"path":944,"stem":945,"children":946,"page":59},"Кешування","i-lucide-layers","\u002Fcsharp\u002Faspnet\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching",[947,951,955,959,963],{"title":948,"path":949,"stem":950},"Огляд кешування: чотири рівні і коли що обирати","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching\u002F01.caching",{"title":952,"path":953,"stem":954},"IMemoryCache: кеш в оперативній пам'яті","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fmemory-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F02.memory-cache",{"title":956,"path":957,"stem":958},"IDistributedCache і Redis: розподілений кеш","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fdistributed-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F03.distributed-cache",{"title":960,"path":961,"stem":962},"Response Cache: HTTP-кешування через Cache-Control","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fresponse-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F04.response-cache",{"title":964,"path":965,"stem":966},"Output Cache: серверний кеш HTTP-відповідей (.NET 7+)","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Foutput-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F05.output-cache",{"title":968,"icon":969,"path":970,"stem":971,"children":972,"page":59},"Тестування","i-lucide-test-tube","\u002Fcsharp\u002Faspnet\u002Ftesting","01.csharp\u002F11.aspnet\u002F07.testing",[973,977,981,985,989,993,997,1001,1005,1009,1013,1017,1021,1025,1029,1033,1037,1041,1045,1049,1053],{"title":974,"path":975,"stem":976},"Що таке тестування? Від інтуїції до науки","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-is-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F01.what-is-testing",{"title":978,"path":979,"stem":980},"Піраміда тестування — Стратегія, а не Догма","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-pyramid","01.csharp\u002F11.aspnet\u002F07.testing\u002F02.testing-pyramid",{"title":982,"path":983,"stem":984},"Дві Школи Тестування — Лондон проти Детройту","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-schools","01.csharp\u002F11.aspnet\u002F07.testing\u002F03.testing-schools",{"title":986,"path":987,"stem":988},"TDD та BDD — Тести як Дизайн-інструмент","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftdd-and-bdd","01.csharp\u002F11.aspnet\u002F07.testing\u002F04.tdd-and-bdd",{"title":990,"path":991,"stem":992},"Що саме тестувати — Техніки аналізу та Циклomatична складність","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-to-test","01.csharp\u002F11.aspnet\u002F07.testing\u002F05.what-to-test",{"title":994,"path":995,"stem":996},"Тестові Фреймворки — Навіщо вони і що всередині","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftest-frameworks","01.csharp\u002F11.aspnet\u002F07.testing\u002F06.test-frameworks",{"title":998,"path":999,"stem":1000},"xUnit — Факти, Теорії та Lifecycle тестів","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-basics","01.csharp\u002F11.aspnet\u002F07.testing\u002F07.xunit-basics",{"title":1002,"path":1003,"stem":1004},"xUnit Advanced — Fixtures, Кастомізація та Розширення","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F08.xunit-advanced",{"title":1006,"path":1007,"stem":1008},"Moq — Глибоке занурення в мокування","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fmocking-with-moq","01.csharp\u002F11.aspnet\u002F07.testing\u002F09.mocking-with-moq",{"title":1010,"path":1011,"stem":1012},"Тестування Баз Даних — EF Core, SQLite та Testcontainers","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fdatabase-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F10.database-testing",{"title":1014,"path":1015,"stem":1016},"Integration Testing — Частина 1 [Теорія та WebApplicationFactory]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F11.integration-testing",{"title":1018,"path":1019,"stem":1020},"Інтеграційне тестування — Практика","\u002Fcsharp\u002Faspnet\u002Ftesting\u002F11a.integration-testing-practice","01.csharp\u002F11.aspnet\u002F07.testing\u002F11a.integration-testing-practice",{"title":1022,"path":1023,"stem":1024},"Integration Testing — Частина 2 [Просунуті Сценарії та Testcontainers]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F12.integration-testing-advanced",{"title":1026,"path":1027,"stem":1028},"Професійний Postman: Колекції, Змінні та GitHub Інтеграція","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fpostman-professional","01.csharp\u002F11.aspnet\u002F07.testing\u002F13.postman-professional",{"title":1030,"path":1031,"stem":1032},"HttpClient у Тестах Частина 1: Архітектура та MockHttpMessageHandler","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fhttpclient-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F14.httpclient-testing",{"title":1034,"path":1035,"stem":1036},"HttpClient у Тестах Частина 2: WireMock.Net та Resilience","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwiremock-net","01.csharp\u002F11.aspnet\u002F07.testing\u002F15.wiremock-net",{"title":1038,"path":1039,"stem":1040},"Патерни та Анти-патерни Тестування: Test Smells","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-patterns","01.csharp\u002F11.aspnet\u002F07.testing\u002F16.testing-patterns",{"title":1042,"path":1043,"stem":1044},"Просунуті інструменти: Time, Snapshots та Властивості","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fadvanced-testing-tools","01.csharp\u002F11.aspnet\u002F07.testing\u002F17.advanced-testing-tools",{"title":1046,"path":1047,"stem":1048},"Тестування Архітектури з NetArchTest","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Farchitecture-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F18.architecture-testing",{"title":1050,"path":1051,"stem":1052},"Тестування Продуктивності: BenchmarkDotNet, NBomber та k6","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fperformance-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F19.performance-testing",{"title":1054,"path":1055,"stem":1056},"Залишок плану для курсу \"Тестування ASP.NET Minimal API\"","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fremaining_plan","01.csharp\u002F11.aspnet\u002F07.testing\u002Fremaining_plan",{"title":1058,"icon":1059,"path":1060,"stem":1061,"children":1062,"page":59},"Платежі","i-lucide-credit-card","\u002Fcsharp\u002Faspnet\u002Fpayments","01.csharp\u002F11.aspnet\u002F08.payments",[1063,1067,1071,1075,1079,1083,1087,1091,1095,1099,1103,1107],{"title":1064,"path":1065,"stem":1066},"Основи платіжної інфраструктури","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-fundamentals","01.csharp\u002F11.aspnet\u002F08.payments\u002F01.payment-fundamentals",{"title":1068,"path":1069,"stem":1070},"Методи оплати в Україні","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-methods-ukraine","01.csharp\u002F11.aspnet\u002F08.payments\u002F02.payment-methods-ukraine",{"title":1072,"path":1073,"stem":1074},"PCI DSS та безпека платежів","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpci-dss-security","01.csharp\u002F11.aspnet\u002F08.payments\u002F03.pci-dss-security",{"title":1076,"path":1077,"stem":1078},"Архітектура платіжної підсистеми","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-architecture","01.csharp\u002F11.aspnet\u002F08.payments\u002F04.payment-architecture",{"title":1080,"path":1081,"stem":1082},"Інтеграція LiqPay (ПриватБанк)","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fliqpay-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F05.liqpay-integration",{"title":1084,"path":1085,"stem":1086},"Інтеграція Monobank Acquiring API","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fmonobank-acquiring","01.csharp\u002F11.aspnet\u002F08.payments\u002F06.monobank-acquiring",{"title":1088,"path":1089,"stem":1090},"Інтеграція Stripe","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fstripe-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F07.stripe-integration",{"title":1092,"path":1093,"stem":1094},"Webhooks — глибоке занурення","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fwebhooks-deep-dive","01.csharp\u002F11.aspnet\u002F08.payments\u002F08.webhooks-deep-dive",{"title":1096,"path":1097,"stem":1098},"Підписки та рекурентні платежі","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fsubscriptions-recurring","01.csharp\u002F11.aspnet\u002F08.payments\u002F09.subscriptions-recurring",{"title":1100,"path":1101,"stem":1102},"Повернення коштів та диспути","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Frefunds-disputes","01.csharp\u002F11.aspnet\u002F08.payments\u002F10.refunds-disputes",{"title":1104,"path":1105,"stem":1106},"Тестування платіжних інтеграцій","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Ftesting-payments","01.csharp\u002F11.aspnet\u002F08.payments\u002F11.testing-payments",{"title":1108,"path":1109,"stem":1110},"Чекліст виходу в Production","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fproduction-checklist","01.csharp\u002F11.aspnet\u002F08.payments\u002F12.production-checklist",{"title":1112,"icon":1113,"items":1114,"path":1127,"stem":1128,"children":1129,"page":59},"Популярні бібліотеки","lucide:box",[1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126],"01.fluent-validation","02.mapster","03.erroror-result-pattern","04.serilog","05.mediatr","06.polly","07.health-checks","08.feature-management","09.fluent-email","10.quest-pdf","11.bogus","12.humanizer-guard","\u002Fcsharp\u002Faspnet\u002Flibraries","01.csharp\u002F11.aspnet\u002F09.libraries",[1130,1134,1138,1142,1146,1150,1154,1158,1162,1166,1170,1174,1178],{"title":1131,"path":1132,"stem":1133},"Валідація з FluentValidation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-validation","01.csharp\u002F11.aspnet\u002F09.libraries\u002F01.fluent-validation",{"title":1135,"path":1136,"stem":1137},"Маппінг об","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmapster","01.csharp\u002F11.aspnet\u002F09.libraries\u002F02.mapster",{"title":1139,"path":1140,"stem":1141},"Обробка помилок з ErrorOr та Result Pattern в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ferroror-result-pattern","01.csharp\u002F11.aspnet\u002F09.libraries\u002F03.erroror-result-pattern",{"title":1143,"path":1144,"stem":1145},"Структуроване логування з Serilog в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fserilog","01.csharp\u002F11.aspnet\u002F09.libraries\u002F04.serilog",{"title":1147,"path":1148,"stem":1149},"CQRS та Mediator з MediatR в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmediatr","01.csharp\u002F11.aspnet\u002F09.libraries\u002F05.mediatr",{"title":1151,"path":1152,"stem":1153},"Відмовостійкість з Polly в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fpolly","01.csharp\u002F11.aspnet\u002F09.libraries\u002F06.polly",{"title":1155,"path":1156,"stem":1157},"Health Checks в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F09.libraries\u002F07.health-checks",{"title":1159,"path":1160,"stem":1161},"Feature Management та Feature Flags в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffeature-management","01.csharp\u002F11.aspnet\u002F09.libraries\u002F08.feature-management",{"title":1163,"path":1164,"stem":1165},"Відправка Email з FluentEmail в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-email","01.csharp\u002F11.aspnet\u002F09.libraries\u002F09.fluent-email",{"title":1167,"path":1168,"stem":1169},"Генерація PDF з QuestPDF в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fquest-pdf","01.csharp\u002F11.aspnet\u002F09.libraries\u002F10.quest-pdf",{"title":1171,"path":1172,"stem":1173},"Генерація тестових даних з Bogus в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fbogus","01.csharp\u002F11.aspnet\u002F09.libraries\u002F11.bogus",{"title":1175,"path":1176,"stem":1177},"Humanizer та Guard Clauses в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhumanizer-guard","01.csharp\u002F11.aspnet\u002F09.libraries\u002F12.humanizer-guard",{"title":1179,"path":1180,"stem":1181},"План модуля 10.libraries — Популярні бібліотеки ASP.NET","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fplan","01.csharp\u002F11.aspnet\u002F09.libraries\u002Fplan",{"title":1183,"icon":1184,"path":1185,"stem":1186,"children":1187,"page":59},"Razor Pages","i-lucide-layout-template","\u002Fcsharp\u002Faspnet\u002Frazor-pages","01.csharp\u002F11.aspnet\u002F10.razor-pages",[1188,1192,1196,1200,1204,1208],{"title":1189,"path":1190,"stem":1191},"Від Minimal API до Razor Pages: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ffrom-minimal-api","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F01.from-minimal-api",{"title":1193,"path":1194,"stem":1195},"PageModel: логіка сторінки Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fpage-model","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F02.page-model",{"title":1197,"path":1198,"stem":1199},"Razor синтаксис: шаблонізатор у .cshtml","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Frazor-syntax","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F03.razor-syntax",{"title":1201,"path":1202,"stem":1203},"Tag Helpers: типізований HTML","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ftag-helpers","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F04.tag-helpers",{"title":1205,"path":1206,"stem":1207},"Форми і валідація: повний цикл обробки даних","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fforms-validation","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F05.forms-validation",{"title":1209,"path":1210,"stem":1211},"Практичний проєкт: TaskManager на Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fproject-task-manager","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F06.project-task-manager",{"title":1213,"path":1214,"stem":1215,"children":1216,"page":59},"ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc","01.csharp\u002F11.aspnet\u002F11.mvc",[1217,1221,1225,1229,1233,1237,1241,1245,1249,1253,1257,1261,1265,1269,1273,1277,1281,1285],{"title":1218,"path":1219,"stem":1220},"Патерн MVC: архітектура, що змінила веб","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-pattern","01.csharp\u002F11.aspnet\u002F11.mvc\u002F01.mvc-pattern",{"title":1222,"path":1223,"stem":1224},"Від Razor Pages до MVC: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffrom-razor-pages","01.csharp\u002F11.aspnet\u002F11.mvc\u002F02.from-razor-pages",{"title":1226,"path":1227,"stem":1228},"Controllers та Actions: серце MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fcontrollers-actions","01.csharp\u002F11.aspnet\u002F11.mvc\u002F03.controllers-actions",{"title":1230,"path":1231,"stem":1232},"Маршрутизація в MVC: Convention vs Attribute Routing","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Frouting-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F04.routing-mvc",{"title":1234,"path":1235,"stem":1236},"Model Binding: від HTTP до C#","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmodel-binding","01.csharp\u002F11.aspnet\u002F11.mvc\u002F05.model-binding",{"title":1238,"path":1239,"stem":1240},"Views, ViewData, ViewBag, TempData і ViewModel","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fviews-viewdata-tempdata","01.csharp\u002F11.aspnet\u002F11.mvc\u002F06.views-viewdata-tempdata",{"title":1242,"path":1243,"stem":1244},"Filters: аспектно-орієнтоване програмування в MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffilters","01.csharp\u002F11.aspnet\u002F11.mvc\u002F07.filters",{"title":1246,"path":1247,"stem":1248},"Areas: структурування великих застосунків","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fareas","01.csharp\u002F11.aspnet\u002F11.mvc\u002F08.areas",{"title":1250,"path":1251,"stem":1252},"View Components: повторювані незалежні блоки UI","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fview-components","01.csharp\u002F11.aspnet\u002F11.mvc\u002F09.view-components",{"title":1254,"path":1255,"stem":1256},"Display та Editor Templates","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fdisplay-editor-templates","01.csharp\u002F11.aspnet\u002F11.mvc\u002F10.display-editor-templates",{"title":1258,"path":1259,"stem":1260},"Валідація: IValidatableObject та FluentValidation","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fvalidation-advanced","01.csharp\u002F11.aspnet\u002F11.mvc\u002F11.validation-advanced",{"title":1262,"path":1263,"stem":1264},"HTMX: інтерактивність через HTML-атрибути","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx","01.csharp\u002F11.aspnet\u002F11.mvc\u002F12.htmx",{"title":1266,"path":1267,"stem":1268},"HTMX у ASP.NET Core MVC: серверна інтеграція","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fajax-htmx-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F13.ajax-htmx-mvc",{"title":1270,"path":1271,"stem":1272},"Практичний проєкт: Каталог товарів з HTMX","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F14.htmx-project",{"title":1274,"path":1275,"stem":1276},"Завантаження та обробка файлів","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffile-upload","01.csharp\u002F11.aspnet\u002F11.mvc\u002F15.file-upload",{"title":1278,"path":1279,"stem":1280},"Глобалізація та Локалізація MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fglobalization-localization","01.csharp\u002F11.aspnet\u002F11.mvc\u002F16.globalization-localization",{"title":1282,"path":1283,"stem":1284},"Підсумковий проєкт: Блог-платформа","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F17.mvc-project",{"title":1286,"path":1287,"stem":1288},"План курсу: ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fplan","01.csharp\u002F11.aspnet\u002F11.mvc\u002Fplan",{"title":1290,"path":1291,"stem":1292,"children":1293,"page":59},"Web Api","\u002Fcsharp\u002Faspnet\u002Fweb-api","01.csharp\u002F11.aspnet\u002F12.web-api",[1294,1298,1302,1306,1310,1314,1318,1322,1326,1330,1334,1338,1342],{"title":1295,"path":1296,"stem":1297},"Від Minimal API до Controller-based API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffrom-minimal-api-to-controllers","01.csharp\u002F11.aspnet\u002F12.web-api\u002F01.from-minimal-api-to-controllers",{"title":1299,"path":1300,"stem":1301},"ControllerBase, ActionResult\u003CT> та Response Types","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontroller-base-actionresult","01.csharp\u002F11.aspnet\u002F12.web-api\u002F02.controller-base-actionresult",{"title":1303,"path":1304,"stem":1305},"Content Negotiation - JSON, XML та власні форматери","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontent-negotiation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F03.content-negotiation",{"title":1307,"path":1308,"stem":1309},"Версіонування API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-versioning","01.csharp\u002F11.aspnet\u002F12.web-api\u002F04.api-versioning",{"title":1311,"path":1312,"stem":1313},"ProblemDetails та структурована обробка помилок","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fproblemdetails-error-handling","01.csharp\u002F11.aspnet\u002F12.web-api\u002F05.problemdetails-error-handling",{"title":1315,"path":1316,"stem":1317},"Фільтри у Web API контексті","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffilters-for-api","01.csharp\u002F11.aspnet\u002F12.web-api\u002F06.filters-for-api",{"title":1319,"path":1320,"stem":1321},"Пагінація, фільтрація та сортування","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fpagination-filtering-sorting","01.csharp\u002F11.aspnet\u002F12.web-api\u002F07.pagination-filtering-sorting",{"title":1323,"path":1324,"stem":1325},"HATEOAS та Resource Expansion","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhateoas-resource-expansion","01.csharp\u002F11.aspnet\u002F12.web-api\u002F08.hateoas-resource-expansion",{"title":1327,"path":1328,"stem":1329},"Гібридна архітектура - Minimal API + Controllers","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fminimal-api-vs-controllers-hybrid","01.csharp\u002F11.aspnet\u002F12.web-api\u002F09.minimal-api-vs-controllers-hybrid",{"title":1331,"path":1332,"stem":1333},"Документація API - Swashbuckle, NSwag та генерація клієнтів","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-documentation-generation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F10.api-documentation-generation",{"title":1335,"path":1336,"stem":1337},"Health Checks та моніторинг API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhealth-checks-monitoring","01.csharp\u002F11.aspnet\u002F12.web-api\u002F11.health-checks-monitoring",{"title":1339,"path":1340,"stem":1341},"Підсумковий проєкт - Production-Ready REST API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fweb-api-project","01.csharp\u002F11.aspnet\u002F12.web-api\u002F12.web-api-project",{"title":1343,"path":1344,"stem":1345},"План курсу: ASP.NET Core Web API (Controllers)","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fplan","01.csharp\u002F11.aspnet\u002F12.web-api\u002Fplan",{"title":1347,"icon":1348,"path":1349,"stem":1350,"children":1351,"page":59},"Моніторинг","i-lucide-activity","\u002Fcsharp\u002Faspnet\u002Fmonitoring","01.csharp\u002F11.aspnet\u002F13.monitoring",[1352,1356,1360],{"title":1353,"path":1354,"stem":1355},"Спостережуваність: від console.log до production-систем","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fobservability-intro","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F01.observability-intro",{"title":1357,"path":1358,"stem":1359},"Health Checks: перший рівень observability","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F02.health-checks",{"title":1361,"path":1362,"stem":1363},"Вбудовані метрики .NET 10 та System.Diagnostics.Metrics","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fdotnet-metrics","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F03.dotnet-metrics",{"title":1365,"icon":1366,"path":1367,"stem":1368,"children":1369,"page":59},"Desktop UI","i-lucide-app-window","\u002Fcsharp\u002Fdesktop-ui","01.csharp\u002F12.desktop-ui",[1370,1374,1378,1382,1386,1390,1394,1398,1402,1406,1410,1414,1418,1422,1426,1430,1434,1438,1442,1446,1450,1454,1458,1462,1466,1470,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1514,1518,1522,1526,1530,1534,1538,1542,1546,1550,1554,1558,1562,1566,1570,1574,1578,1582,1586,1590,1594,1598,1602,1606,1610,1614,1618,1622,1626,1630,1634,1638,1642,1646,1650],{"title":1371,"path":1372,"stem":1373},"Що таке десктопна розробка?","\u002Fcsharp\u002Fdesktop-ui\u002Fwhat-is-desktop-dev","01.csharp\u002F12.desktop-ui\u002F01.what-is-desktop-dev",{"title":1375,"path":1376,"stem":1377},"Архітектура WPF — як влаштований графічний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-architecture","01.csharp\u002F12.desktop-ui\u002F02.wpf-architecture",{"title":1379,"path":1380,"stem":1381},"Перший WPF-проєкт — від нуля до вікна","\u002Fcsharp\u002Fdesktop-ui\u002Ffirst-wpf-app","01.csharp\u002F12.desktop-ui\u002F03.first-wpf-app",{"title":1383,"path":1384,"stem":1385},"Перший Avalonia-проєкт: WPF для всіх платформ","\u002Fcsharp\u002Fdesktop-ui\u002F03a.first-avalonia-app","01.csharp\u002F12.desktop-ui\u002F03a.first-avalonia-app",{"title":1387,"path":1388,"stem":1389},"XAML: декларативний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-basics","01.csharp\u002F12.desktop-ui\u002F04.xaml-basics",{"title":1391,"path":1392,"stem":1393},"Fluent UI у WPF — сучасний дизайн Windows 11","\u002Fcsharp\u002Fdesktop-ui\u002F04a.wpf-fluent-ui","01.csharp\u002F12.desktop-ui\u002F04a.wpf-fluent-ui",{"title":1395,"path":1396,"stem":1397},"WPF UI — сучасна бібліотека Fluent контролів","\u002Fcsharp\u002Fdesktop-ui\u002F04b.wpf-ui-library","01.csharp\u002F12.desktop-ui\u002F04b.wpf-ui-library",{"title":1399,"path":1400,"stem":1401},"HandyControl — велика бібліотека UI контролів для WPF","\u002Fcsharp\u002Fdesktop-ui\u002F04c.handycontrol-library","01.csharp\u002F12.desktop-ui\u002F04c.handycontrol-library",{"title":1403,"path":1404,"stem":1405},"Простори імен та ресурси XAML","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-namespaces-resources","01.csharp\u002F12.desktop-ui\u002F05.xaml-namespaces-resources",{"title":1407,"path":1408,"stem":1409},"XAML в Avalonia: ключові відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F05a.avalonia-xaml-differences","01.csharp\u002F12.desktop-ui\u002F05a.avalonia-xaml-differences",{"title":1411,"path":1412,"stem":1413},"Розширення розмітки XAML (Markup Extensions)","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-markup-extensions","01.csharp\u002F12.desktop-ui\u002F06.xaml-markup-extensions",{"title":1415,"path":1416,"stem":1417},"Панелі Layout: StackPanel, WrapPanel, DockPanel","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part1","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part1",{"title":1419,"path":1420,"stem":1421},"Grid, Canvas, UniformGrid","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part2","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part2",{"title":1423,"path":1424,"stem":1425},"Просунуті техніки Layout","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-advanced","01.csharp\u002F12.desktop-ui\u002F08.layout-advanced",{"title":1427,"path":1428,"stem":1429},"Адаптивний Layout та найкращі практики","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-responsive","01.csharp\u002F12.desktop-ui\u002F09.layout-responsive",{"title":1431,"path":1432,"stem":1433},"Layout в Avalonia: відмінності та нові можливості","\u002Fcsharp\u002Fdesktop-ui\u002F09a.layout-avalonia","01.csharp\u002F12.desktop-ui\u002F09a.layout-avalonia",{"title":1435,"path":1436,"stem":1437},"Button, Image, ProgressBar та інші базові контроли","\u002Fcsharp\u002Fdesktop-ui\u002Fbasic-controls","01.csharp\u002F12.desktop-ui\u002F10.basic-controls",{"title":1439,"path":1440,"stem":1441},"Контроли в Avalonia: відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F10a.controls-avalonia","01.csharp\u002F12.desktop-ui\u002F10a.controls-avalonia",{"title":1443,"path":1444,"stem":1445},"Текстові контроли — TextBlock, TextBox, RichTextBox","\u002Fcsharp\u002Fdesktop-ui\u002Ftext-controls","01.csharp\u002F12.desktop-ui\u002F11.text-controls",{"title":1447,"path":1448,"stem":1449},"Контроли вибору — CheckBox, RadioButton, ComboBox, ListBox, DatePicker","\u002Fcsharp\u002Fdesktop-ui\u002Fselection-controls","01.csharp\u002F12.desktop-ui\u002F12.selection-controls",{"title":1451,"path":1452,"stem":1453},"Content Model — GroupBox, Expander, TabControl, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fcontent-controls","01.csharp\u002F12.desktop-ui\u002F13.content-controls",{"title":1455,"path":1456,"stem":1457},"UI\u002FUX принципи десктопних застосунків","\u002Fcsharp\u002Fdesktop-ui\u002F13a.ui-ux-principles","01.csharp\u002F12.desktop-ui\u002F13a.ui-ux-principles",{"title":1459,"path":1460,"stem":1461},"Dependency Properties — Концепція та Value Resolution","\u002Fcsharp\u002Fdesktop-ui\u002Fdependency-properties-part1","01.csharp\u002F12.desktop-ui\u002F14.dependency-properties-part1",{"title":1463,"path":1464,"stem":1465},"Avalonia Property System — StyledProperty та DirectProperty","\u002Fcsharp\u002Fdesktop-ui\u002F14a.avalonia-property-system","01.csharp\u002F12.desktop-ui\u002F14a.avalonia-property-system",{"title":1467,"path":1468,"stem":1469},"Attached Properties — Властивості без меж","\u002Fcsharp\u002Fdesktop-ui\u002Fattached-properties","01.csharp\u002F12.desktop-ui\u002F15.attached-properties",{"title":1471,"path":1472,"stem":1473},"Routed Events — Маршрутизація подій у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Frouted-events","01.csharp\u002F12.desktop-ui\u002F16.routed-events",{"title":1475,"path":1476,"stem":1477},"Data Binding — Від Code-Behind до Декларативності","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part1","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part1",{"title":1479,"path":1480,"stem":1481},"INotifyPropertyChanged — Живе оновлення UI","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part2","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part2",{"title":1483,"path":1484,"stem":1485},"Compiled Bindings в Avalonia — Безпека на етапі компіляції","\u002Fcsharp\u002Fdesktop-ui\u002F17a.avalonia-compiled-bindings","01.csharp\u002F12.desktop-ui\u002F17a.avalonia-compiled-bindings",{"title":1487,"path":1488,"stem":1489},"Просунутий Data Binding — ElementName, RelativeSource, MultiBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-advanced","01.csharp\u002F12.desktop-ui\u002F18.data-binding-advanced",{"title":1491,"path":1492,"stem":1493},"Value Converters — Перетворення типів даних у Data Binding","\u002Fcsharp\u002Fdesktop-ui\u002Fvalue-converters","01.csharp\u002F12.desktop-ui\u002F19.value-converters",{"title":1495,"path":1496,"stem":1497},"Data Templates — Візуалізація об'єктів у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-templates","01.csharp\u002F12.desktop-ui\u002F20.data-templates",{"title":1499,"path":1500,"stem":1501},"Collections Binding Part 1 — ObservableCollection та ItemsControl","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part1","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part1",{"title":1503,"path":1504,"stem":1505},"Collections Binding Part 2 — ICollectionView, Filtering, Sorting та Virtualization","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part2","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part2",{"title":1507,"path":1508,"stem":1509},"MVVM Pattern — Від Spaghetti Code до архітектури","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-pattern","01.csharp\u002F12.desktop-ui\u002F22.mvvm-pattern",{"title":1511,"path":1512,"stem":1513},"ViewModel Implementation — Від BaseViewModel до валідації","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-implementation","01.csharp\u002F12.desktop-ui\u002F23.viewmodel-implementation",{"title":1515,"path":1516,"stem":1517},"Commands — Від event handlers до декларативних команд","\u002Fcsharp\u002Fdesktop-ui\u002Fcommands","01.csharp\u002F12.desktop-ui\u002F24.commands",{"title":1519,"path":1520,"stem":1521},"MVVM Toolkit — MVVM без boilerplate через Source Generators","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-toolkit","01.csharp\u002F12.desktop-ui\u002F25.mvvm-toolkit",{"title":1523,"path":1524,"stem":1525},"Messenger Pattern — Комунікація між ViewModel без прямих посилань","\u002Fcsharp\u002Fdesktop-ui\u002Fmessenger-pattern","01.csharp\u002F12.desktop-ui\u002F26.messenger-pattern",{"title":1527,"path":1528,"stem":1529},"Стилі WPF — CSS для десктопу","\u002Fcsharp\u002Fdesktop-ui\u002Fstyles-basics","01.csharp\u002F12.desktop-ui\u002F27.styles-basics",{"title":1531,"path":1532,"stem":1533},"CSS-like стилі Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F27a.avalonia-css-styling","01.csharp\u002F12.desktop-ui\u002F27a.avalonia-css-styling",{"title":1535,"path":1536,"stem":1537},"Control Templates — Частина 1. Концепція та TemplateBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part1","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part1",{"title":1539,"path":1540,"stem":1541},"Control Templates — Частина 2. Named Parts та ContentPresenter","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part2","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part2",{"title":1543,"path":1544,"stem":1545},"Control Themes в Avalonia — нова ера стилізації","\u002Fcsharp\u002Fdesktop-ui\u002F28a.avalonia-control-themes","01.csharp\u002F12.desktop-ui\u002F28a.avalonia-control-themes",{"title":1547,"path":1548,"stem":1549},"Triggers та Visual State Manager у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Ftriggers-visual-states","01.csharp\u002F12.desktop-ui\u002F29.triggers-visual-states",{"title":1551,"path":1552,"stem":1553},"Pseudo-classes в Avalonia — замість WPF Triggers","\u002Fcsharp\u002Fdesktop-ui\u002F29a.avalonia-pseudo-classes","01.csharp\u002F12.desktop-ui\u002F29a.avalonia-pseudo-classes",{"title":1555,"path":1556,"stem":1557},"Теми та ресурсні словники у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fresources-themes","01.csharp\u002F12.desktop-ui\u002F30.resources-themes",{"title":1559,"path":1560,"stem":1561},"Avalonia Themes — Fluent Design та система тематизації","\u002Fcsharp\u002Fdesktop-ui\u002F30a.avalonia-themes-fluent","01.csharp\u002F12.desktop-ui\u002F30a.avalonia-themes-fluent",{"title":1563,"path":1564,"stem":1565},"Контроли колекцій — глибоке занурення","\u002Fcsharp\u002Fdesktop-ui\u002Fcollection-controls","01.csharp\u002F12.desktop-ui\u002F31.collection-controls",{"title":1567,"path":1568,"stem":1569},"DataGrid — колонки та базове відображення","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part1","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part1",{"title":1571,"path":1572,"stem":1573},"DataGrid — сортування, фільтрація, редагування","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part2","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part2",{"title":1575,"path":1576,"stem":1577},"TreeView та GridView","\u002Fcsharp\u002Fdesktop-ui\u002Ftreeview-listview","01.csharp\u002F12.desktop-ui\u002F33.treeview-listview",{"title":1579,"path":1580,"stem":1581},"Меню, Toolbar, ContextMenu, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fmenus-toolbars","01.csharp\u002F12.desktop-ui\u002F34.menus-toolbars",{"title":1583,"path":1584,"stem":1585},"Навігація та керування вікнами. Частина 1: вікна та сторінки","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part1","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part1",{"title":1587,"path":1588,"stem":1589},"Навігація та керування вікнами. Частина 2: MVVM-навігація","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part2","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part2",{"title":1591,"path":1592,"stem":1593},"Avalonia — Навігація та діалоги","\u002Fcsharp\u002Fdesktop-ui\u002F35a.avalonia-navigation-dialogs","01.csharp\u002F12.desktop-ui\u002F35a.avalonia-navigation-dialogs",{"title":1595,"path":1596,"stem":1597},"Діалоги та File Pickers у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdialogs-file-pickers","01.csharp\u002F12.desktop-ui\u002F36.dialogs-file-pickers",{"title":1599,"path":1600,"stem":1601},"UserControl: компонентний підхід у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fuser-controls","01.csharp\u002F12.desktop-ui\u002F37.user-controls",{"title":1603,"path":1604,"stem":1605},"Custom Controls: Lookless Controls у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fcustom-controls","01.csharp\u002F12.desktop-ui\u002F38.custom-controls",{"title":1607,"path":1608,"stem":1609},"Avalonia TemplatedControl — Lookless Controls","\u002Fcsharp\u002Fdesktop-ui\u002F38a.avalonia-templated-controls","01.csharp\u002F12.desktop-ui\u002F38a.avalonia-templated-controls",{"title":1611,"path":1612,"stem":1613},"Анімації у WPF: Storyboard та Easing Functions","\u002Fcsharp\u002Fdesktop-ui\u002Fanimations-transitions","01.csharp\u002F12.desktop-ui\u002F39.animations-transitions",{"title":1615,"path":1616,"stem":1617},"Анімації в Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F39a.avalonia-animations","01.csharp\u002F12.desktop-ui\u002F39a.avalonia-animations",{"title":1619,"path":1620,"stem":1621},"2D Графіка та Мультимедіа у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fmedia-graphics","01.csharp\u002F12.desktop-ui\u002F40.media-graphics",{"title":1623,"path":1624,"stem":1625},"Dependency Injection у WPF та Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Fdi-integration","01.csharp\u002F12.desktop-ui\u002F41.di-integration",{"title":1627,"path":1628,"stem":1629},"SQLite та EF Core у десктопних додатках","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part1","01.csharp\u002F12.desktop-ui\u002F42.data-persistence-part1",{"title":1631,"path":1632,"stem":1633},"Repository Pattern та Unit of Work","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part2","01.csharp\u002F12.desktop-ui\u002F43.data-persistence-part2",{"title":1635,"path":1636,"stem":1637},"Тестування ViewModels","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-testing","01.csharp\u002F12.desktop-ui\u002F44.viewmodel-testing",{"title":1639,"path":1640,"stem":1641},"Avalonia Headless Testing — тестування UI без вікон","\u002Fcsharp\u002Fdesktop-ui\u002F44a.avalonia-headless-testing","01.csharp\u002F12.desktop-ui\u002F44a.avalonia-headless-testing",{"title":1643,"path":1644,"stem":1645},"Кросплатформна розробка з Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-cross-platform","01.csharp\u002F12.desktop-ui\u002F45.avalonia-cross-platform",{"title":1647,"path":1648,"stem":1649},"Пакування та розгортання Avalonia додатків","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F46.avalonia-packaging-deployment",{"title":1651,"path":1652,"stem":1653},"Розгортання WPF застосунків","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F47.wpf-packaging-deployment",{"title":1655,"icon":658,"path":1656,"stem":1657,"children":1658,"page":59},"Network Programming","\u002Fcsharp\u002Fnetwork-programming","01.csharp\u002F13.network-programming",[1659,1663,1667,1671,1675,1679,1683,1687,1691,1695,1699],{"title":1660,"path":1661,"stem":1662},"Основи комп'ютерних мереж","\u002Fcsharp\u002Fnetwork-programming\u002Ffoundations","01.csharp\u002F13.network-programming\u002F01.foundations",{"title":1664,"path":1665,"stem":1666},"Модель OSI та стек TCP\u002FIP","\u002Fcsharp\u002Fnetwork-programming\u002Fosi-model","01.csharp\u002F13.network-programming\u002F02.osi-model",{"title":1668,"path":1669,"stem":1670},"IP-протокол та адресація","\u002Fcsharp\u002Fnetwork-programming\u002Fip-addressing","01.csharp\u002F13.network-programming\u002F03.ip-addressing",{"title":1672,"path":1673,"stem":1674},"UDP — протокол без з'єднання","\u002Fcsharp\u002Fnetwork-programming\u002Fudp","01.csharp\u002F13.network-programming\u002F05.udp",{"title":1676,"path":1677,"stem":1678},"UDP Broadcast та Multicast","\u002Fcsharp\u002Fnetwork-programming\u002Fudp-broadcast-multicast","01.csharp\u002F13.network-programming\u002F06.udp-broadcast-multicast",{"title":1680,"path":1681,"stem":1682},"HTTP — протокол вебу","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-fundamentals","01.csharp\u002F13.network-programming\u002F07.http-fundamentals",{"title":1684,"path":1685,"stem":1686},"HttpListener — вбудований HTTP-сервер .NET","\u002Fcsharp\u002Fnetwork-programming\u002F07a.http-listener","01.csharp\u002F13.network-programming\u002F07a.http-listener",{"title":1688,"path":1689,"stem":1690},"HTTP Advanced — cookies, аутентифікація та HTTPS","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-advanced","01.csharp\u002F13.network-programming\u002F08.http-advanced",{"title":1692,"path":1693,"stem":1694},"SMTP та протоколи електронної пошти","\u002Fcsharp\u002Fnetwork-programming\u002Fsmtp","01.csharp\u002F13.network-programming\u002F09.smtp",{"title":1696,"path":1697,"stem":1698},"WebSocket — повнодуплексний протокол реального часу","\u002Fcsharp\u002Fnetwork-programming\u002Fwebsockets","01.csharp\u002F13.network-programming\u002F10.websockets",{"title":1700,"path":1701,"stem":1702},"TLS\u002FSSL — криптографічний захист мережевих з'єднань","\u002Fcsharp\u002Fnetwork-programming\u002Ftls-ssl","01.csharp\u002F13.network-programming\u002F11.tls-ssl",{"title":1704,"path":1705,"stem":1706},"C# & .NET: The Ultimate Roadmap","\u002Fcsharp\u002Froadmap","01.csharp\u002Froadmap",{"title":1708,"icon":1709,"path":1710,"stem":1711,"children":1712,"page":59},"C++","i-devicon-cplusplus","\u002Fcpp","02.cpp",[1713,1717,1721,1725,1729,1733,1737,1741,1745,1748,1752,1756,1760,1764,1768,1772,1776,1780,1784,1788,1792,1796,1800,1804,1808,1812,1816,1820,1824,1828,1832,1836,1840,1844,1848,1852,1856,1860,1864,1868,1872,1876,1880,1884,1888,1892,1896,1900,1904,1908],{"title":1714,"path":1715,"stem":1716},"Вступ у програмування та алгоритми","\u002Fcpp\u002Fintro-algorithms","02.cpp\u002F01.intro-algorithms",{"title":1718,"path":1719,"stem":1720},"Code Style: угоди про оформлення коду","\u002Fcpp\u002Fcode-style","02.cpp\u002F02.code-style",{"title":1722,"path":1723,"stem":1724},"Середовище розробки та перший проєкт","\u002Fcpp\u002Fide-setup","02.cpp\u002F03.ide-setup",{"title":1726,"path":1727,"stem":1728},"Вивід даних на екран","\u002Fcpp\u002Fdata-output","02.cpp\u002F04.data-output",{"title":1730,"path":1731,"stem":1732},"Типи даних, змінні та константи","\u002Fcpp\u002Fdata-types-variables","02.cpp\u002F05.data-types-variables",{"title":1734,"path":1735,"stem":1736},"Ввід даних з клавіатури","\u002Fcpp\u002Fdata-input","02.cpp\u002F06.data-input",{"title":1738,"path":1739,"stem":1740},"Оператори, перетворення типів та логічні операції","\u002Fcpp\u002Foperators-type-conversion","02.cpp\u002F07.operators-type-conversion",{"title":1742,"path":1743,"stem":1744},"Цикли","\u002Fcpp\u002Floops","02.cpp\u002F08.loops",{"title":32,"path":1746,"stem":1747},"\u002Fcpp\u002Farrays","02.cpp\u002F09.arrays",{"title":1749,"path":1750,"stem":1751},"Алгоритми сортування та аналіз складності","\u002Fcpp\u002Fsorting","02.cpp\u002F10.sorting",{"title":1753,"path":1754,"stem":1755},"Алгоритми пошуку","\u002Fcpp\u002Fsearching","02.cpp\u002F11.searching",{"title":1757,"path":1758,"stem":1759},"Функції: основи","\u002Fcpp\u002Ffunctions-basics","02.cpp\u002F12.functions-basics",{"title":1761,"path":1762,"stem":1763},"Функції: прототипи, область видимості та додаткові можливості","\u002Fcpp\u002Ffunctions-scope","02.cpp\u002F13.functions-scope",{"title":1765,"path":1766,"stem":1767},"Функції: перевантаження та шаблони","\u002Fcpp\u002Ffunctions-overloading-templates","02.cpp\u002F14.functions-overloading-templates",{"title":1769,"path":1770,"stem":1771},"Вказівники: основи","\u002Fcpp\u002Fpointers-basics","02.cpp\u002F15.pointers-basics",{"title":1773,"path":1774,"stem":1775},"Посилання (References)","\u002Fcpp\u002Freferences","02.cpp\u002F16.references",{"title":1777,"path":1778,"stem":1779},"Вказівники, const і масиви","\u002Fcpp\u002Fpointers-const-arrays","02.cpp\u002F17.pointers-const-arrays",{"title":1781,"path":1782,"stem":1783},"Адресна арифметика","\u002Fcpp\u002Fpointer-arithmetic","02.cpp\u002F18.pointer-arithmetic",{"title":1785,"path":1786,"stem":1787},"Динамічна пам'ять","\u002Fcpp\u002Fdynamic-memory","02.cpp\u002F19.dynamic-memory",{"title":1789,"path":1790,"stem":1791},"Вказівники типу void","\u002Fcpp\u002Fvoid-pointers","02.cpp\u002F20.void-pointers",{"title":1793,"path":1794,"stem":1795},"Вказівники на вказівники","\u002Fcpp\u002Fpointers-to-pointers","02.cpp\u002F21.pointers-to-pointers",{"title":1797,"path":1798,"stem":1799},"Оператор доступу до членів через вказівник (->)","\u002Fcpp\u002Fmember-access-operator","02.cpp\u002F22.member-access-operator",{"title":1801,"path":1802,"stem":1803},"Цикл for-each (Range-based for)","\u002Fcpp\u002Fforeach-loop","02.cpp\u002F23.foreach-loop",{"title":1805,"path":1806,"stem":1807},"Вказівники на функції","\u002Fcpp\u002Ffunction-pointers","02.cpp\u002F24.function-pointers",{"title":1809,"path":1810,"stem":1811},"Лямбда-вирази","\u002Fcpp\u002Flambdas","02.cpp\u002F25.lambdas",{"title":1813,"path":1814,"stem":1815},"Лямбда-захоплення","\u002Fcpp\u002Flambda-captures","02.cpp\u002F26.lambda-captures",{"title":1817,"path":1818,"stem":1819},"Еліпсис","\u002Fcpp\u002Fellipsis","02.cpp\u002F27.ellipsis",{"title":1821,"path":1822,"stem":1823},"Безпечні альтернативи еліпсису","\u002Fcpp\u002F27a.ellipsis","02.cpp\u002F27a.ellipsis",{"title":1825,"path":1826,"stem":1827},"Аргументи командного рядка","\u002Fcpp\u002Fcommand-line-arguments","02.cpp\u002F28.command-line-arguments",{"title":1829,"path":1830,"stem":1831},"Перерахування (enum)","\u002Fcpp\u002Fenum","02.cpp\u002F29.enum",{"title":1833,"path":1834,"stem":1835},"Класи-перерахування (enum class)","\u002Fcpp\u002Fenum-class","02.cpp\u002F30.enum-class",{"title":1837,"path":1838,"stem":1839},"Псевдоніми типів (typedef і using)","\u002Fcpp\u002Ftype-aliases","02.cpp\u002F31.type-aliases",{"title":1841,"path":1842,"stem":1843},"Системи числення та двійкова арифметика","\u002Fcpp\u002Fnumber-systems","02.cpp\u002F32.number-systems",{"title":1845,"path":1846,"stem":1847},"Структури (struct): агрегування даних","\u002Fcpp\u002Fstruct","02.cpp\u002F33.struct",{"title":1849,"path":1850,"stem":1851},"Структури у функціях","\u002Fcpp\u002Fstruct-functions","02.cpp\u002F34.struct-functions",{"title":1853,"path":1854,"stem":1855},"Масиви структур і вкладені структури","\u002Fcpp\u002Fstruct-arrays","02.cpp\u002F35.struct-arrays",{"title":1857,"path":1858,"stem":1859},"Патерни struct та межі застосування","\u002Fcpp\u002Fstruct-patterns","02.cpp\u002F36.struct-patterns",{"title":1861,"path":1862,"stem":1863},"Символи та таблиця ASCII","\u002Fcpp\u002Fascii-characters","02.cpp\u002F37.ascii-characters",{"title":1865,"path":1866,"stem":1867},"Unicode та кодування UTF","\u002Fcpp\u002Funicode-utf","02.cpp\u002F38.unicode-utf",{"title":1869,"path":1870,"stem":1871},"C-style рядки","\u002Fcpp\u002Fc-strings","02.cpp\u002F39.c-strings",{"title":1873,"path":1874,"stem":1875},"Вступ до std::string","\u002Fcpp\u002Fstd-string-intro","02.cpp\u002F40.std-string-intro",{"title":1877,"path":1878,"stem":1879},"Довжина, ємність та доступ до символів std::string","\u002Fcpp\u002Fstd-string-capacity-access","02.cpp\u002F41.std-string-capacity-access",{"title":1881,"path":1882,"stem":1883},"Модифікація std::string: присвоювання, додавання, вставка, видалення та заміна","\u002Fcpp\u002Fstd-string-modification","02.cpp\u002F42.std-string-modification",{"title":1885,"path":1886,"stem":1887},"Пошук у std::string: find, npos та практичні патерни","\u002Fcpp\u002Fstd-string-search","02.cpp\u002F43.std-string-search",{"title":1889,"path":1890,"stem":1891},"std::string_view: невласницький погляд на рядок без копіювання","\u002Fcpp\u002Fstd-string-view","02.cpp\u002F44.std-string-view",{"title":1893,"path":1894,"stem":1895},"Об'єднання (union): один блок пам'яті, кілька інтерпретацій","\u002Fcpp\u002Funion","02.cpp\u002F45.union",{"title":1897,"path":1898,"stem":1899},"Організація коду: файли, препроцесор, простори імен","\u002Fcpp\u002Fmultifile-programs","02.cpp\u002F46.multifile-programs",{"title":1901,"path":1902,"stem":1903},"Робота з файлами: C-стиль (stdio.h)","\u002Fcpp\u002Fc-style-files","02.cpp\u002F47.c-style-files",{"title":1905,"path":1906,"stem":1907},"Робота з файлами: C++-стиль (fstream)","\u002Fcpp\u002Fcpp-style-files","02.cpp\u002F48.cpp-style-files",{"title":1909,"path":1910,"stem":1911},"План навчання: Курс C++ — Продовження (Статті 29–60+)","\u002Fcpp\u002Fcurriculum-plan","02.cpp\u002Fcurriculum-plan",{"title":1913,"icon":1914,"path":1915,"stem":1916,"children":1917,"page":59},"JavaScript","i-devicon-javascript","\u002Fjavascript","03.javascript",[1918,1944,1998,2020,2324,2362],{"title":1919,"icon":1920,"path":1921,"stem":1922,"children":1923,"page":59},"Events","i-lucide-mouse-pointer-click","\u002Fjavascript\u002Fevents","03.javascript\u002F01.events",[1924,1928,1932,1936,1940],{"title":1925,"path":1926,"stem":1927},"Вступ до подій браузера","\u002Fjavascript\u002Fevents\u002Fintro","03.javascript\u002F01.events\u002F01.intro",{"title":1929,"path":1930,"stem":1931},"Бульбашковий механізм (Bubbling) та занурення (Capturing)","\u002Fjavascript\u002Fevents\u002Fbubbling-capturing","03.javascript\u002F01.events\u002F02.bubbling-capturing",{"title":1933,"path":1934,"stem":1935},"Делегування подій (Event Delegation)","\u002Fjavascript\u002Fevents\u002Fdelegate-events","03.javascript\u002F01.events\u002F03.delegate-events",{"title":1937,"path":1938,"stem":1939},"Типові дії браузера та preventDefault()","\u002Fjavascript\u002Fevents\u002Fprevent-default","03.javascript\u002F01.events\u002F04.prevent-default",{"title":1941,"path":1942,"stem":1943},"Запуск користувацьких подій (Custom Events)","\u002Fjavascript\u002Fevents\u002Fcustom-events","03.javascript\u002F01.events\u002F05.custom-events",{"title":1945,"icon":1946,"path":1947,"stem":1948,"children":1949,"page":59},"Network","i-lucide-globe","\u002Fjavascript\u002Fnetwork","03.javascript\u002F02.network",[1950,1954,1958,1962,1966,1970,1974,1978,1982,1986,1990,1994],{"title":1951,"path":1952,"stem":1953},"Fetch API - Сучасний підхід до HTTP-запитів","\u002Fjavascript\u002Fnetwork\u002F01-fetch-api","03.javascript\u002F02.network\u002F01-fetch-api",{"title":1955,"path":1956,"stem":1957},"FormData - Робота з формами та файлами","\u002Fjavascript\u002Fnetwork\u002F02-formdata","03.javascript\u002F02.network\u002F02-formdata",{"title":1959,"path":1960,"stem":1961},"Відстеження прогресу завантаження","\u002Fjavascript\u002Fnetwork\u002F03-download-progress","03.javascript\u002F02.network\u002F03-download-progress",{"title":1963,"path":1964,"stem":1965},"Переривання fetch-запитів","\u002Fjavascript\u002Fnetwork\u002F04-abort-requests","03.javascript\u002F02.network\u002F04-abort-requests",{"title":1967,"path":1968,"stem":1969},"CORS - Запити між різними джерелами","\u002Fjavascript\u002Fnetwork\u002F05-cors","03.javascript\u002F02.network\u002F05-cors",{"title":1971,"path":1972,"stem":1973},"Fetch API - Повний довідник опцій","\u002Fjavascript\u002Fnetwork\u002F06-fetch-options","03.javascript\u002F02.network\u002F06-fetch-options",{"title":1975,"path":1976,"stem":1977},"URL Objects - Робота з посиланнями","\u002Fjavascript\u002Fnetwork\u002F07-url-objects","03.javascript\u002F02.network\u002F07-url-objects",{"title":1979,"path":1980,"stem":1981},"XMLHttpRequest - AJAX та низькорівневі запити","\u002Fjavascript\u002Fnetwork\u002F08-xmlhttprequest","03.javascript\u002F02.network\u002F08-xmlhttprequest",{"title":1983,"path":1984,"stem":1985},"Відновлюване завантаження файлів","\u002Fjavascript\u002Fnetwork\u002F09-resumable-upload","03.javascript\u002F02.network\u002F09-resumable-upload",{"title":1987,"path":1988,"stem":1989},"Cookies, document.cookie та світ після \"Cookiepocalypse\"","\u002Fjavascript\u002Fnetwork\u002F10-cookies","03.javascript\u002F02.network\u002F10-cookies",{"title":1991,"path":1992,"stem":1993},"js-cookie: Керування Cookies без Болю","\u002Fjavascript\u002Fnetwork\u002F11-js-cookie","03.javascript\u002F02.network\u002F11-js-cookie",{"title":1995,"path":1996,"stem":1997},"Axios: Потужний HTTP-клієнт для JavaScript","\u002Fjavascript\u002Fnetwork\u002F12-axios","03.javascript\u002F02.network\u002F12-axios",{"title":1999,"icon":2000,"path":2001,"stem":2002,"children":2003,"page":59},"Bom","i-lucide-monitor","\u002Fjavascript\u002Fbom","03.javascript\u002F03.bom",[2004,2008,2012,2016],{"title":2005,"path":2006,"stem":2007},"LocalStorage, SessionStorage та patterns збереження даних","\u002Fjavascript\u002Fbom\u002F01-localstorage","03.javascript\u002F03.bom\u002F01-localstorage",{"title":2009,"path":2010,"stem":2011},"Location Object - Керування адресою сторінки","\u002Fjavascript\u002Fbom\u002F02-location-object","03.javascript\u002F03.bom\u002F02-location-object",{"title":2013,"path":2014,"stem":2015},"History API - Керування історією браузера","\u002Fjavascript\u002Fbom\u002F03-history-api","03.javascript\u002F03.bom\u002F03-history-api",{"title":2017,"path":2018,"stem":2019},"Navigator Object - Ідентифікація та Можливості Пристрою","\u002Fjavascript\u002Fbom\u002F04-navigator-object","03.javascript\u002F03.bom\u002F04-navigator-object",{"title":2021,"icon":2022,"path":2023,"stem":2024,"children":2025},"React","i-devicon-react","\u002Fjavascript\u002Freact","03.javascript\u002F04.react\u002Findex",[2026,2027,2031,2035,2039,2043,2106,2141,2293],{"title":2021,"path":2023,"stem":2024},{"title":2028,"path":2029,"stem":2030},"Робота з Формами в React","\u002Fjavascript\u002Freact\u002Freact-forms","03.javascript\u002F04.react\u002F01.react-forms",{"title":2032,"path":2033,"stem":2034},"React Hook Form: Професійна Робота з Формами","\u002Fjavascript\u002Freact\u002Freact-hook-form","03.javascript\u002F04.react\u002F02.react-hook-form",{"title":2036,"path":2037,"stem":2038},"React Hook Form: Глибоке Розуміння Архітектури та Оптимізації","\u002Fjavascript\u002Freact\u002Freact-hook-form-new","03.javascript\u002F04.react\u002F02.react-hook-form-new",{"title":2040,"path":2041,"stem":2042},"Axios та React: Професійна Архітектура Запитів","\u002Fjavascript\u002Freact\u002Fdata-fetching-axios","03.javascript\u002F04.react\u002F03.data-fetching-axios",{"title":2044,"icon":132,"path":2045,"stem":2046,"children":2047},"Tanstack Query","\u002Fjavascript\u002Freact\u002Ftanstack-query","03.javascript\u002F04.react\u002F04.tanstack-query\u002Findex",[2048,2050,2054,2058,2062,2066,2070,2074,2078,2082,2086,2090,2094,2098,2102],{"title":2049,"path":2045,"stem":2046},"TanStack Query: Майстерність Керування Станом Сервера",{"title":2051,"path":2052,"stem":2053},"Парадигма Server State: Чому useEffect недостатньо","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-state-paradigm","03.javascript\u002F04.react\u002F04.tanstack-query\u002F01.server-state-paradigm",{"title":2055,"path":2056,"stem":2057},"Встановлення та Налаштування: Фундамент","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Finstallation-and-devtools","03.javascript\u002F04.react\u002F04.tanstack-query\u002F02.installation-and-devtools",{"title":2059,"path":2060,"stem":2061},"Основи Запитів та Магія Ключів","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fquery-basics-and-keys","03.javascript\u002F04.react\u002F04.tanstack-query\u002F03.query-basics-and-keys",{"title":2063,"path":2064,"stem":2065},"Синхронізація Даних: Життєвий Цикл Запиту","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fdata-synchronization","03.javascript\u002F04.react\u002F04.tanstack-query\u002F04.data-synchronization",{"title":2067,"path":2068,"stem":2069},"Мутації та Інвалідація: Зміна Даних","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fmutations-and-invalidation","03.javascript\u002F04.react\u002F04.tanstack-query\u002F05.mutations-and-invalidation",{"title":2071,"path":2072,"stem":2073},"Оптимістичні Оновлення: Швидше за Світло","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Foptimistic-updates","03.javascript\u002F04.react\u002F04.tanstack-query\u002F06.optimistic-updates",{"title":2075,"path":2076,"stem":2077},"Пагінація та Infinite Scroll","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fpagination-and-load-more","03.javascript\u002F04.react\u002F04.tanstack-query\u002F07.pagination-and-load-more",{"title":2079,"path":2080,"stem":2081},"Просунуті Патерни та Оптимізація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F04.tanstack-query\u002F08.advanced-patterns",{"title":2083,"path":2084,"stem":2085},"Архітектура та Best Practices","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Farchitecture-and-best-practices","03.javascript\u002F04.react\u002F04.tanstack-query\u002F09.architecture-and-best-practices",{"title":2087,"path":2088,"stem":2089},"Server-Side Rendering (SSR) та Гідратація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-side-rendering","03.javascript\u002F04.react\u002F04.tanstack-query\u002F10.server-side-rendering",{"title":2091,"path":2092,"stem":2093},"Стратегії Тестування","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Ftesting-strategies","03.javascript\u002F04.react\u002F04.tanstack-query\u002F11.testing-strategies",{"title":2095,"path":2096,"stem":2097},"Аутентифікація та Обробка Помилок","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fauthentication-and-errors","03.javascript\u002F04.react\u002F04.tanstack-query\u002F12.authentication-and-errors",{"title":2099,"path":2100,"stem":2101},"React Suspense та Майбутнє","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Freact-suspense","03.javascript\u002F04.react\u002F04.tanstack-query\u002F13.react-suspense",{"title":2103,"path":2104,"stem":2105},"Глибоке Занурення в Продуктивність","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fperformance-deep-dive","03.javascript\u002F04.react\u002F04.tanstack-query\u002F14.performance-deep-dive",{"title":2107,"icon":2022,"path":2108,"stem":2109,"children":2110},"React Router","\u002Fjavascript\u002Freact\u002Freact-router","03.javascript\u002F04.react\u002F05.react-router\u002Findex",[2111,2113,2117,2121,2125,2129,2133,2137],{"title":2112,"path":2108,"stem":2109},"React Router: Навігаційна система сучасного вебу",{"title":2114,"path":2115,"stem":2116},"Налаштування та Базовий Роутинг","\u002Fjavascript\u002Freact\u002Freact-router\u002Fsetup-and-basic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F01.setup-and-basic-routing",{"title":2118,"path":2119,"stem":2120},"Динамічна Навігація","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnavigation-and-links","03.javascript\u002F04.react\u002F05.react-router\u002F02.navigation-and-links",{"title":2122,"path":2123,"stem":2124},"Вкладені Маршрути та Макети","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnested-routes-and-layouts","03.javascript\u002F04.react\u002F05.react-router\u002F03.nested-routes-and-layouts",{"title":2126,"path":2127,"stem":2128},"Динамічні Маршрути та Параметри","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdynamic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F04.dynamic-routing",{"title":2130,"path":2131,"stem":2132},"Data APIs: Loaders та Actions","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdata-loading","03.javascript\u002F04.react\u002F05.react-router\u002F05.data-loading",{"title":2134,"path":2135,"stem":2136},"Просунуті Патерни","\u002Fjavascript\u002Freact\u002Freact-router\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F05.react-router\u002F06.advanced-patterns",{"title":2138,"path":2139,"stem":2140},"Legacy Routing: Компонентний підхід","\u002Fjavascript\u002Freact\u002Freact-router\u002Flegacy-routing","03.javascript\u002F04.react\u002F05.react-router\u002F07.legacy-routing",{"title":2142,"icon":132,"path":2143,"stem":2144,"children":2145},"Redux","\u002Fjavascript\u002Freact\u002Fredux","03.javascript\u002F04.react\u002F06.redux\u002Findex",[2146,2148,2164,2193,2202,2223,2239,2268],{"title":2147,"path":2143,"stem":2144},"Redux: Еволюція управління станом",{"title":14,"icon":15,"path":2149,"stem":2150,"children":2151,"page":59},"\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals",[2152,2156,2160],{"title":2153,"path":2154,"stem":2155},"Вступ до State Management","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fintro-state-management","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F01.intro-state-management",{"title":2157,"path":2158,"stem":2159},"Філософія Redux та Три Принципи","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fredux-philosophy","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F02.redux-philosophy",{"title":2161,"path":2162,"stem":2163},"Чисті функції та Іммутабельність","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fpure-functions-immutability","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F03.pure-functions-immutability",{"title":2165,"icon":132,"path":2166,"stem":2167,"children":2168,"page":59},"Classic Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux",[2169,2173,2177,2181,2185,2189],{"title":2170,"path":2171,"stem":2172},"Створення Store (Classic Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fstore-setup","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F01.store-setup",{"title":2174,"path":2175,"stem":2176},"Actions, Constants та Action Creators","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Factions-constants","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F02.actions-constants",{"title":2178,"path":2179,"stem":2180},"Логіка Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freducers","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F03.reducers",{"title":2182,"path":2183,"stem":2184},"Комбінування Reducers (Root Reducer)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fdata-flow","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F04.data-flow",{"title":2186,"path":2187,"stem":2188},"Підключення до React (React-Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freact-redux-connection","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F05.react-redux-connection",{"title":2190,"path":2191,"stem":2192},"Middleware та Асинхронність (Redux Thunk)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fmiddleware-thunk","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F06.middleware-thunk",{"title":2194,"icon":132,"path":2195,"stem":2196,"children":2197,"page":59},"Transition To Rtk","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk",[2198],{"title":2199,"path":2200,"stem":2201},"Проблеми класичного Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk\u002Fproblems-with-classic","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk\u002F01.problems-with-classic",{"title":2203,"icon":132,"path":2204,"stem":2205,"children":2206,"page":59},"Redux Toolkit","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit",[2207,2211,2215,2219],{"title":2208,"path":2209,"stem":2210},"Налаштування Store з configureStore","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fconfigure-store","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F01.configure-store",{"title":2212,"path":2213,"stem":2214},"createSlice: Революція в Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fcreate-slice","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F02.create-slice",{"title":2216,"path":2217,"stem":2218},"Асинхронність з createAsyncThunk","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fasync-thunks","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F03.async-thunks",{"title":2220,"path":2221,"stem":2222},"04. Entity Adapter: Керування нормалізованим станом","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fentity-adapter","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F04.entity-adapter",{"title":2224,"icon":92,"path":2225,"stem":2226,"children":2227,"page":59},"Advanced","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced",[2228,2232,2236],{"title":2229,"path":2230,"stem":2231},"Мемоізація та Селектори: Повний Гайд по Reselect","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Fselectors-reselect","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F01.selectors-reselect",{"title":2233,"path":2234,"stem":2235},"RTK Query: Архітектура Серверного Кешу","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Frtk-query-intro","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F02.rtk-query-intro",{"title":2083,"path":2237,"stem":2238},"\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Farchitecture-best-practices","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F03.architecture-best-practices",{"title":2240,"icon":132,"path":2241,"stem":2242,"children":2243,"page":59},"Project Kanban","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban",[2244,2248,2252,2256,2260,2264],{"title":2245,"path":2246,"stem":2247},"Проєкт: Kanban Board (Trello Clone)","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fproject-overview","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F01.project-overview",{"title":2249,"path":2250,"stem":2251},"Налаштування та Типізація","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fsetup-and-types","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F02.setup-and-types",{"title":2253,"path":2254,"stem":2255},"Board Slice: Серце Дошки","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fboard-slice","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F03.board-slice",{"title":2257,"path":2258,"stem":2259},"Логіка Drag & Drop","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fdrag-and-drop-logic","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F04.drag-and-drop-logic",{"title":2261,"path":2262,"stem":2263},"Інтеграція з RTK Query","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Frtk-query-integration","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F05.rtk-query-integration",{"title":2265,"path":2266,"stem":2267},"Optimistic Updates","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Foptimistic-updates","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F06.optimistic-updates",{"title":2269,"icon":132,"path":2270,"stem":2271,"children":2272,"page":59},"Testing","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting","03.javascript\u002F04.react\u002F06.redux\u002F07.testing",[2273,2277,2281,2285,2289],{"title":2274,"path":2275,"stem":2276},"Тестування Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Fintro-testing","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F01.intro-testing",{"title":2278,"path":2279,"stem":2280},"Тестування Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-reducers","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F02.testing-reducers",{"title":2282,"path":2283,"stem":2284},"Тестування Селекторів","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-selectors","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F03.testing-selectors",{"title":2286,"path":2287,"stem":2288},"Тестування Компонентів (Integration)","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-components","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F04.testing-components",{"title":2290,"path":2291,"stem":2292},"Тестування Async Thunks","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-thunks","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F05.testing-thunks",{"title":2294,"icon":132,"path":2295,"stem":2296,"children":2297},"Ui Libraries","\u002Fjavascript\u002Freact\u002Fui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002Findex",[2298,2300,2304,2308,2312,2316,2320],{"title":2299,"path":2295,"stem":2296},"UI Бібліотеки в React",{"title":2301,"path":2302,"stem":2303},"Вступ до UI Бібліотек: Навіщо Винаходити Велосипед Двічі?","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fintroduction-to-ui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002F01.introduction-to-ui-libraries",{"title":2305,"path":2306,"stem":2307},"Філософія shadcn\u002Fui: \"Not a Component Library\"","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-philosophy","03.javascript\u002F04.react\u002F07.ui-libraries\u002F02.shadcn-philosophy",{"title":2309,"path":2310,"stem":2311},"Установка та Налаштування shadcn\u002Fui","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-installation","03.javascript\u002F04.react\u002F07.ui-libraries\u002F03.shadcn-installation",{"title":2313,"path":2314,"stem":2315},"Базові Компоненти shadcn\u002Fui: Фундамент Інтерфейсу","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-basics","03.javascript\u002F04.react\u002F07.ui-libraries\u002F04.shadcn-components-basics",{"title":2317,"path":2318,"stem":2319},"Компоненти Форм: Побудова Інтерактивних Form","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-forms","03.javascript\u002F04.react\u002F07.ui-libraries\u002F05.shadcn-components-forms",{"title":2321,"path":2322,"stem":2323},"Складні Компоненти: Dialog, Dropdown, Table та Command","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-advanced","03.javascript\u002F04.react\u002F07.ui-libraries\u002F06.shadcn-components-advanced",{"title":2325,"icon":2326,"path":2327,"stem":2328,"children":2329,"page":59},"TypeScript","i-devicon-typescript","\u002Fjavascript\u002Ftypescript","03.javascript\u002F05.typescript",[2330,2334,2338,2342,2346,2350,2354,2358],{"title":2331,"path":2332,"stem":2333},"TypeScript: Броня для вашого коду","\u002Fjavascript\u002Ftypescript\u002Fintro-and-basic-types","03.javascript\u002F05.typescript\u002F01.intro-and-basic-types",{"title":2335,"path":2336,"stem":2337},"Майстерність Моделювання Даних: Інтерфейси та Просунуті Типи","\u002Fjavascript\u002Ftypescript\u002Finterfaces-and-advanced-types","03.javascript\u002F05.typescript\u002F02.interfaces-and-advanced-types",{"title":2339,"path":2340,"stem":2341},"Алхімія Типів: Generics та Utility Types","\u002Fjavascript\u002Ftypescript\u002Fgenerics-and-utilities","03.javascript\u002F05.typescript\u002F03.generics-and-utilities",{"title":2343,"path":2344,"stem":2345},"Архітектура та Шаблони: Класи в TypeScript","\u002Fjavascript\u002Ftypescript\u002Fclasses-and-oop","03.javascript\u002F05.typescript\u002F04.classes-and-oop",{"title":2347,"path":2348,"stem":2349},"Продакшн та Екосистема: Advanced Config & Workflow","\u002Fjavascript\u002Ftypescript\u002Fadvanced-patterns-and-config","03.javascript\u002F05.typescript\u002F05.advanced-patterns-and-config",{"title":2351,"path":2352,"stem":2353},"TypeScript у світі React","\u002Fjavascript\u002Ftypescript\u002Freact-basics","03.javascript\u002F05.typescript\u002F06.react-basics",{"title":2355,"path":2356,"stem":2357},"React + TypeScript: Продвинуті патерни","\u002Fjavascript\u002Ftypescript\u002Freact-advanced","03.javascript\u002F05.typescript\u002F07.react-advanced",{"title":2359,"path":2360,"stem":2361},"React + TypeScript: Екосистема та бібліотеки","\u002Fjavascript\u002Ftypescript\u002Freact-ecosystem","03.javascript\u002F05.typescript\u002F08.react-ecosystem",{"title":2363,"path":2364,"stem":2365},"Atomic Design","\u002Fjavascript\u002Fatomic-design","03.javascript\u002F2.atomic-design",{"title":2367,"icon":2368,"path":2369,"stem":2370,"children":2371,"page":59},"Java","i-devicon-java","\u002Fjava","04.java",[2372,2375,2378,2382,2386,2390,2394],{"title":162,"path":2373,"stem":2374},"\u002Fjava\u002Fdata-mapper-part1","04.java\u002F01.data-mapper-part1",{"title":166,"path":2376,"stem":2377},"\u002Fjava\u002Fdata-mapper-part2","04.java\u002F02.data-mapper-part2",{"title":2379,"path":2380,"stem":2381},"Service Layer: Організація бізнес-логіки","\u002Fjava\u002Fservice-layer","04.java\u002F03.service-layer",{"title":2383,"path":2384,"stem":2385},"Rich Domain Model та State Pattern","\u002Fjava\u002Frich-domain-model","04.java\u002F04.rich-domain-model",{"title":2387,"path":2388,"stem":2389},"Патерни для складної бізнес-логіки","\u002Fjava\u002Fbusiness-logic-patterns","04.java\u002F05.business-logic-patterns",{"title":2391,"path":2392,"stem":2393},"Обробка помилок та валідація","\u002Fjava\u002Ferror-handling-validation","04.java\u002F06.error-handling-validation",{"title":2395,"path":2396,"stem":2397,"children":2398,"page":59},"Проектування баз даних","\u002Fjava\u002Fpr2","04.java\u002Fpr2",[2399,2403,2407,2411,2415,2419,2423,2427,2431,2435,2439,2443,2447,2451,2455,2459,2463,2467,2471,2475,2479,2483,2487,2491,2495,2499,2503,2507,2511,2515,2519,2523,2527,2531,2535,2539,2543],{"title":2400,"path":2401,"stem":2402},"Концептуальне моделювання: Мистецтво розуміння предметної області","\u002Fjava\u002Fpr2\u002Fconceptual-modeling","04.java\u002Fpr2\u002F01.conceptual-modeling",{"title":2404,"path":2405,"stem":2406},"Логічне моделювання: Від бізнес-ідей до структур даних","\u002Fjava\u002Fpr2\u002Flogical-modeling","04.java\u002Fpr2\u002F02.logical-modeling",{"title":2408,"path":2409,"stem":2410},"Нормалізація: Гігієна даних та боротьба з аномаліями","\u002Fjava\u002Fpr2\u002Fnormalization","04.java\u002Fpr2\u002F03.normalization",{"title":2412,"path":2413,"stem":2414},"Фізична схема: Від абстракції до DDL","\u002Fjava\u002Fpr2\u002Fphysical-schema","04.java\u002Fpr2\u002F04.physical-schema",{"title":2416,"path":2417,"stem":2418},"Архітектурна класифікація таблиць","\u002Fjava\u002Fpr2\u002Ftable-classification","04.java\u002Fpr2\u002F05.table-classification",{"title":2420,"path":2421,"stem":2422},"Database Migrations: Версіонування схеми з Flyway","\u002Fjava\u002Fpr2\u002Fdatabase-migrations","04.java\u002Fpr2\u002F06.database-migrations",{"title":2424,"path":2425,"stem":2426},"А що, якби це була не реляційна БД?","\u002Fjava\u002Fpr2\u002Fbeyond-relational","04.java\u002Fpr2\u002F07.beyond-relational",{"title":2428,"path":2429,"stem":2430},"Object-Relational Impedance Mismatch: Два світи, що не хочуть дружити","\u002Fjava\u002Fpr2\u002Fimpedance-mismatch","04.java\u002Fpr2\u002F09.impedance-mismatch",{"title":2432,"path":2433,"stem":2434},"JDBC: Перший контакт із базою даних","\u002Fjava\u002Fpr2\u002Fjdbc-fundamentals","04.java\u002Fpr2\u002F10.jdbc-fundamentals",{"title":2436,"path":2437,"stem":2438},"Якість коду: Spotless, SpotBugs та SonarQube","\u002Fjava\u002Fpr2\u002F10a.code-quality","04.java\u002Fpr2\u002F10a.code-quality",{"title":2440,"path":2441,"stem":2442},"Connection Pool: Патерн Object Pool для JDBC-з'єднань","\u002Fjava\u002Fpr2\u002Fconnection-pool","04.java\u002Fpr2\u002F11.connection-pool",{"title":2444,"path":2445,"stem":2446},"Row Data Gateway: Об'єкт як обгортка рядка таблиці","\u002Fjava\u002Fpr2\u002Frow-data-gateway","04.java\u002Fpr2\u002F12.row-data-gateway",{"title":2448,"path":2449,"stem":2450},"Table Data Gateway: Фасад таблиці як архітектурний відступ","\u002Fjava\u002Fpr2\u002Ftable-data-gateway","04.java\u002Fpr2\u002F13.table-data-gateway",{"title":2452,"path":2453,"stem":2454},"Repository + Data Mapper: Правильна шарова архітектура з JDBC","\u002Fjava\u002Fpr2\u002Frepository-data-mapper","04.java\u002Fpr2\u002F14.repository-data-mapper",{"title":2456,"path":2457,"stem":2458},"Identity Map: Кешування сутностей у рамках сесії","\u002Fjava\u002Fpr2\u002Fidentity-map","04.java\u002Fpr2\u002F15.identity-map",{"title":2460,"path":2461,"stem":2462},"Unit of Work: Відстеження змін і координація JDBC-транзакцій","\u002Fjava\u002Fpr2\u002Funit-of-work","04.java\u002Fpr2\u002F16.unit-of-work",{"title":2464,"path":2465,"stem":2466},"Strategy: Замінювані SQL-стратегії для підтримки різних СУБД","\u002Fjava\u002Fpr2\u002Fstrategy-sql","04.java\u002Fpr2\u002F17.strategy-sql",{"title":2468,"path":2469,"stem":2470},"Proxy: Lazy Loading для One-To-Many колекцій","\u002Fjava\u002Fpr2\u002Fproxy-lazy-loading","04.java\u002Fpr2\u002F18.proxy-lazy-loading",{"title":2472,"path":2473,"stem":2474},"Generic Repository через Java Reflection: анотації та динамічний SQL","\u002Fjava\u002Fpr2\u002Fgeneric-repository-reflection","04.java\u002Fpr2\u002F19.generic-repository-reflection",{"title":2476,"path":2477,"stem":2478},"Specification Pattern: Композиція бізнес-правил для складних запитів","\u002Fjava\u002Fpr2\u002Fspecification-pattern","04.java\u002Fpr2\u002F20.specification-pattern",{"title":2480,"path":2481,"stem":2482},"Розширені можливості Specification Pattern: підзапити, агрегації та гібридний підхід","\u002Fjava\u002Fpr2\u002F20a.advanced-specifications","04.java\u002Fpr2\u002F20a.advanced-specifications",{"title":2484,"path":2485,"stem":2486},"Асинхронність у JDBC: Від блокуючих викликів до CompletableFuture","\u002Fjava\u002Fpr2\u002Fasynchronous-jdbc","04.java\u002Fpr2\u002F21.asynchronous-jdbc",{"title":2488,"path":2489,"stem":2490},"Інтеграційне тестування JDBC-репозиторіїв: Embedded H2 та патерн AAA","\u002Fjava\u002Fpr2\u002Fintegration-testing-h2","04.java\u002Fpr2\u002F22.integration-testing-h2",{"title":2492,"path":2493,"stem":2494},"Testcontainers: Тестування з реальною PostgreSQL у Docker-контейнерах","\u002Fjava\u002Fpr2\u002Fintegration-testing-testcontainers","04.java\u002Fpr2\u002F23.integration-testing-testcontainers",{"title":2496,"path":2497,"stem":2498},"Google Guice: Впровадження залежностей у JavaFX-проєкті","\u002Fjava\u002Fpr2\u002Fdependency-injection-guice","04.java\u002Fpr2\u002F24.dependency-injection-guice",{"title":2500,"path":2501,"stem":2502},"JavaFX: Основи побудови графічних інтерфейсів","\u002Fjava\u002Fpr2\u002Fjavafx-fundamentals","04.java\u002Fpr2\u002F25.javafx-fundamentals",{"title":2504,"path":2505,"stem":2506},"Properties та Bindings: Реактивність у JavaFX","\u002Fjava\u002Fpr2\u002Fjavafx-properties-bindings","04.java\u002Fpr2\u002F26.javafx-properties-bindings",{"title":2508,"path":2509,"stem":2510},"MVC vs MVP vs MVVM: Еволюція архітектурних патернів UI","\u002Fjava\u002Fpr2\u002Fui-architecture-patterns","04.java\u002Fpr2\u002F27.ui-architecture-patterns",{"title":2512,"path":2513,"stem":2514},"MVVM на практиці: Побудова ViewModel","\u002Fjava\u002Fpr2\u002Fmvvm-viewmodel-implementation","04.java\u002Fpr2\u002F28.mvvm-viewmodel-implementation",{"title":2516,"path":2517,"stem":2518},"View та Controller: Зв'язування з ViewModel через FXML","\u002Fjava\u002Fpr2\u002Fmvvm-view-controller","04.java\u002Fpr2\u002F29.mvvm-view-controller",{"title":2520,"path":2521,"stem":2522},"Інтеграція MVVM з Guice: Автоматична ін'єкція залежностей","\u002Fjava\u002Fpr2\u002Fmvvm-guice-integration","04.java\u002Fpr2\u002F30.mvvm-guice-integration",{"title":2524,"path":2525,"stem":2526},"Валідація та обробка помилок у MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-validation-error-handling","04.java\u002Fpr2\u002F31.mvvm-validation-error-handling",{"title":2528,"path":2529,"stem":2530},"Навігація та управління екранами у JavaFX MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-navigation-screen-management","04.java\u002Fpr2\u002F32.mvvm-navigation-screen-management",{"title":2532,"path":2533,"stem":2534},"Тестування JavaFX MVVM-додатків","\u002Fjava\u002Fpr2\u002Fmvvm-testing","04.java\u002Fpr2\u002F33.mvvm-testing",{"title":2536,"path":2537,"stem":2538},"Стилізація та теми у JavaFX: CSS та User Experience","\u002Fjava\u002Fpr2\u002Fjavafx-styling-themes","04.java\u002Fpr2\u002F34.javafx-styling-themes",{"title":2540,"path":2541,"stem":2542},"AtlantaFX: Сучасні теми для JavaFX додатків","\u002Fjava\u002Fpr2\u002Fatlantafx-modern-themes","04.java\u002Fpr2\u002F35.atlantafx-modern-themes",{"title":2544,"path":2545,"stem":2546},"Пакування та розповсюдження JavaFX-додатків","\u002Fjava\u002Fpr2\u002Fjar-packaging-distribution","04.java\u002Fpr2\u002F36.jar-packaging-distribution",{"title":2548,"icon":2549,"path":2550,"stem":2551,"children":2552,"page":59},"Python","i-devicon-python","\u002Fpython","05.python",[2553,2557,2560,2564,2568,2572,2576,2580,2584,2588,2592,2596,2600,2604,2608,2669],{"title":2554,"path":2555,"stem":2556},"Модулі, Пакети та Віртуальні Середовища","\u002Fpython\u002Fmodules-packages-venv","05.python\u002F00.modules-packages-venv",{"title":71,"path":2558,"stem":2559},"\u002Fpython\u002Fclasses-objects","05.python\u002F01.classes-objects",{"title":2561,"path":2562,"stem":2563},"Інкапсуляція, Керування Доступом та Властивості","\u002Fpython\u002Fencapsulation","05.python\u002F02.encapsulation",{"title":2565,"path":2566,"stem":2567},"Наслідування, MRO та суперсила super()","\u002Fpython\u002Finheritance-mro","05.python\u002F03.inheritance-mro",{"title":2569,"path":2570,"stem":2571},"Абстракція — ABC проти Статичних Протоколів (PEP 544)","\u002Fpython\u002Fabstraction-protocols","05.python\u002F04.abstraction-protocols",{"title":2573,"path":2574,"stem":2575},"Магічні методи (Dunder) та Емуляція протоколів","\u002Fpython\u002Fdunder-methods","05.python\u002F05.dunder-methods",{"title":2577,"path":2578,"stem":2579},"Декоратори та Керування життєвим циклом методів","\u002Fpython\u002Fdecorators-static-class","05.python\u002F06.decorators-static-class",{"title":2581,"path":2582,"stem":2583},"Дескриптори — Магія доступу до атрибутів","\u002Fpython\u002Fdescriptors","05.python\u002F07.descriptors",{"title":2585,"path":2586,"stem":2587},"Метакласи — Динамічне створення класів під капотом CPython","\u002Fpython\u002Fmetaclasses","05.python\u002F08.metaclasses",{"title":2589,"path":2590,"stem":2591},"Dataclasses, NamedTuple та сучасні контейнери Python","\u002Fpython\u002Fmodern-containers","05.python\u002F09.modern-containers",{"title":2593,"path":2594,"stem":2595},"GIL та модель конкурентності CPython — фундамент перед потоками і процесами","\u002Fpython\u002Fgil-concurrency-intro","05.python\u002F11.gil-concurrency-intro",{"title":2597,"path":2598,"stem":2599},"Threading — конкурентність для I\u002FO-bound задач","\u002Fpython\u002Fthreading","05.python\u002F12.threading",{"title":2601,"path":2602,"stem":2603},"Multiprocessing — справжній паралелізм для CPU-bound задач","\u002Fpython\u002Fmultiprocessing","05.python\u002F13.multiprocessing",{"title":2605,"path":2606,"stem":2607},"asyncio — кооперативна конкурентність та event loop","\u002Fpython\u002Fasyncio","05.python\u002F14.asyncio",{"title":2609,"icon":92,"path":2610,"stem":2611,"children":2612,"page":59},"FastAPI","\u002Fpython\u002Ffastapi","05.python\u002Ffastapi",[2613,2617,2621,2625,2629,2633,2637,2641,2645,2649,2653,2657,2661,2665],{"title":2614,"path":2615,"stem":2616},"Глибокий Typing та Pydantic v2 — від анотацій до валідації","\u002Fpython\u002Ffastapi\u002Ftyping-pydantic","05.python\u002Ffastapi\u002F15.typing-pydantic",{"title":2618,"path":2619,"stem":2620},"WSGI, ASGI та Python Web-екосистема","\u002Fpython\u002Ffastapi\u002Fwsgi-asgi-ecosystem","05.python\u002Ffastapi\u002F16.wsgi-asgi-ecosystem",{"title":2622,"path":2623,"stem":2624},"FastAPI: Перший додаток, Uvicorn та OpenAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-intro","05.python\u002Ffastapi\u002F17.fastapi-intro",{"title":2626,"path":2627,"stem":2628},"Маршрутизація, параметри запитів та APIRouter","\u002Fpython\u002Ffastapi\u002Ffastapi-routing-params","05.python\u002Ffastapi\u002F18.fastapi-routing-params",{"title":2630,"path":2631,"stem":2632},"Pydantic v2 у FastAPI — схеми, валідація та серіалізація","\u002Fpython\u002Ffastapi\u002Ffastapi-pydantic-schemas","05.python\u002Ffastapi\u002F19.fastapi-pydantic-schemas",{"title":2634,"path":2635,"stem":2636},"Dependency Injection — серце архітектури FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-dependency-injection","05.python\u002Ffastapi\u002F20.fastapi-dependency-injection",{"title":2638,"path":2639,"stem":2640},"Обробка помилок, Middleware та CORS у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-errors-middleware","05.python\u002Ffastapi\u002F21.fastapi-errors-middleware",{"title":2642,"path":2643,"stem":2644},"SQLAlchemy 2.0 — ORM, Core та Async Engine","\u002Fpython\u002Ffastapi\u002Fsqlalchemy-orm","05.python\u002Ffastapi\u002F22.sqlalchemy-orm",{"title":2646,"path":2647,"stem":2648},"Alembic — міграції бази даних","\u002Fpython\u002Ffastapi\u002Falembic-migrations","05.python\u002Ffastapi\u002F23.alembic-migrations",{"title":2650,"path":2651,"stem":2652},"Repository Pattern та Clean Architecture у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-repository-clean-arch","05.python\u002Ffastapi\u002F24.fastapi-repository-clean-arch",{"title":2654,"path":2655,"stem":2656},"Автентифікація та авторизація — JWT, OAuth2, RBAC","\u002Fpython\u002Ffastapi\u002Ffastapi-auth-security","05.python\u002Ffastapi\u002F25.fastapi-auth-security",{"title":2658,"path":2659,"stem":2660},"Тестування FastAPI — pytest, httpx, fixtures","\u002Fpython\u002Ffastapi\u002Ffastapi-testing","05.python\u002Ffastapi\u002F26.fastapi-testing",{"title":2662,"path":2663,"stem":2664},"Async на повну — Background Tasks, WebSockets, SSE та Celery","\u002Fpython\u002Ffastapi\u002Ffastapi-async-advanced","05.python\u002Ffastapi\u002F27.fastapi-async-advanced",{"title":2666,"path":2667,"stem":2668},"Deployment — Docker, CI\u002FCD, Monitoring","\u002Fpython\u002Ffastapi\u002Ffastapi-deployment","05.python\u002Ffastapi\u002F28.fastapi-deployment",{"title":2670,"path":2671,"stem":2672},"[object Object]","\u002Fpython\u002Foop-plan","05.python\u002Foop-plan",{"title":2674,"icon":2675,"path":2676,"stem":2677,"children":2678,"page":59},"Бази даних","i-lucide-database","\u002Fdatabases","06.databases",[2679,2709,2732,2769,2798,2816,2850,2862,2871],{"title":2680,"icon":2681,"path":2682,"stem":2683,"children":2684,"page":59},"Intro","i-lucide-play","\u002Fdatabases\u002Fintro","06.databases\u002F01.intro",[2685,2689,2693,2697,2701,2705],{"title":2686,"path":2687,"stem":2688},"Введення в теорію баз даних","\u002Fdatabases\u002Fintro\u002Fintroduction-to-databases","06.databases\u002F01.intro\u002F01.introduction-to-databases",{"title":2690,"path":2691,"stem":2692},"Реляційна модель даних","\u002Fdatabases\u002Fintro\u002Frelational-model-theory","06.databases\u002F01.intro\u002F02.relational-model-theory",{"title":2694,"path":2695,"stem":2696},"ER-моделювання","\u002Fdatabases\u002Fintro\u002Fer-modeling","06.databases\u002F01.intro\u002F03.er-modeling",{"title":2698,"path":2699,"stem":2700},"Логічне проектування БД","\u002Fdatabases\u002Fintro\u002Flogical-schema","06.databases\u002F01.intro\u002F04.logical-schema",{"title":2702,"path":2703,"stem":2704},"Класифікація таблиць","\u002Fdatabases\u002Fintro\u002Ftable-classification","06.databases\u002F01.intro\u002F05.table-classification",{"title":2706,"path":2707,"stem":2708},"PlantUML для баз даних","\u002Fdatabases\u002Fintro\u002Fplantuml-diagrams","06.databases\u002F01.intro\u002F06.plantuml-diagrams",{"title":2710,"icon":2675,"path":2711,"stem":2712,"children":2713,"page":59},"MS SQL Server Start","\u002Fdatabases\u002Fms-sql-server-start","06.databases\u002F02.ms-sql-server-start",[2714,2718,2724,2728],{"title":2715,"path":2716,"stem":2717},"Типи даних у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fdata-types","06.databases\u002F02.ms-sql-server-start\u002F01.data-types",{"title":2719,"path":2720,"stem":2721,"children":2722},"Індекси у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-indexes","06.databases\u002F02.ms-sql-server-start\u002F02.sql-indexes",[2723],{"title":2719,"path":2720,"stem":2721},{"title":2725,"path":2726,"stem":2727},"Системні бази даних MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsystem-databases","06.databases\u002F02.ms-sql-server-start\u002F03.system-databases",{"title":2729,"path":2730,"stem":2731},"Огляд мови SQL та запитів","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-queries-overview","06.databases\u002F02.ms-sql-server-start\u002F04.sql-queries-overview",{"title":2733,"icon":2675,"path":2734,"stem":2735,"children":2736,"page":59},"SQL","\u002Fdatabases\u002Fsql","06.databases\u002F03.sql",[2737,2741,2745,2749,2753,2757,2761,2765],{"title":2738,"path":2739,"stem":2740},"Налаштування демонстраційної бази даних","\u002Fdatabases\u002Fsql\u002Fsample-database-setup","06.databases\u002F03.sql\u002F00.sample-database-setup",{"title":2742,"path":2743,"stem":2744},"DDL - Створення таблиць (CREATE TABLE)","\u002Fdatabases\u002Fsql\u002Fddl-create-table","06.databases\u002F03.sql\u002F01.ddl-create-table",{"title":2746,"path":2747,"stem":2748},"DDL - Зміна та видалення таблиць (ALTER, DROP)","\u002Fdatabases\u002Fsql\u002Fddl-alter-drop-table","06.databases\u002F03.sql\u002F02.ddl-alter-drop-table",{"title":2750,"path":2751,"stem":2752},"SELECT запити - Основи","\u002Fdatabases\u002Fsql\u002Fselect-queries-fundamentals","06.databases\u002F03.sql\u002F03.select-queries-fundamentals",{"title":2754,"path":2755,"stem":2756},"SELECT запити - Розширені можливості","\u002Fdatabases\u002Fsql\u002Fselect-queries-advanced","06.databases\u002F03.sql\u002F04.select-queries-advanced",{"title":2758,"path":2759,"stem":2760},"INSERT запити - Додавання даних","\u002Fdatabases\u002Fsql\u002Finsert-queries","06.databases\u002F03.sql\u002F05.insert-queries",{"title":2762,"path":2763,"stem":2764},"UPDATE та DELETE запити","\u002Fdatabases\u002Fsql\u002Fupdate-delete-queries","06.databases\u002F03.sql\u002F06.update-delete-queries",{"title":2766,"path":2767,"stem":2768},"Транзакції в SQL","\u002Fdatabases\u002Fsql\u002Ftransactions","06.databases\u002F03.sql\u002F07.transactions",{"title":2770,"icon":2675,"path":2771,"stem":2772,"children":2773,"page":59},"Multi Table Databases","\u002Fdatabases\u002Fmulti-table-databases","06.databases\u002F04.multi-table-databases",[2774,2778,2782,2786,2790,2794],{"title":2775,"path":2776,"stem":2777},"Зв'язки та нормалізація БД","\u002Fdatabases\u002Fmulti-table-databases\u002Frelationships-and-normalization","06.databases\u002F04.multi-table-databases\u002F00.relationships-and-normalization",{"title":2779,"path":2780,"stem":2781},"INNER JOIN - З'єднання таблиць","\u002Fdatabases\u002Fmulti-table-databases\u002Finner-join","06.databases\u002F04.multi-table-databases\u002F01.inner-join",{"title":2783,"path":2784,"stem":2785},"OUTER JOINs - LEFT, RIGHT, FULL","\u002Fdatabases\u002Fmulti-table-databases\u002Fouter-joins","06.databases\u002F04.multi-table-databases\u002F02.outer-joins",{"title":2787,"path":2788,"stem":2789},"CROSS та SELF JOINs","\u002Fdatabases\u002Fmulti-table-databases\u002Fcross-self-joins","06.databases\u002F04.multi-table-databases\u002F03.cross-self-joins",{"title":2791,"path":2792,"stem":2793},"Підзапити (Subqueries)","\u002Fdatabases\u002Fmulti-table-databases\u002Fsubqueries","06.databases\u002F04.multi-table-databases\u002F04.subqueries",{"title":2795,"path":2796,"stem":2797},"Агрегації з JOIN","\u002Fdatabases\u002Fmulti-table-databases\u002Faggregations-with-joins","06.databases\u002F04.multi-table-databases\u002F05.aggregations-with-joins",{"title":2799,"icon":2800,"path":2801,"stem":2802,"children":2803,"page":59},"Aggregate Functions","i-lucide-calculator","\u002Fdatabases\u002Faggregate-functions","06.databases\u002F05.aggregate-functions",[2804,2808,2812],{"title":2805,"path":2806,"stem":2807},"Функції агрегування в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fintroduction-aggregate-functions","06.databases\u002F05.aggregate-functions\u002F01.introduction-aggregate-functions",{"title":2809,"path":2810,"stem":2811},"Групування даних в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fgrouping-data","06.databases\u002F05.aggregate-functions\u002F02.grouping-data",{"title":2813,"path":2814,"stem":2815},"Підзапити з агрегатними функціями","\u002Fdatabases\u002Faggregate-functions\u002Fsubqueries-aggregates","06.databases\u002F05.aggregate-functions\u002F03.subqueries-aggregates",{"title":2817,"icon":2818,"path":2819,"stem":2820,"children":2821,"page":59},"Тригери та зберігаємі процедури","i-lucide-database-zap","\u002Fdatabases\u002Ftriggers-stored-procedures","06.databases\u002F07.triggers-stored-procedures",[2822,2826,2830,2834,2838,2842,2846],{"title":2823,"path":2824,"stem":2825},"DML-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fdml-triggers","06.databases\u002F07.triggers-stored-procedures\u002F01.dml-triggers",{"title":2827,"path":2828,"stem":2829},"DDL-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fddl-triggers","06.databases\u002F07.triggers-stored-procedures\u002F02.ddl-triggers",{"title":2831,"path":2832,"stem":2833},"Transact-SQL розширення","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransact-sql-extensions","06.databases\u002F07.triggers-stored-procedures\u002F03.transact-sql-extensions",{"title":2835,"path":2836,"stem":2837},"Транзакції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransactions","06.databases\u002F07.triggers-stored-procedures\u002F04.transactions",{"title":2839,"path":2840,"stem":2841},"Зберігаємі процедури","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fstored-procedures","06.databases\u002F07.triggers-stored-procedures\u002F05.stored-procedures",{"title":2843,"path":2844,"stem":2845},"Користувацькі функції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fuser-defined-functions","06.databases\u002F07.triggers-stored-procedures\u002F06.user-defined-functions",{"title":2847,"path":2848,"stem":2849},"Безпека баз даних","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fsecurity","06.databases\u002F07.triggers-stored-procedures\u002F08.security",{"title":2847,"icon":793,"path":2851,"stem":2852,"children":2853,"page":59},"\u002Fdatabases\u002Fsecurity","06.databases\u002F08.security",[2854,2858],{"title":2855,"path":2856,"stem":2857},"Вступ до безпеки баз даних","\u002Fdatabases\u002Fsecurity\u002Fintroduction","06.databases\u002F08.security\u002F01.introduction",{"title":2859,"path":2860,"stem":2861},"Системні представлення та метадані","\u002Fdatabases\u002Fsecurity\u002Fsystem-views","06.databases\u002F08.security\u002F02.system-views",{"title":2863,"icon":2864,"path":2865,"stem":2866,"children":2867,"page":59},"Резервне копіювання та відновлення","i-lucide-database-backup","\u002Fdatabases\u002Fbackup-recovery","06.databases\u002F09.backup-recovery",[2868],{"title":2863,"path":2869,"stem":2870},"\u002Fdatabases\u002Fbackup-recovery\u002Fbackup-restore","06.databases\u002F09.backup-recovery\u002F01.backup-restore",{"title":2872,"icon":2873,"path":2874,"stem":2875,"children":2876,"page":59},"Повнотекстовий пошук","i-lucide-search","\u002Fdatabases\u002Ffull-text-search","06.databases\u002F10.full-text-search",[2877],{"title":2872,"path":2878,"stem":2879},"\u002Fdatabases\u002Ffull-text-search\u002Ffull-text-search","06.databases\u002F10.full-text-search\u002F01.full-text-search",{"title":2881,"icon":2882,"path":2883,"stem":2884,"children":2885,"page":59},"Tools","i-lucide-wrench","\u002Ftools","07.tools",[2886,2962],{"title":2887,"icon":2888,"path":2889,"stem":2890,"children":2891},"Docker","i-simple-icons-docker","\u002Ftools\u002Fdocker","07.tools\u002F01.docker\u002Findex",[2892,2894,2898,2902,2906,2910,2914,2918,2922,2926,2930,2934,2938,2942,2946,2950,2954,2958],{"title":2893,"path":2889,"stem":2890},"Docker: від нуля до production",{"title":2895,"path":2896,"stem":2897},"Контейнеризація — від проблеми до рішення","\u002Ftools\u002Fdocker\u002Fcontainerization-concept","07.tools\u002F01.docker\u002F01.containerization-concept",{"title":2899,"path":2900,"stem":2901},"Docker — що це і навіщо?","\u002Ftools\u002Fdocker\u002Fdocker-what-and-why","07.tools\u002F01.docker\u002F02.docker-what-and-why",{"title":2903,"path":2904,"stem":2905},"Архітектура Docker Engine","\u002Ftools\u002Fdocker\u002Fdocker-architecture","07.tools\u002F01.docker\u002F03.docker-architecture",{"title":2907,"path":2908,"stem":2909},"Встановлення Docker","\u002Ftools\u002Fdocker\u002Finstallation","07.tools\u002F01.docker\u002F04.installation",{"title":2911,"path":2912,"stem":2913},"Перший контейнер — docker run","\u002Ftools\u002Fdocker\u002Ffirst-container","07.tools\u002F01.docker\u002F05.first-container",{"title":2915,"path":2916,"stem":2917},"Життєвий цикл контейнера","\u002Ftools\u002Fdocker\u002Fcontainer-lifecycle","07.tools\u002F01.docker\u002F06.container-lifecycle",{"title":2919,"path":2920,"stem":2921},"Docker Images — фундаментальні концепції","\u002Ftools\u002Fdocker\u002Fdocker-images-fundamentals","07.tools\u002F01.docker\u002F07.docker-images-fundamentals",{"title":2923,"path":2924,"stem":2925},"Dockerfile — основи","\u002Ftools\u002Fdocker\u002Fdockerfile-basics","07.tools\u002F01.docker\u002F08.dockerfile-basics",{"title":2927,"path":2928,"stem":2929},"Dockerfile — просунуті техніки","\u002Ftools\u002Fdocker\u002Fdockerfile-advanced","07.tools\u002F01.docker\u002F09.dockerfile-advanced",{"title":2931,"path":2932,"stem":2933},"Build Context та кешування шарів","\u002Ftools\u002Fdocker\u002Fbuild-context-and-cache","07.tools\u002F01.docker\u002F10.build-context-and-cache",{"title":2935,"path":2936,"stem":2937},"Реєстри Docker-образів","\u002Ftools\u002Fdocker\u002Fimage-registries","07.tools\u002F01.docker\u002F11.image-registries",{"title":2939,"path":2940,"stem":2941},"Контейнеризація .NET додатків","\u002Ftools\u002Fdocker\u002Fdotnet-containerization","07.tools\u002F01.docker\u002F12.dotnet-containerization",{"title":2943,"path":2944,"stem":2945},"Томи та збереження даних","\u002Ftools\u002Fdocker\u002Fvolumes-and-data","07.tools\u002F01.docker\u002F13.volumes-and-data",{"title":2947,"path":2948,"stem":2949},"Основи мережі в Docker","\u002Ftools\u002Fdocker\u002Fnetworking-basics","07.tools\u002F01.docker\u002F14.networking-basics",{"title":2951,"path":2952,"stem":2953},"Змінні оточення та конфігурація","\u002Ftools\u002Fdocker\u002Fenvironment-and-configuration","07.tools\u002F01.docker\u002F15.environment-and-configuration",{"title":2955,"path":2956,"stem":2957},"Docker Compose — оркестрація контейнерів","\u002Ftools\u002Fdocker\u002Fdocker-compose-basics","07.tools\u002F01.docker\u002F16.docker-compose-basics",{"title":2959,"path":2960,"stem":2961},"Docker Compose — Multi-Service застосунки","\u002Ftools\u002Fdocker\u002Fcompose-multi-service","07.tools\u002F01.docker\u002F17.compose-multi-service",{"title":2963,"icon":2964,"path":2965,"stem":2966,"children":2967},"Kubernetes","simple-icons:kubernetes","\u002Ftools\u002Fkubernetes","07.tools\u002F02.kubernetes\u002Findex",[2968,2970,2974,2978,2982,2986,2990,2994,2998],{"title":2969,"path":2965,"stem":2966},"Kubernetes: від розробки до production",{"title":2971,"path":2972,"stem":2973},"Kubernetes — коли Docker Compose більше не вистачає","\u002Ftools\u002Fkubernetes\u002Fwhy-kubernetes","07.tools\u002F02.kubernetes\u002F01.why-kubernetes",{"title":2975,"path":2976,"stem":2977},"Архітектура Kubernetes — анатомія кластера","\u002Ftools\u002Fkubernetes\u002Fkubernetes-architecture","07.tools\u002F02.kubernetes\u002F02.kubernetes-architecture",{"title":2979,"path":2980,"stem":2981},"Локальне середовище — minikube, kind та k3s","\u002Ftools\u002Fkubernetes\u002Flocal-environment","07.tools\u002F02.kubernetes\u002F03.local-environment",{"title":2983,"path":2984,"stem":2985},"Pod — атомарна одиниця Kubernetes","\u002Ftools\u002Fkubernetes\u002Fpods-and-containers","07.tools\u002F02.kubernetes\u002F04.pods-and-containers",{"title":2987,"path":2988,"stem":2989},"Патерни використання Pod","\u002Ftools\u002Fkubernetes\u002Fpod-patterns","07.tools\u002F02.kubernetes\u002F05.pod-patterns",{"title":2991,"path":2992,"stem":2993},"Deployment — декларативне управління Pod","\u002Ftools\u002Fkubernetes\u002Fdeployment-basics","07.tools\u002F02.kubernetes\u002F06.deployment-basics",{"title":2995,"path":2996,"stem":2997},"Rolling Updates та управління життєвим циклом Deployment","\u002Ftools\u002Fkubernetes\u002Fdeployment-rolling-updates","07.tools\u002F02.kubernetes\u002F07.deployment-rolling-updates",{"title":2999,"path":3000,"stem":3001},"Service — мережева абстракція для Pod","\u002Ftools\u002Fkubernetes\u002Fservices-networking","07.tools\u002F02.kubernetes\u002F08.services-networking",{"title":3003,"icon":3004,"path":3005,"stem":3006,"children":3007,"page":59},"Software Engineering","i-lucide-code-2","\u002Fsoftware-engineering","09.software-engineering",[3008,3012,3016,3020,3024,3028,3032,3036,3040,3044,3048],{"title":3009,"path":3010,"stem":3011},"1. Аналіз предметної області. Експертні знання та складність","\u002Fsoftware-engineering\u002Fintro-subdomains","09.software-engineering\u002F01.intro-subdomains",{"title":3013,"path":3014,"stem":3015},"2. Обмежені контексти. Інтеграція обмежених контекстів","\u002Fsoftware-engineering\u002Fintegrating-limited-contexts","09.software-engineering\u002F02.integrating-limited-contexts",{"title":3017,"path":3018,"stem":3019},"3. Реалізація простої бізнес-логіки","\u002Fsoftware-engineering\u002Fsimple","09.software-engineering\u002F03.simple",{"title":3021,"path":3022,"stem":3023},"4. Опрацювання складної бізнес-логіки","\u002Fsoftware-engineering\u002Fcomplex-business-logic","09.software-engineering\u002F04.complex-business-logic",{"title":3025,"path":3026,"stem":3027},"5. Моделювання фактора часу. Подієво-орієнтована архітектура.","\u002Fsoftware-engineering\u002Fmodelling-the-time-factor","09.software-engineering\u002F05.modelling-the-time-factor",{"title":3029,"path":3030,"stem":3031},"6. Архітектурні патерни","\u002Fsoftware-engineering\u002Farchitectural-patterns","09.software-engineering\u002F06.architectural-patterns",{"title":3033,"path":3034,"stem":3035},"Паттерни взаємодії","\u002Fsoftware-engineering\u002Fpatterns-of-interaction","09.software-engineering\u002F07.patterns-of-interaction",{"title":3037,"path":3038,"stem":3039},"Евристика проєктування","\u002Fsoftware-engineering\u002Fdesign-heuristics","09.software-engineering\u002F08.design-heuristics",{"title":3041,"path":3042,"stem":3043},"Еволюція проєктних рішень","\u002Fsoftware-engineering\u002Fevolution-of-design-solutions","09.software-engineering\u002F09.evolution-of-design-solutions",{"title":3045,"path":3046,"stem":3047},"EventStorming","\u002Fsoftware-engineering\u002Feventstorming","09.software-engineering\u002F10.eventstorming",{"title":3049,"path":3050,"stem":3051},"DDD на практиці","\u002Fsoftware-engineering\u002Fddd-in-practice","09.software-engineering\u002F11.ddd-in-practice",{"title":3053,"icon":943,"path":3054,"stem":3055,"children":3056,"page":59},"DDD","\u002Fddd","10.ddd",[3057,3061,3065,3069,3073,3077,3081,3085,3089,3093,3097,3101,3105],{"title":3058,"path":3059,"stem":3060},"Аналіз предметної області","\u002Fddd\u002Fdomain-analysis","10.ddd\u002F01.domain-analysis",{"title":3062,"path":3063,"stem":3064},"Експертні знання про предметну область","\u002Fddd\u002Fdomain-expert-knowledge","10.ddd\u002F02.domain-expert-knowledge",{"title":3066,"path":3067,"stem":3068},"Як осмислити складність предметної області","\u002Fddd\u002Fmanaging-domain-complexity","10.ddd\u002F03.managing-domain-complexity",{"title":3070,"path":3071,"stem":3072},"Інтеграція обмежених контекстів","\u002Fddd\u002Fbounded-context-integration","10.ddd\u002F04.bounded-context-integration",{"title":3074,"path":3075,"stem":3076},"Реалізація простої бізнес-логіки","\u002Fddd\u002Fsimple-business-logic","10.ddd\u002F05.simple-business-logic",{"title":3078,"path":3079,"stem":3080},"Обробка складної бізнес-логіки","\u002Fddd\u002Fcomplex-business-logic","10.ddd\u002F06.complex-business-logic",{"title":3082,"path":3083,"stem":3084},"Моделювання фактора часу","\u002Fddd\u002Ftime-modeling","10.ddd\u002F07.time-modeling",{"title":3086,"path":3087,"stem":3088},"Глава 8. Архітектурні Патерни","\u002Fddd\u002Farchitectural-patterns","10.ddd\u002F08.architectural-patterns",{"title":3090,"path":3091,"stem":3092},"Глава 9. Патерни Взаємодії","\u002Fddd\u002Finteraction-patterns","10.ddd\u002F09.interaction-patterns",{"title":3094,"path":3095,"stem":3096},"Глава 10. Проектні Евристики","\u002Fddd\u002Fdesign-heuristics","10.ddd\u002F10.design-heuristics",{"title":3098,"path":3099,"stem":3100},"Глава 11. Еволюція Проектних Рішень","\u002Fddd\u002Fevolution-of-design-decisions","10.ddd\u002F11.evolution-of-design-decisions",{"title":3102,"path":3103,"stem":3104},"Глава 12. EventStorming","\u002Fddd\u002Fevent-storming","10.ddd\u002F12.event-storming",{"title":3106,"path":3107,"stem":3108},"Глава 13. DDD на Практиці","\u002Fddd\u002Fddd-in-practice","10.ddd\u002F13.ddd-in-practice",{"title":3110,"icon":3111,"path":3112,"stem":3113,"children":3114,"page":59},"Media Streaming","i-lucide-video","\u002Fmedia-streaming","11.media-streaming",[3115,3119,3123,3127,3131,3135,3139],{"title":3116,"path":3117,"stem":3118},"01. Магія Стрімінгу: Що відбувається, коли ви натискаєте \"Play\"","\u002Fmedia-streaming\u002Fintroduction","11.media-streaming\u002F01.introduction",{"title":3120,"path":3121,"stem":3122},"02. Анатомія Медіа: Кодеки, Контейнери та Стиснення","\u002Fmedia-streaming\u002Faudio-video-anatomy","11.media-streaming\u002F02.audio-video-anatomy",{"title":3124,"path":3125,"stem":3126},"03. The Gym: FFmpeg Deep Dive","\u002Fmedia-streaming\u002Fffmpeg-gym","11.media-streaming\u002F03.ffmpeg-gym",{"title":3128,"path":3129,"stem":3130},"04. HLS Protocol: HTTP Live Streaming у Деталях","\u002Fmedia-streaming\u002Fhls-protocol","11.media-streaming\u002F04.hls-protocol",{"title":3132,"path":3133,"stem":3134},"05. DASH Protocol: Відкритий Стандарт","\u002Fmedia-streaming\u002Fdash-protocol","11.media-streaming\u002F05.dash-protocol",{"title":3136,"path":3137,"stem":3138},"06. Масштабування: CDN та Adaptive Bitrate","\u002Fmedia-streaming\u002Fcdn-and-adaptive-bitrate","11.media-streaming\u002F06.cdn-and-adaptive-bitrate",{"title":3140,"path":3141,"stem":3142},"07. Війна із Затримкою (Latency)","\u002Fmedia-streaming\u002Frealtime-latency","11.media-streaming\u002F07.realtime-latency",{"title":3144,"icon":3145,"path":3146,"stem":3147,"children":3148,"page":59},"HTML & CSS","i-devicon-html5","\u002Fhtml-css","12.html-css",[3149,3153,3157,3161,3165,3169,3173,3177,3181,3185,3189,3193,3197,3201,3205,3209,3213,3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3257,3261,3265],{"title":3150,"path":3151,"stem":3152},"Вступ до HTML. Структура документа","\u002Fhtml-css\u002Fintro-html-structure","12.html-css\u002F01.intro-html-structure",{"title":3154,"path":3155,"stem":3156},"Форматування тексту в HTML","\u002Fhtml-css\u002Fhtml-text-formatting","12.html-css\u002F02.html-text-formatting",{"title":3158,"path":3159,"stem":3160},"Посилання та зображення в HTML","\u002Fhtml-css\u002Fhtml-links-images","12.html-css\u002F03.html-links-images",{"title":3162,"path":3163,"stem":3164},"Списки та таблиці в HTML","\u002Fhtml-css\u002Fhtml-lists-tables","12.html-css\u002F04.html-lists-tables",{"title":3166,"path":3167,"stem":3168},"Форми в HTML","\u002Fhtml-css\u002Fhtml-forms","12.html-css\u002F05.html-forms",{"title":3170,"path":3171,"stem":3172},"Семантичні елементи HTML5","\u002Fhtml-css\u002Fhtml-semantic-elements","12.html-css\u002F06.html-semantic-elements",{"title":3174,"path":3175,"stem":3176},"Мультимедіа та розширені елементи HTML","\u002Fhtml-css\u002Fhtml-multimedia-advanced","12.html-css\u002F07.html-multimedia-advanced",{"title":3178,"path":3179,"stem":3180},"Мікророзмітка та SEO в HTML","\u002Fhtml-css\u002Fhtml-microdata-seo","12.html-css\u002F08.html-microdata-seo",{"title":3182,"path":3183,"stem":3184},"Вступ до CSS. Селектори та специфічність","\u002Fhtml-css\u002Fcss-intro-selectors","12.html-css\u002F09.css-intro-selectors",{"title":3186,"path":3187,"stem":3188},"Блокова модель CSS. Відступи. Box Sizing","\u002Fhtml-css\u002Fcss-box-model","12.html-css\u002F10.css-box-model",{"title":3190,"path":3191,"stem":3192},"Розміри у CSS: повний довідник одиниць і ключових слів","\u002Fhtml-css\u002F10a.css-sizing","12.html-css\u002F10a.css-sizing",{"title":3194,"path":3195,"stem":3196},"Типографіка в CSS. Шрифти та текст","\u002Fhtml-css\u002Fcss-typography","12.html-css\u002F11.css-typography",{"title":3198,"path":3199,"stem":3200},"Кольори та фони в CSS","\u002Fhtml-css\u002Fcss-colors-backgrounds","12.html-css\u002F12.css-colors-backgrounds",{"title":3202,"path":3203,"stem":3204},"Тіні та фільтри в CSS","\u002Fhtml-css\u002F12b.css-shadows-filters","12.html-css\u002F12b.css-shadows-filters",{"title":3206,"path":3207,"stem":3208},"CSS Flexbox: Фундамент гнучких макетів","\u002Fhtml-css\u002Fcss-flexbox-fundamentals","12.html-css\u002F13.css-flexbox-fundamentals",{"title":3210,"path":3211,"stem":3212},"CSS Flexbox: Вирівнювання та Позиціонування","\u002Fhtml-css\u002Fcss-flexbox-alignment-sizing-and-patterns","12.html-css\u002F14.css-flexbox-alignment-sizing-and-patterns",{"title":3214,"path":3215,"stem":3216},"CSS Grid. Двовимірний макет. Частина 1","\u002Fhtml-css\u002Fcss-layout-grid","12.html-css\u002F15.css-layout-grid",{"title":3218,"path":3219,"stem":3220},"CSS Grid. Двовимірний макет. Частина 2","\u002Fhtml-css\u002Fcss-layout-grid-advanced","12.html-css\u002F16.css-layout-grid-advanced",{"title":3222,"path":3223,"stem":3224},"Позиціонування в CSS. Z-index. Stacking Context","\u002Fhtml-css\u002Fcss-positioning","12.html-css\u002F17.css-positioning",{"title":3226,"path":3227,"stem":3228},"CSS Анімації та Переходи","\u002Fhtml-css\u002Fcss-animations-transitions","12.html-css\u002F18.css-animations-transitions",{"title":3230,"path":3231,"stem":3232},"Адаптивний дизайн. Media Queries. Частина 1","\u002Fhtml-css\u002Fcss-responsive-media-queries","12.html-css\u002F19.css-responsive-media-queries",{"title":3234,"path":3235,"stem":3236},"Адаптивний дизайн. Частина 2: clamp(), Container Queries, @layer","\u002Fhtml-css\u002Fcss-responsive-advanced","12.html-css\u002F20.css-responsive-advanced",{"title":3238,"path":3239,"stem":3240},"CSS Custom Properties. Методології. Сучасний CSS","\u002Fhtml-css\u002Fcss-variables-methodologies","12.html-css\u002F21.css-variables-methodologies",{"title":3242,"path":3243,"stem":3244},"Сучасний CSS 2023–2025: Нові можливості","\u002Fhtml-css\u002Fcss-modern-features","12.html-css\u002F22.css-modern-features",{"title":3246,"path":3247,"stem":3248},"CSS Nesting, @layer, @scope та @property: нативний препроцесор","\u002Fhtml-css\u002F22a.css-nesting-modern-syntax","12.html-css\u002F22a.css-nesting-modern-syntax",{"title":3250,"path":3251,"stem":3252},"CSS для форм та інтерактивних станів","\u002Fhtml-css\u002Fcss-forms-interactive-states","12.html-css\u002F23.css-forms-interactive-states",{"title":3254,"path":3255,"stem":3256},"Доступність у CSS (CSS Accessibility)","\u002Fhtml-css\u002Fcss-accessibility","12.html-css\u002F24.css-accessibility",{"title":3258,"path":3259,"stem":3260},"CSS-функції та сучасні sizing primitives","\u002Fhtml-css\u002Fcss-functions-sizing","12.html-css\u002F25.css-functions-sizing",{"title":3262,"path":3263,"stem":3264},"Rendering Pipeline і CSS Performance","\u002Fhtml-css\u002Fcss-rendering-performance","12.html-css\u002F26.css-rendering-performance",{"title":3266,"path":3267,"stem":3268},"CSS Best Practices: типові ситуації та правильні рішення","\u002Fhtml-css\u002Fcss-best-practices","12.html-css\u002F27.css-best-practices",{"title":3270,"path":3271,"stem":3272,"children":3273,"page":59},"AWS","\u002Faws","13.aws",[3274,3278,3282,3286,3290,3294,3298,3302,3306,3310,3314,3318,3322,3326,3330,3334,3338,3342],{"title":3275,"path":3276,"stem":3277},"Реєстрація AWS акаунту та студентські програми","\u002Faws\u002Faccount-registration","13.aws\u002F00.account-registration",{"title":3279,"path":3280,"stem":3281},"Вступ до хмарних обчислень та AWS","\u002Faws\u002Fintroduction-to-cloud","13.aws\u002F01.introduction-to-cloud",{"title":3283,"path":3284,"stem":3285},"AWS IAM — Identity and Access Management","\u002Faws\u002Fiam","13.aws\u002F02.iam",{"title":3287,"path":3288,"stem":3289},"AWS IAM CLI — Довідник команд","\u002Faws\u002F02a.iam-doc","13.aws\u002F02a.iam-doc",{"title":3291,"path":3292,"stem":3293},"Docker та контейнеризація в AWS — ECR, ECS та Fargate","\u002Faws\u002Fdocker-ecs","13.aws\u002F03.docker-ecs",{"title":3295,"path":3296,"stem":3297},"AWS ECR \u002F ECS CLI — Довідник команд","\u002Faws\u002F03a.docker-ecs-doc","13.aws\u002F03a.docker-ecs-doc",{"title":3299,"path":3300,"stem":3301},"Amazon EC2 — Elastic Compute Cloud","\u002Faws\u002Fec2","13.aws\u002F04.ec2",{"title":3303,"path":3304,"stem":3305},"AWS EC2 CLI — Довідник команд","\u002Faws\u002F04a.ec2-doc","13.aws\u002F04a.ec2-doc",{"title":3307,"path":3308,"stem":3309},"Elastic Load Balancing та Auto Scaling","\u002Faws\u002Falb-asg","13.aws\u002F05.alb-asg",{"title":3311,"path":3312,"stem":3313},"Amazon S3 — Simple Storage Service","\u002Faws\u002Fs3","13.aws\u002F06.s3",{"title":3315,"path":3316,"stem":3317},"Amazon CloudFront — Content Delivery Network","\u002Faws\u002Fcloudfront","13.aws\u002F07.cloudfront",{"title":3319,"path":3320,"stem":3321},"Amazon RDS — Relational Database Service","\u002Faws\u002Frds","13.aws\u002F08.rds",{"title":3323,"path":3324,"stem":3325},"Amazon DynamoDB — NoSQL Database","\u002Faws\u002Fdynamodb","13.aws\u002F09.dynamodb",{"title":3327,"path":3328,"stem":3329},"AWS Lambda та Serverless Compute","\u002Faws\u002Flambda","13.aws\u002F10.lambda",{"title":3331,"path":3332,"stem":3333},"Amazon Bedrock - Foundation Models, RAG та Agents","\u002Faws\u002Fbedrock","13.aws\u002F22.bedrock",{"title":3335,"path":3336,"stem":3337},"Amazon Rekognition - Комп'ютерний зір","\u002Faws\u002Frekognition","13.aws\u002F23.rekognition",{"title":3339,"path":3340,"stem":3341},"Amazon Textract - Інтелектуальний аналіз документів","\u002Faws\u002Ftextract","13.aws\u002F24.textract",{"title":3343,"path":3344,"stem":3345},"Amazon Polly, Transcribe, Comprehend та Translate","\u002Faws\u002Faudio-nlp-services","13.aws\u002F25.audio-nlp-services",{"title":3347,"path":3348,"stem":3349,"children":3350,"page":59},"Ai Development","\u002Fai-development","14.ai-development",[3351],{"title":3352,"path":3353,"stem":3354,"children":3355,"page":59},"Foundations","\u002Fai-development\u002Ffoundations","14.ai-development\u002F00.foundations",[3356],{"title":3357,"path":3358,"stem":3359},"Модуль 0.1. Що таке Large Language Model (LLM)","\u002Fai-development\u002Ffoundations\u002Fwhat-is-llm","14.ai-development\u002F00.foundations\u002F01.what-is-llm",{"title":3361,"path":3362,"stem":3363,"children":3364,"page":59},"React Native","\u002Freact-native","15.react-native",[3365,3386],{"title":3366,"path":3367,"stem":3368,"children":3369,"page":59},"Version1","\u002Freact-native\u002Fversion1","15.react-native\u002Fversion1",[3370,3374,3378,3382],{"title":3371,"path":3372,"stem":3373},"Що таке React Native","\u002Freact-native\u002Fversion1\u002Fwhat-is-react-native","15.react-native\u002Fversion1\u002F01.what-is-react-native",{"title":3375,"path":3376,"stem":3377},"Як влаштований React Native «під капотом»","\u002Freact-native\u002Fversion1\u002Freact-native-architecture","15.react-native\u002Fversion1\u002F02.react-native-architecture",{"title":3379,"path":3380,"stem":3381},"Від React до React Native: ключові відмінності","\u002Freact-native\u002Fversion1\u002Freact-native-vs-react","15.react-native\u002Fversion1\u002F03.react-native-vs-react",{"title":3383,"path":3384,"stem":3385},"View та Text — фундаментальні будівельні блоки","\u002Freact-native\u002Fversion1\u002Fview-and-text","15.react-native\u002Fversion1\u002F04.view-and-text",{"title":3387,"path":3388,"stem":3389,"children":3390,"page":59},"Version2","\u002Freact-native\u002Fversion2","15.react-native\u002Fversion2",[3391,3395,3399,3403,3407,3411,3415,3419,3423,3427,3431,3435,3439,3443,3447,3451,3455,3459,3463,3467,3471,3475,3479,3483,3487,3491],{"title":3392,"path":3393,"stem":3394},"React Native — навіщо він потрібен","\u002Freact-native\u002Fversion2\u002Fwhy-react-native","15.react-native\u002Fversion2\u002F01.why-react-native",{"title":3396,"path":3397,"stem":3398},"Налаштування середовища розробки","\u002Freact-native\u002Fversion2\u002Fenvironment-setup","15.react-native\u002Fversion2\u002F02.environment-setup",{"title":3400,"path":3401,"stem":3402},"Expo і класичний React Native — два шляхи одного фреймворку","\u002Freact-native\u002Fversion2\u002Fexpo-vs-cli-landscape","15.react-native\u002Fversion2\u002F03.expo-vs-cli-landscape",{"title":3404,"path":3405,"stem":3406},"Середовище Expo — перший запуск","\u002Freact-native\u002Fversion2\u002Fexpo-setup-and-tooling","15.react-native\u002Fversion2\u002F04.expo-setup-and-tooling",{"title":3408,"path":3409,"stem":3410},"Структура проєкту та перші UI-примітиви","\u002Freact-native\u002Fversion2\u002Fproject-structure-and-conventions","15.react-native\u002Fversion2\u002F05.project-structure-and-conventions",{"title":3412,"path":3413,"stem":3414},"Базові компоненти React Native","\u002Freact-native\u002Fversion2\u002Fcore-components","15.react-native\u002Fversion2\u002F06.core-components",{"title":3416,"path":3417,"stem":3418},"Flexbox і layout у React Native","\u002Freact-native\u002Fversion2\u002Fflexbox-and-layout","15.react-native\u002Fversion2\u002F07.flexbox-and-layout",{"title":3420,"path":3421,"stem":3422},"StyleSheet і теми (light \u002F dark)","\u002Freact-native\u002Fversion2\u002Fstylesheet-and-theming","15.react-native\u002Fversion2\u002F08.stylesheet-and-theming",{"title":3424,"path":3425,"stem":3426},"Списки та віртуалізація","\u002Freact-native\u002Fversion2\u002Flists-and-virtualization","15.react-native\u002Fversion2\u002F09.lists-and-virtualization",{"title":3428,"path":3429,"stem":3430},"Форми, ввід і валідація","\u002Freact-native\u002Fversion2\u002Fforms-input-validation","15.react-native\u002Fversion2\u002F10.forms-input-validation",{"title":3432,"path":3433,"stem":3434},"Основи Expo Router","\u002Freact-native\u002Fversion2\u002Fexpo-router-basics","15.react-native\u002Fversion2\u002F11.expo-router-basics",{"title":3436,"path":3437,"stem":3438},"Вкладені навігатори та модалки","\u002Freact-native\u002Fversion2\u002Fnested-navigators-and-modals","15.react-native\u002Fversion2\u002F12.nested-navigators-and-modals",{"title":3440,"path":3441,"stem":3442},"Deep linking і параметри маршрутів","\u002Freact-native\u002Fversion2\u002Fdeep-linking-and-params","15.react-native\u002Fversion2\u002F13.deep-linking-and-params",{"title":3444,"path":3445,"stem":3446},"Робота з мережею та життєвий цикл застосунку","\u002Freact-native\u002Fversion2\u002Fnetworking-and-app-lifecycle","15.react-native\u002Fversion2\u002F14.networking-and-app-lifecycle",{"title":3448,"path":3449,"stem":3450},"Redux Toolkit на мобільних платформах","\u002Freact-native\u002Fversion2\u002Fredux-toolkit-on-mobile","15.react-native\u002Fversion2\u002F15.redux-toolkit-on-mobile",{"title":3452,"path":3453,"stem":3454},"RTK Query на мобільних платформах","\u002Freact-native\u002Fversion2\u002Frtk-query-mobile","15.react-native\u002Fversion2\u002F16.rtk-query-mobile",{"title":3456,"path":3457,"stem":3458},"Автентифікація та Безпечне Зберігання","\u002Freact-native\u002Fversion2\u002Fauth-secure-storage","15.react-native\u002Fversion2\u002F18.auth-secure-storage",{"title":3460,"path":3461,"stem":3462},"Локальне сховище — AsyncStorage, MMKV, SQLite","\u002Freact-native\u002Fversion2\u002Flocal-storage-mmkv-sqlite","15.react-native\u002Fversion2\u002F19.local-storage-mmkv-sqlite",{"title":3464,"path":3465,"stem":3466},"Офлайн-First і синхронізація","\u002Freact-native\u002Fversion2\u002Foffline-first-sync","15.react-native\u002Fversion2\u002F20.offline-first-sync",{"title":3468,"path":3469,"stem":3470},"Камера, медіа та файлова система","\u002Freact-native\u002Fversion2\u002Fcamera-media-filesystem","15.react-native\u002Fversion2\u002F21.camera-media-filesystem",{"title":3472,"path":3473,"stem":3474},"Карти та геолокація","\u002Freact-native\u002Fversion2\u002Fmaps-and-location","15.react-native\u002Fversion2\u002F22.maps-and-location",{"title":3476,"path":3477,"stem":3478},"Жести та дотики","\u002Freact-native\u002Fversion2\u002Fgestures-and-touch","15.react-native\u002Fversion2\u002F23.gestures-and-touch",{"title":3480,"path":3481,"stem":3482},"Анімації з Reanimated","\u002Freact-native\u002Fversion2\u002Freanimated-animations","15.react-native\u002Fversion2\u002F24.reanimated-animations",{"title":3484,"path":3485,"stem":3486},"Push і локальні сповіщення","\u002Freact-native\u002Fversion2\u002Fpush-and-local-notifications","15.react-native\u002Fversion2\u002F25.push-and-local-notifications",{"title":3488,"path":3489,"stem":3490},"Доступність та інтернаціоналізація","\u002Freact-native\u002Fversion2\u002Faccessibility-and-i18n","15.react-native\u002Fversion2\u002F26.accessibility-and-i18n",{"title":3492,"path":3493,"stem":3494},"EAS Build та профілі збірки","\u002Freact-native\u002Fversion2\u002Feas-build-and-profiles","15.react-native\u002Fversion2\u002F29.eas-build-and-profiles",{"title":3496,"path":3497,"stem":3498,"children":3499,"page":59},"Ai Python","\u002Fai-python","16.ai-python",[3500,3504,3508],{"title":3501,"path":3502,"stem":3503},"Вступ до штучного інтелекту та машинного навчання","\u002Fai-python\u002Fintro-to-ai","16.ai-python\u002F01.intro-to-ai",{"title":3505,"path":3506,"stem":3507},"Знайомство з Jupyter Notebook та JupyterLab","\u002Fai-python\u002Fjupyter-notebook","16.ai-python\u002F02.jupyter-notebook",{"title":3509,"path":3510,"stem":3511},"Робота з даними з використанням NumPy і pandas","\u002Fai-python\u002Fnumpy-pandas","16.ai-python\u002F03.numpy-pandas",{"title":3513,"icon":658,"path":3514,"stem":3515,"children":3516,"page":59},"Клієнт-серверна архітектура","\u002Fclient-server-architecture","17.client-server-architecture",[3517,3521],{"title":3518,"path":3519,"stem":3520},"Архітектура клієнт-серверних систем та основи Go","\u002Fclient-server-architecture\u002Fclient-server-architecture-and-go","17.client-server-architecture\u002F01.client-server-architecture-and-go",{"title":3522,"path":3523,"stem":3524},"Система типів та модель пам’яті мови Go","\u002Fclient-server-architecture\u002Ftype-system-and-memory-model","17.client-server-architecture\u002F02.type-system-and-memory-model",{"title":3526,"icon":1946,"path":3527,"stem":3528,"children":3529,"page":59},"Розробка WEB-застосувань","\u002Fweb-development","18.web-development",[3530,3575,3613,3642],{"title":3531,"icon":658,"path":3532,"stem":3533,"children":3534,"page":59},"Архітектура комп'ютерних мереж та мережеві протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols","18.web-development\u002F01.network-architecture-and-protocols",[3535,3539,3543,3547,3551,3555,3559,3563,3567,3571],{"title":3536,"path":3537,"stem":3538},"Еволюція веброзробки та модель клієнт-сервер","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fweb-evolution-client-server","18.web-development\u002F01.network-architecture-and-protocols\u002F01.web-evolution-client-server",{"title":3540,"path":3541,"stem":3542},"Еталонна модель OSI","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fosi-model","18.web-development\u002F01.network-architecture-and-protocols\u002F02.osi-model",{"title":3544,"path":3545,"stem":3546},"Стек протоколів TCP\u002FIP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-ip-stack","18.web-development\u002F01.network-architecture-and-protocols\u002F03.tcp-ip-stack",{"title":3548,"path":3549,"stem":3550},"IP-адресація, порти та сокети","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fip-addressing-ports-sockets","18.web-development\u002F01.network-architecture-and-protocols\u002F04.ip-addressing-ports-sockets",{"title":3552,"path":3553,"stem":3554},"Протоколи TCP та UDP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-udp-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F05.tcp-udp-protocols",{"title":3556,"path":3557,"stem":3558},"Система доменних імен DNS","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fdns-system","18.web-development\u002F01.network-architecture-and-protocols\u002F06.dns-system",{"title":3560,"path":3561,"stem":3562},"Протокол SMTP та поштові протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fsmtp-email-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F07.smtp-email-protocols",{"title":3564,"path":3565,"stem":3566},"Протокол WebSocket","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fwebsocket-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F08.websocket-protocol",{"title":3568,"path":3569,"stem":3570},"Протокол SSH","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fssh-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F09.ssh-protocol",{"title":3572,"path":3573,"stem":3574},"Огляд сучасних серверних технологій","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fmodern-backend-technologies","18.web-development\u002F01.network-architecture-and-protocols\u002F10.modern-backend-technologies",{"title":3576,"icon":3577,"path":3578,"stem":3579,"children":3580,"page":59},"Протокол HTTP та захищена передача даних HTTPS","i-lucide-lock","\u002Fweb-development\u002Fhttp-and-https","18.web-development\u002F02.http-and-https",[3581,3585,3589,3593,3597,3601,3605,3609],{"title":3582,"path":3583,"stem":3584},"Вступ до протоколу HTTP та еволюція веб-технологій","\u002Fweb-development\u002Fhttp-and-https\u002Fintroduction-and-evolution","18.web-development\u002F02.http-and-https\u002F01.introduction-and-evolution",{"title":3586,"path":3587,"stem":3588},"Анатомія HTTP-запиту","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-request-structure","18.web-development\u002F02.http-and-https\u002F02.http-request-structure",{"title":3590,"path":3591,"stem":3592},"Анатомія HTTP-відповіді","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-response-structure","18.web-development\u002F02.http-and-https\u002F03.http-response-structure",{"title":3594,"path":3595,"stem":3596},"Методи HTTP та їхня семантика","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-methods","18.web-development\u002F02.http-and-https\u002F04.http-methods",{"title":3598,"path":3599,"stem":3600},"Коди статусу HTTP та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-status-codes","18.web-development\u002F02.http-and-https\u002F05.http-status-codes",{"title":3602,"path":3603,"stem":3604},"HTTP-заголовки та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-headers","18.web-development\u002F02.http-and-https\u002F06.http-headers",{"title":3606,"path":3607,"stem":3608},"CORS та механізми безпеки HTTP","\u002Fweb-development\u002Fhttp-and-https\u002Fcors-and-security","18.web-development\u002F02.http-and-https\u002F07.cors-and-security",{"title":3610,"path":3611,"stem":3612},"HTTPS та криптографічні основи TLS","\u002Fweb-development\u002Fhttp-and-https\u002Fhttps-and-tls","18.web-development\u002F02.http-and-https\u002F08.https-and-tls",{"title":3614,"icon":2326,"path":3615,"stem":3616,"children":3617,"page":59},"Система типів мови TypeScript","\u002Fweb-development\u002Ftypescript-type-system","18.web-development\u002F03.typescript-type-system",[3618,3622,3626,3630,3634,3638],{"title":3619,"path":3620,"stem":3621},"Знайомство з TypeScript Compiler","\u002Fweb-development\u002Ftypescript-type-system\u002Fintroduction-compiler-config","18.web-development\u002F03.typescript-type-system\u002F01.introduction-compiler-config",{"title":3623,"path":3624,"stem":3625},"Примітивні типи даних: string, number, boolean","\u002Fweb-development\u002Ftypescript-type-system\u002Fprimitive-special-types","18.web-development\u002F03.typescript-type-system\u002F02.primitive-special-types",{"title":3627,"path":3628,"stem":3629},"Масиви, кортежі та об","\u002Fweb-development\u002Ftypescript-type-system\u002Farrays-tuples-objects","18.web-development\u002F03.typescript-type-system\u002F03.arrays-tuples-objects",{"title":3631,"path":3632,"stem":3633},"Union типи, Intersection типи та літеральні типи","\u002Fweb-development\u002Ftypescript-type-system\u002Funion-intersection-literals","18.web-development\u002F03.typescript-type-system\u002F04.union-intersection-literals",{"title":3635,"path":3636,"stem":3637},"Type Narrowing (звуження типів)","\u002Fweb-development\u002Ftypescript-type-system\u002Ftype-narrowing","18.web-development\u002F03.typescript-type-system\u002F05.type-narrowing",{"title":3639,"path":3640,"stem":3641},"Типізація функцій","\u002Fweb-development\u002Ftypescript-type-system\u002Ffunctions-typing","18.web-development\u002F03.typescript-type-system\u002F06.functions-typing",{"title":3643,"icon":2326,"path":3644,"stem":3645,"children":3646,"page":59},"Розширені засоби мови TypeScript","\u002Fweb-development\u002Ftypescript-advanced","18.web-development\u002F04.typescript-advanced",[3647,3651,3655,3659,3663,3667],{"title":3648,"path":3649,"stem":3650},"Interfaces та Classes","\u002Fweb-development\u002Ftypescript-advanced\u002Finterfaces-classes","18.web-development\u002F04.typescript-advanced\u002F01.interfaces-classes",{"title":3652,"path":3653,"stem":3654},"Основи Generic типів","\u002Fweb-development\u002Ftypescript-advanced\u002Fgenerics-fundamentals","18.web-development\u002F04.typescript-advanced\u002F02.generics-fundamentals",{"title":3656,"path":3657,"stem":3658},"Enums та Decorators","\u002Fweb-development\u002Ftypescript-advanced\u002Fenums-decorators","18.web-development\u002F04.typescript-advanced\u002F03.enums-decorators",{"title":3660,"path":3661,"stem":3662},"Utility Types","\u002Fweb-development\u002Ftypescript-advanced\u002Futility-types","18.web-development\u002F04.typescript-advanced\u002F04.utility-types",{"title":3664,"path":3665,"stem":3666},"Mapped та Conditional Types","\u002Fweb-development\u002Ftypescript-advanced\u002Fmapped-conditional-types","18.web-development\u002F04.typescript-advanced\u002F05.mapped-conditional-types",{"title":3668,"path":3669,"stem":3670},"Модулі та Strict Mode","\u002Fweb-development\u002Ftypescript-advanced\u002Fmodules-strict-mode","18.web-development\u002F04.typescript-advanced\u002F06.modules-strict-mode",{"title":3672,"path":3673,"stem":3674,"children":3675,"page":59},"Tailwind","\u002Ftailwind","21.tailwind",[3676,3680,3684,3688,3692,3696,3700,3704,3708,3712,3716,3720],{"title":3677,"path":3678,"stem":3679},"Що таке Tailwind CSS і навіщо він потрібен","\u002Ftailwind\u002Ftailwind-intro-philosophy","21.tailwind\u002F01.tailwind-intro-philosophy",{"title":3681,"path":3682,"stem":3683},"Встановлення та налаштування Tailwind CSS v4","\u002Ftailwind\u002Ftailwind-installation-setup","21.tailwind\u002F02.tailwind-installation-setup",{"title":3685,"path":3686,"stem":3687},"Utility-класи: основи та система Tailwind","\u002Ftailwind\u002Ftailwind-utility-classes-core","21.tailwind\u002F03.tailwind-utility-classes-core",{"title":3689,"path":3690,"stem":3691},"Layout: Flexbox та Grid через Tailwind","\u002Ftailwind\u002Ftailwind-flexbox-grid","21.tailwind\u002F04.tailwind-flexbox-grid",{"title":3693,"path":3694,"stem":3695},"Кастомізація теми через @theme у Tailwind v4","\u002Ftailwind\u002Ftailwind-theme-customization","21.tailwind\u002F05.tailwind-theme-customization",{"title":3697,"path":3698,"stem":3699},"Варіанти: hover, focus, responsive, dark mode та нові v4","\u002Ftailwind\u002Ftailwind-variants-states","21.tailwind\u002F06.tailwind-variants-states",{"title":3701,"path":3702,"stem":3703},"Типографіка та система кольорів у Tailwind v4","\u002Ftailwind\u002Ftailwind-typography-colors","21.tailwind\u002F07.tailwind-typography-colors",{"title":3705,"path":3706,"stem":3707},"Компоненти та повторюваність: @apply, @utility та патерни","\u002Ftailwind\u002Ftailwind-components-patterns","21.tailwind\u002F08.tailwind-components-patterns",{"title":3709,"path":3710,"stem":3711},"Темна тема та система дизайн-токенів у Tailwind v4","\u002Ftailwind\u002Ftailwind-dark-mode-theming","21.tailwind\u002F09.tailwind-dark-mode-theming",{"title":3713,"path":3714,"stem":3715},"Довільні значення та контейнерні запити у Tailwind v4","\u002Ftailwind\u002Ftailwind-arbitrary-container-queries","21.tailwind\u002F10.tailwind-arbitrary-container-queries",{"title":3717,"path":3718,"stem":3719},"Анімації, трансформації та 3D у Tailwind v4","\u002Ftailwind\u002Ftailwind-animations-transforms","21.tailwind\u002F11.tailwind-animations-transforms",{"title":3721,"path":3722,"stem":3723},"Tailwind CLI, PostCSS та інтеграція з фреймворками","\u002Ftailwind\u002Ftailwind-cli-tooling","21.tailwind\u002F12.tailwind-cli-tooling",{"title":3725,"path":3726,"stem":3727},"Тестування компонентів діаграм","\u002Ftest-components","98.test-components",{"id":3729,"title":3428,"body":3730,"description":48258,"extension":24306,"links":48259,"meta":48260,"navigation":4643,"path":3429,"seo":48261,"stem":3430,"__hash__":48262},"docs\u002F15.react-native\u002Fversion2\u002F10.forms-input-validation.md",{"type":3731,"value":3732,"toc":48127},"minimark",[3733,3738,3742,3750,3791,3796,3880,3883,3887,3890,3900,3904,4039,4041,4045,4048,4054,4058,4143,4151,4184,4188,4204,4207,4255,4266,4272,4288,4290,4294,4300,4307,4310,4314,4317,4473,4482,4486,4506,4508,4514,4522,4550,4564,4568,5059,5062,5094,5100,5356,5358,5362,5369,5747,5749,5753,6923,6925,6934,6948,6955,6966,6972,6979,7023,7528,7537,7625,8203,8205,8211,8238,8242,8306,8310,8761,8766,8821,8825,9483,9485,9491,9502,9512,9516,9610,9613,9954,9959,10010,10020,10023,10154,10171,10173,10179,10190,10197,10200,10277,10281,10295,10298,10786,10791,10864,10866,10872,10883,10893,10896,10973,10982,11012,11015,11577,11581,11622,11626,11632,11792,11794,11800,11817,11824,11827,11904,11908,12070,12074,12095,12097,12101,12107,12113,12117,12143,12147,12150,12156,12252,12259,12261,12265,12268,12274,12278,12313,12320,12322,12326,12332,12364,12373,12379,12381,12385,12388,12408,12507,12509,12513,12518,12521,12581,12584,12854,12871,12873,12883,12886,12921,12935,12940,12982,12989,12997,13012,13241,13247,13296,13301,13332,13334,13340,13346,13970,13972,13976,13982,13986,14104,14111,14292,14296,14386,14392,14512,14514,14520,14623,14630,14634,16795,16797,16801,16985,16987,16991,16995,17010,17013,17027,17031,17121,17134,17138,17144,17148,17269,17276,17285,21966,21970,22037,22041,22061,22065,22115,22126,22128,22132,22139,22143,22157,22163,22167,22172,22201,22206,22303,22320,22343,22347,22389,22393,44807,44811,44831,44835,44909,44915,44919,44926,47897,47899,47903,47907,47935,47939,47955,47959,47982,47984,47988,48040,48042,48046,48075,48124],[3734,3735,3737],"h2",{"id":3736},"вступ-особливості-форм-та-вводу-на-мобільних-пристроях","Вступ: особливості форм та вводу на мобільних пристроях",[3739,3740,3741],"p",{},"Форма у мобільному застосунку — це головний спосіб взаємодії користувача з додатком. На відміну від веб-інтерфейсів, де користувач оперує повнорозмірною фізичною клавіатурою, високоточним курсором миші та великою площею дисплея, мобільні форми функціонують в умовах обмеженого простору та сенсорного вводу.",[3739,3743,3744,3745,3749],{},"Мобільне введення даних підпорядковується базовим принципам людино-машинної взаємодії (",[3746,3747,3748],"strong",{},"Human-Computer Interaction, HCI","):",[3751,3752,3753,3770,3781],"ol",{},[3754,3755,3756,3759,3760,3765,3766,3769],"li",{},[3746,3757,3758],{},"Закон Фіттса (Fitts's Law):"," час, необхідний для точного позиціонування пальця на елементі керування, є функцією відстані до цілі та її геометричного розміру (",[3761,3762],"math-formula",{":inline":3763,"tex":3764},"true","T = a + b \\log_2(1 + D\u002FW)","). Інтерфейсні елементи на сенсорному екрані повинні мати мінімальну фізичну площу детекції дотику (",[3746,3767,3768],{},"Touch Target Size",") не менше 44×44 pt на iOS та 48×48 dp на Android.",[3754,3771,3772,3775,3776,3780],{},[3746,3773,3774],{},"Перекриття клавіатурою (Keyboard Occlusion):"," поява віртуальної клавіатури (",[3777,3778,3779],"em",{},"Soft Keyboard",") миттєво скорочує корисну площу вікна перегляду на 40–55%, фізично перекриваючи елементи введення та кнопки завершення дії.",[3754,3782,3783,3786,3787,3790],{},[3746,3784,3785],{},"Когнітивне навантаження та ціна помилки:"," відсутність тактильного відгуку фізичних клавіш суттєво підвищує ймовірність помилок друку (",[3777,3788,3789],{},"typos","). Ефективна форма мінімізує відкритий текстовий ввід на користь вибору з готових списків, перемикачів і вибору дати.",[3792,3793,3795],"h3",{"id":3794},"навчальні-цілі-розділу","Навчальні цілі розділу:",[3797,3798,3799,3823,3834,3844,3858],"ul",{},[3754,3800,3801,3802,3806,3807,3806,3810,3806,3813,3806,3816,3806,3819,3822],{},"Розібрати основні нативні контроли введення React Native (",[3803,3804,3805],"code",{},"TextInput",", ",[3803,3808,3809],{},"Switch",[3803,3811,3812],{},"Checkbox",[3803,3814,3815],{},"Slider",[3803,3817,3818],{},"Picker",[3803,3820,3821],{},"DateTimePicker",") та навчитися обирати правильний елемент під конкретний тип даних.",[3754,3824,3825,3826,3829,3830,3833],{},"Зрозуміти архітектурні відмінності між подієвою моделлю Web DOM та нативними віджетами операційної системи (iOS ",[3803,3827,3828],{},"UITextField"," \u002F Android ",[3803,3831,3832],{},"EditText",").",[3754,3835,3836,3837,3840,3841,3833],{},"Зрозуміти, як працюють ",[3746,3838,3839],{},"контрольовані компоненти (Controlled Components)",": двостороннє зв'язування, життєвий цикл синхронізації та усунення стану «залипання» (",[3777,3842,3843],{},"Input Freezing",[3754,3845,3846,3847,3850,3851,3850,3854,3857],{},"Налаштувати надійне запобігання перекриттю форми клавіатурою за допомогою зв'язки ",[3803,3848,3849],{},"KeyboardAvoidingView"," + ",[3803,3852,3853],{},"ScrollView",[3803,3855,3856],{},"keyboardShouldPersistTaps=\"handled\"",".",[3754,3859,3860,3861,3864,3865,3868,3869,3872,3873,3876,3877,3857],{},"Побудувати надійну систему валідації на базі ",[3746,3862,3863],{},"React Hook Form"," та схем ",[3746,3866,3867],{},"Zod"," через адаптер ",[3803,3870,3871],{},"@hookform\u002Fresolvers\u002Fzod"," з підтримкою режимів ",[3803,3874,3875],{},"mode: 'onSubmit'"," та ",[3803,3878,3879],{},"reValidateMode: 'onChange'",[3881,3882],"hr",{},[3734,3884,3886],{"id":3885},"огляд-та-класифікація-контролів-введення","Огляд та класифікація контролів введення",[3739,3888,3889],{},"Форми у мобільних додатках складаються з різних елементів керування, кожен з яких оптимізований під конкретний тип даних:",[3891,3892,3897],"pre",{"className":3893,"code":3895,"language":3896},[3894],"language-text","+-------------------------------------------------------------------------+\n|                  КЛАСИФІКАЦІЯ КОНТРОЛІВ REACT NATIVE                    |\n+-------------------------------------------------------------------------+\n|  Тип даних               | Нативний компонент   | Платформова реалізація|\n+--------------------------+----------------------+-----------------------+\n|  Вільний текст           | TextInput            | UITextField \u002F EditText|\n|  Бінарний перемикач      | Switch               | UISwitch \u002F Switch     |\n|  Логічна згода           | Checkbox (Community) | Checkbox \u002F Custom SVG |\n|  Неперервний діапазон    | Slider (Community)   | UISlider \u002F SeekBar    |\n|  Дискретний список (1..N)| Picker (Community)   | UIPicker \u002F Spinner    |\n|  Календарна дата \u002F час   | DateTimePicker (Comm)| UIDatePicker \u002F Dialog |\n+-------------------------------------------------------------------------+\n","text",[3803,3898,3895],{"__ignoreMap":3899},"",[3792,3901,3903],{"id":3902},"порівняльна-матриця-вибору-контролів","Порівняльна матриця вибору контролів",[3905,3906,3907,3927],"table",{},[3908,3909,3910],"thead",{},[3911,3912,3913,3918,3921,3924],"tr",{},[3914,3915,3917],"th",{"align":3916},"left","Тип даних",[3914,3919,3920],{"align":3916},"Рекомендований контроль",[3914,3922,3923],{"align":3916},"Альтернатива (Антипатерн)",[3914,3925,3926],{"align":3916},"Чому це критично для UX",[3928,3929,3930,3951,3968,3986,4005,4022],"tbody",{},[3911,3931,3932,3938,3942,3948],{},[3933,3934,3935],"td",{"align":3916},[3746,3936,3937],{},"Довільний текст (Email, Ім'я)",[3933,3939,3940],{"align":3916},[3803,3941,3805],{},[3933,3943,3944,3945],{"align":3916},"Спроба створити псевдо-інпут на ",[3803,3946,3947],{},"Pressable",[3933,3949,3950],{"align":3916},"Доступ до системної клавіатури, буфера обміну, автозаповнення та предиктивного тексту.",[3911,3952,3953,3958,3962,3965],{},[3933,3954,3955],{"align":3916},[3746,3956,3957],{},"Бінарне налаштування (Так\u002FНі)",[3933,3959,3960],{"align":3916},[3803,3961,3809],{},[3933,3963,3964],{"align":3916},"Текстове поле «напишіть так\u002Fні»",[3933,3966,3967],{"align":3916},"Миттєва зміна стану одним рухом без виклику клавіатури.",[3911,3969,3970,3975,3979,3983],{},[3933,3971,3972],{"align":3916},[3746,3973,3974],{},"Юридична згода (GDPR)",[3933,3976,3977],{"align":3916},[3803,3978,3812],{},[3933,3980,3981],{"align":3916},[3803,3982,3809],{},[3933,3984,3985],{"align":3916},"Чекбокс асоціюється з підписанням умов договору; вимагає явної фіксації згоди.",[3911,3987,3988,3993,3997,4002],{},[3933,3989,3990],{"align":3916},[3746,3991,3992],{},"Орієнтовне число (1–14 днів)",[3933,3994,3995],{"align":3916},[3803,3996,3815],{},[3933,3998,3999,4000],{"align":3916},"Вільний числовий ",[3803,4001,3805],{},[3933,4003,4004],{"align":3916},"Запобігає введенню від'ємних чисел, літер та дробових значень; наочно візуалізує масштаб.",[3911,4006,4007,4012,4016,4019],{},[3933,4008,4009],{"align":3916},[3746,4010,4011],{},"Фіксований набір (3–10 опцій)",[3933,4013,4014],{"align":3916},[3803,4015,3818],{},[3933,4017,4018],{"align":3916},"Текстове поле для назви регіону",[3933,4020,4021],{"align":3916},"Повністю виключає одруківки, різні регістри та невалідні значення в базі даних.",[3911,4023,4024,4029,4033,4036],{},[3933,4025,4026],{"align":3916},[3746,4027,4028],{},"Календарна дата",[3933,4030,4031],{"align":3916},[3803,4032,3821],{},[3933,4034,4035],{"align":3916},"Текстове поле «ДД.ММ.РРРР»",[3933,4037,4038],{"align":3916},"Захищає від неіснуючих дат (наприклад, 31 лютого), вирішує конфлікти локальних форматів.",[3881,4040],{},[3734,4042,4044],{"id":4043},"архітектурне-порівняння-web-react-проти-react-native","Архітектурне порівняння: Web React проти React Native",[3739,4046,4047],{},"Розробники з досвідом у веб-розробці часто припускаються системних помилок, переносячи браузерні ментальні моделі в мобільне середовище.",[3891,4049,4052],{"className":4050,"code":4051,"language":3896},[3894],"       ВЕБ-АРХІТЕКТУРА (DOM)                     REACT NATIVE (NATIVE VIEWS)\n+---------------------------------+       +---------------------------------------+\n|  \u003Cform onSubmit={...}>          |       |  \u003CView> (Контейнер без форми)         |\n|    \u003Cinput type=\"email\" \u002F>       |  vs   |    \u003CTextInput keyboardType=\"email\" \u002F> |\n|    \u003Cbutton type=\"submit\" \u002F>     |       |    \u003CPressable onPress={handleSubmit}> |\n|  \u003C\u002Fform>                        |       |  \u003C\u002FView>                              |\n+---------------------------------+       +---------------------------------------+\n| • Події спливають (Bubbling)    |       | • Немає спливання подій               |\n| • Синтетичний event.target.value|       | • onChangeText передає чистий рядок   |\n| • Неконтрольовані ref у RHF     |       | • RHF вимагає Controller              |\n+---------------------------------+       +---------------------------------------+\n",[3803,4053,4051],{"__ignoreMap":3899},[3792,4055,4057],{"id":4056},"_1-текстовий-ввід-та-модель-подій","1. Текстовий ввід та модель подій",[3797,4059,4060,4097],{},[3754,4061,4062,4065,4066,3876,4069,4072,4073,4076,4077,4080,4081,4084,4085,3806,4087,3806,4090,3806,4093,4096],{},[3746,4063,4064],{},"Web:"," елементи ",[3803,4067,4068],{},"\u003Cinput>",[3803,4070,4071],{},"\u003Ctextarea>"," породжують синтетичні події ",[3803,4074,4075],{},"onChange",", де нове значення витягується через ",[3803,4078,4079],{},"event.target.value",". Спеціалізація поля задається єдиним атрибутом ",[3803,4082,4083],{},"type"," (",[3803,4086,3896],{},[3803,4088,4089],{},"password",[3803,4091,4092],{},"email",[3803,4094,4095],{},"number","), який одночасно керує валідацією, відображенням та поведінкою браузера.",[3754,4098,4099,4102,4103,4105,4106,4108,4109,4111,4112,4117,4118,4121,4122,4124,4125,4128,4129,4132,4133,4136,4137,3876,4140,3857],{},[3746,4100,4101],{},"React Native:"," компонент ",[3803,4104,3805],{}," не є DOM-вузлом. Це декларативна обгортка над нативним ",[3803,4107,3828],{}," в iOS або ",[3803,4110,3832],{}," в Android. Колбек ",[3746,4113,4114],{},[3803,4115,4116],{},"onChangeText"," одразу передає готовий нормалізований рядок ",[3803,4119,4120],{},"(text: string) => void",". Атрибут ",[3803,4123,4083],{}," відсутній — поведінка налаштовується окремими параметрами: ",[3803,4126,4127],{},"keyboardType"," (тип клавіатури), ",[3803,4130,4131],{},"secureTextEntry"," (маскування), ",[3803,4134,4135],{},"multiline"," (багаторядковість), ",[3803,4138,4139],{},"autoCapitalize",[3803,4141,4142],{},"autoCorrect",[3792,4144,4146,4147,4150],{"id":4145},"_2-відсутність-контейнера-form-та-механізму-submit","2. Відсутність контейнера ",[3803,4148,4149],{},"\u003Cform>"," та механізму Submit",[3797,4152,4153,4165],{},[3754,4154,4155,4157,4158,4160,4161,4164],{},[3746,4156,4064],{}," тег ",[3803,4159,4149],{}," реалізує вбудовану подію ",[3803,4162,4163],{},"submit",", яка автоматично перехоплює натискання клавіші Enter на будь-якому вкладеному інпуті та ініціює валідацію або надсилання даних.",[3754,4166,4167,4169,4170,4173,4174,4177,4178,4181,4182,3857],{},[3746,4168,4101],{}," концепція HTML-форми відсутня. Немає автоматичного спливання подій (Event Bubbling) до спільного батьківського контейнера. Запуск валідації та відправка форми завжди є ",[3746,4171,4172],{},"явною процедурою",": виклик функції ",[3803,4175,4176],{},"handleSubmit"," у властивості ",[3803,4179,4180],{},"onPress"," кастомної кнопки ",[3803,4183,3947],{},[3792,4185,4187],{"id":4186},"_3-екосистема-компонентів-core-проти-community-packages","3. Екосистема компонентів: Core проти Community Packages",[3739,4189,4190,4191,3806,4194,3806,4197,3806,4200,4203],{},"У браузері всі базові контроли (",[3803,4192,4193],{},"\u003Cselect>",[3803,4195,4196],{},"\u003Cinput type=\"checkbox\">",[3803,4198,4199],{},"\u003Cinput type=\"range\">",[3803,4201,4202],{},"\u003Cinput type=\"date\">",") вбудовані в HTML5-стандарт.",[3739,4205,4206],{},"У React Native базове ядро навмисно полегшене (Lean Core initiative):",[3797,4208,4209,4220,4248],{},[3754,4210,4211,4212,4215,4216,3876,4218,3857],{},"У ядрі ",[3803,4213,4214],{},"react-native"," збережено лише ",[3803,4217,3805],{},[3803,4219,3809],{},[3754,4221,4222,4223,3806,4225,3806,4227,3806,4229,4231,4232,4235,4236,3806,4239,3806,4242,3806,4245,3857],{},"Контроли ",[3803,4224,3818],{},[3803,4226,3815],{},[3803,4228,3812],{},[3803,4230,3821],{}," винесені в офіційно підтримувані пакети спільноти (",[3746,4233,4234],{},"Community Packages","): ",[3803,4237,4238],{},"@react-native-picker\u002Fpicker",[3803,4240,4241],{},"@react-native-community\u002Fslider",[3803,4243,4244],{},"@react-native-community\u002Fdatetimepicker",[3803,4246,4247],{},"@react-native-community\u002Fcheckbox",[3754,4249,4250,4251,4254],{},"Встановлення таких модулів здійснюється строго через менеджер пакетів Expo: ",[3803,4252,4253],{},"npx expo install \u003Cpackage-name>",", що гарантує сумісність нативних бінарних залежностей із поточною версією Expo SDK.",[3792,4256,4258,4259,4262,4263],{"id":4257},"_4-привязка-полів-у-react-hook-form-register-проти-controller","4. Прив'язка полів у React Hook Form: ",[3803,4260,4261],{},"register"," проти ",[3803,4264,4265],{},"Controller",[3739,4267,4268,4269,3857],{},"У веб-додатках бібліотека React Hook Form спирається на неконтрольовані DOM-інпути через прямий доступ до рефів: ",[3803,4270,4271],{},"\u003Cinput {...register('email')} \u002F>",[3739,4273,4274,4275,4279,4280,3806,4283,3806,4285,3833],{},"У React Native прямий доступ до DOM-рефів неможливий через ізоляцію нативних шарів. Єдиним архітектурно коректним способом інтеграції є компонент ",[3746,4276,4277],{},[3803,4278,4265],{},", який транслює внутрішній стан RHF у явні пропси контрольованого компонента (",[3803,4281,4282],{},"value",[3803,4284,4075],{},[3803,4286,4287],{},"onBlur",[3881,4289],{},[3734,4291,4293],{"id":4292},"теорія-контрольованих-значень-controlled-components","Теорія контрольованих значень (Controlled Components)",[3739,4295,4296,4297,3857],{},"У декларативній моделі React Native базовим патерном роботи з формами є ",[3746,4298,4299],{},"контрольований компонент (Controlled Component)",[3739,4301,4302,4303,4306],{},"Контрольованим називається компонент, відображення якого повністю визначається станом React (",[3777,4304,4305],{},"Single Source of Truth","), а будь-яка спроба користувача змінити цей стан ініціює подію зворотного виклику:",[3761,4308,4309],{},"\\text{State } S \\xrightarrow{\\quad\\text{render}\\quad} \\text{UI View } (value = S) \\xrightarrow{\\quad\\text{user touch}\\quad} \\text{Event } (onChangeText(S')) \\xrightarrow{\\quad\\text{setState}\\quad} S'",[3792,4311,4313],{"id":4312},"універсальна-матриця-звязування-контролів","Універсальна матриця зв'язування контролів",[3739,4315,4316],{},"Кожен контроль у React Native реалізує цей двосторонній контракт через відповідну пару пропсів:",[3905,4318,4319,4335],{},[3908,4320,4321],{},[3911,4322,4323,4326,4329,4332],{},[3914,4324,4325],{"align":3916},"Контрол",[3914,4327,4328],{"align":3916},"Тип значення (State Type)",[3914,4330,4331],{"align":3916},"Проп передачі значення (Value Prop)",[3914,4333,4334],{"align":3916},"Проп підписки на зміну (Change Event Prop)",[3928,4336,4337,4360,4383,4405,4427,4450],{},[3911,4338,4339,4345,4350,4355],{},[3933,4340,4341],{"align":3916},[3746,4342,4343],{},[3803,4344,3805],{},[3933,4346,4347],{"align":3916},[3803,4348,4349],{},"string",[3933,4351,4352],{"align":3916},[3803,4353,4354],{},"value={text}",[3933,4356,4357],{"align":3916},[3803,4358,4359],{},"onChangeText={(text) => setText(text)}",[3911,4361,4362,4368,4373,4378],{},[3933,4363,4364],{"align":3916},[3746,4365,4366],{},[3803,4367,3809],{},[3933,4369,4370],{"align":3916},[3803,4371,4372],{},"boolean",[3933,4374,4375],{"align":3916},[3803,4376,4377],{},"value={isEnabled}",[3933,4379,4380],{"align":3916},[3803,4381,4382],{},"onValueChange={(bool) => setIsEnabled(bool)}",[3911,4384,4385,4391,4395,4400],{},[3933,4386,4387],{"align":3916},[3746,4388,4389],{},[3803,4390,3812],{},[3933,4392,4393],{"align":3916},[3803,4394,4372],{},[3933,4396,4397],{"align":3916},[3803,4398,4399],{},"value={isChecked}",[3933,4401,4402],{"align":3916},[3803,4403,4404],{},"onValueChange={(bool) => setIsChecked(bool)}",[3911,4406,4407,4413,4417,4422],{},[3933,4408,4409],{"align":3916},[3746,4410,4411],{},[3803,4412,3815],{},[3933,4414,4415],{"align":3916},[3803,4416,4095],{},[3933,4418,4419],{"align":3916},[3803,4420,4421],{},"value={num}",[3933,4423,4424],{"align":3916},[3803,4425,4426],{},"onValueChange={(num) => setNum(num)}",[3911,4428,4429,4435,4440,4445],{},[3933,4430,4431],{"align":3916},[3746,4432,4433],{},[3803,4434,3818],{},[3933,4436,4437],{"align":3916},[3803,4438,4439],{},"T (string | number)",[3933,4441,4442],{"align":3916},[3803,4443,4444],{},"selectedValue={val}",[3933,4446,4447],{"align":3916},[3803,4448,4449],{},"onValueChange={(val) => setVal(val)}",[3911,4451,4452,4458,4463,4468],{},[3933,4453,4454],{"align":3916},[3746,4455,4456],{},[3803,4457,3821],{},[3933,4459,4460],{"align":3916},[3803,4461,4462],{},"Date",[3933,4464,4465],{"align":3916},[3803,4466,4467],{},"value={date}",[3933,4469,4470],{"align":3916},[3803,4471,4472],{},"onChange={(event, date) => setDate(date)}",[3739,4474,4475],{},[4476,4477],"img",{"alt":4478,"className":4479,"src":4481},"Контрольований TextInput: onChangeText → state → value",[4480],"diagram-img","\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F03.svg",[3792,4483,4485],{"id":4484},"наслідки-порушення-контракту-контрольованості","Наслідки порушення контракту контрольованості:",[3739,4487,4488,4489,4491,4492,4494,4495,4498,4499,4502,4503,4505],{},"Якщо розробник передає проп значення (",[3803,4490,4282],{},"), але забуває оновити стан у колбеці (",[3803,4493,4116],{}," \u002F ",[3803,4496,4497],{},"onValueChange","), інтерфейс впадає у стан ",[3746,4500,4501],{},"«залипання» (Input Freezing)",". Нативний віджет отримує новий символ від клавіатури, повідомляє React про зміну, але під час фази узгодження (Reconciliation) React примусово відновлює старе значення ",[3803,4504,4282],{}," зі стану. Користувач сприймає це як фатальний баг або апаратне зависання екрана.",[3881,4507],{},[3734,4509,4511,4513],{"id":4510},"textinput-поглиблений-аналіз-нативного-текстового-поля",[3803,4512,3805],{},": поглиблений аналіз нативного текстового поля",[3739,4515,4516,4517,4521],{},"Компонент ",[3746,4518,4519],{},[3803,4520,3805],{}," є прямим містком до нативних компонентів текстового введення операційної системи:",[3797,4523,4524,4540],{},[3754,4525,4526,4529,4530,4532,4533,4536,4537,3833],{},[3746,4527,4528],{},"iOS:"," інкапсулює нативний клас ",[3803,4531,3828],{}," (для однорядкового вводу) або ",[3803,4534,4535],{},"UITextView"," (для багаторядкового режиму ",[3803,4538,4539],{},"multiline={true}",[3754,4541,4542,4545,4546,4549],{},[3746,4543,4544],{},"Android:"," транслюється в нативний віджет ",[3803,4547,4548],{},"android.widget.EditText",", інтегрований із платформовим менеджером редакторів методу введення (Input Method Editor, IME).",[3739,4551,4552,4553,4555,4556,4559,4560,4563],{},"На відміну від статичних графічних елементів, ",[3803,4554,3805],{}," підтримує складний системний стан: поточну позицію каретки (",[3777,4557,4558],{},"cursor position","), виділений діапазон символів (",[3777,4561,4562],{},"selection range","), чергу асинхронних подій автокорекції, буфер проміжних символів клавіатури (для ієрогліфічного чи предиктивного вводу) та активне віконне з'єднання з процесом клавіатури.",[3792,4565,4567],{"id":4566},"життєвий-цикл-контрольованого-введення","Життєвий цикл контрольованого введення",[3891,4569,4573],{"className":4570,"code":4571,"language":4572,"meta":3899,"style":3899},"language-tsx shiki shiki-themes light-plus dark-plus dark-plus","import { useState } from 'react';\nimport { StyleSheet, Text, TextInput, View } from 'react-native';\n\nexport function NameField() {\n  const [name, setName] = useState('');\n\n  return (\n    \u003CView style={styles.container}>\n      \u003CText style={styles.label}>Повне ім'я\u003C\u002FText>\n      \u003CTextInput\n        value={name}\n        onChangeText={setName}\n        placeholder=\"Олена Ковальчук\"\n        autoCapitalize=\"words\"\n        autoCorrect={false}\n        style={styles.input}\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: { gap: 6 },\n  label: { fontSize: 13, fontWeight: '700', textTransform: 'uppercase' },\n  input: {\n    borderWidth: 1,\n    borderRadius: 12,\n    paddingHorizontal: 14,\n    paddingVertical: 12,\n    fontSize: 16,\n    minHeight: 48,\n  },\n});\n","tsx",[3803,4574,4575,4605,4638,4645,4662,4694,4699,4708,4743,4779,4787,4802,4816,4827,4838,4849,4868,4874,4884,4890,4895,4900,4922,4940,4972,4981,4993,5004,5015,5025,5036,5047,5053],{"__ignoreMap":3899},[4576,4577,4580,4584,4588,4592,4595,4598,4602],"span",{"class":4578,"line":4579},"line",1,[4576,4581,4583],{"class":4582},"s8xlr","import",[4576,4585,4587],{"class":4586},"sHH4Y"," { ",[4576,4589,4591],{"class":4590},"siwwj","useState",[4576,4593,4594],{"class":4586}," } ",[4576,4596,4597],{"class":4582},"from",[4576,4599,4601],{"class":4600},"sbdoH"," 'react'",[4576,4603,4604],{"class":4586},";\n",[4576,4606,4608,4610,4612,4615,4617,4620,4622,4624,4626,4629,4631,4633,4636],{"class":4578,"line":4607},2,[4576,4609,4583],{"class":4582},[4576,4611,4587],{"class":4586},[4576,4613,4614],{"class":4590},"StyleSheet",[4576,4616,3806],{"class":4586},[4576,4618,4619],{"class":4590},"Text",[4576,4621,3806],{"class":4586},[4576,4623,3805],{"class":4590},[4576,4625,3806],{"class":4586},[4576,4627,4628],{"class":4590},"View",[4576,4630,4594],{"class":4586},[4576,4632,4597],{"class":4582},[4576,4634,4635],{"class":4600}," 'react-native'",[4576,4637,4604],{"class":4586},[4576,4639,4641],{"class":4578,"line":4640},3,[4576,4642,4644],{"emptyLinePlaceholder":4643},true,"\n",[4576,4646,4648,4651,4655,4659],{"class":4578,"line":4647},4,[4576,4649,4650],{"class":4582},"export",[4576,4652,4654],{"class":4653},"su1O8"," function",[4576,4656,4658],{"class":4657},"s8Opu"," NameField",[4576,4660,4661],{"class":4586},"() {\n",[4576,4663,4665,4668,4671,4675,4677,4680,4683,4685,4688,4691],{"class":4578,"line":4664},5,[4576,4666,4667],{"class":4653},"  const",[4576,4669,4670],{"class":4586}," [",[4576,4672,4674],{"class":4673},"s-QsJ","name",[4576,4676,3806],{"class":4586},[4576,4678,4679],{"class":4673},"setName",[4576,4681,4682],{"class":4586},"] = ",[4576,4684,4591],{"class":4657},[4576,4686,4687],{"class":4586},"(",[4576,4689,4690],{"class":4600},"''",[4576,4692,4693],{"class":4586},");\n",[4576,4695,4697],{"class":4578,"line":4696},6,[4576,4698,4644],{"emptyLinePlaceholder":4643},[4576,4700,4702,4705],{"class":4578,"line":4701},7,[4576,4703,4704],{"class":4582},"  return",[4576,4706,4707],{"class":4586}," (\n",[4576,4709,4711,4715,4718,4722,4725,4728,4731,4734,4737,4740],{"class":4578,"line":4710},8,[4576,4712,4714],{"class":4713},"s0P7L","    \u003C",[4576,4716,4628],{"class":4717},"sN1BT",[4576,4719,4721],{"class":4720},"sa4r_"," style",[4576,4723,4724],{"class":4586},"=",[4576,4726,4727],{"class":4653},"{",[4576,4729,4730],{"class":4590},"styles",[4576,4732,3857],{"class":4733},"sD7JJ",[4576,4735,4736],{"class":4590},"container",[4576,4738,4739],{"class":4653},"}",[4576,4741,4742],{"class":4713},">\n",[4576,4744,4746,4749,4751,4753,4755,4757,4759,4761,4764,4766,4769,4772,4775,4777],{"class":4578,"line":4745},9,[4576,4747,4748],{"class":4713},"      \u003C",[4576,4750,4619],{"class":4717},[4576,4752,4721],{"class":4720},[4576,4754,4724],{"class":4586},[4576,4756,4727],{"class":4653},[4576,4758,4730],{"class":4590},[4576,4760,3857],{"class":4733},[4576,4762,4763],{"class":4590},"label",[4576,4765,4739],{"class":4653},[4576,4767,4768],{"class":4713},">",[4576,4770,4771],{"class":4586},"Повне ім'я",[4576,4773,4774],{"class":4713},"\u003C\u002F",[4576,4776,4619],{"class":4717},[4576,4778,4742],{"class":4713},[4576,4780,4782,4784],{"class":4578,"line":4781},10,[4576,4783,4748],{"class":4713},[4576,4785,4786],{"class":4717},"TextInput\n",[4576,4788,4790,4793,4795,4797,4799],{"class":4578,"line":4789},11,[4576,4791,4792],{"class":4720},"        value",[4576,4794,4724],{"class":4586},[4576,4796,4727],{"class":4653},[4576,4798,4674],{"class":4590},[4576,4800,4801],{"class":4653},"}\n",[4576,4803,4805,4808,4810,4812,4814],{"class":4578,"line":4804},12,[4576,4806,4807],{"class":4720},"        onChangeText",[4576,4809,4724],{"class":4586},[4576,4811,4727],{"class":4653},[4576,4813,4679],{"class":4590},[4576,4815,4801],{"class":4653},[4576,4817,4819,4822,4824],{"class":4578,"line":4818},13,[4576,4820,4821],{"class":4720},"        placeholder",[4576,4823,4724],{"class":4586},[4576,4825,4826],{"class":4600},"\"Олена Ковальчук\"\n",[4576,4828,4830,4833,4835],{"class":4578,"line":4829},14,[4576,4831,4832],{"class":4720},"        autoCapitalize",[4576,4834,4724],{"class":4586},[4576,4836,4837],{"class":4600},"\"words\"\n",[4576,4839,4841,4844,4846],{"class":4578,"line":4840},15,[4576,4842,4843],{"class":4720},"        autoCorrect",[4576,4845,4724],{"class":4586},[4576,4847,4848],{"class":4653},"{false}\n",[4576,4850,4852,4855,4857,4859,4861,4863,4866],{"class":4578,"line":4851},16,[4576,4853,4854],{"class":4720},"        style",[4576,4856,4724],{"class":4586},[4576,4858,4727],{"class":4653},[4576,4860,4730],{"class":4590},[4576,4862,3857],{"class":4733},[4576,4864,4865],{"class":4590},"input",[4576,4867,4801],{"class":4653},[4576,4869,4871],{"class":4578,"line":4870},17,[4576,4872,4873],{"class":4713},"      \u002F>\n",[4576,4875,4877,4880,4882],{"class":4578,"line":4876},18,[4576,4878,4879],{"class":4713},"    \u003C\u002F",[4576,4881,4628],{"class":4717},[4576,4883,4742],{"class":4713},[4576,4885,4887],{"class":4578,"line":4886},19,[4576,4888,4889],{"class":4586},"  );\n",[4576,4891,4893],{"class":4578,"line":4892},20,[4576,4894,4801],{"class":4586},[4576,4896,4898],{"class":4578,"line":4897},21,[4576,4899,4644],{"emptyLinePlaceholder":4643},[4576,4901,4903,4906,4909,4912,4914,4916,4919],{"class":4578,"line":4902},22,[4576,4904,4905],{"class":4653},"const",[4576,4907,4908],{"class":4673}," styles",[4576,4910,4911],{"class":4586}," = ",[4576,4913,4614],{"class":4590},[4576,4915,3857],{"class":4586},[4576,4917,4918],{"class":4657},"create",[4576,4920,4921],{"class":4586},"({\n",[4576,4923,4925,4928,4930,4933,4937],{"class":4578,"line":4924},23,[4576,4926,4927],{"class":4590},"  container:",[4576,4929,4587],{"class":4586},[4576,4931,4932],{"class":4590},"gap:",[4576,4934,4936],{"class":4935},"sJj4R"," 6",[4576,4938,4939],{"class":4586}," },\n",[4576,4941,4943,4946,4948,4951,4954,4956,4959,4962,4964,4967,4970],{"class":4578,"line":4942},24,[4576,4944,4945],{"class":4590},"  label:",[4576,4947,4587],{"class":4586},[4576,4949,4950],{"class":4590},"fontSize:",[4576,4952,4953],{"class":4935}," 13",[4576,4955,3806],{"class":4586},[4576,4957,4958],{"class":4590},"fontWeight:",[4576,4960,4961],{"class":4600}," '700'",[4576,4963,3806],{"class":4586},[4576,4965,4966],{"class":4590},"textTransform:",[4576,4968,4969],{"class":4600}," 'uppercase'",[4576,4971,4939],{"class":4586},[4576,4973,4975,4978],{"class":4578,"line":4974},25,[4576,4976,4977],{"class":4590},"  input:",[4576,4979,4980],{"class":4586}," {\n",[4576,4982,4984,4987,4990],{"class":4578,"line":4983},26,[4576,4985,4986],{"class":4590},"    borderWidth:",[4576,4988,4989],{"class":4935}," 1",[4576,4991,4992],{"class":4586},",\n",[4576,4994,4996,4999,5002],{"class":4578,"line":4995},27,[4576,4997,4998],{"class":4590},"    borderRadius:",[4576,5000,5001],{"class":4935}," 12",[4576,5003,4992],{"class":4586},[4576,5005,5007,5010,5013],{"class":4578,"line":5006},28,[4576,5008,5009],{"class":4590},"    paddingHorizontal:",[4576,5011,5012],{"class":4935}," 14",[4576,5014,4992],{"class":4586},[4576,5016,5018,5021,5023],{"class":4578,"line":5017},29,[4576,5019,5020],{"class":4590},"    paddingVertical:",[4576,5022,5001],{"class":4935},[4576,5024,4992],{"class":4586},[4576,5026,5028,5031,5034],{"class":4578,"line":5027},30,[4576,5029,5030],{"class":4590},"    fontSize:",[4576,5032,5033],{"class":4935}," 16",[4576,5035,4992],{"class":4586},[4576,5037,5039,5042,5045],{"class":4578,"line":5038},31,[4576,5040,5041],{"class":4590},"    minHeight:",[4576,5043,5044],{"class":4935}," 48",[4576,5046,4992],{"class":4586},[4576,5048,5050],{"class":4578,"line":5049},32,[4576,5051,5052],{"class":4586},"  },\n",[4576,5054,5056],{"class":4578,"line":5055},33,[4576,5057,5058],{"class":4586},"});\n",[3739,5060,5061],{},"Покроковий механізм обробки вводу:",[3751,5063,5064,5067,5075,5082,5088],{},[3754,5065,5066],{},"Користувач натискає клавішу на системній клавіатурі.",[3754,5068,5069,5070,4494,5072,5074],{},"Нативний віджет (",[3803,5071,3828],{},[3803,5073,3832],{},") фіксує символ та ініціює подію через міст\u002FJSI до JavaScript-потоку.",[3754,5076,5077,5078,5081],{},"Викликається обробник ",[3803,5079,5080],{},"onChangeText(newString)"," із повним новим рядком.",[3754,5083,5084,5085,5087],{},"Функція ",[3803,5086,4679],{}," планує оновлення стану React.",[3754,5089,5090,5091,5093],{},"Фаза Reconciliation обчислює новий VDOM і передає оновлене значення ",[3803,5092,4282],{}," назад у нативний віджет для синхронізації відображення.",[3792,5095,5097,5098],{"id":5096},"повний-огляд-параметрів-props-textinput","Повний огляд параметрів (Props) ",[3803,5099,3805],{},[5101,5102,5103,5117,5133,5141,5154,5167,5180,5187,5193,5259,5294,5300,5321,5329,5340,5351],"field-group",{},[5104,5105,5106,5107,5109,5110,5113,5114,5116],"field",{"name":4282,"type":4349},"Поточний текстовий вміст поля. Передача цього параметра переводить ",[3803,5108,3805],{}," у ",[3746,5111,5112],{},"строго контрольований режим (Controlled Mode)",". Компонент гарантує відповідність тексту на екрані значенню у вашому стані React \u002F React Hook Form. Якщо стан не оновлюється під час виклику ",[3803,5115,4116],{},", компонент примусово відновлює попереднє значення зі стану.",[5104,5118,5119,5120,5122,5123,5126,5127,5129,5130,5132],{"name":4116,"type":4120},"Основний обробник зміни вмісту. На відміну від веб-стандарту ",[3803,5121,4075],{}," (який повертає складний об'єкт ",[3803,5124,5125],{},"SyntheticEvent","), ",[3803,5128,4116],{}," одразу передає десеріалізований нормалізований рядок ",[3803,5131,3896],{},". Викликається на кожен введений, видалений або вставлений з буфера символ.",[5104,5134,5136,5137,5140],{"name":5135,"type":4349},"defaultValue","Початкове значення для ",[3746,5138,5139],{},"неконтрольованого режиму (Uncontrolled Mode)",". Нативний віджет самостійно керує текстовим буфером без синхронізації з деревом станів React. Використовується рідко, оскільки ускладнює програмне скидання форми та валідацію схем.",[5104,5142,5145,5146,5149,5150,5153],{"name":5143,"type":5144},"placeholder \u002F placeholderTextColor","string \u002F ColorValue","Текст підказки, що відображається всередині поля за умови відсутності введених символів (",[3803,5147,5148],{},"value === ''","). Зникає в момент введення першого символу. Обов'язково налаштовуйте ",[3803,5151,5152],{},"placeholderTextColor"," відповідно до активної кольорової схеми (Light\u002FDark), щоб уникнути втрати контрастності.",[5104,5155,5158,5159,5162,5163,5166],{"name":5156,"type":5157},"editable","boolean (дефолт: true)","Визначає інтерактивність поля. При значенні ",[3803,5160,5161],{},"false"," поле переходить у режим «лише для читання» (",[3777,5164,5165],{},"Read-Only","): текст залишається видимим, але тапи ігноруються, а клавіатура не з'являється. Застосовується під час виконання асинхронного submit-запиту для блокування повторного редагування.",[5104,5168,5170,5171,5173,5174,5179],{"name":4135,"type":5169},"boolean (дефолт: false)","Перемикає компонент у багаторядковий режим. На iOS перемикає базовий віджет на ",[3803,5172,4535],{},". На платформі Android для забезпечення правильного вирівнювання тексту за верхнім краєм контейнера обов'язково додавайте властивість ",[3746,5175,5176],{},[3803,5177,5178],{},"textAlignVertical: 'top'"," у стилях.",[5104,5181,5183,5184,3833],{"name":5182,"type":4095},"maxLength","Жорстке апаратне обмеження максимальної кількості символів на рівні нативного віджета. Запобігає введенню зайвих символів безпосередньо в момент друку. Має дублюватися правилами схеми Zod (",[3803,5185,5186],{},".max(N)",[5104,5188,5189,5190,3833],{"name":4131,"type":5169},"Активує режим безпечного введення (маскування символів крапками\u002Fзірочками) для паролів та конфіденційних токенів. Працює виключно в однорядковому режимі (",[3803,5191,5192],{},"multiline={false}",[5104,5194,5196,5199],{"name":4127,"type":5195},"KeyboardTypeOptions",[3739,5197,5198],{},"Визначає розкладку та конфігурацію клавіатури, що надається операційною системою:",[3797,5200,5201,5207,5217,5226,5241,5253],{},[3754,5202,5203,5206],{},[3803,5204,5205],{},"default"," — стандартна алфавітно-цифрова клавіатура.",[3754,5208,5209,5212,5213,5216],{},[3803,5210,5211],{},"email-address"," — розкладка з оптимізованим доступом до символу ",[3803,5214,5215],{},"@",", крапки та доменних зон.",[3754,5218,5219,4494,5222,5225],{},[3803,5220,5221],{},"numeric",[3803,5223,5224],{},"number-pad"," — цифровий блок для введення чисел, PIN-кодів та сум.",[3754,5227,5228,5231,5232,3806,5235,3806,5238,3857],{},[3803,5229,5230],{},"phone-pad"," — телефонна клавіатура з символами ",[3803,5233,5234],{},"+",[3803,5236,5237],{},"*",[3803,5239,5240],{},"#",[3754,5242,5243,5246,5247,3806,5250,3833],{},[3803,5244,5245],{},"url"," — оптимізація для введення веб-посилань (",[3803,5248,5249],{},"\u002F",[3803,5251,5252],{},".com",[3754,5254,5255,5258],{},[3803,5256,5257],{},"decimal-pad"," — цифрова клавіатура з підтримкою десяткового роздільника (крапка\u002Fкома відповідно до регіональних налаштувань ОС).",[5104,5260,5262,5265],{"name":4139,"type":5261},"'none' | 'sentences' | 'words' | 'characters'",[3739,5263,5264],{},"Керує системною автоматичною капіталізацією (переведенням перших літер у верхній регістр):",[3797,5266,5267,5276,5282,5288],{},[3754,5268,5269,5272,5273,5275],{},[3803,5270,5271],{},"none"," — обов'язковий вибір для ",[3803,5274,4092],{},", паролів, URL та логінів.",[3754,5277,5278,5281],{},[3803,5279,5280],{},"sentences"," — заголовні літери на початку кожного речення (стандарт для нотаток).",[3754,5283,5284,5287],{},[3803,5285,5286],{},"words"," — заголовні літери для кожного слова (імена людей, назви міст).",[3754,5289,5290,5293],{},[3803,5291,5292],{},"characters"," — усі літери вводяться у верхньому регістрі (серійні номери, промокоди, IBAN).",[5104,5295,5296,5297,3857],{"name":4142,"type":5157},"Вмикає або вимикає системний словник автовиправлення. Для технічних полів (Email, адреси гаманців, коди) обов'язково встановлюйте ",[3803,5298,5299],{},"autoCorrect={false}",[5104,5301,5304,5305,3806,5308,3806,5311,3806,5314,3806,5317,5320],{"name":5302,"type":5303},"returnKeyType","ReturnKeyTypeOptions","Конфігурує підпис та функціональне призначення клавіші підтвердження на віртуальній клавіатурі (",[3803,5306,5307],{},"next",[3803,5309,5310],{},"done",[3803,5312,5313],{},"go",[3803,5315,5316],{},"search",[3803,5318,5319],{},"send","). Допомагає користувачеві орієнтуватися в ланцюжку полів.",[5104,5322,5325,5326,3857],{"name":5323,"type":5324},"onSubmitEditing","() => void","Колбек, що викликається при натисканні клавіші Return на клавіатурі. Базовий інструмент для реалізації переходу фокусу на наступне поле форми через імперативний виклик ",[3803,5327,5328],{},"nextInputRef.current?.focus()",[5104,5330,5332,5333,5336,5337,3857],{"name":5331,"type":4372},"blurOnSubmit","Визначає, чи слід знімати фокус із поточного поля та закривати клавіатуру після натискання клавіші Return. Для проміжних полів форми встановлюють ",[3803,5334,5335],{},"blurOnSubmit={false}"," у поєднанні з ",[3803,5338,5339],{},"returnKeyType=\"next\"",[5104,5341,5343,5344,5347,5348,3857],{"name":5342,"type":5324},"onFocus \u002F onBlur","Події отримання та втрати полем віконного фокусу. Використовуються для підсвічування рамок активного інпуту, а також бібліотекою React Hook Form у режимах валідації ",[3803,5345,5346],{},"mode: 'onBlur'"," або ",[3803,5349,5350],{},"mode: 'onTouched'",[5104,5352,5355],{"name":5353,"type":5354},"selection","{ start: number, end?: number }","Імперативне або контрольоване управління позицією курсору та виділеним фрагментом тексту.",[3881,5357],{},[3792,5359,5361],{"id":5360},"програмне-управління-фокусом-та-ланцюжки-введення","Програмне управління фокусом та ланцюжки введення",[3739,5363,5364,5365,5368],{},"На мобільних пристроях перехід між полями форми здійснюється за допомогою імперативних рефів ",[3803,5366,5367],{},"useRef\u003CTextInput>(null)",". Це усуває необхідність закривати клавіатуру та вручну тапати по наступному інпуту:",[3891,5370,5372],{"className":4570,"code":5371,"language":4572,"meta":3899,"style":3899},"import { useRef } from 'react';\nimport { TextInput, View } from 'react-native';\n\nexport function ChainedInputsForm() {\n  const emailRef = useRef\u003CTextInput>(null);\n  const passwordRef = useRef\u003CTextInput>(null);\n\n  return (\n    \u003CView>\n      \u003CTextInput\n        placeholder=\"Ім'я користувача\"\n        returnKeyType=\"next\"\n        blurOnSubmit={false}\n        onSubmitEditing={() => emailRef.current?.focus()}\n      \u002F>\n      \u003CTextInput\n        ref={emailRef}\n        placeholder=\"Електронна пошта\"\n        keyboardType=\"email-address\"\n        autoCapitalize=\"none\"\n        returnKeyType=\"next\"\n        blurOnSubmit={false}\n        onSubmitEditing={() => passwordRef.current?.focus()}\n      \u002F>\n      \u003CTextInput\n        ref={passwordRef}\n        placeholder=\"Пароль\"\n        secureTextEntry\n        returnKeyType=\"done\"\n        onSubmitEditing={() => console.log('Submit')}\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n",[3803,5373,5374,5391,5411,5415,5426,5450,5471,5475,5481,5489,5495,5504,5514,5523,5556,5560,5566,5580,5589,5599,5608,5616,5624,5650,5654,5660,5673,5682,5687,5696,5726,5730,5738,5742],{"__ignoreMap":3899},[4576,5375,5376,5378,5380,5383,5385,5387,5389],{"class":4578,"line":4579},[4576,5377,4583],{"class":4582},[4576,5379,4587],{"class":4586},[4576,5381,5382],{"class":4590},"useRef",[4576,5384,4594],{"class":4586},[4576,5386,4597],{"class":4582},[4576,5388,4601],{"class":4600},[4576,5390,4604],{"class":4586},[4576,5392,5393,5395,5397,5399,5401,5403,5405,5407,5409],{"class":4578,"line":4607},[4576,5394,4583],{"class":4582},[4576,5396,4587],{"class":4586},[4576,5398,3805],{"class":4590},[4576,5400,3806],{"class":4586},[4576,5402,4628],{"class":4590},[4576,5404,4594],{"class":4586},[4576,5406,4597],{"class":4582},[4576,5408,4635],{"class":4600},[4576,5410,4604],{"class":4586},[4576,5412,5413],{"class":4578,"line":4640},[4576,5414,4644],{"emptyLinePlaceholder":4643},[4576,5416,5417,5419,5421,5424],{"class":4578,"line":4647},[4576,5418,4650],{"class":4582},[4576,5420,4654],{"class":4653},[4576,5422,5423],{"class":4657}," ChainedInputsForm",[4576,5425,4661],{"class":4586},[4576,5427,5428,5430,5433,5435,5437,5440,5442,5445,5448],{"class":4578,"line":4664},[4576,5429,4667],{"class":4653},[4576,5431,5432],{"class":4673}," emailRef",[4576,5434,4911],{"class":4586},[4576,5436,5382],{"class":4657},[4576,5438,5439],{"class":4586},"\u003C",[4576,5441,3805],{"class":4717},[4576,5443,5444],{"class":4586},">(",[4576,5446,5447],{"class":4653},"null",[4576,5449,4693],{"class":4586},[4576,5451,5452,5454,5457,5459,5461,5463,5465,5467,5469],{"class":4578,"line":4696},[4576,5453,4667],{"class":4653},[4576,5455,5456],{"class":4673}," passwordRef",[4576,5458,4911],{"class":4586},[4576,5460,5382],{"class":4657},[4576,5462,5439],{"class":4586},[4576,5464,3805],{"class":4717},[4576,5466,5444],{"class":4586},[4576,5468,5447],{"class":4653},[4576,5470,4693],{"class":4586},[4576,5472,5473],{"class":4578,"line":4701},[4576,5474,4644],{"emptyLinePlaceholder":4643},[4576,5476,5477,5479],{"class":4578,"line":4710},[4576,5478,4704],{"class":4582},[4576,5480,4707],{"class":4586},[4576,5482,5483,5485,5487],{"class":4578,"line":4745},[4576,5484,4714],{"class":4713},[4576,5486,4628],{"class":4717},[4576,5488,4742],{"class":4713},[4576,5490,5491,5493],{"class":4578,"line":4781},[4576,5492,4748],{"class":4713},[4576,5494,4786],{"class":4717},[4576,5496,5497,5499,5501],{"class":4578,"line":4789},[4576,5498,4821],{"class":4720},[4576,5500,4724],{"class":4586},[4576,5502,5503],{"class":4600},"\"Ім'я користувача\"\n",[4576,5505,5506,5509,5511],{"class":4578,"line":4804},[4576,5507,5508],{"class":4720},"        returnKeyType",[4576,5510,4724],{"class":4586},[4576,5512,5513],{"class":4600},"\"next\"\n",[4576,5515,5516,5519,5521],{"class":4578,"line":4818},[4576,5517,5518],{"class":4720},"        blurOnSubmit",[4576,5520,4724],{"class":4586},[4576,5522,4848],{"class":4653},[4576,5524,5525,5528,5530,5532,5535,5538,5540,5542,5545,5548,5551,5554],{"class":4578,"line":4829},[4576,5526,5527],{"class":4720},"        onSubmitEditing",[4576,5529,4724],{"class":4586},[4576,5531,4727],{"class":4653},[4576,5533,5534],{"class":4733},"() ",[4576,5536,5537],{"class":4653},"=>",[4576,5539,5432],{"class":4590},[4576,5541,3857],{"class":4733},[4576,5543,5544],{"class":4590},"current",[4576,5546,5547],{"class":4733},"?.",[4576,5549,5550],{"class":4657},"focus",[4576,5552,5553],{"class":4733},"()",[4576,5555,4801],{"class":4653},[4576,5557,5558],{"class":4578,"line":4840},[4576,5559,4873],{"class":4713},[4576,5561,5562,5564],{"class":4578,"line":4851},[4576,5563,4748],{"class":4713},[4576,5565,4786],{"class":4717},[4576,5567,5568,5571,5573,5575,5578],{"class":4578,"line":4870},[4576,5569,5570],{"class":4720},"        ref",[4576,5572,4724],{"class":4586},[4576,5574,4727],{"class":4653},[4576,5576,5577],{"class":4590},"emailRef",[4576,5579,4801],{"class":4653},[4576,5581,5582,5584,5586],{"class":4578,"line":4876},[4576,5583,4821],{"class":4720},[4576,5585,4724],{"class":4586},[4576,5587,5588],{"class":4600},"\"Електронна пошта\"\n",[4576,5590,5591,5594,5596],{"class":4578,"line":4886},[4576,5592,5593],{"class":4720},"        keyboardType",[4576,5595,4724],{"class":4586},[4576,5597,5598],{"class":4600},"\"email-address\"\n",[4576,5600,5601,5603,5605],{"class":4578,"line":4892},[4576,5602,4832],{"class":4720},[4576,5604,4724],{"class":4586},[4576,5606,5607],{"class":4600},"\"none\"\n",[4576,5609,5610,5612,5614],{"class":4578,"line":4897},[4576,5611,5508],{"class":4720},[4576,5613,4724],{"class":4586},[4576,5615,5513],{"class":4600},[4576,5617,5618,5620,5622],{"class":4578,"line":4902},[4576,5619,5518],{"class":4720},[4576,5621,4724],{"class":4586},[4576,5623,4848],{"class":4653},[4576,5625,5626,5628,5630,5632,5634,5636,5638,5640,5642,5644,5646,5648],{"class":4578,"line":4924},[4576,5627,5527],{"class":4720},[4576,5629,4724],{"class":4586},[4576,5631,4727],{"class":4653},[4576,5633,5534],{"class":4733},[4576,5635,5537],{"class":4653},[4576,5637,5456],{"class":4590},[4576,5639,3857],{"class":4733},[4576,5641,5544],{"class":4590},[4576,5643,5547],{"class":4733},[4576,5645,5550],{"class":4657},[4576,5647,5553],{"class":4733},[4576,5649,4801],{"class":4653},[4576,5651,5652],{"class":4578,"line":4942},[4576,5653,4873],{"class":4713},[4576,5655,5656,5658],{"class":4578,"line":4974},[4576,5657,4748],{"class":4713},[4576,5659,4786],{"class":4717},[4576,5661,5662,5664,5666,5668,5671],{"class":4578,"line":4983},[4576,5663,5570],{"class":4720},[4576,5665,4724],{"class":4586},[4576,5667,4727],{"class":4653},[4576,5669,5670],{"class":4590},"passwordRef",[4576,5672,4801],{"class":4653},[4576,5674,5675,5677,5679],{"class":4578,"line":4995},[4576,5676,4821],{"class":4720},[4576,5678,4724],{"class":4586},[4576,5680,5681],{"class":4600},"\"Пароль\"\n",[4576,5683,5684],{"class":4578,"line":5006},[4576,5685,5686],{"class":4720},"        secureTextEntry\n",[4576,5688,5689,5691,5693],{"class":4578,"line":5017},[4576,5690,5508],{"class":4720},[4576,5692,4724],{"class":4586},[4576,5694,5695],{"class":4600},"\"done\"\n",[4576,5697,5698,5700,5702,5704,5706,5708,5711,5713,5716,5718,5721,5724],{"class":4578,"line":5027},[4576,5699,5527],{"class":4720},[4576,5701,4724],{"class":4586},[4576,5703,4727],{"class":4653},[4576,5705,5534],{"class":4733},[4576,5707,5537],{"class":4653},[4576,5709,5710],{"class":4590}," console",[4576,5712,3857],{"class":4733},[4576,5714,5715],{"class":4657},"log",[4576,5717,4687],{"class":4733},[4576,5719,5720],{"class":4600},"'Submit'",[4576,5722,5723],{"class":4733},")",[4576,5725,4801],{"class":4653},[4576,5727,5728],{"class":4578,"line":5038},[4576,5729,4873],{"class":4713},[4576,5731,5732,5734,5736],{"class":4578,"line":5049},[4576,5733,4879],{"class":4713},[4576,5735,4628],{"class":4717},[4576,5737,4742],{"class":4713},[4576,5739,5740],{"class":4578,"line":5055},[4576,5741,4889],{"class":4586},[4576,5743,5745],{"class":4578,"line":5744},34,[4576,5746,4801],{"class":4586},[3881,5748],{},[3792,5750,5752],{"id":5751},"демо-різні-типи-клавіатур","Демо: різні типи клавіатур",[5754,5755,5760],"react-native-preview",{"device":5756,"filename":5757,"height":5758,"title":5759},"iphone","TextInputTypes.tsx",640,"TextInput · keyboardType",[3891,5761,5763],{"className":4570,"code":5762,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  ScrollView,\n  StyleSheet,\n  Text,\n  TextInput,\n  useColorScheme,\n} from 'react-native';\n\nexport default function App() {\n  const dark = useColorScheme() === 'dark';\n  const bg = dark ? '#000' : '#F8FAFC';\n  const surface = dark ? '#1c1c1e' : '#fff';\n  const text = dark ? '#f5f5f7' : '#0f172a';\n  const muted = dark ? '#a1a1aa' : '#64748b';\n  const border = dark ? '#3a3a3c' : '#e2e8f0';\n\n  const [email, setEmail] = useState('');\n  const [phone, setPhone] = useState('');\n  const [note, setNote] = useState('');\n\n  return (\n    \u003CScrollView\n      style={{ flex: 1, backgroundColor: bg }}\n      contentContainerStyle={{ padding: 16, gap: 14 }}\n      keyboardShouldPersistTaps=\"handled\"\n    >\n      \u003CText style={{ color: text, fontWeight: '800', fontSize: 22 }}>Типи вводу\u003C\u002FText>\n      \u003CText style={{ color: muted, fontSize: 13 }}>\n        На пристрої змінюється розкладка клавіатури. У прев’ю — ті самі props.\n      \u003C\u002FText>\n\n      \u003CText style={[styles.label, { color: muted }]}>Email\u003C\u002FText>\n      \u003CTextInput\n        value={email}\n        onChangeText={setEmail}\n        placeholder=\"you@example.com\"\n        placeholderTextColor={muted}\n        keyboardType=\"email-address\"\n        autoCapitalize=\"none\"\n        autoCorrect={false}\n        style={[styles.input, { backgroundColor: surface, borderColor: border, color: text }]}\n      \u002F>\n\n      \u003CText style={[styles.label, { color: muted }]}>Телефон\u003C\u002FText>\n      \u003CTextInput\n        value={phone}\n        onChangeText={setPhone}\n        placeholder=\"+380…\"\n        placeholderTextColor={muted}\n        keyboardType=\"phone-pad\"\n        style={[styles.input, { backgroundColor: surface, borderColor: border, color: text }]}\n      \u002F>\n\n      \u003CText style={[styles.label, { color: muted }]}>Нотатка (multiline)\u003C\u002FText>\n      \u003CTextInput\n        value={note}\n        onChangeText={setNote}\n        placeholder=\"Кілька рядків…\"\n        placeholderTextColor={muted}\n        multiline\n        textAlignVertical=\"top\"\n        style={[\n          styles.input,\n          styles.multi,\n          { backgroundColor: surface, borderColor: border, color: text },\n        ]}\n      \u002F>\n    \u003C\u002FScrollView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  label: { fontSize: 12, fontWeight: '700', textTransform: 'uppercase' },\n  input: {\n    borderWidth: 1,\n    borderRadius: 12,\n    paddingHorizontal: 14,\n    paddingVertical: 12,\n    fontSize: 16,\n    minHeight: 48,\n  },\n  multi: { minHeight: 100 },\n});\n",[3803,5764,5765,5781,5787,5794,5801,5808,5815,5822,5833,5837,5851,5871,5897,5920,5943,5966,5989,5993,6016,6040,6064,6068,6074,6081,6110,6136,6146,6151,6199,6229,6234,6243,6247,6291,6297,6310,6323,6333,6348,6357,6366,6375,6415,6420,6425,6467,6474,6487,6500,6510,6523,6533,6572,6577,6582,6624,6631,6644,6657,6667,6680,6686,6697,6709,6721,6733,6757,6765,6770,6779,6784,6789,6794,6811,6836,6843,6852,6861,6870,6879,6888,6897,6902,6918],{"__ignoreMap":3899},[4576,5766,5767,5769,5771,5773,5775,5777,5779],{"class":4578,"line":4579},[4576,5768,4583],{"class":4582},[4576,5770,4587],{"class":4586},[4576,5772,4591],{"class":4590},[4576,5774,4594],{"class":4586},[4576,5776,4597],{"class":4582},[4576,5778,4601],{"class":4600},[4576,5780,4604],{"class":4586},[4576,5782,5783,5785],{"class":4578,"line":4607},[4576,5784,4583],{"class":4582},[4576,5786,4980],{"class":4586},[4576,5788,5789,5792],{"class":4578,"line":4640},[4576,5790,5791],{"class":4590},"  ScrollView",[4576,5793,4992],{"class":4586},[4576,5795,5796,5799],{"class":4578,"line":4647},[4576,5797,5798],{"class":4590},"  StyleSheet",[4576,5800,4992],{"class":4586},[4576,5802,5803,5806],{"class":4578,"line":4664},[4576,5804,5805],{"class":4590},"  Text",[4576,5807,4992],{"class":4586},[4576,5809,5810,5813],{"class":4578,"line":4696},[4576,5811,5812],{"class":4590},"  TextInput",[4576,5814,4992],{"class":4586},[4576,5816,5817,5820],{"class":4578,"line":4701},[4576,5818,5819],{"class":4590},"  useColorScheme",[4576,5821,4992],{"class":4586},[4576,5823,5824,5827,5829,5831],{"class":4578,"line":4710},[4576,5825,5826],{"class":4586},"} ",[4576,5828,4597],{"class":4582},[4576,5830,4635],{"class":4600},[4576,5832,4604],{"class":4586},[4576,5834,5835],{"class":4578,"line":4745},[4576,5836,4644],{"emptyLinePlaceholder":4643},[4576,5838,5839,5841,5844,5846,5849],{"class":4578,"line":4781},[4576,5840,4650],{"class":4582},[4576,5842,5843],{"class":4582}," default",[4576,5845,4654],{"class":4653},[4576,5847,5848],{"class":4657}," App",[4576,5850,4661],{"class":4586},[4576,5852,5853,5855,5858,5860,5863,5866,5869],{"class":4578,"line":4789},[4576,5854,4667],{"class":4653},[4576,5856,5857],{"class":4673}," dark",[4576,5859,4911],{"class":4586},[4576,5861,5862],{"class":4657},"useColorScheme",[4576,5864,5865],{"class":4586},"() === ",[4576,5867,5868],{"class":4600},"'dark'",[4576,5870,4604],{"class":4586},[4576,5872,5873,5875,5878,5880,5883,5886,5889,5892,5895],{"class":4578,"line":4804},[4576,5874,4667],{"class":4653},[4576,5876,5877],{"class":4673}," bg",[4576,5879,4911],{"class":4586},[4576,5881,5882],{"class":4590},"dark",[4576,5884,5885],{"class":4586}," ? ",[4576,5887,5888],{"class":4600},"'#000'",[4576,5890,5891],{"class":4586}," : ",[4576,5893,5894],{"class":4600},"'#F8FAFC'",[4576,5896,4604],{"class":4586},[4576,5898,5899,5901,5904,5906,5908,5910,5913,5915,5918],{"class":4578,"line":4818},[4576,5900,4667],{"class":4653},[4576,5902,5903],{"class":4673}," surface",[4576,5905,4911],{"class":4586},[4576,5907,5882],{"class":4590},[4576,5909,5885],{"class":4586},[4576,5911,5912],{"class":4600},"'#1c1c1e'",[4576,5914,5891],{"class":4586},[4576,5916,5917],{"class":4600},"'#fff'",[4576,5919,4604],{"class":4586},[4576,5921,5922,5924,5927,5929,5931,5933,5936,5938,5941],{"class":4578,"line":4829},[4576,5923,4667],{"class":4653},[4576,5925,5926],{"class":4673}," text",[4576,5928,4911],{"class":4586},[4576,5930,5882],{"class":4590},[4576,5932,5885],{"class":4586},[4576,5934,5935],{"class":4600},"'#f5f5f7'",[4576,5937,5891],{"class":4586},[4576,5939,5940],{"class":4600},"'#0f172a'",[4576,5942,4604],{"class":4586},[4576,5944,5945,5947,5950,5952,5954,5956,5959,5961,5964],{"class":4578,"line":4840},[4576,5946,4667],{"class":4653},[4576,5948,5949],{"class":4673}," muted",[4576,5951,4911],{"class":4586},[4576,5953,5882],{"class":4590},[4576,5955,5885],{"class":4586},[4576,5957,5958],{"class":4600},"'#a1a1aa'",[4576,5960,5891],{"class":4586},[4576,5962,5963],{"class":4600},"'#64748b'",[4576,5965,4604],{"class":4586},[4576,5967,5968,5970,5973,5975,5977,5979,5982,5984,5987],{"class":4578,"line":4851},[4576,5969,4667],{"class":4653},[4576,5971,5972],{"class":4673}," border",[4576,5974,4911],{"class":4586},[4576,5976,5882],{"class":4590},[4576,5978,5885],{"class":4586},[4576,5980,5981],{"class":4600},"'#3a3a3c'",[4576,5983,5891],{"class":4586},[4576,5985,5986],{"class":4600},"'#e2e8f0'",[4576,5988,4604],{"class":4586},[4576,5990,5991],{"class":4578,"line":4870},[4576,5992,4644],{"emptyLinePlaceholder":4643},[4576,5994,5995,5997,5999,6001,6003,6006,6008,6010,6012,6014],{"class":4578,"line":4876},[4576,5996,4667],{"class":4653},[4576,5998,4670],{"class":4586},[4576,6000,4092],{"class":4673},[4576,6002,3806],{"class":4586},[4576,6004,6005],{"class":4673},"setEmail",[4576,6007,4682],{"class":4586},[4576,6009,4591],{"class":4657},[4576,6011,4687],{"class":4586},[4576,6013,4690],{"class":4600},[4576,6015,4693],{"class":4586},[4576,6017,6018,6020,6022,6025,6027,6030,6032,6034,6036,6038],{"class":4578,"line":4886},[4576,6019,4667],{"class":4653},[4576,6021,4670],{"class":4586},[4576,6023,6024],{"class":4673},"phone",[4576,6026,3806],{"class":4586},[4576,6028,6029],{"class":4673},"setPhone",[4576,6031,4682],{"class":4586},[4576,6033,4591],{"class":4657},[4576,6035,4687],{"class":4586},[4576,6037,4690],{"class":4600},[4576,6039,4693],{"class":4586},[4576,6041,6042,6044,6046,6049,6051,6054,6056,6058,6060,6062],{"class":4578,"line":4892},[4576,6043,4667],{"class":4653},[4576,6045,4670],{"class":4586},[4576,6047,6048],{"class":4673},"note",[4576,6050,3806],{"class":4586},[4576,6052,6053],{"class":4673},"setNote",[4576,6055,4682],{"class":4586},[4576,6057,4591],{"class":4657},[4576,6059,4687],{"class":4586},[4576,6061,4690],{"class":4600},[4576,6063,4693],{"class":4586},[4576,6065,6066],{"class":4578,"line":4897},[4576,6067,4644],{"emptyLinePlaceholder":4643},[4576,6069,6070,6072],{"class":4578,"line":4902},[4576,6071,4704],{"class":4582},[4576,6073,4707],{"class":4586},[4576,6075,6076,6078],{"class":4578,"line":4924},[4576,6077,4714],{"class":4713},[4576,6079,6080],{"class":4717},"ScrollView\n",[4576,6082,6083,6086,6088,6090,6093,6096,6098,6100,6103,6105,6108],{"class":4578,"line":4942},[4576,6084,6085],{"class":4720},"      style",[4576,6087,4724],{"class":4586},[4576,6089,4727],{"class":4653},[4576,6091,6092],{"class":4733},"{ ",[4576,6094,6095],{"class":4590},"flex:",[4576,6097,4989],{"class":4935},[4576,6099,3806],{"class":4733},[4576,6101,6102],{"class":4590},"backgroundColor:",[4576,6104,5877],{"class":4590},[4576,6106,6107],{"class":4733}," }",[4576,6109,4801],{"class":4653},[4576,6111,6112,6115,6117,6119,6121,6124,6126,6128,6130,6132,6134],{"class":4578,"line":4974},[4576,6113,6114],{"class":4720},"      contentContainerStyle",[4576,6116,4724],{"class":4586},[4576,6118,4727],{"class":4653},[4576,6120,6092],{"class":4733},[4576,6122,6123],{"class":4590},"padding:",[4576,6125,5033],{"class":4935},[4576,6127,3806],{"class":4733},[4576,6129,4932],{"class":4590},[4576,6131,5012],{"class":4935},[4576,6133,6107],{"class":4733},[4576,6135,4801],{"class":4653},[4576,6137,6138,6141,6143],{"class":4578,"line":4983},[4576,6139,6140],{"class":4720},"      keyboardShouldPersistTaps",[4576,6142,4724],{"class":4586},[4576,6144,6145],{"class":4600},"\"handled\"\n",[4576,6147,6148],{"class":4578,"line":4995},[4576,6149,6150],{"class":4713},"    >\n",[4576,6152,6153,6155,6157,6159,6161,6163,6165,6168,6170,6172,6174,6177,6179,6181,6184,6186,6188,6190,6193,6195,6197],{"class":4578,"line":5006},[4576,6154,4748],{"class":4713},[4576,6156,4619],{"class":4717},[4576,6158,4721],{"class":4720},[4576,6160,4724],{"class":4586},[4576,6162,4727],{"class":4653},[4576,6164,6092],{"class":4733},[4576,6166,6167],{"class":4590},"color:",[4576,6169,5926],{"class":4590},[4576,6171,3806],{"class":4733},[4576,6173,4958],{"class":4590},[4576,6175,6176],{"class":4600}," '800'",[4576,6178,3806],{"class":4733},[4576,6180,4950],{"class":4590},[4576,6182,6183],{"class":4935}," 22",[4576,6185,6107],{"class":4733},[4576,6187,4739],{"class":4653},[4576,6189,4768],{"class":4713},[4576,6191,6192],{"class":4586},"Типи вводу",[4576,6194,4774],{"class":4713},[4576,6196,4619],{"class":4717},[4576,6198,4742],{"class":4713},[4576,6200,6201,6203,6205,6207,6209,6211,6213,6215,6217,6219,6221,6223,6225,6227],{"class":4578,"line":5017},[4576,6202,4748],{"class":4713},[4576,6204,4619],{"class":4717},[4576,6206,4721],{"class":4720},[4576,6208,4724],{"class":4586},[4576,6210,4727],{"class":4653},[4576,6212,6092],{"class":4733},[4576,6214,6167],{"class":4590},[4576,6216,5949],{"class":4590},[4576,6218,3806],{"class":4733},[4576,6220,4950],{"class":4590},[4576,6222,4953],{"class":4935},[4576,6224,6107],{"class":4733},[4576,6226,4739],{"class":4653},[4576,6228,4742],{"class":4713},[4576,6230,6231],{"class":4578,"line":5027},[4576,6232,6233],{"class":4586},"        На пристрої змінюється розкладка клавіатури. У прев’ю — ті самі props.\n",[4576,6235,6236,6239,6241],{"class":4578,"line":5038},[4576,6237,6238],{"class":4713},"      \u003C\u002F",[4576,6240,4619],{"class":4717},[4576,6242,4742],{"class":4713},[4576,6244,6245],{"class":4578,"line":5049},[4576,6246,4644],{"emptyLinePlaceholder":4643},[4576,6248,6249,6251,6253,6255,6257,6259,6262,6264,6266,6268,6271,6273,6275,6278,6280,6282,6285,6287,6289],{"class":4578,"line":5055},[4576,6250,4748],{"class":4713},[4576,6252,4619],{"class":4717},[4576,6254,4721],{"class":4720},[4576,6256,4724],{"class":4586},[4576,6258,4727],{"class":4653},[4576,6260,6261],{"class":4733},"[",[4576,6263,4730],{"class":4590},[4576,6265,3857],{"class":4733},[4576,6267,4763],{"class":4590},[4576,6269,6270],{"class":4733},", { ",[4576,6272,6167],{"class":4590},[4576,6274,5949],{"class":4590},[4576,6276,6277],{"class":4733}," }]",[4576,6279,4739],{"class":4653},[4576,6281,4768],{"class":4713},[4576,6283,6284],{"class":4586},"Email",[4576,6286,4774],{"class":4713},[4576,6288,4619],{"class":4717},[4576,6290,4742],{"class":4713},[4576,6292,6293,6295],{"class":4578,"line":5744},[4576,6294,4748],{"class":4713},[4576,6296,4786],{"class":4717},[4576,6298,6300,6302,6304,6306,6308],{"class":4578,"line":6299},35,[4576,6301,4792],{"class":4720},[4576,6303,4724],{"class":4586},[4576,6305,4727],{"class":4653},[4576,6307,4092],{"class":4590},[4576,6309,4801],{"class":4653},[4576,6311,6313,6315,6317,6319,6321],{"class":4578,"line":6312},36,[4576,6314,4807],{"class":4720},[4576,6316,4724],{"class":4586},[4576,6318,4727],{"class":4653},[4576,6320,6005],{"class":4590},[4576,6322,4801],{"class":4653},[4576,6324,6326,6328,6330],{"class":4578,"line":6325},37,[4576,6327,4821],{"class":4720},[4576,6329,4724],{"class":4586},[4576,6331,6332],{"class":4600},"\"you@example.com\"\n",[4576,6334,6336,6339,6341,6343,6346],{"class":4578,"line":6335},38,[4576,6337,6338],{"class":4720},"        placeholderTextColor",[4576,6340,4724],{"class":4586},[4576,6342,4727],{"class":4653},[4576,6344,6345],{"class":4590},"muted",[4576,6347,4801],{"class":4653},[4576,6349,6351,6353,6355],{"class":4578,"line":6350},39,[4576,6352,5593],{"class":4720},[4576,6354,4724],{"class":4586},[4576,6356,5598],{"class":4600},[4576,6358,6360,6362,6364],{"class":4578,"line":6359},40,[4576,6361,4832],{"class":4720},[4576,6363,4724],{"class":4586},[4576,6365,5607],{"class":4600},[4576,6367,6369,6371,6373],{"class":4578,"line":6368},41,[4576,6370,4843],{"class":4720},[4576,6372,4724],{"class":4586},[4576,6374,4848],{"class":4653},[4576,6376,6378,6380,6382,6384,6386,6388,6390,6392,6394,6396,6398,6400,6403,6405,6407,6409,6411,6413],{"class":4578,"line":6377},42,[4576,6379,4854],{"class":4720},[4576,6381,4724],{"class":4586},[4576,6383,4727],{"class":4653},[4576,6385,6261],{"class":4733},[4576,6387,4730],{"class":4590},[4576,6389,3857],{"class":4733},[4576,6391,4865],{"class":4590},[4576,6393,6270],{"class":4733},[4576,6395,6102],{"class":4590},[4576,6397,5903],{"class":4590},[4576,6399,3806],{"class":4733},[4576,6401,6402],{"class":4590},"borderColor:",[4576,6404,5972],{"class":4590},[4576,6406,3806],{"class":4733},[4576,6408,6167],{"class":4590},[4576,6410,5926],{"class":4590},[4576,6412,6277],{"class":4733},[4576,6414,4801],{"class":4653},[4576,6416,6418],{"class":4578,"line":6417},43,[4576,6419,4873],{"class":4713},[4576,6421,6423],{"class":4578,"line":6422},44,[4576,6424,4644],{"emptyLinePlaceholder":4643},[4576,6426,6428,6430,6432,6434,6436,6438,6440,6442,6444,6446,6448,6450,6452,6454,6456,6458,6461,6463,6465],{"class":4578,"line":6427},45,[4576,6429,4748],{"class":4713},[4576,6431,4619],{"class":4717},[4576,6433,4721],{"class":4720},[4576,6435,4724],{"class":4586},[4576,6437,4727],{"class":4653},[4576,6439,6261],{"class":4733},[4576,6441,4730],{"class":4590},[4576,6443,3857],{"class":4733},[4576,6445,4763],{"class":4590},[4576,6447,6270],{"class":4733},[4576,6449,6167],{"class":4590},[4576,6451,5949],{"class":4590},[4576,6453,6277],{"class":4733},[4576,6455,4739],{"class":4653},[4576,6457,4768],{"class":4713},[4576,6459,6460],{"class":4586},"Телефон",[4576,6462,4774],{"class":4713},[4576,6464,4619],{"class":4717},[4576,6466,4742],{"class":4713},[4576,6468,6470,6472],{"class":4578,"line":6469},46,[4576,6471,4748],{"class":4713},[4576,6473,4786],{"class":4717},[4576,6475,6477,6479,6481,6483,6485],{"class":4578,"line":6476},47,[4576,6478,4792],{"class":4720},[4576,6480,4724],{"class":4586},[4576,6482,4727],{"class":4653},[4576,6484,6024],{"class":4590},[4576,6486,4801],{"class":4653},[4576,6488,6490,6492,6494,6496,6498],{"class":4578,"line":6489},48,[4576,6491,4807],{"class":4720},[4576,6493,4724],{"class":4586},[4576,6495,4727],{"class":4653},[4576,6497,6029],{"class":4590},[4576,6499,4801],{"class":4653},[4576,6501,6503,6505,6507],{"class":4578,"line":6502},49,[4576,6504,4821],{"class":4720},[4576,6506,4724],{"class":4586},[4576,6508,6509],{"class":4600},"\"+380…\"\n",[4576,6511,6513,6515,6517,6519,6521],{"class":4578,"line":6512},50,[4576,6514,6338],{"class":4720},[4576,6516,4724],{"class":4586},[4576,6518,4727],{"class":4653},[4576,6520,6345],{"class":4590},[4576,6522,4801],{"class":4653},[4576,6524,6526,6528,6530],{"class":4578,"line":6525},51,[4576,6527,5593],{"class":4720},[4576,6529,4724],{"class":4586},[4576,6531,6532],{"class":4600},"\"phone-pad\"\n",[4576,6534,6536,6538,6540,6542,6544,6546,6548,6550,6552,6554,6556,6558,6560,6562,6564,6566,6568,6570],{"class":4578,"line":6535},52,[4576,6537,4854],{"class":4720},[4576,6539,4724],{"class":4586},[4576,6541,4727],{"class":4653},[4576,6543,6261],{"class":4733},[4576,6545,4730],{"class":4590},[4576,6547,3857],{"class":4733},[4576,6549,4865],{"class":4590},[4576,6551,6270],{"class":4733},[4576,6553,6102],{"class":4590},[4576,6555,5903],{"class":4590},[4576,6557,3806],{"class":4733},[4576,6559,6402],{"class":4590},[4576,6561,5972],{"class":4590},[4576,6563,3806],{"class":4733},[4576,6565,6167],{"class":4590},[4576,6567,5926],{"class":4590},[4576,6569,6277],{"class":4733},[4576,6571,4801],{"class":4653},[4576,6573,6575],{"class":4578,"line":6574},53,[4576,6576,4873],{"class":4713},[4576,6578,6580],{"class":4578,"line":6579},54,[4576,6581,4644],{"emptyLinePlaceholder":4643},[4576,6583,6585,6587,6589,6591,6593,6595,6597,6599,6601,6603,6605,6607,6609,6611,6613,6615,6618,6620,6622],{"class":4578,"line":6584},55,[4576,6586,4748],{"class":4713},[4576,6588,4619],{"class":4717},[4576,6590,4721],{"class":4720},[4576,6592,4724],{"class":4586},[4576,6594,4727],{"class":4653},[4576,6596,6261],{"class":4733},[4576,6598,4730],{"class":4590},[4576,6600,3857],{"class":4733},[4576,6602,4763],{"class":4590},[4576,6604,6270],{"class":4733},[4576,6606,6167],{"class":4590},[4576,6608,5949],{"class":4590},[4576,6610,6277],{"class":4733},[4576,6612,4739],{"class":4653},[4576,6614,4768],{"class":4713},[4576,6616,6617],{"class":4586},"Нотатка (multiline)",[4576,6619,4774],{"class":4713},[4576,6621,4619],{"class":4717},[4576,6623,4742],{"class":4713},[4576,6625,6627,6629],{"class":4578,"line":6626},56,[4576,6628,4748],{"class":4713},[4576,6630,4786],{"class":4717},[4576,6632,6634,6636,6638,6640,6642],{"class":4578,"line":6633},57,[4576,6635,4792],{"class":4720},[4576,6637,4724],{"class":4586},[4576,6639,4727],{"class":4653},[4576,6641,6048],{"class":4590},[4576,6643,4801],{"class":4653},[4576,6645,6647,6649,6651,6653,6655],{"class":4578,"line":6646},58,[4576,6648,4807],{"class":4720},[4576,6650,4724],{"class":4586},[4576,6652,4727],{"class":4653},[4576,6654,6053],{"class":4590},[4576,6656,4801],{"class":4653},[4576,6658,6660,6662,6664],{"class":4578,"line":6659},59,[4576,6661,4821],{"class":4720},[4576,6663,4724],{"class":4586},[4576,6665,6666],{"class":4600},"\"Кілька рядків…\"\n",[4576,6668,6670,6672,6674,6676,6678],{"class":4578,"line":6669},60,[4576,6671,6338],{"class":4720},[4576,6673,4724],{"class":4586},[4576,6675,4727],{"class":4653},[4576,6677,6345],{"class":4590},[4576,6679,4801],{"class":4653},[4576,6681,6683],{"class":4578,"line":6682},61,[4576,6684,6685],{"class":4720},"        multiline\n",[4576,6687,6689,6692,6694],{"class":4578,"line":6688},62,[4576,6690,6691],{"class":4720},"        textAlignVertical",[4576,6693,4724],{"class":4586},[4576,6695,6696],{"class":4600},"\"top\"\n",[4576,6698,6700,6702,6704,6706],{"class":4578,"line":6699},63,[4576,6701,4854],{"class":4720},[4576,6703,4724],{"class":4586},[4576,6705,4727],{"class":4653},[4576,6707,6708],{"class":4733},"[\n",[4576,6710,6712,6715,6717,6719],{"class":4578,"line":6711},64,[4576,6713,6714],{"class":4590},"          styles",[4576,6716,3857],{"class":4733},[4576,6718,4865],{"class":4590},[4576,6720,4992],{"class":4733},[4576,6722,6724,6726,6728,6731],{"class":4578,"line":6723},65,[4576,6725,6714],{"class":4590},[4576,6727,3857],{"class":4733},[4576,6729,6730],{"class":4590},"multi",[4576,6732,4992],{"class":4733},[4576,6734,6736,6739,6741,6743,6745,6747,6749,6751,6753,6755],{"class":4578,"line":6735},66,[4576,6737,6738],{"class":4733},"          { ",[4576,6740,6102],{"class":4590},[4576,6742,5903],{"class":4590},[4576,6744,3806],{"class":4733},[4576,6746,6402],{"class":4590},[4576,6748,5972],{"class":4590},[4576,6750,3806],{"class":4733},[4576,6752,6167],{"class":4590},[4576,6754,5926],{"class":4590},[4576,6756,4939],{"class":4733},[4576,6758,6760,6763],{"class":4578,"line":6759},67,[4576,6761,6762],{"class":4733},"        ]",[4576,6764,4801],{"class":4653},[4576,6766,6768],{"class":4578,"line":6767},68,[4576,6769,4873],{"class":4713},[4576,6771,6773,6775,6777],{"class":4578,"line":6772},69,[4576,6774,4879],{"class":4713},[4576,6776,3853],{"class":4717},[4576,6778,4742],{"class":4713},[4576,6780,6782],{"class":4578,"line":6781},70,[4576,6783,4889],{"class":4586},[4576,6785,6787],{"class":4578,"line":6786},71,[4576,6788,4801],{"class":4586},[4576,6790,6792],{"class":4578,"line":6791},72,[4576,6793,4644],{"emptyLinePlaceholder":4643},[4576,6795,6797,6799,6801,6803,6805,6807,6809],{"class":4578,"line":6796},73,[4576,6798,4905],{"class":4653},[4576,6800,4908],{"class":4673},[4576,6802,4911],{"class":4586},[4576,6804,4614],{"class":4590},[4576,6806,3857],{"class":4586},[4576,6808,4918],{"class":4657},[4576,6810,4921],{"class":4586},[4576,6812,6814,6816,6818,6820,6822,6824,6826,6828,6830,6832,6834],{"class":4578,"line":6813},74,[4576,6815,4945],{"class":4590},[4576,6817,4587],{"class":4586},[4576,6819,4950],{"class":4590},[4576,6821,5001],{"class":4935},[4576,6823,3806],{"class":4586},[4576,6825,4958],{"class":4590},[4576,6827,4961],{"class":4600},[4576,6829,3806],{"class":4586},[4576,6831,4966],{"class":4590},[4576,6833,4969],{"class":4600},[4576,6835,4939],{"class":4586},[4576,6837,6839,6841],{"class":4578,"line":6838},75,[4576,6840,4977],{"class":4590},[4576,6842,4980],{"class":4586},[4576,6844,6846,6848,6850],{"class":4578,"line":6845},76,[4576,6847,4986],{"class":4590},[4576,6849,4989],{"class":4935},[4576,6851,4992],{"class":4586},[4576,6853,6855,6857,6859],{"class":4578,"line":6854},77,[4576,6856,4998],{"class":4590},[4576,6858,5001],{"class":4935},[4576,6860,4992],{"class":4586},[4576,6862,6864,6866,6868],{"class":4578,"line":6863},78,[4576,6865,5009],{"class":4590},[4576,6867,5012],{"class":4935},[4576,6869,4992],{"class":4586},[4576,6871,6873,6875,6877],{"class":4578,"line":6872},79,[4576,6874,5020],{"class":4590},[4576,6876,5001],{"class":4935},[4576,6878,4992],{"class":4586},[4576,6880,6882,6884,6886],{"class":4578,"line":6881},80,[4576,6883,5030],{"class":4590},[4576,6885,5033],{"class":4935},[4576,6887,4992],{"class":4586},[4576,6889,6891,6893,6895],{"class":4578,"line":6890},81,[4576,6892,5041],{"class":4590},[4576,6894,5044],{"class":4935},[4576,6896,4992],{"class":4586},[4576,6898,6900],{"class":4578,"line":6899},82,[4576,6901,5052],{"class":4586},[4576,6903,6905,6908,6910,6913,6916],{"class":4578,"line":6904},83,[4576,6906,6907],{"class":4590},"  multi:",[4576,6909,4587],{"class":4586},[4576,6911,6912],{"class":4590},"minHeight:",[4576,6914,6915],{"class":4935}," 100",[4576,6917,4939],{"class":4586},[4576,6919,6921],{"class":4578,"line":6920},84,[4576,6922,5058],{"class":4586},[3881,6924],{},[3734,6926,6928,3876,6930,6933],{"id":6927},"pressable-та-button-механіка-ініціації-дій-та-стани-взаємодії",[3803,6929,3947],{},[3803,6931,6932],{},"Button",": механіка ініціації дій та стани взаємодії",[3739,6935,6936,6937,6940,6941,4084,6944,6947],{},"Поля форми відповідають за ",[3746,6938,6939],{},"збір та десеріалізацію даних",", тоді як кнопки фіксують ",[3746,6942,6943],{},"намір користувача",[3777,6945,6946],{},"User Intent","): підтвердження, скидання, перехід до наступного кроку або скасування.",[3792,6949,6951,6952,6954],{"id":6950},"архітектура-pressable-скінченний-автомат-обробки-дотиків","Архітектура ",[3803,6953,3947],{},": скінченний автомат обробки дотиків",[3739,6956,6957,6958,6962,6963,3749],{},"Базовий компонент ",[3746,6959,6960],{},[3803,6961,3947],{}," є низькорівневим інструментом відстеження жестової взаємодії, побудованим за принципом скінченного автомата станів (",[3777,6964,6965],{},"Finite State Machine",[3891,6967,6970],{"className":6968,"code":6969,"language":3896},[3894],"       +---------------------------------------------+\n       |                  IDLE                       |\n       +---------------------------------------------+\n           |                                     ^\n       onPressIn                             onPressOut \u002F Cancel\n           v                                     |\n       +---------------------------------------------+\n       |   PRESSED (style: ({ pressed }) => [...])   |\n       +---------------------------------------------+\n           |\n       Touch Released (within hitSlop boundary)\n           v\n       +---------------------------------------------+\n       |          EXECUTE: onPress (Submit)          |\n       +---------------------------------------------+\n",[3803,6971,6969],{"__ignoreMap":3899},[3792,6973,6975,6976,6978],{"id":6974},"ключові-можливості-та-ергономіка-pressable","Ключові можливості та ергономіка ",[3803,6977,3947],{},":",[3751,6980,6981,6998,7014],{},[3754,6982,6983,6989,6990,6993,6994,6997],{},[3746,6984,6985,6986,3749],{},"Динамічна функція стилів (",[3803,6987,6988],{},"style={({ pressed }) => [...]}","\nНадає прямий доступ до стану натискання в момент контакту пальця з екраном. Це дозволяє реалізувати миттєвий візуальний зворотний зв'язок (зміна непрозорості ",[3803,6991,6992],{},"opacity: 0.85"," або трансформація масштабу ",[3803,6995,6996],{},"transform: [{ scale: 0.98 }]",") до запуску важких асинхронних операцій.",[3754,6999,7000,7006,7007,4084,7010,7013],{},[3746,7001,7002,7003,6978],{},"Закон Фіттса та ",[3803,7004,7005],{},"hitSlop","\nВластивість ",[3803,7008,7009],{},"hitSlop: Insets",[3803,7011,7012],{},"{ top: 12, bottom: 12, left: 12, right: 12 }",") розширює фізичну площу детекції дотику за межі візуальних рамок елемента без порушення геометричного розташування сусідніх компонентів у Flexbox. Це гарантує відповідність нормам доступності (мінімум 44×44 pt).",[3754,7015,7016,7019,7020,6978],{},[3746,7017,7018],{},"Захист від подвійного сабміту (Idempotency & Race Conditions):","\nПри асинхронній відправці форми обов'язково використовується стан блокування ",[3803,7021,7022],{},"disabled={isSubmitting}",[3891,7024,7026],{"className":4570,"code":7025,"language":4572,"meta":3899,"style":3899},"import { ActivityIndicator, Pressable, StyleSheet, Text } from 'react-native';\n\ninterface SubmitButtonProps {\n  onPress: () => void;\n  isSubmitting: boolean;\n  title: string;\n}\n\nexport function SubmitButton({ onPress, isSubmitting, title }: SubmitButtonProps) {\n  return (\n    \u003CPressable\n      onPress={onPress}\n      disabled={isSubmitting}\n      style={({ pressed }) => [\n        styles.button,\n        pressed && !isSubmitting && styles.buttonPressed,\n        isSubmitting && styles.buttonDisabled,\n      ]}\n    >\n      {isSubmitting ? (\n        \u003CActivityIndicator color=\"#FFFFFF\" \u002F>\n      ) : (\n        \u003CText style={styles.buttonText}>{title}\u003C\u002FText>\n      )}\n    \u003C\u002FPressable>\n  );\n}\n\nconst styles = StyleSheet.create({\n  button: {\n    backgroundColor: '#2563EB',\n    paddingVertical: 14,\n    borderRadius: 12,\n    alignItems: 'center',\n    justifyContent: 'center',\n    minHeight: 48,\n  },\n  buttonPressed: { opacity: 0.85, transform: [{ scale: 0.99 }] },\n  buttonDisabled: { backgroundColor: '#94A3B8' },\n  buttonText: { color: '#FFFFFF', fontSize: 16, fontWeight: '700' },\n});\n",[3803,7027,7028,7057,7061,7071,7086,7098,7109,7113,7117,7150,7156,7163,7176,7189,7210,7222,7246,7262,7269,7273,7285,7303,7312,7347,7354,7362,7366,7370,7374,7390,7397,7407,7415,7423,7433,7442,7450,7454,7484,7498,7524],{"__ignoreMap":3899},[4576,7029,7030,7032,7034,7037,7039,7041,7043,7045,7047,7049,7051,7053,7055],{"class":4578,"line":4579},[4576,7031,4583],{"class":4582},[4576,7033,4587],{"class":4586},[4576,7035,7036],{"class":4590},"ActivityIndicator",[4576,7038,3806],{"class":4586},[4576,7040,3947],{"class":4590},[4576,7042,3806],{"class":4586},[4576,7044,4614],{"class":4590},[4576,7046,3806],{"class":4586},[4576,7048,4619],{"class":4590},[4576,7050,4594],{"class":4586},[4576,7052,4597],{"class":4582},[4576,7054,4635],{"class":4600},[4576,7056,4604],{"class":4586},[4576,7058,7059],{"class":4578,"line":4607},[4576,7060,4644],{"emptyLinePlaceholder":4643},[4576,7062,7063,7066,7069],{"class":4578,"line":4640},[4576,7064,7065],{"class":4653},"interface",[4576,7067,7068],{"class":4717}," SubmitButtonProps",[4576,7070,4980],{"class":4586},[4576,7072,7073,7076,7079,7081,7084],{"class":4578,"line":4647},[4576,7074,7075],{"class":4657},"  onPress",[4576,7077,7078],{"class":4586},": () ",[4576,7080,5537],{"class":4653},[4576,7082,7083],{"class":4717}," void",[4576,7085,4604],{"class":4586},[4576,7087,7088,7091,7094,7096],{"class":4578,"line":4664},[4576,7089,7090],{"class":4590},"  isSubmitting",[4576,7092,7093],{"class":4586},": ",[4576,7095,4372],{"class":4717},[4576,7097,4604],{"class":4586},[4576,7099,7100,7103,7105,7107],{"class":4578,"line":4696},[4576,7101,7102],{"class":4590},"  title",[4576,7104,7093],{"class":4586},[4576,7106,4349],{"class":4717},[4576,7108,4604],{"class":4586},[4576,7110,7111],{"class":4578,"line":4701},[4576,7112,4801],{"class":4586},[4576,7114,7115],{"class":4578,"line":4710},[4576,7116,4644],{"emptyLinePlaceholder":4643},[4576,7118,7119,7121,7123,7126,7129,7131,7133,7136,7138,7141,7144,7147],{"class":4578,"line":4745},[4576,7120,4650],{"class":4582},[4576,7122,4654],{"class":4653},[4576,7124,7125],{"class":4657}," SubmitButton",[4576,7127,7128],{"class":4586},"({ ",[4576,7130,4180],{"class":4590},[4576,7132,3806],{"class":4586},[4576,7134,7135],{"class":4590},"isSubmitting",[4576,7137,3806],{"class":4586},[4576,7139,7140],{"class":4590},"title",[4576,7142,7143],{"class":4586}," }: ",[4576,7145,7146],{"class":4717},"SubmitButtonProps",[4576,7148,7149],{"class":4586},") {\n",[4576,7151,7152,7154],{"class":4578,"line":4781},[4576,7153,4704],{"class":4582},[4576,7155,4707],{"class":4586},[4576,7157,7158,7160],{"class":4578,"line":4789},[4576,7159,4714],{"class":4713},[4576,7161,7162],{"class":4717},"Pressable\n",[4576,7164,7165,7168,7170,7172,7174],{"class":4578,"line":4804},[4576,7166,7167],{"class":4720},"      onPress",[4576,7169,4724],{"class":4586},[4576,7171,4727],{"class":4653},[4576,7173,4180],{"class":4590},[4576,7175,4801],{"class":4653},[4576,7177,7178,7181,7183,7185,7187],{"class":4578,"line":4818},[4576,7179,7180],{"class":4720},"      disabled",[4576,7182,4724],{"class":4586},[4576,7184,4727],{"class":4653},[4576,7186,7135],{"class":4590},[4576,7188,4801],{"class":4653},[4576,7190,7191,7193,7195,7197,7199,7202,7205,7207],{"class":4578,"line":4829},[4576,7192,6085],{"class":4720},[4576,7194,4724],{"class":4586},[4576,7196,4727],{"class":4653},[4576,7198,7128],{"class":4733},[4576,7200,7201],{"class":4590},"pressed",[4576,7203,7204],{"class":4733}," }) ",[4576,7206,5537],{"class":4653},[4576,7208,7209],{"class":4733}," [\n",[4576,7211,7212,7215,7217,7220],{"class":4578,"line":4840},[4576,7213,7214],{"class":4590},"        styles",[4576,7216,3857],{"class":4733},[4576,7218,7219],{"class":4590},"button",[4576,7221,4992],{"class":4733},[4576,7223,7224,7227,7230,7233,7235,7237,7239,7241,7244],{"class":4578,"line":4851},[4576,7225,7226],{"class":4590},"        pressed",[4576,7228,7229],{"class":4586}," &&",[4576,7231,7232],{"class":4586}," !",[4576,7234,7135],{"class":4590},[4576,7236,7229],{"class":4586},[4576,7238,4908],{"class":4590},[4576,7240,3857],{"class":4733},[4576,7242,7243],{"class":4590},"buttonPressed",[4576,7245,4992],{"class":4733},[4576,7247,7248,7251,7253,7255,7257,7260],{"class":4578,"line":4870},[4576,7249,7250],{"class":4590},"        isSubmitting",[4576,7252,7229],{"class":4586},[4576,7254,4908],{"class":4590},[4576,7256,3857],{"class":4733},[4576,7258,7259],{"class":4590},"buttonDisabled",[4576,7261,4992],{"class":4733},[4576,7263,7264,7267],{"class":4578,"line":4876},[4576,7265,7266],{"class":4733},"      ]",[4576,7268,4801],{"class":4653},[4576,7270,7271],{"class":4578,"line":4886},[4576,7272,6150],{"class":4713},[4576,7274,7275,7278,7280,7283],{"class":4578,"line":4892},[4576,7276,7277],{"class":4653},"      {",[4576,7279,7135],{"class":4590},[4576,7281,7282],{"class":4586}," ?",[4576,7284,4707],{"class":4733},[4576,7286,7287,7290,7292,7295,7297,7300],{"class":4578,"line":4897},[4576,7288,7289],{"class":4713},"        \u003C",[4576,7291,7036],{"class":4717},[4576,7293,7294],{"class":4720}," color",[4576,7296,4724],{"class":4586},[4576,7298,7299],{"class":4600},"\"#FFFFFF\"",[4576,7301,7302],{"class":4713}," \u002F>\n",[4576,7304,7305,7308,7310],{"class":4578,"line":4902},[4576,7306,7307],{"class":4733},"      ) ",[4576,7309,6978],{"class":4586},[4576,7311,4707],{"class":4733},[4576,7313,7314,7316,7318,7320,7322,7324,7326,7328,7331,7333,7335,7337,7339,7341,7343,7345],{"class":4578,"line":4924},[4576,7315,7289],{"class":4713},[4576,7317,4619],{"class":4717},[4576,7319,4721],{"class":4720},[4576,7321,4724],{"class":4586},[4576,7323,4727],{"class":4653},[4576,7325,4730],{"class":4590},[4576,7327,3857],{"class":4733},[4576,7329,7330],{"class":4590},"buttonText",[4576,7332,4739],{"class":4653},[4576,7334,4768],{"class":4713},[4576,7336,4727],{"class":4653},[4576,7338,7140],{"class":4590},[4576,7340,4739],{"class":4653},[4576,7342,4774],{"class":4713},[4576,7344,4619],{"class":4717},[4576,7346,4742],{"class":4713},[4576,7348,7349,7352],{"class":4578,"line":4942},[4576,7350,7351],{"class":4733},"      )",[4576,7353,4801],{"class":4653},[4576,7355,7356,7358,7360],{"class":4578,"line":4974},[4576,7357,4879],{"class":4713},[4576,7359,3947],{"class":4717},[4576,7361,4742],{"class":4713},[4576,7363,7364],{"class":4578,"line":4983},[4576,7365,4889],{"class":4586},[4576,7367,7368],{"class":4578,"line":4995},[4576,7369,4801],{"class":4586},[4576,7371,7372],{"class":4578,"line":5006},[4576,7373,4644],{"emptyLinePlaceholder":4643},[4576,7375,7376,7378,7380,7382,7384,7386,7388],{"class":4578,"line":5017},[4576,7377,4905],{"class":4653},[4576,7379,4908],{"class":4673},[4576,7381,4911],{"class":4586},[4576,7383,4614],{"class":4590},[4576,7385,3857],{"class":4586},[4576,7387,4918],{"class":4657},[4576,7389,4921],{"class":4586},[4576,7391,7392,7395],{"class":4578,"line":5027},[4576,7393,7394],{"class":4590},"  button:",[4576,7396,4980],{"class":4586},[4576,7398,7399,7402,7405],{"class":4578,"line":5038},[4576,7400,7401],{"class":4590},"    backgroundColor:",[4576,7403,7404],{"class":4600}," '#2563EB'",[4576,7406,4992],{"class":4586},[4576,7408,7409,7411,7413],{"class":4578,"line":5049},[4576,7410,5020],{"class":4590},[4576,7412,5012],{"class":4935},[4576,7414,4992],{"class":4586},[4576,7416,7417,7419,7421],{"class":4578,"line":5055},[4576,7418,4998],{"class":4590},[4576,7420,5001],{"class":4935},[4576,7422,4992],{"class":4586},[4576,7424,7425,7428,7431],{"class":4578,"line":5744},[4576,7426,7427],{"class":4590},"    alignItems:",[4576,7429,7430],{"class":4600}," 'center'",[4576,7432,4992],{"class":4586},[4576,7434,7435,7438,7440],{"class":4578,"line":6299},[4576,7436,7437],{"class":4590},"    justifyContent:",[4576,7439,7430],{"class":4600},[4576,7441,4992],{"class":4586},[4576,7443,7444,7446,7448],{"class":4578,"line":6312},[4576,7445,5041],{"class":4590},[4576,7447,5044],{"class":4935},[4576,7449,4992],{"class":4586},[4576,7451,7452],{"class":4578,"line":6325},[4576,7453,5052],{"class":4586},[4576,7455,7456,7459,7461,7464,7467,7469,7472,7475,7478,7481],{"class":4578,"line":6335},[4576,7457,7458],{"class":4590},"  buttonPressed:",[4576,7460,4587],{"class":4586},[4576,7462,7463],{"class":4590},"opacity:",[4576,7465,7466],{"class":4935}," 0.85",[4576,7468,3806],{"class":4586},[4576,7470,7471],{"class":4590},"transform:",[4576,7473,7474],{"class":4586}," [{ ",[4576,7476,7477],{"class":4590},"scale:",[4576,7479,7480],{"class":4935}," 0.99",[4576,7482,7483],{"class":4586}," }] },\n",[4576,7485,7486,7489,7491,7493,7496],{"class":4578,"line":6350},[4576,7487,7488],{"class":4590},"  buttonDisabled:",[4576,7490,4587],{"class":4586},[4576,7492,6102],{"class":4590},[4576,7494,7495],{"class":4600}," '#94A3B8'",[4576,7497,4939],{"class":4586},[4576,7499,7500,7503,7505,7507,7510,7512,7514,7516,7518,7520,7522],{"class":4578,"line":6359},[4576,7501,7502],{"class":4590},"  buttonText:",[4576,7504,4587],{"class":4586},[4576,7506,6167],{"class":4590},[4576,7508,7509],{"class":4600}," '#FFFFFF'",[4576,7511,3806],{"class":4586},[4576,7513,4950],{"class":4590},[4576,7515,5033],{"class":4935},[4576,7517,3806],{"class":4586},[4576,7519,4958],{"class":4590},[4576,7521,4961],{"class":4600},[4576,7523,4939],{"class":4586},[4576,7525,7526],{"class":4578,"line":6368},[4576,7527,5058],{"class":4586},[3792,7529,7531,7532,7534,7535],{"id":7530},"системний-button-проти-кастомного-pressable","Системний ",[3803,7533,6932],{}," проти кастомного ",[3803,7536,3947],{},[3905,7538,7539,7558],{},[3908,7540,7541],{},[3911,7542,7543,7546,7552],{},[3914,7544,7545],{"align":3916},"Характеристика",[3914,7547,7531,7548,4084,7550,5723],{"align":3916},[3803,7549,6932],{},[3803,7551,4214],{},[3914,7553,7554,7555,7557],{"align":3916},"Кастомний ",[3803,7556,3947],{}," (Дизайн-система)",[3928,7559,7560,7573,7590,7612],{},[3911,7561,7562,7567,7570],{},[3933,7563,7564],{"align":3916},[3746,7565,7566],{},"Рендеринг",[3933,7568,7569],{"align":3916},"Нативний віджет платформи (iOS Button \u002F Android Material Button)",[3933,7571,7572],{"align":3916},"Повна композиція React Native елементів",[3911,7574,7575,7580,7587],{},[3933,7576,7577],{"align":3916},[3746,7578,7579],{},"Стилізація",[3933,7581,7582,7583,7586],{"align":3916},"Обмежена (лише колір тексту ",[3803,7584,7585],{},"color"," на iOS або фон на Android)",[3933,7588,7589],{"align":3916},"Необмежена (градієнти, тіні, скруглення, анімації)",[3911,7591,7592,7597,7602],{},[3933,7593,7594],{"align":3916},[3746,7595,7596],{},"Вкладений контент",[3933,7598,7599,7600],{"align":3916},"Тільки статичний рядок ",[3803,7601,7140],{},[3933,7603,7604,7605,3806,7607,3806,7610,5723],{"align":3916},"Будь-яке дерево компонентів (",[3803,7606,4619],{},[3803,7608,7609],{},"Icon",[3803,7611,7036],{},[3911,7613,7614,7619,7622],{},[3933,7615,7616],{"align":3916},[3746,7617,7618],{},"Застосування",[3933,7620,7621],{"align":3916},"Швидке прототипування, системні діалоги",[3933,7623,7624],{"align":3916},"Продакшн-інтерфейси, уніфіковані дизайн-системи",[5754,7626,7630],{"device":5756,"filename":7627,"height":7628,"title":7629},"FormPressable.tsx",420,"Pressable · submit",[3891,7631,7633],{"className":4570,"code":7632,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { Pressable, StyleSheet, Text, View, useColorScheme } from 'react-native';\n\nexport default function App() {\n  const dark = useColorScheme() === 'dark';\n  const bg = dark ? '#000' : '#F8FAFC';\n  const text = dark ? '#f5f5f7' : '#0f172a';\n  const primary = dark ? '#3b82f6' : '#2563eb';\n  const [n, setN] = useState(0);\n\n  return (\n    \u003CView style={[styles.screen, { backgroundColor: bg }]}>\n      \u003CText style={{ color: text, fontWeight: '800', fontSize: 20 }}>Дія форми\u003C\u002FText>\n      \u003CText style={{ color: text, marginVertical: 12 }}>Натискань: {n}\u003C\u002FText>\n      \u003CPressable\n        onPress={() => setN((x) => x + 1)}\n        style={({ pressed }) => [\n          styles.btn,\n          { backgroundColor: primary, opacity: pressed ? 0.85 : 1 },\n        ]}\n      >\n        \u003CText style={styles.btnText}>Надіслати\u003C\u002FText>\n      \u003C\u002FPressable>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: { flex: 1, padding: 16, justifyContent: 'center' },\n  btn: { paddingVertical: 14, borderRadius: 12, alignItems: 'center' },\n  btnText: { color: '#fff', fontWeight: '800' },\n});\n",[3803,7634,7635,7651,7683,7687,7699,7715,7735,7755,7778,7803,7807,7813,7846,7892,7938,7944,7983,8001,8012,8038,8044,8049,8081,8089,8097,8101,8105,8109,8125,8151,8179,8199],{"__ignoreMap":3899},[4576,7636,7637,7639,7641,7643,7645,7647,7649],{"class":4578,"line":4579},[4576,7638,4583],{"class":4582},[4576,7640,4587],{"class":4586},[4576,7642,4591],{"class":4590},[4576,7644,4594],{"class":4586},[4576,7646,4597],{"class":4582},[4576,7648,4601],{"class":4600},[4576,7650,4604],{"class":4586},[4576,7652,7653,7655,7657,7659,7661,7663,7665,7667,7669,7671,7673,7675,7677,7679,7681],{"class":4578,"line":4607},[4576,7654,4583],{"class":4582},[4576,7656,4587],{"class":4586},[4576,7658,3947],{"class":4590},[4576,7660,3806],{"class":4586},[4576,7662,4614],{"class":4590},[4576,7664,3806],{"class":4586},[4576,7666,4619],{"class":4590},[4576,7668,3806],{"class":4586},[4576,7670,4628],{"class":4590},[4576,7672,3806],{"class":4586},[4576,7674,5862],{"class":4590},[4576,7676,4594],{"class":4586},[4576,7678,4597],{"class":4582},[4576,7680,4635],{"class":4600},[4576,7682,4604],{"class":4586},[4576,7684,7685],{"class":4578,"line":4640},[4576,7686,4644],{"emptyLinePlaceholder":4643},[4576,7688,7689,7691,7693,7695,7697],{"class":4578,"line":4647},[4576,7690,4650],{"class":4582},[4576,7692,5843],{"class":4582},[4576,7694,4654],{"class":4653},[4576,7696,5848],{"class":4657},[4576,7698,4661],{"class":4586},[4576,7700,7701,7703,7705,7707,7709,7711,7713],{"class":4578,"line":4664},[4576,7702,4667],{"class":4653},[4576,7704,5857],{"class":4673},[4576,7706,4911],{"class":4586},[4576,7708,5862],{"class":4657},[4576,7710,5865],{"class":4586},[4576,7712,5868],{"class":4600},[4576,7714,4604],{"class":4586},[4576,7716,7717,7719,7721,7723,7725,7727,7729,7731,7733],{"class":4578,"line":4696},[4576,7718,4667],{"class":4653},[4576,7720,5877],{"class":4673},[4576,7722,4911],{"class":4586},[4576,7724,5882],{"class":4590},[4576,7726,5885],{"class":4586},[4576,7728,5888],{"class":4600},[4576,7730,5891],{"class":4586},[4576,7732,5894],{"class":4600},[4576,7734,4604],{"class":4586},[4576,7736,7737,7739,7741,7743,7745,7747,7749,7751,7753],{"class":4578,"line":4701},[4576,7738,4667],{"class":4653},[4576,7740,5926],{"class":4673},[4576,7742,4911],{"class":4586},[4576,7744,5882],{"class":4590},[4576,7746,5885],{"class":4586},[4576,7748,5935],{"class":4600},[4576,7750,5891],{"class":4586},[4576,7752,5940],{"class":4600},[4576,7754,4604],{"class":4586},[4576,7756,7757,7759,7762,7764,7766,7768,7771,7773,7776],{"class":4578,"line":4710},[4576,7758,4667],{"class":4653},[4576,7760,7761],{"class":4673}," primary",[4576,7763,4911],{"class":4586},[4576,7765,5882],{"class":4590},[4576,7767,5885],{"class":4586},[4576,7769,7770],{"class":4600},"'#3b82f6'",[4576,7772,5891],{"class":4586},[4576,7774,7775],{"class":4600},"'#2563eb'",[4576,7777,4604],{"class":4586},[4576,7779,7780,7782,7784,7787,7789,7792,7794,7796,7798,7801],{"class":4578,"line":4745},[4576,7781,4667],{"class":4653},[4576,7783,4670],{"class":4586},[4576,7785,7786],{"class":4673},"n",[4576,7788,3806],{"class":4586},[4576,7790,7791],{"class":4673},"setN",[4576,7793,4682],{"class":4586},[4576,7795,4591],{"class":4657},[4576,7797,4687],{"class":4586},[4576,7799,7800],{"class":4935},"0",[4576,7802,4693],{"class":4586},[4576,7804,7805],{"class":4578,"line":4781},[4576,7806,4644],{"emptyLinePlaceholder":4643},[4576,7808,7809,7811],{"class":4578,"line":4789},[4576,7810,4704],{"class":4582},[4576,7812,4707],{"class":4586},[4576,7814,7815,7817,7819,7821,7823,7825,7827,7829,7831,7834,7836,7838,7840,7842,7844],{"class":4578,"line":4804},[4576,7816,4714],{"class":4713},[4576,7818,4628],{"class":4717},[4576,7820,4721],{"class":4720},[4576,7822,4724],{"class":4586},[4576,7824,4727],{"class":4653},[4576,7826,6261],{"class":4733},[4576,7828,4730],{"class":4590},[4576,7830,3857],{"class":4733},[4576,7832,7833],{"class":4590},"screen",[4576,7835,6270],{"class":4733},[4576,7837,6102],{"class":4590},[4576,7839,5877],{"class":4590},[4576,7841,6277],{"class":4733},[4576,7843,4739],{"class":4653},[4576,7845,4742],{"class":4713},[4576,7847,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7877,7879,7881,7883,7886,7888,7890],{"class":4578,"line":4818},[4576,7849,4748],{"class":4713},[4576,7851,4619],{"class":4717},[4576,7853,4721],{"class":4720},[4576,7855,4724],{"class":4586},[4576,7857,4727],{"class":4653},[4576,7859,6092],{"class":4733},[4576,7861,6167],{"class":4590},[4576,7863,5926],{"class":4590},[4576,7865,3806],{"class":4733},[4576,7867,4958],{"class":4590},[4576,7869,6176],{"class":4600},[4576,7871,3806],{"class":4733},[4576,7873,4950],{"class":4590},[4576,7875,7876],{"class":4935}," 20",[4576,7878,6107],{"class":4733},[4576,7880,4739],{"class":4653},[4576,7882,4768],{"class":4713},[4576,7884,7885],{"class":4586},"Дія форми",[4576,7887,4774],{"class":4713},[4576,7889,4619],{"class":4717},[4576,7891,4742],{"class":4713},[4576,7893,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7915,7917,7919,7921,7923,7926,7928,7930,7932,7934,7936],{"class":4578,"line":4829},[4576,7895,4748],{"class":4713},[4576,7897,4619],{"class":4717},[4576,7899,4721],{"class":4720},[4576,7901,4724],{"class":4586},[4576,7903,4727],{"class":4653},[4576,7905,6092],{"class":4733},[4576,7907,6167],{"class":4590},[4576,7909,5926],{"class":4590},[4576,7911,3806],{"class":4733},[4576,7913,7914],{"class":4590},"marginVertical:",[4576,7916,5001],{"class":4935},[4576,7918,6107],{"class":4733},[4576,7920,4739],{"class":4653},[4576,7922,4768],{"class":4713},[4576,7924,7925],{"class":4586},"Натискань: ",[4576,7927,4727],{"class":4653},[4576,7929,7786],{"class":4590},[4576,7931,4739],{"class":4653},[4576,7933,4774],{"class":4713},[4576,7935,4619],{"class":4717},[4576,7937,4742],{"class":4713},[4576,7939,7940,7942],{"class":4578,"line":4840},[4576,7941,4748],{"class":4713},[4576,7943,7162],{"class":4717},[4576,7945,7946,7949,7951,7953,7955,7957,7960,7963,7966,7969,7971,7974,7977,7979,7981],{"class":4578,"line":4851},[4576,7947,7948],{"class":4720},"        onPress",[4576,7950,4724],{"class":4586},[4576,7952,4727],{"class":4653},[4576,7954,5534],{"class":4733},[4576,7956,5537],{"class":4653},[4576,7958,7959],{"class":4657}," setN",[4576,7961,7962],{"class":4733},"((",[4576,7964,7965],{"class":4590},"x",[4576,7967,7968],{"class":4733},") ",[4576,7970,5537],{"class":4653},[4576,7972,7973],{"class":4590}," x",[4576,7975,7976],{"class":4586}," +",[4576,7978,4989],{"class":4935},[4576,7980,5723],{"class":4733},[4576,7982,4801],{"class":4653},[4576,7984,7985,7987,7989,7991,7993,7995,7997,7999],{"class":4578,"line":4870},[4576,7986,4854],{"class":4720},[4576,7988,4724],{"class":4586},[4576,7990,4727],{"class":4653},[4576,7992,7128],{"class":4733},[4576,7994,7201],{"class":4590},[4576,7996,7204],{"class":4733},[4576,7998,5537],{"class":4653},[4576,8000,7209],{"class":4733},[4576,8002,8003,8005,8007,8010],{"class":4578,"line":4876},[4576,8004,6714],{"class":4590},[4576,8006,3857],{"class":4733},[4576,8008,8009],{"class":4590},"btn",[4576,8011,4992],{"class":4733},[4576,8013,8014,8016,8018,8020,8022,8024,8027,8029,8031,8034,8036],{"class":4578,"line":4886},[4576,8015,6738],{"class":4733},[4576,8017,6102],{"class":4590},[4576,8019,7761],{"class":4590},[4576,8021,3806],{"class":4733},[4576,8023,7463],{"class":4590},[4576,8025,8026],{"class":4590}," pressed",[4576,8028,7282],{"class":4586},[4576,8030,7466],{"class":4935},[4576,8032,8033],{"class":4586}," :",[4576,8035,4989],{"class":4935},[4576,8037,4939],{"class":4733},[4576,8039,8040,8042],{"class":4578,"line":4892},[4576,8041,6762],{"class":4733},[4576,8043,4801],{"class":4653},[4576,8045,8046],{"class":4578,"line":4897},[4576,8047,8048],{"class":4713},"      >\n",[4576,8050,8051,8053,8055,8057,8059,8061,8063,8065,8068,8070,8072,8075,8077,8079],{"class":4578,"line":4902},[4576,8052,7289],{"class":4713},[4576,8054,4619],{"class":4717},[4576,8056,4721],{"class":4720},[4576,8058,4724],{"class":4586},[4576,8060,4727],{"class":4653},[4576,8062,4730],{"class":4590},[4576,8064,3857],{"class":4733},[4576,8066,8067],{"class":4590},"btnText",[4576,8069,4739],{"class":4653},[4576,8071,4768],{"class":4713},[4576,8073,8074],{"class":4586},"Надіслати",[4576,8076,4774],{"class":4713},[4576,8078,4619],{"class":4717},[4576,8080,4742],{"class":4713},[4576,8082,8083,8085,8087],{"class":4578,"line":4924},[4576,8084,6238],{"class":4713},[4576,8086,3947],{"class":4717},[4576,8088,4742],{"class":4713},[4576,8090,8091,8093,8095],{"class":4578,"line":4942},[4576,8092,4879],{"class":4713},[4576,8094,4628],{"class":4717},[4576,8096,4742],{"class":4713},[4576,8098,8099],{"class":4578,"line":4974},[4576,8100,4889],{"class":4586},[4576,8102,8103],{"class":4578,"line":4983},[4576,8104,4801],{"class":4586},[4576,8106,8107],{"class":4578,"line":4995},[4576,8108,4644],{"emptyLinePlaceholder":4643},[4576,8110,8111,8113,8115,8117,8119,8121,8123],{"class":4578,"line":5006},[4576,8112,4905],{"class":4653},[4576,8114,4908],{"class":4673},[4576,8116,4911],{"class":4586},[4576,8118,4614],{"class":4590},[4576,8120,3857],{"class":4586},[4576,8122,4918],{"class":4657},[4576,8124,4921],{"class":4586},[4576,8126,8127,8130,8132,8134,8136,8138,8140,8142,8144,8147,8149],{"class":4578,"line":5017},[4576,8128,8129],{"class":4590},"  screen:",[4576,8131,4587],{"class":4586},[4576,8133,6095],{"class":4590},[4576,8135,4989],{"class":4935},[4576,8137,3806],{"class":4586},[4576,8139,6123],{"class":4590},[4576,8141,5033],{"class":4935},[4576,8143,3806],{"class":4586},[4576,8145,8146],{"class":4590},"justifyContent:",[4576,8148,7430],{"class":4600},[4576,8150,4939],{"class":4586},[4576,8152,8153,8156,8158,8161,8163,8165,8168,8170,8172,8175,8177],{"class":4578,"line":5027},[4576,8154,8155],{"class":4590},"  btn:",[4576,8157,4587],{"class":4586},[4576,8159,8160],{"class":4590},"paddingVertical:",[4576,8162,5012],{"class":4935},[4576,8164,3806],{"class":4586},[4576,8166,8167],{"class":4590},"borderRadius:",[4576,8169,5001],{"class":4935},[4576,8171,3806],{"class":4586},[4576,8173,8174],{"class":4590},"alignItems:",[4576,8176,7430],{"class":4600},[4576,8178,4939],{"class":4586},[4576,8180,8181,8184,8186,8188,8191,8193,8195,8197],{"class":4578,"line":5038},[4576,8182,8183],{"class":4590},"  btnText:",[4576,8185,4587],{"class":4586},[4576,8187,6167],{"class":4590},[4576,8189,8190],{"class":4600}," '#fff'",[4576,8192,3806],{"class":4586},[4576,8194,4958],{"class":4590},[4576,8196,6176],{"class":4600},[4576,8198,4939],{"class":4586},[4576,8200,8201],{"class":4578,"line":5049},[4576,8202,5058],{"class":4586},[3881,8204],{},[3734,8206,8208,8210],{"id":8207},"switch-бінарні-стани-та-платформні-перемикачі",[3803,8209,3809],{},": бінарні стани та платформні перемикачі",[3739,8212,4516,8213,8217,8218,4084,8221,4494,8223,8225,8226,8229,8230,8233,8234,8237],{},[3746,8214,8215],{},[3803,8216,3809],{}," є базовим елементом керування для ",[3746,8219,8220],{},"бінарних значень",[3803,8222,3763],{},[3803,8224,5161],{},"), який транслюється в нативний віджет ",[3803,8227,8228],{},"UISwitch"," на iOS та ",[3803,8231,8232],{},"android.widget.Switch"," (або ",[3803,8235,8236],{},"SwitchCompat",") на платформі Android.",[3792,8239,8241],{"id":8240},"ергономічна-семантика-switch-проти-checkbox","Ергономічна семантика: Switch проти Checkbox",[3905,8243,8244,8261],{},[3908,8245,8246],{},[3911,8247,8248,8251,8256],{},[3914,8249,8250],{"align":3916},"Критерій",[3914,8252,8253,8255],{"align":3916},[3803,8254,3809],{}," (Тумблер)",[3914,8257,8258,8260],{"align":3916},[3803,8259,3812],{}," (Прапорець)",[3928,8262,8263,8276,8289],{},[3911,8264,8265,8270,8273],{},[3933,8266,8267],{"align":3916},[3746,8268,8269],{},"UX-метафора",[3933,8271,8272],{"align":3916},"Фізичний тумблер живлення (увімкнено \u002F вимкнено).",[3933,8274,8275],{"align":3916},"Позначення пункту у друкованому бланку або списку умов.",[3911,8277,8278,8283,8286],{},[3933,8279,8280],{"align":3916},[3746,8281,8282],{},"Характер дії",[3933,8284,8285],{"align":3916},"Миттєва дія або глобальне налаштування (темна тема, приватність, Bluetooth).",[3933,8287,8288],{"align":3916},"Декларативна згода або множинний вибір із переліку опцій.",[3911,8290,8291,8296,8303],{},[3933,8292,8293],{"align":3916},[3746,8294,8295],{},"Швидкість сприйняття",[3933,8297,8298,8299,8302],{"align":3916},"Стан зчитується за просторовим положенням повзунка (",[3777,8300,8301],{},"thumb",") та колірною підсвіткою.",[3933,8304,8305],{"align":3916},"Стан зчитується за наявністю або відсутністю символу галочки всередині контуру.",[3792,8307,8309],{"id":8308},"базовий-контрольований-приклад","Базовий контрольований приклад",[3891,8311,8313],{"className":4570,"code":8312,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { StyleSheet, Switch, Text, View } from 'react-native';\n\nexport function PrivateToggle() {\n  const [isPrivate, setIsPrivate] = useState(false);\n\n  return (\n    \u003CView style={styles.container}>\n      \u003CView style={styles.textGroup}>\n        \u003CText style={styles.title}>Приватний доступ\u003C\u002FText>\n        \u003CText style={styles.subtitle}>Приховати маршрут із публічного каталогу\u003C\u002FText>\n      \u003C\u002FView>\n      \u003CSwitch\n        value={isPrivate}\n        onValueChange={setIsPrivate}\n        trackColor={{ false: '#E2E8F0', true: '#2563EB' }}\n        thumbColor=\"#FFFFFF\"\n        ios_backgroundColor=\"#E2E8F0\"\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n    paddingVertical: 12,\n  },\n  textGroup: { flex: 1, paddingRight: 16 },\n  title: { fontSize: 16, fontWeight: '600' },\n  subtitle: { fontSize: 13, color: '#64748B', marginTop: 2 },\n});\n",[3803,8314,8315,8331,8359,8363,8374,8398,8402,8408,8430,8453,8484,8516,8524,8531,8543,8556,8584,8594,8604,8608,8616,8620,8624,8628,8644,8650,8660,8668,8677,8685,8689,8709,8729,8757],{"__ignoreMap":3899},[4576,8316,8317,8319,8321,8323,8325,8327,8329],{"class":4578,"line":4579},[4576,8318,4583],{"class":4582},[4576,8320,4587],{"class":4586},[4576,8322,4591],{"class":4590},[4576,8324,4594],{"class":4586},[4576,8326,4597],{"class":4582},[4576,8328,4601],{"class":4600},[4576,8330,4604],{"class":4586},[4576,8332,8333,8335,8337,8339,8341,8343,8345,8347,8349,8351,8353,8355,8357],{"class":4578,"line":4607},[4576,8334,4583],{"class":4582},[4576,8336,4587],{"class":4586},[4576,8338,4614],{"class":4590},[4576,8340,3806],{"class":4586},[4576,8342,3809],{"class":4590},[4576,8344,3806],{"class":4586},[4576,8346,4619],{"class":4590},[4576,8348,3806],{"class":4586},[4576,8350,4628],{"class":4590},[4576,8352,4594],{"class":4586},[4576,8354,4597],{"class":4582},[4576,8356,4635],{"class":4600},[4576,8358,4604],{"class":4586},[4576,8360,8361],{"class":4578,"line":4640},[4576,8362,4644],{"emptyLinePlaceholder":4643},[4576,8364,8365,8367,8369,8372],{"class":4578,"line":4647},[4576,8366,4650],{"class":4582},[4576,8368,4654],{"class":4653},[4576,8370,8371],{"class":4657}," PrivateToggle",[4576,8373,4661],{"class":4586},[4576,8375,8376,8378,8380,8383,8385,8388,8390,8392,8394,8396],{"class":4578,"line":4664},[4576,8377,4667],{"class":4653},[4576,8379,4670],{"class":4586},[4576,8381,8382],{"class":4673},"isPrivate",[4576,8384,3806],{"class":4586},[4576,8386,8387],{"class":4673},"setIsPrivate",[4576,8389,4682],{"class":4586},[4576,8391,4591],{"class":4657},[4576,8393,4687],{"class":4586},[4576,8395,5161],{"class":4653},[4576,8397,4693],{"class":4586},[4576,8399,8400],{"class":4578,"line":4696},[4576,8401,4644],{"emptyLinePlaceholder":4643},[4576,8403,8404,8406],{"class":4578,"line":4701},[4576,8405,4704],{"class":4582},[4576,8407,4707],{"class":4586},[4576,8409,8410,8412,8414,8416,8418,8420,8422,8424,8426,8428],{"class":4578,"line":4710},[4576,8411,4714],{"class":4713},[4576,8413,4628],{"class":4717},[4576,8415,4721],{"class":4720},[4576,8417,4724],{"class":4586},[4576,8419,4727],{"class":4653},[4576,8421,4730],{"class":4590},[4576,8423,3857],{"class":4733},[4576,8425,4736],{"class":4590},[4576,8427,4739],{"class":4653},[4576,8429,4742],{"class":4713},[4576,8431,8432,8434,8436,8438,8440,8442,8444,8446,8449,8451],{"class":4578,"line":4745},[4576,8433,4748],{"class":4713},[4576,8435,4628],{"class":4717},[4576,8437,4721],{"class":4720},[4576,8439,4724],{"class":4586},[4576,8441,4727],{"class":4653},[4576,8443,4730],{"class":4590},[4576,8445,3857],{"class":4733},[4576,8447,8448],{"class":4590},"textGroup",[4576,8450,4739],{"class":4653},[4576,8452,4742],{"class":4713},[4576,8454,8455,8457,8459,8461,8463,8465,8467,8469,8471,8473,8475,8478,8480,8482],{"class":4578,"line":4781},[4576,8456,7289],{"class":4713},[4576,8458,4619],{"class":4717},[4576,8460,4721],{"class":4720},[4576,8462,4724],{"class":4586},[4576,8464,4727],{"class":4653},[4576,8466,4730],{"class":4590},[4576,8468,3857],{"class":4733},[4576,8470,7140],{"class":4590},[4576,8472,4739],{"class":4653},[4576,8474,4768],{"class":4713},[4576,8476,8477],{"class":4586},"Приватний доступ",[4576,8479,4774],{"class":4713},[4576,8481,4619],{"class":4717},[4576,8483,4742],{"class":4713},[4576,8485,8486,8488,8490,8492,8494,8496,8498,8500,8503,8505,8507,8510,8512,8514],{"class":4578,"line":4789},[4576,8487,7289],{"class":4713},[4576,8489,4619],{"class":4717},[4576,8491,4721],{"class":4720},[4576,8493,4724],{"class":4586},[4576,8495,4727],{"class":4653},[4576,8497,4730],{"class":4590},[4576,8499,3857],{"class":4733},[4576,8501,8502],{"class":4590},"subtitle",[4576,8504,4739],{"class":4653},[4576,8506,4768],{"class":4713},[4576,8508,8509],{"class":4586},"Приховати маршрут із публічного каталогу",[4576,8511,4774],{"class":4713},[4576,8513,4619],{"class":4717},[4576,8515,4742],{"class":4713},[4576,8517,8518,8520,8522],{"class":4578,"line":4804},[4576,8519,6238],{"class":4713},[4576,8521,4628],{"class":4717},[4576,8523,4742],{"class":4713},[4576,8525,8526,8528],{"class":4578,"line":4818},[4576,8527,4748],{"class":4713},[4576,8529,8530],{"class":4717},"Switch\n",[4576,8532,8533,8535,8537,8539,8541],{"class":4578,"line":4829},[4576,8534,4792],{"class":4720},[4576,8536,4724],{"class":4586},[4576,8538,4727],{"class":4653},[4576,8540,8382],{"class":4590},[4576,8542,4801],{"class":4653},[4576,8544,8545,8548,8550,8552,8554],{"class":4578,"line":4840},[4576,8546,8547],{"class":4720},"        onValueChange",[4576,8549,4724],{"class":4586},[4576,8551,4727],{"class":4653},[4576,8553,8387],{"class":4590},[4576,8555,4801],{"class":4653},[4576,8557,8558,8561,8563,8565,8567,8570,8573,8575,8578,8580,8582],{"class":4578,"line":4851},[4576,8559,8560],{"class":4720},"        trackColor",[4576,8562,4724],{"class":4586},[4576,8564,4727],{"class":4653},[4576,8566,6092],{"class":4733},[4576,8568,8569],{"class":4590},"false:",[4576,8571,8572],{"class":4600}," '#E2E8F0'",[4576,8574,3806],{"class":4733},[4576,8576,8577],{"class":4590},"true:",[4576,8579,7404],{"class":4600},[4576,8581,6107],{"class":4733},[4576,8583,4801],{"class":4653},[4576,8585,8586,8589,8591],{"class":4578,"line":4870},[4576,8587,8588],{"class":4720},"        thumbColor",[4576,8590,4724],{"class":4586},[4576,8592,8593],{"class":4600},"\"#FFFFFF\"\n",[4576,8595,8596,8599,8601],{"class":4578,"line":4876},[4576,8597,8598],{"class":4720},"        ios_backgroundColor",[4576,8600,4724],{"class":4586},[4576,8602,8603],{"class":4600},"\"#E2E8F0\"\n",[4576,8605,8606],{"class":4578,"line":4886},[4576,8607,4873],{"class":4713},[4576,8609,8610,8612,8614],{"class":4578,"line":4892},[4576,8611,4879],{"class":4713},[4576,8613,4628],{"class":4717},[4576,8615,4742],{"class":4713},[4576,8617,8618],{"class":4578,"line":4897},[4576,8619,4889],{"class":4586},[4576,8621,8622],{"class":4578,"line":4902},[4576,8623,4801],{"class":4586},[4576,8625,8626],{"class":4578,"line":4924},[4576,8627,4644],{"emptyLinePlaceholder":4643},[4576,8629,8630,8632,8634,8636,8638,8640,8642],{"class":4578,"line":4942},[4576,8631,4905],{"class":4653},[4576,8633,4908],{"class":4673},[4576,8635,4911],{"class":4586},[4576,8637,4614],{"class":4590},[4576,8639,3857],{"class":4586},[4576,8641,4918],{"class":4657},[4576,8643,4921],{"class":4586},[4576,8645,8646,8648],{"class":4578,"line":4974},[4576,8647,4927],{"class":4590},[4576,8649,4980],{"class":4586},[4576,8651,8652,8655,8658],{"class":4578,"line":4983},[4576,8653,8654],{"class":4590},"    flexDirection:",[4576,8656,8657],{"class":4600}," 'row'",[4576,8659,4992],{"class":4586},[4576,8661,8662,8664,8666],{"class":4578,"line":4995},[4576,8663,7427],{"class":4590},[4576,8665,7430],{"class":4600},[4576,8667,4992],{"class":4586},[4576,8669,8670,8672,8675],{"class":4578,"line":5006},[4576,8671,7437],{"class":4590},[4576,8673,8674],{"class":4600}," 'space-between'",[4576,8676,4992],{"class":4586},[4576,8678,8679,8681,8683],{"class":4578,"line":5017},[4576,8680,5020],{"class":4590},[4576,8682,5001],{"class":4935},[4576,8684,4992],{"class":4586},[4576,8686,8687],{"class":4578,"line":5027},[4576,8688,5052],{"class":4586},[4576,8690,8691,8694,8696,8698,8700,8702,8705,8707],{"class":4578,"line":5038},[4576,8692,8693],{"class":4590},"  textGroup:",[4576,8695,4587],{"class":4586},[4576,8697,6095],{"class":4590},[4576,8699,4989],{"class":4935},[4576,8701,3806],{"class":4586},[4576,8703,8704],{"class":4590},"paddingRight:",[4576,8706,5033],{"class":4935},[4576,8708,4939],{"class":4586},[4576,8710,8711,8714,8716,8718,8720,8722,8724,8727],{"class":4578,"line":5049},[4576,8712,8713],{"class":4590},"  title:",[4576,8715,4587],{"class":4586},[4576,8717,4950],{"class":4590},[4576,8719,5033],{"class":4935},[4576,8721,3806],{"class":4586},[4576,8723,4958],{"class":4590},[4576,8725,8726],{"class":4600}," '600'",[4576,8728,4939],{"class":4586},[4576,8730,8731,8734,8736,8738,8740,8742,8744,8747,8749,8752,8755],{"class":4578,"line":5055},[4576,8732,8733],{"class":4590},"  subtitle:",[4576,8735,4587],{"class":4586},[4576,8737,4950],{"class":4590},[4576,8739,4953],{"class":4935},[4576,8741,3806],{"class":4586},[4576,8743,6167],{"class":4590},[4576,8745,8746],{"class":4600}," '#64748B'",[4576,8748,3806],{"class":4586},[4576,8750,8751],{"class":4590},"marginTop:",[4576,8753,8754],{"class":4935}," 2",[4576,8756,4939],{"class":4586},[4576,8758,8759],{"class":4578,"line":5744},[4576,8760,5058],{"class":4586},[3792,8762,5097,8764],{"id":8763},"повний-огляд-параметрів-props-switch",[3803,8765,3809],{},[5101,8767,8768,8784,8791,8795,8806,8814],{},[5104,8769,8770,8771,8773,8774,5126,8777,8779,8780,8783],{"name":4282,"type":4372},"Поточний бінарний стан перемикача. ",[3803,8772,3763],{}," відповідає активному положенню (",[3777,8775,8776],{},"ON",[3803,8778,5161],{}," — пасивному (",[3777,8781,8782],{},"OFF","). У строго контрольованому режимі вимагає обов'язкової синхронізації зі станом React або контролером RHF.",[5104,8785,8787,8788,3857],{"name":4497,"type":8786},"(value: boolean) => void","Функція зворотного виклику, яка спрацьовує в момент завершення жесту перемикання або тапу. Передає єдиний аргумент нового булевого стану ",[3803,8789,8790],{},"(nextValue: boolean)",[5104,8792,8794],{"name":8793,"type":5169},"disabled","Блокує інтерактивність компонента. Візуально нативний віджет переходить у напівпрозорий приглушений стан, ігноруючи будь-які жести користувача.",[5104,8796,8799,8800,8802,8803,8805],{"name":8797,"type":8798},"trackColor","{ false?: ColorValue, true?: ColorValue }","Об'єкт конфігурації кольору підкладки (доріжки) для неактивного (",[3803,8801,5161],{},") та активного (",[3803,8804,3763],{},") станів. Дозволяє узгодити системний перемикач із дизайн-токенами застосунку.",[5104,8807,8810,8811,8813],{"name":8808,"type":8809},"thumbColor","ColorValue","Колір рухомого кругового маніпулятора (",[3777,8812,8301],{},"). На платформі Android запобігає візуальному злиттю повзунка з підкладкою при використанні кастомних фонів.",[5104,8815,8817,8818,3833],{"name":8816,"type":8809},"ios_backgroundColor","Спеціалізований проп для платформи iOS, що визначає фоновий колір контейнера навколо перемикача в неактивному стані (",[3803,8819,8820],{},"value === false",[3792,8822,8824],{"id":8823},"демо","Демо",[5754,8826,8830],{"device":5756,"filename":8827,"height":8828,"title":8829},"SwitchDemo.tsx",360,"Switch · приватність",[3891,8831,8833],{"className":4570,"code":8832,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { StyleSheet, Switch, Text, View, useColorScheme } from 'react-native';\n\nexport default function App() {\n  const dark = useColorScheme() === 'dark';\n  const bg = dark ? '#000' : '#F8FAFC';\n  const surface = dark ? '#1c1c1e' : '#fff';\n  const text = dark ? '#f5f5f7' : '#0f172a';\n  const muted = dark ? '#a1a1aa' : '#64748b';\n  const border = dark ? '#3a3a3c' : '#e2e8f0';\n  const primary = dark ? '#3b82f6' : '#2563eb';\n  const [on, setOn] = useState(false);\n\n  return (\n    \u003CView style={[styles.screen, { backgroundColor: bg }]}>\n      \u003CView style={[styles.row, { backgroundColor: surface, borderColor: border }]}>\n        \u003CView style={{ flex: 1 }}>\n          \u003CText style={{ color: text, fontWeight: '700' }}>Приватна поїздка\u003C\u002FText>\n          \u003CText style={{ color: muted, marginTop: 4, fontSize: 13 }}>\n            {on ? 'Не показувати в спільній стрічці' : 'Видно у загальному списку'}\n          \u003C\u002FText>\n        \u003C\u002FView>\n        \u003CSwitch\n          value={on}\n          onValueChange={setOn}\n          trackColor={{ false: border, true: primary }}\n          thumbColor=\"#fff\"\n        \u002F>\n      \u003C\u002FView>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: { flex: 1, padding: 16, justifyContent: 'center' },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    gap: 12,\n    padding: 16,\n    borderRadius: 12,\n    borderWidth: 1,\n  },\n});\n",[3803,8834,8835,8851,8883,8887,8899,8915,8935,8955,8975,8995,9015,9035,9059,9063,9069,9101,9140,9164,9204,9241,9260,9269,9278,9284,9297,9310,9335,9345,9350,9358,9366,9370,9374,9378,9394,9418,9425,9433,9441,9450,9459,9467,9475,9479],{"__ignoreMap":3899},[4576,8836,8837,8839,8841,8843,8845,8847,8849],{"class":4578,"line":4579},[4576,8838,4583],{"class":4582},[4576,8840,4587],{"class":4586},[4576,8842,4591],{"class":4590},[4576,8844,4594],{"class":4586},[4576,8846,4597],{"class":4582},[4576,8848,4601],{"class":4600},[4576,8850,4604],{"class":4586},[4576,8852,8853,8855,8857,8859,8861,8863,8865,8867,8869,8871,8873,8875,8877,8879,8881],{"class":4578,"line":4607},[4576,8854,4583],{"class":4582},[4576,8856,4587],{"class":4586},[4576,8858,4614],{"class":4590},[4576,8860,3806],{"class":4586},[4576,8862,3809],{"class":4590},[4576,8864,3806],{"class":4586},[4576,8866,4619],{"class":4590},[4576,8868,3806],{"class":4586},[4576,8870,4628],{"class":4590},[4576,8872,3806],{"class":4586},[4576,8874,5862],{"class":4590},[4576,8876,4594],{"class":4586},[4576,8878,4597],{"class":4582},[4576,8880,4635],{"class":4600},[4576,8882,4604],{"class":4586},[4576,8884,8885],{"class":4578,"line":4640},[4576,8886,4644],{"emptyLinePlaceholder":4643},[4576,8888,8889,8891,8893,8895,8897],{"class":4578,"line":4647},[4576,8890,4650],{"class":4582},[4576,8892,5843],{"class":4582},[4576,8894,4654],{"class":4653},[4576,8896,5848],{"class":4657},[4576,8898,4661],{"class":4586},[4576,8900,8901,8903,8905,8907,8909,8911,8913],{"class":4578,"line":4664},[4576,8902,4667],{"class":4653},[4576,8904,5857],{"class":4673},[4576,8906,4911],{"class":4586},[4576,8908,5862],{"class":4657},[4576,8910,5865],{"class":4586},[4576,8912,5868],{"class":4600},[4576,8914,4604],{"class":4586},[4576,8916,8917,8919,8921,8923,8925,8927,8929,8931,8933],{"class":4578,"line":4696},[4576,8918,4667],{"class":4653},[4576,8920,5877],{"class":4673},[4576,8922,4911],{"class":4586},[4576,8924,5882],{"class":4590},[4576,8926,5885],{"class":4586},[4576,8928,5888],{"class":4600},[4576,8930,5891],{"class":4586},[4576,8932,5894],{"class":4600},[4576,8934,4604],{"class":4586},[4576,8936,8937,8939,8941,8943,8945,8947,8949,8951,8953],{"class":4578,"line":4701},[4576,8938,4667],{"class":4653},[4576,8940,5903],{"class":4673},[4576,8942,4911],{"class":4586},[4576,8944,5882],{"class":4590},[4576,8946,5885],{"class":4586},[4576,8948,5912],{"class":4600},[4576,8950,5891],{"class":4586},[4576,8952,5917],{"class":4600},[4576,8954,4604],{"class":4586},[4576,8956,8957,8959,8961,8963,8965,8967,8969,8971,8973],{"class":4578,"line":4710},[4576,8958,4667],{"class":4653},[4576,8960,5926],{"class":4673},[4576,8962,4911],{"class":4586},[4576,8964,5882],{"class":4590},[4576,8966,5885],{"class":4586},[4576,8968,5935],{"class":4600},[4576,8970,5891],{"class":4586},[4576,8972,5940],{"class":4600},[4576,8974,4604],{"class":4586},[4576,8976,8977,8979,8981,8983,8985,8987,8989,8991,8993],{"class":4578,"line":4745},[4576,8978,4667],{"class":4653},[4576,8980,5949],{"class":4673},[4576,8982,4911],{"class":4586},[4576,8984,5882],{"class":4590},[4576,8986,5885],{"class":4586},[4576,8988,5958],{"class":4600},[4576,8990,5891],{"class":4586},[4576,8992,5963],{"class":4600},[4576,8994,4604],{"class":4586},[4576,8996,8997,8999,9001,9003,9005,9007,9009,9011,9013],{"class":4578,"line":4781},[4576,8998,4667],{"class":4653},[4576,9000,5972],{"class":4673},[4576,9002,4911],{"class":4586},[4576,9004,5882],{"class":4590},[4576,9006,5885],{"class":4586},[4576,9008,5981],{"class":4600},[4576,9010,5891],{"class":4586},[4576,9012,5986],{"class":4600},[4576,9014,4604],{"class":4586},[4576,9016,9017,9019,9021,9023,9025,9027,9029,9031,9033],{"class":4578,"line":4789},[4576,9018,4667],{"class":4653},[4576,9020,7761],{"class":4673},[4576,9022,4911],{"class":4586},[4576,9024,5882],{"class":4590},[4576,9026,5885],{"class":4586},[4576,9028,7770],{"class":4600},[4576,9030,5891],{"class":4586},[4576,9032,7775],{"class":4600},[4576,9034,4604],{"class":4586},[4576,9036,9037,9039,9041,9044,9046,9049,9051,9053,9055,9057],{"class":4578,"line":4804},[4576,9038,4667],{"class":4653},[4576,9040,4670],{"class":4586},[4576,9042,9043],{"class":4673},"on",[4576,9045,3806],{"class":4586},[4576,9047,9048],{"class":4673},"setOn",[4576,9050,4682],{"class":4586},[4576,9052,4591],{"class":4657},[4576,9054,4687],{"class":4586},[4576,9056,5161],{"class":4653},[4576,9058,4693],{"class":4586},[4576,9060,9061],{"class":4578,"line":4818},[4576,9062,4644],{"emptyLinePlaceholder":4643},[4576,9064,9065,9067],{"class":4578,"line":4829},[4576,9066,4704],{"class":4582},[4576,9068,4707],{"class":4586},[4576,9070,9071,9073,9075,9077,9079,9081,9083,9085,9087,9089,9091,9093,9095,9097,9099],{"class":4578,"line":4840},[4576,9072,4714],{"class":4713},[4576,9074,4628],{"class":4717},[4576,9076,4721],{"class":4720},[4576,9078,4724],{"class":4586},[4576,9080,4727],{"class":4653},[4576,9082,6261],{"class":4733},[4576,9084,4730],{"class":4590},[4576,9086,3857],{"class":4733},[4576,9088,7833],{"class":4590},[4576,9090,6270],{"class":4733},[4576,9092,6102],{"class":4590},[4576,9094,5877],{"class":4590},[4576,9096,6277],{"class":4733},[4576,9098,4739],{"class":4653},[4576,9100,4742],{"class":4713},[4576,9102,9103,9105,9107,9109,9111,9113,9115,9117,9119,9122,9124,9126,9128,9130,9132,9134,9136,9138],{"class":4578,"line":4851},[4576,9104,4748],{"class":4713},[4576,9106,4628],{"class":4717},[4576,9108,4721],{"class":4720},[4576,9110,4724],{"class":4586},[4576,9112,4727],{"class":4653},[4576,9114,6261],{"class":4733},[4576,9116,4730],{"class":4590},[4576,9118,3857],{"class":4733},[4576,9120,9121],{"class":4590},"row",[4576,9123,6270],{"class":4733},[4576,9125,6102],{"class":4590},[4576,9127,5903],{"class":4590},[4576,9129,3806],{"class":4733},[4576,9131,6402],{"class":4590},[4576,9133,5972],{"class":4590},[4576,9135,6277],{"class":4733},[4576,9137,4739],{"class":4653},[4576,9139,4742],{"class":4713},[4576,9141,9142,9144,9146,9148,9150,9152,9154,9156,9158,9160,9162],{"class":4578,"line":4870},[4576,9143,7289],{"class":4713},[4576,9145,4628],{"class":4717},[4576,9147,4721],{"class":4720},[4576,9149,4724],{"class":4586},[4576,9151,4727],{"class":4653},[4576,9153,6092],{"class":4733},[4576,9155,6095],{"class":4590},[4576,9157,4989],{"class":4935},[4576,9159,6107],{"class":4733},[4576,9161,4739],{"class":4653},[4576,9163,4742],{"class":4713},[4576,9165,9166,9169,9171,9173,9175,9177,9179,9181,9183,9185,9187,9189,9191,9193,9195,9198,9200,9202],{"class":4578,"line":4876},[4576,9167,9168],{"class":4713},"          \u003C",[4576,9170,4619],{"class":4717},[4576,9172,4721],{"class":4720},[4576,9174,4724],{"class":4586},[4576,9176,4727],{"class":4653},[4576,9178,6092],{"class":4733},[4576,9180,6167],{"class":4590},[4576,9182,5926],{"class":4590},[4576,9184,3806],{"class":4733},[4576,9186,4958],{"class":4590},[4576,9188,4961],{"class":4600},[4576,9190,6107],{"class":4733},[4576,9192,4739],{"class":4653},[4576,9194,4768],{"class":4713},[4576,9196,9197],{"class":4586},"Приватна поїздка",[4576,9199,4774],{"class":4713},[4576,9201,4619],{"class":4717},[4576,9203,4742],{"class":4713},[4576,9205,9206,9208,9210,9212,9214,9216,9218,9220,9222,9224,9226,9229,9231,9233,9235,9237,9239],{"class":4578,"line":4886},[4576,9207,9168],{"class":4713},[4576,9209,4619],{"class":4717},[4576,9211,4721],{"class":4720},[4576,9213,4724],{"class":4586},[4576,9215,4727],{"class":4653},[4576,9217,6092],{"class":4733},[4576,9219,6167],{"class":4590},[4576,9221,5949],{"class":4590},[4576,9223,3806],{"class":4733},[4576,9225,8751],{"class":4590},[4576,9227,9228],{"class":4935}," 4",[4576,9230,3806],{"class":4733},[4576,9232,4950],{"class":4590},[4576,9234,4953],{"class":4935},[4576,9236,6107],{"class":4733},[4576,9238,4739],{"class":4653},[4576,9240,4742],{"class":4713},[4576,9242,9243,9246,9248,9250,9253,9255,9258],{"class":4578,"line":4892},[4576,9244,9245],{"class":4653},"            {",[4576,9247,9043],{"class":4590},[4576,9249,7282],{"class":4586},[4576,9251,9252],{"class":4600}," 'Не показувати в спільній стрічці'",[4576,9254,8033],{"class":4586},[4576,9256,9257],{"class":4600}," 'Видно у загальному списку'",[4576,9259,4801],{"class":4653},[4576,9261,9262,9265,9267],{"class":4578,"line":4897},[4576,9263,9264],{"class":4713},"          \u003C\u002F",[4576,9266,4619],{"class":4717},[4576,9268,4742],{"class":4713},[4576,9270,9271,9274,9276],{"class":4578,"line":4902},[4576,9272,9273],{"class":4713},"        \u003C\u002F",[4576,9275,4628],{"class":4717},[4576,9277,4742],{"class":4713},[4576,9279,9280,9282],{"class":4578,"line":4924},[4576,9281,7289],{"class":4713},[4576,9283,8530],{"class":4717},[4576,9285,9286,9289,9291,9293,9295],{"class":4578,"line":4942},[4576,9287,9288],{"class":4720},"          value",[4576,9290,4724],{"class":4586},[4576,9292,4727],{"class":4653},[4576,9294,9043],{"class":4590},[4576,9296,4801],{"class":4653},[4576,9298,9299,9302,9304,9306,9308],{"class":4578,"line":4974},[4576,9300,9301],{"class":4720},"          onValueChange",[4576,9303,4724],{"class":4586},[4576,9305,4727],{"class":4653},[4576,9307,9048],{"class":4590},[4576,9309,4801],{"class":4653},[4576,9311,9312,9315,9317,9319,9321,9323,9325,9327,9329,9331,9333],{"class":4578,"line":4983},[4576,9313,9314],{"class":4720},"          trackColor",[4576,9316,4724],{"class":4586},[4576,9318,4727],{"class":4653},[4576,9320,6092],{"class":4733},[4576,9322,8569],{"class":4590},[4576,9324,5972],{"class":4590},[4576,9326,3806],{"class":4733},[4576,9328,8577],{"class":4590},[4576,9330,7761],{"class":4590},[4576,9332,6107],{"class":4733},[4576,9334,4801],{"class":4653},[4576,9336,9337,9340,9342],{"class":4578,"line":4995},[4576,9338,9339],{"class":4720},"          thumbColor",[4576,9341,4724],{"class":4586},[4576,9343,9344],{"class":4600},"\"#fff\"\n",[4576,9346,9347],{"class":4578,"line":5006},[4576,9348,9349],{"class":4713},"        \u002F>\n",[4576,9351,9352,9354,9356],{"class":4578,"line":5017},[4576,9353,6238],{"class":4713},[4576,9355,4628],{"class":4717},[4576,9357,4742],{"class":4713},[4576,9359,9360,9362,9364],{"class":4578,"line":5027},[4576,9361,4879],{"class":4713},[4576,9363,4628],{"class":4717},[4576,9365,4742],{"class":4713},[4576,9367,9368],{"class":4578,"line":5038},[4576,9369,4889],{"class":4586},[4576,9371,9372],{"class":4578,"line":5049},[4576,9373,4801],{"class":4586},[4576,9375,9376],{"class":4578,"line":5055},[4576,9377,4644],{"emptyLinePlaceholder":4643},[4576,9379,9380,9382,9384,9386,9388,9390,9392],{"class":4578,"line":5744},[4576,9381,4905],{"class":4653},[4576,9383,4908],{"class":4673},[4576,9385,4911],{"class":4586},[4576,9387,4614],{"class":4590},[4576,9389,3857],{"class":4586},[4576,9391,4918],{"class":4657},[4576,9393,4921],{"class":4586},[4576,9395,9396,9398,9400,9402,9404,9406,9408,9410,9412,9414,9416],{"class":4578,"line":6299},[4576,9397,8129],{"class":4590},[4576,9399,4587],{"class":4586},[4576,9401,6095],{"class":4590},[4576,9403,4989],{"class":4935},[4576,9405,3806],{"class":4586},[4576,9407,6123],{"class":4590},[4576,9409,5033],{"class":4935},[4576,9411,3806],{"class":4586},[4576,9413,8146],{"class":4590},[4576,9415,7430],{"class":4600},[4576,9417,4939],{"class":4586},[4576,9419,9420,9423],{"class":4578,"line":6312},[4576,9421,9422],{"class":4590},"  row:",[4576,9424,4980],{"class":4586},[4576,9426,9427,9429,9431],{"class":4578,"line":6325},[4576,9428,8654],{"class":4590},[4576,9430,8657],{"class":4600},[4576,9432,4992],{"class":4586},[4576,9434,9435,9437,9439],{"class":4578,"line":6335},[4576,9436,7427],{"class":4590},[4576,9438,7430],{"class":4600},[4576,9440,4992],{"class":4586},[4576,9442,9443,9446,9448],{"class":4578,"line":6350},[4576,9444,9445],{"class":4590},"    gap:",[4576,9447,5001],{"class":4935},[4576,9449,4992],{"class":4586},[4576,9451,9452,9455,9457],{"class":4578,"line":6359},[4576,9453,9454],{"class":4590},"    padding:",[4576,9456,5033],{"class":4935},[4576,9458,4992],{"class":4586},[4576,9460,9461,9463,9465],{"class":4578,"line":6368},[4576,9462,4998],{"class":4590},[4576,9464,5001],{"class":4935},[4576,9466,4992],{"class":4586},[4576,9468,9469,9471,9473],{"class":4578,"line":6377},[4576,9470,4986],{"class":4590},[4576,9472,4989],{"class":4935},[4576,9474,4992],{"class":4586},[4576,9476,9477],{"class":4578,"line":6417},[4576,9478,5052],{"class":4586},[4576,9480,9481],{"class":4578,"line":6422},[4576,9482,5058],{"class":4586},[3881,9484],{},[3734,9486,9488,9490],{"id":9487},"checkbox-прапорці-підтвердження-та-юридична-валідація",[3803,9489,3812],{},": прапорці підтвердження та юридична валідація",[3739,9492,9493,9497,9498,9501],{},[3746,9494,9495],{},[3803,9496,3812],{}," (прапорець вибору) — спеціалізований елемент графічного інтерфейсу для фіксації підтвердження згоди з правилами (",[3777,9499,9500],{},"Terms of Service","), вибору опцій у багатоваріантних анкетах або активації додаткових параметрів.",[3739,9503,9504,9505,9507,9508,3857],{},"Оскільки у ядрі ",[3803,9506,4214],{}," відсутній кросплатформовий чекбокс, стандартом екосистеми є community-модуль ",[3746,9509,9510],{},[3803,9511,4247],{},[3792,9513,9515],{"id":9514},"встановлення-залежності","Встановлення залежності",[9517,9518,9519,9545,9561,9578],"tabs",{},[9520,9521,9524],"tabs-item",{"icon":9522,"label":9523},"i-lucide-terminal","Expo CLI",[3891,9525,9529],{"className":9526,"code":9527,"language":9528,"meta":3899,"style":3899},"language-bash shiki shiki-themes light-plus dark-plus dark-plus","npx expo install @react-native-community\u002Fcheckbox\n","bash",[3803,9530,9531],{"__ignoreMap":3899},[4576,9532,9533,9536,9539,9542],{"class":4578,"line":4579},[4576,9534,9535],{"class":4657},"npx",[4576,9537,9538],{"class":4600}," expo",[4576,9540,9541],{"class":4600}," install",[4576,9543,9544],{"class":4600}," @react-native-community\u002Fcheckbox\n",[9520,9546,9548],{"icon":9522,"label":9547},"npm",[3891,9549,9551],{"className":9526,"code":9550,"language":9528,"meta":3899,"style":3899},"npm install @react-native-community\u002Fcheckbox\n",[3803,9552,9553],{"__ignoreMap":3899},[4576,9554,9555,9557,9559],{"class":4578,"line":4579},[4576,9556,9547],{"class":4657},[4576,9558,9541],{"class":4600},[4576,9560,9544],{"class":4600},[9520,9562,9564],{"icon":9522,"label":9563},"yarn",[3891,9565,9567],{"className":9526,"code":9566,"language":9528,"meta":3899,"style":3899},"yarn add @react-native-community\u002Fcheckbox\n",[3803,9568,9569],{"__ignoreMap":3899},[4576,9570,9571,9573,9576],{"class":4578,"line":4579},[4576,9572,9563],{"class":4657},[4576,9574,9575],{"class":4600}," add",[4576,9577,9544],{"class":4600},[9520,9579,9581],{"icon":9522,"label":9580},"bun \u002F pnpm",[3891,9582,9584],{"className":9526,"code":9583,"language":9528,"meta":3899,"style":3899},"bun add @react-native-community\u002Fcheckbox\n# або\npnpm add @react-native-community\u002Fcheckbox\n",[3803,9585,9586,9595,9601],{"__ignoreMap":3899},[4576,9587,9588,9591,9593],{"class":4578,"line":4579},[4576,9589,9590],{"class":4657},"bun",[4576,9592,9575],{"class":4600},[4576,9594,9544],{"class":4600},[4576,9596,9597],{"class":4578,"line":4607},[4576,9598,9600],{"class":9599},"spJ8K","# або\n",[4576,9602,9603,9606,9608],{"class":4578,"line":4640},[4576,9604,9605],{"class":4657},"pnpm",[4576,9607,9575],{"class":4600},[4576,9609,9544],{"class":4600},[3792,9611,8309],{"id":9612},"базовий-контрольований-приклад-1",[3891,9614,9616],{"className":4570,"code":9615,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\n\nexport function TermsAgreement() {\n  const [accepted, setAccepted] = useState(false);\n\n  return (\n    \u003CView style={styles.row}>\n      \u003CCheckbox\n        value={accepted}\n        onValueChange={setAccepted}\n        boxType=\"square\"\n        tintColors={{ true: '#2563EB', false: '#CBD5E1' }}\n      \u002F>\n      \u003CText style={styles.label}>\n        Я погоджуюся з регламентом обробки персональних даних\n      \u003C\u002FText>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  row: { flexDirection: 'row', alignItems: 'center', gap: 12, paddingVertical: 8 },\n  label: { flex: 1, fontSize: 14, color: '#334155', lineHeight: 20 },\n});\n",[3803,9617,9618,9634,9658,9673,9677,9688,9712,9716,9722,9744,9751,9763,9775,9785,9811,9815,9837,9842,9850,9858,9862,9866,9870,9886,9918,9950],{"__ignoreMap":3899},[4576,9619,9620,9622,9624,9626,9628,9630,9632],{"class":4578,"line":4579},[4576,9621,4583],{"class":4582},[4576,9623,4587],{"class":4586},[4576,9625,4591],{"class":4590},[4576,9627,4594],{"class":4586},[4576,9629,4597],{"class":4582},[4576,9631,4601],{"class":4600},[4576,9633,4604],{"class":4586},[4576,9635,9636,9638,9640,9642,9644,9646,9648,9650,9652,9654,9656],{"class":4578,"line":4607},[4576,9637,4583],{"class":4582},[4576,9639,4587],{"class":4586},[4576,9641,4614],{"class":4590},[4576,9643,3806],{"class":4586},[4576,9645,4619],{"class":4590},[4576,9647,3806],{"class":4586},[4576,9649,4628],{"class":4590},[4576,9651,4594],{"class":4586},[4576,9653,4597],{"class":4582},[4576,9655,4635],{"class":4600},[4576,9657,4604],{"class":4586},[4576,9659,9660,9662,9665,9668,9671],{"class":4578,"line":4640},[4576,9661,4583],{"class":4582},[4576,9663,9664],{"class":4590}," Checkbox",[4576,9666,9667],{"class":4582}," from",[4576,9669,9670],{"class":4600}," '@react-native-community\u002Fcheckbox'",[4576,9672,4604],{"class":4586},[4576,9674,9675],{"class":4578,"line":4647},[4576,9676,4644],{"emptyLinePlaceholder":4643},[4576,9678,9679,9681,9683,9686],{"class":4578,"line":4664},[4576,9680,4650],{"class":4582},[4576,9682,4654],{"class":4653},[4576,9684,9685],{"class":4657}," TermsAgreement",[4576,9687,4661],{"class":4586},[4576,9689,9690,9692,9694,9697,9699,9702,9704,9706,9708,9710],{"class":4578,"line":4696},[4576,9691,4667],{"class":4653},[4576,9693,4670],{"class":4586},[4576,9695,9696],{"class":4673},"accepted",[4576,9698,3806],{"class":4586},[4576,9700,9701],{"class":4673},"setAccepted",[4576,9703,4682],{"class":4586},[4576,9705,4591],{"class":4657},[4576,9707,4687],{"class":4586},[4576,9709,5161],{"class":4653},[4576,9711,4693],{"class":4586},[4576,9713,9714],{"class":4578,"line":4701},[4576,9715,4644],{"emptyLinePlaceholder":4643},[4576,9717,9718,9720],{"class":4578,"line":4710},[4576,9719,4704],{"class":4582},[4576,9721,4707],{"class":4586},[4576,9723,9724,9726,9728,9730,9732,9734,9736,9738,9740,9742],{"class":4578,"line":4745},[4576,9725,4714],{"class":4713},[4576,9727,4628],{"class":4717},[4576,9729,4721],{"class":4720},[4576,9731,4724],{"class":4586},[4576,9733,4727],{"class":4653},[4576,9735,4730],{"class":4590},[4576,9737,3857],{"class":4733},[4576,9739,9121],{"class":4590},[4576,9741,4739],{"class":4653},[4576,9743,4742],{"class":4713},[4576,9745,9746,9748],{"class":4578,"line":4781},[4576,9747,4748],{"class":4713},[4576,9749,9750],{"class":4717},"Checkbox\n",[4576,9752,9753,9755,9757,9759,9761],{"class":4578,"line":4789},[4576,9754,4792],{"class":4720},[4576,9756,4724],{"class":4586},[4576,9758,4727],{"class":4653},[4576,9760,9696],{"class":4590},[4576,9762,4801],{"class":4653},[4576,9764,9765,9767,9769,9771,9773],{"class":4578,"line":4804},[4576,9766,8547],{"class":4720},[4576,9768,4724],{"class":4586},[4576,9770,4727],{"class":4653},[4576,9772,9701],{"class":4590},[4576,9774,4801],{"class":4653},[4576,9776,9777,9780,9782],{"class":4578,"line":4818},[4576,9778,9779],{"class":4720},"        boxType",[4576,9781,4724],{"class":4586},[4576,9783,9784],{"class":4600},"\"square\"\n",[4576,9786,9787,9790,9792,9794,9796,9798,9800,9802,9804,9807,9809],{"class":4578,"line":4829},[4576,9788,9789],{"class":4720},"        tintColors",[4576,9791,4724],{"class":4586},[4576,9793,4727],{"class":4653},[4576,9795,6092],{"class":4733},[4576,9797,8577],{"class":4590},[4576,9799,7404],{"class":4600},[4576,9801,3806],{"class":4733},[4576,9803,8569],{"class":4590},[4576,9805,9806],{"class":4600}," '#CBD5E1'",[4576,9808,6107],{"class":4733},[4576,9810,4801],{"class":4653},[4576,9812,9813],{"class":4578,"line":4840},[4576,9814,4873],{"class":4713},[4576,9816,9817,9819,9821,9823,9825,9827,9829,9831,9833,9835],{"class":4578,"line":4851},[4576,9818,4748],{"class":4713},[4576,9820,4619],{"class":4717},[4576,9822,4721],{"class":4720},[4576,9824,4724],{"class":4586},[4576,9826,4727],{"class":4653},[4576,9828,4730],{"class":4590},[4576,9830,3857],{"class":4733},[4576,9832,4763],{"class":4590},[4576,9834,4739],{"class":4653},[4576,9836,4742],{"class":4713},[4576,9838,9839],{"class":4578,"line":4870},[4576,9840,9841],{"class":4586},"        Я погоджуюся з регламентом обробки персональних даних\n",[4576,9843,9844,9846,9848],{"class":4578,"line":4876},[4576,9845,6238],{"class":4713},[4576,9847,4619],{"class":4717},[4576,9849,4742],{"class":4713},[4576,9851,9852,9854,9856],{"class":4578,"line":4886},[4576,9853,4879],{"class":4713},[4576,9855,4628],{"class":4717},[4576,9857,4742],{"class":4713},[4576,9859,9860],{"class":4578,"line":4892},[4576,9861,4889],{"class":4586},[4576,9863,9864],{"class":4578,"line":4897},[4576,9865,4801],{"class":4586},[4576,9867,9868],{"class":4578,"line":4902},[4576,9869,4644],{"emptyLinePlaceholder":4643},[4576,9871,9872,9874,9876,9878,9880,9882,9884],{"class":4578,"line":4924},[4576,9873,4905],{"class":4653},[4576,9875,4908],{"class":4673},[4576,9877,4911],{"class":4586},[4576,9879,4614],{"class":4590},[4576,9881,3857],{"class":4586},[4576,9883,4918],{"class":4657},[4576,9885,4921],{"class":4586},[4576,9887,9888,9890,9892,9895,9897,9899,9901,9903,9905,9907,9909,9911,9913,9916],{"class":4578,"line":4942},[4576,9889,9422],{"class":4590},[4576,9891,4587],{"class":4586},[4576,9893,9894],{"class":4590},"flexDirection:",[4576,9896,8657],{"class":4600},[4576,9898,3806],{"class":4586},[4576,9900,8174],{"class":4590},[4576,9902,7430],{"class":4600},[4576,9904,3806],{"class":4586},[4576,9906,4932],{"class":4590},[4576,9908,5001],{"class":4935},[4576,9910,3806],{"class":4586},[4576,9912,8160],{"class":4590},[4576,9914,9915],{"class":4935}," 8",[4576,9917,4939],{"class":4586},[4576,9919,9920,9922,9924,9926,9928,9930,9932,9934,9936,9938,9941,9943,9946,9948],{"class":4578,"line":4974},[4576,9921,4945],{"class":4590},[4576,9923,4587],{"class":4586},[4576,9925,6095],{"class":4590},[4576,9927,4989],{"class":4935},[4576,9929,3806],{"class":4586},[4576,9931,4950],{"class":4590},[4576,9933,5012],{"class":4935},[4576,9935,3806],{"class":4586},[4576,9937,6167],{"class":4590},[4576,9939,9940],{"class":4600}," '#334155'",[4576,9942,3806],{"class":4586},[4576,9944,9945],{"class":4590},"lineHeight:",[4576,9947,7876],{"class":4935},[4576,9949,4939],{"class":4586},[4576,9951,9952],{"class":4578,"line":4983},[4576,9953,5058],{"class":4586},[3792,9955,5097,9957],{"id":9956},"повний-огляд-параметрів-props-checkbox",[3803,9958,3812],{},[5101,9960,9961,9970,9973,9976,9986,10002],{},[5104,9962,9963,9964,9966,9967,9969],{"name":4282,"type":4372},"Поточний логічний стан прапорця. ",[3803,9965,3763],{}," відображає встановлену позначку (галочку), ",[3803,9968,5161],{}," — порожній контур.",[5104,9971,9972],{"name":4497,"type":8786},"Колбек події зміни стану, який викликається при тапі по елементу. Передає десеріалізоване значення нового булевого стану.",[5104,9974,9975],{"name":8793,"type":5169},"Блокує взаємодію з чекбоксом. Застосовується для обов'язкових умов, які розблоковуються лише після ознайомлення з текстом угоди.",[5104,9977,9980,9981,9983,9984,3833],{"name":9978,"type":9979},"tintColors","{ true?: ColorValue, false?: ColorValue } (Android)","Налаштування колірної гами для платформи Android: активний акцентний колір позначки (",[3803,9982,3763],{},") та колір контуру в пасивному стані (",[3803,9985,5161],{},[5104,9987,9990,9991,9994,9995,9998,9999,3833],{"name":9988,"type":9989},"onCheckColor \u002F onFillColor \u002F onTintColor","ColorValue (iOS)","Низькорівневе налаштування графіки на iOS: колір самої галочки (",[3803,9992,9993],{},"onCheckColor","), внутрішня заливка активного квадрата (",[3803,9996,9997],{},"onFillColor",") та колір рамки (",[3803,10000,10001],{},"onTintColor",[5104,10003,10006,10007,3833],{"name":10004,"type":10005},"boxType","'circle' | 'square' (iOS)","Геометрична форма контуру прапорця на iOS. Для юридичних угод та згод традиційно використовується квадратна форма (",[3803,10008,10009],{},"'square'",[3792,10011,10013,10014,4262,10017],{"id":10012},"валідація-обовязкової-згоди-у-zod-zboolean-проти-zliteraltrue","Валідація обов'язкової згоди у Zod: ",[3803,10015,10016],{},"z.boolean()",[3803,10018,10019],{},"z.literal(true)",[3739,10021,10022],{},"У формах реєстрації та транзакцій існує принципова різниця між опційним прапорцем та обов'язковою юридичною згодою:",[3891,10024,10028],{"className":10025,"code":10026,"language":10027,"meta":3899,"style":3899},"language-ts shiki shiki-themes light-plus dark-plus dark-plus","import { z } from 'zod';\n\nexport const registrationSchema = z.object({\n  \u002F\u002F 1. Опційне булеве поле: приймає true або false\n  subscribeToNewsletter: z.boolean(),\n\n  \u002F\u002F 2. Обов'язкова згода: валідація проходить ТІЛЬКИ якщо значення строго дорівнює true\n  acceptedTerms: z.literal(true, {\n    errorMap: () => ({ message: 'Для продовження необхідно підтвердити згоду з правилами' }),\n  }),\n});\n","ts",[3803,10029,10030,10048,10052,10073,10078,10093,10097,10102,10121,10145,10150],{"__ignoreMap":3899},[4576,10031,10032,10034,10036,10039,10041,10043,10046],{"class":4578,"line":4579},[4576,10033,4583],{"class":4582},[4576,10035,4587],{"class":4586},[4576,10037,10038],{"class":4590},"z",[4576,10040,4594],{"class":4586},[4576,10042,4597],{"class":4582},[4576,10044,10045],{"class":4600}," 'zod'",[4576,10047,4604],{"class":4586},[4576,10049,10050],{"class":4578,"line":4607},[4576,10051,4644],{"emptyLinePlaceholder":4643},[4576,10053,10054,10056,10059,10062,10064,10066,10068,10071],{"class":4578,"line":4640},[4576,10055,4650],{"class":4582},[4576,10057,10058],{"class":4653}," const",[4576,10060,10061],{"class":4673}," registrationSchema",[4576,10063,4911],{"class":4586},[4576,10065,10038],{"class":4590},[4576,10067,3857],{"class":4586},[4576,10069,10070],{"class":4657},"object",[4576,10072,4921],{"class":4586},[4576,10074,10075],{"class":4578,"line":4647},[4576,10076,10077],{"class":9599},"  \u002F\u002F 1. Опційне булеве поле: приймає true або false\n",[4576,10079,10080,10083,10086,10088,10090],{"class":4578,"line":4664},[4576,10081,10082],{"class":4590},"  subscribeToNewsletter:",[4576,10084,10085],{"class":4590}," z",[4576,10087,3857],{"class":4586},[4576,10089,4372],{"class":4657},[4576,10091,10092],{"class":4586},"(),\n",[4576,10094,10095],{"class":4578,"line":4696},[4576,10096,4644],{"emptyLinePlaceholder":4643},[4576,10098,10099],{"class":4578,"line":4701},[4576,10100,10101],{"class":9599},"  \u002F\u002F 2. Обов'язкова згода: валідація проходить ТІЛЬКИ якщо значення строго дорівнює true\n",[4576,10103,10104,10107,10109,10111,10114,10116,10118],{"class":4578,"line":4710},[4576,10105,10106],{"class":4590},"  acceptedTerms:",[4576,10108,10085],{"class":4590},[4576,10110,3857],{"class":4586},[4576,10112,10113],{"class":4657},"literal",[4576,10115,4687],{"class":4586},[4576,10117,3763],{"class":4653},[4576,10119,10120],{"class":4586},", {\n",[4576,10122,10123,10126,10128,10131,10133,10136,10139,10142],{"class":4578,"line":4745},[4576,10124,10125],{"class":4657},"    errorMap",[4576,10127,6978],{"class":4590},[4576,10129,10130],{"class":4586}," () ",[4576,10132,5537],{"class":4653},[4576,10134,10135],{"class":4586}," ({ ",[4576,10137,10138],{"class":4590},"message:",[4576,10140,10141],{"class":4600}," 'Для продовження необхідно підтвердити згоду з правилами'",[4576,10143,10144],{"class":4586}," }),\n",[4576,10146,10147],{"class":4578,"line":4781},[4576,10148,10149],{"class":4586},"  }),\n",[4576,10151,10152],{"class":4578,"line":4789},[4576,10153,5058],{"class":4586},[3739,10155,10156,10157,10159,10160,10163,10164,10166,10167,10170],{},"При використанні ",[3803,10158,10019],{}," початковим значенням у ",[3803,10161,10162],{},"defaultValues"," завжди має бути ",[3803,10165,5161],{},". Це гарантує свідому дію користувача (",[3777,10168,10169],{},"Explicit User Action",") відповідно до стандартів GDPR та безпеки інтерфейсів.",[3881,10172],{},[3734,10174,10176,10178],{"id":10175},"slider-маніпуляція-числовими-діапазонами",[3803,10177,3815],{},": маніпуляція числовими діапазонами",[3739,10180,10181,10185,10186,10189],{},[3746,10182,10183],{},[3803,10184,3815],{}," (повзунок) — елемент керування для вибору скалярного числового значення в замкненому інтервалі ",[3761,10187],{":inline":3763,"tex":10188},"[V_{\\min}, V_{\\max}]"," за допомогою неперервного або квантованого жестового перетягування.",[3739,10191,10192,10193,3857],{},"У сучасних версіях React Native використовується офіційний пакет спільноти ",[3746,10194,10195],{},[3803,10196,4241],{},[3792,10198,9515],{"id":10199},"встановлення-залежності-1",[9517,10201,10202,10220,10235,10250],{},[9520,10203,10204],{"icon":9522,"label":9523},[3891,10205,10207],{"className":9526,"code":10206,"language":9528,"meta":3899,"style":3899},"npx expo install @react-native-community\u002Fslider\n",[3803,10208,10209],{"__ignoreMap":3899},[4576,10210,10211,10213,10215,10217],{"class":4578,"line":4579},[4576,10212,9535],{"class":4657},[4576,10214,9538],{"class":4600},[4576,10216,9541],{"class":4600},[4576,10218,10219],{"class":4600}," @react-native-community\u002Fslider\n",[9520,10221,10222],{"icon":9522,"label":9547},[3891,10223,10225],{"className":9526,"code":10224,"language":9528,"meta":3899,"style":3899},"npm install @react-native-community\u002Fslider\n",[3803,10226,10227],{"__ignoreMap":3899},[4576,10228,10229,10231,10233],{"class":4578,"line":4579},[4576,10230,9547],{"class":4657},[4576,10232,9541],{"class":4600},[4576,10234,10219],{"class":4600},[9520,10236,10237],{"icon":9522,"label":9563},[3891,10238,10240],{"className":9526,"code":10239,"language":9528,"meta":3899,"style":3899},"yarn add @react-native-community\u002Fslider\n",[3803,10241,10242],{"__ignoreMap":3899},[4576,10243,10244,10246,10248],{"class":4578,"line":4579},[4576,10245,9563],{"class":4657},[4576,10247,9575],{"class":4600},[4576,10249,10219],{"class":4600},[9520,10251,10252],{"icon":9522,"label":9580},[3891,10253,10255],{"className":9526,"code":10254,"language":9528,"meta":3899,"style":3899},"bun add @react-native-community\u002Fslider\n# або\npnpm add @react-native-community\u002Fslider\n",[3803,10256,10257,10265,10269],{"__ignoreMap":3899},[4576,10258,10259,10261,10263],{"class":4578,"line":4579},[4576,10260,9590],{"class":4657},[4576,10262,9575],{"class":4600},[4576,10264,10219],{"class":4600},[4576,10266,10267],{"class":4578,"line":4607},[4576,10268,9600],{"class":9599},[4576,10270,10271,10273,10275],{"class":4578,"line":4640},[4576,10272,9605],{"class":4657},[4576,10274,9575],{"class":4600},[4576,10276,10219],{"class":4600},[3792,10278,10280],{"id":10279},"коли-варто-використовувати-slider","Коли варто використовувати Slider",[3797,10282,10283,10289],{},[3754,10284,10285,10288],{},[3746,10286,10287],{},"Оптимальні сценарії:"," емпіричні величини, де користувач оперує відчуттям масштабу, а не точним рядковим значенням (тривалість подорожі 1–14 днів, радіус пошуку 5–50 км, рівень гучності, яскравість).",[3754,10290,10291,10294],{},[3746,10292,10293],{},"Недоцільні сценарії:"," дискретні точні дані (вік, грошові суми для транзакцій, номери телефонів), де похибка позиціонування пальця створює високе когнітивне навантаження.",[3792,10296,8309],{"id":10297},"базовий-контрольований-приклад-2",[3891,10299,10301],{"className":4570,"code":10300,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport Slider from '@react-native-community\u002Fslider';\n\nexport function DaysDurationSelector() {\n  const [days, setDays] = useState(3);\n\n  return (\n    \u003CView style={styles.container}>\n      \u003CView style={styles.header}>\n        \u003CText style={styles.label}>Орієнтовна тривалість\u003C\u002FText>\n        \u003CText style={styles.valueText}>{days} {days === 1 ? 'день' : 'днів'}\u003C\u002FText>\n      \u003C\u002FView>\n      \u003CSlider\n        minimumValue={1}\n        maximumValue={14}\n        step={1}\n        value={days}\n        onValueChange={setDays}\n        minimumTrackTintColor=\"#2563EB\"\n        maximumTrackTintColor=\"#CBD5E1\"\n        thumbTintColor=\"#2563EB\"\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: { paddingVertical: 8, gap: 8 },\n  header: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' },\n  label: { fontSize: 14, fontWeight: '600', color: '#334155' },\n  valueText: { fontSize: 15, fontWeight: '700', color: '#2563EB' },\n});\n",[3803,10302,10303,10319,10343,10357,10361,10372,10397,10401,10407,10429,10452,10483,10540,10548,10555,10569,10583,10596,10608,10620,10630,10640,10649,10653,10661,10665,10669,10673,10689,10707,10732,10756,10782],{"__ignoreMap":3899},[4576,10304,10305,10307,10309,10311,10313,10315,10317],{"class":4578,"line":4579},[4576,10306,4583],{"class":4582},[4576,10308,4587],{"class":4586},[4576,10310,4591],{"class":4590},[4576,10312,4594],{"class":4586},[4576,10314,4597],{"class":4582},[4576,10316,4601],{"class":4600},[4576,10318,4604],{"class":4586},[4576,10320,10321,10323,10325,10327,10329,10331,10333,10335,10337,10339,10341],{"class":4578,"line":4607},[4576,10322,4583],{"class":4582},[4576,10324,4587],{"class":4586},[4576,10326,4614],{"class":4590},[4576,10328,3806],{"class":4586},[4576,10330,4619],{"class":4590},[4576,10332,3806],{"class":4586},[4576,10334,4628],{"class":4590},[4576,10336,4594],{"class":4586},[4576,10338,4597],{"class":4582},[4576,10340,4635],{"class":4600},[4576,10342,4604],{"class":4586},[4576,10344,10345,10347,10350,10352,10355],{"class":4578,"line":4640},[4576,10346,4583],{"class":4582},[4576,10348,10349],{"class":4590}," Slider",[4576,10351,9667],{"class":4582},[4576,10353,10354],{"class":4600}," '@react-native-community\u002Fslider'",[4576,10356,4604],{"class":4586},[4576,10358,10359],{"class":4578,"line":4647},[4576,10360,4644],{"emptyLinePlaceholder":4643},[4576,10362,10363,10365,10367,10370],{"class":4578,"line":4664},[4576,10364,4650],{"class":4582},[4576,10366,4654],{"class":4653},[4576,10368,10369],{"class":4657}," DaysDurationSelector",[4576,10371,4661],{"class":4586},[4576,10373,10374,10376,10378,10381,10383,10386,10388,10390,10392,10395],{"class":4578,"line":4696},[4576,10375,4667],{"class":4653},[4576,10377,4670],{"class":4586},[4576,10379,10380],{"class":4673},"days",[4576,10382,3806],{"class":4586},[4576,10384,10385],{"class":4673},"setDays",[4576,10387,4682],{"class":4586},[4576,10389,4591],{"class":4657},[4576,10391,4687],{"class":4586},[4576,10393,10394],{"class":4935},"3",[4576,10396,4693],{"class":4586},[4576,10398,10399],{"class":4578,"line":4701},[4576,10400,4644],{"emptyLinePlaceholder":4643},[4576,10402,10403,10405],{"class":4578,"line":4710},[4576,10404,4704],{"class":4582},[4576,10406,4707],{"class":4586},[4576,10408,10409,10411,10413,10415,10417,10419,10421,10423,10425,10427],{"class":4578,"line":4745},[4576,10410,4714],{"class":4713},[4576,10412,4628],{"class":4717},[4576,10414,4721],{"class":4720},[4576,10416,4724],{"class":4586},[4576,10418,4727],{"class":4653},[4576,10420,4730],{"class":4590},[4576,10422,3857],{"class":4733},[4576,10424,4736],{"class":4590},[4576,10426,4739],{"class":4653},[4576,10428,4742],{"class":4713},[4576,10430,10431,10433,10435,10437,10439,10441,10443,10445,10448,10450],{"class":4578,"line":4781},[4576,10432,4748],{"class":4713},[4576,10434,4628],{"class":4717},[4576,10436,4721],{"class":4720},[4576,10438,4724],{"class":4586},[4576,10440,4727],{"class":4653},[4576,10442,4730],{"class":4590},[4576,10444,3857],{"class":4733},[4576,10446,10447],{"class":4590},"header",[4576,10449,4739],{"class":4653},[4576,10451,4742],{"class":4713},[4576,10453,10454,10456,10458,10460,10462,10464,10466,10468,10470,10472,10474,10477,10479,10481],{"class":4578,"line":4789},[4576,10455,7289],{"class":4713},[4576,10457,4619],{"class":4717},[4576,10459,4721],{"class":4720},[4576,10461,4724],{"class":4586},[4576,10463,4727],{"class":4653},[4576,10465,4730],{"class":4590},[4576,10467,3857],{"class":4733},[4576,10469,4763],{"class":4590},[4576,10471,4739],{"class":4653},[4576,10473,4768],{"class":4713},[4576,10475,10476],{"class":4586},"Орієнтовна тривалість",[4576,10478,4774],{"class":4713},[4576,10480,4619],{"class":4717},[4576,10482,4742],{"class":4713},[4576,10484,10485,10487,10489,10491,10493,10495,10497,10499,10502,10504,10506,10508,10510,10512,10515,10517,10520,10522,10524,10527,10529,10532,10534,10536,10538],{"class":4578,"line":4804},[4576,10486,7289],{"class":4713},[4576,10488,4619],{"class":4717},[4576,10490,4721],{"class":4720},[4576,10492,4724],{"class":4586},[4576,10494,4727],{"class":4653},[4576,10496,4730],{"class":4590},[4576,10498,3857],{"class":4733},[4576,10500,10501],{"class":4590},"valueText",[4576,10503,4739],{"class":4653},[4576,10505,4768],{"class":4713},[4576,10507,4727],{"class":4653},[4576,10509,10380],{"class":4590},[4576,10511,4739],{"class":4653},[4576,10513,10514],{"class":4653}," {",[4576,10516,10380],{"class":4590},[4576,10518,10519],{"class":4586}," ===",[4576,10521,4989],{"class":4935},[4576,10523,7282],{"class":4586},[4576,10525,10526],{"class":4600}," 'день'",[4576,10528,8033],{"class":4586},[4576,10530,10531],{"class":4600}," 'днів'",[4576,10533,4739],{"class":4653},[4576,10535,4774],{"class":4713},[4576,10537,4619],{"class":4717},[4576,10539,4742],{"class":4713},[4576,10541,10542,10544,10546],{"class":4578,"line":4818},[4576,10543,6238],{"class":4713},[4576,10545,4628],{"class":4717},[4576,10547,4742],{"class":4713},[4576,10549,10550,10552],{"class":4578,"line":4829},[4576,10551,4748],{"class":4713},[4576,10553,10554],{"class":4717},"Slider\n",[4576,10556,10557,10560,10562,10564,10567],{"class":4578,"line":4840},[4576,10558,10559],{"class":4720},"        minimumValue",[4576,10561,4724],{"class":4586},[4576,10563,4727],{"class":4653},[4576,10565,10566],{"class":4935},"1",[4576,10568,4801],{"class":4653},[4576,10570,10571,10574,10576,10578,10581],{"class":4578,"line":4851},[4576,10572,10573],{"class":4720},"        maximumValue",[4576,10575,4724],{"class":4586},[4576,10577,4727],{"class":4653},[4576,10579,10580],{"class":4935},"14",[4576,10582,4801],{"class":4653},[4576,10584,10585,10588,10590,10592,10594],{"class":4578,"line":4870},[4576,10586,10587],{"class":4720},"        step",[4576,10589,4724],{"class":4586},[4576,10591,4727],{"class":4653},[4576,10593,10566],{"class":4935},[4576,10595,4801],{"class":4653},[4576,10597,10598,10600,10602,10604,10606],{"class":4578,"line":4876},[4576,10599,4792],{"class":4720},[4576,10601,4724],{"class":4586},[4576,10603,4727],{"class":4653},[4576,10605,10380],{"class":4590},[4576,10607,4801],{"class":4653},[4576,10609,10610,10612,10614,10616,10618],{"class":4578,"line":4886},[4576,10611,8547],{"class":4720},[4576,10613,4724],{"class":4586},[4576,10615,4727],{"class":4653},[4576,10617,10385],{"class":4590},[4576,10619,4801],{"class":4653},[4576,10621,10622,10625,10627],{"class":4578,"line":4892},[4576,10623,10624],{"class":4720},"        minimumTrackTintColor",[4576,10626,4724],{"class":4586},[4576,10628,10629],{"class":4600},"\"#2563EB\"\n",[4576,10631,10632,10635,10637],{"class":4578,"line":4897},[4576,10633,10634],{"class":4720},"        maximumTrackTintColor",[4576,10636,4724],{"class":4586},[4576,10638,10639],{"class":4600},"\"#CBD5E1\"\n",[4576,10641,10642,10645,10647],{"class":4578,"line":4902},[4576,10643,10644],{"class":4720},"        thumbTintColor",[4576,10646,4724],{"class":4586},[4576,10648,10629],{"class":4600},[4576,10650,10651],{"class":4578,"line":4924},[4576,10652,4873],{"class":4713},[4576,10654,10655,10657,10659],{"class":4578,"line":4942},[4576,10656,4879],{"class":4713},[4576,10658,4628],{"class":4717},[4576,10660,4742],{"class":4713},[4576,10662,10663],{"class":4578,"line":4974},[4576,10664,4889],{"class":4586},[4576,10666,10667],{"class":4578,"line":4983},[4576,10668,4801],{"class":4586},[4576,10670,10671],{"class":4578,"line":4995},[4576,10672,4644],{"emptyLinePlaceholder":4643},[4576,10674,10675,10677,10679,10681,10683,10685,10687],{"class":4578,"line":5006},[4576,10676,4905],{"class":4653},[4576,10678,4908],{"class":4673},[4576,10680,4911],{"class":4586},[4576,10682,4614],{"class":4590},[4576,10684,3857],{"class":4586},[4576,10686,4918],{"class":4657},[4576,10688,4921],{"class":4586},[4576,10690,10691,10693,10695,10697,10699,10701,10703,10705],{"class":4578,"line":5017},[4576,10692,4927],{"class":4590},[4576,10694,4587],{"class":4586},[4576,10696,8160],{"class":4590},[4576,10698,9915],{"class":4935},[4576,10700,3806],{"class":4586},[4576,10702,4932],{"class":4590},[4576,10704,9915],{"class":4935},[4576,10706,4939],{"class":4586},[4576,10708,10709,10712,10714,10716,10718,10720,10722,10724,10726,10728,10730],{"class":4578,"line":5027},[4576,10710,10711],{"class":4590},"  header:",[4576,10713,4587],{"class":4586},[4576,10715,9894],{"class":4590},[4576,10717,8657],{"class":4600},[4576,10719,3806],{"class":4586},[4576,10721,8146],{"class":4590},[4576,10723,8674],{"class":4600},[4576,10725,3806],{"class":4586},[4576,10727,8174],{"class":4590},[4576,10729,7430],{"class":4600},[4576,10731,4939],{"class":4586},[4576,10733,10734,10736,10738,10740,10742,10744,10746,10748,10750,10752,10754],{"class":4578,"line":5038},[4576,10735,4945],{"class":4590},[4576,10737,4587],{"class":4586},[4576,10739,4950],{"class":4590},[4576,10741,5012],{"class":4935},[4576,10743,3806],{"class":4586},[4576,10745,4958],{"class":4590},[4576,10747,8726],{"class":4600},[4576,10749,3806],{"class":4586},[4576,10751,6167],{"class":4590},[4576,10753,9940],{"class":4600},[4576,10755,4939],{"class":4586},[4576,10757,10758,10761,10763,10765,10768,10770,10772,10774,10776,10778,10780],{"class":4578,"line":5049},[4576,10759,10760],{"class":4590},"  valueText:",[4576,10762,4587],{"class":4586},[4576,10764,4950],{"class":4590},[4576,10766,10767],{"class":4935}," 15",[4576,10769,3806],{"class":4586},[4576,10771,4958],{"class":4590},[4576,10773,4961],{"class":4600},[4576,10775,3806],{"class":4586},[4576,10777,6167],{"class":4590},[4576,10779,7404],{"class":4600},[4576,10781,4939],{"class":4586},[4576,10783,10784],{"class":4578,"line":5055},[4576,10785,5058],{"class":4586},[3792,10787,5097,10789],{"id":10788},"повний-огляд-параметрів-props-slider",[3803,10790,3815],{},[5101,10792,10793,10803,10811,10823,10831,10846,10861],{},[5104,10794,10795,10796,10799,10800,3857],{"name":4282,"type":4095},"Поточне числове значення повзунка. Має задовольняти нерівність ",[3761,10797],{":inline":3763,"tex":10798},"\\text{minimumValue} \\le \\text{value} \\le \\text{maximumValue}",". Сам компонент не відображає текстовий лейбл значення, тому його виведення реалізується через суміжний елемент ",[3803,10801,10802],{},"\u003CText>",[5104,10804,10806,10807,10810],{"name":4497,"type":10805},"(value: number) => void","Високочастотний колбек, що викликається в процесі перетягування повзунка на кожну зміну координати з урахуванням параметра ",[3803,10808,10809],{},"step",". Ідеальний для синхронізації локального UI-підпису та стану форми React Hook Form.",[5104,10812,10814,10815,10818,10819,10822],{"name":10813,"type":10805},"onSlidingComplete","Колбек, який гарантовано спрацьовує ",[3746,10816,10817],{},"лише один раз"," у момент завершення фізичного дотику (",[3777,10820,10821],{},"Touch Up","). Застосовується для ресурсомістких операцій (мережеві запити, складні обчислення, аналітика), щоб не перевантажувати JS-потік під час жесту.",[5104,10824,10827,10828,3857],{"name":10825,"type":10826},"minimumValue \u002F maximumValue","number (дефолт: 0 \u002F 1)","Нижня та верхня межі діапазону. Завжди дублюються в схемі валідації Zod: ",[3803,10829,10830],{},"z.number().min(min).max(max)",[5104,10832,10834,10835,10838,10839,10842,10843,3833],{"name":10809,"type":10833},"number (дефолт: 0)","Крок дискретизації. ",[3803,10836,10837],{},"step={1}"," обмежує значення цілими числами. При ",[3803,10840,10841],{},"step={0}"," значення є неперервним числом із плаваючою крапкою (",[3777,10844,10845],{},"Float",[5104,10847,10849,10850,10853,10854,10857,10858,3833],{"name":10848,"type":8809},"minimumTrackTintColor \u002F maximumTrackTintColor \u002F thumbTintColor","Колірні дескриптори: активна ліва частина доріжки (",[3803,10851,10852],{},"minimumTrackTintColor","), пасивна права частина (",[3803,10855,10856],{},"maximumTrackTintColor",") та маніпулятор (",[3803,10859,10860],{},"thumbTintColor",[5104,10862,10863],{"name":8793,"type":5169},"Блокує можливість перетягування повзунка.",[3881,10865],{},[3734,10867,10869,10871],{"id":10868},"picker-вибір-із-фіксованого-списку-варіантів",[3803,10870,3818],{},": вибір із фіксованого списку варіантів",[3739,10873,4516,10874,10878,10879,10882],{},[3746,10875,10876],{},[3803,10877,3818],{}," вирішує задачу селекції ",[3746,10880,10881],{},"одного дискретного елемента"," з кінцевого переліку доступних варіантів.",[3739,10884,10885,10886,10888,10889,3857],{},"У веб-розробці цьому відповідає селектор ",[3803,10887,4193],{},". У React Native ця функціональність реалізована через незалежний модуль спільноти ",[3746,10890,10891],{},[3803,10892,4238],{},[3792,10894,9515],{"id":10895},"встановлення-залежності-2",[9517,10897,10898,10916,10931,10946],{},[9520,10899,10900],{"icon":9522,"label":9523},[3891,10901,10903],{"className":9526,"code":10902,"language":9528,"meta":3899,"style":3899},"npx expo install @react-native-picker\u002Fpicker\n",[3803,10904,10905],{"__ignoreMap":3899},[4576,10906,10907,10909,10911,10913],{"class":4578,"line":4579},[4576,10908,9535],{"class":4657},[4576,10910,9538],{"class":4600},[4576,10912,9541],{"class":4600},[4576,10914,10915],{"class":4600}," @react-native-picker\u002Fpicker\n",[9520,10917,10918],{"icon":9522,"label":9547},[3891,10919,10921],{"className":9526,"code":10920,"language":9528,"meta":3899,"style":3899},"npm install @react-native-picker\u002Fpicker\n",[3803,10922,10923],{"__ignoreMap":3899},[4576,10924,10925,10927,10929],{"class":4578,"line":4579},[4576,10926,9547],{"class":4657},[4576,10928,9541],{"class":4600},[4576,10930,10915],{"class":4600},[9520,10932,10933],{"icon":9522,"label":9563},[3891,10934,10936],{"className":9526,"code":10935,"language":9528,"meta":3899,"style":3899},"yarn add @react-native-picker\u002Fpicker\n",[3803,10937,10938],{"__ignoreMap":3899},[4576,10939,10940,10942,10944],{"class":4578,"line":4579},[4576,10941,9563],{"class":4657},[4576,10943,9575],{"class":4600},[4576,10945,10915],{"class":4600},[9520,10947,10948],{"icon":9522,"label":9580},[3891,10949,10951],{"className":9526,"code":10950,"language":9528,"meta":3899,"style":3899},"bun add @react-native-picker\u002Fpicker\n# або\npnpm add @react-native-picker\u002Fpicker\n",[3803,10952,10953,10961,10965],{"__ignoreMap":3899},[4576,10954,10955,10957,10959],{"class":4578,"line":4579},[4576,10956,9590],{"class":4657},[4576,10958,9575],{"class":4600},[4576,10960,10915],{"class":4600},[4576,10962,10963],{"class":4578,"line":4607},[4576,10964,9600],{"class":9599},[4576,10966,10967,10969,10971],{"class":4578,"line":4640},[4576,10968,9605],{"class":4657},[4576,10970,9575],{"class":4600},[4576,10972,10915],{"class":4600},[3792,10974,10976,10977,10979,10980],{"id":10975},"селекційна-дилема-picker-проти-вільного-textinput","Селекційна дилема: ",[3803,10978,3818],{}," проти вільного ",[3803,10981,3805],{},[3797,10983,10984,10995,11002],{},[3754,10985,10986,10991,10992,10994],{},[3746,10987,10988,10990],{},[3803,10989,3818],{}," доречний:"," для фіксованих списків від 3 до 15 елементів (регіони країни, мовні локалі, категорії витрат, валюти, ролі доступу). Усуває помилки друку (",[3777,10993,3789],{},") та гарантує цілісність даних на клієнті й сервері.",[3754,10996,10997,11001],{},[3746,10998,10999,10990],{},[3803,11000,3805],{}," для нескінченних або відкритих наборів (пошукові запити, назви міст, описи).",[3754,11003,11004,11011],{},[3746,11005,11006,11007,11010],{},"Окремий навігаційний екран з ",[3803,11008,11009],{},"FlatList"," та пошуком:"," найкращий патерн, коли кількість варіантів перевищує 20 або вимагає фільтрації (наприклад, вибір аеропорту або країни).",[3792,11013,8309],{"id":11014},"базовий-контрольований-приклад-3",[3891,11016,11018],{"className":4570,"code":11017,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport { Picker } from '@react-native-picker\u002Fpicker';\n\nexport const TRIP_REGIONS = [\n  'Карпати',\n  'Поділля',\n  'Полісся',\n  'Причорноморʼя',\n  'Слобожанщина',\n] as const;\n\nexport type TripRegion = (typeof TRIP_REGIONS)[number];\n\nexport function RegionSelector() {\n  const [region, setRegion] = useState\u003CTripRegion>('Карпати');\n\n  return (\n    \u003CView style={styles.container}>\n      \u003CText style={styles.label}>Географічний регіон\u003C\u002FText>\n      \u003CView style={styles.pickerWrapper}>\n        \u003CPicker\n          selectedValue={region}\n          onValueChange={(itemValue) => setRegion(itemValue as TripRegion)}\n        >\n          {TRIP_REGIONS.map((item) => (\n            \u003CPicker.Item key={item} label={item} value={item} \u002F>\n          ))}\n        \u003C\u002FPicker>\n      \u003C\u002FView>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: { gap: 6 },\n  label: { fontSize: 13, fontWeight: '700', textTransform: 'uppercase', color: '#64748B' },\n  pickerWrapper: {\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    borderRadius: 12,\n    overflow: 'hidden',\n  },\n});\n",[3803,11019,11020,11036,11060,11077,11081,11093,11100,11107,11114,11121,11128,11140,11144,11170,11174,11185,11215,11219,11225,11247,11278,11301,11308,11321,11354,11359,11383,11426,11433,11441,11449,11457,11461,11465,11469,11485,11497,11527,11534,11542,11551,11559,11569,11573],{"__ignoreMap":3899},[4576,11021,11022,11024,11026,11028,11030,11032,11034],{"class":4578,"line":4579},[4576,11023,4583],{"class":4582},[4576,11025,4587],{"class":4586},[4576,11027,4591],{"class":4590},[4576,11029,4594],{"class":4586},[4576,11031,4597],{"class":4582},[4576,11033,4601],{"class":4600},[4576,11035,4604],{"class":4586},[4576,11037,11038,11040,11042,11044,11046,11048,11050,11052,11054,11056,11058],{"class":4578,"line":4607},[4576,11039,4583],{"class":4582},[4576,11041,4587],{"class":4586},[4576,11043,4614],{"class":4590},[4576,11045,3806],{"class":4586},[4576,11047,4619],{"class":4590},[4576,11049,3806],{"class":4586},[4576,11051,4628],{"class":4590},[4576,11053,4594],{"class":4586},[4576,11055,4597],{"class":4582},[4576,11057,4635],{"class":4600},[4576,11059,4604],{"class":4586},[4576,11061,11062,11064,11066,11068,11070,11072,11075],{"class":4578,"line":4640},[4576,11063,4583],{"class":4582},[4576,11065,4587],{"class":4586},[4576,11067,3818],{"class":4590},[4576,11069,4594],{"class":4586},[4576,11071,4597],{"class":4582},[4576,11073,11074],{"class":4600}," '@react-native-picker\u002Fpicker'",[4576,11076,4604],{"class":4586},[4576,11078,11079],{"class":4578,"line":4647},[4576,11080,4644],{"emptyLinePlaceholder":4643},[4576,11082,11083,11085,11087,11090],{"class":4578,"line":4664},[4576,11084,4650],{"class":4582},[4576,11086,10058],{"class":4653},[4576,11088,11089],{"class":4673}," TRIP_REGIONS",[4576,11091,11092],{"class":4586}," = [\n",[4576,11094,11095,11098],{"class":4578,"line":4696},[4576,11096,11097],{"class":4600},"  'Карпати'",[4576,11099,4992],{"class":4586},[4576,11101,11102,11105],{"class":4578,"line":4701},[4576,11103,11104],{"class":4600},"  'Поділля'",[4576,11106,4992],{"class":4586},[4576,11108,11109,11112],{"class":4578,"line":4710},[4576,11110,11111],{"class":4600},"  'Полісся'",[4576,11113,4992],{"class":4586},[4576,11115,11116,11119],{"class":4578,"line":4745},[4576,11117,11118],{"class":4600},"  'Причорноморʼя'",[4576,11120,4992],{"class":4586},[4576,11122,11123,11126],{"class":4578,"line":4781},[4576,11124,11125],{"class":4600},"  'Слобожанщина'",[4576,11127,4992],{"class":4586},[4576,11129,11130,11133,11136,11138],{"class":4578,"line":4789},[4576,11131,11132],{"class":4586},"] ",[4576,11134,11135],{"class":4582},"as",[4576,11137,10058],{"class":4653},[4576,11139,4604],{"class":4586},[4576,11141,11142],{"class":4578,"line":4804},[4576,11143,4644],{"emptyLinePlaceholder":4643},[4576,11145,11146,11148,11151,11154,11157,11160,11162,11165,11167],{"class":4578,"line":4818},[4576,11147,4650],{"class":4582},[4576,11149,11150],{"class":4653}," type",[4576,11152,11153],{"class":4717}," TripRegion",[4576,11155,11156],{"class":4586}," = (",[4576,11158,11159],{"class":4653},"typeof",[4576,11161,11089],{"class":4673},[4576,11163,11164],{"class":4586},")[",[4576,11166,4095],{"class":4717},[4576,11168,11169],{"class":4586},"];\n",[4576,11171,11172],{"class":4578,"line":4829},[4576,11173,4644],{"emptyLinePlaceholder":4643},[4576,11175,11176,11178,11180,11183],{"class":4578,"line":4840},[4576,11177,4650],{"class":4582},[4576,11179,4654],{"class":4653},[4576,11181,11182],{"class":4657}," RegionSelector",[4576,11184,4661],{"class":4586},[4576,11186,11187,11189,11191,11194,11196,11199,11201,11203,11205,11208,11210,11213],{"class":4578,"line":4851},[4576,11188,4667],{"class":4653},[4576,11190,4670],{"class":4586},[4576,11192,11193],{"class":4673},"region",[4576,11195,3806],{"class":4586},[4576,11197,11198],{"class":4673},"setRegion",[4576,11200,4682],{"class":4586},[4576,11202,4591],{"class":4657},[4576,11204,5439],{"class":4586},[4576,11206,11207],{"class":4717},"TripRegion",[4576,11209,5444],{"class":4586},[4576,11211,11212],{"class":4600},"'Карпати'",[4576,11214,4693],{"class":4586},[4576,11216,11217],{"class":4578,"line":4870},[4576,11218,4644],{"emptyLinePlaceholder":4643},[4576,11220,11221,11223],{"class":4578,"line":4876},[4576,11222,4704],{"class":4582},[4576,11224,4707],{"class":4586},[4576,11226,11227,11229,11231,11233,11235,11237,11239,11241,11243,11245],{"class":4578,"line":4886},[4576,11228,4714],{"class":4713},[4576,11230,4628],{"class":4717},[4576,11232,4721],{"class":4720},[4576,11234,4724],{"class":4586},[4576,11236,4727],{"class":4653},[4576,11238,4730],{"class":4590},[4576,11240,3857],{"class":4733},[4576,11242,4736],{"class":4590},[4576,11244,4739],{"class":4653},[4576,11246,4742],{"class":4713},[4576,11248,11249,11251,11253,11255,11257,11259,11261,11263,11265,11267,11269,11272,11274,11276],{"class":4578,"line":4892},[4576,11250,4748],{"class":4713},[4576,11252,4619],{"class":4717},[4576,11254,4721],{"class":4720},[4576,11256,4724],{"class":4586},[4576,11258,4727],{"class":4653},[4576,11260,4730],{"class":4590},[4576,11262,3857],{"class":4733},[4576,11264,4763],{"class":4590},[4576,11266,4739],{"class":4653},[4576,11268,4768],{"class":4713},[4576,11270,11271],{"class":4586},"Географічний регіон",[4576,11273,4774],{"class":4713},[4576,11275,4619],{"class":4717},[4576,11277,4742],{"class":4713},[4576,11279,11280,11282,11284,11286,11288,11290,11292,11294,11297,11299],{"class":4578,"line":4897},[4576,11281,4748],{"class":4713},[4576,11283,4628],{"class":4717},[4576,11285,4721],{"class":4720},[4576,11287,4724],{"class":4586},[4576,11289,4727],{"class":4653},[4576,11291,4730],{"class":4590},[4576,11293,3857],{"class":4733},[4576,11295,11296],{"class":4590},"pickerWrapper",[4576,11298,4739],{"class":4653},[4576,11300,4742],{"class":4713},[4576,11302,11303,11305],{"class":4578,"line":4902},[4576,11304,7289],{"class":4713},[4576,11306,11307],{"class":4717},"Picker\n",[4576,11309,11310,11313,11315,11317,11319],{"class":4578,"line":4924},[4576,11311,11312],{"class":4720},"          selectedValue",[4576,11314,4724],{"class":4586},[4576,11316,4727],{"class":4653},[4576,11318,11193],{"class":4590},[4576,11320,4801],{"class":4653},[4576,11322,11323,11325,11327,11329,11331,11334,11336,11338,11341,11343,11345,11348,11350,11352],{"class":4578,"line":4942},[4576,11324,9301],{"class":4720},[4576,11326,4724],{"class":4586},[4576,11328,4727],{"class":4653},[4576,11330,4687],{"class":4733},[4576,11332,11333],{"class":4590},"itemValue",[4576,11335,7968],{"class":4733},[4576,11337,5537],{"class":4653},[4576,11339,11340],{"class":4657}," setRegion",[4576,11342,4687],{"class":4733},[4576,11344,11333],{"class":4590},[4576,11346,11347],{"class":4582}," as",[4576,11349,11153],{"class":4717},[4576,11351,5723],{"class":4733},[4576,11353,4801],{"class":4653},[4576,11355,11356],{"class":4578,"line":4974},[4576,11357,11358],{"class":4713},"        >\n",[4576,11360,11361,11364,11367,11369,11372,11374,11377,11379,11381],{"class":4578,"line":4983},[4576,11362,11363],{"class":4653},"          {",[4576,11365,11366],{"class":4673},"TRIP_REGIONS",[4576,11368,3857],{"class":4733},[4576,11370,11371],{"class":4657},"map",[4576,11373,7962],{"class":4733},[4576,11375,11376],{"class":4590},"item",[4576,11378,7968],{"class":4733},[4576,11380,5537],{"class":4653},[4576,11382,4707],{"class":4733},[4576,11384,11385,11388,11391,11394,11396,11398,11400,11402,11405,11407,11409,11411,11413,11416,11418,11420,11422,11424],{"class":4578,"line":4995},[4576,11386,11387],{"class":4713},"            \u003C",[4576,11389,11390],{"class":4717},"Picker.Item",[4576,11392,11393],{"class":4720}," key",[4576,11395,4724],{"class":4586},[4576,11397,4727],{"class":4653},[4576,11399,11376],{"class":4590},[4576,11401,4739],{"class":4653},[4576,11403,11404],{"class":4720}," label",[4576,11406,4724],{"class":4586},[4576,11408,4727],{"class":4653},[4576,11410,11376],{"class":4590},[4576,11412,4739],{"class":4653},[4576,11414,11415],{"class":4720}," value",[4576,11417,4724],{"class":4586},[4576,11419,4727],{"class":4653},[4576,11421,11376],{"class":4590},[4576,11423,4739],{"class":4653},[4576,11425,7302],{"class":4713},[4576,11427,11428,11431],{"class":4578,"line":5006},[4576,11429,11430],{"class":4733},"          ))",[4576,11432,4801],{"class":4653},[4576,11434,11435,11437,11439],{"class":4578,"line":5017},[4576,11436,9273],{"class":4713},[4576,11438,3818],{"class":4717},[4576,11440,4742],{"class":4713},[4576,11442,11443,11445,11447],{"class":4578,"line":5027},[4576,11444,6238],{"class":4713},[4576,11446,4628],{"class":4717},[4576,11448,4742],{"class":4713},[4576,11450,11451,11453,11455],{"class":4578,"line":5038},[4576,11452,4879],{"class":4713},[4576,11454,4628],{"class":4717},[4576,11456,4742],{"class":4713},[4576,11458,11459],{"class":4578,"line":5049},[4576,11460,4889],{"class":4586},[4576,11462,11463],{"class":4578,"line":5055},[4576,11464,4801],{"class":4586},[4576,11466,11467],{"class":4578,"line":5744},[4576,11468,4644],{"emptyLinePlaceholder":4643},[4576,11470,11471,11473,11475,11477,11479,11481,11483],{"class":4578,"line":6299},[4576,11472,4905],{"class":4653},[4576,11474,4908],{"class":4673},[4576,11476,4911],{"class":4586},[4576,11478,4614],{"class":4590},[4576,11480,3857],{"class":4586},[4576,11482,4918],{"class":4657},[4576,11484,4921],{"class":4586},[4576,11486,11487,11489,11491,11493,11495],{"class":4578,"line":6312},[4576,11488,4927],{"class":4590},[4576,11490,4587],{"class":4586},[4576,11492,4932],{"class":4590},[4576,11494,4936],{"class":4935},[4576,11496,4939],{"class":4586},[4576,11498,11499,11501,11503,11505,11507,11509,11511,11513,11515,11517,11519,11521,11523,11525],{"class":4578,"line":6325},[4576,11500,4945],{"class":4590},[4576,11502,4587],{"class":4586},[4576,11504,4950],{"class":4590},[4576,11506,4953],{"class":4935},[4576,11508,3806],{"class":4586},[4576,11510,4958],{"class":4590},[4576,11512,4961],{"class":4600},[4576,11514,3806],{"class":4586},[4576,11516,4966],{"class":4590},[4576,11518,4969],{"class":4600},[4576,11520,3806],{"class":4586},[4576,11522,6167],{"class":4590},[4576,11524,8746],{"class":4600},[4576,11526,4939],{"class":4586},[4576,11528,11529,11532],{"class":4578,"line":6335},[4576,11530,11531],{"class":4590},"  pickerWrapper:",[4576,11533,4980],{"class":4586},[4576,11535,11536,11538,11540],{"class":4578,"line":6350},[4576,11537,4986],{"class":4590},[4576,11539,4989],{"class":4935},[4576,11541,4992],{"class":4586},[4576,11543,11544,11547,11549],{"class":4578,"line":6359},[4576,11545,11546],{"class":4590},"    borderColor:",[4576,11548,8572],{"class":4600},[4576,11550,4992],{"class":4586},[4576,11552,11553,11555,11557],{"class":4578,"line":6368},[4576,11554,4998],{"class":4590},[4576,11556,5001],{"class":4935},[4576,11558,4992],{"class":4586},[4576,11560,11561,11564,11567],{"class":4578,"line":6377},[4576,11562,11563],{"class":4590},"    overflow:",[4576,11565,11566],{"class":4600}," 'hidden'",[4576,11568,4992],{"class":4586},[4576,11570,11571],{"class":4578,"line":6417},[4576,11572,5052],{"class":4586},[4576,11574,11575],{"class":4578,"line":6422},[4576,11576,5058],{"class":4586},[3792,11578,11580],{"id":11579},"платформова-дивергенція-відображення","Платформова дивергенція відображення",[9517,11582,11583,11602],{},[9520,11584,11587,11588,11590,11591,4494,11594,11597,11598,11601],{"icon":11585,"label":11586},"i-lucide-smartphone","iOS (UIPickerView Wheel)","На операційній системі iOS ",[3803,11589,3818],{}," за замовчуванням візуалізується як вертикальний барабан (",[3777,11592,11593],{},"Wheel",[3803,11595,11596],{},"UIPickerView","). Він займає фіксовану значну висоту (близько 216 pt). Вбудовування такого колеса безпосередньо у форму може порушувати вертикальну композицію, тому в професійних мобільних інтерфейсах (зокрема в проєкті Nomad) його часто розміщують у висувному модальному вікні (",[3777,11599,11600],{},"Bottom Sheet",") або активують по кліку на статичний селектор-рядок.",[9520,11603,11605,11606,11609,11610,11613,11614,11617,11618,11621],{"icon":11585,"label":11604},"Android (Spinner Dialog \u002F Dropdown)","На платформі Android віджет функціонує як нативний ",[3803,11607,11608],{},"Spinner",". Властивість ",[3803,11611,11612],{},"mode"," дозволяє обрати між випадаючим списком ",[3803,11615,11616],{},"mode=\"dropdown\""," (під інпутом) або блокуючим діалоговим вікном ",[3803,11619,11620],{},"mode=\"dialog\""," (по центру екрана). Це значно компактніше за дефолтний iOS-барабан і не вимагає модальної обгортки.",[3792,11623,11625],{"id":11624},"синхронізація-схеми-zod-та-typescript-типів-single-source-of-truth","Синхронізація схеми Zod та TypeScript-типів (Single Source of Truth)",[3739,11627,11628,11629,6978],{},"Щоб уникнути розбіжності між інтерфейсом та валідатором, масив констант типізується через ",[3803,11630,11631],{},"as const",[3891,11633,11635],{"className":10025,"code":11634,"language":10027,"meta":3899,"style":3899},"import { z } from 'zod';\n\nexport const TRIP_REGIONS = ['Карпати', 'Поділля', 'Полісся', 'Причорноморʼя'] as const;\n\nexport const tripSchema = z.object({\n  region: z.enum(TRIP_REGIONS, {\n    errorMap: () => ({ message: 'Оберіть дійсний регіон зі списку' }),\n  }),\n});\n\nexport type TripFormValues = z.infer\u003Ctypeof tripSchema>;\n",[3803,11636,11637,11653,11657,11693,11697,11716,11734,11753,11757,11761,11765],{"__ignoreMap":3899},[4576,11638,11639,11641,11643,11645,11647,11649,11651],{"class":4578,"line":4579},[4576,11640,4583],{"class":4582},[4576,11642,4587],{"class":4586},[4576,11644,10038],{"class":4590},[4576,11646,4594],{"class":4586},[4576,11648,4597],{"class":4582},[4576,11650,10045],{"class":4600},[4576,11652,4604],{"class":4586},[4576,11654,11655],{"class":4578,"line":4607},[4576,11656,4644],{"emptyLinePlaceholder":4643},[4576,11658,11659,11661,11663,11665,11668,11670,11672,11675,11677,11680,11682,11685,11687,11689,11691],{"class":4578,"line":4640},[4576,11660,4650],{"class":4582},[4576,11662,10058],{"class":4653},[4576,11664,11089],{"class":4673},[4576,11666,11667],{"class":4586}," = [",[4576,11669,11212],{"class":4600},[4576,11671,3806],{"class":4586},[4576,11673,11674],{"class":4600},"'Поділля'",[4576,11676,3806],{"class":4586},[4576,11678,11679],{"class":4600},"'Полісся'",[4576,11681,3806],{"class":4586},[4576,11683,11684],{"class":4600},"'Причорноморʼя'",[4576,11686,11132],{"class":4586},[4576,11688,11135],{"class":4582},[4576,11690,10058],{"class":4653},[4576,11692,4604],{"class":4586},[4576,11694,11695],{"class":4578,"line":4647},[4576,11696,4644],{"emptyLinePlaceholder":4643},[4576,11698,11699,11701,11703,11706,11708,11710,11712,11714],{"class":4578,"line":4664},[4576,11700,4650],{"class":4582},[4576,11702,10058],{"class":4653},[4576,11704,11705],{"class":4673}," tripSchema",[4576,11707,4911],{"class":4586},[4576,11709,10038],{"class":4590},[4576,11711,3857],{"class":4586},[4576,11713,10070],{"class":4657},[4576,11715,4921],{"class":4586},[4576,11717,11718,11721,11723,11725,11728,11730,11732],{"class":4578,"line":4696},[4576,11719,11720],{"class":4590},"  region:",[4576,11722,10085],{"class":4590},[4576,11724,3857],{"class":4586},[4576,11726,11727],{"class":4657},"enum",[4576,11729,4687],{"class":4586},[4576,11731,11366],{"class":4673},[4576,11733,10120],{"class":4586},[4576,11735,11736,11738,11740,11742,11744,11746,11748,11751],{"class":4578,"line":4701},[4576,11737,10125],{"class":4657},[4576,11739,6978],{"class":4590},[4576,11741,10130],{"class":4586},[4576,11743,5537],{"class":4653},[4576,11745,10135],{"class":4586},[4576,11747,10138],{"class":4590},[4576,11749,11750],{"class":4600}," 'Оберіть дійсний регіон зі списку'",[4576,11752,10144],{"class":4586},[4576,11754,11755],{"class":4578,"line":4710},[4576,11756,10149],{"class":4586},[4576,11758,11759],{"class":4578,"line":4745},[4576,11760,5058],{"class":4586},[4576,11762,11763],{"class":4578,"line":4781},[4576,11764,4644],{"emptyLinePlaceholder":4643},[4576,11766,11767,11769,11771,11774,11776,11778,11780,11783,11785,11787,11789],{"class":4578,"line":4789},[4576,11768,4650],{"class":4582},[4576,11770,11150],{"class":4653},[4576,11772,11773],{"class":4717}," TripFormValues",[4576,11775,4911],{"class":4586},[4576,11777,10038],{"class":4717},[4576,11779,3857],{"class":4586},[4576,11781,11782],{"class":4717},"infer",[4576,11784,5439],{"class":4586},[4576,11786,11159],{"class":4653},[4576,11788,11705],{"class":4590},[4576,11790,11791],{"class":4586},">;\n",[3881,11793],{},[3734,11795,11797,11799],{"id":11796},"datetimepicker-темпоральний-ввід-та-системні-календарі",[3803,11798,3821],{},": темпоральний ввід та системні календарі",[3739,11801,11802,11803,11805,11806,11809,11810,11813,11814,3833],{},"Введення календарних дат та часових міток через вільний ",[3803,11804,3805],{}," є грубим антипатерном мобільного UX через конфлікт локальних форматів (американський ",[3803,11807,11808],{},"MM\u002FDD\u002FYYYY"," проти європейського ",[3803,11811,11812],{},"DD.MM.YYYY","), складність ручної валідації високосних років і зміщення часових поясів (",[3777,11815,11816],{},"Timezone Offsets",[3739,11818,11819,11820,3857],{},"Стандартом React Native є пакет ",[3746,11821,11822],{},[3803,11823,4244],{},[3792,11825,9515],{"id":11826},"встановлення-залежності-3",[9517,11828,11829,11847,11862,11877],{},[9520,11830,11831],{"icon":9522,"label":9523},[3891,11832,11834],{"className":9526,"code":11833,"language":9528,"meta":3899,"style":3899},"npx expo install @react-native-community\u002Fdatetimepicker\n",[3803,11835,11836],{"__ignoreMap":3899},[4576,11837,11838,11840,11842,11844],{"class":4578,"line":4579},[4576,11839,9535],{"class":4657},[4576,11841,9538],{"class":4600},[4576,11843,9541],{"class":4600},[4576,11845,11846],{"class":4600}," @react-native-community\u002Fdatetimepicker\n",[9520,11848,11849],{"icon":9522,"label":9547},[3891,11850,11852],{"className":9526,"code":11851,"language":9528,"meta":3899,"style":3899},"npm install @react-native-community\u002Fdatetimepicker\n",[3803,11853,11854],{"__ignoreMap":3899},[4576,11855,11856,11858,11860],{"class":4578,"line":4579},[4576,11857,9547],{"class":4657},[4576,11859,9541],{"class":4600},[4576,11861,11846],{"class":4600},[9520,11863,11864],{"icon":9522,"label":9563},[3891,11865,11867],{"className":9526,"code":11866,"language":9528,"meta":3899,"style":3899},"yarn add @react-native-community\u002Fdatetimepicker\n",[3803,11868,11869],{"__ignoreMap":3899},[4576,11870,11871,11873,11875],{"class":4578,"line":4579},[4576,11872,9563],{"class":4657},[4576,11874,9575],{"class":4600},[4576,11876,11846],{"class":4600},[9520,11878,11879],{"icon":9522,"label":9580},[3891,11880,11882],{"className":9526,"code":11881,"language":9528,"meta":3899,"style":3899},"bun add @react-native-community\u002Fdatetimepicker\n# або\npnpm add @react-native-community\u002Fdatetimepicker\n",[3803,11883,11884,11892,11896],{"__ignoreMap":3899},[4576,11885,11886,11888,11890],{"class":4578,"line":4579},[4576,11887,9590],{"class":4657},[4576,11889,9575],{"class":4600},[4576,11891,11846],{"class":4600},[4576,11893,11894],{"class":4578,"line":4607},[4576,11895,9600],{"class":9599},[4576,11897,11898,11900,11902],{"class":4578,"line":4640},[4576,11899,9605],{"class":4657},[4576,11901,9575],{"class":4600},[4576,11903,11846],{"class":4600},[3792,11905,11907],{"id":11906},"платформові-відмінності-життєвого-циклу-подій","Платформові відмінності життєвого циклу подій",[9517,11909,11910,12051],{},[9520,11911,11913,11935,11952,11957],{"icon":11585,"label":11912},"Android (Asynchronous Modal Event)",[3739,11914,11915,11916,11919,11920,11923,11924,11926,11927,11930,11931,11934],{},"На Android виклик ",[3803,11917,11918],{},"\u003CDateTimePicker \u002F>"," відкриває асинхронний системний модальний діалог ",[3803,11921,11922],{},"DatePickerDialog",".\nКолбек ",[3803,11925,4075],{}," передає об'єкт події ",[3803,11928,11929],{},"DateTimePickerEvent",", де поле ",[3803,11932,11933],{},"event.type"," визначає результат:",[3797,11936,11937,11946],{},[3754,11938,11939,11942,11943,3857],{},[3803,11940,11941],{},"event.type === 'set'"," — користувач підтвердив дату; нове значення міститься в ",[3803,11944,11945],{},"selectedDate",[3754,11947,11948,11951],{},[3803,11949,11950],{},"event.type === 'dismissed'"," — користувач закрив діалог клавішею Back або кнопкою «Скасувати».",[3739,11953,11954,11955,6978],{},"Розробник зобов'язаний одразу перевести прапорець показу діалогу в ",[3803,11956,5161],{},[3891,11958,11960],{"className":4570,"code":11959,"language":4572,"meta":3899,"style":3899},"const onDateChange = (event: DateTimePickerEvent, selectedDate?: Date) => {\n  setShowPicker(false);\n  if (event.type === 'set' && selectedDate) {\n    setDate(selectedDate);\n  }\n};\n",[3803,11961,11962,11993,12004,12030,12041,12046],{"__ignoreMap":3899},[4576,11963,11964,11966,11969,11971,11974,11976,11978,11980,11982,11985,11987,11989,11991],{"class":4578,"line":4579},[4576,11965,4905],{"class":4653},[4576,11967,11968],{"class":4657}," onDateChange",[4576,11970,11156],{"class":4586},[4576,11972,11973],{"class":4590},"event",[4576,11975,7093],{"class":4586},[4576,11977,11929],{"class":4717},[4576,11979,3806],{"class":4586},[4576,11981,11945],{"class":4590},[4576,11983,11984],{"class":4586},"?: ",[4576,11986,4462],{"class":4717},[4576,11988,7968],{"class":4586},[4576,11990,5537],{"class":4653},[4576,11992,4980],{"class":4586},[4576,11994,11995,11998,12000,12002],{"class":4578,"line":4607},[4576,11996,11997],{"class":4657},"  setShowPicker",[4576,11999,4687],{"class":4586},[4576,12001,5161],{"class":4653},[4576,12003,4693],{"class":4586},[4576,12005,12006,12009,12011,12013,12015,12017,12020,12023,12026,12028],{"class":4578,"line":4640},[4576,12007,12008],{"class":4582},"  if",[4576,12010,4084],{"class":4586},[4576,12012,11973],{"class":4590},[4576,12014,3857],{"class":4586},[4576,12016,4083],{"class":4590},[4576,12018,12019],{"class":4586}," === ",[4576,12021,12022],{"class":4600},"'set'",[4576,12024,12025],{"class":4586}," && ",[4576,12027,11945],{"class":4590},[4576,12029,7149],{"class":4586},[4576,12031,12032,12035,12037,12039],{"class":4578,"line":4647},[4576,12033,12034],{"class":4657},"    setDate",[4576,12036,4687],{"class":4586},[4576,12038,11945],{"class":4590},[4576,12040,4693],{"class":4586},[4576,12042,12043],{"class":4578,"line":4664},[4576,12044,12045],{"class":4586},"  }\n",[4576,12047,12048],{"class":4578,"line":4696},[4576,12049,12050],{"class":4586},"};\n",[9520,12052,12054,12055,5347,12058,12061,12062,12065,12066,12069],{"icon":11585,"label":12053},"iOS (Inline Calendar \u002F Modal Sheet)","На iOS компонент є графічним віджетом, який може рендеритися прямо в дереві представлень (",[3803,12056,12057],{},"display=\"inline\"",[3803,12059,12060],{},"display=\"spinner\"","). Для забезпечення передбачуваного UX рекомендується відображати його у ",[3803,12063,12064],{},"Modal"," із буферизацією вибору: доки користувач крутить барабан, змінюється проміжний стан (",[3777,12067,12068],{},"Draft State","), а коміт у форму відбувається лише при натисканні кнопки «Підтвердити».",[3792,12071,12073],{"id":12072},"дворівнева-архітектура-роботи-з-датами","Дворівнева архітектура роботи з датами",[3751,12075,12076,12089],{},[3754,12077,12078,12081,12082,12084,12085,12088],{},[3746,12079,12080],{},"Шар стану та валідації (Data Layer):"," оперує чистими екземплярами класу ",[3803,12083,4462],{}," або стандартизованими ISO-8601 рядками. Усі порівняння часових інтервалів (",[3761,12086],{":inline":3763,"tex":12087},"\\text{startDate} \\le \\text{endDate}",") виконуються за таймстемпами.",[3754,12090,12091,12094],{},[3746,12092,12093],{},"Шар представлення (Presentation Layer):"," формує локалізований людиночитабельний підпис («14–18 жовтня 2026») виключно на етапі рендерингу картки, не перетворюючи цей текст назад у модель форми.",[3881,12096],{},[3734,12098,12100],{"id":12099},"як-уникнути-перекриття-форми-клавіатурою","Як уникнути перекриття форми клавіатурою",[3739,12102,12103,12104,12106],{},"Поява програмної клавіатури (",[3777,12105,3779],{},") на мобільному пристрої є динамічною зміною геометрії вікна перегляду, яка фізично перекриває до 50% площі екрана.",[3891,12108,12111],{"className":12109,"code":12110,"language":3896},[3894],"+---------------------------+       +---------------------------+\n| Screen Header             |       | Screen Header             |\n+---------------------------+       +---------------------------+\n| Field: Name               |       | Field: Name               |\n+---------------------------+       +---------------------------+\n| Field: Email              |  ==>  | Field: Email (FOCUSED)    |\n+---------------------------+       +---------------------------+\n| Field: Password           |       | [ SOFT KEYBOARD ]         |\n+---------------------------+       | [ Q W E R T Y U I O P ]   |\n| Button: [ SUBMIT ] (LOST) |       | [ A S D F G H J K L ]     |\n+---------------------------+       +---------------------------+\n",[3803,12112,12110],{"__ignoreMap":3899},[3792,12114,12116],{"id":12115},"фізика-оклюзії-та-системні-стратегії","Фізика оклюзії та системні стратегії:",[3751,12118,12119,12128],{},[3754,12120,12121,12123,12124,12127],{},[3746,12122,4528],{}," системна клавіатура відображається в абсолютному віконному шарі (",[3803,12125,12126],{},"UIWindow",") поверх застосунку. Без спеціального розрахунку зміщення нижня частина форми стає повністю недосяжною.",[3754,12129,12130,12132,12133,4084,12136,5347,12139,12142],{},[3746,12131,4544],{}," операційна система оперує режимами ",[3803,12134,12135],{},"windowSoftInputMode",[3803,12137,12138],{},"adjustResize",[3803,12140,12141],{},"adjustPan","). В умовах сучасної Edge-to-Edge верстки потрібна точна синхронізація з системними інсетами.",[3792,12144,12146],{"id":12145},"комплексний-шаблон-вирішення-kav-scrollview","Комплексний шаблон вирішення: KAV + ScrollView",[3739,12148,12149],{},"Для гарантованого збереження контролю над формою використовується трирівнева ієрархія:",[3891,12151,12154],{"className":12152,"code":12153,"language":3896,"meta":3899},[3894],"SafeAreaView (Edges: top, left, right)\n  └── KeyboardAvoidingView (behavior=\"padding\", flex: 1)\n        └── ScrollView (keyboardShouldPersistTaps=\"handled\", flex: 1)\n              ├── Інпути та контроли форми\n              └── Кнопка Submit (навіть при зсуві залишається доступною для скролу)\n",[3803,12155,12153],{"__ignoreMap":3899},[5101,12157,12158,12197,12201,12239,12247],{},[5104,12159,12161,12164],{"name":3849,"type":12160},"компонент",[3739,12162,12163],{},"Автоматично коригує власні розміри або внутрішні відступи при появі клавіатури.",[3797,12165,12166,12182],{},[3754,12167,12168,12173,12174,12177,12178,12181],{},[3746,12169,12170,6978],{},[3803,12171,12172],{},"behavior=\"padding\""," оптимальна стратегія для ",[3746,12175,12176],{},"iOS",", яка додає внутрішній ",[3803,12179,12180],{},"paddingBottom",", рівний точній висоті клавіатури.",[3754,12183,12184,12192,12193,12196],{},[3746,12185,12186,4494,12189,6978],{},[3803,12187,12188],{},"behavior=\"height\"",[3803,12190,12191],{},"behavior=\"position\""," застосовується на ",[3746,12194,12195],{},"Android"," за умови специфічних налаштувань віконних режимів.",[5104,12198,12200],{"name":12199,"type":4095},"keyboardVerticalOffset","Коригуючий зсув у пікселях, що компенсує висоту кастомного навігаційного хедера, статус-бара або безпечних зон, які KAV не може розрахувати автоматично.",[5104,12202,12205,12212],{"name":12203,"type":12204},"keyboardShouldPersistTaps","'never' | 'always' | 'handled'",[3739,12206,12207,12208,12211],{},"Керує ланцюжком обробників дотику (",[3777,12209,12210],{},"Responder Chain",") при активній клавіатурі:",[3797,12213,12214,12222],{},[3754,12215,12216,12219,12220,3857],{},[3803,12217,12218],{},"never"," (дефолт): перший тап по кнопці Submit лише закриває клавіатуру, ігноруючи подію ",[3803,12221,4180],{},[3754,12223,12224,12229,12230,12232,12233,12235,12236],{},[3746,12225,12226],{},[3803,12227,12228],{},"handled",": якщо тап припав на інтерактивний елемент (",[3803,12231,3947],{},"), клавіатура закривається, але подія ",[3803,12234,4180],{}," негайно виконується. ",[3746,12237,12238],{},"Обов'язковий параметр для всіх мобільних форм!",[5104,12240,12243,12244,3833],{"name":12241,"type":12242},"keyboardDismissMode","'none' | 'on-drag' | 'interactive'","Дозволяє закривати клавіатуру природним жестом прокручування списку (",[3803,12245,12246],{},"on-drag",[5104,12248,12251],{"name":12249,"type":12250},"Keyboard.dismiss()","імперативний метод","Програмне закриття клавіатури після успішного відправлення форми або при переході між екранами.",[3739,12253,12254],{},[4476,12255],{"alt":12256,"className":12257,"src":12258},"Форма у вебі та на телефоні: клавіатура ховає поля",[4480],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F02.svg",[3881,12260],{},[3734,12262,12264],{"id":12263},"архітектура-валідації-client-side-ux-проти-server-side-security","Архітектура валідації: Client-Side UX проти Server-Side Security",[3739,12266,12267],{},"Валідація даних у розподілених мобільних системах функціонує на двох взаємодоповнюючих рівнях:",[3891,12269,12272],{"className":12270,"code":12271,"language":3896},[3894],"+-------------------------------------------------------------------------+\n|                  ДВОРІВНЕВА АРХІТЕКТУРА ВАЛІДАЦІЇ                       |\n+-------------------------------------------------------------------------+\n|  РІВЕНЬ 1: КЛІЄНТСЬКИЙ ШАР (UX)      |  РІВЕНЬ 2: СЕРВЕРНИЙ ШАР (SECURITY)|\n|  • Миттєвий зворотний зв'язок        |  • Абсолютний захист бізнес-правил |\n|  • Працює без доступу до мережі      |  • Захист від скомпрометованих API |\n|  • Підсвічування рамок та підказки   |  • Криптографічні перевірки та DB  |\n|  • Інструменти: Zod + React Hook Form|  • Інструменти: Backend DTO \u002F Zod  |\n+--------------------------------------+----------------------------------+\n",[3803,12273,12271],{"__ignoreMap":3899},[3792,12275,12277],{"id":12276},"принципи-ергономічного-відображення-помилок","Принципи ергономічного відображення помилок:",[3751,12279,12280,12293,12302],{},[3754,12281,12282,12285,12286,12289,12290,3857],{},[3746,12283,12284],{},"Локалізація та контекст:"," текст помилки рендериться безпосередньо під відповідним інпутом (",[3803,12287,12288],{},"errors.field?.message","), а не в модальному ",[3803,12291,12292],{},"Alert.alert()",[3754,12294,12295,12298,12299,3857],{},[3746,12296,12297],{},"Візуальне кодування:"," рамка помилкового поля забарвлюється у семантичний колір ",[3803,12300,12301],{},"colors.danger",[3754,12303,12304,12307,12308,12310,12311,3833],{},[3746,12305,12306],{},"Неблокуючий ввід:"," користувач повинен мати можливість вільно друкувати; помилки первинно відображаються після спроби Submit (",[3803,12309,3875],{},"), а під час виправлення зникають у реальному часі (",[3803,12312,3879],{},[3739,12314,12315],{},[4476,12316],{"alt":12317,"className":12318,"src":12319},"Будова поля: label, input, error, hint",[4480],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F04.svg",[3881,12321],{},[3734,12323,12325],{"id":12324},"react-hook-form-zod-надійний-стек-валідації","React Hook Form + Zod: надійний стек валідації",[3739,12327,12328,12329,12331],{},"Коли мобільний додаток містить більше ніж 2–3 поля вводу, класичний підхід на базі локального стану ",[3803,12330,4591],{}," перетворюється на джерело багів та проблем із продуктивністю:",[3797,12333,12334,12343,12358],{},[3754,12335,12336,12339,12340,12342],{},[3746,12337,12338],{},"Проблема ре-рендерів:"," кожне натискання клавіші оновлює ",[3803,12341,4591],{},", змушуючи React перемальовувати весь екран разом із важкими списками, анімаціями та сусідніми компонентами.",[3754,12344,12345,12348,12349,12351,12352,12354,12355,3857],{},[3746,12346,12347],{},"Величезний boilerplate:"," для форми на 7 полів доводиться створювати 7 окремих ",[3803,12350,4591],{}," для значень, 7 станів для помилок, окремий ",[3803,12353,7135],{},", ручні функції скидання та десятки перевірок ",[3803,12356,12357],{},"if (text.length \u003C 2)",[3754,12359,12360,12363],{},[3746,12361,12362],{},"Фрагментована валідація:"," правила перевірки розкидані по обробниках подій або змішані з кодом UI.",[3739,12365,12366,12367,12369,12370,12372],{},"Сучасним стандартом в екосистемі React та React Native є тандем двох спеціалізованих інструментів: ",[3746,12368,3863],{}," (керування станом форми та життєвим циклом) та ",[3746,12371,3867],{}," (декларативний опис та валідація схем даних).",[3891,12374,12377],{"className":12375,"code":12376,"language":3896},[3894],"┌─────────────────────────────────────────────────────────────────────────────┐\n│                           ВЗАЄМОДІЯ RHF ТА ZOD                              │\n├──────────────────────────────────────┬──────────────────────────────────────┤\n│ 📋 REACT HOOK FORM                   │ 🛡️ ZOD                               │\n├──────────────────────────────────────┼──────────────────────────────────────┤\n│ • Керує станом полів форми           │ • Описує правила валідації (схему)   │\n│ • Не перемальовує зайві компоненти   │ • Автоматично генерує типи TypeScript│\n│ • Відстежує submit, dirty, touched   │ • Парсить та трансформує дані (.trim)│\n│ • Надає Controller для нативних полів│ • Повертає зрозумілі тексти помилок  │\n└──────────────────────────────────────┴──────────────────────────────────────┘\n",[3803,12378,12376],{"__ignoreMap":3899},[3881,12380],{},[3792,12382,12384],{"id":12383},"встановлення-необхідних-пакетів","Встановлення необхідних пакетів",[3739,12386,12387],{},"Для роботи зв'язки потрібні три пакети:",[3751,12389,12390,12396,12402],{},[3754,12391,12392,12395],{},[3803,12393,12394],{},"react-hook-form"," — ядро керування формою.",[3754,12397,12398,12401],{},[3803,12399,12400],{},"zod"," — декларативний валідатор схем.",[3754,12403,12404,12407],{},[3803,12405,12406],{},"@hookform\u002Fresolvers"," — офіційний адаптер, що з'єднує схеми Zod із валідаційним конвеєром React Hook Form.",[9517,12409,12410,12434,12453,12472],{},[9520,12411,12412],{"icon":9522,"label":9523},[3891,12413,12415],{"className":9526,"code":12414,"language":9528,"meta":3899,"style":3899},"npx expo install react-hook-form @hookform\u002Fresolvers zod\n",[3803,12416,12417],{"__ignoreMap":3899},[4576,12418,12419,12421,12423,12425,12428,12431],{"class":4578,"line":4579},[4576,12420,9535],{"class":4657},[4576,12422,9538],{"class":4600},[4576,12424,9541],{"class":4600},[4576,12426,12427],{"class":4600}," react-hook-form",[4576,12429,12430],{"class":4600}," @hookform\u002Fresolvers",[4576,12432,12433],{"class":4600}," zod\n",[9520,12435,12436],{"icon":9522,"label":9547},[3891,12437,12439],{"className":9526,"code":12438,"language":9528,"meta":3899,"style":3899},"npm install react-hook-form @hookform\u002Fresolvers zod\n",[3803,12440,12441],{"__ignoreMap":3899},[4576,12442,12443,12445,12447,12449,12451],{"class":4578,"line":4579},[4576,12444,9547],{"class":4657},[4576,12446,9541],{"class":4600},[4576,12448,12427],{"class":4600},[4576,12450,12430],{"class":4600},[4576,12452,12433],{"class":4600},[9520,12454,12455],{"icon":9522,"label":9563},[3891,12456,12458],{"className":9526,"code":12457,"language":9528,"meta":3899,"style":3899},"yarn add react-hook-form @hookform\u002Fresolvers zod\n",[3803,12459,12460],{"__ignoreMap":3899},[4576,12461,12462,12464,12466,12468,12470],{"class":4578,"line":4579},[4576,12463,9563],{"class":4657},[4576,12465,9575],{"class":4600},[4576,12467,12427],{"class":4600},[4576,12469,12430],{"class":4600},[4576,12471,12433],{"class":4600},[9520,12473,12474],{"icon":9522,"label":9580},[3891,12475,12477],{"className":9526,"code":12476,"language":9528,"meta":3899,"style":3899},"bun add react-hook-form @hookform\u002Fresolvers zod\n# або\npnpm add react-hook-form @hookform\u002Fresolvers zod\n",[3803,12478,12479,12491,12495],{"__ignoreMap":3899},[4576,12480,12481,12483,12485,12487,12489],{"class":4578,"line":4579},[4576,12482,9590],{"class":4657},[4576,12484,9575],{"class":4600},[4576,12486,12427],{"class":4600},[4576,12488,12430],{"class":4600},[4576,12490,12433],{"class":4600},[4576,12492,12493],{"class":4578,"line":4607},[4576,12494,9600],{"class":9599},[4576,12496,12497,12499,12501,12503,12505],{"class":4578,"line":4640},[4576,12498,9605],{"class":4657},[4576,12500,9575],{"class":4600},[4576,12502,12427],{"class":4600},[4576,12504,12430],{"class":4600},[4576,12506,12433],{"class":4600},[3881,12508],{},[3792,12510,12512],{"id":12511},"що-таке-zod-і-як-працює-схема-даних","Що таке Zod і як працює схема даних?",[3739,12514,12515,12517],{},[3746,12516,3867],{}," — це бібліотека TypeScript-first валідації, яка дозволяє описати структуру очікуваних даних декларативно у вигляді об'єкта-схеми.",[3739,12519,12520],{},"Замість написання ручних умов:",[3891,12522,12524],{"className":10025,"code":12523,"language":10027,"meta":3899,"style":3899},"\u002F\u002F ❌ Ручний підхід: спагетті з перевірок\nif (!title || title.trim().length \u003C 2) {\n  setError('Назва надто коротка');\n}\n",[3803,12525,12526,12531,12565,12577],{"__ignoreMap":3899},[4576,12527,12528],{"class":4578,"line":4579},[4576,12529,12530],{"class":9599},"\u002F\u002F ❌ Ручний підхід: спагетті з перевірок\n",[4576,12532,12533,12536,12539,12541,12544,12546,12548,12551,12554,12557,12560,12563],{"class":4578,"line":4607},[4576,12534,12535],{"class":4582},"if",[4576,12537,12538],{"class":4586}," (!",[4576,12540,7140],{"class":4590},[4576,12542,12543],{"class":4586}," || ",[4576,12545,7140],{"class":4590},[4576,12547,3857],{"class":4586},[4576,12549,12550],{"class":4657},"trim",[4576,12552,12553],{"class":4586},"().",[4576,12555,12556],{"class":4590},"length",[4576,12558,12559],{"class":4586}," \u003C ",[4576,12561,12562],{"class":4935},"2",[4576,12564,7149],{"class":4586},[4576,12566,12567,12570,12572,12575],{"class":4578,"line":4640},[4576,12568,12569],{"class":4657},"  setError",[4576,12571,4687],{"class":4586},[4576,12573,12574],{"class":4600},"'Назва надто коротка'",[4576,12576,4693],{"class":4586},[4576,12578,12579],{"class":4578,"line":4647},[4576,12580,4801],{"class":4586},[3739,12582,12583],{},"Ви описуєте контракт даних один раз:",[3891,12585,12587],{"className":10025,"code":12586,"language":10027,"meta":3899,"style":3899},"\u002F\u002F ✅ Декларативний контракт із Zod\nimport { z } from 'zod';\n\nexport const tripSchema = z.object({\n  title: z\n    .string({ required_error: \"Назва є обов'язковою\" })\n    .trim()\n    .min(2, 'Назва має містити щонайменше 2 символи')\n    .max(50, 'Назва не може перевищувати 50 символів'),\n  plannedDays: z\n    .number()\n    .int()\n    .min(1, 'Мінімум 1 день')\n    .max(30, 'Максимум 30 днів'),\n  isPrivate: z.boolean(),\n  agreeTerms: z.literal(true, {\n    errorMap: () => ({ message: 'Необхідно погодитися з правилами' }),\n  }),\n});\n\n\u002F\u002F Автоматичне виведення типу TypeScript із Zod-схеми:\nexport type TripFormValues = z.infer\u003Ctypeof tripSchema>;\n",[3803,12588,12589,12594,12610,12614,12632,12639,12657,12666,12685,12705,12712,12720,12729,12746,12764,12777,12794,12813,12817,12821,12825,12830],{"__ignoreMap":3899},[4576,12590,12591],{"class":4578,"line":4579},[4576,12592,12593],{"class":9599},"\u002F\u002F ✅ Декларативний контракт із Zod\n",[4576,12595,12596,12598,12600,12602,12604,12606,12608],{"class":4578,"line":4607},[4576,12597,4583],{"class":4582},[4576,12599,4587],{"class":4586},[4576,12601,10038],{"class":4590},[4576,12603,4594],{"class":4586},[4576,12605,4597],{"class":4582},[4576,12607,10045],{"class":4600},[4576,12609,4604],{"class":4586},[4576,12611,12612],{"class":4578,"line":4640},[4576,12613,4644],{"emptyLinePlaceholder":4643},[4576,12615,12616,12618,12620,12622,12624,12626,12628,12630],{"class":4578,"line":4647},[4576,12617,4650],{"class":4582},[4576,12619,10058],{"class":4653},[4576,12621,11705],{"class":4673},[4576,12623,4911],{"class":4586},[4576,12625,10038],{"class":4590},[4576,12627,3857],{"class":4586},[4576,12629,10070],{"class":4657},[4576,12631,4921],{"class":4586},[4576,12633,12634,12636],{"class":4578,"line":4664},[4576,12635,8713],{"class":4590},[4576,12637,12638],{"class":4590}," z\n",[4576,12640,12641,12644,12646,12648,12651,12654],{"class":4578,"line":4696},[4576,12642,12643],{"class":4586},"    .",[4576,12645,4349],{"class":4657},[4576,12647,7128],{"class":4586},[4576,12649,12650],{"class":4590},"required_error:",[4576,12652,12653],{"class":4600}," \"Назва є обов'язковою\"",[4576,12655,12656],{"class":4586}," })\n",[4576,12658,12659,12661,12663],{"class":4578,"line":4701},[4576,12660,12643],{"class":4586},[4576,12662,12550],{"class":4657},[4576,12664,12665],{"class":4586},"()\n",[4576,12667,12668,12670,12673,12675,12677,12679,12682],{"class":4578,"line":4710},[4576,12669,12643],{"class":4586},[4576,12671,12672],{"class":4657},"min",[4576,12674,4687],{"class":4586},[4576,12676,12562],{"class":4935},[4576,12678,3806],{"class":4586},[4576,12680,12681],{"class":4600},"'Назва має містити щонайменше 2 символи'",[4576,12683,12684],{"class":4586},")\n",[4576,12686,12687,12689,12692,12694,12697,12699,12702],{"class":4578,"line":4745},[4576,12688,12643],{"class":4586},[4576,12690,12691],{"class":4657},"max",[4576,12693,4687],{"class":4586},[4576,12695,12696],{"class":4935},"50",[4576,12698,3806],{"class":4586},[4576,12700,12701],{"class":4600},"'Назва не може перевищувати 50 символів'",[4576,12703,12704],{"class":4586},"),\n",[4576,12706,12707,12710],{"class":4578,"line":4781},[4576,12708,12709],{"class":4590},"  plannedDays:",[4576,12711,12638],{"class":4590},[4576,12713,12714,12716,12718],{"class":4578,"line":4789},[4576,12715,12643],{"class":4586},[4576,12717,4095],{"class":4657},[4576,12719,12665],{"class":4586},[4576,12721,12722,12724,12727],{"class":4578,"line":4804},[4576,12723,12643],{"class":4586},[4576,12725,12726],{"class":4657},"int",[4576,12728,12665],{"class":4586},[4576,12730,12731,12733,12735,12737,12739,12741,12744],{"class":4578,"line":4818},[4576,12732,12643],{"class":4586},[4576,12734,12672],{"class":4657},[4576,12736,4687],{"class":4586},[4576,12738,10566],{"class":4935},[4576,12740,3806],{"class":4586},[4576,12742,12743],{"class":4600},"'Мінімум 1 день'",[4576,12745,12684],{"class":4586},[4576,12747,12748,12750,12752,12754,12757,12759,12762],{"class":4578,"line":4829},[4576,12749,12643],{"class":4586},[4576,12751,12691],{"class":4657},[4576,12753,4687],{"class":4586},[4576,12755,12756],{"class":4935},"30",[4576,12758,3806],{"class":4586},[4576,12760,12761],{"class":4600},"'Максимум 30 днів'",[4576,12763,12704],{"class":4586},[4576,12765,12766,12769,12771,12773,12775],{"class":4578,"line":4840},[4576,12767,12768],{"class":4590},"  isPrivate:",[4576,12770,10085],{"class":4590},[4576,12772,3857],{"class":4586},[4576,12774,4372],{"class":4657},[4576,12776,10092],{"class":4586},[4576,12778,12779,12782,12784,12786,12788,12790,12792],{"class":4578,"line":4851},[4576,12780,12781],{"class":4590},"  agreeTerms:",[4576,12783,10085],{"class":4590},[4576,12785,3857],{"class":4586},[4576,12787,10113],{"class":4657},[4576,12789,4687],{"class":4586},[4576,12791,3763],{"class":4653},[4576,12793,10120],{"class":4586},[4576,12795,12796,12798,12800,12802,12804,12806,12808,12811],{"class":4578,"line":4870},[4576,12797,10125],{"class":4657},[4576,12799,6978],{"class":4590},[4576,12801,10130],{"class":4586},[4576,12803,5537],{"class":4653},[4576,12805,10135],{"class":4586},[4576,12807,10138],{"class":4590},[4576,12809,12810],{"class":4600}," 'Необхідно погодитися з правилами'",[4576,12812,10144],{"class":4586},[4576,12814,12815],{"class":4578,"line":4876},[4576,12816,10149],{"class":4586},[4576,12818,12819],{"class":4578,"line":4886},[4576,12820,5058],{"class":4586},[4576,12822,12823],{"class":4578,"line":4892},[4576,12824,4644],{"emptyLinePlaceholder":4643},[4576,12826,12827],{"class":4578,"line":4897},[4576,12828,12829],{"class":9599},"\u002F\u002F Автоматичне виведення типу TypeScript із Zod-схеми:\n",[4576,12831,12832,12834,12836,12838,12840,12842,12844,12846,12848,12850,12852],{"class":4578,"line":4902},[4576,12833,4650],{"class":4582},[4576,12835,11150],{"class":4653},[4576,12837,11773],{"class":4717},[4576,12839,4911],{"class":4586},[4576,12841,10038],{"class":4717},[4576,12843,3857],{"class":4586},[4576,12845,11782],{"class":4717},[4576,12847,5439],{"class":4586},[4576,12849,11159],{"class":4653},[4576,12851,11705],{"class":4590},[4576,12853,11791],{"class":4586},[12855,12856,12857],"blockquote",{},[3739,12858,12859,12862,12863,12866,12867,12870],{},[4576,12860,12861],{},"!TIP","\nЗавдяки ",[3803,12864,12865],{},"z.infer\u003Ctypeof tripSchema>"," вам не потрібно писати ",[3803,12868,12869],{},"interface TripFormValues"," вручну! Тип TypeScript завжди на 100% синхронізований зі схемою валідації. Змінили схему — типи оновилися автоматично.",[3881,12872],{},[3792,12874,12876,12877,12879,12880,12882],{"id":12875},"чому-register-не-працює-в-react-native-і-що-таке-controller","Чому ",[3803,12878,4261],{}," не працює в React Native і що таке ",[3803,12881,4265],{},"?",[3739,12884,12885],{},"Якщо ви раніше працювали з React Hook Form у браузері, ви пам'ятаєте синтаксис:",[3891,12887,12889],{"className":4570,"code":12888,"language":4572,"meta":3899,"style":3899},"\u002F\u002F 🌐 Тільки у Web: реєстрація через прямий DOM ref\n\u003Cinput {...register('email')} \u002F>\n",[3803,12890,12891,12896],{"__ignoreMap":3899},[4576,12892,12893],{"class":4578,"line":4579},[4576,12894,12895],{"class":9599},"\u002F\u002F 🌐 Тільки у Web: реєстрація через прямий DOM ref\n",[4576,12897,12898,12900,12903,12905,12908,12910,12912,12915,12917,12919],{"class":4578,"line":4607},[4576,12899,5439],{"class":4713},[4576,12901,4865],{"class":12902},"sKtos",[4576,12904,10514],{"class":4653},[4576,12906,12907],{"class":4586},"...",[4576,12909,4261],{"class":4657},[4576,12911,4687],{"class":4733},[4576,12913,12914],{"class":4600},"'email'",[4576,12916,5723],{"class":4733},[4576,12918,4739],{"class":4653},[4576,12920,7302],{"class":4713},[3739,12922,12923,12924,12926,12927,12930,12931,12934],{},"У браузері HTML-елемент ",[3803,12925,4068],{}," сам зберігає введений текст у DOM-дереві (Uncontrolled Input). Бібліотека RHF просто чіпляє на нього нативний ",[3803,12928,12929],{},"ref"," і зчитує ",[3803,12932,12933],{},"input.value"," лише під час відправки.",[3739,12936,12937],{},[3746,12938,12939],{},"Чому це НЕ працює в React Native?",[3751,12941,12942,12948,12969],{},[3754,12943,12944,12945,3857],{},"У React Native ",[3746,12946,12947],{},"немає веб-DOM",[3754,12949,12950,12951,3806,12953,3806,12955,3806,12957,12959,12960,3806,12962,12964,12965,3806,12967,3833],{},"Компоненти ",[3803,12952,3805],{},[3803,12954,3809],{},[3803,12956,3815],{},[3803,12958,3818],{}," — це нативні віджети iOS (",[3803,12961,3828],{},[3803,12963,8228],{},") та Android (",[3803,12966,3832],{},[3803,12968,8236],{},[3754,12970,12971,12972,3806,12974,12977,12978,3806,12980,3833],{},"Нативні контроли вимагають явного двостороннього зв'язку через пропси: передачу значення (",[3803,12973,4282],{},[3803,12975,12976],{},"selectedValue",") та підписку на зміну (",[3803,12979,4116],{},[3803,12981,4497],{},[12983,12984,12986,12988],"h4",{"id":12985},"controller-як-універсальний-міст-adapter-pattern",[3803,12987,4265],{}," як універсальний міст (Adapter Pattern)",[3739,12990,12991,12992,3857],{},"Для зв'язку нативних компонентів із React Hook Form використовується компонент ",[3746,12993,12994],{},[3803,12995,12996],{},"\u003CController \u002F>",[3739,12998,12999,13000,7093,13003,13005,13006,13009,13010,6978],{},"Він реалізує патерн ",[3746,13001,13002],{},"Render Prop",[3803,13004,4265],{}," бере на себе всю підписку на внутрішній стан форми і передає у вашу функцію ",[3803,13007,13008],{},"render"," спеціальний об'єкт ",[3803,13011,5104],{},[3891,13013,13015],{"className":4570,"code":13014,"language":4572,"meta":3899,"style":3899},"\u003CController\n  control={control}\n  name=\"title\"\n  render={({ field: { onChange, onBlur, value, ref }, fieldState: { error } }) => (\n    \u003CView>\n      \u003CTextInput\n        ref={ref}\n        value={value}\n        onChangeText={onChange}\n        onBlur={onBlur}\n        placeholder=\"Введіть назву\"\n      \u002F>\n      {error && \u003CText style={styles.errorText}>{error.message}\u003C\u002FText>}\n    \u003C\u002FView>\n  )}\n\u002F>\n",[3803,13016,13017,13024,13038,13048,13096,13104,13110,13122,13134,13146,13159,13168,13172,13221,13229,13236],{"__ignoreMap":3899},[4576,13018,13019,13021],{"class":4578,"line":4579},[4576,13020,5439],{"class":4713},[4576,13022,13023],{"class":4717},"Controller\n",[4576,13025,13026,13029,13031,13033,13036],{"class":4578,"line":4607},[4576,13027,13028],{"class":4720},"  control",[4576,13030,4724],{"class":4586},[4576,13032,4727],{"class":4653},[4576,13034,13035],{"class":4590},"control",[4576,13037,4801],{"class":4653},[4576,13039,13040,13043,13045],{"class":4578,"line":4640},[4576,13041,13042],{"class":4720},"  name",[4576,13044,4724],{"class":4586},[4576,13046,13047],{"class":4600},"\"title\"\n",[4576,13049,13050,13053,13055,13057,13059,13061,13064,13066,13068,13070,13072,13074,13076,13078,13081,13084,13086,13089,13092,13094],{"class":4578,"line":4647},[4576,13051,13052],{"class":4720},"  render",[4576,13054,4724],{"class":4586},[4576,13056,4727],{"class":4653},[4576,13058,7128],{"class":4733},[4576,13060,5104],{"class":4590},[4576,13062,13063],{"class":4733},": { ",[4576,13065,4075],{"class":4590},[4576,13067,3806],{"class":4733},[4576,13069,4287],{"class":4590},[4576,13071,3806],{"class":4733},[4576,13073,4282],{"class":4590},[4576,13075,3806],{"class":4733},[4576,13077,12929],{"class":4590},[4576,13079,13080],{"class":4733}," }, ",[4576,13082,13083],{"class":4590},"fieldState",[4576,13085,13063],{"class":4733},[4576,13087,13088],{"class":4590},"error",[4576,13090,13091],{"class":4733}," } }) ",[4576,13093,5537],{"class":4653},[4576,13095,4707],{"class":4733},[4576,13097,13098,13100,13102],{"class":4578,"line":4664},[4576,13099,4714],{"class":4713},[4576,13101,4628],{"class":4717},[4576,13103,4742],{"class":4713},[4576,13105,13106,13108],{"class":4578,"line":4696},[4576,13107,4748],{"class":4713},[4576,13109,4786],{"class":4717},[4576,13111,13112,13114,13116,13118,13120],{"class":4578,"line":4701},[4576,13113,5570],{"class":4720},[4576,13115,4724],{"class":4586},[4576,13117,4727],{"class":4653},[4576,13119,12929],{"class":4590},[4576,13121,4801],{"class":4653},[4576,13123,13124,13126,13128,13130,13132],{"class":4578,"line":4710},[4576,13125,4792],{"class":4720},[4576,13127,4724],{"class":4586},[4576,13129,4727],{"class":4653},[4576,13131,4282],{"class":4590},[4576,13133,4801],{"class":4653},[4576,13135,13136,13138,13140,13142,13144],{"class":4578,"line":4745},[4576,13137,4807],{"class":4720},[4576,13139,4724],{"class":4586},[4576,13141,4727],{"class":4653},[4576,13143,4075],{"class":4590},[4576,13145,4801],{"class":4653},[4576,13147,13148,13151,13153,13155,13157],{"class":4578,"line":4781},[4576,13149,13150],{"class":4720},"        onBlur",[4576,13152,4724],{"class":4586},[4576,13154,4727],{"class":4653},[4576,13156,4287],{"class":4590},[4576,13158,4801],{"class":4653},[4576,13160,13161,13163,13165],{"class":4578,"line":4789},[4576,13162,4821],{"class":4720},[4576,13164,4724],{"class":4586},[4576,13166,13167],{"class":4600},"\"Введіть назву\"\n",[4576,13169,13170],{"class":4578,"line":4804},[4576,13171,4873],{"class":4713},[4576,13173,13174,13176,13178,13180,13183,13185,13187,13189,13191,13193,13195,13198,13200,13202,13204,13206,13208,13211,13213,13215,13217,13219],{"class":4578,"line":4818},[4576,13175,7277],{"class":4653},[4576,13177,13088],{"class":4590},[4576,13179,7229],{"class":4586},[4576,13181,13182],{"class":4713}," \u003C",[4576,13184,4619],{"class":4717},[4576,13186,4721],{"class":4720},[4576,13188,4724],{"class":4586},[4576,13190,4727],{"class":4653},[4576,13192,4730],{"class":4590},[4576,13194,3857],{"class":4733},[4576,13196,13197],{"class":4590},"errorText",[4576,13199,4739],{"class":4653},[4576,13201,4768],{"class":4713},[4576,13203,4727],{"class":4653},[4576,13205,13088],{"class":4590},[4576,13207,3857],{"class":4733},[4576,13209,13210],{"class":4590},"message",[4576,13212,4739],{"class":4653},[4576,13214,4774],{"class":4713},[4576,13216,4619],{"class":4717},[4576,13218,4768],{"class":4713},[4576,13220,4801],{"class":4653},[4576,13222,13223,13225,13227],{"class":4578,"line":4829},[4576,13224,4879],{"class":4713},[4576,13226,4628],{"class":4717},[4576,13228,4742],{"class":4713},[4576,13230,13231,13234],{"class":4578,"line":4840},[4576,13232,13233],{"class":4733},"  )",[4576,13235,4801],{"class":4653},[4576,13237,13238],{"class":4578,"line":4851},[4576,13239,13240],{"class":4713},"\u002F>\n",[12983,13242,13244,13245,12882],{"id":13243},"що-містить-обєкт-field","Що містить об'єкт ",[3803,13246,5104],{},[3797,13248,13249,13263,13277,13288],{},[3754,13250,13251,13256,13257,5347,13260,3833],{},[3746,13252,13253],{},[3803,13254,13255],{},"field.value"," — поточне значення поля з внутрішнього сховища RHF (передаємо у ",[3803,13258,13259],{},"value={value}",[3803,13261,13262],{},"selectedValue={value}",[3754,13264,13265,13270,13271,5347,13274,3833],{},[3746,13266,13267],{},[3803,13268,13269],{},"field.onChange"," — функція оновлення значення у RHF (передаємо у ",[3803,13272,13273],{},"onChangeText={onChange}",[3803,13275,13276],{},"onValueChange={onChange}",[3754,13278,13279,13284,13285,3833],{},[3746,13280,13281],{},[3803,13282,13283],{},"field.onBlur"," — колбек втрати фокусу, який повідомляє RHF, що користувач взаємодіяв із полем (",[3803,13286,13287],{},"touched = true",[3754,13289,13290,13295],{},[3746,13291,13292],{},[3803,13293,13294],{},"field.ref"," — посилання на віджет для автоматичного фокусування на першому помилковому полі при невдалому сабміті.",[12983,13297,13244,13299,12882],{"id":13298},"що-містить-обєкт-fieldstate",[3803,13300,13083],{},[3797,13302,13303,13314,13322],{},[3754,13304,13305,13310,13311,3833],{},[3746,13306,13307],{},[3803,13308,13309],{},"fieldState.error"," — об'єкт помилки Zod для цього конкретного поля (",[3803,13312,13313],{},"error?.message",[3754,13315,13316,13321],{},[3746,13317,13318],{},[3803,13319,13320],{},"fieldState.isTouched"," — чи отримувало поле фокус і чи втрачало його.",[3754,13323,13324,13329,13330,3857],{},[3746,13325,13326],{},[3803,13327,13328],{},"fieldState.isDirty"," — чи відрізняється поточне значення від ",[3803,13331,10162],{},[3881,13333],{},[3792,13335,13337,13338],{"id":13336},"універсальне-підключення-будь-яких-контролів-через-controller","Універсальне підключення будь-яких контролів через ",[3803,13339,4265],{},[3739,13341,13342,13343,13345],{},"Завдяки гнучкості ",[3803,13344,4265],{},", через нього можна підключити абсолютно будь-який компонент введення:",[3891,13347,13349],{"className":4570,"code":13348,"language":4572,"meta":3899,"style":3899},"{\u002F* 1. Текстове поле (TextInput) *\u002F}\n\u003CController\n  control={control}\n  name=\"name\"\n  render={({ field: { onChange, onBlur, value } }) => (\n    \u003CTextInput value={value} onChangeText={onChange} onBlur={onBlur} \u002F>\n  )}\n\u002F>\n\n{\u002F* 2. Перемикач (Switch) *\u002F}\n\u003CController\n  control={control}\n  name=\"isPrivate\"\n  render={({ field: { onChange, value } }) => (\n    \u003CSwitch value={value} onValueChange={onChange} \u002F>\n  )}\n\u002F>\n\n{\u002F* 3. Чекбокс (Checkbox) *\u002F}\n\u003CController\n  control={control}\n  name=\"agreeTerms\"\n  render={({ field: { onChange, value } }) => (\n    \u003CCheckbox value={value} onValueChange={onChange} \u002F>\n  )}\n\u002F>\n\n{\u002F* 4. Повзунок (Slider) *\u002F}\n\u003CController\n  control={control}\n  name=\"plannedDays\"\n  render={({ field: { onChange, value } }) => (\n    \u003CSlider value={value} onValueChange={onChange} minimumValue={1} maximumValue={14} step={1} \u002F>\n  )}\n\u002F>\n\n{\u002F* 5. Селектор (Picker) *\u002F}\n\u003CController\n  control={control}\n  name=\"ticketType\"\n  render={({ field: { onChange, value } }) => (\n    \u003CPicker selectedValue={value} onValueChange={onChange}>\n      \u003CPicker.Item label=\"Стандарт\" value=\"standard\" \u002F>\n      \u003CPicker.Item label=\"VIP\" value=\"vip\" \u002F>\n    \u003C\u002FPicker>\n  )}\n\u002F>\n",[3803,13350,13351,13360,13366,13378,13387,13417,13457,13463,13467,13471,13480,13486,13498,13507,13533,13562,13568,13572,13576,13585,13591,13603,13612,13638,13666,13672,13676,13680,13689,13695,13707,13716,13742,13803,13809,13813,13817,13826,13832,13844,13853,13879,13908,13930,13952,13960,13966],{"__ignoreMap":3899},[4576,13352,13353,13355,13358],{"class":4578,"line":4579},[4576,13354,4727],{"class":4586},[4576,13356,13357],{"class":9599},"\u002F* 1. Текстове поле (TextInput) *\u002F",[4576,13359,4801],{"class":4586},[4576,13361,13362,13364],{"class":4578,"line":4607},[4576,13363,5439],{"class":4713},[4576,13365,13023],{"class":4717},[4576,13367,13368,13370,13372,13374,13376],{"class":4578,"line":4640},[4576,13369,13028],{"class":4720},[4576,13371,4724],{"class":4586},[4576,13373,4727],{"class":4653},[4576,13375,13035],{"class":4590},[4576,13377,4801],{"class":4653},[4576,13379,13380,13382,13384],{"class":4578,"line":4647},[4576,13381,13042],{"class":4720},[4576,13383,4724],{"class":4586},[4576,13385,13386],{"class":4600},"\"name\"\n",[4576,13388,13389,13391,13393,13395,13397,13399,13401,13403,13405,13407,13409,13411,13413,13415],{"class":4578,"line":4664},[4576,13390,13052],{"class":4720},[4576,13392,4724],{"class":4586},[4576,13394,4727],{"class":4653},[4576,13396,7128],{"class":4733},[4576,13398,5104],{"class":4590},[4576,13400,13063],{"class":4733},[4576,13402,4075],{"class":4590},[4576,13404,3806],{"class":4733},[4576,13406,4287],{"class":4590},[4576,13408,3806],{"class":4733},[4576,13410,4282],{"class":4590},[4576,13412,13091],{"class":4733},[4576,13414,5537],{"class":4653},[4576,13416,4707],{"class":4733},[4576,13418,13419,13421,13423,13425,13427,13429,13431,13433,13436,13438,13440,13442,13444,13447,13449,13451,13453,13455],{"class":4578,"line":4696},[4576,13420,4714],{"class":4713},[4576,13422,3805],{"class":4717},[4576,13424,11415],{"class":4720},[4576,13426,4724],{"class":4586},[4576,13428,4727],{"class":4653},[4576,13430,4282],{"class":4590},[4576,13432,4739],{"class":4653},[4576,13434,13435],{"class":4720}," onChangeText",[4576,13437,4724],{"class":4586},[4576,13439,4727],{"class":4653},[4576,13441,4075],{"class":4590},[4576,13443,4739],{"class":4653},[4576,13445,13446],{"class":4720}," onBlur",[4576,13448,4724],{"class":4586},[4576,13450,4727],{"class":4653},[4576,13452,4287],{"class":4590},[4576,13454,4739],{"class":4653},[4576,13456,7302],{"class":4713},[4576,13458,13459,13461],{"class":4578,"line":4701},[4576,13460,13233],{"class":4733},[4576,13462,4801],{"class":4653},[4576,13464,13465],{"class":4578,"line":4710},[4576,13466,13240],{"class":4713},[4576,13468,13469],{"class":4578,"line":4745},[4576,13470,4644],{"emptyLinePlaceholder":4643},[4576,13472,13473,13475,13478],{"class":4578,"line":4781},[4576,13474,4727],{"class":4586},[4576,13476,13477],{"class":9599},"\u002F* 2. Перемикач (Switch) *\u002F",[4576,13479,4801],{"class":4586},[4576,13481,13482,13484],{"class":4578,"line":4789},[4576,13483,5439],{"class":4713},[4576,13485,13023],{"class":4717},[4576,13487,13488,13490,13492,13494,13496],{"class":4578,"line":4804},[4576,13489,13028],{"class":4720},[4576,13491,4724],{"class":4586},[4576,13493,4727],{"class":4653},[4576,13495,13035],{"class":4590},[4576,13497,4801],{"class":4653},[4576,13499,13500,13502,13504],{"class":4578,"line":4818},[4576,13501,13042],{"class":4720},[4576,13503,4724],{"class":4586},[4576,13505,13506],{"class":4600},"\"isPrivate\"\n",[4576,13508,13509,13511,13513,13515,13517,13519,13521,13523,13525,13527,13529,13531],{"class":4578,"line":4829},[4576,13510,13052],{"class":4720},[4576,13512,4724],{"class":4586},[4576,13514,4727],{"class":4653},[4576,13516,7128],{"class":4733},[4576,13518,5104],{"class":4590},[4576,13520,13063],{"class":4733},[4576,13522,4075],{"class":4590},[4576,13524,3806],{"class":4733},[4576,13526,4282],{"class":4590},[4576,13528,13091],{"class":4733},[4576,13530,5537],{"class":4653},[4576,13532,4707],{"class":4733},[4576,13534,13535,13537,13539,13541,13543,13545,13547,13549,13552,13554,13556,13558,13560],{"class":4578,"line":4840},[4576,13536,4714],{"class":4713},[4576,13538,3809],{"class":4717},[4576,13540,11415],{"class":4720},[4576,13542,4724],{"class":4586},[4576,13544,4727],{"class":4653},[4576,13546,4282],{"class":4590},[4576,13548,4739],{"class":4653},[4576,13550,13551],{"class":4720}," onValueChange",[4576,13553,4724],{"class":4586},[4576,13555,4727],{"class":4653},[4576,13557,4075],{"class":4590},[4576,13559,4739],{"class":4653},[4576,13561,7302],{"class":4713},[4576,13563,13564,13566],{"class":4578,"line":4851},[4576,13565,13233],{"class":4733},[4576,13567,4801],{"class":4653},[4576,13569,13570],{"class":4578,"line":4870},[4576,13571,13240],{"class":4713},[4576,13573,13574],{"class":4578,"line":4876},[4576,13575,4644],{"emptyLinePlaceholder":4643},[4576,13577,13578,13580,13583],{"class":4578,"line":4886},[4576,13579,4727],{"class":4586},[4576,13581,13582],{"class":9599},"\u002F* 3. Чекбокс (Checkbox) *\u002F",[4576,13584,4801],{"class":4586},[4576,13586,13587,13589],{"class":4578,"line":4892},[4576,13588,5439],{"class":4713},[4576,13590,13023],{"class":4717},[4576,13592,13593,13595,13597,13599,13601],{"class":4578,"line":4897},[4576,13594,13028],{"class":4720},[4576,13596,4724],{"class":4586},[4576,13598,4727],{"class":4653},[4576,13600,13035],{"class":4590},[4576,13602,4801],{"class":4653},[4576,13604,13605,13607,13609],{"class":4578,"line":4902},[4576,13606,13042],{"class":4720},[4576,13608,4724],{"class":4586},[4576,13610,13611],{"class":4600},"\"agreeTerms\"\n",[4576,13613,13614,13616,13618,13620,13622,13624,13626,13628,13630,13632,13634,13636],{"class":4578,"line":4924},[4576,13615,13052],{"class":4720},[4576,13617,4724],{"class":4586},[4576,13619,4727],{"class":4653},[4576,13621,7128],{"class":4733},[4576,13623,5104],{"class":4590},[4576,13625,13063],{"class":4733},[4576,13627,4075],{"class":4590},[4576,13629,3806],{"class":4733},[4576,13631,4282],{"class":4590},[4576,13633,13091],{"class":4733},[4576,13635,5537],{"class":4653},[4576,13637,4707],{"class":4733},[4576,13639,13640,13642,13644,13646,13648,13650,13652,13654,13656,13658,13660,13662,13664],{"class":4578,"line":4942},[4576,13641,4714],{"class":4713},[4576,13643,3812],{"class":4717},[4576,13645,11415],{"class":4720},[4576,13647,4724],{"class":4586},[4576,13649,4727],{"class":4653},[4576,13651,4282],{"class":4590},[4576,13653,4739],{"class":4653},[4576,13655,13551],{"class":4720},[4576,13657,4724],{"class":4586},[4576,13659,4727],{"class":4653},[4576,13661,4075],{"class":4590},[4576,13663,4739],{"class":4653},[4576,13665,7302],{"class":4713},[4576,13667,13668,13670],{"class":4578,"line":4974},[4576,13669,13233],{"class":4733},[4576,13671,4801],{"class":4653},[4576,13673,13674],{"class":4578,"line":4983},[4576,13675,13240],{"class":4713},[4576,13677,13678],{"class":4578,"line":4995},[4576,13679,4644],{"emptyLinePlaceholder":4643},[4576,13681,13682,13684,13687],{"class":4578,"line":5006},[4576,13683,4727],{"class":4586},[4576,13685,13686],{"class":9599},"\u002F* 4. Повзунок (Slider) *\u002F",[4576,13688,4801],{"class":4586},[4576,13690,13691,13693],{"class":4578,"line":5017},[4576,13692,5439],{"class":4713},[4576,13694,13023],{"class":4717},[4576,13696,13697,13699,13701,13703,13705],{"class":4578,"line":5027},[4576,13698,13028],{"class":4720},[4576,13700,4724],{"class":4586},[4576,13702,4727],{"class":4653},[4576,13704,13035],{"class":4590},[4576,13706,4801],{"class":4653},[4576,13708,13709,13711,13713],{"class":4578,"line":5038},[4576,13710,13042],{"class":4720},[4576,13712,4724],{"class":4586},[4576,13714,13715],{"class":4600},"\"plannedDays\"\n",[4576,13717,13718,13720,13722,13724,13726,13728,13730,13732,13734,13736,13738,13740],{"class":4578,"line":5049},[4576,13719,13052],{"class":4720},[4576,13721,4724],{"class":4586},[4576,13723,4727],{"class":4653},[4576,13725,7128],{"class":4733},[4576,13727,5104],{"class":4590},[4576,13729,13063],{"class":4733},[4576,13731,4075],{"class":4590},[4576,13733,3806],{"class":4733},[4576,13735,4282],{"class":4590},[4576,13737,13091],{"class":4733},[4576,13739,5537],{"class":4653},[4576,13741,4707],{"class":4733},[4576,13743,13744,13746,13748,13750,13752,13754,13756,13758,13760,13762,13764,13766,13768,13771,13773,13775,13777,13779,13782,13784,13786,13788,13790,13793,13795,13797,13799,13801],{"class":4578,"line":5055},[4576,13745,4714],{"class":4713},[4576,13747,3815],{"class":4717},[4576,13749,11415],{"class":4720},[4576,13751,4724],{"class":4586},[4576,13753,4727],{"class":4653},[4576,13755,4282],{"class":4590},[4576,13757,4739],{"class":4653},[4576,13759,13551],{"class":4720},[4576,13761,4724],{"class":4586},[4576,13763,4727],{"class":4653},[4576,13765,4075],{"class":4590},[4576,13767,4739],{"class":4653},[4576,13769,13770],{"class":4720}," minimumValue",[4576,13772,4724],{"class":4586},[4576,13774,4727],{"class":4653},[4576,13776,10566],{"class":4935},[4576,13778,4739],{"class":4653},[4576,13780,13781],{"class":4720}," maximumValue",[4576,13783,4724],{"class":4586},[4576,13785,4727],{"class":4653},[4576,13787,10580],{"class":4935},[4576,13789,4739],{"class":4653},[4576,13791,13792],{"class":4720}," step",[4576,13794,4724],{"class":4586},[4576,13796,4727],{"class":4653},[4576,13798,10566],{"class":4935},[4576,13800,4739],{"class":4653},[4576,13802,7302],{"class":4713},[4576,13804,13805,13807],{"class":4578,"line":5744},[4576,13806,13233],{"class":4733},[4576,13808,4801],{"class":4653},[4576,13810,13811],{"class":4578,"line":6299},[4576,13812,13240],{"class":4713},[4576,13814,13815],{"class":4578,"line":6312},[4576,13816,4644],{"emptyLinePlaceholder":4643},[4576,13818,13819,13821,13824],{"class":4578,"line":6325},[4576,13820,4727],{"class":4586},[4576,13822,13823],{"class":9599},"\u002F* 5. Селектор (Picker) *\u002F",[4576,13825,4801],{"class":4586},[4576,13827,13828,13830],{"class":4578,"line":6335},[4576,13829,5439],{"class":4713},[4576,13831,13023],{"class":4717},[4576,13833,13834,13836,13838,13840,13842],{"class":4578,"line":6350},[4576,13835,13028],{"class":4720},[4576,13837,4724],{"class":4586},[4576,13839,4727],{"class":4653},[4576,13841,13035],{"class":4590},[4576,13843,4801],{"class":4653},[4576,13845,13846,13848,13850],{"class":4578,"line":6359},[4576,13847,13042],{"class":4720},[4576,13849,4724],{"class":4586},[4576,13851,13852],{"class":4600},"\"ticketType\"\n",[4576,13854,13855,13857,13859,13861,13863,13865,13867,13869,13871,13873,13875,13877],{"class":4578,"line":6368},[4576,13856,13052],{"class":4720},[4576,13858,4724],{"class":4586},[4576,13860,4727],{"class":4653},[4576,13862,7128],{"class":4733},[4576,13864,5104],{"class":4590},[4576,13866,13063],{"class":4733},[4576,13868,4075],{"class":4590},[4576,13870,3806],{"class":4733},[4576,13872,4282],{"class":4590},[4576,13874,13091],{"class":4733},[4576,13876,5537],{"class":4653},[4576,13878,4707],{"class":4733},[4576,13880,13881,13883,13885,13888,13890,13892,13894,13896,13898,13900,13902,13904,13906],{"class":4578,"line":6377},[4576,13882,4714],{"class":4713},[4576,13884,3818],{"class":4717},[4576,13886,13887],{"class":4720}," selectedValue",[4576,13889,4724],{"class":4586},[4576,13891,4727],{"class":4653},[4576,13893,4282],{"class":4590},[4576,13895,4739],{"class":4653},[4576,13897,13551],{"class":4720},[4576,13899,4724],{"class":4586},[4576,13901,4727],{"class":4653},[4576,13903,4075],{"class":4590},[4576,13905,4739],{"class":4653},[4576,13907,4742],{"class":4713},[4576,13909,13910,13912,13914,13916,13918,13921,13923,13925,13928],{"class":4578,"line":6417},[4576,13911,4748],{"class":4713},[4576,13913,11390],{"class":4717},[4576,13915,11404],{"class":4720},[4576,13917,4724],{"class":4586},[4576,13919,13920],{"class":4600},"\"Стандарт\"",[4576,13922,11415],{"class":4720},[4576,13924,4724],{"class":4586},[4576,13926,13927],{"class":4600},"\"standard\"",[4576,13929,7302],{"class":4713},[4576,13931,13932,13934,13936,13938,13940,13943,13945,13947,13950],{"class":4578,"line":6422},[4576,13933,4748],{"class":4713},[4576,13935,11390],{"class":4717},[4576,13937,11404],{"class":4720},[4576,13939,4724],{"class":4586},[4576,13941,13942],{"class":4600},"\"VIP\"",[4576,13944,11415],{"class":4720},[4576,13946,4724],{"class":4586},[4576,13948,13949],{"class":4600},"\"vip\"",[4576,13951,7302],{"class":4713},[4576,13953,13954,13956,13958],{"class":4578,"line":6427},[4576,13955,4879],{"class":4713},[4576,13957,3818],{"class":4717},[4576,13959,4742],{"class":4713},[4576,13961,13962,13964],{"class":4578,"line":6469},[4576,13963,13233],{"class":4733},[4576,13965,4801],{"class":4653},[4576,13967,13968],{"class":4578,"line":6476},[4576,13969,13240],{"class":4713},[3881,13971],{},[3792,13973,13975],{"id":13974},"покроковий-алгоритм-побудови-форми-від-а-до-я","Покроковий алгоритм побудови форми від А до Я",[3891,13977,13980],{"className":13978,"code":13979,"language":3896},[3894],"       USER ACTION: Тап по кнопці «Зберегти»\n                         │\n                         ▼\n             handleSubmit(onValid, onInvalid)\n                         │\n                         ▼\n        zodResolver(schema): schema.safeParse(data)\n                         │\n        ┌────────────────┴────────────────┐\n        ▼                                 ▼\n   [ VALID ]                         [ INVALID ]\n        │                                 │\n        ▼                                 ▼\n  onValid(data)                  formState.errors\nЧисті типізовані дані           Оновлення UI з текстом\nготові до відправки на API       помилок під кожним полем\n",[3803,13981,13979],{"__ignoreMap":3899},[12983,13983,13985],{"id":13984},"крок-1-опишіть-zod-схему-та-виведіть-тип","Крок 1. Опишіть Zod-схему та виведіть тип",[3891,13987,13989],{"className":10025,"code":13988,"language":10027,"meta":3899,"style":3899},"import { z } from 'zod';\n\nexport const createTripSchema = z.object({\n  title: z.string().trim().min(2, 'Мінімум 2 символи'),\n  isPrivate: z.boolean(),\n});\n\nexport type CreateTripFormValues = z.infer\u003Ctypeof createTripSchema>;\n",[3803,13990,13991,14007,14011,14030,14059,14071,14075,14079],{"__ignoreMap":3899},[4576,13992,13993,13995,13997,13999,14001,14003,14005],{"class":4578,"line":4579},[4576,13994,4583],{"class":4582},[4576,13996,4587],{"class":4586},[4576,13998,10038],{"class":4590},[4576,14000,4594],{"class":4586},[4576,14002,4597],{"class":4582},[4576,14004,10045],{"class":4600},[4576,14006,4604],{"class":4586},[4576,14008,14009],{"class":4578,"line":4607},[4576,14010,4644],{"emptyLinePlaceholder":4643},[4576,14012,14013,14015,14017,14020,14022,14024,14026,14028],{"class":4578,"line":4640},[4576,14014,4650],{"class":4582},[4576,14016,10058],{"class":4653},[4576,14018,14019],{"class":4673}," createTripSchema",[4576,14021,4911],{"class":4586},[4576,14023,10038],{"class":4590},[4576,14025,3857],{"class":4586},[4576,14027,10070],{"class":4657},[4576,14029,4921],{"class":4586},[4576,14031,14032,14034,14036,14038,14040,14042,14044,14046,14048,14050,14052,14054,14057],{"class":4578,"line":4647},[4576,14033,8713],{"class":4590},[4576,14035,10085],{"class":4590},[4576,14037,3857],{"class":4586},[4576,14039,4349],{"class":4657},[4576,14041,12553],{"class":4586},[4576,14043,12550],{"class":4657},[4576,14045,12553],{"class":4586},[4576,14047,12672],{"class":4657},[4576,14049,4687],{"class":4586},[4576,14051,12562],{"class":4935},[4576,14053,3806],{"class":4586},[4576,14055,14056],{"class":4600},"'Мінімум 2 символи'",[4576,14058,12704],{"class":4586},[4576,14060,14061,14063,14065,14067,14069],{"class":4578,"line":4664},[4576,14062,12768],{"class":4590},[4576,14064,10085],{"class":4590},[4576,14066,3857],{"class":4586},[4576,14068,4372],{"class":4657},[4576,14070,10092],{"class":4586},[4576,14072,14073],{"class":4578,"line":4696},[4576,14074,5058],{"class":4586},[4576,14076,14077],{"class":4578,"line":4701},[4576,14078,4644],{"emptyLinePlaceholder":4643},[4576,14080,14081,14083,14085,14088,14090,14092,14094,14096,14098,14100,14102],{"class":4578,"line":4710},[4576,14082,4650],{"class":4582},[4576,14084,11150],{"class":4653},[4576,14086,14087],{"class":4717}," CreateTripFormValues",[4576,14089,4911],{"class":4586},[4576,14091,10038],{"class":4717},[4576,14093,3857],{"class":4586},[4576,14095,11782],{"class":4717},[4576,14097,5439],{"class":4586},[4576,14099,11159],{"class":4653},[4576,14101,14019],{"class":4590},[4576,14103,11791],{"class":4586},[12983,14105,14107,14108],{"id":14106},"крок-2-ініціалізуйте-хук-useform","Крок 2. Ініціалізуйте хук ",[3803,14109,14110],{},"useForm",[3891,14112,14114],{"className":4570,"code":14113,"language":4572,"meta":3899,"style":3899},"import { useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform\u002Fresolvers\u002Fzod';\n\nconst {\n  control,\n  handleSubmit,\n  reset,\n  formState: { errors, isSubmitting, isValid, isDirty },\n} = useForm\u003CCreateTripFormValues>({\n  resolver: zodResolver(createTripSchema),\n  defaultValues: {\n    title: '',\n    isPrivate: false,\n  },\n  mode: 'onSubmit',\n  reValidateMode: 'onChange',\n});\n",[3803,14115,14116,14133,14151,14155,14161,14167,14174,14181,14207,14222,14237,14244,14254,14264,14268,14278,14288],{"__ignoreMap":3899},[4576,14117,14118,14120,14122,14124,14126,14128,14131],{"class":4578,"line":4579},[4576,14119,4583],{"class":4582},[4576,14121,4587],{"class":4586},[4576,14123,14110],{"class":4590},[4576,14125,4594],{"class":4586},[4576,14127,4597],{"class":4582},[4576,14129,14130],{"class":4600}," 'react-hook-form'",[4576,14132,4604],{"class":4586},[4576,14134,14135,14137,14139,14142,14144,14146,14149],{"class":4578,"line":4607},[4576,14136,4583],{"class":4582},[4576,14138,4587],{"class":4586},[4576,14140,14141],{"class":4590},"zodResolver",[4576,14143,4594],{"class":4586},[4576,14145,4597],{"class":4582},[4576,14147,14148],{"class":4600}," '@hookform\u002Fresolvers\u002Fzod'",[4576,14150,4604],{"class":4586},[4576,14152,14153],{"class":4578,"line":4640},[4576,14154,4644],{"emptyLinePlaceholder":4643},[4576,14156,14157,14159],{"class":4578,"line":4647},[4576,14158,4905],{"class":4653},[4576,14160,4980],{"class":4586},[4576,14162,14163,14165],{"class":4578,"line":4664},[4576,14164,13028],{"class":4673},[4576,14166,4992],{"class":4586},[4576,14168,14169,14172],{"class":4578,"line":4696},[4576,14170,14171],{"class":4673},"  handleSubmit",[4576,14173,4992],{"class":4586},[4576,14175,14176,14179],{"class":4578,"line":4701},[4576,14177,14178],{"class":4673},"  reset",[4576,14180,4992],{"class":4586},[4576,14182,14183,14186,14188,14191,14193,14195,14197,14200,14202,14205],{"class":4578,"line":4710},[4576,14184,14185],{"class":4590},"  formState",[4576,14187,13063],{"class":4586},[4576,14189,14190],{"class":4673},"errors",[4576,14192,3806],{"class":4586},[4576,14194,7135],{"class":4673},[4576,14196,3806],{"class":4586},[4576,14198,14199],{"class":4673},"isValid",[4576,14201,3806],{"class":4586},[4576,14203,14204],{"class":4673},"isDirty",[4576,14206,4939],{"class":4586},[4576,14208,14209,14212,14214,14216,14219],{"class":4578,"line":4745},[4576,14210,14211],{"class":4586},"} = ",[4576,14213,14110],{"class":4657},[4576,14215,5439],{"class":4586},[4576,14217,14218],{"class":4717},"CreateTripFormValues",[4576,14220,14221],{"class":4586},">({\n",[4576,14223,14224,14227,14230,14232,14235],{"class":4578,"line":4781},[4576,14225,14226],{"class":4590},"  resolver:",[4576,14228,14229],{"class":4657}," zodResolver",[4576,14231,4687],{"class":4586},[4576,14233,14234],{"class":4590},"createTripSchema",[4576,14236,12704],{"class":4586},[4576,14238,14239,14242],{"class":4578,"line":4789},[4576,14240,14241],{"class":4590},"  defaultValues:",[4576,14243,4980],{"class":4586},[4576,14245,14246,14249,14252],{"class":4578,"line":4804},[4576,14247,14248],{"class":4590},"    title:",[4576,14250,14251],{"class":4600}," ''",[4576,14253,4992],{"class":4586},[4576,14255,14256,14259,14262],{"class":4578,"line":4818},[4576,14257,14258],{"class":4590},"    isPrivate:",[4576,14260,14261],{"class":4653}," false",[4576,14263,4992],{"class":4586},[4576,14265,14266],{"class":4578,"line":4829},[4576,14267,5052],{"class":4586},[4576,14269,14270,14273,14276],{"class":4578,"line":4840},[4576,14271,14272],{"class":4590},"  mode:",[4576,14274,14275],{"class":4600}," 'onSubmit'",[4576,14277,4992],{"class":4586},[4576,14279,14280,14283,14286],{"class":4578,"line":4851},[4576,14281,14282],{"class":4590},"  reValidateMode:",[4576,14284,14285],{"class":4600}," 'onChange'",[4576,14287,4992],{"class":4586},[4576,14289,14290],{"class":4578,"line":4870},[4576,14291,5058],{"class":4586},[12983,14293,14295],{"id":14294},"крок-3-напишіть-функцію-обробки-валідних-даних","Крок 3. Напишіть функцію обробки валідних даних",[3891,14297,14299],{"className":4570,"code":14298,"language":4572,"meta":3899,"style":3899},"const onValid = async (data: CreateTripFormValues) => {\n  \u002F\u002F data гарантовано відповідає схемі Zod та типу CreateTripFormValues!\n  console.log('Відправка на сервер:', data);\n  await api.createTrip(data);\n  reset(); \u002F\u002F Очищення форми до defaultValues після успіху\n};\n",[3803,14300,14301,14328,14333,14353,14372,14382],{"__ignoreMap":3899},[4576,14302,14303,14305,14308,14310,14313,14315,14318,14320,14322,14324,14326],{"class":4578,"line":4579},[4576,14304,4905],{"class":4653},[4576,14306,14307],{"class":4657}," onValid",[4576,14309,4911],{"class":4586},[4576,14311,14312],{"class":4653},"async",[4576,14314,4084],{"class":4586},[4576,14316,14317],{"class":4590},"data",[4576,14319,7093],{"class":4586},[4576,14321,14218],{"class":4717},[4576,14323,7968],{"class":4586},[4576,14325,5537],{"class":4653},[4576,14327,4980],{"class":4586},[4576,14329,14330],{"class":4578,"line":4607},[4576,14331,14332],{"class":9599},"  \u002F\u002F data гарантовано відповідає схемі Zod та типу CreateTripFormValues!\n",[4576,14334,14335,14338,14340,14342,14344,14347,14349,14351],{"class":4578,"line":4640},[4576,14336,14337],{"class":4590},"  console",[4576,14339,3857],{"class":4586},[4576,14341,5715],{"class":4657},[4576,14343,4687],{"class":4586},[4576,14345,14346],{"class":4600},"'Відправка на сервер:'",[4576,14348,3806],{"class":4586},[4576,14350,14317],{"class":4590},[4576,14352,4693],{"class":4586},[4576,14354,14355,14358,14361,14363,14366,14368,14370],{"class":4578,"line":4647},[4576,14356,14357],{"class":4582},"  await",[4576,14359,14360],{"class":4590}," api",[4576,14362,3857],{"class":4586},[4576,14364,14365],{"class":4657},"createTrip",[4576,14367,4687],{"class":4586},[4576,14369,14317],{"class":4590},[4576,14371,4693],{"class":4586},[4576,14373,14374,14376,14379],{"class":4578,"line":4664},[4576,14375,14178],{"class":4657},[4576,14377,14378],{"class":4586},"(); ",[4576,14380,14381],{"class":9599},"\u002F\u002F Очищення форми до defaultValues після успіху\n",[4576,14383,14384],{"class":4578,"line":4696},[4576,14385,12050],{"class":4586},[12983,14387,14389,14390],{"id":14388},"крок-4-звяжіть-кнопку-з-handlesubmit","Крок 4. Зв'яжіть кнопку з ",[3803,14391,4176],{},[3891,14393,14395],{"className":4570,"code":14394,"language":4572,"meta":3899,"style":3899},"\u003CPressable \n  onPress={handleSubmit(onValid)} \n  disabled={isSubmitting}\n  style={styles.submitBtn}\n>\n  {isSubmitting ? \u003CActivityIndicator color=\"#fff\" \u002F> : \u003CText>Зберегти\u003C\u002FText>}\n\u003C\u002FPressable>\n",[3803,14396,14397,14406,14427,14440,14458,14462,14504],{"__ignoreMap":3899},[4576,14398,14399,14401,14403],{"class":4578,"line":4579},[4576,14400,5439],{"class":4713},[4576,14402,3947],{"class":4717},[4576,14404,14405],{"class":4586}," \n",[4576,14407,14408,14410,14412,14414,14416,14418,14421,14423,14425],{"class":4578,"line":4607},[4576,14409,7075],{"class":4720},[4576,14411,4724],{"class":4586},[4576,14413,4727],{"class":4653},[4576,14415,4176],{"class":4657},[4576,14417,4687],{"class":4733},[4576,14419,14420],{"class":4590},"onValid",[4576,14422,5723],{"class":4733},[4576,14424,4739],{"class":4653},[4576,14426,14405],{"class":4586},[4576,14428,14429,14432,14434,14436,14438],{"class":4578,"line":4640},[4576,14430,14431],{"class":4720},"  disabled",[4576,14433,4724],{"class":4586},[4576,14435,4727],{"class":4653},[4576,14437,7135],{"class":4590},[4576,14439,4801],{"class":4653},[4576,14441,14442,14445,14447,14449,14451,14453,14456],{"class":4578,"line":4647},[4576,14443,14444],{"class":4720},"  style",[4576,14446,4724],{"class":4586},[4576,14448,4727],{"class":4653},[4576,14450,4730],{"class":4590},[4576,14452,3857],{"class":4733},[4576,14454,14455],{"class":4590},"submitBtn",[4576,14457,4801],{"class":4653},[4576,14459,14460],{"class":4578,"line":4664},[4576,14461,4742],{"class":4713},[4576,14463,14464,14467,14469,14471,14473,14475,14477,14479,14482,14485,14487,14489,14491,14493,14496,14498,14500,14502],{"class":4578,"line":4696},[4576,14465,14466],{"class":4653},"  {",[4576,14468,7135],{"class":4590},[4576,14470,7282],{"class":4586},[4576,14472,13182],{"class":4713},[4576,14474,7036],{"class":4717},[4576,14476,7294],{"class":4720},[4576,14478,4724],{"class":4586},[4576,14480,14481],{"class":4600},"\"#fff\"",[4576,14483,14484],{"class":4713}," \u002F>",[4576,14486,8033],{"class":4586},[4576,14488,13182],{"class":4713},[4576,14490,4619],{"class":4717},[4576,14492,4768],{"class":4713},[4576,14494,14495],{"class":4733},"Зберегти",[4576,14497,4774],{"class":4713},[4576,14499,4619],{"class":4717},[4576,14501,4768],{"class":4713},[4576,14503,4801],{"class":4653},[4576,14505,14506,14508,14510],{"class":4578,"line":4701},[4576,14507,4774],{"class":4713},[4576,14509,3947],{"class":4717},[4576,14511,4742],{"class":4713},[3881,14513],{},[3792,14515,14517,14518],{"id":14516},"повний-огляд-параметрів-конфігурації-useform","Повний огляд параметрів конфігурації ",[3803,14519,14110],{},[5101,14521,14522,14534,14542,14551,14561,14569,14608,14613],{},[5104,14523,14526,14527,14530,14531,3857],{"name":14524,"type":14525},"resolver","zodResolver(schema)","Адаптер валідації. Автоматично запускає ",[3803,14528,14529],{},"schema.safeParse()"," під час сабміту та транслює згенеровані помилки Zod у структуру ",[3803,14532,14533],{},"formState.errors",[5104,14535,14537,14538,14541],{"name":10162,"type":14536},"DefaultValues\u003CT>","Обов'язковий об'єкт початкових значень для всіх зареєстрованих полів форми. Запобігає попередженням React про неконтрольований перехід зі стану ",[3803,14539,14540],{},"undefined"," до конкретного типу.",[5104,14543,14545,14546,14550],{"name":11612,"type":14544},"'onSubmit' | 'onChange' | 'onBlur' | 'onTouched' | 'all'","Визначає момент первинного запуску валідації. Рекомендований мобільний стандарт — ",[3746,14547,14548],{},[3803,14549,3875],{},", який не відволікає користувача червоними помилками до першої спроби відправки.",[5104,14552,14555,14556,14560],{"name":14553,"type":14554},"reValidateMode","'onChange' | 'onBlur' | 'onSubmit'","Визначає алгоритм повторної перевірки після того, як форма була один раз надіслана з помилками. Значення ",[3746,14557,14558],{},[3803,14559,3879],{}," гарантує, що помилка зникне миттєво, щойно користувач введе коректні дані.",[5104,14562,14564,14565,14568],{"name":13035,"type":14563},"Control\u003CT>","Спеціальний службовий об'єкт-контейнер, що передається у всі компоненти ",[3803,14566,14567],{},"\u003CController control={control} \u002F>"," для реєстрації полів у системі підписок.",[5104,14570,14573,14576],{"name":14571,"type":14572},"formState","FormState\u003CT>",[3739,14574,14575],{},"Об'єкт стану форми:",[3797,14577,14578,14586,14593,14603],{},[3754,14579,14580,14582,14583,3857],{},[3803,14581,14190],{}," — словник активних помилок ",[3803,14584,14585],{},"{ [fieldName]: { message: string } }",[3754,14587,14588,14590,14591,3857],{},[3803,14589,7135],{}," — булевий прапорець виконання асинхронного колбека ",[3803,14592,14420],{},[3754,14594,14595,14597,14598,14600,14601,3857],{},[3803,14596,14204],{}," — ",[3803,14599,3763],{},", якщо хоча б одне поле було змінене відносно ",[3803,14602,10162],{},[3754,14604,14605,14607],{},[3803,14606,14199],{}," — чи проходить форма валідацію в поточний момент.",[5104,14609,14612],{"name":14610,"type":14611},"watch","(name?: string) => any","Метод реактивного спостереження за значенням одного або декількох полів без запуску валідації (наприклад, для умовного показу блоків форми).",[5104,14614,14617,14618,14620,14621,3857],{"name":14615,"type":14616},"reset","(values?: DefaultValues\u003CT>) => void","Скидає всі поля форми до початкових значень ",[3803,14619,10162],{}," та очищає історію помилок ",[3803,14622,14190],{},[3739,14624,14625],{},[4476,14626],{"alt":14627,"className":14628,"src":14629},"Ланцюг: Submit → handleSubmit → zodResolver → OK \u002F errors",[4480],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F05.svg",[3792,14631,14633],{"id":14632},"демо-ux-помилок","Демо UX помилок",[5754,14635,14639],{"device":5756,"filename":14636,"height":14637,"title":14638},"FormErrorsDemo.tsx",700,"Форма · помилки під полями",[3891,14640,14642],{"className":4570,"code":14641,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  KeyboardAvoidingView,\n  Platform,\n  Pressable,\n  ScrollView,\n  StyleSheet,\n  Text,\n  TextInput,\n  Switch,\n  View,\n  useColorScheme,\n} from 'react-native';\n\ntype Errors = { name?: string; email?: string; terms?: string };\n\nexport default function App() {\n  const dark = useColorScheme() === 'dark';\n  const bg = dark ? '#000' : '#F8FAFC';\n  const surface = dark ? '#1c1c1e' : '#fff';\n  const text = dark ? '#f5f5f7' : '#0f172a';\n  const muted = dark ? '#a1a1aa' : '#64748b';\n  const border = dark ? '#3a3a3c' : '#e2e8f0';\n  const danger = dark ? '#f87171' : '#dc2626';\n  const primary = dark ? '#3b82f6' : '#2563eb';\n\n  const [name, setName] = useState('');\n  const [email, setEmail] = useState('');\n  const [terms, setTerms] = useState(false);\n  const [errors, setErrors] = useState\u003CErrors>({});\n  const [done, setDone] = useState(false);\n\n  const onSubmit = () => {\n    const e: Errors = {};\n    if (name.trim().length \u003C 2) e.name = 'Ім’я — щонайменше 2 символи';\n    if (!email.includes('@') || email.trim().length \u003C 5) e.email = 'Схоже, це не email';\n    if (!terms) e.terms = 'Потрібна згода';\n    setErrors(e);\n    setDone(Object.keys(e).length === 0);\n  };\n\n  if (done) {\n    return (\n      \u003CView style={[styles.center, { backgroundColor: bg }]}>\n        \u003CText style={{ color: text, fontWeight: '800', fontSize: 22 }}>Готово\u003C\u002FText>\n        \u003CText style={{ color: muted, marginTop: 8 }}>{name} · {email}\u003C\u002FText>\n        \u003CPressable\n          onPress={() => {\n            setDone(false);\n            setName('');\n            setEmail('');\n            setTerms(false);\n          }}\n          style={[styles.btn, { backgroundColor: primary, marginTop: 16 }]}\n        >\n          \u003CText style={styles.btnText}>Ще раз\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FView>\n    );\n  }\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={{ flex: 1, backgroundColor: bg }}\n      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n    >\n      \u003CScrollView contentContainerStyle={{ padding: 16, gap: 10 }} keyboardShouldPersistTaps=\"handled\">\n        \u003CText style={{ color: text, fontWeight: '800', fontSize: 22 }}>Реєстрація\u003C\u002FText>\n        \u003CText style={{ color: muted, fontSize: 13 }}>\n          Текст + Switch-згода. Натисніть «Далі» з порожніми полями.\n        \u003C\u002FText>\n\n        \u003CText style={[styles.label, { color: muted }]}>Ім’я\u003C\u002FText>\n        \u003CTextInput\n          value={name}\n          onChangeText={setName}\n          placeholder=\"Олена\"\n          placeholderTextColor={muted}\n          style={[\n            styles.input,\n            { backgroundColor: surface, borderColor: errors.name ? danger : border, color: text },\n          ]}\n        \u002F>\n        {errors.name ? \u003CText style={{ color: danger }}>{errors.name}\u003C\u002FText> : null}\n\n        \u003CText style={[styles.label, { color: muted }]}>Email\u003C\u002FText>\n        \u003CTextInput\n          value={email}\n          onChangeText={setEmail}\n          keyboardType=\"email-address\"\n          autoCapitalize=\"none\"\n          placeholder=\"you@example.com\"\n          placeholderTextColor={muted}\n          style={[\n            styles.input,\n            { backgroundColor: surface, borderColor: errors.email ? danger : border, color: text },\n          ]}\n        \u002F>\n        {errors.email ? \u003CText style={{ color: danger }}>{errors.email}\u003C\u002FText> : null}\n\n        \u003CView style={styles.row}>\n          \u003CText style={{ color: text, flex: 1 }}>Погоджуюсь на обробку\u003C\u002FText>\n          \u003CSwitch value={terms} onValueChange={setTerms} trackColor={{ true: primary, false: border }} \u002F>\n        \u003C\u002FView>\n        {errors.terms ? \u003CText style={{ color: danger }}>{errors.terms}\u003C\u002FText> : null}\n\n        \u003CPressable onPress={onSubmit} style={[styles.btn, { backgroundColor: primary }]}>\n          \u003CText style={styles.btnText}>Далі\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FScrollView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  center: { flex: 1, alignItems: 'center', justifyContent: 'center', padding: 16 },\n  label: { fontSize: 12, fontWeight: '700', textTransform: 'uppercase', marginTop: 6 },\n  input: {\n    borderWidth: 1,\n    borderRadius: 12,\n    paddingHorizontal: 14,\n    paddingVertical: 12,\n    fontSize: 16,\n    minHeight: 48,\n  },\n  row: { flexDirection: 'row', alignItems: 'center', gap: 12, marginTop: 8 },\n  btn: { marginTop: 12, paddingVertical: 14, borderRadius: 12, alignItems: 'center' },\n  btnText: { color: '#fff', fontWeight: '800' },\n});\n",[3803,14643,14644,14660,14666,14673,14680,14687,14693,14699,14705,14711,14718,14725,14731,14741,14745,14782,14786,14798,14814,14834,14854,14874,14894,14914,14937,14957,14961,14983,15005,15028,15053,15076,15080,15094,15109,15146,15197,15220,15231,15260,15265,15269,15279,15286,15319,15364,15415,15421,15436,15447,15458,15469,15480,15487,15520,15524,15555,15563,15571,15576,15580,15584,15590,15597,15621,15655,15659,15699,15744,15774,15779,15787,15791,15832,15838,15850,15863,15873,15886,15896,15907,15943,15950,15954,16010,16015,16056,16063,16076,16089,16099,16109,16118,16131,16142,16153,16188,16195,16200,16255,16260,16283,16323,16375,16384,16439,16444,16489,16521,16530,16539,16548,16553,16558,16563,16580,16612,16643,16650,16659,16668,16677,16686,16695,16704,16709,16740,16771,16790],{"__ignoreMap":3899},[4576,14645,14646,14648,14650,14652,14654,14656,14658],{"class":4578,"line":4579},[4576,14647,4583],{"class":4582},[4576,14649,4587],{"class":4586},[4576,14651,4591],{"class":4590},[4576,14653,4594],{"class":4586},[4576,14655,4597],{"class":4582},[4576,14657,4601],{"class":4600},[4576,14659,4604],{"class":4586},[4576,14661,14662,14664],{"class":4578,"line":4607},[4576,14663,4583],{"class":4582},[4576,14665,4980],{"class":4586},[4576,14667,14668,14671],{"class":4578,"line":4640},[4576,14669,14670],{"class":4590},"  KeyboardAvoidingView",[4576,14672,4992],{"class":4586},[4576,14674,14675,14678],{"class":4578,"line":4647},[4576,14676,14677],{"class":4590},"  Platform",[4576,14679,4992],{"class":4586},[4576,14681,14682,14685],{"class":4578,"line":4664},[4576,14683,14684],{"class":4590},"  Pressable",[4576,14686,4992],{"class":4586},[4576,14688,14689,14691],{"class":4578,"line":4696},[4576,14690,5791],{"class":4590},[4576,14692,4992],{"class":4586},[4576,14694,14695,14697],{"class":4578,"line":4701},[4576,14696,5798],{"class":4590},[4576,14698,4992],{"class":4586},[4576,14700,14701,14703],{"class":4578,"line":4710},[4576,14702,5805],{"class":4590},[4576,14704,4992],{"class":4586},[4576,14706,14707,14709],{"class":4578,"line":4745},[4576,14708,5812],{"class":4590},[4576,14710,4992],{"class":4586},[4576,14712,14713,14716],{"class":4578,"line":4781},[4576,14714,14715],{"class":4590},"  Switch",[4576,14717,4992],{"class":4586},[4576,14719,14720,14723],{"class":4578,"line":4789},[4576,14721,14722],{"class":4590},"  View",[4576,14724,4992],{"class":4586},[4576,14726,14727,14729],{"class":4578,"line":4804},[4576,14728,5819],{"class":4590},[4576,14730,4992],{"class":4586},[4576,14732,14733,14735,14737,14739],{"class":4578,"line":4818},[4576,14734,5826],{"class":4586},[4576,14736,4597],{"class":4582},[4576,14738,4635],{"class":4600},[4576,14740,4604],{"class":4586},[4576,14742,14743],{"class":4578,"line":4829},[4576,14744,4644],{"emptyLinePlaceholder":4643},[4576,14746,14747,14749,14752,14755,14757,14759,14761,14764,14766,14768,14770,14772,14775,14777,14779],{"class":4578,"line":4840},[4576,14748,4083],{"class":4653},[4576,14750,14751],{"class":4717}," Errors",[4576,14753,14754],{"class":4586}," = { ",[4576,14756,4674],{"class":4590},[4576,14758,11984],{"class":4586},[4576,14760,4349],{"class":4717},[4576,14762,14763],{"class":4586},"; ",[4576,14765,4092],{"class":4590},[4576,14767,11984],{"class":4586},[4576,14769,4349],{"class":4717},[4576,14771,14763],{"class":4586},[4576,14773,14774],{"class":4590},"terms",[4576,14776,11984],{"class":4586},[4576,14778,4349],{"class":4717},[4576,14780,14781],{"class":4586}," };\n",[4576,14783,14784],{"class":4578,"line":4851},[4576,14785,4644],{"emptyLinePlaceholder":4643},[4576,14787,14788,14790,14792,14794,14796],{"class":4578,"line":4870},[4576,14789,4650],{"class":4582},[4576,14791,5843],{"class":4582},[4576,14793,4654],{"class":4653},[4576,14795,5848],{"class":4657},[4576,14797,4661],{"class":4586},[4576,14799,14800,14802,14804,14806,14808,14810,14812],{"class":4578,"line":4876},[4576,14801,4667],{"class":4653},[4576,14803,5857],{"class":4673},[4576,14805,4911],{"class":4586},[4576,14807,5862],{"class":4657},[4576,14809,5865],{"class":4586},[4576,14811,5868],{"class":4600},[4576,14813,4604],{"class":4586},[4576,14815,14816,14818,14820,14822,14824,14826,14828,14830,14832],{"class":4578,"line":4886},[4576,14817,4667],{"class":4653},[4576,14819,5877],{"class":4673},[4576,14821,4911],{"class":4586},[4576,14823,5882],{"class":4590},[4576,14825,5885],{"class":4586},[4576,14827,5888],{"class":4600},[4576,14829,5891],{"class":4586},[4576,14831,5894],{"class":4600},[4576,14833,4604],{"class":4586},[4576,14835,14836,14838,14840,14842,14844,14846,14848,14850,14852],{"class":4578,"line":4892},[4576,14837,4667],{"class":4653},[4576,14839,5903],{"class":4673},[4576,14841,4911],{"class":4586},[4576,14843,5882],{"class":4590},[4576,14845,5885],{"class":4586},[4576,14847,5912],{"class":4600},[4576,14849,5891],{"class":4586},[4576,14851,5917],{"class":4600},[4576,14853,4604],{"class":4586},[4576,14855,14856,14858,14860,14862,14864,14866,14868,14870,14872],{"class":4578,"line":4897},[4576,14857,4667],{"class":4653},[4576,14859,5926],{"class":4673},[4576,14861,4911],{"class":4586},[4576,14863,5882],{"class":4590},[4576,14865,5885],{"class":4586},[4576,14867,5935],{"class":4600},[4576,14869,5891],{"class":4586},[4576,14871,5940],{"class":4600},[4576,14873,4604],{"class":4586},[4576,14875,14876,14878,14880,14882,14884,14886,14888,14890,14892],{"class":4578,"line":4902},[4576,14877,4667],{"class":4653},[4576,14879,5949],{"class":4673},[4576,14881,4911],{"class":4586},[4576,14883,5882],{"class":4590},[4576,14885,5885],{"class":4586},[4576,14887,5958],{"class":4600},[4576,14889,5891],{"class":4586},[4576,14891,5963],{"class":4600},[4576,14893,4604],{"class":4586},[4576,14895,14896,14898,14900,14902,14904,14906,14908,14910,14912],{"class":4578,"line":4924},[4576,14897,4667],{"class":4653},[4576,14899,5972],{"class":4673},[4576,14901,4911],{"class":4586},[4576,14903,5882],{"class":4590},[4576,14905,5885],{"class":4586},[4576,14907,5981],{"class":4600},[4576,14909,5891],{"class":4586},[4576,14911,5986],{"class":4600},[4576,14913,4604],{"class":4586},[4576,14915,14916,14918,14921,14923,14925,14927,14930,14932,14935],{"class":4578,"line":4942},[4576,14917,4667],{"class":4653},[4576,14919,14920],{"class":4673}," danger",[4576,14922,4911],{"class":4586},[4576,14924,5882],{"class":4590},[4576,14926,5885],{"class":4586},[4576,14928,14929],{"class":4600},"'#f87171'",[4576,14931,5891],{"class":4586},[4576,14933,14934],{"class":4600},"'#dc2626'",[4576,14936,4604],{"class":4586},[4576,14938,14939,14941,14943,14945,14947,14949,14951,14953,14955],{"class":4578,"line":4974},[4576,14940,4667],{"class":4653},[4576,14942,7761],{"class":4673},[4576,14944,4911],{"class":4586},[4576,14946,5882],{"class":4590},[4576,14948,5885],{"class":4586},[4576,14950,7770],{"class":4600},[4576,14952,5891],{"class":4586},[4576,14954,7775],{"class":4600},[4576,14956,4604],{"class":4586},[4576,14958,14959],{"class":4578,"line":4983},[4576,14960,4644],{"emptyLinePlaceholder":4643},[4576,14962,14963,14965,14967,14969,14971,14973,14975,14977,14979,14981],{"class":4578,"line":4995},[4576,14964,4667],{"class":4653},[4576,14966,4670],{"class":4586},[4576,14968,4674],{"class":4673},[4576,14970,3806],{"class":4586},[4576,14972,4679],{"class":4673},[4576,14974,4682],{"class":4586},[4576,14976,4591],{"class":4657},[4576,14978,4687],{"class":4586},[4576,14980,4690],{"class":4600},[4576,14982,4693],{"class":4586},[4576,14984,14985,14987,14989,14991,14993,14995,14997,14999,15001,15003],{"class":4578,"line":5006},[4576,14986,4667],{"class":4653},[4576,14988,4670],{"class":4586},[4576,14990,4092],{"class":4673},[4576,14992,3806],{"class":4586},[4576,14994,6005],{"class":4673},[4576,14996,4682],{"class":4586},[4576,14998,4591],{"class":4657},[4576,15000,4687],{"class":4586},[4576,15002,4690],{"class":4600},[4576,15004,4693],{"class":4586},[4576,15006,15007,15009,15011,15013,15015,15018,15020,15022,15024,15026],{"class":4578,"line":5017},[4576,15008,4667],{"class":4653},[4576,15010,4670],{"class":4586},[4576,15012,14774],{"class":4673},[4576,15014,3806],{"class":4586},[4576,15016,15017],{"class":4673},"setTerms",[4576,15019,4682],{"class":4586},[4576,15021,4591],{"class":4657},[4576,15023,4687],{"class":4586},[4576,15025,5161],{"class":4653},[4576,15027,4693],{"class":4586},[4576,15029,15030,15032,15034,15036,15038,15041,15043,15045,15047,15050],{"class":4578,"line":5027},[4576,15031,4667],{"class":4653},[4576,15033,4670],{"class":4586},[4576,15035,14190],{"class":4673},[4576,15037,3806],{"class":4586},[4576,15039,15040],{"class":4673},"setErrors",[4576,15042,4682],{"class":4586},[4576,15044,4591],{"class":4657},[4576,15046,5439],{"class":4586},[4576,15048,15049],{"class":4717},"Errors",[4576,15051,15052],{"class":4586},">({});\n",[4576,15054,15055,15057,15059,15061,15063,15066,15068,15070,15072,15074],{"class":4578,"line":5038},[4576,15056,4667],{"class":4653},[4576,15058,4670],{"class":4586},[4576,15060,5310],{"class":4673},[4576,15062,3806],{"class":4586},[4576,15064,15065],{"class":4673},"setDone",[4576,15067,4682],{"class":4586},[4576,15069,4591],{"class":4657},[4576,15071,4687],{"class":4586},[4576,15073,5161],{"class":4653},[4576,15075,4693],{"class":4586},[4576,15077,15078],{"class":4578,"line":5049},[4576,15079,4644],{"emptyLinePlaceholder":4643},[4576,15081,15082,15084,15087,15090,15092],{"class":4578,"line":5055},[4576,15083,4667],{"class":4653},[4576,15085,15086],{"class":4657}," onSubmit",[4576,15088,15089],{"class":4586}," = () ",[4576,15091,5537],{"class":4653},[4576,15093,4980],{"class":4586},[4576,15095,15096,15099,15102,15104,15106],{"class":4578,"line":5744},[4576,15097,15098],{"class":4653},"    const",[4576,15100,15101],{"class":4673}," e",[4576,15103,7093],{"class":4586},[4576,15105,15049],{"class":4717},[4576,15107,15108],{"class":4586}," = {};\n",[4576,15110,15111,15114,15116,15118,15120,15122,15124,15126,15128,15130,15132,15135,15137,15139,15141,15144],{"class":4578,"line":6299},[4576,15112,15113],{"class":4582},"    if",[4576,15115,4084],{"class":4586},[4576,15117,4674],{"class":4590},[4576,15119,3857],{"class":4586},[4576,15121,12550],{"class":4657},[4576,15123,12553],{"class":4586},[4576,15125,12556],{"class":4590},[4576,15127,12559],{"class":4586},[4576,15129,12562],{"class":4935},[4576,15131,7968],{"class":4586},[4576,15133,15134],{"class":4590},"e",[4576,15136,3857],{"class":4586},[4576,15138,4674],{"class":4590},[4576,15140,4911],{"class":4586},[4576,15142,15143],{"class":4600},"'Ім’я — щонайменше 2 символи'",[4576,15145,4604],{"class":4586},[4576,15147,15148,15150,15152,15154,15156,15159,15161,15164,15167,15169,15171,15173,15175,15177,15179,15182,15184,15186,15188,15190,15192,15195],{"class":4578,"line":6312},[4576,15149,15113],{"class":4582},[4576,15151,12538],{"class":4586},[4576,15153,4092],{"class":4590},[4576,15155,3857],{"class":4586},[4576,15157,15158],{"class":4657},"includes",[4576,15160,4687],{"class":4586},[4576,15162,15163],{"class":4600},"'@'",[4576,15165,15166],{"class":4586},") || ",[4576,15168,4092],{"class":4590},[4576,15170,3857],{"class":4586},[4576,15172,12550],{"class":4657},[4576,15174,12553],{"class":4586},[4576,15176,12556],{"class":4590},[4576,15178,12559],{"class":4586},[4576,15180,15181],{"class":4935},"5",[4576,15183,7968],{"class":4586},[4576,15185,15134],{"class":4590},[4576,15187,3857],{"class":4586},[4576,15189,4092],{"class":4590},[4576,15191,4911],{"class":4586},[4576,15193,15194],{"class":4600},"'Схоже, це не email'",[4576,15196,4604],{"class":4586},[4576,15198,15199,15201,15203,15205,15207,15209,15211,15213,15215,15218],{"class":4578,"line":6325},[4576,15200,15113],{"class":4582},[4576,15202,12538],{"class":4586},[4576,15204,14774],{"class":4590},[4576,15206,7968],{"class":4586},[4576,15208,15134],{"class":4590},[4576,15210,3857],{"class":4586},[4576,15212,14774],{"class":4590},[4576,15214,4911],{"class":4586},[4576,15216,15217],{"class":4600},"'Потрібна згода'",[4576,15219,4604],{"class":4586},[4576,15221,15222,15225,15227,15229],{"class":4578,"line":6335},[4576,15223,15224],{"class":4657},"    setErrors",[4576,15226,4687],{"class":4586},[4576,15228,15134],{"class":4590},[4576,15230,4693],{"class":4586},[4576,15232,15233,15236,15238,15241,15243,15246,15248,15250,15252,15254,15256,15258],{"class":4578,"line":6350},[4576,15234,15235],{"class":4657},"    setDone",[4576,15237,4687],{"class":4586},[4576,15239,15240],{"class":4590},"Object",[4576,15242,3857],{"class":4586},[4576,15244,15245],{"class":4657},"keys",[4576,15247,4687],{"class":4586},[4576,15249,15134],{"class":4590},[4576,15251,3833],{"class":4586},[4576,15253,12556],{"class":4590},[4576,15255,12019],{"class":4586},[4576,15257,7800],{"class":4935},[4576,15259,4693],{"class":4586},[4576,15261,15262],{"class":4578,"line":6359},[4576,15263,15264],{"class":4586},"  };\n",[4576,15266,15267],{"class":4578,"line":6368},[4576,15268,4644],{"emptyLinePlaceholder":4643},[4576,15270,15271,15273,15275,15277],{"class":4578,"line":6377},[4576,15272,12008],{"class":4582},[4576,15274,4084],{"class":4586},[4576,15276,5310],{"class":4590},[4576,15278,7149],{"class":4586},[4576,15280,15281,15284],{"class":4578,"line":6417},[4576,15282,15283],{"class":4582},"    return",[4576,15285,4707],{"class":4586},[4576,15287,15288,15290,15292,15294,15296,15298,15300,15302,15304,15307,15309,15311,15313,15315,15317],{"class":4578,"line":6422},[4576,15289,4748],{"class":4713},[4576,15291,4628],{"class":4717},[4576,15293,4721],{"class":4720},[4576,15295,4724],{"class":4586},[4576,15297,4727],{"class":4653},[4576,15299,6261],{"class":4733},[4576,15301,4730],{"class":4590},[4576,15303,3857],{"class":4733},[4576,15305,15306],{"class":4590},"center",[4576,15308,6270],{"class":4733},[4576,15310,6102],{"class":4590},[4576,15312,5877],{"class":4590},[4576,15314,6277],{"class":4733},[4576,15316,4739],{"class":4653},[4576,15318,4742],{"class":4713},[4576,15320,15321,15323,15325,15327,15329,15331,15333,15335,15337,15339,15341,15343,15345,15347,15349,15351,15353,15355,15358,15360,15362],{"class":4578,"line":6427},[4576,15322,7289],{"class":4713},[4576,15324,4619],{"class":4717},[4576,15326,4721],{"class":4720},[4576,15328,4724],{"class":4586},[4576,15330,4727],{"class":4653},[4576,15332,6092],{"class":4733},[4576,15334,6167],{"class":4590},[4576,15336,5926],{"class":4590},[4576,15338,3806],{"class":4733},[4576,15340,4958],{"class":4590},[4576,15342,6176],{"class":4600},[4576,15344,3806],{"class":4733},[4576,15346,4950],{"class":4590},[4576,15348,6183],{"class":4935},[4576,15350,6107],{"class":4733},[4576,15352,4739],{"class":4653},[4576,15354,4768],{"class":4713},[4576,15356,15357],{"class":4586},"Готово",[4576,15359,4774],{"class":4713},[4576,15361,4619],{"class":4717},[4576,15363,4742],{"class":4713},[4576,15365,15366,15368,15370,15372,15374,15376,15378,15380,15382,15384,15386,15388,15390,15392,15394,15396,15398,15400,15403,15405,15407,15409,15411,15413],{"class":4578,"line":6469},[4576,15367,7289],{"class":4713},[4576,15369,4619],{"class":4717},[4576,15371,4721],{"class":4720},[4576,15373,4724],{"class":4586},[4576,15375,4727],{"class":4653},[4576,15377,6092],{"class":4733},[4576,15379,6167],{"class":4590},[4576,15381,5949],{"class":4590},[4576,15383,3806],{"class":4733},[4576,15385,8751],{"class":4590},[4576,15387,9915],{"class":4935},[4576,15389,6107],{"class":4733},[4576,15391,4739],{"class":4653},[4576,15393,4768],{"class":4713},[4576,15395,4727],{"class":4653},[4576,15397,4674],{"class":4590},[4576,15399,4739],{"class":4653},[4576,15401,15402],{"class":4586}," · ",[4576,15404,4727],{"class":4653},[4576,15406,4092],{"class":4590},[4576,15408,4739],{"class":4653},[4576,15410,4774],{"class":4713},[4576,15412,4619],{"class":4717},[4576,15414,4742],{"class":4713},[4576,15416,15417,15419],{"class":4578,"line":6476},[4576,15418,7289],{"class":4713},[4576,15420,7162],{"class":4717},[4576,15422,15423,15426,15428,15430,15432,15434],{"class":4578,"line":6489},[4576,15424,15425],{"class":4720},"          onPress",[4576,15427,4724],{"class":4586},[4576,15429,4727],{"class":4653},[4576,15431,5534],{"class":4733},[4576,15433,5537],{"class":4653},[4576,15435,4980],{"class":4733},[4576,15437,15438,15441,15443,15445],{"class":4578,"line":6502},[4576,15439,15440],{"class":4657},"            setDone",[4576,15442,4687],{"class":4733},[4576,15444,5161],{"class":4653},[4576,15446,4693],{"class":4733},[4576,15448,15449,15452,15454,15456],{"class":4578,"line":6512},[4576,15450,15451],{"class":4657},"            setName",[4576,15453,4687],{"class":4733},[4576,15455,4690],{"class":4600},[4576,15457,4693],{"class":4733},[4576,15459,15460,15463,15465,15467],{"class":4578,"line":6525},[4576,15461,15462],{"class":4657},"            setEmail",[4576,15464,4687],{"class":4733},[4576,15466,4690],{"class":4600},[4576,15468,4693],{"class":4733},[4576,15470,15471,15474,15476,15478],{"class":4578,"line":6535},[4576,15472,15473],{"class":4657},"            setTerms",[4576,15475,4687],{"class":4733},[4576,15477,5161],{"class":4653},[4576,15479,4693],{"class":4733},[4576,15481,15482,15485],{"class":4578,"line":6574},[4576,15483,15484],{"class":4733},"          }",[4576,15486,4801],{"class":4653},[4576,15488,15489,15492,15494,15496,15498,15500,15502,15504,15506,15508,15510,15512,15514,15516,15518],{"class":4578,"line":6579},[4576,15490,15491],{"class":4720},"          style",[4576,15493,4724],{"class":4586},[4576,15495,4727],{"class":4653},[4576,15497,6261],{"class":4733},[4576,15499,4730],{"class":4590},[4576,15501,3857],{"class":4733},[4576,15503,8009],{"class":4590},[4576,15505,6270],{"class":4733},[4576,15507,6102],{"class":4590},[4576,15509,7761],{"class":4590},[4576,15511,3806],{"class":4733},[4576,15513,8751],{"class":4590},[4576,15515,5033],{"class":4935},[4576,15517,6277],{"class":4733},[4576,15519,4801],{"class":4653},[4576,15521,15522],{"class":4578,"line":6584},[4576,15523,11358],{"class":4713},[4576,15525,15526,15528,15530,15532,15534,15536,15538,15540,15542,15544,15546,15549,15551,15553],{"class":4578,"line":6626},[4576,15527,9168],{"class":4713},[4576,15529,4619],{"class":4717},[4576,15531,4721],{"class":4720},[4576,15533,4724],{"class":4586},[4576,15535,4727],{"class":4653},[4576,15537,4730],{"class":4590},[4576,15539,3857],{"class":4733},[4576,15541,8067],{"class":4590},[4576,15543,4739],{"class":4653},[4576,15545,4768],{"class":4713},[4576,15547,15548],{"class":4586},"Ще раз",[4576,15550,4774],{"class":4713},[4576,15552,4619],{"class":4717},[4576,15554,4742],{"class":4713},[4576,15556,15557,15559,15561],{"class":4578,"line":6633},[4576,15558,9273],{"class":4713},[4576,15560,3947],{"class":4717},[4576,15562,4742],{"class":4713},[4576,15564,15565,15567,15569],{"class":4578,"line":6646},[4576,15566,6238],{"class":4713},[4576,15568,4628],{"class":4717},[4576,15570,4742],{"class":4713},[4576,15572,15573],{"class":4578,"line":6659},[4576,15574,15575],{"class":4586},"    );\n",[4576,15577,15578],{"class":4578,"line":6669},[4576,15579,12045],{"class":4586},[4576,15581,15582],{"class":4578,"line":6682},[4576,15583,4644],{"emptyLinePlaceholder":4643},[4576,15585,15586,15588],{"class":4578,"line":6688},[4576,15587,4704],{"class":4582},[4576,15589,4707],{"class":4586},[4576,15591,15592,15594],{"class":4578,"line":6699},[4576,15593,4714],{"class":4713},[4576,15595,15596],{"class":4717},"KeyboardAvoidingView\n",[4576,15598,15599,15601,15603,15605,15607,15609,15611,15613,15615,15617,15619],{"class":4578,"line":6711},[4576,15600,6085],{"class":4720},[4576,15602,4724],{"class":4586},[4576,15604,4727],{"class":4653},[4576,15606,6092],{"class":4733},[4576,15608,6095],{"class":4590},[4576,15610,4989],{"class":4935},[4576,15612,3806],{"class":4733},[4576,15614,6102],{"class":4590},[4576,15616,5877],{"class":4590},[4576,15618,6107],{"class":4733},[4576,15620,4801],{"class":4653},[4576,15622,15623,15626,15628,15630,15633,15635,15638,15640,15643,15645,15648,15650,15653],{"class":4578,"line":6723},[4576,15624,15625],{"class":4720},"      behavior",[4576,15627,4724],{"class":4586},[4576,15629,4727],{"class":4653},[4576,15631,15632],{"class":4590},"Platform",[4576,15634,3857],{"class":4733},[4576,15636,15637],{"class":4673},"OS",[4576,15639,10519],{"class":4586},[4576,15641,15642],{"class":4600}," 'ios'",[4576,15644,7282],{"class":4586},[4576,15646,15647],{"class":4600}," 'padding'",[4576,15649,8033],{"class":4586},[4576,15651,15652],{"class":4600}," 'height'",[4576,15654,4801],{"class":4653},[4576,15656,15657],{"class":4578,"line":6735},[4576,15658,6150],{"class":4713},[4576,15660,15661,15663,15665,15668,15670,15672,15674,15676,15678,15680,15682,15685,15687,15689,15692,15694,15697],{"class":4578,"line":6759},[4576,15662,4748],{"class":4713},[4576,15664,3853],{"class":4717},[4576,15666,15667],{"class":4720}," contentContainerStyle",[4576,15669,4724],{"class":4586},[4576,15671,4727],{"class":4653},[4576,15673,6092],{"class":4733},[4576,15675,6123],{"class":4590},[4576,15677,5033],{"class":4935},[4576,15679,3806],{"class":4733},[4576,15681,4932],{"class":4590},[4576,15683,15684],{"class":4935}," 10",[4576,15686,6107],{"class":4733},[4576,15688,4739],{"class":4653},[4576,15690,15691],{"class":4720}," keyboardShouldPersistTaps",[4576,15693,4724],{"class":4586},[4576,15695,15696],{"class":4600},"\"handled\"",[4576,15698,4742],{"class":4713},[4576,15700,15701,15703,15705,15707,15709,15711,15713,15715,15717,15719,15721,15723,15725,15727,15729,15731,15733,15735,15738,15740,15742],{"class":4578,"line":6767},[4576,15702,7289],{"class":4713},[4576,15704,4619],{"class":4717},[4576,15706,4721],{"class":4720},[4576,15708,4724],{"class":4586},[4576,15710,4727],{"class":4653},[4576,15712,6092],{"class":4733},[4576,15714,6167],{"class":4590},[4576,15716,5926],{"class":4590},[4576,15718,3806],{"class":4733},[4576,15720,4958],{"class":4590},[4576,15722,6176],{"class":4600},[4576,15724,3806],{"class":4733},[4576,15726,4950],{"class":4590},[4576,15728,6183],{"class":4935},[4576,15730,6107],{"class":4733},[4576,15732,4739],{"class":4653},[4576,15734,4768],{"class":4713},[4576,15736,15737],{"class":4586},"Реєстрація",[4576,15739,4774],{"class":4713},[4576,15741,4619],{"class":4717},[4576,15743,4742],{"class":4713},[4576,15745,15746,15748,15750,15752,15754,15756,15758,15760,15762,15764,15766,15768,15770,15772],{"class":4578,"line":6772},[4576,15747,7289],{"class":4713},[4576,15749,4619],{"class":4717},[4576,15751,4721],{"class":4720},[4576,15753,4724],{"class":4586},[4576,15755,4727],{"class":4653},[4576,15757,6092],{"class":4733},[4576,15759,6167],{"class":4590},[4576,15761,5949],{"class":4590},[4576,15763,3806],{"class":4733},[4576,15765,4950],{"class":4590},[4576,15767,4953],{"class":4935},[4576,15769,6107],{"class":4733},[4576,15771,4739],{"class":4653},[4576,15773,4742],{"class":4713},[4576,15775,15776],{"class":4578,"line":6781},[4576,15777,15778],{"class":4586},"          Текст + Switch-згода. Натисніть «Далі» з порожніми полями.\n",[4576,15780,15781,15783,15785],{"class":4578,"line":6786},[4576,15782,9273],{"class":4713},[4576,15784,4619],{"class":4717},[4576,15786,4742],{"class":4713},[4576,15788,15789],{"class":4578,"line":6791},[4576,15790,4644],{"emptyLinePlaceholder":4643},[4576,15792,15793,15795,15797,15799,15801,15803,15805,15807,15809,15811,15813,15815,15817,15819,15821,15823,15826,15828,15830],{"class":4578,"line":6796},[4576,15794,7289],{"class":4713},[4576,15796,4619],{"class":4717},[4576,15798,4721],{"class":4720},[4576,15800,4724],{"class":4586},[4576,15802,4727],{"class":4653},[4576,15804,6261],{"class":4733},[4576,15806,4730],{"class":4590},[4576,15808,3857],{"class":4733},[4576,15810,4763],{"class":4590},[4576,15812,6270],{"class":4733},[4576,15814,6167],{"class":4590},[4576,15816,5949],{"class":4590},[4576,15818,6277],{"class":4733},[4576,15820,4739],{"class":4653},[4576,15822,4768],{"class":4713},[4576,15824,15825],{"class":4586},"Ім’я",[4576,15827,4774],{"class":4713},[4576,15829,4619],{"class":4717},[4576,15831,4742],{"class":4713},[4576,15833,15834,15836],{"class":4578,"line":6813},[4576,15835,7289],{"class":4713},[4576,15837,4786],{"class":4717},[4576,15839,15840,15842,15844,15846,15848],{"class":4578,"line":6838},[4576,15841,9288],{"class":4720},[4576,15843,4724],{"class":4586},[4576,15845,4727],{"class":4653},[4576,15847,4674],{"class":4590},[4576,15849,4801],{"class":4653},[4576,15851,15852,15855,15857,15859,15861],{"class":4578,"line":6845},[4576,15853,15854],{"class":4720},"          onChangeText",[4576,15856,4724],{"class":4586},[4576,15858,4727],{"class":4653},[4576,15860,4679],{"class":4590},[4576,15862,4801],{"class":4653},[4576,15864,15865,15868,15870],{"class":4578,"line":6854},[4576,15866,15867],{"class":4720},"          placeholder",[4576,15869,4724],{"class":4586},[4576,15871,15872],{"class":4600},"\"Олена\"\n",[4576,15874,15875,15878,15880,15882,15884],{"class":4578,"line":6863},[4576,15876,15877],{"class":4720},"          placeholderTextColor",[4576,15879,4724],{"class":4586},[4576,15881,4727],{"class":4653},[4576,15883,6345],{"class":4590},[4576,15885,4801],{"class":4653},[4576,15887,15888,15890,15892,15894],{"class":4578,"line":6872},[4576,15889,15491],{"class":4720},[4576,15891,4724],{"class":4586},[4576,15893,4727],{"class":4653},[4576,15895,6708],{"class":4733},[4576,15897,15898,15901,15903,15905],{"class":4578,"line":6881},[4576,15899,15900],{"class":4590},"            styles",[4576,15902,3857],{"class":4733},[4576,15904,4865],{"class":4590},[4576,15906,4992],{"class":4733},[4576,15908,15909,15912,15914,15916,15918,15920,15923,15925,15927,15929,15931,15933,15935,15937,15939,15941],{"class":4578,"line":6890},[4576,15910,15911],{"class":4733},"            { ",[4576,15913,6102],{"class":4590},[4576,15915,5903],{"class":4590},[4576,15917,3806],{"class":4733},[4576,15919,6402],{"class":4590},[4576,15921,15922],{"class":4590}," errors",[4576,15924,3857],{"class":4733},[4576,15926,4674],{"class":4590},[4576,15928,7282],{"class":4586},[4576,15930,14920],{"class":4590},[4576,15932,8033],{"class":4586},[4576,15934,5972],{"class":4590},[4576,15936,3806],{"class":4733},[4576,15938,6167],{"class":4590},[4576,15940,5926],{"class":4590},[4576,15942,4939],{"class":4733},[4576,15944,15945,15948],{"class":4578,"line":6899},[4576,15946,15947],{"class":4733},"          ]",[4576,15949,4801],{"class":4653},[4576,15951,15952],{"class":4578,"line":6904},[4576,15953,9349],{"class":4713},[4576,15955,15956,15959,15961,15963,15965,15967,15969,15971,15973,15975,15977,15979,15981,15983,15985,15987,15989,15991,15993,15995,15997,15999,16001,16003,16005,16007],{"class":4578,"line":6920},[4576,15957,15958],{"class":4653},"        {",[4576,15960,14190],{"class":4590},[4576,15962,3857],{"class":4733},[4576,15964,4674],{"class":4590},[4576,15966,7282],{"class":4586},[4576,15968,13182],{"class":4713},[4576,15970,4619],{"class":4717},[4576,15972,4721],{"class":4720},[4576,15974,4724],{"class":4586},[4576,15976,4727],{"class":4653},[4576,15978,6092],{"class":4733},[4576,15980,6167],{"class":4590},[4576,15982,14920],{"class":4590},[4576,15984,6107],{"class":4733},[4576,15986,4739],{"class":4653},[4576,15988,4768],{"class":4713},[4576,15990,4727],{"class":4653},[4576,15992,14190],{"class":4590},[4576,15994,3857],{"class":4733},[4576,15996,4674],{"class":4590},[4576,15998,4739],{"class":4653},[4576,16000,4774],{"class":4713},[4576,16002,4619],{"class":4717},[4576,16004,4768],{"class":4713},[4576,16006,8033],{"class":4586},[4576,16008,16009],{"class":4653}," null}\n",[4576,16011,16013],{"class":4578,"line":16012},85,[4576,16014,4644],{"emptyLinePlaceholder":4643},[4576,16016,16018,16020,16022,16024,16026,16028,16030,16032,16034,16036,16038,16040,16042,16044,16046,16048,16050,16052,16054],{"class":4578,"line":16017},86,[4576,16019,7289],{"class":4713},[4576,16021,4619],{"class":4717},[4576,16023,4721],{"class":4720},[4576,16025,4724],{"class":4586},[4576,16027,4727],{"class":4653},[4576,16029,6261],{"class":4733},[4576,16031,4730],{"class":4590},[4576,16033,3857],{"class":4733},[4576,16035,4763],{"class":4590},[4576,16037,6270],{"class":4733},[4576,16039,6167],{"class":4590},[4576,16041,5949],{"class":4590},[4576,16043,6277],{"class":4733},[4576,16045,4739],{"class":4653},[4576,16047,4768],{"class":4713},[4576,16049,6284],{"class":4586},[4576,16051,4774],{"class":4713},[4576,16053,4619],{"class":4717},[4576,16055,4742],{"class":4713},[4576,16057,16059,16061],{"class":4578,"line":16058},87,[4576,16060,7289],{"class":4713},[4576,16062,4786],{"class":4717},[4576,16064,16066,16068,16070,16072,16074],{"class":4578,"line":16065},88,[4576,16067,9288],{"class":4720},[4576,16069,4724],{"class":4586},[4576,16071,4727],{"class":4653},[4576,16073,4092],{"class":4590},[4576,16075,4801],{"class":4653},[4576,16077,16079,16081,16083,16085,16087],{"class":4578,"line":16078},89,[4576,16080,15854],{"class":4720},[4576,16082,4724],{"class":4586},[4576,16084,4727],{"class":4653},[4576,16086,6005],{"class":4590},[4576,16088,4801],{"class":4653},[4576,16090,16092,16095,16097],{"class":4578,"line":16091},90,[4576,16093,16094],{"class":4720},"          keyboardType",[4576,16096,4724],{"class":4586},[4576,16098,5598],{"class":4600},[4576,16100,16102,16105,16107],{"class":4578,"line":16101},91,[4576,16103,16104],{"class":4720},"          autoCapitalize",[4576,16106,4724],{"class":4586},[4576,16108,5607],{"class":4600},[4576,16110,16112,16114,16116],{"class":4578,"line":16111},92,[4576,16113,15867],{"class":4720},[4576,16115,4724],{"class":4586},[4576,16117,6332],{"class":4600},[4576,16119,16121,16123,16125,16127,16129],{"class":4578,"line":16120},93,[4576,16122,15877],{"class":4720},[4576,16124,4724],{"class":4586},[4576,16126,4727],{"class":4653},[4576,16128,6345],{"class":4590},[4576,16130,4801],{"class":4653},[4576,16132,16134,16136,16138,16140],{"class":4578,"line":16133},94,[4576,16135,15491],{"class":4720},[4576,16137,4724],{"class":4586},[4576,16139,4727],{"class":4653},[4576,16141,6708],{"class":4733},[4576,16143,16145,16147,16149,16151],{"class":4578,"line":16144},95,[4576,16146,15900],{"class":4590},[4576,16148,3857],{"class":4733},[4576,16150,4865],{"class":4590},[4576,16152,4992],{"class":4733},[4576,16154,16156,16158,16160,16162,16164,16166,16168,16170,16172,16174,16176,16178,16180,16182,16184,16186],{"class":4578,"line":16155},96,[4576,16157,15911],{"class":4733},[4576,16159,6102],{"class":4590},[4576,16161,5903],{"class":4590},[4576,16163,3806],{"class":4733},[4576,16165,6402],{"class":4590},[4576,16167,15922],{"class":4590},[4576,16169,3857],{"class":4733},[4576,16171,4092],{"class":4590},[4576,16173,7282],{"class":4586},[4576,16175,14920],{"class":4590},[4576,16177,8033],{"class":4586},[4576,16179,5972],{"class":4590},[4576,16181,3806],{"class":4733},[4576,16183,6167],{"class":4590},[4576,16185,5926],{"class":4590},[4576,16187,4939],{"class":4733},[4576,16189,16191,16193],{"class":4578,"line":16190},97,[4576,16192,15947],{"class":4733},[4576,16194,4801],{"class":4653},[4576,16196,16198],{"class":4578,"line":16197},98,[4576,16199,9349],{"class":4713},[4576,16201,16203,16205,16207,16209,16211,16213,16215,16217,16219,16221,16223,16225,16227,16229,16231,16233,16235,16237,16239,16241,16243,16245,16247,16249,16251,16253],{"class":4578,"line":16202},99,[4576,16204,15958],{"class":4653},[4576,16206,14190],{"class":4590},[4576,16208,3857],{"class":4733},[4576,16210,4092],{"class":4590},[4576,16212,7282],{"class":4586},[4576,16214,13182],{"class":4713},[4576,16216,4619],{"class":4717},[4576,16218,4721],{"class":4720},[4576,16220,4724],{"class":4586},[4576,16222,4727],{"class":4653},[4576,16224,6092],{"class":4733},[4576,16226,6167],{"class":4590},[4576,16228,14920],{"class":4590},[4576,16230,6107],{"class":4733},[4576,16232,4739],{"class":4653},[4576,16234,4768],{"class":4713},[4576,16236,4727],{"class":4653},[4576,16238,14190],{"class":4590},[4576,16240,3857],{"class":4733},[4576,16242,4092],{"class":4590},[4576,16244,4739],{"class":4653},[4576,16246,4774],{"class":4713},[4576,16248,4619],{"class":4717},[4576,16250,4768],{"class":4713},[4576,16252,8033],{"class":4586},[4576,16254,16009],{"class":4653},[4576,16256,16258],{"class":4578,"line":16257},100,[4576,16259,4644],{"emptyLinePlaceholder":4643},[4576,16261,16263,16265,16267,16269,16271,16273,16275,16277,16279,16281],{"class":4578,"line":16262},101,[4576,16264,7289],{"class":4713},[4576,16266,4628],{"class":4717},[4576,16268,4721],{"class":4720},[4576,16270,4724],{"class":4586},[4576,16272,4727],{"class":4653},[4576,16274,4730],{"class":4590},[4576,16276,3857],{"class":4733},[4576,16278,9121],{"class":4590},[4576,16280,4739],{"class":4653},[4576,16282,4742],{"class":4713},[4576,16284,16286,16288,16290,16292,16294,16296,16298,16300,16302,16304,16306,16308,16310,16312,16314,16317,16319,16321],{"class":4578,"line":16285},102,[4576,16287,9168],{"class":4713},[4576,16289,4619],{"class":4717},[4576,16291,4721],{"class":4720},[4576,16293,4724],{"class":4586},[4576,16295,4727],{"class":4653},[4576,16297,6092],{"class":4733},[4576,16299,6167],{"class":4590},[4576,16301,5926],{"class":4590},[4576,16303,3806],{"class":4733},[4576,16305,6095],{"class":4590},[4576,16307,4989],{"class":4935},[4576,16309,6107],{"class":4733},[4576,16311,4739],{"class":4653},[4576,16313,4768],{"class":4713},[4576,16315,16316],{"class":4586},"Погоджуюсь на обробку",[4576,16318,4774],{"class":4713},[4576,16320,4619],{"class":4717},[4576,16322,4742],{"class":4713},[4576,16324,16326,16328,16330,16332,16334,16336,16338,16340,16342,16344,16346,16348,16350,16353,16355,16357,16359,16361,16363,16365,16367,16369,16371,16373],{"class":4578,"line":16325},103,[4576,16327,9168],{"class":4713},[4576,16329,3809],{"class":4717},[4576,16331,11415],{"class":4720},[4576,16333,4724],{"class":4586},[4576,16335,4727],{"class":4653},[4576,16337,14774],{"class":4590},[4576,16339,4739],{"class":4653},[4576,16341,13551],{"class":4720},[4576,16343,4724],{"class":4586},[4576,16345,4727],{"class":4653},[4576,16347,15017],{"class":4590},[4576,16349,4739],{"class":4653},[4576,16351,16352],{"class":4720}," trackColor",[4576,16354,4724],{"class":4586},[4576,16356,4727],{"class":4653},[4576,16358,6092],{"class":4733},[4576,16360,8577],{"class":4590},[4576,16362,7761],{"class":4590},[4576,16364,3806],{"class":4733},[4576,16366,8569],{"class":4590},[4576,16368,5972],{"class":4590},[4576,16370,6107],{"class":4733},[4576,16372,4739],{"class":4653},[4576,16374,7302],{"class":4713},[4576,16376,16378,16380,16382],{"class":4578,"line":16377},104,[4576,16379,9273],{"class":4713},[4576,16381,4628],{"class":4717},[4576,16383,4742],{"class":4713},[4576,16385,16387,16389,16391,16393,16395,16397,16399,16401,16403,16405,16407,16409,16411,16413,16415,16417,16419,16421,16423,16425,16427,16429,16431,16433,16435,16437],{"class":4578,"line":16386},105,[4576,16388,15958],{"class":4653},[4576,16390,14190],{"class":4590},[4576,16392,3857],{"class":4733},[4576,16394,14774],{"class":4590},[4576,16396,7282],{"class":4586},[4576,16398,13182],{"class":4713},[4576,16400,4619],{"class":4717},[4576,16402,4721],{"class":4720},[4576,16404,4724],{"class":4586},[4576,16406,4727],{"class":4653},[4576,16408,6092],{"class":4733},[4576,16410,6167],{"class":4590},[4576,16412,14920],{"class":4590},[4576,16414,6107],{"class":4733},[4576,16416,4739],{"class":4653},[4576,16418,4768],{"class":4713},[4576,16420,4727],{"class":4653},[4576,16422,14190],{"class":4590},[4576,16424,3857],{"class":4733},[4576,16426,14774],{"class":4590},[4576,16428,4739],{"class":4653},[4576,16430,4774],{"class":4713},[4576,16432,4619],{"class":4717},[4576,16434,4768],{"class":4713},[4576,16436,8033],{"class":4586},[4576,16438,16009],{"class":4653},[4576,16440,16442],{"class":4578,"line":16441},106,[4576,16443,4644],{"emptyLinePlaceholder":4643},[4576,16445,16447,16449,16451,16454,16456,16458,16461,16463,16465,16467,16469,16471,16473,16475,16477,16479,16481,16483,16485,16487],{"class":4578,"line":16446},107,[4576,16448,7289],{"class":4713},[4576,16450,3947],{"class":4717},[4576,16452,16453],{"class":4720}," onPress",[4576,16455,4724],{"class":4586},[4576,16457,4727],{"class":4653},[4576,16459,16460],{"class":4590},"onSubmit",[4576,16462,4739],{"class":4653},[4576,16464,4721],{"class":4720},[4576,16466,4724],{"class":4586},[4576,16468,4727],{"class":4653},[4576,16470,6261],{"class":4733},[4576,16472,4730],{"class":4590},[4576,16474,3857],{"class":4733},[4576,16476,8009],{"class":4590},[4576,16478,6270],{"class":4733},[4576,16480,6102],{"class":4590},[4576,16482,7761],{"class":4590},[4576,16484,6277],{"class":4733},[4576,16486,4739],{"class":4653},[4576,16488,4742],{"class":4713},[4576,16490,16492,16494,16496,16498,16500,16502,16504,16506,16508,16510,16512,16515,16517,16519],{"class":4578,"line":16491},108,[4576,16493,9168],{"class":4713},[4576,16495,4619],{"class":4717},[4576,16497,4721],{"class":4720},[4576,16499,4724],{"class":4586},[4576,16501,4727],{"class":4653},[4576,16503,4730],{"class":4590},[4576,16505,3857],{"class":4733},[4576,16507,8067],{"class":4590},[4576,16509,4739],{"class":4653},[4576,16511,4768],{"class":4713},[4576,16513,16514],{"class":4586},"Далі",[4576,16516,4774],{"class":4713},[4576,16518,4619],{"class":4717},[4576,16520,4742],{"class":4713},[4576,16522,16524,16526,16528],{"class":4578,"line":16523},109,[4576,16525,9273],{"class":4713},[4576,16527,3947],{"class":4717},[4576,16529,4742],{"class":4713},[4576,16531,16533,16535,16537],{"class":4578,"line":16532},110,[4576,16534,6238],{"class":4713},[4576,16536,3853],{"class":4717},[4576,16538,4742],{"class":4713},[4576,16540,16542,16544,16546],{"class":4578,"line":16541},111,[4576,16543,4879],{"class":4713},[4576,16545,3849],{"class":4717},[4576,16547,4742],{"class":4713},[4576,16549,16551],{"class":4578,"line":16550},112,[4576,16552,4889],{"class":4586},[4576,16554,16556],{"class":4578,"line":16555},113,[4576,16557,4801],{"class":4586},[4576,16559,16561],{"class":4578,"line":16560},114,[4576,16562,4644],{"emptyLinePlaceholder":4643},[4576,16564,16566,16568,16570,16572,16574,16576,16578],{"class":4578,"line":16565},115,[4576,16567,4905],{"class":4653},[4576,16569,4908],{"class":4673},[4576,16571,4911],{"class":4586},[4576,16573,4614],{"class":4590},[4576,16575,3857],{"class":4586},[4576,16577,4918],{"class":4657},[4576,16579,4921],{"class":4586},[4576,16581,16583,16586,16588,16590,16592,16594,16596,16598,16600,16602,16604,16606,16608,16610],{"class":4578,"line":16582},116,[4576,16584,16585],{"class":4590},"  center:",[4576,16587,4587],{"class":4586},[4576,16589,6095],{"class":4590},[4576,16591,4989],{"class":4935},[4576,16593,3806],{"class":4586},[4576,16595,8174],{"class":4590},[4576,16597,7430],{"class":4600},[4576,16599,3806],{"class":4586},[4576,16601,8146],{"class":4590},[4576,16603,7430],{"class":4600},[4576,16605,3806],{"class":4586},[4576,16607,6123],{"class":4590},[4576,16609,5033],{"class":4935},[4576,16611,4939],{"class":4586},[4576,16613,16615,16617,16619,16621,16623,16625,16627,16629,16631,16633,16635,16637,16639,16641],{"class":4578,"line":16614},117,[4576,16616,4945],{"class":4590},[4576,16618,4587],{"class":4586},[4576,16620,4950],{"class":4590},[4576,16622,5001],{"class":4935},[4576,16624,3806],{"class":4586},[4576,16626,4958],{"class":4590},[4576,16628,4961],{"class":4600},[4576,16630,3806],{"class":4586},[4576,16632,4966],{"class":4590},[4576,16634,4969],{"class":4600},[4576,16636,3806],{"class":4586},[4576,16638,8751],{"class":4590},[4576,16640,4936],{"class":4935},[4576,16642,4939],{"class":4586},[4576,16644,16646,16648],{"class":4578,"line":16645},118,[4576,16647,4977],{"class":4590},[4576,16649,4980],{"class":4586},[4576,16651,16653,16655,16657],{"class":4578,"line":16652},119,[4576,16654,4986],{"class":4590},[4576,16656,4989],{"class":4935},[4576,16658,4992],{"class":4586},[4576,16660,16662,16664,16666],{"class":4578,"line":16661},120,[4576,16663,4998],{"class":4590},[4576,16665,5001],{"class":4935},[4576,16667,4992],{"class":4586},[4576,16669,16671,16673,16675],{"class":4578,"line":16670},121,[4576,16672,5009],{"class":4590},[4576,16674,5012],{"class":4935},[4576,16676,4992],{"class":4586},[4576,16678,16680,16682,16684],{"class":4578,"line":16679},122,[4576,16681,5020],{"class":4590},[4576,16683,5001],{"class":4935},[4576,16685,4992],{"class":4586},[4576,16687,16689,16691,16693],{"class":4578,"line":16688},123,[4576,16690,5030],{"class":4590},[4576,16692,5033],{"class":4935},[4576,16694,4992],{"class":4586},[4576,16696,16698,16700,16702],{"class":4578,"line":16697},124,[4576,16699,5041],{"class":4590},[4576,16701,5044],{"class":4935},[4576,16703,4992],{"class":4586},[4576,16705,16707],{"class":4578,"line":16706},125,[4576,16708,5052],{"class":4586},[4576,16710,16712,16714,16716,16718,16720,16722,16724,16726,16728,16730,16732,16734,16736,16738],{"class":4578,"line":16711},126,[4576,16713,9422],{"class":4590},[4576,16715,4587],{"class":4586},[4576,16717,9894],{"class":4590},[4576,16719,8657],{"class":4600},[4576,16721,3806],{"class":4586},[4576,16723,8174],{"class":4590},[4576,16725,7430],{"class":4600},[4576,16727,3806],{"class":4586},[4576,16729,4932],{"class":4590},[4576,16731,5001],{"class":4935},[4576,16733,3806],{"class":4586},[4576,16735,8751],{"class":4590},[4576,16737,9915],{"class":4935},[4576,16739,4939],{"class":4586},[4576,16741,16743,16745,16747,16749,16751,16753,16755,16757,16759,16761,16763,16765,16767,16769],{"class":4578,"line":16742},127,[4576,16744,8155],{"class":4590},[4576,16746,4587],{"class":4586},[4576,16748,8751],{"class":4590},[4576,16750,5001],{"class":4935},[4576,16752,3806],{"class":4586},[4576,16754,8160],{"class":4590},[4576,16756,5012],{"class":4935},[4576,16758,3806],{"class":4586},[4576,16760,8167],{"class":4590},[4576,16762,5001],{"class":4935},[4576,16764,3806],{"class":4586},[4576,16766,8174],{"class":4590},[4576,16768,7430],{"class":4600},[4576,16770,4939],{"class":4586},[4576,16772,16774,16776,16778,16780,16782,16784,16786,16788],{"class":4578,"line":16773},128,[4576,16775,8183],{"class":4590},[4576,16777,4587],{"class":4586},[4576,16779,6167],{"class":4590},[4576,16781,8190],{"class":4600},[4576,16783,3806],{"class":4586},[4576,16785,4958],{"class":4590},[4576,16787,6176],{"class":4600},[4576,16789,4939],{"class":4586},[4576,16791,16793],{"class":4578,"line":16792},129,[4576,16794,5058],{"class":4586},[3881,16796],{},[3734,16798,16800],{"id":16799},"класифікація-антипатернів-розробки-мобільних-форм","Класифікація антипатернів розробки мобільних форм",[3905,16802,16803,16819],{},[3908,16804,16805],{},[3911,16806,16807,16810,16813,16816],{},[3914,16808,16809],{"align":3916},"Антипатерн",[3914,16811,16812],{"align":3916},"Системна причина",[3914,16814,16815],{"align":3916},"Наслідки для користувача (UX Failure)",[3914,16817,16818],{"align":3916},"Інженерне вирішення",[3928,16820,16821,16845,16867,16895,16919,16941,16969],{},[3911,16822,16823,16830,16833,16836],{},[3933,16824,16825],{"align":3916},[3746,16826,16827,16828],{},"Універсальний ",[3803,16829,3805],{},[3933,16831,16832],{"align":3916},"Лінь інтегрувати Community-пакети.",[3933,16834,16835],{"align":3916},"Одруки в датах («31.02»), невалідні регіони, конфлікти регістрів.",[3933,16837,16838,16839,3806,16841,3806,16843,3857],{"align":3916},"Використовувати ",[3803,16840,3818],{},[3803,16842,3809],{},[3803,16844,3821],{},[3911,16846,16847,16856,16861,16864],{},[3933,16848,16849],{"align":3916},[3746,16850,16851,16852,16855],{},"Модальні ",[3803,16853,16854],{},"Alert"," для помилок",[3933,16857,16858,16859,3857],{"align":3916},"Ігнорування вбудованого рендерингу ",[3803,16860,14190],{},[3933,16862,16863],{"align":3916},"Блокування інтерфейсу, відсутність візуальної прив'язки до помилкового поля.",[3933,16865,16866],{"align":3916},"Рендерити inline-текст помилки безпосередньо під рамкою поля.",[3911,16868,16869,16876,16879,16886],{},[3933,16870,16871],{"align":3916},[3746,16872,16873,16874],{},"Імперативна валідація в ",[3803,16875,4180],{},[3933,16877,16878],{"align":3916},"Відсутність декларативної схеми Zod.",[3933,16880,16881,16882,16885],{"align":3916},"Каскад спагетті-коду ",[3803,16883,16884],{},"if\u002Felse",", неможливість повторного використання на бекенді.",[3933,16887,16888,16889,16892,16893,3857],{"align":3916},"Описувати єдину схему ",[3803,16890,16891],{},"z.object({ ... })"," через ",[3803,16894,14141],{},[3911,16896,16897,16904,16907,16910],{},[3933,16898,16899],{"align":3916},[3746,16900,16901,16902],{},"Форма без ",[3803,16903,3853],{},[3933,16905,16906],{"align":3916},"Тестування лише на великих планшетах\u002Fемуляторах.",[3933,16908,16909],{"align":3916},"Обрізання форми на компактних екранах та при відкритті клавіатури.",[3933,16911,16912,16913,16915,16916,3857],{"align":3916},"Обов'язкова обгортка форми у ",[3803,16914,3853],{}," із ",[3803,16917,16918],{},"flex: 1",[3911,16920,16921,16928,16933,16936],{},[3933,16922,16923],{"align":3916},[3746,16924,16925,16926,5723],{},"Втрата тапу (",[3803,16927,12203],{},[3933,16929,16930,16931,3857],{"align":3916},"Залишено дефолтне значення ",[3803,16932,12218],{},[3933,16934,16935],{"align":3916},"Перший тап по кнопці Submit поглинається закриттям клавіатури; відчуття «зламаної кнопки».",[3933,16937,16938,16939,3857],{"align":3916},"Завжди передавати ",[3803,16940,3856],{},[3911,16942,16943,16948,16954,16961],{},[3933,16944,16945],{"align":3916},[3746,16946,16947],{},"Зайва автокапіталізація",[3933,16949,16950,16951,3857],{"align":3916},"Забутий ",[3803,16952,16953],{},"autoCapitalize=\"none\"",[3933,16955,16956,16957,16960],{"align":3916},"Спотворення логінів та email (",[3803,16958,16959],{},"User@domain.com","), відмова в авторизації.",[3933,16962,16963,16964,3876,16966,16968],{"align":3916},"Явно вимикати ",[3803,16965,16953],{},[3803,16967,5299],{}," для технічних полів.",[3911,16970,16971,16976,16979,16982],{},[3933,16972,16973],{"align":3916},[3746,16974,16975],{},"Клієнт як єдиний захист",[3933,16977,16978],{"align":3916},"Хибне припущення про абсолютну безпеку клієнта.",[3933,16980,16981],{"align":3916},"Вразливість до підміни API-пакетів та ін'єкцій невалідних даних.",[3933,16983,16984],{"align":3916},"Дублювати Zod-схеми на бекенд-сервері для повної валідації вхідних DTO.",[3881,16986],{},[3734,16988,16990],{"id":16989},"міні-проєкт-реєстрація-на-подію","Міні-проєкт: «Реєстрація на подію»",[3792,16992,16994],{"id":16993},"мета","Мета",[3739,16996,16997,16998,17001,17002,17005,17006,17009],{},"Окремий застосунок ",[3746,16999,17000],{},"поза"," Nomad. Нижче — шлях ",[3746,17003,17004],{},"від А до Я",": команди, структура, ",[3746,17007,17008],{},"повний код"," файлів. Можна копіювати й запускати без «домалюйте самі».",[3739,17011,17012],{},"Сюжет: реєстрація на умовну подію. Два стани без Router:",[3751,17014,17015,17021],{},[3754,17016,17017,17020],{},[3746,17018,17019],{},"Форма"," (усі типи контролів + RHF + Zod).",[3754,17022,17023,17026],{},[3746,17024,17025],{},"Успіх"," (підсумок + «Ще раз»).",[3792,17028,17030],{"id":17029},"що-має-вийти","Що має вийти",[3905,17032,17033,17042],{},[3908,17034,17035],{},[3911,17036,17037,17040],{},[3914,17038,17039],{},"Поле",[3914,17041,4325],{},[3928,17043,17044,17052,17063,17072,17081,17090,17100,17110],{},[3911,17045,17046,17048],{},[3933,17047,15825],{},[3933,17049,17050],{},[3803,17051,3805],{},[3911,17053,17054,17056],{},[3933,17055,6284],{},[3933,17057,17058,3850,17060],{},[3803,17059,3805],{},[3803,17061,17062],{},"keyboardType=\"email-address\"",[3911,17064,17065,17068],{},[3933,17066,17067],{},"Місць 1–5",[3933,17069,17070],{},[3803,17071,3815],{},[3911,17073,17074,17077],{},[3933,17075,17076],{},"Тип квитка",[3933,17078,17079],{},[3803,17080,3818],{},[3911,17082,17083,17086],{},[3933,17084,17085],{},"Нагадування",[3933,17087,17088],{},[3803,17089,3809],{},[3911,17091,17092,17095],{},[3933,17093,17094],{},"Згода з правилами",[3933,17096,17097,17098],{},"Checkbox + ",[3803,17099,10019],{},[3911,17101,17102,17105],{},[3933,17103,17104],{},"Коментар",[3933,17106,17107,17109],{},[3803,17108,3805],{}," multiline",[3911,17111,17112,17115],{},[3933,17113,17114],{},"Submit",[3933,17116,17117,3850,17119],{},[3803,17118,3947],{},[3803,17120,4176],{},[3739,17122,17123,17124,17127,17128,17127,17130,3850,17132,3857],{},"Обов’язково: ",[3803,17125,17126],{},"SafeAreaProvider"," → ",[3803,17129,3849],{},[3803,17131,3853],{},[3803,17133,3856],{},[3792,17135,17137],{"id":17136},"структура","Структура",[3891,17139,17142],{"className":17140,"code":17141,"language":3896,"meta":3899},[3894],"event-signup\u002F\n  App.tsx          ← увесь застосунок (повний код нижче)\n  package.json\n  app.json\n  index.ts\n  …\n",[3803,17143,17141],{"__ignoreMap":3899},[3792,17145,17147],{"id":17146},"крок-1-створити-проєкт-і-поставити-пакети","Крок 1. Створити проєкт і поставити пакети",[17149,17150,17151,17155,17184,17188,17224,17227,17248,17252,17266],"steps",{},[3792,17152,17154],{"id":17153},"_1-скарфолд","1. Скарфолд",[3891,17156,17158],{"className":9526,"code":17157,"language":9528,"meta":3899,"style":3899},"npx create-expo-app@latest event-signup -t blank-typescript\ncd event-signup\n",[3803,17159,17160,17176],{"__ignoreMap":3899},[4576,17161,17162,17164,17167,17170,17173],{"class":4578,"line":4579},[4576,17163,9535],{"class":4657},[4576,17165,17166],{"class":4600}," create-expo-app@latest",[4576,17168,17169],{"class":4600}," event-signup",[4576,17171,17172],{"class":4653}," -t",[4576,17174,17175],{"class":4600}," blank-typescript\n",[4576,17177,17178,17181],{"class":4578,"line":4607},[4576,17179,17180],{"class":4657},"cd",[4576,17182,17183],{"class":4600}," event-signup\n",[3792,17185,17187],{"id":17186},"_2-залежності","2. Залежності",[3891,17189,17191],{"className":9526,"code":17190,"language":9528,"meta":3899,"style":3899},"npx expo install react-native-safe-area-context @react-native-community\u002Fslider @react-native-community\u002Fcheckbox @react-native-picker\u002Fpicker\nnpm install react-hook-form @hookform\u002Fresolvers zod\n",[3803,17192,17193,17212],{"__ignoreMap":3899},[4576,17194,17195,17197,17199,17201,17204,17207,17210],{"class":4578,"line":4579},[4576,17196,9535],{"class":4657},[4576,17198,9538],{"class":4600},[4576,17200,9541],{"class":4600},[4576,17202,17203],{"class":4600}," react-native-safe-area-context",[4576,17205,17206],{"class":4600}," @react-native-community\u002Fslider",[4576,17208,17209],{"class":4600}," @react-native-community\u002Fcheckbox",[4576,17211,10915],{"class":4600},[4576,17213,17214,17216,17218,17220,17222],{"class":4578,"line":4607},[4576,17215,9547],{"class":4657},[4576,17217,9541],{"class":4600},[4576,17219,12427],{"class":4600},[4576,17221,12430],{"class":4600},[4576,17223,12433],{"class":4600},[3739,17225,17226],{},"Якщо npm свариться на peers:",[3891,17228,17230],{"className":9526,"code":17229,"language":9528,"meta":3899,"style":3899},"npm install react-hook-form @hookform\u002Fresolvers zod --legacy-peer-deps\n",[3803,17231,17232],{"__ignoreMap":3899},[4576,17233,17234,17236,17238,17240,17242,17245],{"class":4578,"line":4579},[4576,17235,9547],{"class":4657},[4576,17237,9541],{"class":4600},[4576,17239,12427],{"class":4600},[4576,17241,12430],{"class":4600},[4576,17243,17244],{"class":4600}," zod",[4576,17246,17247],{"class":4653}," --legacy-peer-deps\n",[3792,17249,17251],{"id":17250},"_3-запуск-після-підстановки-apptsx","3. Запуск після підстановки App.tsx",[3891,17253,17255],{"className":9526,"code":17254,"language":9528,"meta":3899,"style":3899},"npx expo start\n",[3803,17256,17257],{"__ignoreMap":3899},[4576,17258,17259,17261,17263],{"class":4578,"line":4579},[4576,17260,9535],{"class":4657},[4576,17262,9538],{"class":4600},[4576,17264,17265],{"class":4600}," start\n",[3739,17267,17268],{},"Відкрийте в Expo Go.",[3792,17270,17272,17273],{"id":17271},"крок-2-повний-код-apptsx","Крок 2. Повний код ",[3803,17274,17275],{},"App.tsx",[3739,17277,17278,17281,17282,17284],{},[3746,17279,17280],{},"Повністю замініть"," файл ",[3803,17283,17275],{}," на код нижче (розгорніть collapsible і скопіюйте цілком).",[17286,17287,17289],"collapsible",{"title":17288},"Повний App.tsx — розгорнути й скопіювати",[3891,17290,17292],{"className":4570,"code":17291,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  KeyboardAvoidingView,\n  Platform,\n  Pressable,\n  ScrollView,\n  StyleSheet,\n  Switch,\n  Text,\n  TextInput,\n  View,\n} from 'react-native';\nimport { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';\nimport { Controller, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform\u002Fresolvers\u002Fzod';\nimport { z } from 'zod';\nimport { Picker } from '@react-native-picker\u002Fpicker';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\nimport Slider from '@react-native-community\u002Fslider';\n\nconst TICKETS = [\n  { value: 'standard' as const, label: 'Звичайний' },\n  { value: 'student' as const, label: 'Студентський' },\n  { value: 'child' as const, label: 'Дитячий' },\n];\n\nconst signupSchema = z.object({\n  name: z.string().trim().min(2, 'Вкажіть ім’я (мін. 2 символи)'),\n  email: z.string().trim().email('Некоректний email'),\n  seats: z.number().min(1, 'Мін. 1 місце').max(5, 'Макс. 5 місць'),\n  ticketType: z.enum(['standard', 'student', 'child']),\n  remindMe: z.boolean(),\n  acceptedRules: z.literal(true, {\n    error: 'Потрібно прийняти правила події',\n  }),\n  note: z\n    .string()\n    .trim()\n    .max(200, 'Коментар — макс. 200 символів')\n    .optional()\n    .or(z.literal('')),\n});\n\ntype SignupValues = z.infer\u003Ctypeof signupSchema>;\n\nconst ticketLabel: Record\u003CSignupValues['ticketType'], string> = {\n  standard: 'Звичайний',\n  student: 'Студентський',\n  child: 'Дитячий',\n};\n\nfunction FieldLabel({ children }: { children: string }) {\n  return \u003CText style={styles.label}>{children}\u003C\u002FText>;\n}\n\nfunction FieldError({ message }: { message?: string }) {\n  if (!message) return null;\n  return \u003CText style={styles.error}>{message}\u003C\u002FText>;\n}\n\nfunction SignupForm({ onSuccess }: { onSuccess: (data: SignupValues) => void }) {\n  const {\n    control,\n    handleSubmit,\n    watch,\n    formState: { errors },\n  } = useForm\u003CSignupValues>({\n    resolver: zodResolver(signupSchema),\n    defaultValues: {\n      name: '',\n      email: '',\n      seats: 1,\n      ticketType: 'standard',\n      remindMe: true,\n      acceptedRules: false as unknown as true,\n      note: '',\n    },\n    mode: 'onSubmit',\n    reValidateMode: 'onChange',\n  });\n\n  const seats = watch('seats');\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={styles.flex}\n      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n    >\n      \u003CScrollView\n        style={styles.flex}\n        contentContainerStyle={styles.form}\n        keyboardShouldPersistTaps=\"handled\"\n        keyboardDismissMode=\"on-drag\"\n      >\n        \u003CText style={styles.title}>Реєстрація на подію\u003C\u002FText>\n        \u003CText style={styles.muted}>\n          Заповніть поля. Помилки з’являться після «Зареєструватись», якщо щось\n          не так.\n        \u003C\u002FText>\n\n        \u003CFieldLabel>Ім’я\u003C\u002FFieldLabel>\n        \u003CController\n          control={control}\n          name=\"name\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextInput\n              style={[styles.input, errors.name && styles.inputErr]}\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              placeholder=\"Олена Коваленко\"\n              autoCapitalize=\"words\"\n              returnKeyType=\"next\"\n            \u002F>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.name?.message} \u002F>\n\n        \u003CFieldLabel>Email\u003C\u002FFieldLabel>\n        \u003CController\n          control={control}\n          name=\"email\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextInput\n              style={[styles.input, errors.email && styles.inputErr]}\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              placeholder=\"you@example.com\"\n              keyboardType=\"email-address\"\n              autoCapitalize=\"none\"\n              autoCorrect={false}\n              returnKeyType=\"next\"\n            \u002F>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.email?.message} \u002F>\n\n        \u003CFieldLabel>Тип квитка\u003C\u002FFieldLabel>\n        \u003CController\n          control={control}\n          name=\"ticketType\"\n          render={({ field: { onChange, value } }) => (\n            \u003CView style={[styles.pickerWrap, errors.ticketType && styles.inputErr]}>\n              \u003CPicker selectedValue={value} onValueChange={onChange}>\n                {TICKETS.map((t) => (\n                  \u003CPicker.Item key={t.value} label={t.label} value={t.value} \u002F>\n                ))}\n              \u003C\u002FPicker>\n            \u003C\u002FView>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.ticketType?.message} \u002F>\n\n        \u003CFieldLabel>Кількість місць: {seats}\u003C\u002FFieldLabel>\n        \u003CController\n          control={control}\n          name=\"seats\"\n          render={({ field: { onChange, value } }) => (\n            \u003CSlider\n              minimumValue={1}\n              maximumValue={5}\n              step={1}\n              value={value}\n              onValueChange={onChange}\n              minimumTrackTintColor=\"#2563EB\"\n              maximumTrackTintColor=\"#E2E8F0\"\n              thumbTintColor=\"#2563EB\"\n            \u002F>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.seats?.message} \u002F>\n\n        \u003CController\n          control={control}\n          name=\"remindMe\"\n          render={({ field: { onChange, value } }) => (\n            \u003CView style={styles.row}>\n              \u003CView style={styles.rowText}>\n                \u003CText style={styles.rowTitle}>Нагадування\u003C\u002FText>\n                \u003CText style={styles.muted}>\n                  Switch: надіслати нагадування перед подією\n                \u003C\u002FText>\n              \u003C\u002FView>\n              \u003CSwitch\n                value={value}\n                onValueChange={onChange}\n                trackColor={{ false: '#E2E8F0', true: '#2563EB' }}\n                thumbColor=\"#FFFFFF\"\n              \u002F>\n            \u003C\u002FView>\n          )}\n        \u002F>\n\n        \u003CController\n          control={control}\n          name=\"acceptedRules\"\n          render={({ field: { onChange, value } }) => (\n            \u003CView style={styles.row}>\n              \u003CView style={styles.rowText}>\n                \u003CText style={styles.rowTitle}>Згода з правилами\u003C\u002FText>\n                \u003CText style={styles.muted}>\n                  Обов’язкова галочка (без неї submit не пройде)\n                \u003C\u002FText>\n              \u003C\u002FView>\n              \u003CCheckbox\n                value={Boolean(value)}\n                onValueChange={onChange}\n                tintColors={{ true: '#2563EB', false: '#94A3B8' }}\n                onCheckColor=\"#FFFFFF\"\n                onFillColor=\"#2563EB\"\n                onTintColor=\"#2563EB\"\n                boxType=\"square\"\n              \u002F>\n            \u003C\u002FView>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.acceptedRules?.message} \u002F>\n\n        \u003CFieldLabel>Коментар (необов’язково)\u003C\u002FFieldLabel>\n        \u003CController\n          control={control}\n          name=\"note\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextInput\n              style={[styles.input, styles.multi, errors.note && styles.inputErr]}\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              placeholder=\"Алергії, побажання до місця…\"\n              multiline\n              textAlignVertical=\"top\"\n              maxLength={200}\n            \u002F>\n          )}\n        \u002F>\n        \u003CFieldError message={errors.note?.message} \u002F>\n\n        \u003CPressable style={styles.btn} onPress={handleSubmit(onSuccess)}>\n          \u003CText style={styles.btnText}>Зареєструватись\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FScrollView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nfunction SuccessScreen({\n  data,\n  onAgain,\n}: {\n  data: SignupValues;\n  onAgain: () => void;\n}) {\n  return (\n    \u003CView style={styles.center}>\n      \u003CText style={styles.title}>Ви зареєстровані\u003C\u002FText>\n      \u003CText style={styles.muted}>{data.name}\u003C\u002FText>\n      \u003CText style={styles.muted}>{data.email}\u003C\u002FText>\n      \u003CText style={styles.summary}>\n        Квиток: {ticketLabel[data.ticketType]} · місць: {data.seats}\n      \u003C\u002FText>\n      \u003CText style={styles.summary}>\n        Нагадування: {data.remindMe ? 'так' : 'ні'}\n      \u003C\u002FText>\n      {data.note ? (\n        \u003CText style={[styles.muted, { marginTop: 8 }]}>{data.note}\u003C\u002FText>\n      ) : null}\n      \u003CPressable style={[styles.btn, { marginTop: 24 }]} onPress={onAgain}>\n        \u003CText style={styles.btnText}>Ще раз\u003C\u002FText>\n      \u003C\u002FPressable>\n    \u003C\u002FView>\n  );\n}\n\nexport default function App() {\n  const [done, setDone] = useState\u003CSignupValues | null>(null);\n\n  return (\n    \u003CSafeAreaProvider>\n      \u003CSafeAreaView style={styles.safe}>\n        {done ? (\n          \u003CSuccessScreen data={done} onAgain={() => setDone(null)} \u002F>\n        ) : (\n          \u003CSignupForm onSuccess={(data) => setDone(data)} \u002F>\n        )}\n      \u003C\u002FSafeAreaView>\n    \u003C\u002FSafeAreaProvider>\n  );\n}\n\nconst styles = StyleSheet.create({\n  safe: { flex: 1, backgroundColor: '#F8FAFC' },\n  flex: { flex: 1 },\n  form: { padding: 16, gap: 6, paddingBottom: 40 },\n  center: {\n    flex: 1,\n    padding: 24,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n  title: {\n    fontSize: 24,\n    fontWeight: '800',\n    color: '#0F172A',\n    marginBottom: 4,\n  },\n  muted: { color: '#64748B', fontSize: 13, marginBottom: 8 },\n  label: {\n    marginTop: 10,\n    fontSize: 12,\n    fontWeight: '700',\n    color: '#64748B',\n    textTransform: 'uppercase',\n  },\n  input: {\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    backgroundColor: '#FFFFFF',\n    borderRadius: 12,\n    paddingHorizontal: 14,\n    paddingVertical: 12,\n    fontSize: 16,\n    minHeight: 48,\n    color: '#0F172A',\n  },\n  multi: { minHeight: 96 },\n  inputErr: { borderColor: '#DC2626' },\n  error: { color: '#DC2626', fontSize: 13, marginTop: 4 },\n  pickerWrap: {\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    borderRadius: 12,\n    backgroundColor: '#FFFFFF',\n    overflow: 'hidden',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    gap: 12,\n    marginTop: 12,\n  },\n  rowText: { flex: 1, gap: 2 },\n  rowTitle: { fontWeight: '700', color: '#0F172A' },\n  btn: {\n    marginTop: 20,\n    backgroundColor: '#2563EB',\n    paddingVertical: 14,\n    borderRadius: 12,\n    alignItems: 'center',\n  },\n  btnText: { color: '#FFFFFF', fontWeight: '800', fontSize: 16 },\n  summary: { color: '#0F172A', marginTop: 6, fontWeight: '600' },\n});\n",[3803,17293,17294,17310,17316,17322,17328,17334,17340,17346,17352,17358,17364,17370,17380,17402,17422,17438,17454,17470,17482,17494,17498,17507,17532,17554,17576,17580,17584,17601,17631,17657,17696,17726,17739,17756,17766,17770,17777,17785,17793,17811,17820,17842,17846,17850,17873,17877,17907,17916,17925,17934,17938,17942,17967,18005,18009,18013,18034,18052,18090,18094,18098,18131,18137,18144,18151,18158,18169,18182,18196,18203,18212,18221,18230,18239,18249,18267,18276,18281,18290,18299,18304,18308,18326,18330,18336,18342,18359,18387,18391,18397,18413,18431,18440,18450,18454,18485,18507,18512,18517,18525,18529,18546,18552,18565,18574,18605,18611,18650,18663,18676,18689,18699,18708,18717,18722,18729,18733,18761,18765,18781,18787,18799,18808,18838,18844,18880,18892,18904,18916,18924,18934,18943,18953,18962,18967,18974,18979,19006,19011,19028,19035,19048,19057,19084,19129,19159,19183,19235,19243,19253,19263,19270,19275,19302,19307,19332,19339,19352,19362,19389,19396,19410,19424,19438,19451,19465,19475,19485,19495,19500,19507,19512,19539,19544,19551,19564,19574,19601,19624,19648,19681,19704,19710,19720,19729,19736,19750,19764,19790,19800,19806,19815,19822,19827,19832,19839,19852,19862,19889,19912,19935,19966,19989,19995,20004,20013,20020,20040,20053,20079,20089,20099,20109,20119,20124,20133,20140,20145,20173,20178,20196,20203,20216,20226,20257,20264,20309,20322,20335,20348,20358,20364,20374,20388,20393,20400,20405,20432,20437,20476,20508,20517,20526,20535,20540,20545,20550,20560,20568,20576,20582,20593,20606,20612,20619,20642,20674,20713,20752,20776,20812,20821,20844,20871,20880,20895,20944,20953,20998,21029,21038,21047,21052,21057,21062,21075,21107,21112,21119,21128,21152,21163,21206,21216,21251,21259,21268,21277,21282,21287,21292,21309,21330,21344,21372,21379,21389,21398,21407,21416,21421,21428,21437,21447,21458,21468,21473,21500,21507,21517,21526,21535,21544,21554,21559,21566,21575,21584,21593,21602,21611,21620,21629,21638,21647,21652,21666,21681,21707,21715,21724,21733,21742,21751,21760,21765,21772,21781,21790,21799,21808,21813,21833,21853,21860,21869,21878,21887,21896,21905,21910,21935,21961],{"__ignoreMap":3899},[4576,17295,17296,17298,17300,17302,17304,17306,17308],{"class":4578,"line":4579},[4576,17297,4583],{"class":4582},[4576,17299,4587],{"class":4586},[4576,17301,4591],{"class":4590},[4576,17303,4594],{"class":4586},[4576,17305,4597],{"class":4582},[4576,17307,4601],{"class":4600},[4576,17309,4604],{"class":4586},[4576,17311,17312,17314],{"class":4578,"line":4607},[4576,17313,4583],{"class":4582},[4576,17315,4980],{"class":4586},[4576,17317,17318,17320],{"class":4578,"line":4640},[4576,17319,14670],{"class":4590},[4576,17321,4992],{"class":4586},[4576,17323,17324,17326],{"class":4578,"line":4647},[4576,17325,14677],{"class":4590},[4576,17327,4992],{"class":4586},[4576,17329,17330,17332],{"class":4578,"line":4664},[4576,17331,14684],{"class":4590},[4576,17333,4992],{"class":4586},[4576,17335,17336,17338],{"class":4578,"line":4696},[4576,17337,5791],{"class":4590},[4576,17339,4992],{"class":4586},[4576,17341,17342,17344],{"class":4578,"line":4701},[4576,17343,5798],{"class":4590},[4576,17345,4992],{"class":4586},[4576,17347,17348,17350],{"class":4578,"line":4710},[4576,17349,14715],{"class":4590},[4576,17351,4992],{"class":4586},[4576,17353,17354,17356],{"class":4578,"line":4745},[4576,17355,5805],{"class":4590},[4576,17357,4992],{"class":4586},[4576,17359,17360,17362],{"class":4578,"line":4781},[4576,17361,5812],{"class":4590},[4576,17363,4992],{"class":4586},[4576,17365,17366,17368],{"class":4578,"line":4789},[4576,17367,14722],{"class":4590},[4576,17369,4992],{"class":4586},[4576,17371,17372,17374,17376,17378],{"class":4578,"line":4804},[4576,17373,5826],{"class":4586},[4576,17375,4597],{"class":4582},[4576,17377,4635],{"class":4600},[4576,17379,4604],{"class":4586},[4576,17381,17382,17384,17386,17388,17390,17393,17395,17397,17400],{"class":4578,"line":4818},[4576,17383,4583],{"class":4582},[4576,17385,4587],{"class":4586},[4576,17387,17126],{"class":4590},[4576,17389,3806],{"class":4586},[4576,17391,17392],{"class":4590},"SafeAreaView",[4576,17394,4594],{"class":4586},[4576,17396,4597],{"class":4582},[4576,17398,17399],{"class":4600}," 'react-native-safe-area-context'",[4576,17401,4604],{"class":4586},[4576,17403,17404,17406,17408,17410,17412,17414,17416,17418,17420],{"class":4578,"line":4829},[4576,17405,4583],{"class":4582},[4576,17407,4587],{"class":4586},[4576,17409,4265],{"class":4590},[4576,17411,3806],{"class":4586},[4576,17413,14110],{"class":4590},[4576,17415,4594],{"class":4586},[4576,17417,4597],{"class":4582},[4576,17419,14130],{"class":4600},[4576,17421,4604],{"class":4586},[4576,17423,17424,17426,17428,17430,17432,17434,17436],{"class":4578,"line":4840},[4576,17425,4583],{"class":4582},[4576,17427,4587],{"class":4586},[4576,17429,14141],{"class":4590},[4576,17431,4594],{"class":4586},[4576,17433,4597],{"class":4582},[4576,17435,14148],{"class":4600},[4576,17437,4604],{"class":4586},[4576,17439,17440,17442,17444,17446,17448,17450,17452],{"class":4578,"line":4851},[4576,17441,4583],{"class":4582},[4576,17443,4587],{"class":4586},[4576,17445,10038],{"class":4590},[4576,17447,4594],{"class":4586},[4576,17449,4597],{"class":4582},[4576,17451,10045],{"class":4600},[4576,17453,4604],{"class":4586},[4576,17455,17456,17458,17460,17462,17464,17466,17468],{"class":4578,"line":4870},[4576,17457,4583],{"class":4582},[4576,17459,4587],{"class":4586},[4576,17461,3818],{"class":4590},[4576,17463,4594],{"class":4586},[4576,17465,4597],{"class":4582},[4576,17467,11074],{"class":4600},[4576,17469,4604],{"class":4586},[4576,17471,17472,17474,17476,17478,17480],{"class":4578,"line":4876},[4576,17473,4583],{"class":4582},[4576,17475,9664],{"class":4590},[4576,17477,9667],{"class":4582},[4576,17479,9670],{"class":4600},[4576,17481,4604],{"class":4586},[4576,17483,17484,17486,17488,17490,17492],{"class":4578,"line":4886},[4576,17485,4583],{"class":4582},[4576,17487,10349],{"class":4590},[4576,17489,9667],{"class":4582},[4576,17491,10354],{"class":4600},[4576,17493,4604],{"class":4586},[4576,17495,17496],{"class":4578,"line":4892},[4576,17497,4644],{"emptyLinePlaceholder":4643},[4576,17499,17500,17502,17505],{"class":4578,"line":4897},[4576,17501,4905],{"class":4653},[4576,17503,17504],{"class":4673}," TICKETS",[4576,17506,11092],{"class":4586},[4576,17508,17509,17512,17515,17518,17520,17522,17524,17527,17530],{"class":4578,"line":4902},[4576,17510,17511],{"class":4586},"  { ",[4576,17513,17514],{"class":4590},"value:",[4576,17516,17517],{"class":4600}," 'standard'",[4576,17519,11347],{"class":4582},[4576,17521,10058],{"class":4653},[4576,17523,3806],{"class":4586},[4576,17525,17526],{"class":4590},"label:",[4576,17528,17529],{"class":4600}," 'Звичайний'",[4576,17531,4939],{"class":4586},[4576,17533,17534,17536,17538,17541,17543,17545,17547,17549,17552],{"class":4578,"line":4924},[4576,17535,17511],{"class":4586},[4576,17537,17514],{"class":4590},[4576,17539,17540],{"class":4600}," 'student'",[4576,17542,11347],{"class":4582},[4576,17544,10058],{"class":4653},[4576,17546,3806],{"class":4586},[4576,17548,17526],{"class":4590},[4576,17550,17551],{"class":4600}," 'Студентський'",[4576,17553,4939],{"class":4586},[4576,17555,17556,17558,17560,17563,17565,17567,17569,17571,17574],{"class":4578,"line":4942},[4576,17557,17511],{"class":4586},[4576,17559,17514],{"class":4590},[4576,17561,17562],{"class":4600}," 'child'",[4576,17564,11347],{"class":4582},[4576,17566,10058],{"class":4653},[4576,17568,3806],{"class":4586},[4576,17570,17526],{"class":4590},[4576,17572,17573],{"class":4600}," 'Дитячий'",[4576,17575,4939],{"class":4586},[4576,17577,17578],{"class":4578,"line":4974},[4576,17579,11169],{"class":4586},[4576,17581,17582],{"class":4578,"line":4983},[4576,17583,4644],{"emptyLinePlaceholder":4643},[4576,17585,17586,17588,17591,17593,17595,17597,17599],{"class":4578,"line":4995},[4576,17587,4905],{"class":4653},[4576,17589,17590],{"class":4673}," signupSchema",[4576,17592,4911],{"class":4586},[4576,17594,10038],{"class":4590},[4576,17596,3857],{"class":4586},[4576,17598,10070],{"class":4657},[4576,17600,4921],{"class":4586},[4576,17602,17603,17606,17608,17610,17612,17614,17616,17618,17620,17622,17624,17626,17629],{"class":4578,"line":5006},[4576,17604,17605],{"class":4590},"  name:",[4576,17607,10085],{"class":4590},[4576,17609,3857],{"class":4586},[4576,17611,4349],{"class":4657},[4576,17613,12553],{"class":4586},[4576,17615,12550],{"class":4657},[4576,17617,12553],{"class":4586},[4576,17619,12672],{"class":4657},[4576,17621,4687],{"class":4586},[4576,17623,12562],{"class":4935},[4576,17625,3806],{"class":4586},[4576,17627,17628],{"class":4600},"'Вкажіть ім’я (мін. 2 символи)'",[4576,17630,12704],{"class":4586},[4576,17632,17633,17636,17638,17640,17642,17644,17646,17648,17650,17652,17655],{"class":4578,"line":5017},[4576,17634,17635],{"class":4590},"  email:",[4576,17637,10085],{"class":4590},[4576,17639,3857],{"class":4586},[4576,17641,4349],{"class":4657},[4576,17643,12553],{"class":4586},[4576,17645,12550],{"class":4657},[4576,17647,12553],{"class":4586},[4576,17649,4092],{"class":4657},[4576,17651,4687],{"class":4586},[4576,17653,17654],{"class":4600},"'Некоректний email'",[4576,17656,12704],{"class":4586},[4576,17658,17659,17662,17664,17666,17668,17670,17672,17674,17676,17678,17681,17683,17685,17687,17689,17691,17694],{"class":4578,"line":5027},[4576,17660,17661],{"class":4590},"  seats:",[4576,17663,10085],{"class":4590},[4576,17665,3857],{"class":4586},[4576,17667,4095],{"class":4657},[4576,17669,12553],{"class":4586},[4576,17671,12672],{"class":4657},[4576,17673,4687],{"class":4586},[4576,17675,10566],{"class":4935},[4576,17677,3806],{"class":4586},[4576,17679,17680],{"class":4600},"'Мін. 1 місце'",[4576,17682,3833],{"class":4586},[4576,17684,12691],{"class":4657},[4576,17686,4687],{"class":4586},[4576,17688,15181],{"class":4935},[4576,17690,3806],{"class":4586},[4576,17692,17693],{"class":4600},"'Макс. 5 місць'",[4576,17695,12704],{"class":4586},[4576,17697,17698,17701,17703,17705,17707,17710,17713,17715,17718,17720,17723],{"class":4578,"line":5038},[4576,17699,17700],{"class":4590},"  ticketType:",[4576,17702,10085],{"class":4590},[4576,17704,3857],{"class":4586},[4576,17706,11727],{"class":4657},[4576,17708,17709],{"class":4586},"([",[4576,17711,17712],{"class":4600},"'standard'",[4576,17714,3806],{"class":4586},[4576,17716,17717],{"class":4600},"'student'",[4576,17719,3806],{"class":4586},[4576,17721,17722],{"class":4600},"'child'",[4576,17724,17725],{"class":4586},"]),\n",[4576,17727,17728,17731,17733,17735,17737],{"class":4578,"line":5049},[4576,17729,17730],{"class":4590},"  remindMe:",[4576,17732,10085],{"class":4590},[4576,17734,3857],{"class":4586},[4576,17736,4372],{"class":4657},[4576,17738,10092],{"class":4586},[4576,17740,17741,17744,17746,17748,17750,17752,17754],{"class":4578,"line":5055},[4576,17742,17743],{"class":4590},"  acceptedRules:",[4576,17745,10085],{"class":4590},[4576,17747,3857],{"class":4586},[4576,17749,10113],{"class":4657},[4576,17751,4687],{"class":4586},[4576,17753,3763],{"class":4653},[4576,17755,10120],{"class":4586},[4576,17757,17758,17761,17764],{"class":4578,"line":5744},[4576,17759,17760],{"class":4590},"    error:",[4576,17762,17763],{"class":4600}," 'Потрібно прийняти правила події'",[4576,17765,4992],{"class":4586},[4576,17767,17768],{"class":4578,"line":6299},[4576,17769,10149],{"class":4586},[4576,17771,17772,17775],{"class":4578,"line":6312},[4576,17773,17774],{"class":4590},"  note:",[4576,17776,12638],{"class":4590},[4576,17778,17779,17781,17783],{"class":4578,"line":6325},[4576,17780,12643],{"class":4586},[4576,17782,4349],{"class":4657},[4576,17784,12665],{"class":4586},[4576,17786,17787,17789,17791],{"class":4578,"line":6335},[4576,17788,12643],{"class":4586},[4576,17790,12550],{"class":4657},[4576,17792,12665],{"class":4586},[4576,17794,17795,17797,17799,17801,17804,17806,17809],{"class":4578,"line":6350},[4576,17796,12643],{"class":4586},[4576,17798,12691],{"class":4657},[4576,17800,4687],{"class":4586},[4576,17802,17803],{"class":4935},"200",[4576,17805,3806],{"class":4586},[4576,17807,17808],{"class":4600},"'Коментар — макс. 200 символів'",[4576,17810,12684],{"class":4586},[4576,17812,17813,17815,17818],{"class":4578,"line":6359},[4576,17814,12643],{"class":4586},[4576,17816,17817],{"class":4657},"optional",[4576,17819,12665],{"class":4586},[4576,17821,17822,17824,17827,17829,17831,17833,17835,17837,17839],{"class":4578,"line":6368},[4576,17823,12643],{"class":4586},[4576,17825,17826],{"class":4657},"or",[4576,17828,4687],{"class":4586},[4576,17830,10038],{"class":4590},[4576,17832,3857],{"class":4586},[4576,17834,10113],{"class":4657},[4576,17836,4687],{"class":4586},[4576,17838,4690],{"class":4600},[4576,17840,17841],{"class":4586},")),\n",[4576,17843,17844],{"class":4578,"line":6377},[4576,17845,5058],{"class":4586},[4576,17847,17848],{"class":4578,"line":6417},[4576,17849,4644],{"emptyLinePlaceholder":4643},[4576,17851,17852,17854,17857,17859,17861,17863,17865,17867,17869,17871],{"class":4578,"line":6422},[4576,17853,4083],{"class":4653},[4576,17855,17856],{"class":4717}," SignupValues",[4576,17858,4911],{"class":4586},[4576,17860,10038],{"class":4717},[4576,17862,3857],{"class":4586},[4576,17864,11782],{"class":4717},[4576,17866,5439],{"class":4586},[4576,17868,11159],{"class":4653},[4576,17870,17590],{"class":4590},[4576,17872,11791],{"class":4586},[4576,17874,17875],{"class":4578,"line":6427},[4576,17876,4644],{"emptyLinePlaceholder":4643},[4576,17878,17879,17881,17884,17886,17889,17891,17894,17896,17899,17902,17904],{"class":4578,"line":6469},[4576,17880,4905],{"class":4653},[4576,17882,17883],{"class":4673}," ticketLabel",[4576,17885,7093],{"class":4586},[4576,17887,17888],{"class":4717},"Record",[4576,17890,5439],{"class":4586},[4576,17892,17893],{"class":4717},"SignupValues",[4576,17895,6261],{"class":4586},[4576,17897,17898],{"class":4600},"'ticketType'",[4576,17900,17901],{"class":4586},"], ",[4576,17903,4349],{"class":4717},[4576,17905,17906],{"class":4586},"> = {\n",[4576,17908,17909,17912,17914],{"class":4578,"line":6476},[4576,17910,17911],{"class":4590},"  standard:",[4576,17913,17529],{"class":4600},[4576,17915,4992],{"class":4586},[4576,17917,17918,17921,17923],{"class":4578,"line":6489},[4576,17919,17920],{"class":4590},"  student:",[4576,17922,17551],{"class":4600},[4576,17924,4992],{"class":4586},[4576,17926,17927,17930,17932],{"class":4578,"line":6502},[4576,17928,17929],{"class":4590},"  child:",[4576,17931,17573],{"class":4600},[4576,17933,4992],{"class":4586},[4576,17935,17936],{"class":4578,"line":6512},[4576,17937,12050],{"class":4586},[4576,17939,17940],{"class":4578,"line":6525},[4576,17941,4644],{"emptyLinePlaceholder":4643},[4576,17943,17944,17947,17950,17952,17955,17958,17960,17962,17964],{"class":4578,"line":6535},[4576,17945,17946],{"class":4653},"function",[4576,17948,17949],{"class":4657}," FieldLabel",[4576,17951,7128],{"class":4586},[4576,17953,17954],{"class":4590},"children",[4576,17956,17957],{"class":4586}," }: { ",[4576,17959,17954],{"class":4590},[4576,17961,7093],{"class":4586},[4576,17963,4349],{"class":4717},[4576,17965,17966],{"class":4586}," }) {\n",[4576,17968,17969,17971,17973,17975,17977,17979,17981,17983,17985,17987,17989,17991,17993,17995,17997,17999,18001,18003],{"class":4578,"line":6574},[4576,17970,4704],{"class":4582},[4576,17972,13182],{"class":4713},[4576,17974,4619],{"class":4717},[4576,17976,4721],{"class":4720},[4576,17978,4724],{"class":4586},[4576,17980,4727],{"class":4653},[4576,17982,4730],{"class":4590},[4576,17984,3857],{"class":4733},[4576,17986,4763],{"class":4590},[4576,17988,4739],{"class":4653},[4576,17990,4768],{"class":4713},[4576,17992,4727],{"class":4653},[4576,17994,17954],{"class":4590},[4576,17996,4739],{"class":4653},[4576,17998,4774],{"class":4713},[4576,18000,4619],{"class":4717},[4576,18002,4768],{"class":4713},[4576,18004,4604],{"class":4586},[4576,18006,18007],{"class":4578,"line":6579},[4576,18008,4801],{"class":4586},[4576,18010,18011],{"class":4578,"line":6584},[4576,18012,4644],{"emptyLinePlaceholder":4643},[4576,18014,18015,18017,18020,18022,18024,18026,18028,18030,18032],{"class":4578,"line":6626},[4576,18016,17946],{"class":4653},[4576,18018,18019],{"class":4657}," FieldError",[4576,18021,7128],{"class":4586},[4576,18023,13210],{"class":4590},[4576,18025,17957],{"class":4586},[4576,18027,13210],{"class":4590},[4576,18029,11984],{"class":4586},[4576,18031,4349],{"class":4717},[4576,18033,17966],{"class":4586},[4576,18035,18036,18038,18040,18042,18044,18047,18050],{"class":4578,"line":6633},[4576,18037,12008],{"class":4582},[4576,18039,12538],{"class":4586},[4576,18041,13210],{"class":4590},[4576,18043,7968],{"class":4586},[4576,18045,18046],{"class":4582},"return",[4576,18048,18049],{"class":4653}," null",[4576,18051,4604],{"class":4586},[4576,18053,18054,18056,18058,18060,18062,18064,18066,18068,18070,18072,18074,18076,18078,18080,18082,18084,18086,18088],{"class":4578,"line":6646},[4576,18055,4704],{"class":4582},[4576,18057,13182],{"class":4713},[4576,18059,4619],{"class":4717},[4576,18061,4721],{"class":4720},[4576,18063,4724],{"class":4586},[4576,18065,4727],{"class":4653},[4576,18067,4730],{"class":4590},[4576,18069,3857],{"class":4733},[4576,18071,13088],{"class":4590},[4576,18073,4739],{"class":4653},[4576,18075,4768],{"class":4713},[4576,18077,4727],{"class":4653},[4576,18079,13210],{"class":4590},[4576,18081,4739],{"class":4653},[4576,18083,4774],{"class":4713},[4576,18085,4619],{"class":4717},[4576,18087,4768],{"class":4713},[4576,18089,4604],{"class":4586},[4576,18091,18092],{"class":4578,"line":6659},[4576,18093,4801],{"class":4586},[4576,18095,18096],{"class":4578,"line":6669},[4576,18097,4644],{"emptyLinePlaceholder":4643},[4576,18099,18100,18102,18105,18107,18110,18112,18114,18117,18119,18121,18123,18125,18127,18129],{"class":4578,"line":6682},[4576,18101,17946],{"class":4653},[4576,18103,18104],{"class":4657}," SignupForm",[4576,18106,7128],{"class":4586},[4576,18108,18109],{"class":4590},"onSuccess",[4576,18111,17957],{"class":4586},[4576,18113,18109],{"class":4657},[4576,18115,18116],{"class":4586},": (",[4576,18118,14317],{"class":4590},[4576,18120,7093],{"class":4586},[4576,18122,17893],{"class":4717},[4576,18124,7968],{"class":4586},[4576,18126,5537],{"class":4653},[4576,18128,7083],{"class":4717},[4576,18130,17966],{"class":4586},[4576,18132,18133,18135],{"class":4578,"line":6688},[4576,18134,4667],{"class":4653},[4576,18136,4980],{"class":4586},[4576,18138,18139,18142],{"class":4578,"line":6699},[4576,18140,18141],{"class":4673},"    control",[4576,18143,4992],{"class":4586},[4576,18145,18146,18149],{"class":4578,"line":6711},[4576,18147,18148],{"class":4673},"    handleSubmit",[4576,18150,4992],{"class":4586},[4576,18152,18153,18156],{"class":4578,"line":6723},[4576,18154,18155],{"class":4673},"    watch",[4576,18157,4992],{"class":4586},[4576,18159,18160,18163,18165,18167],{"class":4578,"line":6735},[4576,18161,18162],{"class":4590},"    formState",[4576,18164,13063],{"class":4586},[4576,18166,14190],{"class":4673},[4576,18168,4939],{"class":4586},[4576,18170,18171,18174,18176,18178,18180],{"class":4578,"line":6759},[4576,18172,18173],{"class":4586},"  } = ",[4576,18175,14110],{"class":4657},[4576,18177,5439],{"class":4586},[4576,18179,17893],{"class":4717},[4576,18181,14221],{"class":4586},[4576,18183,18184,18187,18189,18191,18194],{"class":4578,"line":6767},[4576,18185,18186],{"class":4590},"    resolver:",[4576,18188,14229],{"class":4657},[4576,18190,4687],{"class":4586},[4576,18192,18193],{"class":4590},"signupSchema",[4576,18195,12704],{"class":4586},[4576,18197,18198,18201],{"class":4578,"line":6772},[4576,18199,18200],{"class":4590},"    defaultValues:",[4576,18202,4980],{"class":4586},[4576,18204,18205,18208,18210],{"class":4578,"line":6781},[4576,18206,18207],{"class":4590},"      name:",[4576,18209,14251],{"class":4600},[4576,18211,4992],{"class":4586},[4576,18213,18214,18217,18219],{"class":4578,"line":6786},[4576,18215,18216],{"class":4590},"      email:",[4576,18218,14251],{"class":4600},[4576,18220,4992],{"class":4586},[4576,18222,18223,18226,18228],{"class":4578,"line":6791},[4576,18224,18225],{"class":4590},"      seats:",[4576,18227,4989],{"class":4935},[4576,18229,4992],{"class":4586},[4576,18231,18232,18235,18237],{"class":4578,"line":6796},[4576,18233,18234],{"class":4590},"      ticketType:",[4576,18236,17517],{"class":4600},[4576,18238,4992],{"class":4586},[4576,18240,18241,18244,18247],{"class":4578,"line":6813},[4576,18242,18243],{"class":4590},"      remindMe:",[4576,18245,18246],{"class":4653}," true",[4576,18248,4992],{"class":4586},[4576,18250,18251,18254,18256,18258,18261,18263,18265],{"class":4578,"line":6838},[4576,18252,18253],{"class":4590},"      acceptedRules:",[4576,18255,14261],{"class":4653},[4576,18257,11347],{"class":4582},[4576,18259,18260],{"class":4717}," unknown",[4576,18262,11347],{"class":4582},[4576,18264,18246],{"class":4717},[4576,18266,4992],{"class":4586},[4576,18268,18269,18272,18274],{"class":4578,"line":6845},[4576,18270,18271],{"class":4590},"      note:",[4576,18273,14251],{"class":4600},[4576,18275,4992],{"class":4586},[4576,18277,18278],{"class":4578,"line":6854},[4576,18279,18280],{"class":4586},"    },\n",[4576,18282,18283,18286,18288],{"class":4578,"line":6863},[4576,18284,18285],{"class":4590},"    mode:",[4576,18287,14275],{"class":4600},[4576,18289,4992],{"class":4586},[4576,18291,18292,18295,18297],{"class":4578,"line":6872},[4576,18293,18294],{"class":4590},"    reValidateMode:",[4576,18296,14285],{"class":4600},[4576,18298,4992],{"class":4586},[4576,18300,18301],{"class":4578,"line":6881},[4576,18302,18303],{"class":4586},"  });\n",[4576,18305,18306],{"class":4578,"line":6890},[4576,18307,4644],{"emptyLinePlaceholder":4643},[4576,18309,18310,18312,18315,18317,18319,18321,18324],{"class":4578,"line":6899},[4576,18311,4667],{"class":4653},[4576,18313,18314],{"class":4673}," seats",[4576,18316,4911],{"class":4586},[4576,18318,14610],{"class":4657},[4576,18320,4687],{"class":4586},[4576,18322,18323],{"class":4600},"'seats'",[4576,18325,4693],{"class":4586},[4576,18327,18328],{"class":4578,"line":6904},[4576,18329,4644],{"emptyLinePlaceholder":4643},[4576,18331,18332,18334],{"class":4578,"line":6920},[4576,18333,4704],{"class":4582},[4576,18335,4707],{"class":4586},[4576,18337,18338,18340],{"class":4578,"line":16012},[4576,18339,4714],{"class":4713},[4576,18341,15596],{"class":4717},[4576,18343,18344,18346,18348,18350,18352,18354,18357],{"class":4578,"line":16017},[4576,18345,6085],{"class":4720},[4576,18347,4724],{"class":4586},[4576,18349,4727],{"class":4653},[4576,18351,4730],{"class":4590},[4576,18353,3857],{"class":4733},[4576,18355,18356],{"class":4590},"flex",[4576,18358,4801],{"class":4653},[4576,18360,18361,18363,18365,18367,18369,18371,18373,18375,18377,18379,18381,18383,18385],{"class":4578,"line":16058},[4576,18362,15625],{"class":4720},[4576,18364,4724],{"class":4586},[4576,18366,4727],{"class":4653},[4576,18368,15632],{"class":4590},[4576,18370,3857],{"class":4733},[4576,18372,15637],{"class":4673},[4576,18374,10519],{"class":4586},[4576,18376,15642],{"class":4600},[4576,18378,7282],{"class":4586},[4576,18380,15647],{"class":4600},[4576,18382,8033],{"class":4586},[4576,18384,15652],{"class":4600},[4576,18386,4801],{"class":4653},[4576,18388,18389],{"class":4578,"line":16065},[4576,18390,6150],{"class":4713},[4576,18392,18393,18395],{"class":4578,"line":16078},[4576,18394,4748],{"class":4713},[4576,18396,6080],{"class":4717},[4576,18398,18399,18401,18403,18405,18407,18409,18411],{"class":4578,"line":16091},[4576,18400,4854],{"class":4720},[4576,18402,4724],{"class":4586},[4576,18404,4727],{"class":4653},[4576,18406,4730],{"class":4590},[4576,18408,3857],{"class":4733},[4576,18410,18356],{"class":4590},[4576,18412,4801],{"class":4653},[4576,18414,18415,18418,18420,18422,18424,18426,18429],{"class":4578,"line":16101},[4576,18416,18417],{"class":4720},"        contentContainerStyle",[4576,18419,4724],{"class":4586},[4576,18421,4727],{"class":4653},[4576,18423,4730],{"class":4590},[4576,18425,3857],{"class":4733},[4576,18427,18428],{"class":4590},"form",[4576,18430,4801],{"class":4653},[4576,18432,18433,18436,18438],{"class":4578,"line":16111},[4576,18434,18435],{"class":4720},"        keyboardShouldPersistTaps",[4576,18437,4724],{"class":4586},[4576,18439,6145],{"class":4600},[4576,18441,18442,18445,18447],{"class":4578,"line":16120},[4576,18443,18444],{"class":4720},"        keyboardDismissMode",[4576,18446,4724],{"class":4586},[4576,18448,18449],{"class":4600},"\"on-drag\"\n",[4576,18451,18452],{"class":4578,"line":16133},[4576,18453,8048],{"class":4713},[4576,18455,18456,18458,18460,18462,18464,18466,18468,18470,18472,18474,18476,18479,18481,18483],{"class":4578,"line":16144},[4576,18457,7289],{"class":4713},[4576,18459,4619],{"class":4717},[4576,18461,4721],{"class":4720},[4576,18463,4724],{"class":4586},[4576,18465,4727],{"class":4653},[4576,18467,4730],{"class":4590},[4576,18469,3857],{"class":4733},[4576,18471,7140],{"class":4590},[4576,18473,4739],{"class":4653},[4576,18475,4768],{"class":4713},[4576,18477,18478],{"class":4586},"Реєстрація на подію",[4576,18480,4774],{"class":4713},[4576,18482,4619],{"class":4717},[4576,18484,4742],{"class":4713},[4576,18486,18487,18489,18491,18493,18495,18497,18499,18501,18503,18505],{"class":4578,"line":16155},[4576,18488,7289],{"class":4713},[4576,18490,4619],{"class":4717},[4576,18492,4721],{"class":4720},[4576,18494,4724],{"class":4586},[4576,18496,4727],{"class":4653},[4576,18498,4730],{"class":4590},[4576,18500,3857],{"class":4733},[4576,18502,6345],{"class":4590},[4576,18504,4739],{"class":4653},[4576,18506,4742],{"class":4713},[4576,18508,18509],{"class":4578,"line":16190},[4576,18510,18511],{"class":4586},"          Заповніть поля. Помилки з’являться після «Зареєструватись», якщо щось\n",[4576,18513,18514],{"class":4578,"line":16197},[4576,18515,18516],{"class":4586},"          не так.\n",[4576,18518,18519,18521,18523],{"class":4578,"line":16202},[4576,18520,9273],{"class":4713},[4576,18522,4619],{"class":4717},[4576,18524,4742],{"class":4713},[4576,18526,18527],{"class":4578,"line":16257},[4576,18528,4644],{"emptyLinePlaceholder":4643},[4576,18530,18531,18533,18536,18538,18540,18542,18544],{"class":4578,"line":16262},[4576,18532,7289],{"class":4713},[4576,18534,18535],{"class":4717},"FieldLabel",[4576,18537,4768],{"class":4713},[4576,18539,15825],{"class":4586},[4576,18541,4774],{"class":4713},[4576,18543,18535],{"class":4717},[4576,18545,4742],{"class":4713},[4576,18547,18548,18550],{"class":4578,"line":16285},[4576,18549,7289],{"class":4713},[4576,18551,13023],{"class":4717},[4576,18553,18554,18557,18559,18561,18563],{"class":4578,"line":16325},[4576,18555,18556],{"class":4720},"          control",[4576,18558,4724],{"class":4586},[4576,18560,4727],{"class":4653},[4576,18562,13035],{"class":4590},[4576,18564,4801],{"class":4653},[4576,18566,18567,18570,18572],{"class":4578,"line":16377},[4576,18568,18569],{"class":4720},"          name",[4576,18571,4724],{"class":4586},[4576,18573,13386],{"class":4600},[4576,18575,18576,18579,18581,18583,18585,18587,18589,18591,18593,18595,18597,18599,18601,18603],{"class":4578,"line":16386},[4576,18577,18578],{"class":4720},"          render",[4576,18580,4724],{"class":4586},[4576,18582,4727],{"class":4653},[4576,18584,7128],{"class":4733},[4576,18586,5104],{"class":4590},[4576,18588,13063],{"class":4733},[4576,18590,4075],{"class":4590},[4576,18592,3806],{"class":4733},[4576,18594,4287],{"class":4590},[4576,18596,3806],{"class":4733},[4576,18598,4282],{"class":4590},[4576,18600,13091],{"class":4733},[4576,18602,5537],{"class":4653},[4576,18604,4707],{"class":4733},[4576,18606,18607,18609],{"class":4578,"line":16441},[4576,18608,11387],{"class":4713},[4576,18610,4786],{"class":4717},[4576,18612,18613,18616,18618,18620,18622,18624,18626,18628,18630,18632,18634,18636,18638,18640,18642,18645,18648],{"class":4578,"line":16446},[4576,18614,18615],{"class":4720},"              style",[4576,18617,4724],{"class":4586},[4576,18619,4727],{"class":4653},[4576,18621,6261],{"class":4733},[4576,18623,4730],{"class":4590},[4576,18625,3857],{"class":4733},[4576,18627,4865],{"class":4590},[4576,18629,3806],{"class":4733},[4576,18631,14190],{"class":4590},[4576,18633,3857],{"class":4733},[4576,18635,4674],{"class":4590},[4576,18637,7229],{"class":4586},[4576,18639,4908],{"class":4590},[4576,18641,3857],{"class":4733},[4576,18643,18644],{"class":4590},"inputErr",[4576,18646,18647],{"class":4733},"]",[4576,18649,4801],{"class":4653},[4576,18651,18652,18655,18657,18659,18661],{"class":4578,"line":16491},[4576,18653,18654],{"class":4720},"              value",[4576,18656,4724],{"class":4586},[4576,18658,4727],{"class":4653},[4576,18660,4282],{"class":4590},[4576,18662,4801],{"class":4653},[4576,18664,18665,18668,18670,18672,18674],{"class":4578,"line":16523},[4576,18666,18667],{"class":4720},"              onChangeText",[4576,18669,4724],{"class":4586},[4576,18671,4727],{"class":4653},[4576,18673,4075],{"class":4590},[4576,18675,4801],{"class":4653},[4576,18677,18678,18681,18683,18685,18687],{"class":4578,"line":16532},[4576,18679,18680],{"class":4720},"              onBlur",[4576,18682,4724],{"class":4586},[4576,18684,4727],{"class":4653},[4576,18686,4287],{"class":4590},[4576,18688,4801],{"class":4653},[4576,18690,18691,18694,18696],{"class":4578,"line":16541},[4576,18692,18693],{"class":4720},"              placeholder",[4576,18695,4724],{"class":4586},[4576,18697,18698],{"class":4600},"\"Олена Коваленко\"\n",[4576,18700,18701,18704,18706],{"class":4578,"line":16550},[4576,18702,18703],{"class":4720},"              autoCapitalize",[4576,18705,4724],{"class":4586},[4576,18707,4837],{"class":4600},[4576,18709,18710,18713,18715],{"class":4578,"line":16555},[4576,18711,18712],{"class":4720},"              returnKeyType",[4576,18714,4724],{"class":4586},[4576,18716,5513],{"class":4600},[4576,18718,18719],{"class":4578,"line":16560},[4576,18720,18721],{"class":4713},"            \u002F>\n",[4576,18723,18724,18727],{"class":4578,"line":16565},[4576,18725,18726],{"class":4733},"          )",[4576,18728,4801],{"class":4653},[4576,18730,18731],{"class":4578,"line":16582},[4576,18732,9349],{"class":4713},[4576,18734,18735,18737,18740,18743,18745,18747,18749,18751,18753,18755,18757,18759],{"class":4578,"line":16614},[4576,18736,7289],{"class":4713},[4576,18738,18739],{"class":4717},"FieldError",[4576,18741,18742],{"class":4720}," message",[4576,18744,4724],{"class":4586},[4576,18746,4727],{"class":4653},[4576,18748,14190],{"class":4590},[4576,18750,3857],{"class":4733},[4576,18752,4674],{"class":4590},[4576,18754,5547],{"class":4733},[4576,18756,13210],{"class":4590},[4576,18758,4739],{"class":4653},[4576,18760,7302],{"class":4713},[4576,18762,18763],{"class":4578,"line":16645},[4576,18764,4644],{"emptyLinePlaceholder":4643},[4576,18766,18767,18769,18771,18773,18775,18777,18779],{"class":4578,"line":16652},[4576,18768,7289],{"class":4713},[4576,18770,18535],{"class":4717},[4576,18772,4768],{"class":4713},[4576,18774,6284],{"class":4586},[4576,18776,4774],{"class":4713},[4576,18778,18535],{"class":4717},[4576,18780,4742],{"class":4713},[4576,18782,18783,18785],{"class":4578,"line":16661},[4576,18784,7289],{"class":4713},[4576,18786,13023],{"class":4717},[4576,18788,18789,18791,18793,18795,18797],{"class":4578,"line":16670},[4576,18790,18556],{"class":4720},[4576,18792,4724],{"class":4586},[4576,18794,4727],{"class":4653},[4576,18796,13035],{"class":4590},[4576,18798,4801],{"class":4653},[4576,18800,18801,18803,18805],{"class":4578,"line":16679},[4576,18802,18569],{"class":4720},[4576,18804,4724],{"class":4586},[4576,18806,18807],{"class":4600},"\"email\"\n",[4576,18809,18810,18812,18814,18816,18818,18820,18822,18824,18826,18828,18830,18832,18834,18836],{"class":4578,"line":16688},[4576,18811,18578],{"class":4720},[4576,18813,4724],{"class":4586},[4576,18815,4727],{"class":4653},[4576,18817,7128],{"class":4733},[4576,18819,5104],{"class":4590},[4576,18821,13063],{"class":4733},[4576,18823,4075],{"class":4590},[4576,18825,3806],{"class":4733},[4576,18827,4287],{"class":4590},[4576,18829,3806],{"class":4733},[4576,18831,4282],{"class":4590},[4576,18833,13091],{"class":4733},[4576,18835,5537],{"class":4653},[4576,18837,4707],{"class":4733},[4576,18839,18840,18842],{"class":4578,"line":16697},[4576,18841,11387],{"class":4713},[4576,18843,4786],{"class":4717},[4576,18845,18846,18848,18850,18852,18854,18856,18858,18860,18862,18864,18866,18868,18870,18872,18874,18876,18878],{"class":4578,"line":16706},[4576,18847,18615],{"class":4720},[4576,18849,4724],{"class":4586},[4576,18851,4727],{"class":4653},[4576,18853,6261],{"class":4733},[4576,18855,4730],{"class":4590},[4576,18857,3857],{"class":4733},[4576,18859,4865],{"class":4590},[4576,18861,3806],{"class":4733},[4576,18863,14190],{"class":4590},[4576,18865,3857],{"class":4733},[4576,18867,4092],{"class":4590},[4576,18869,7229],{"class":4586},[4576,18871,4908],{"class":4590},[4576,18873,3857],{"class":4733},[4576,18875,18644],{"class":4590},[4576,18877,18647],{"class":4733},[4576,18879,4801],{"class":4653},[4576,18881,18882,18884,18886,18888,18890],{"class":4578,"line":16711},[4576,18883,18654],{"class":4720},[4576,18885,4724],{"class":4586},[4576,18887,4727],{"class":4653},[4576,18889,4282],{"class":4590},[4576,18891,4801],{"class":4653},[4576,18893,18894,18896,18898,18900,18902],{"class":4578,"line":16742},[4576,18895,18667],{"class":4720},[4576,18897,4724],{"class":4586},[4576,18899,4727],{"class":4653},[4576,18901,4075],{"class":4590},[4576,18903,4801],{"class":4653},[4576,18905,18906,18908,18910,18912,18914],{"class":4578,"line":16773},[4576,18907,18680],{"class":4720},[4576,18909,4724],{"class":4586},[4576,18911,4727],{"class":4653},[4576,18913,4287],{"class":4590},[4576,18915,4801],{"class":4653},[4576,18917,18918,18920,18922],{"class":4578,"line":16792},[4576,18919,18693],{"class":4720},[4576,18921,4724],{"class":4586},[4576,18923,6332],{"class":4600},[4576,18925,18927,18930,18932],{"class":4578,"line":18926},130,[4576,18928,18929],{"class":4720},"              keyboardType",[4576,18931,4724],{"class":4586},[4576,18933,5598],{"class":4600},[4576,18935,18937,18939,18941],{"class":4578,"line":18936},131,[4576,18938,18703],{"class":4720},[4576,18940,4724],{"class":4586},[4576,18942,5607],{"class":4600},[4576,18944,18946,18949,18951],{"class":4578,"line":18945},132,[4576,18947,18948],{"class":4720},"              autoCorrect",[4576,18950,4724],{"class":4586},[4576,18952,4848],{"class":4653},[4576,18954,18956,18958,18960],{"class":4578,"line":18955},133,[4576,18957,18712],{"class":4720},[4576,18959,4724],{"class":4586},[4576,18961,5513],{"class":4600},[4576,18963,18965],{"class":4578,"line":18964},134,[4576,18966,18721],{"class":4713},[4576,18968,18970,18972],{"class":4578,"line":18969},135,[4576,18971,18726],{"class":4733},[4576,18973,4801],{"class":4653},[4576,18975,18977],{"class":4578,"line":18976},136,[4576,18978,9349],{"class":4713},[4576,18980,18982,18984,18986,18988,18990,18992,18994,18996,18998,19000,19002,19004],{"class":4578,"line":18981},137,[4576,18983,7289],{"class":4713},[4576,18985,18739],{"class":4717},[4576,18987,18742],{"class":4720},[4576,18989,4724],{"class":4586},[4576,18991,4727],{"class":4653},[4576,18993,14190],{"class":4590},[4576,18995,3857],{"class":4733},[4576,18997,4092],{"class":4590},[4576,18999,5547],{"class":4733},[4576,19001,13210],{"class":4590},[4576,19003,4739],{"class":4653},[4576,19005,7302],{"class":4713},[4576,19007,19009],{"class":4578,"line":19008},138,[4576,19010,4644],{"emptyLinePlaceholder":4643},[4576,19012,19014,19016,19018,19020,19022,19024,19026],{"class":4578,"line":19013},139,[4576,19015,7289],{"class":4713},[4576,19017,18535],{"class":4717},[4576,19019,4768],{"class":4713},[4576,19021,17076],{"class":4586},[4576,19023,4774],{"class":4713},[4576,19025,18535],{"class":4717},[4576,19027,4742],{"class":4713},[4576,19029,19031,19033],{"class":4578,"line":19030},140,[4576,19032,7289],{"class":4713},[4576,19034,13023],{"class":4717},[4576,19036,19038,19040,19042,19044,19046],{"class":4578,"line":19037},141,[4576,19039,18556],{"class":4720},[4576,19041,4724],{"class":4586},[4576,19043,4727],{"class":4653},[4576,19045,13035],{"class":4590},[4576,19047,4801],{"class":4653},[4576,19049,19051,19053,19055],{"class":4578,"line":19050},142,[4576,19052,18569],{"class":4720},[4576,19054,4724],{"class":4586},[4576,19056,13852],{"class":4600},[4576,19058,19060,19062,19064,19066,19068,19070,19072,19074,19076,19078,19080,19082],{"class":4578,"line":19059},143,[4576,19061,18578],{"class":4720},[4576,19063,4724],{"class":4586},[4576,19065,4727],{"class":4653},[4576,19067,7128],{"class":4733},[4576,19069,5104],{"class":4590},[4576,19071,13063],{"class":4733},[4576,19073,4075],{"class":4590},[4576,19075,3806],{"class":4733},[4576,19077,4282],{"class":4590},[4576,19079,13091],{"class":4733},[4576,19081,5537],{"class":4653},[4576,19083,4707],{"class":4733},[4576,19085,19087,19089,19091,19093,19095,19097,19099,19101,19103,19106,19108,19110,19112,19115,19117,19119,19121,19123,19125,19127],{"class":4578,"line":19086},144,[4576,19088,11387],{"class":4713},[4576,19090,4628],{"class":4717},[4576,19092,4721],{"class":4720},[4576,19094,4724],{"class":4586},[4576,19096,4727],{"class":4653},[4576,19098,6261],{"class":4733},[4576,19100,4730],{"class":4590},[4576,19102,3857],{"class":4733},[4576,19104,19105],{"class":4590},"pickerWrap",[4576,19107,3806],{"class":4733},[4576,19109,14190],{"class":4590},[4576,19111,3857],{"class":4733},[4576,19113,19114],{"class":4590},"ticketType",[4576,19116,7229],{"class":4586},[4576,19118,4908],{"class":4590},[4576,19120,3857],{"class":4733},[4576,19122,18644],{"class":4590},[4576,19124,18647],{"class":4733},[4576,19126,4739],{"class":4653},[4576,19128,4742],{"class":4713},[4576,19130,19132,19135,19137,19139,19141,19143,19145,19147,19149,19151,19153,19155,19157],{"class":4578,"line":19131},145,[4576,19133,19134],{"class":4713},"              \u003C",[4576,19136,3818],{"class":4717},[4576,19138,13887],{"class":4720},[4576,19140,4724],{"class":4586},[4576,19142,4727],{"class":4653},[4576,19144,4282],{"class":4590},[4576,19146,4739],{"class":4653},[4576,19148,13551],{"class":4720},[4576,19150,4724],{"class":4586},[4576,19152,4727],{"class":4653},[4576,19154,4075],{"class":4590},[4576,19156,4739],{"class":4653},[4576,19158,4742],{"class":4713},[4576,19160,19162,19165,19168,19170,19172,19174,19177,19179,19181],{"class":4578,"line":19161},146,[4576,19163,19164],{"class":4653},"                {",[4576,19166,19167],{"class":4673},"TICKETS",[4576,19169,3857],{"class":4733},[4576,19171,11371],{"class":4657},[4576,19173,7962],{"class":4733},[4576,19175,19176],{"class":4590},"t",[4576,19178,7968],{"class":4733},[4576,19180,5537],{"class":4653},[4576,19182,4707],{"class":4733},[4576,19184,19186,19189,19191,19193,19195,19197,19199,19201,19203,19205,19207,19209,19211,19213,19215,19217,19219,19221,19223,19225,19227,19229,19231,19233],{"class":4578,"line":19185},147,[4576,19187,19188],{"class":4713},"                  \u003C",[4576,19190,11390],{"class":4717},[4576,19192,11393],{"class":4720},[4576,19194,4724],{"class":4586},[4576,19196,4727],{"class":4653},[4576,19198,19176],{"class":4590},[4576,19200,3857],{"class":4733},[4576,19202,4282],{"class":4590},[4576,19204,4739],{"class":4653},[4576,19206,11404],{"class":4720},[4576,19208,4724],{"class":4586},[4576,19210,4727],{"class":4653},[4576,19212,19176],{"class":4590},[4576,19214,3857],{"class":4733},[4576,19216,4763],{"class":4590},[4576,19218,4739],{"class":4653},[4576,19220,11415],{"class":4720},[4576,19222,4724],{"class":4586},[4576,19224,4727],{"class":4653},[4576,19226,19176],{"class":4590},[4576,19228,3857],{"class":4733},[4576,19230,4282],{"class":4590},[4576,19232,4739],{"class":4653},[4576,19234,7302],{"class":4713},[4576,19236,19238,19241],{"class":4578,"line":19237},148,[4576,19239,19240],{"class":4733},"                ))",[4576,19242,4801],{"class":4653},[4576,19244,19246,19249,19251],{"class":4578,"line":19245},149,[4576,19247,19248],{"class":4713},"              \u003C\u002F",[4576,19250,3818],{"class":4717},[4576,19252,4742],{"class":4713},[4576,19254,19256,19259,19261],{"class":4578,"line":19255},150,[4576,19257,19258],{"class":4713},"            \u003C\u002F",[4576,19260,4628],{"class":4717},[4576,19262,4742],{"class":4713},[4576,19264,19266,19268],{"class":4578,"line":19265},151,[4576,19267,18726],{"class":4733},[4576,19269,4801],{"class":4653},[4576,19271,19273],{"class":4578,"line":19272},152,[4576,19274,9349],{"class":4713},[4576,19276,19278,19280,19282,19284,19286,19288,19290,19292,19294,19296,19298,19300],{"class":4578,"line":19277},153,[4576,19279,7289],{"class":4713},[4576,19281,18739],{"class":4717},[4576,19283,18742],{"class":4720},[4576,19285,4724],{"class":4586},[4576,19287,4727],{"class":4653},[4576,19289,14190],{"class":4590},[4576,19291,3857],{"class":4733},[4576,19293,19114],{"class":4590},[4576,19295,5547],{"class":4733},[4576,19297,13210],{"class":4590},[4576,19299,4739],{"class":4653},[4576,19301,7302],{"class":4713},[4576,19303,19305],{"class":4578,"line":19304},154,[4576,19306,4644],{"emptyLinePlaceholder":4643},[4576,19308,19310,19312,19314,19316,19319,19321,19324,19326,19328,19330],{"class":4578,"line":19309},155,[4576,19311,7289],{"class":4713},[4576,19313,18535],{"class":4717},[4576,19315,4768],{"class":4713},[4576,19317,19318],{"class":4586},"Кількість місць: ",[4576,19320,4727],{"class":4653},[4576,19322,19323],{"class":4590},"seats",[4576,19325,4739],{"class":4653},[4576,19327,4774],{"class":4713},[4576,19329,18535],{"class":4717},[4576,19331,4742],{"class":4713},[4576,19333,19335,19337],{"class":4578,"line":19334},156,[4576,19336,7289],{"class":4713},[4576,19338,13023],{"class":4717},[4576,19340,19342,19344,19346,19348,19350],{"class":4578,"line":19341},157,[4576,19343,18556],{"class":4720},[4576,19345,4724],{"class":4586},[4576,19347,4727],{"class":4653},[4576,19349,13035],{"class":4590},[4576,19351,4801],{"class":4653},[4576,19353,19355,19357,19359],{"class":4578,"line":19354},158,[4576,19356,18569],{"class":4720},[4576,19358,4724],{"class":4586},[4576,19360,19361],{"class":4600},"\"seats\"\n",[4576,19363,19365,19367,19369,19371,19373,19375,19377,19379,19381,19383,19385,19387],{"class":4578,"line":19364},159,[4576,19366,18578],{"class":4720},[4576,19368,4724],{"class":4586},[4576,19370,4727],{"class":4653},[4576,19372,7128],{"class":4733},[4576,19374,5104],{"class":4590},[4576,19376,13063],{"class":4733},[4576,19378,4075],{"class":4590},[4576,19380,3806],{"class":4733},[4576,19382,4282],{"class":4590},[4576,19384,13091],{"class":4733},[4576,19386,5537],{"class":4653},[4576,19388,4707],{"class":4733},[4576,19390,19392,19394],{"class":4578,"line":19391},160,[4576,19393,11387],{"class":4713},[4576,19395,10554],{"class":4717},[4576,19397,19399,19402,19404,19406,19408],{"class":4578,"line":19398},161,[4576,19400,19401],{"class":4720},"              minimumValue",[4576,19403,4724],{"class":4586},[4576,19405,4727],{"class":4653},[4576,19407,10566],{"class":4935},[4576,19409,4801],{"class":4653},[4576,19411,19413,19416,19418,19420,19422],{"class":4578,"line":19412},162,[4576,19414,19415],{"class":4720},"              maximumValue",[4576,19417,4724],{"class":4586},[4576,19419,4727],{"class":4653},[4576,19421,15181],{"class":4935},[4576,19423,4801],{"class":4653},[4576,19425,19427,19430,19432,19434,19436],{"class":4578,"line":19426},163,[4576,19428,19429],{"class":4720},"              step",[4576,19431,4724],{"class":4586},[4576,19433,4727],{"class":4653},[4576,19435,10566],{"class":4935},[4576,19437,4801],{"class":4653},[4576,19439,19441,19443,19445,19447,19449],{"class":4578,"line":19440},164,[4576,19442,18654],{"class":4720},[4576,19444,4724],{"class":4586},[4576,19446,4727],{"class":4653},[4576,19448,4282],{"class":4590},[4576,19450,4801],{"class":4653},[4576,19452,19454,19457,19459,19461,19463],{"class":4578,"line":19453},165,[4576,19455,19456],{"class":4720},"              onValueChange",[4576,19458,4724],{"class":4586},[4576,19460,4727],{"class":4653},[4576,19462,4075],{"class":4590},[4576,19464,4801],{"class":4653},[4576,19466,19468,19471,19473],{"class":4578,"line":19467},166,[4576,19469,19470],{"class":4720},"              minimumTrackTintColor",[4576,19472,4724],{"class":4586},[4576,19474,10629],{"class":4600},[4576,19476,19478,19481,19483],{"class":4578,"line":19477},167,[4576,19479,19480],{"class":4720},"              maximumTrackTintColor",[4576,19482,4724],{"class":4586},[4576,19484,8603],{"class":4600},[4576,19486,19488,19491,19493],{"class":4578,"line":19487},168,[4576,19489,19490],{"class":4720},"              thumbTintColor",[4576,19492,4724],{"class":4586},[4576,19494,10629],{"class":4600},[4576,19496,19498],{"class":4578,"line":19497},169,[4576,19499,18721],{"class":4713},[4576,19501,19503,19505],{"class":4578,"line":19502},170,[4576,19504,18726],{"class":4733},[4576,19506,4801],{"class":4653},[4576,19508,19510],{"class":4578,"line":19509},171,[4576,19511,9349],{"class":4713},[4576,19513,19515,19517,19519,19521,19523,19525,19527,19529,19531,19533,19535,19537],{"class":4578,"line":19514},172,[4576,19516,7289],{"class":4713},[4576,19518,18739],{"class":4717},[4576,19520,18742],{"class":4720},[4576,19522,4724],{"class":4586},[4576,19524,4727],{"class":4653},[4576,19526,14190],{"class":4590},[4576,19528,3857],{"class":4733},[4576,19530,19323],{"class":4590},[4576,19532,5547],{"class":4733},[4576,19534,13210],{"class":4590},[4576,19536,4739],{"class":4653},[4576,19538,7302],{"class":4713},[4576,19540,19542],{"class":4578,"line":19541},173,[4576,19543,4644],{"emptyLinePlaceholder":4643},[4576,19545,19547,19549],{"class":4578,"line":19546},174,[4576,19548,7289],{"class":4713},[4576,19550,13023],{"class":4717},[4576,19552,19554,19556,19558,19560,19562],{"class":4578,"line":19553},175,[4576,19555,18556],{"class":4720},[4576,19557,4724],{"class":4586},[4576,19559,4727],{"class":4653},[4576,19561,13035],{"class":4590},[4576,19563,4801],{"class":4653},[4576,19565,19567,19569,19571],{"class":4578,"line":19566},176,[4576,19568,18569],{"class":4720},[4576,19570,4724],{"class":4586},[4576,19572,19573],{"class":4600},"\"remindMe\"\n",[4576,19575,19577,19579,19581,19583,19585,19587,19589,19591,19593,19595,19597,19599],{"class":4578,"line":19576},177,[4576,19578,18578],{"class":4720},[4576,19580,4724],{"class":4586},[4576,19582,4727],{"class":4653},[4576,19584,7128],{"class":4733},[4576,19586,5104],{"class":4590},[4576,19588,13063],{"class":4733},[4576,19590,4075],{"class":4590},[4576,19592,3806],{"class":4733},[4576,19594,4282],{"class":4590},[4576,19596,13091],{"class":4733},[4576,19598,5537],{"class":4653},[4576,19600,4707],{"class":4733},[4576,19602,19604,19606,19608,19610,19612,19614,19616,19618,19620,19622],{"class":4578,"line":19603},178,[4576,19605,11387],{"class":4713},[4576,19607,4628],{"class":4717},[4576,19609,4721],{"class":4720},[4576,19611,4724],{"class":4586},[4576,19613,4727],{"class":4653},[4576,19615,4730],{"class":4590},[4576,19617,3857],{"class":4733},[4576,19619,9121],{"class":4590},[4576,19621,4739],{"class":4653},[4576,19623,4742],{"class":4713},[4576,19625,19627,19629,19631,19633,19635,19637,19639,19641,19644,19646],{"class":4578,"line":19626},179,[4576,19628,19134],{"class":4713},[4576,19630,4628],{"class":4717},[4576,19632,4721],{"class":4720},[4576,19634,4724],{"class":4586},[4576,19636,4727],{"class":4653},[4576,19638,4730],{"class":4590},[4576,19640,3857],{"class":4733},[4576,19642,19643],{"class":4590},"rowText",[4576,19645,4739],{"class":4653},[4576,19647,4742],{"class":4713},[4576,19649,19651,19654,19656,19658,19660,19662,19664,19666,19669,19671,19673,19675,19677,19679],{"class":4578,"line":19650},180,[4576,19652,19653],{"class":4713},"                \u003C",[4576,19655,4619],{"class":4717},[4576,19657,4721],{"class":4720},[4576,19659,4724],{"class":4586},[4576,19661,4727],{"class":4653},[4576,19663,4730],{"class":4590},[4576,19665,3857],{"class":4733},[4576,19667,19668],{"class":4590},"rowTitle",[4576,19670,4739],{"class":4653},[4576,19672,4768],{"class":4713},[4576,19674,17085],{"class":4733},[4576,19676,4774],{"class":4713},[4576,19678,4619],{"class":4717},[4576,19680,4742],{"class":4713},[4576,19682,19684,19686,19688,19690,19692,19694,19696,19698,19700,19702],{"class":4578,"line":19683},181,[4576,19685,19653],{"class":4713},[4576,19687,4619],{"class":4717},[4576,19689,4721],{"class":4720},[4576,19691,4724],{"class":4586},[4576,19693,4727],{"class":4653},[4576,19695,4730],{"class":4590},[4576,19697,3857],{"class":4733},[4576,19699,6345],{"class":4590},[4576,19701,4739],{"class":4653},[4576,19703,4742],{"class":4713},[4576,19705,19707],{"class":4578,"line":19706},182,[4576,19708,19709],{"class":4733},"                  Switch: надіслати нагадування перед подією\n",[4576,19711,19713,19716,19718],{"class":4578,"line":19712},183,[4576,19714,19715],{"class":4713},"                \u003C\u002F",[4576,19717,4619],{"class":4717},[4576,19719,4742],{"class":4713},[4576,19721,19723,19725,19727],{"class":4578,"line":19722},184,[4576,19724,19248],{"class":4713},[4576,19726,4628],{"class":4717},[4576,19728,4742],{"class":4713},[4576,19730,19732,19734],{"class":4578,"line":19731},185,[4576,19733,19134],{"class":4713},[4576,19735,8530],{"class":4717},[4576,19737,19739,19742,19744,19746,19748],{"class":4578,"line":19738},186,[4576,19740,19741],{"class":4720},"                value",[4576,19743,4724],{"class":4586},[4576,19745,4727],{"class":4653},[4576,19747,4282],{"class":4590},[4576,19749,4801],{"class":4653},[4576,19751,19753,19756,19758,19760,19762],{"class":4578,"line":19752},187,[4576,19754,19755],{"class":4720},"                onValueChange",[4576,19757,4724],{"class":4586},[4576,19759,4727],{"class":4653},[4576,19761,4075],{"class":4590},[4576,19763,4801],{"class":4653},[4576,19765,19767,19770,19772,19774,19776,19778,19780,19782,19784,19786,19788],{"class":4578,"line":19766},188,[4576,19768,19769],{"class":4720},"                trackColor",[4576,19771,4724],{"class":4586},[4576,19773,4727],{"class":4653},[4576,19775,6092],{"class":4733},[4576,19777,8569],{"class":4590},[4576,19779,8572],{"class":4600},[4576,19781,3806],{"class":4733},[4576,19783,8577],{"class":4590},[4576,19785,7404],{"class":4600},[4576,19787,6107],{"class":4733},[4576,19789,4801],{"class":4653},[4576,19791,19793,19796,19798],{"class":4578,"line":19792},189,[4576,19794,19795],{"class":4720},"                thumbColor",[4576,19797,4724],{"class":4586},[4576,19799,8593],{"class":4600},[4576,19801,19803],{"class":4578,"line":19802},190,[4576,19804,19805],{"class":4713},"              \u002F>\n",[4576,19807,19809,19811,19813],{"class":4578,"line":19808},191,[4576,19810,19258],{"class":4713},[4576,19812,4628],{"class":4717},[4576,19814,4742],{"class":4713},[4576,19816,19818,19820],{"class":4578,"line":19817},192,[4576,19819,18726],{"class":4733},[4576,19821,4801],{"class":4653},[4576,19823,19825],{"class":4578,"line":19824},193,[4576,19826,9349],{"class":4713},[4576,19828,19830],{"class":4578,"line":19829},194,[4576,19831,4644],{"emptyLinePlaceholder":4643},[4576,19833,19835,19837],{"class":4578,"line":19834},195,[4576,19836,7289],{"class":4713},[4576,19838,13023],{"class":4717},[4576,19840,19842,19844,19846,19848,19850],{"class":4578,"line":19841},196,[4576,19843,18556],{"class":4720},[4576,19845,4724],{"class":4586},[4576,19847,4727],{"class":4653},[4576,19849,13035],{"class":4590},[4576,19851,4801],{"class":4653},[4576,19853,19855,19857,19859],{"class":4578,"line":19854},197,[4576,19856,18569],{"class":4720},[4576,19858,4724],{"class":4586},[4576,19860,19861],{"class":4600},"\"acceptedRules\"\n",[4576,19863,19865,19867,19869,19871,19873,19875,19877,19879,19881,19883,19885,19887],{"class":4578,"line":19864},198,[4576,19866,18578],{"class":4720},[4576,19868,4724],{"class":4586},[4576,19870,4727],{"class":4653},[4576,19872,7128],{"class":4733},[4576,19874,5104],{"class":4590},[4576,19876,13063],{"class":4733},[4576,19878,4075],{"class":4590},[4576,19880,3806],{"class":4733},[4576,19882,4282],{"class":4590},[4576,19884,13091],{"class":4733},[4576,19886,5537],{"class":4653},[4576,19888,4707],{"class":4733},[4576,19890,19892,19894,19896,19898,19900,19902,19904,19906,19908,19910],{"class":4578,"line":19891},199,[4576,19893,11387],{"class":4713},[4576,19895,4628],{"class":4717},[4576,19897,4721],{"class":4720},[4576,19899,4724],{"class":4586},[4576,19901,4727],{"class":4653},[4576,19903,4730],{"class":4590},[4576,19905,3857],{"class":4733},[4576,19907,9121],{"class":4590},[4576,19909,4739],{"class":4653},[4576,19911,4742],{"class":4713},[4576,19913,19915,19917,19919,19921,19923,19925,19927,19929,19931,19933],{"class":4578,"line":19914},200,[4576,19916,19134],{"class":4713},[4576,19918,4628],{"class":4717},[4576,19920,4721],{"class":4720},[4576,19922,4724],{"class":4586},[4576,19924,4727],{"class":4653},[4576,19926,4730],{"class":4590},[4576,19928,3857],{"class":4733},[4576,19930,19643],{"class":4590},[4576,19932,4739],{"class":4653},[4576,19934,4742],{"class":4713},[4576,19936,19938,19940,19942,19944,19946,19948,19950,19952,19954,19956,19958,19960,19962,19964],{"class":4578,"line":19937},201,[4576,19939,19653],{"class":4713},[4576,19941,4619],{"class":4717},[4576,19943,4721],{"class":4720},[4576,19945,4724],{"class":4586},[4576,19947,4727],{"class":4653},[4576,19949,4730],{"class":4590},[4576,19951,3857],{"class":4733},[4576,19953,19668],{"class":4590},[4576,19955,4739],{"class":4653},[4576,19957,4768],{"class":4713},[4576,19959,17094],{"class":4733},[4576,19961,4774],{"class":4713},[4576,19963,4619],{"class":4717},[4576,19965,4742],{"class":4713},[4576,19967,19969,19971,19973,19975,19977,19979,19981,19983,19985,19987],{"class":4578,"line":19968},202,[4576,19970,19653],{"class":4713},[4576,19972,4619],{"class":4717},[4576,19974,4721],{"class":4720},[4576,19976,4724],{"class":4586},[4576,19978,4727],{"class":4653},[4576,19980,4730],{"class":4590},[4576,19982,3857],{"class":4733},[4576,19984,6345],{"class":4590},[4576,19986,4739],{"class":4653},[4576,19988,4742],{"class":4713},[4576,19990,19992],{"class":4578,"line":19991},203,[4576,19993,19994],{"class":4733},"                  Обов’язкова галочка (без неї submit не пройде)\n",[4576,19996,19998,20000,20002],{"class":4578,"line":19997},204,[4576,19999,19715],{"class":4713},[4576,20001,4619],{"class":4717},[4576,20003,4742],{"class":4713},[4576,20005,20007,20009,20011],{"class":4578,"line":20006},205,[4576,20008,19248],{"class":4713},[4576,20010,4628],{"class":4717},[4576,20012,4742],{"class":4713},[4576,20014,20016,20018],{"class":4578,"line":20015},206,[4576,20017,19134],{"class":4713},[4576,20019,9750],{"class":4717},[4576,20021,20023,20025,20027,20029,20032,20034,20036,20038],{"class":4578,"line":20022},207,[4576,20024,19741],{"class":4720},[4576,20026,4724],{"class":4586},[4576,20028,4727],{"class":4653},[4576,20030,20031],{"class":4657},"Boolean",[4576,20033,4687],{"class":4733},[4576,20035,4282],{"class":4590},[4576,20037,5723],{"class":4733},[4576,20039,4801],{"class":4653},[4576,20041,20043,20045,20047,20049,20051],{"class":4578,"line":20042},208,[4576,20044,19755],{"class":4720},[4576,20046,4724],{"class":4586},[4576,20048,4727],{"class":4653},[4576,20050,4075],{"class":4590},[4576,20052,4801],{"class":4653},[4576,20054,20056,20059,20061,20063,20065,20067,20069,20071,20073,20075,20077],{"class":4578,"line":20055},209,[4576,20057,20058],{"class":4720},"                tintColors",[4576,20060,4724],{"class":4586},[4576,20062,4727],{"class":4653},[4576,20064,6092],{"class":4733},[4576,20066,8577],{"class":4590},[4576,20068,7404],{"class":4600},[4576,20070,3806],{"class":4733},[4576,20072,8569],{"class":4590},[4576,20074,7495],{"class":4600},[4576,20076,6107],{"class":4733},[4576,20078,4801],{"class":4653},[4576,20080,20082,20085,20087],{"class":4578,"line":20081},210,[4576,20083,20084],{"class":4720},"                onCheckColor",[4576,20086,4724],{"class":4586},[4576,20088,8593],{"class":4600},[4576,20090,20092,20095,20097],{"class":4578,"line":20091},211,[4576,20093,20094],{"class":4720},"                onFillColor",[4576,20096,4724],{"class":4586},[4576,20098,10629],{"class":4600},[4576,20100,20102,20105,20107],{"class":4578,"line":20101},212,[4576,20103,20104],{"class":4720},"                onTintColor",[4576,20106,4724],{"class":4586},[4576,20108,10629],{"class":4600},[4576,20110,20112,20115,20117],{"class":4578,"line":20111},213,[4576,20113,20114],{"class":4720},"                boxType",[4576,20116,4724],{"class":4586},[4576,20118,9784],{"class":4600},[4576,20120,20122],{"class":4578,"line":20121},214,[4576,20123,19805],{"class":4713},[4576,20125,20127,20129,20131],{"class":4578,"line":20126},215,[4576,20128,19258],{"class":4713},[4576,20130,4628],{"class":4717},[4576,20132,4742],{"class":4713},[4576,20134,20136,20138],{"class":4578,"line":20135},216,[4576,20137,18726],{"class":4733},[4576,20139,4801],{"class":4653},[4576,20141,20143],{"class":4578,"line":20142},217,[4576,20144,9349],{"class":4713},[4576,20146,20148,20150,20152,20154,20156,20158,20160,20162,20165,20167,20169,20171],{"class":4578,"line":20147},218,[4576,20149,7289],{"class":4713},[4576,20151,18739],{"class":4717},[4576,20153,18742],{"class":4720},[4576,20155,4724],{"class":4586},[4576,20157,4727],{"class":4653},[4576,20159,14190],{"class":4590},[4576,20161,3857],{"class":4733},[4576,20163,20164],{"class":4590},"acceptedRules",[4576,20166,5547],{"class":4733},[4576,20168,13210],{"class":4590},[4576,20170,4739],{"class":4653},[4576,20172,7302],{"class":4713},[4576,20174,20176],{"class":4578,"line":20175},219,[4576,20177,4644],{"emptyLinePlaceholder":4643},[4576,20179,20181,20183,20185,20187,20190,20192,20194],{"class":4578,"line":20180},220,[4576,20182,7289],{"class":4713},[4576,20184,18535],{"class":4717},[4576,20186,4768],{"class":4713},[4576,20188,20189],{"class":4586},"Коментар (необов’язково)",[4576,20191,4774],{"class":4713},[4576,20193,18535],{"class":4717},[4576,20195,4742],{"class":4713},[4576,20197,20199,20201],{"class":4578,"line":20198},221,[4576,20200,7289],{"class":4713},[4576,20202,13023],{"class":4717},[4576,20204,20206,20208,20210,20212,20214],{"class":4578,"line":20205},222,[4576,20207,18556],{"class":4720},[4576,20209,4724],{"class":4586},[4576,20211,4727],{"class":4653},[4576,20213,13035],{"class":4590},[4576,20215,4801],{"class":4653},[4576,20217,20219,20221,20223],{"class":4578,"line":20218},223,[4576,20220,18569],{"class":4720},[4576,20222,4724],{"class":4586},[4576,20224,20225],{"class":4600},"\"note\"\n",[4576,20227,20229,20231,20233,20235,20237,20239,20241,20243,20245,20247,20249,20251,20253,20255],{"class":4578,"line":20228},224,[4576,20230,18578],{"class":4720},[4576,20232,4724],{"class":4586},[4576,20234,4727],{"class":4653},[4576,20236,7128],{"class":4733},[4576,20238,5104],{"class":4590},[4576,20240,13063],{"class":4733},[4576,20242,4075],{"class":4590},[4576,20244,3806],{"class":4733},[4576,20246,4287],{"class":4590},[4576,20248,3806],{"class":4733},[4576,20250,4282],{"class":4590},[4576,20252,13091],{"class":4733},[4576,20254,5537],{"class":4653},[4576,20256,4707],{"class":4733},[4576,20258,20260,20262],{"class":4578,"line":20259},225,[4576,20261,11387],{"class":4713},[4576,20263,4786],{"class":4717},[4576,20265,20267,20269,20271,20273,20275,20277,20279,20281,20283,20285,20287,20289,20291,20293,20295,20297,20299,20301,20303,20305,20307],{"class":4578,"line":20266},226,[4576,20268,18615],{"class":4720},[4576,20270,4724],{"class":4586},[4576,20272,4727],{"class":4653},[4576,20274,6261],{"class":4733},[4576,20276,4730],{"class":4590},[4576,20278,3857],{"class":4733},[4576,20280,4865],{"class":4590},[4576,20282,3806],{"class":4733},[4576,20284,4730],{"class":4590},[4576,20286,3857],{"class":4733},[4576,20288,6730],{"class":4590},[4576,20290,3806],{"class":4733},[4576,20292,14190],{"class":4590},[4576,20294,3857],{"class":4733},[4576,20296,6048],{"class":4590},[4576,20298,7229],{"class":4586},[4576,20300,4908],{"class":4590},[4576,20302,3857],{"class":4733},[4576,20304,18644],{"class":4590},[4576,20306,18647],{"class":4733},[4576,20308,4801],{"class":4653},[4576,20310,20312,20314,20316,20318,20320],{"class":4578,"line":20311},227,[4576,20313,18654],{"class":4720},[4576,20315,4724],{"class":4586},[4576,20317,4727],{"class":4653},[4576,20319,4282],{"class":4590},[4576,20321,4801],{"class":4653},[4576,20323,20325,20327,20329,20331,20333],{"class":4578,"line":20324},228,[4576,20326,18667],{"class":4720},[4576,20328,4724],{"class":4586},[4576,20330,4727],{"class":4653},[4576,20332,4075],{"class":4590},[4576,20334,4801],{"class":4653},[4576,20336,20338,20340,20342,20344,20346],{"class":4578,"line":20337},229,[4576,20339,18680],{"class":4720},[4576,20341,4724],{"class":4586},[4576,20343,4727],{"class":4653},[4576,20345,4287],{"class":4590},[4576,20347,4801],{"class":4653},[4576,20349,20351,20353,20355],{"class":4578,"line":20350},230,[4576,20352,18693],{"class":4720},[4576,20354,4724],{"class":4586},[4576,20356,20357],{"class":4600},"\"Алергії, побажання до місця…\"\n",[4576,20359,20361],{"class":4578,"line":20360},231,[4576,20362,20363],{"class":4720},"              multiline\n",[4576,20365,20367,20370,20372],{"class":4578,"line":20366},232,[4576,20368,20369],{"class":4720},"              textAlignVertical",[4576,20371,4724],{"class":4586},[4576,20373,6696],{"class":4600},[4576,20375,20377,20380,20382,20384,20386],{"class":4578,"line":20376},233,[4576,20378,20379],{"class":4720},"              maxLength",[4576,20381,4724],{"class":4586},[4576,20383,4727],{"class":4653},[4576,20385,17803],{"class":4935},[4576,20387,4801],{"class":4653},[4576,20389,20391],{"class":4578,"line":20390},234,[4576,20392,18721],{"class":4713},[4576,20394,20396,20398],{"class":4578,"line":20395},235,[4576,20397,18726],{"class":4733},[4576,20399,4801],{"class":4653},[4576,20401,20403],{"class":4578,"line":20402},236,[4576,20404,9349],{"class":4713},[4576,20406,20408,20410,20412,20414,20416,20418,20420,20422,20424,20426,20428,20430],{"class":4578,"line":20407},237,[4576,20409,7289],{"class":4713},[4576,20411,18739],{"class":4717},[4576,20413,18742],{"class":4720},[4576,20415,4724],{"class":4586},[4576,20417,4727],{"class":4653},[4576,20419,14190],{"class":4590},[4576,20421,3857],{"class":4733},[4576,20423,6048],{"class":4590},[4576,20425,5547],{"class":4733},[4576,20427,13210],{"class":4590},[4576,20429,4739],{"class":4653},[4576,20431,7302],{"class":4713},[4576,20433,20435],{"class":4578,"line":20434},238,[4576,20436,4644],{"emptyLinePlaceholder":4643},[4576,20438,20440,20442,20444,20446,20448,20450,20452,20454,20456,20458,20460,20462,20464,20466,20468,20470,20472,20474],{"class":4578,"line":20439},239,[4576,20441,7289],{"class":4713},[4576,20443,3947],{"class":4717},[4576,20445,4721],{"class":4720},[4576,20447,4724],{"class":4586},[4576,20449,4727],{"class":4653},[4576,20451,4730],{"class":4590},[4576,20453,3857],{"class":4733},[4576,20455,8009],{"class":4590},[4576,20457,4739],{"class":4653},[4576,20459,16453],{"class":4720},[4576,20461,4724],{"class":4586},[4576,20463,4727],{"class":4653},[4576,20465,4176],{"class":4657},[4576,20467,4687],{"class":4733},[4576,20469,18109],{"class":4590},[4576,20471,5723],{"class":4733},[4576,20473,4739],{"class":4653},[4576,20475,4742],{"class":4713},[4576,20477,20479,20481,20483,20485,20487,20489,20491,20493,20495,20497,20499,20502,20504,20506],{"class":4578,"line":20478},240,[4576,20480,9168],{"class":4713},[4576,20482,4619],{"class":4717},[4576,20484,4721],{"class":4720},[4576,20486,4724],{"class":4586},[4576,20488,4727],{"class":4653},[4576,20490,4730],{"class":4590},[4576,20492,3857],{"class":4733},[4576,20494,8067],{"class":4590},[4576,20496,4739],{"class":4653},[4576,20498,4768],{"class":4713},[4576,20500,20501],{"class":4586},"Зареєструватись",[4576,20503,4774],{"class":4713},[4576,20505,4619],{"class":4717},[4576,20507,4742],{"class":4713},[4576,20509,20511,20513,20515],{"class":4578,"line":20510},241,[4576,20512,9273],{"class":4713},[4576,20514,3947],{"class":4717},[4576,20516,4742],{"class":4713},[4576,20518,20520,20522,20524],{"class":4578,"line":20519},242,[4576,20521,6238],{"class":4713},[4576,20523,3853],{"class":4717},[4576,20525,4742],{"class":4713},[4576,20527,20529,20531,20533],{"class":4578,"line":20528},243,[4576,20530,4879],{"class":4713},[4576,20532,3849],{"class":4717},[4576,20534,4742],{"class":4713},[4576,20536,20538],{"class":4578,"line":20537},244,[4576,20539,4889],{"class":4586},[4576,20541,20543],{"class":4578,"line":20542},245,[4576,20544,4801],{"class":4586},[4576,20546,20548],{"class":4578,"line":20547},246,[4576,20549,4644],{"emptyLinePlaceholder":4643},[4576,20551,20553,20555,20558],{"class":4578,"line":20552},247,[4576,20554,17946],{"class":4653},[4576,20556,20557],{"class":4657}," SuccessScreen",[4576,20559,4921],{"class":4586},[4576,20561,20563,20566],{"class":4578,"line":20562},248,[4576,20564,20565],{"class":4590},"  data",[4576,20567,4992],{"class":4586},[4576,20569,20571,20574],{"class":4578,"line":20570},249,[4576,20572,20573],{"class":4590},"  onAgain",[4576,20575,4992],{"class":4586},[4576,20577,20579],{"class":4578,"line":20578},250,[4576,20580,20581],{"class":4586},"}: {\n",[4576,20583,20585,20587,20589,20591],{"class":4578,"line":20584},251,[4576,20586,20565],{"class":4590},[4576,20588,7093],{"class":4586},[4576,20590,17893],{"class":4717},[4576,20592,4604],{"class":4586},[4576,20594,20596,20598,20600,20602,20604],{"class":4578,"line":20595},252,[4576,20597,20573],{"class":4657},[4576,20599,7078],{"class":4586},[4576,20601,5537],{"class":4653},[4576,20603,7083],{"class":4717},[4576,20605,4604],{"class":4586},[4576,20607,20609],{"class":4578,"line":20608},253,[4576,20610,20611],{"class":4586},"}) {\n",[4576,20613,20615,20617],{"class":4578,"line":20614},254,[4576,20616,4704],{"class":4582},[4576,20618,4707],{"class":4586},[4576,20620,20622,20624,20626,20628,20630,20632,20634,20636,20638,20640],{"class":4578,"line":20621},255,[4576,20623,4714],{"class":4713},[4576,20625,4628],{"class":4717},[4576,20627,4721],{"class":4720},[4576,20629,4724],{"class":4586},[4576,20631,4727],{"class":4653},[4576,20633,4730],{"class":4590},[4576,20635,3857],{"class":4733},[4576,20637,15306],{"class":4590},[4576,20639,4739],{"class":4653},[4576,20641,4742],{"class":4713},[4576,20643,20645,20647,20649,20651,20653,20655,20657,20659,20661,20663,20665,20668,20670,20672],{"class":4578,"line":20644},256,[4576,20646,4748],{"class":4713},[4576,20648,4619],{"class":4717},[4576,20650,4721],{"class":4720},[4576,20652,4724],{"class":4586},[4576,20654,4727],{"class":4653},[4576,20656,4730],{"class":4590},[4576,20658,3857],{"class":4733},[4576,20660,7140],{"class":4590},[4576,20662,4739],{"class":4653},[4576,20664,4768],{"class":4713},[4576,20666,20667],{"class":4586},"Ви зареєстровані",[4576,20669,4774],{"class":4713},[4576,20671,4619],{"class":4717},[4576,20673,4742],{"class":4713},[4576,20675,20677,20679,20681,20683,20685,20687,20689,20691,20693,20695,20697,20699,20701,20703,20705,20707,20709,20711],{"class":4578,"line":20676},257,[4576,20678,4748],{"class":4713},[4576,20680,4619],{"class":4717},[4576,20682,4721],{"class":4720},[4576,20684,4724],{"class":4586},[4576,20686,4727],{"class":4653},[4576,20688,4730],{"class":4590},[4576,20690,3857],{"class":4733},[4576,20692,6345],{"class":4590},[4576,20694,4739],{"class":4653},[4576,20696,4768],{"class":4713},[4576,20698,4727],{"class":4653},[4576,20700,14317],{"class":4590},[4576,20702,3857],{"class":4733},[4576,20704,4674],{"class":4590},[4576,20706,4739],{"class":4653},[4576,20708,4774],{"class":4713},[4576,20710,4619],{"class":4717},[4576,20712,4742],{"class":4713},[4576,20714,20716,20718,20720,20722,20724,20726,20728,20730,20732,20734,20736,20738,20740,20742,20744,20746,20748,20750],{"class":4578,"line":20715},258,[4576,20717,4748],{"class":4713},[4576,20719,4619],{"class":4717},[4576,20721,4721],{"class":4720},[4576,20723,4724],{"class":4586},[4576,20725,4727],{"class":4653},[4576,20727,4730],{"class":4590},[4576,20729,3857],{"class":4733},[4576,20731,6345],{"class":4590},[4576,20733,4739],{"class":4653},[4576,20735,4768],{"class":4713},[4576,20737,4727],{"class":4653},[4576,20739,14317],{"class":4590},[4576,20741,3857],{"class":4733},[4576,20743,4092],{"class":4590},[4576,20745,4739],{"class":4653},[4576,20747,4774],{"class":4713},[4576,20749,4619],{"class":4717},[4576,20751,4742],{"class":4713},[4576,20753,20755,20757,20759,20761,20763,20765,20767,20769,20772,20774],{"class":4578,"line":20754},259,[4576,20756,4748],{"class":4713},[4576,20758,4619],{"class":4717},[4576,20760,4721],{"class":4720},[4576,20762,4724],{"class":4586},[4576,20764,4727],{"class":4653},[4576,20766,4730],{"class":4590},[4576,20768,3857],{"class":4733},[4576,20770,20771],{"class":4590},"summary",[4576,20773,4739],{"class":4653},[4576,20775,4742],{"class":4713},[4576,20777,20779,20782,20784,20787,20789,20791,20793,20795,20797,20799,20802,20804,20806,20808,20810],{"class":4578,"line":20778},260,[4576,20780,20781],{"class":4586},"        Квиток: ",[4576,20783,4727],{"class":4653},[4576,20785,20786],{"class":4590},"ticketLabel",[4576,20788,6261],{"class":4733},[4576,20790,14317],{"class":4590},[4576,20792,3857],{"class":4733},[4576,20794,19114],{"class":4590},[4576,20796,18647],{"class":4733},[4576,20798,4739],{"class":4653},[4576,20800,20801],{"class":4586}," · місць: ",[4576,20803,4727],{"class":4653},[4576,20805,14317],{"class":4590},[4576,20807,3857],{"class":4733},[4576,20809,19323],{"class":4590},[4576,20811,4801],{"class":4653},[4576,20813,20815,20817,20819],{"class":4578,"line":20814},261,[4576,20816,6238],{"class":4713},[4576,20818,4619],{"class":4717},[4576,20820,4742],{"class":4713},[4576,20822,20824,20826,20828,20830,20832,20834,20836,20838,20840,20842],{"class":4578,"line":20823},262,[4576,20825,4748],{"class":4713},[4576,20827,4619],{"class":4717},[4576,20829,4721],{"class":4720},[4576,20831,4724],{"class":4586},[4576,20833,4727],{"class":4653},[4576,20835,4730],{"class":4590},[4576,20837,3857],{"class":4733},[4576,20839,20771],{"class":4590},[4576,20841,4739],{"class":4653},[4576,20843,4742],{"class":4713},[4576,20845,20847,20850,20852,20854,20856,20859,20861,20864,20866,20869],{"class":4578,"line":20846},263,[4576,20848,20849],{"class":4586},"        Нагадування: ",[4576,20851,4727],{"class":4653},[4576,20853,14317],{"class":4590},[4576,20855,3857],{"class":4733},[4576,20857,20858],{"class":4590},"remindMe",[4576,20860,7282],{"class":4586},[4576,20862,20863],{"class":4600}," 'так'",[4576,20865,8033],{"class":4586},[4576,20867,20868],{"class":4600}," 'ні'",[4576,20870,4801],{"class":4653},[4576,20872,20874,20876,20878],{"class":4578,"line":20873},264,[4576,20875,6238],{"class":4713},[4576,20877,4619],{"class":4717},[4576,20879,4742],{"class":4713},[4576,20881,20883,20885,20887,20889,20891,20893],{"class":4578,"line":20882},265,[4576,20884,7277],{"class":4653},[4576,20886,14317],{"class":4590},[4576,20888,3857],{"class":4733},[4576,20890,6048],{"class":4590},[4576,20892,7282],{"class":4586},[4576,20894,4707],{"class":4733},[4576,20896,20898,20900,20902,20904,20906,20908,20910,20912,20914,20916,20918,20920,20922,20924,20926,20928,20930,20932,20934,20936,20938,20940,20942],{"class":4578,"line":20897},266,[4576,20899,7289],{"class":4713},[4576,20901,4619],{"class":4717},[4576,20903,4721],{"class":4720},[4576,20905,4724],{"class":4586},[4576,20907,4727],{"class":4653},[4576,20909,6261],{"class":4733},[4576,20911,4730],{"class":4590},[4576,20913,3857],{"class":4733},[4576,20915,6345],{"class":4590},[4576,20917,6270],{"class":4733},[4576,20919,8751],{"class":4590},[4576,20921,9915],{"class":4935},[4576,20923,6277],{"class":4733},[4576,20925,4739],{"class":4653},[4576,20927,4768],{"class":4713},[4576,20929,4727],{"class":4653},[4576,20931,14317],{"class":4590},[4576,20933,3857],{"class":4733},[4576,20935,6048],{"class":4590},[4576,20937,4739],{"class":4653},[4576,20939,4774],{"class":4713},[4576,20941,4619],{"class":4717},[4576,20943,4742],{"class":4713},[4576,20945,20947,20949,20951],{"class":4578,"line":20946},267,[4576,20948,7307],{"class":4733},[4576,20950,6978],{"class":4586},[4576,20952,16009],{"class":4653},[4576,20954,20956,20958,20960,20962,20964,20966,20968,20970,20972,20974,20976,20978,20981,20983,20985,20987,20989,20991,20994,20996],{"class":4578,"line":20955},268,[4576,20957,4748],{"class":4713},[4576,20959,3947],{"class":4717},[4576,20961,4721],{"class":4720},[4576,20963,4724],{"class":4586},[4576,20965,4727],{"class":4653},[4576,20967,6261],{"class":4733},[4576,20969,4730],{"class":4590},[4576,20971,3857],{"class":4733},[4576,20973,8009],{"class":4590},[4576,20975,6270],{"class":4733},[4576,20977,8751],{"class":4590},[4576,20979,20980],{"class":4935}," 24",[4576,20982,6277],{"class":4733},[4576,20984,4739],{"class":4653},[4576,20986,16453],{"class":4720},[4576,20988,4724],{"class":4586},[4576,20990,4727],{"class":4653},[4576,20992,20993],{"class":4590},"onAgain",[4576,20995,4739],{"class":4653},[4576,20997,4742],{"class":4713},[4576,20999,21001,21003,21005,21007,21009,21011,21013,21015,21017,21019,21021,21023,21025,21027],{"class":4578,"line":21000},269,[4576,21002,7289],{"class":4713},[4576,21004,4619],{"class":4717},[4576,21006,4721],{"class":4720},[4576,21008,4724],{"class":4586},[4576,21010,4727],{"class":4653},[4576,21012,4730],{"class":4590},[4576,21014,3857],{"class":4733},[4576,21016,8067],{"class":4590},[4576,21018,4739],{"class":4653},[4576,21020,4768],{"class":4713},[4576,21022,15548],{"class":4586},[4576,21024,4774],{"class":4713},[4576,21026,4619],{"class":4717},[4576,21028,4742],{"class":4713},[4576,21030,21032,21034,21036],{"class":4578,"line":21031},270,[4576,21033,6238],{"class":4713},[4576,21035,3947],{"class":4717},[4576,21037,4742],{"class":4713},[4576,21039,21041,21043,21045],{"class":4578,"line":21040},271,[4576,21042,4879],{"class":4713},[4576,21044,4628],{"class":4717},[4576,21046,4742],{"class":4713},[4576,21048,21050],{"class":4578,"line":21049},272,[4576,21051,4889],{"class":4586},[4576,21053,21055],{"class":4578,"line":21054},273,[4576,21056,4801],{"class":4586},[4576,21058,21060],{"class":4578,"line":21059},274,[4576,21061,4644],{"emptyLinePlaceholder":4643},[4576,21063,21065,21067,21069,21071,21073],{"class":4578,"line":21064},275,[4576,21066,4650],{"class":4582},[4576,21068,5843],{"class":4582},[4576,21070,4654],{"class":4653},[4576,21072,5848],{"class":4657},[4576,21074,4661],{"class":4586},[4576,21076,21078,21080,21082,21084,21086,21088,21090,21092,21094,21096,21099,21101,21103,21105],{"class":4578,"line":21077},276,[4576,21079,4667],{"class":4653},[4576,21081,4670],{"class":4586},[4576,21083,5310],{"class":4673},[4576,21085,3806],{"class":4586},[4576,21087,15065],{"class":4673},[4576,21089,4682],{"class":4586},[4576,21091,4591],{"class":4657},[4576,21093,5439],{"class":4586},[4576,21095,17893],{"class":4717},[4576,21097,21098],{"class":4586}," | ",[4576,21100,5447],{"class":4717},[4576,21102,5444],{"class":4586},[4576,21104,5447],{"class":4653},[4576,21106,4693],{"class":4586},[4576,21108,21110],{"class":4578,"line":21109},277,[4576,21111,4644],{"emptyLinePlaceholder":4643},[4576,21113,21115,21117],{"class":4578,"line":21114},278,[4576,21116,4704],{"class":4582},[4576,21118,4707],{"class":4586},[4576,21120,21122,21124,21126],{"class":4578,"line":21121},279,[4576,21123,4714],{"class":4713},[4576,21125,17126],{"class":4717},[4576,21127,4742],{"class":4713},[4576,21129,21131,21133,21135,21137,21139,21141,21143,21145,21148,21150],{"class":4578,"line":21130},280,[4576,21132,4748],{"class":4713},[4576,21134,17392],{"class":4717},[4576,21136,4721],{"class":4720},[4576,21138,4724],{"class":4586},[4576,21140,4727],{"class":4653},[4576,21142,4730],{"class":4590},[4576,21144,3857],{"class":4733},[4576,21146,21147],{"class":4590},"safe",[4576,21149,4739],{"class":4653},[4576,21151,4742],{"class":4713},[4576,21153,21155,21157,21159,21161],{"class":4578,"line":21154},281,[4576,21156,15958],{"class":4653},[4576,21158,5310],{"class":4590},[4576,21160,7282],{"class":4586},[4576,21162,4707],{"class":4733},[4576,21164,21166,21168,21171,21174,21176,21178,21180,21182,21185,21187,21189,21191,21193,21196,21198,21200,21202,21204],{"class":4578,"line":21165},282,[4576,21167,9168],{"class":4713},[4576,21169,21170],{"class":4717},"SuccessScreen",[4576,21172,21173],{"class":4720}," data",[4576,21175,4724],{"class":4586},[4576,21177,4727],{"class":4653},[4576,21179,5310],{"class":4590},[4576,21181,4739],{"class":4653},[4576,21183,21184],{"class":4720}," onAgain",[4576,21186,4724],{"class":4586},[4576,21188,4727],{"class":4653},[4576,21190,5534],{"class":4733},[4576,21192,5537],{"class":4653},[4576,21194,21195],{"class":4657}," setDone",[4576,21197,4687],{"class":4733},[4576,21199,5447],{"class":4653},[4576,21201,5723],{"class":4733},[4576,21203,4739],{"class":4653},[4576,21205,7302],{"class":4713},[4576,21207,21209,21212,21214],{"class":4578,"line":21208},283,[4576,21210,21211],{"class":4733},"        ) ",[4576,21213,6978],{"class":4586},[4576,21215,4707],{"class":4733},[4576,21217,21219,21221,21224,21227,21229,21231,21233,21235,21237,21239,21241,21243,21245,21247,21249],{"class":4578,"line":21218},284,[4576,21220,9168],{"class":4713},[4576,21222,21223],{"class":4717},"SignupForm",[4576,21225,21226],{"class":4720}," onSuccess",[4576,21228,4724],{"class":4586},[4576,21230,4727],{"class":4653},[4576,21232,4687],{"class":4733},[4576,21234,14317],{"class":4590},[4576,21236,7968],{"class":4733},[4576,21238,5537],{"class":4653},[4576,21240,21195],{"class":4657},[4576,21242,4687],{"class":4733},[4576,21244,14317],{"class":4590},[4576,21246,5723],{"class":4733},[4576,21248,4739],{"class":4653},[4576,21250,7302],{"class":4713},[4576,21252,21254,21257],{"class":4578,"line":21253},285,[4576,21255,21256],{"class":4733},"        )",[4576,21258,4801],{"class":4653},[4576,21260,21262,21264,21266],{"class":4578,"line":21261},286,[4576,21263,6238],{"class":4713},[4576,21265,17392],{"class":4717},[4576,21267,4742],{"class":4713},[4576,21269,21271,21273,21275],{"class":4578,"line":21270},287,[4576,21272,4879],{"class":4713},[4576,21274,17126],{"class":4717},[4576,21276,4742],{"class":4713},[4576,21278,21280],{"class":4578,"line":21279},288,[4576,21281,4889],{"class":4586},[4576,21283,21285],{"class":4578,"line":21284},289,[4576,21286,4801],{"class":4586},[4576,21288,21290],{"class":4578,"line":21289},290,[4576,21291,4644],{"emptyLinePlaceholder":4643},[4576,21293,21295,21297,21299,21301,21303,21305,21307],{"class":4578,"line":21294},291,[4576,21296,4905],{"class":4653},[4576,21298,4908],{"class":4673},[4576,21300,4911],{"class":4586},[4576,21302,4614],{"class":4590},[4576,21304,3857],{"class":4586},[4576,21306,4918],{"class":4657},[4576,21308,4921],{"class":4586},[4576,21310,21312,21315,21317,21319,21321,21323,21325,21328],{"class":4578,"line":21311},292,[4576,21313,21314],{"class":4590},"  safe:",[4576,21316,4587],{"class":4586},[4576,21318,6095],{"class":4590},[4576,21320,4989],{"class":4935},[4576,21322,3806],{"class":4586},[4576,21324,6102],{"class":4590},[4576,21326,21327],{"class":4600}," '#F8FAFC'",[4576,21329,4939],{"class":4586},[4576,21331,21333,21336,21338,21340,21342],{"class":4578,"line":21332},293,[4576,21334,21335],{"class":4590},"  flex:",[4576,21337,4587],{"class":4586},[4576,21339,6095],{"class":4590},[4576,21341,4989],{"class":4935},[4576,21343,4939],{"class":4586},[4576,21345,21347,21350,21352,21354,21356,21358,21360,21362,21364,21367,21370],{"class":4578,"line":21346},294,[4576,21348,21349],{"class":4590},"  form:",[4576,21351,4587],{"class":4586},[4576,21353,6123],{"class":4590},[4576,21355,5033],{"class":4935},[4576,21357,3806],{"class":4586},[4576,21359,4932],{"class":4590},[4576,21361,4936],{"class":4935},[4576,21363,3806],{"class":4586},[4576,21365,21366],{"class":4590},"paddingBottom:",[4576,21368,21369],{"class":4935}," 40",[4576,21371,4939],{"class":4586},[4576,21373,21375,21377],{"class":4578,"line":21374},295,[4576,21376,16585],{"class":4590},[4576,21378,4980],{"class":4586},[4576,21380,21382,21385,21387],{"class":4578,"line":21381},296,[4576,21383,21384],{"class":4590},"    flex:",[4576,21386,4989],{"class":4935},[4576,21388,4992],{"class":4586},[4576,21390,21392,21394,21396],{"class":4578,"line":21391},297,[4576,21393,9454],{"class":4590},[4576,21395,20980],{"class":4935},[4576,21397,4992],{"class":4586},[4576,21399,21401,21403,21405],{"class":4578,"line":21400},298,[4576,21402,7437],{"class":4590},[4576,21404,7430],{"class":4600},[4576,21406,4992],{"class":4586},[4576,21408,21410,21412,21414],{"class":4578,"line":21409},299,[4576,21411,7427],{"class":4590},[4576,21413,7430],{"class":4600},[4576,21415,4992],{"class":4586},[4576,21417,21419],{"class":4578,"line":21418},300,[4576,21420,5052],{"class":4586},[4576,21422,21424,21426],{"class":4578,"line":21423},301,[4576,21425,8713],{"class":4590},[4576,21427,4980],{"class":4586},[4576,21429,21431,21433,21435],{"class":4578,"line":21430},302,[4576,21432,5030],{"class":4590},[4576,21434,20980],{"class":4935},[4576,21436,4992],{"class":4586},[4576,21438,21440,21443,21445],{"class":4578,"line":21439},303,[4576,21441,21442],{"class":4590},"    fontWeight:",[4576,21444,6176],{"class":4600},[4576,21446,4992],{"class":4586},[4576,21448,21450,21453,21456],{"class":4578,"line":21449},304,[4576,21451,21452],{"class":4590},"    color:",[4576,21454,21455],{"class":4600}," '#0F172A'",[4576,21457,4992],{"class":4586},[4576,21459,21461,21464,21466],{"class":4578,"line":21460},305,[4576,21462,21463],{"class":4590},"    marginBottom:",[4576,21465,9228],{"class":4935},[4576,21467,4992],{"class":4586},[4576,21469,21471],{"class":4578,"line":21470},306,[4576,21472,5052],{"class":4586},[4576,21474,21476,21479,21481,21483,21485,21487,21489,21491,21493,21496,21498],{"class":4578,"line":21475},307,[4576,21477,21478],{"class":4590},"  muted:",[4576,21480,4587],{"class":4586},[4576,21482,6167],{"class":4590},[4576,21484,8746],{"class":4600},[4576,21486,3806],{"class":4586},[4576,21488,4950],{"class":4590},[4576,21490,4953],{"class":4935},[4576,21492,3806],{"class":4586},[4576,21494,21495],{"class":4590},"marginBottom:",[4576,21497,9915],{"class":4935},[4576,21499,4939],{"class":4586},[4576,21501,21503,21505],{"class":4578,"line":21502},308,[4576,21504,4945],{"class":4590},[4576,21506,4980],{"class":4586},[4576,21508,21510,21513,21515],{"class":4578,"line":21509},309,[4576,21511,21512],{"class":4590},"    marginTop:",[4576,21514,15684],{"class":4935},[4576,21516,4992],{"class":4586},[4576,21518,21520,21522,21524],{"class":4578,"line":21519},310,[4576,21521,5030],{"class":4590},[4576,21523,5001],{"class":4935},[4576,21525,4992],{"class":4586},[4576,21527,21529,21531,21533],{"class":4578,"line":21528},311,[4576,21530,21442],{"class":4590},[4576,21532,4961],{"class":4600},[4576,21534,4992],{"class":4586},[4576,21536,21538,21540,21542],{"class":4578,"line":21537},312,[4576,21539,21452],{"class":4590},[4576,21541,8746],{"class":4600},[4576,21543,4992],{"class":4586},[4576,21545,21547,21550,21552],{"class":4578,"line":21546},313,[4576,21548,21549],{"class":4590},"    textTransform:",[4576,21551,4969],{"class":4600},[4576,21553,4992],{"class":4586},[4576,21555,21557],{"class":4578,"line":21556},314,[4576,21558,5052],{"class":4586},[4576,21560,21562,21564],{"class":4578,"line":21561},315,[4576,21563,4977],{"class":4590},[4576,21565,4980],{"class":4586},[4576,21567,21569,21571,21573],{"class":4578,"line":21568},316,[4576,21570,4986],{"class":4590},[4576,21572,4989],{"class":4935},[4576,21574,4992],{"class":4586},[4576,21576,21578,21580,21582],{"class":4578,"line":21577},317,[4576,21579,11546],{"class":4590},[4576,21581,8572],{"class":4600},[4576,21583,4992],{"class":4586},[4576,21585,21587,21589,21591],{"class":4578,"line":21586},318,[4576,21588,7401],{"class":4590},[4576,21590,7509],{"class":4600},[4576,21592,4992],{"class":4586},[4576,21594,21596,21598,21600],{"class":4578,"line":21595},319,[4576,21597,4998],{"class":4590},[4576,21599,5001],{"class":4935},[4576,21601,4992],{"class":4586},[4576,21603,21605,21607,21609],{"class":4578,"line":21604},320,[4576,21606,5009],{"class":4590},[4576,21608,5012],{"class":4935},[4576,21610,4992],{"class":4586},[4576,21612,21614,21616,21618],{"class":4578,"line":21613},321,[4576,21615,5020],{"class":4590},[4576,21617,5001],{"class":4935},[4576,21619,4992],{"class":4586},[4576,21621,21623,21625,21627],{"class":4578,"line":21622},322,[4576,21624,5030],{"class":4590},[4576,21626,5033],{"class":4935},[4576,21628,4992],{"class":4586},[4576,21630,21632,21634,21636],{"class":4578,"line":21631},323,[4576,21633,5041],{"class":4590},[4576,21635,5044],{"class":4935},[4576,21637,4992],{"class":4586},[4576,21639,21641,21643,21645],{"class":4578,"line":21640},324,[4576,21642,21452],{"class":4590},[4576,21644,21455],{"class":4600},[4576,21646,4992],{"class":4586},[4576,21648,21650],{"class":4578,"line":21649},325,[4576,21651,5052],{"class":4586},[4576,21653,21655,21657,21659,21661,21664],{"class":4578,"line":21654},326,[4576,21656,6907],{"class":4590},[4576,21658,4587],{"class":4586},[4576,21660,6912],{"class":4590},[4576,21662,21663],{"class":4935}," 96",[4576,21665,4939],{"class":4586},[4576,21667,21669,21672,21674,21676,21679],{"class":4578,"line":21668},327,[4576,21670,21671],{"class":4590},"  inputErr:",[4576,21673,4587],{"class":4586},[4576,21675,6402],{"class":4590},[4576,21677,21678],{"class":4600}," '#DC2626'",[4576,21680,4939],{"class":4586},[4576,21682,21684,21687,21689,21691,21693,21695,21697,21699,21701,21703,21705],{"class":4578,"line":21683},328,[4576,21685,21686],{"class":4590},"  error:",[4576,21688,4587],{"class":4586},[4576,21690,6167],{"class":4590},[4576,21692,21678],{"class":4600},[4576,21694,3806],{"class":4586},[4576,21696,4950],{"class":4590},[4576,21698,4953],{"class":4935},[4576,21700,3806],{"class":4586},[4576,21702,8751],{"class":4590},[4576,21704,9228],{"class":4935},[4576,21706,4939],{"class":4586},[4576,21708,21710,21713],{"class":4578,"line":21709},329,[4576,21711,21712],{"class":4590},"  pickerWrap:",[4576,21714,4980],{"class":4586},[4576,21716,21718,21720,21722],{"class":4578,"line":21717},330,[4576,21719,4986],{"class":4590},[4576,21721,4989],{"class":4935},[4576,21723,4992],{"class":4586},[4576,21725,21727,21729,21731],{"class":4578,"line":21726},331,[4576,21728,11546],{"class":4590},[4576,21730,8572],{"class":4600},[4576,21732,4992],{"class":4586},[4576,21734,21736,21738,21740],{"class":4578,"line":21735},332,[4576,21737,4998],{"class":4590},[4576,21739,5001],{"class":4935},[4576,21741,4992],{"class":4586},[4576,21743,21745,21747,21749],{"class":4578,"line":21744},333,[4576,21746,7401],{"class":4590},[4576,21748,7509],{"class":4600},[4576,21750,4992],{"class":4586},[4576,21752,21754,21756,21758],{"class":4578,"line":21753},334,[4576,21755,11563],{"class":4590},[4576,21757,11566],{"class":4600},[4576,21759,4992],{"class":4586},[4576,21761,21763],{"class":4578,"line":21762},335,[4576,21764,5052],{"class":4586},[4576,21766,21768,21770],{"class":4578,"line":21767},336,[4576,21769,9422],{"class":4590},[4576,21771,4980],{"class":4586},[4576,21773,21775,21777,21779],{"class":4578,"line":21774},337,[4576,21776,8654],{"class":4590},[4576,21778,8657],{"class":4600},[4576,21780,4992],{"class":4586},[4576,21782,21784,21786,21788],{"class":4578,"line":21783},338,[4576,21785,7427],{"class":4590},[4576,21787,7430],{"class":4600},[4576,21789,4992],{"class":4586},[4576,21791,21793,21795,21797],{"class":4578,"line":21792},339,[4576,21794,9445],{"class":4590},[4576,21796,5001],{"class":4935},[4576,21798,4992],{"class":4586},[4576,21800,21802,21804,21806],{"class":4578,"line":21801},340,[4576,21803,21512],{"class":4590},[4576,21805,5001],{"class":4935},[4576,21807,4992],{"class":4586},[4576,21809,21811],{"class":4578,"line":21810},341,[4576,21812,5052],{"class":4586},[4576,21814,21816,21819,21821,21823,21825,21827,21829,21831],{"class":4578,"line":21815},342,[4576,21817,21818],{"class":4590},"  rowText:",[4576,21820,4587],{"class":4586},[4576,21822,6095],{"class":4590},[4576,21824,4989],{"class":4935},[4576,21826,3806],{"class":4586},[4576,21828,4932],{"class":4590},[4576,21830,8754],{"class":4935},[4576,21832,4939],{"class":4586},[4576,21834,21836,21839,21841,21843,21845,21847,21849,21851],{"class":4578,"line":21835},343,[4576,21837,21838],{"class":4590},"  rowTitle:",[4576,21840,4587],{"class":4586},[4576,21842,4958],{"class":4590},[4576,21844,4961],{"class":4600},[4576,21846,3806],{"class":4586},[4576,21848,6167],{"class":4590},[4576,21850,21455],{"class":4600},[4576,21852,4939],{"class":4586},[4576,21854,21856,21858],{"class":4578,"line":21855},344,[4576,21857,8155],{"class":4590},[4576,21859,4980],{"class":4586},[4576,21861,21863,21865,21867],{"class":4578,"line":21862},345,[4576,21864,21512],{"class":4590},[4576,21866,7876],{"class":4935},[4576,21868,4992],{"class":4586},[4576,21870,21872,21874,21876],{"class":4578,"line":21871},346,[4576,21873,7401],{"class":4590},[4576,21875,7404],{"class":4600},[4576,21877,4992],{"class":4586},[4576,21879,21881,21883,21885],{"class":4578,"line":21880},347,[4576,21882,5020],{"class":4590},[4576,21884,5012],{"class":4935},[4576,21886,4992],{"class":4586},[4576,21888,21890,21892,21894],{"class":4578,"line":21889},348,[4576,21891,4998],{"class":4590},[4576,21893,5001],{"class":4935},[4576,21895,4992],{"class":4586},[4576,21897,21899,21901,21903],{"class":4578,"line":21898},349,[4576,21900,7427],{"class":4590},[4576,21902,7430],{"class":4600},[4576,21904,4992],{"class":4586},[4576,21906,21908],{"class":4578,"line":21907},350,[4576,21909,5052],{"class":4586},[4576,21911,21913,21915,21917,21919,21921,21923,21925,21927,21929,21931,21933],{"class":4578,"line":21912},351,[4576,21914,8183],{"class":4590},[4576,21916,4587],{"class":4586},[4576,21918,6167],{"class":4590},[4576,21920,7509],{"class":4600},[4576,21922,3806],{"class":4586},[4576,21924,4958],{"class":4590},[4576,21926,6176],{"class":4600},[4576,21928,3806],{"class":4586},[4576,21930,4950],{"class":4590},[4576,21932,5033],{"class":4935},[4576,21934,4939],{"class":4586},[4576,21936,21938,21941,21943,21945,21947,21949,21951,21953,21955,21957,21959],{"class":4578,"line":21937},352,[4576,21939,21940],{"class":4590},"  summary:",[4576,21942,4587],{"class":4586},[4576,21944,6167],{"class":4590},[4576,21946,21455],{"class":4600},[4576,21948,3806],{"class":4586},[4576,21950,8751],{"class":4590},[4576,21952,4936],{"class":4935},[4576,21954,3806],{"class":4586},[4576,21956,4958],{"class":4590},[4576,21958,8726],{"class":4600},[4576,21960,4939],{"class":4586},[4576,21962,21964],{"class":4578,"line":21963},353,[4576,21965,5058],{"class":4586},[3792,21967,21969],{"id":21968},"крок-3-що-всередині-короткий-розбір","Крок 3. Що всередині (короткий розбір)",[17149,21971,21972,21976,21990,21993,22007,22010,22023,22027],{},[3792,21973,21975],{"id":21974},"схема","Схема",[3739,21977,21978,21980,21981,21984,21985,21987,21988,3857],{},[3803,21979,18193],{}," — одне місце правил. ",[3803,21982,21983],{},"acceptedRules: z.literal(true)"," вимагає галочку. ",[3803,21986,19114],{}," збігається з ",[3803,21989,3818],{},[3792,21991,14110],{"id":21992},"useform",[3739,21994,21995,3806,21998,22000,22001,5126,22003,3806,22005,3857],{},[3803,21996,21997],{},"resolver: zodResolver(signupSchema)",[3803,21999,10162],{}," (згода спочатку ",[3803,22002,5161],{},[3803,22004,3875],{},[3803,22006,3879],{},[3792,22008,4265],{"id":22009},"controller",[3739,22011,22012,22013,22015,22016,22018,22019,4494,22021,3857],{},"Кожне поле підключене явно: TextInput → ",[3803,22014,4116],{},"; Switch\u002FCheckbox\u002FSlider → ",[3803,22017,4497],{},"; Picker → ",[3803,22020,12976],{},[3803,22022,4497],{},[3792,22024,22026],{"id":22025},"два-екрани","Два екрани",[3739,22028,22029,22032,22033,5109,22035,3857],{},[3803,22030,22031],{},"done === null"," — форма; інакше — успіх. «Ще раз» скидає ",[3803,22034,5310],{},[3803,22036,5447],{},[3792,22038,22040],{"id":22039},"крок-4-ручна-перевірка","Крок 4. Ручна перевірка",[3751,22042,22043,22049,22052,22055,22058],{},[3754,22044,22045,22048],{},[3803,22046,22047],{},"npx expo start"," → Expo Go.",[3754,22050,22051],{},"Одразу «Зареєструватись» → помилки під полями.",[3754,22053,22054],{},"Коректні дані + галочка → екран успіху.",[3754,22056,22057],{},"«Ще раз» → порожня форма.",[3754,22059,22060],{},"Фокус у коментарі на малому екрані — кнопка доступна скролом.",[3792,22062,22064],{"id":22063},"критерій-готово","Критерій «готово»",[3797,22066,22069,22077,22089,22095,22101,22107],{"className":22067},[22068],"contains-task-list",[3754,22070,22073,22076],{"className":22071},[22072],"task-list-item",[4865,22074],{"disabled":4643,"type":22075},"checkbox"," Проєкт створено командами кроку 1",[3754,22078,22080,22082,22083,14597,22085,22088],{"className":22079},[22072],[4865,22081],{"disabled":4643,"type":22075}," ",[3803,22084,17275],{},[3746,22086,22087],{},"повний"," код з collapsible (усі контроли)",[3754,22090,22092,22094],{"className":22091},[22072],[4865,22093],{"disabled":4643,"type":22075}," Порожній submit показує помилки під полями",[3754,22096,22098,22100],{"className":22097},[22072],[4865,22099],{"disabled":4643,"type":22075}," Без згоди немає екрана успіху",[3754,22102,22104,22106],{"className":22103},[22072],[4865,22105],{"disabled":4643,"type":22075}," Успіх + «Ще раз»",[3754,22108,22110,22112,22113],{"className":22109},[22072],[4865,22111],{"disabled":4643,"type":22075}," KAV + ScrollView + ",[3803,22114,12203],{},[6048,22116,22117,22120,22121,5109,22123,22125],{},[3746,22118,22119],{},"Zod 3 vs 4."," У прикладі синтаксис ближчий до Zod 4 (",[3803,22122,13088],{},[3803,22124,10113],{},"). На Zod 3 підставте API повідомлень з docs вашої major-версії — ідея схеми та сама.",[3881,22127],{},[3734,22129,22131],{"id":22130},"nomad-форма-створення-поїздки","Nomad: форма створення поїздки",[3739,22133,22134],{},[4476,22135],{"alt":22136,"className":22137,"src":22138},"Потік: Home → форма → валідація → addTrip → список",[4480],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F06.svg",[3792,22140,22142],{"id":22141},"навіщо-користувачу","Навіщо користувачу",[3739,22144,22145,22146,22149,22150,22153,22154,3857],{},"До цієї статті кнопка «Нова поїздка» або нічого не робила, або лише логувала в консоль. Тепер вона ",[3746,22147,22148],{},"відкриває екран форми",". Людина заповнює назву, регіон зі списку, дати, опис, тривалість повзунком, за бажанням позначає «приватна» \u002F «є план», підтверджує локальне збереження — і після успіху ",[3746,22151,22152],{},"повертається"," на стрічку, де нова картка лежить ",[3746,22155,22156],{},"зверху",[3739,22158,22159,22160,3857],{},"На картці видно не лише title: мітки «приватна», «є план», орієнтовну кількість днів — щоб було видно, що boolean\u002Fslider реально потрапили в модель ",[3803,22161,22162],{},"Trip",[3792,22164,22166],{"id":22165},"нитка-проєкту","Нитка проєкту",[3739,22168,22169],{},[3746,22170,22171],{},"Уже є з попередніх статей (і це не зникає):",[3797,22173,22174,22180,22192,22195,22198],{},[3754,22175,22176,22179],{},[3803,22177,22178],{},"ThemeProvider",", чіпи light\u002Fdark\u002Fsystem;",[3754,22181,22182,3806,22185,22188,22189,22191],{},[3803,22183,22184],{},"Screen",[3803,22186,22187],{},"AppText",", shared ",[3803,22190,6932],{},";",[3754,22193,22194],{},"домашня стрічка на FlashList + горизонтальні місця;",[3754,22196,22197],{},"pull-to-refresh, sticky CTA «Нова поїздка»;",[3754,22199,22200],{},"mock-поїздки й mock-місця.",[3739,22202,22203],{},[3746,22204,22205],{},"Що з’являється саме в цій статті:",[3905,22207,22208,22218],{},[3908,22209,22210],{},[3911,22211,22212,22215],{},[3914,22213,22214],{},"Шматок",[3914,22216,22217],{},"Роль",[3928,22219,22220,22228,22237,22250,22266,22276,22286],{},[3911,22221,22222,22225],{},[3933,22223,22224],{},"Пакети RHF, Zod, picker, slider, checkbox, datetimepicker",[3933,22226,22227],{},"залежності форми",[3911,22229,22230,22234],{},[3933,22231,22232],{},[3803,22233,14234],{},[3933,22235,22236],{},"правила Zod",[3911,22238,22239,22247],{},[3933,22240,22241,4494,22244],{},[3803,22242,22243],{},"TripsProvider",[3803,22245,22246],{},"useTrips",[3933,22248,22249],{},"спільний список між home і формою",[3911,22251,22252,22263],{},[3933,22253,22254,3806,22257,3806,22260],{},[3803,22255,22256],{},"TextField",[3803,22258,22259],{},"FormRow",[3803,22261,22262],{},"DateField",[3933,22264,22265],{},"UI-обгортки контролів",[3911,22267,22268,22273],{},[3933,22269,22270],{},[3803,22271,22272],{},"CreateTripForm",[3933,22274,22275],{},"уся форма + Controller",[3911,22277,22278,22283],{},[3933,22279,22280],{},[3803,22281,22282],{},"app\u002Fcreate-trip.tsx",[3933,22284,22285],{},"екран-маршрут",[3911,22287,22288,22293],{},[3933,22289,22290,22291],{},"розширення типу ",[3803,22292,22162],{},[3933,22294,22295,3806,22297,3806,22300],{},[3803,22296,8382],{},[3803,22298,22299],{},"plannedDays",[3803,22301,22302],{},"hasItinerary",[3739,22304,22305,22306,4084,22309,22311,22312,22315,22316,22319],{},"Стан поїздок піднято в ",[3746,22307,22308],{},"Context",[3803,22310,22243],{},"), бо форма на ",[3746,22313,22314],{},"іншому екрані",", ніж список. Без спільного стейту ",[3803,22317,22318],{},"router.back()"," не знав би, куди ділась щойно створена поїздка. Пізніше в курсі Context замінять \u002F доповнять RTK — ідея «одне джерело списку» лишиться.",[22321,22322,22323,22082,22326,22329,22330,22332,22333,22336,22337,22339,22340,3857],"tip",{},[3746,22324,22325],{},"Навігація навмисно тонка.",[3803,22327,22328],{},"router.push('\u002Fcreate-trip')"," і ",[3803,22331,22318],{}," — мінімум Expo Router, щоб форма жила на окремому екрані. Як влаштовані layouts, tabs, typed routes — ",[3746,22334,22335],{},"наступні статті"," модуля навігації. Зараз достатньо: файл ",[3803,22338,22282],{}," ↔ адреса ",[3803,22341,22342],{},"\u002Fcreate-trip",[3792,22344,22346],{"id":22345},"встановлення","Встановлення",[3891,22348,22350],{"className":9526,"code":22349,"language":9528,"meta":3899,"style":3899},"cd \u002Fpath\u002Fto\u002Fnomad\nnpx expo install @react-native-community\u002Fdatetimepicker @react-native-picker\u002Fpicker @react-native-community\u002Fslider @react-native-community\u002Fcheckbox\nnpm install react-hook-form @hookform\u002Fresolvers zod\n",[3803,22351,22352,22359,22377],{"__ignoreMap":3899},[4576,22353,22354,22356],{"class":4578,"line":4579},[4576,22355,17180],{"class":4657},[4576,22357,22358],{"class":4600}," \u002Fpath\u002Fto\u002Fnomad\n",[4576,22360,22361,22363,22365,22367,22370,22373,22375],{"class":4578,"line":4607},[4576,22362,9535],{"class":4657},[4576,22364,9538],{"class":4600},[4576,22366,9541],{"class":4600},[4576,22368,22369],{"class":4600}," @react-native-community\u002Fdatetimepicker",[4576,22371,22372],{"class":4600}," @react-native-picker\u002Fpicker",[4576,22374,17206],{"class":4600},[4576,22376,9544],{"class":4600},[4576,22378,22379,22381,22383,22385,22387],{"class":4578,"line":4640},[4576,22380,9547],{"class":4657},[4576,22382,9541],{"class":4600},[4576,22384,12427],{"class":4600},[4576,22386,12430],{"class":4600},[4576,22388,12433],{"class":4600},[3792,22390,22392],{"id":22391},"повний-знімок-проєкту","Повний знімок проєкту",[22394,22395,22397,22777,23067,23168,23477,26435,27156,27396,27700,28253,28841,29419,30250,30822,35043,37221,38070,39699,40429,40791,41174,42064,42204,42799,43515,43812,44734],"code-tree",{"title":22396},"Nomad після форми створення поїздки (усі контроли)",[3891,22398,22403],{"className":22399,"code":22400,"filename":22401,"language":22402,"meta":3899,"style":3899},"language-json shiki shiki-themes light-plus dark-plus dark-plus","{\n  \"name\": \"nomad\",\n  \"version\": \"1.0.0\",\n  \"main\": \"expo-router\u002Fentry\",\n  \"scripts\": {\n    \"start\": \"expo start\",\n    \"android\": \"expo start --android\",\n    \"ios\": \"expo start --ios\",\n    \"web\": \"expo start --web\"\n  },\n  \"dependencies\": {\n    \"@hookform\u002Fresolvers\": \"^5.7.1\",\n    \"@react-native-community\u002Fcheckbox\": \"^0.6.0\",\n    \"@react-native-community\u002Fdatetimepicker\": \"8.4.4\",\n    \"@react-native-community\u002Fslider\": \"5.0.1\",\n    \"@react-native-picker\u002Fpicker\": \"2.11.1\",\n    \"@shopify\u002Fflash-list\": \"^2.3.2\",\n    \"expo\": \"~54.0.35\",\n    \"expo-constants\": \"~18.0.13\",\n    \"expo-linking\": \"~8.0.12\",\n    \"expo-router\": \"~6.0.24\",\n    \"expo-status-bar\": \"~3.0.9\",\n    \"react\": \"19.1.0\",\n    \"react-hook-form\": \"^7.84.0\",\n    \"react-native\": \"0.81.5\",\n    \"react-native-safe-area-context\": \"~5.6.0\",\n    \"react-native-screens\": \"~4.16.0\",\n    \"zod\": \"^4.4.3\"\n  },\n  \"devDependencies\": {\n    \"@expo\u002Fngrok\": \"^4.1.3\",\n    \"@types\u002Freact\": \"~19.1.0\",\n    \"typescript\": \"~5.9.2\"\n  },\n  \"private\": true\n}\n","package.json","json",[3803,22404,22405,22410,22423,22435,22447,22455,22467,22479,22491,22501,22505,22512,22524,22536,22548,22560,22572,22584,22596,22608,22620,22632,22644,22656,22668,22680,22692,22704,22714,22718,22725,22737,22749,22759,22763,22773],{"__ignoreMap":3899},[4576,22406,22407],{"class":4578,"line":4579},[4576,22408,22409],{"class":4586},"{\n",[4576,22411,22412,22416,22418,22421],{"class":4578,"line":4607},[4576,22413,22415],{"class":22414},"sLwNe","  \"name\"",[4576,22417,7093],{"class":4586},[4576,22419,22420],{"class":4600},"\"nomad\"",[4576,22422,4992],{"class":4586},[4576,22424,22425,22428,22430,22433],{"class":4578,"line":4640},[4576,22426,22427],{"class":22414},"  \"version\"",[4576,22429,7093],{"class":4586},[4576,22431,22432],{"class":4600},"\"1.0.0\"",[4576,22434,4992],{"class":4586},[4576,22436,22437,22440,22442,22445],{"class":4578,"line":4647},[4576,22438,22439],{"class":22414},"  \"main\"",[4576,22441,7093],{"class":4586},[4576,22443,22444],{"class":4600},"\"expo-router\u002Fentry\"",[4576,22446,4992],{"class":4586},[4576,22448,22449,22452],{"class":4578,"line":4664},[4576,22450,22451],{"class":22414},"  \"scripts\"",[4576,22453,22454],{"class":4586},": {\n",[4576,22456,22457,22460,22462,22465],{"class":4578,"line":4696},[4576,22458,22459],{"class":22414},"    \"start\"",[4576,22461,7093],{"class":4586},[4576,22463,22464],{"class":4600},"\"expo start\"",[4576,22466,4992],{"class":4586},[4576,22468,22469,22472,22474,22477],{"class":4578,"line":4701},[4576,22470,22471],{"class":22414},"    \"android\"",[4576,22473,7093],{"class":4586},[4576,22475,22476],{"class":4600},"\"expo start --android\"",[4576,22478,4992],{"class":4586},[4576,22480,22481,22484,22486,22489],{"class":4578,"line":4710},[4576,22482,22483],{"class":22414},"    \"ios\"",[4576,22485,7093],{"class":4586},[4576,22487,22488],{"class":4600},"\"expo start --ios\"",[4576,22490,4992],{"class":4586},[4576,22492,22493,22496,22498],{"class":4578,"line":4745},[4576,22494,22495],{"class":22414},"    \"web\"",[4576,22497,7093],{"class":4586},[4576,22499,22500],{"class":4600},"\"expo start --web\"\n",[4576,22502,22503],{"class":4578,"line":4781},[4576,22504,5052],{"class":4586},[4576,22506,22507,22510],{"class":4578,"line":4789},[4576,22508,22509],{"class":22414},"  \"dependencies\"",[4576,22511,22454],{"class":4586},[4576,22513,22514,22517,22519,22522],{"class":4578,"line":4804},[4576,22515,22516],{"class":22414},"    \"@hookform\u002Fresolvers\"",[4576,22518,7093],{"class":4586},[4576,22520,22521],{"class":4600},"\"^5.7.1\"",[4576,22523,4992],{"class":4586},[4576,22525,22526,22529,22531,22534],{"class":4578,"line":4818},[4576,22527,22528],{"class":22414},"    \"@react-native-community\u002Fcheckbox\"",[4576,22530,7093],{"class":4586},[4576,22532,22533],{"class":4600},"\"^0.6.0\"",[4576,22535,4992],{"class":4586},[4576,22537,22538,22541,22543,22546],{"class":4578,"line":4829},[4576,22539,22540],{"class":22414},"    \"@react-native-community\u002Fdatetimepicker\"",[4576,22542,7093],{"class":4586},[4576,22544,22545],{"class":4600},"\"8.4.4\"",[4576,22547,4992],{"class":4586},[4576,22549,22550,22553,22555,22558],{"class":4578,"line":4840},[4576,22551,22552],{"class":22414},"    \"@react-native-community\u002Fslider\"",[4576,22554,7093],{"class":4586},[4576,22556,22557],{"class":4600},"\"5.0.1\"",[4576,22559,4992],{"class":4586},[4576,22561,22562,22565,22567,22570],{"class":4578,"line":4851},[4576,22563,22564],{"class":22414},"    \"@react-native-picker\u002Fpicker\"",[4576,22566,7093],{"class":4586},[4576,22568,22569],{"class":4600},"\"2.11.1\"",[4576,22571,4992],{"class":4586},[4576,22573,22574,22577,22579,22582],{"class":4578,"line":4870},[4576,22575,22576],{"class":22414},"    \"@shopify\u002Fflash-list\"",[4576,22578,7093],{"class":4586},[4576,22580,22581],{"class":4600},"\"^2.3.2\"",[4576,22583,4992],{"class":4586},[4576,22585,22586,22589,22591,22594],{"class":4578,"line":4876},[4576,22587,22588],{"class":22414},"    \"expo\"",[4576,22590,7093],{"class":4586},[4576,22592,22593],{"class":4600},"\"~54.0.35\"",[4576,22595,4992],{"class":4586},[4576,22597,22598,22601,22603,22606],{"class":4578,"line":4886},[4576,22599,22600],{"class":22414},"    \"expo-constants\"",[4576,22602,7093],{"class":4586},[4576,22604,22605],{"class":4600},"\"~18.0.13\"",[4576,22607,4992],{"class":4586},[4576,22609,22610,22613,22615,22618],{"class":4578,"line":4892},[4576,22611,22612],{"class":22414},"    \"expo-linking\"",[4576,22614,7093],{"class":4586},[4576,22616,22617],{"class":4600},"\"~8.0.12\"",[4576,22619,4992],{"class":4586},[4576,22621,22622,22625,22627,22630],{"class":4578,"line":4897},[4576,22623,22624],{"class":22414},"    \"expo-router\"",[4576,22626,7093],{"class":4586},[4576,22628,22629],{"class":4600},"\"~6.0.24\"",[4576,22631,4992],{"class":4586},[4576,22633,22634,22637,22639,22642],{"class":4578,"line":4902},[4576,22635,22636],{"class":22414},"    \"expo-status-bar\"",[4576,22638,7093],{"class":4586},[4576,22640,22641],{"class":4600},"\"~3.0.9\"",[4576,22643,4992],{"class":4586},[4576,22645,22646,22649,22651,22654],{"class":4578,"line":4924},[4576,22647,22648],{"class":22414},"    \"react\"",[4576,22650,7093],{"class":4586},[4576,22652,22653],{"class":4600},"\"19.1.0\"",[4576,22655,4992],{"class":4586},[4576,22657,22658,22661,22663,22666],{"class":4578,"line":4942},[4576,22659,22660],{"class":22414},"    \"react-hook-form\"",[4576,22662,7093],{"class":4586},[4576,22664,22665],{"class":4600},"\"^7.84.0\"",[4576,22667,4992],{"class":4586},[4576,22669,22670,22673,22675,22678],{"class":4578,"line":4974},[4576,22671,22672],{"class":22414},"    \"react-native\"",[4576,22674,7093],{"class":4586},[4576,22676,22677],{"class":4600},"\"0.81.5\"",[4576,22679,4992],{"class":4586},[4576,22681,22682,22685,22687,22690],{"class":4578,"line":4983},[4576,22683,22684],{"class":22414},"    \"react-native-safe-area-context\"",[4576,22686,7093],{"class":4586},[4576,22688,22689],{"class":4600},"\"~5.6.0\"",[4576,22691,4992],{"class":4586},[4576,22693,22694,22697,22699,22702],{"class":4578,"line":4995},[4576,22695,22696],{"class":22414},"    \"react-native-screens\"",[4576,22698,7093],{"class":4586},[4576,22700,22701],{"class":4600},"\"~4.16.0\"",[4576,22703,4992],{"class":4586},[4576,22705,22706,22709,22711],{"class":4578,"line":5006},[4576,22707,22708],{"class":22414},"    \"zod\"",[4576,22710,7093],{"class":4586},[4576,22712,22713],{"class":4600},"\"^4.4.3\"\n",[4576,22715,22716],{"class":4578,"line":5017},[4576,22717,5052],{"class":4586},[4576,22719,22720,22723],{"class":4578,"line":5027},[4576,22721,22722],{"class":22414},"  \"devDependencies\"",[4576,22724,22454],{"class":4586},[4576,22726,22727,22730,22732,22735],{"class":4578,"line":5038},[4576,22728,22729],{"class":22414},"    \"@expo\u002Fngrok\"",[4576,22731,7093],{"class":4586},[4576,22733,22734],{"class":4600},"\"^4.1.3\"",[4576,22736,4992],{"class":4586},[4576,22738,22739,22742,22744,22747],{"class":4578,"line":5049},[4576,22740,22741],{"class":22414},"    \"@types\u002Freact\"",[4576,22743,7093],{"class":4586},[4576,22745,22746],{"class":4600},"\"~19.1.0\"",[4576,22748,4992],{"class":4586},[4576,22750,22751,22754,22756],{"class":4578,"line":5055},[4576,22752,22753],{"class":22414},"    \"typescript\"",[4576,22755,7093],{"class":4586},[4576,22757,22758],{"class":4600},"\"~5.9.2\"\n",[4576,22760,22761],{"class":4578,"line":5744},[4576,22762,5052],{"class":4586},[4576,22764,22765,22768,22770],{"class":4578,"line":6299},[4576,22766,22767],{"class":22414},"  \"private\"",[4576,22769,7093],{"class":4586},[4576,22771,22772],{"class":4653},"true\n",[4576,22774,22775],{"class":4578,"line":6312},[4576,22776,4801],{"class":4586},[3891,22778,22781],{"className":22399,"code":22779,"filename":22780,"language":22402,"meta":3899,"style":3899},"{\n  \"expo\": {\n    \"name\": \"Nomad\",\n    \"slug\": \"nomad\",\n    \"version\": \"1.0.0\",\n    \"orientation\": \"portrait\",\n    \"icon\": \".\u002Fassets\u002Ficon.png\",\n    \"userInterfaceStyle\": \"light\",\n    \"scheme\": \"nomad\",\n    \"newArchEnabled\": true,\n    \"splash\": {\n      \"image\": \".\u002Fassets\u002Fsplash-icon.png\",\n      \"resizeMode\": \"contain\",\n      \"backgroundColor\": \"#ffffff\"\n    },\n    \"ios\": {\n      \"supportsTablet\": true\n    },\n    \"android\": {\n      \"adaptiveIcon\": {\n        \"foregroundImage\": \".\u002Fassets\u002Fadaptive-icon.png\",\n        \"backgroundColor\": \"#ffffff\"\n      },\n      \"edgeToEdgeEnabled\": true,\n      \"predictiveBackGestureEnabled\": false\n    },\n    \"web\": {\n      \"favicon\": \".\u002Fassets\u002Ffavicon.png\"\n    },\n    \"plugins\": [\n      \"expo-router\",\n      \"@react-native-community\u002Fdatetimepicker\"\n    ]\n  }\n}\n","app.json",[3803,22782,22783,22787,22794,22806,22817,22828,22840,22852,22864,22875,22886,22893,22905,22917,22927,22931,22937,22946,22950,22956,22963,22975,22984,22989,23000,23010,23014,23020,23030,23034,23042,23049,23054,23059,23063],{"__ignoreMap":3899},[4576,22784,22785],{"class":4578,"line":4579},[4576,22786,22409],{"class":4586},[4576,22788,22789,22792],{"class":4578,"line":4607},[4576,22790,22791],{"class":22414},"  \"expo\"",[4576,22793,22454],{"class":4586},[4576,22795,22796,22799,22801,22804],{"class":4578,"line":4640},[4576,22797,22798],{"class":22414},"    \"name\"",[4576,22800,7093],{"class":4586},[4576,22802,22803],{"class":4600},"\"Nomad\"",[4576,22805,4992],{"class":4586},[4576,22807,22808,22811,22813,22815],{"class":4578,"line":4647},[4576,22809,22810],{"class":22414},"    \"slug\"",[4576,22812,7093],{"class":4586},[4576,22814,22420],{"class":4600},[4576,22816,4992],{"class":4586},[4576,22818,22819,22822,22824,22826],{"class":4578,"line":4664},[4576,22820,22821],{"class":22414},"    \"version\"",[4576,22823,7093],{"class":4586},[4576,22825,22432],{"class":4600},[4576,22827,4992],{"class":4586},[4576,22829,22830,22833,22835,22838],{"class":4578,"line":4696},[4576,22831,22832],{"class":22414},"    \"orientation\"",[4576,22834,7093],{"class":4586},[4576,22836,22837],{"class":4600},"\"portrait\"",[4576,22839,4992],{"class":4586},[4576,22841,22842,22845,22847,22850],{"class":4578,"line":4701},[4576,22843,22844],{"class":22414},"    \"icon\"",[4576,22846,7093],{"class":4586},[4576,22848,22849],{"class":4600},"\".\u002Fassets\u002Ficon.png\"",[4576,22851,4992],{"class":4586},[4576,22853,22854,22857,22859,22862],{"class":4578,"line":4710},[4576,22855,22856],{"class":22414},"    \"userInterfaceStyle\"",[4576,22858,7093],{"class":4586},[4576,22860,22861],{"class":4600},"\"light\"",[4576,22863,4992],{"class":4586},[4576,22865,22866,22869,22871,22873],{"class":4578,"line":4745},[4576,22867,22868],{"class":22414},"    \"scheme\"",[4576,22870,7093],{"class":4586},[4576,22872,22420],{"class":4600},[4576,22874,4992],{"class":4586},[4576,22876,22877,22880,22882,22884],{"class":4578,"line":4781},[4576,22878,22879],{"class":22414},"    \"newArchEnabled\"",[4576,22881,7093],{"class":4586},[4576,22883,3763],{"class":4653},[4576,22885,4992],{"class":4586},[4576,22887,22888,22891],{"class":4578,"line":4789},[4576,22889,22890],{"class":22414},"    \"splash\"",[4576,22892,22454],{"class":4586},[4576,22894,22895,22898,22900,22903],{"class":4578,"line":4804},[4576,22896,22897],{"class":22414},"      \"image\"",[4576,22899,7093],{"class":4586},[4576,22901,22902],{"class":4600},"\".\u002Fassets\u002Fsplash-icon.png\"",[4576,22904,4992],{"class":4586},[4576,22906,22907,22910,22912,22915],{"class":4578,"line":4818},[4576,22908,22909],{"class":22414},"      \"resizeMode\"",[4576,22911,7093],{"class":4586},[4576,22913,22914],{"class":4600},"\"contain\"",[4576,22916,4992],{"class":4586},[4576,22918,22919,22922,22924],{"class":4578,"line":4829},[4576,22920,22921],{"class":22414},"      \"backgroundColor\"",[4576,22923,7093],{"class":4586},[4576,22925,22926],{"class":4600},"\"#ffffff\"\n",[4576,22928,22929],{"class":4578,"line":4840},[4576,22930,18280],{"class":4586},[4576,22932,22933,22935],{"class":4578,"line":4851},[4576,22934,22483],{"class":22414},[4576,22936,22454],{"class":4586},[4576,22938,22939,22942,22944],{"class":4578,"line":4870},[4576,22940,22941],{"class":22414},"      \"supportsTablet\"",[4576,22943,7093],{"class":4586},[4576,22945,22772],{"class":4653},[4576,22947,22948],{"class":4578,"line":4876},[4576,22949,18280],{"class":4586},[4576,22951,22952,22954],{"class":4578,"line":4886},[4576,22953,22471],{"class":22414},[4576,22955,22454],{"class":4586},[4576,22957,22958,22961],{"class":4578,"line":4892},[4576,22959,22960],{"class":22414},"      \"adaptiveIcon\"",[4576,22962,22454],{"class":4586},[4576,22964,22965,22968,22970,22973],{"class":4578,"line":4897},[4576,22966,22967],{"class":22414},"        \"foregroundImage\"",[4576,22969,7093],{"class":4586},[4576,22971,22972],{"class":4600},"\".\u002Fassets\u002Fadaptive-icon.png\"",[4576,22974,4992],{"class":4586},[4576,22976,22977,22980,22982],{"class":4578,"line":4902},[4576,22978,22979],{"class":22414},"        \"backgroundColor\"",[4576,22981,7093],{"class":4586},[4576,22983,22926],{"class":4600},[4576,22985,22986],{"class":4578,"line":4924},[4576,22987,22988],{"class":4586},"      },\n",[4576,22990,22991,22994,22996,22998],{"class":4578,"line":4942},[4576,22992,22993],{"class":22414},"      \"edgeToEdgeEnabled\"",[4576,22995,7093],{"class":4586},[4576,22997,3763],{"class":4653},[4576,22999,4992],{"class":4586},[4576,23001,23002,23005,23007],{"class":4578,"line":4974},[4576,23003,23004],{"class":22414},"      \"predictiveBackGestureEnabled\"",[4576,23006,7093],{"class":4586},[4576,23008,23009],{"class":4653},"false\n",[4576,23011,23012],{"class":4578,"line":4983},[4576,23013,18280],{"class":4586},[4576,23015,23016,23018],{"class":4578,"line":4995},[4576,23017,22495],{"class":22414},[4576,23019,22454],{"class":4586},[4576,23021,23022,23025,23027],{"class":4578,"line":5006},[4576,23023,23024],{"class":22414},"      \"favicon\"",[4576,23026,7093],{"class":4586},[4576,23028,23029],{"class":4600},"\".\u002Fassets\u002Ffavicon.png\"\n",[4576,23031,23032],{"class":4578,"line":5017},[4576,23033,18280],{"class":4586},[4576,23035,23036,23039],{"class":4578,"line":5027},[4576,23037,23038],{"class":22414},"    \"plugins\"",[4576,23040,23041],{"class":4586},": [\n",[4576,23043,23044,23047],{"class":4578,"line":5038},[4576,23045,23046],{"class":4600},"      \"expo-router\"",[4576,23048,4992],{"class":4586},[4576,23050,23051],{"class":4578,"line":5049},[4576,23052,23053],{"class":4600},"      \"@react-native-community\u002Fdatetimepicker\"\n",[4576,23055,23056],{"class":4578,"line":5055},[4576,23057,23058],{"class":4586},"    ]\n",[4576,23060,23061],{"class":4578,"line":5744},[4576,23062,12045],{"class":4586},[4576,23064,23065],{"class":4578,"line":6299},[4576,23066,4801],{"class":4586},[3891,23068,23071],{"className":22399,"code":23069,"filename":23070,"language":22402,"meta":3899,"style":3899},"{\n  \"extends\": \"expo\u002Ftsconfig.base\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"paths\": {\n      \"@\u002F*\": [\n        \".\u002Fsrc\u002F*\"\n      ]\n    }\n  },\n  \"include\": [\n    \"**\u002F*.ts\",\n    \"**\u002F*.tsx\"\n  ]\n}\n","tsconfig.json",[3803,23072,23073,23077,23089,23096,23107,23114,23121,23126,23131,23136,23140,23147,23154,23159,23164],{"__ignoreMap":3899},[4576,23074,23075],{"class":4578,"line":4579},[4576,23076,22409],{"class":4586},[4576,23078,23079,23082,23084,23087],{"class":4578,"line":4607},[4576,23080,23081],{"class":22414},"  \"extends\"",[4576,23083,7093],{"class":4586},[4576,23085,23086],{"class":4600},"\"expo\u002Ftsconfig.base\"",[4576,23088,4992],{"class":4586},[4576,23090,23091,23094],{"class":4578,"line":4640},[4576,23092,23093],{"class":22414},"  \"compilerOptions\"",[4576,23095,22454],{"class":4586},[4576,23097,23098,23101,23103,23105],{"class":4578,"line":4647},[4576,23099,23100],{"class":22414},"    \"strict\"",[4576,23102,7093],{"class":4586},[4576,23104,3763],{"class":4653},[4576,23106,4992],{"class":4586},[4576,23108,23109,23112],{"class":4578,"line":4664},[4576,23110,23111],{"class":22414},"    \"paths\"",[4576,23113,22454],{"class":4586},[4576,23115,23116,23119],{"class":4578,"line":4696},[4576,23117,23118],{"class":22414},"      \"@\u002F*\"",[4576,23120,23041],{"class":4586},[4576,23122,23123],{"class":4578,"line":4701},[4576,23124,23125],{"class":4600},"        \".\u002Fsrc\u002F*\"\n",[4576,23127,23128],{"class":4578,"line":4710},[4576,23129,23130],{"class":4586},"      ]\n",[4576,23132,23133],{"class":4578,"line":4745},[4576,23134,23135],{"class":4586},"    }\n",[4576,23137,23138],{"class":4578,"line":4781},[4576,23139,5052],{"class":4586},[4576,23141,23142,23145],{"class":4578,"line":4789},[4576,23143,23144],{"class":22414},"  \"include\"",[4576,23146,23041],{"class":4586},[4576,23148,23149,23152],{"class":4578,"line":4804},[4576,23150,23151],{"class":4600},"    \"**\u002F*.ts\"",[4576,23153,4992],{"class":4586},[4576,23155,23156],{"class":4578,"line":4818},[4576,23157,23158],{"class":4600},"    \"**\u002F*.tsx\"\n",[4576,23160,23161],{"class":4578,"line":4829},[4576,23162,23163],{"class":4586},"  ]\n",[4576,23165,23166],{"class":4578,"line":4840},[4576,23167,4801],{"class":4586},[3891,23169,23172],{"className":4570,"code":23170,"filename":23171,"language":4572,"meta":3899,"style":3899},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\n\nimport { TripsProvider } from '@\u002Ffeatures\u002Ftrips';\nimport { ThemeProvider, useTheme } from '@\u002Fshared\u002Ftheme';\n\nfunction RootNavigator() {\n  const { colors, scheme } = useTheme();\n\n  return (\n    \u003C>\n      \u003CStatusBar style={scheme === 'dark' ? 'light' : 'dark'} \u002F>\n      \u003CStack\n        screenOptions={{\n          headerShown: false,\n          contentStyle: { backgroundColor: colors.background },\n        }}\n      \u002F>\n    \u003C\u002F>\n  );\n}\n\nexport default function RootLayout() {\n  return (\n    \u003CThemeProvider>\n      \u003CTripsProvider>\n        \u003CRootNavigator \u002F>\n      \u003C\u002FTripsProvider>\n    \u003C\u002FThemeProvider>\n  );\n}\n","app\u002F_layout.tsx",[3803,23173,23174,23192,23210,23214,23231,23253,23257,23266,23288,23292,23298,23303,23335,23342,23353,23362,23381,23388,23392,23397,23401,23405,23409,23422,23428,23436,23444,23453,23461,23469,23473],{"__ignoreMap":3899},[4576,23175,23176,23178,23180,23183,23185,23187,23190],{"class":4578,"line":4579},[4576,23177,4583],{"class":4582},[4576,23179,4587],{"class":4586},[4576,23181,23182],{"class":4590},"Stack",[4576,23184,4594],{"class":4586},[4576,23186,4597],{"class":4582},[4576,23188,23189],{"class":4600}," 'expo-router'",[4576,23191,4604],{"class":4586},[4576,23193,23194,23196,23198,23201,23203,23205,23208],{"class":4578,"line":4607},[4576,23195,4583],{"class":4582},[4576,23197,4587],{"class":4586},[4576,23199,23200],{"class":4590},"StatusBar",[4576,23202,4594],{"class":4586},[4576,23204,4597],{"class":4582},[4576,23206,23207],{"class":4600}," 'expo-status-bar'",[4576,23209,4604],{"class":4586},[4576,23211,23212],{"class":4578,"line":4640},[4576,23213,4644],{"emptyLinePlaceholder":4643},[4576,23215,23216,23218,23220,23222,23224,23226,23229],{"class":4578,"line":4647},[4576,23217,4583],{"class":4582},[4576,23219,4587],{"class":4586},[4576,23221,22243],{"class":4590},[4576,23223,4594],{"class":4586},[4576,23225,4597],{"class":4582},[4576,23227,23228],{"class":4600}," '@\u002Ffeatures\u002Ftrips'",[4576,23230,4604],{"class":4586},[4576,23232,23233,23235,23237,23239,23241,23244,23246,23248,23251],{"class":4578,"line":4664},[4576,23234,4583],{"class":4582},[4576,23236,4587],{"class":4586},[4576,23238,22178],{"class":4590},[4576,23240,3806],{"class":4586},[4576,23242,23243],{"class":4590},"useTheme",[4576,23245,4594],{"class":4586},[4576,23247,4597],{"class":4582},[4576,23249,23250],{"class":4600}," '@\u002Fshared\u002Ftheme'",[4576,23252,4604],{"class":4586},[4576,23254,23255],{"class":4578,"line":4696},[4576,23256,4644],{"emptyLinePlaceholder":4643},[4576,23258,23259,23261,23264],{"class":4578,"line":4701},[4576,23260,17946],{"class":4653},[4576,23262,23263],{"class":4657}," RootNavigator",[4576,23265,4661],{"class":4586},[4576,23267,23268,23270,23272,23275,23277,23280,23283,23285],{"class":4578,"line":4710},[4576,23269,4667],{"class":4653},[4576,23271,4587],{"class":4586},[4576,23273,23274],{"class":4673},"colors",[4576,23276,3806],{"class":4586},[4576,23278,23279],{"class":4673},"scheme",[4576,23281,23282],{"class":4586}," } = ",[4576,23284,23243],{"class":4657},[4576,23286,23287],{"class":4586},"();\n",[4576,23289,23290],{"class":4578,"line":4745},[4576,23291,4644],{"emptyLinePlaceholder":4643},[4576,23293,23294,23296],{"class":4578,"line":4781},[4576,23295,4704],{"class":4582},[4576,23297,4707],{"class":4586},[4576,23299,23300],{"class":4578,"line":4789},[4576,23301,23302],{"class":4713},"    \u003C>\n",[4576,23304,23305,23307,23309,23311,23313,23315,23317,23319,23322,23324,23327,23329,23331,23333],{"class":4578,"line":4804},[4576,23306,4748],{"class":4713},[4576,23308,23200],{"class":4717},[4576,23310,4721],{"class":4720},[4576,23312,4724],{"class":4586},[4576,23314,4727],{"class":4653},[4576,23316,23279],{"class":4590},[4576,23318,10519],{"class":4586},[4576,23320,23321],{"class":4600}," 'dark'",[4576,23323,7282],{"class":4586},[4576,23325,23326],{"class":4600}," 'light'",[4576,23328,8033],{"class":4586},[4576,23330,23321],{"class":4600},[4576,23332,4739],{"class":4653},[4576,23334,7302],{"class":4713},[4576,23336,23337,23339],{"class":4578,"line":4818},[4576,23338,4748],{"class":4713},[4576,23340,23341],{"class":4717},"Stack\n",[4576,23343,23344,23347,23349,23351],{"class":4578,"line":4829},[4576,23345,23346],{"class":4720},"        screenOptions",[4576,23348,4724],{"class":4586},[4576,23350,4727],{"class":4653},[4576,23352,22409],{"class":4733},[4576,23354,23355,23358,23360],{"class":4578,"line":4840},[4576,23356,23357],{"class":4590},"          headerShown:",[4576,23359,14261],{"class":4653},[4576,23361,4992],{"class":4733},[4576,23363,23364,23367,23369,23371,23374,23376,23379],{"class":4578,"line":4851},[4576,23365,23366],{"class":4590},"          contentStyle:",[4576,23368,4587],{"class":4733},[4576,23370,6102],{"class":4590},[4576,23372,23373],{"class":4590}," colors",[4576,23375,3857],{"class":4733},[4576,23377,23378],{"class":4590},"background",[4576,23380,4939],{"class":4733},[4576,23382,23383,23386],{"class":4578,"line":4870},[4576,23384,23385],{"class":4733},"        }",[4576,23387,4801],{"class":4653},[4576,23389,23390],{"class":4578,"line":4876},[4576,23391,4873],{"class":4713},[4576,23393,23394],{"class":4578,"line":4886},[4576,23395,23396],{"class":4713},"    \u003C\u002F>\n",[4576,23398,23399],{"class":4578,"line":4892},[4576,23400,4889],{"class":4586},[4576,23402,23403],{"class":4578,"line":4897},[4576,23404,4801],{"class":4586},[4576,23406,23407],{"class":4578,"line":4902},[4576,23408,4644],{"emptyLinePlaceholder":4643},[4576,23410,23411,23413,23415,23417,23420],{"class":4578,"line":4924},[4576,23412,4650],{"class":4582},[4576,23414,5843],{"class":4582},[4576,23416,4654],{"class":4653},[4576,23418,23419],{"class":4657}," RootLayout",[4576,23421,4661],{"class":4586},[4576,23423,23424,23426],{"class":4578,"line":4942},[4576,23425,4704],{"class":4582},[4576,23427,4707],{"class":4586},[4576,23429,23430,23432,23434],{"class":4578,"line":4974},[4576,23431,4714],{"class":4713},[4576,23433,22178],{"class":4717},[4576,23435,4742],{"class":4713},[4576,23437,23438,23440,23442],{"class":4578,"line":4983},[4576,23439,4748],{"class":4713},[4576,23441,22243],{"class":4717},[4576,23443,4742],{"class":4713},[4576,23445,23446,23448,23451],{"class":4578,"line":4995},[4576,23447,7289],{"class":4713},[4576,23449,23450],{"class":4717},"RootNavigator",[4576,23452,7302],{"class":4713},[4576,23454,23455,23457,23459],{"class":4578,"line":5006},[4576,23456,6238],{"class":4713},[4576,23458,22243],{"class":4717},[4576,23460,4742],{"class":4713},[4576,23462,23463,23465,23467],{"class":4578,"line":5017},[4576,23464,4879],{"class":4713},[4576,23466,22178],{"class":4717},[4576,23468,4742],{"class":4713},[4576,23470,23471],{"class":4578,"line":5027},[4576,23472,4889],{"class":4586},[4576,23474,23475],{"class":4578,"line":5038},[4576,23476,4801],{"class":4586},[3891,23478,23481],{"className":4570,"code":23479,"filename":23480,"language":4572,"meta":3899,"style":3899},"import { useCallback, useState } from 'react';\nimport {\n  FlatList,\n  Pressable,\n  RefreshControl,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport { FlashList } from '@shopify\u002Fflash-list';\nimport { useRouter } from 'expo-router';\n\nimport {\n  mockPlaces,\n  PlaceChip,\n  TripCard,\n  useTrips,\n  type Place,\n  type Trip,\n} from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme, type ThemePreference } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, Screen } from '@\u002Fshared\u002Fui';\n\nconst PREFS: { id: ThemePreference; label: string }[] = [\n  { id: 'system', label: 'Система' },\n  { id: 'light', label: 'Світла' },\n  { id: 'dark', label: 'Темна' },\n];\n\nexport default function HomeScreen() {\n  const router = useRouter();\n  const { trips, resetToMock } = useTrips();\n  const { colors, spacing, preference, setPreference, scheme } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n  const [refreshing, setRefreshing] = useState(false);\n\n  const handleOpenTrip = useCallback((trip: Trip) => {\n    console.log('TODO: відкрити поїздку', trip.id, trip.title);\n  }, []);\n\n  const handleOpenPlace = useCallback((place: Place) => {\n    console.log('TODO: відкрити місце', place.id, place.name);\n  }, []);\n\n  const onRefresh = useCallback(() => {\n    setRefreshing(true);\n    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n    setTimeout(() => {\n      resetToMock();\n      setRefreshing(false);\n    }, 900);\n  }, [resetToMock]);\n\n  const renderTrip = useCallback(\n    ({ item }: { item: Trip }) => (\n      \u003CTripCard trip={item} onPress={handleOpenTrip} \u002F>\n    ),\n    [handleOpenTrip],\n  );\n\n  const keyExtractor = useCallback((item: Trip) => item.id, []);\n\n  const listHeader = (\n    \u003CView style={{ gap: spacing.md, marginBottom: spacing.md }}>\n      {places.length > 0 ? (\n        \u003CView style={{ gap: spacing.sm }}>\n          \u003CAppText style={{ fontWeight: '600' }}>Останні місця\u003C\u002FAppText>\n          \u003CFlatList\n            horizontal\n            data={places}\n            keyExtractor={(item) => item.id}\n            renderItem={({ item }) => (\n              \u003CPlaceChip place={item} onPress={handleOpenPlace} \u002F>\n            )}\n            showsHorizontalScrollIndicator={false}\n            ItemSeparatorComponent={() => \u003CView style={{ width: spacing.sm }} \u002F>}\n            contentContainerStyle={{ paddingVertical: 2 }}\n          \u002F>\n        \u003C\u002FView>\n      ) : null}\n\n      \u003CAppText style={{ fontWeight: '600' }}>Ваші поїздки\u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  const listEmpty = (\n    \u003CView\n      style={[\n        styles.empty,\n        {\n          paddingHorizontal: spacing.sm,\n          paddingVertical: spacing.xl,\n          gap: spacing.sm,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" style={styles.emptyTitle}>\n        Поки немає поїздок\n      \u003C\u002FAppText>\n      \u003CAppText\n        variant=\"caption\"\n        color={colors.textSecondary}\n        style={styles.emptyDesc}\n      >\n        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n      \u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            gap: spacing.xs,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CAppText variant=\"title\">Мандрівник\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Щоденник подорожей · тема: {scheme === 'dark' ? 'темна' : 'світла'}\n        \u003C\u002FAppText>\n        \u003CAppText\n          variant=\"caption\"\n          style={{\n            marginTop: spacing.xs,\n            color: colors.primary,\n            fontWeight: '600',\n          }}\n        >\n          {trips.length > 0\n            ? `${trips.length} поїздок · ${places.length} місць`\n            : 'Список порожній'}\n        \u003C\u002FAppText>\n\n        \u003CView style={[styles.themeRow, { gap: spacing.sm, marginTop: spacing.sm }]}>\n          {PREFS.map((p) => {\n            const active = preference === p.id;\n            return (\n              \u003CPressable\n                key={p.id}\n                onPress={() => setPreference(p.id)}\n                style={[\n                  styles.themeChip,\n                  {\n                    backgroundColor: active ? colors.primary : colors.surface,\n                    borderColor: colors.border,\n                  },\n                ]}\n                accessibilityRole=\"button\"\n                accessibilityState={{ selected: active }}\n                accessibilityLabel={`Тема: ${p.label}`}\n              >\n                \u003CAppText\n                  variant=\"caption\"\n                  color={active ? colors.onPrimary : colors.text}\n                  style={styles.themeChipText}\n                >\n                  {p.label}\n                \u003C\u002FAppText>\n              \u003C\u002FPressable>\n            );\n          })}\n        \u003C\u002FView>\n      \u003C\u002FView>\n\n      \u003CView style={styles.listWrap}>\n        \u003CFlashList\n          data={trips}\n          renderItem={renderTrip}\n          keyExtractor={keyExtractor}\n          ListHeaderComponent={listHeader}\n          ListEmptyComponent={listEmpty}\n          contentContainerStyle={{\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.md,\n            paddingBottom: spacing.md,\n          }}\n          ItemSeparatorComponent={() => \u003CView style={{ height: spacing.md }} \u002F>}\n          refreshControl={\n            \u003CRefreshControl\n              refreshing={refreshing}\n              onRefresh={onRefresh}\n              tintColor={colors.primary}\n              colors={[colors.primary]}\n            \u002F>\n          }\n          showsVerticalScrollIndicator={false}\n        \u002F>\n      \u003C\u002FView>\n\n      \u003CView\n        style={[\n          styles.footer,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderTopColor: colors.border,\n            backgroundColor: colors.background,\n          },\n        ]}\n      >\n        \u003CButton\n          label=\"Нова поїздка\"\n          onPress={() => {\n            router.push('\u002Fcreate-trip');\n          }}\n        \u002F>\n      \u003C\u002FView>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  themeRow: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  themeChip: {\n    paddingHorizontal: 12,\n    paddingVertical: 8,\n    borderRadius: 8,\n    borderWidth: 1,\n  },\n  themeChipText: {\n    fontWeight: '600',\n  },\n  listWrap: {\n    flex: 1,\n  },\n  empty: {\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  emptyTitle: {\n    textAlign: 'center',\n  },\n  emptyDesc: {\n    textAlign: 'center',\n  },\n  footer: {\n    borderTopWidth: 1,\n  },\n});\n","app\u002Findex.tsx",[3803,23482,23483,23504,23510,23517,23523,23530,23536,23542,23552,23570,23587,23591,23597,23604,23611,23618,23625,23635,23644,23654,23677,23702,23706,23734,23753,23770,23787,23791,23795,23808,23821,23841,23874,23900,23924,23928,23954,23986,23991,23995,24021,24052,24056,24060,24078,24089,24094,24105,24112,24123,24133,24143,24147,24161,24182,24213,24218,24228,24232,24236,24269,24273,24283,24323,24343,24372,24405,24412,24417,24430,24455,24474,24505,24512,24521,24563,24582,24587,24595,24603,24607,24640,24648,24652,24656,24665,24672,24682,24693,24698,24711,24725,24738,24743,24749,24753,24784,24789,24797,24804,24814,24832,24849,24853,24858,24866,24874,24878,24882,24888,24910,24916,24926,24936,24941,24954,24967,24980,24994,25008,25013,25019,25023,25047,25082,25107,25115,25121,25130,25140,25153,25167,25176,25182,25186,25201,25236,25246,25254,25258,25305,25326,25351,25358,25364,25381,25409,25420,25432,25437,25463,25476,25481,25488,25498,25518,25545,25550,25556,25565,25596,25614,25619,25632,25640,25648,25653,25660,25668,25676,25680,25703,25710,25723,25737,25751,25765,25779,25790,25802,25814,25826,25832,25874,25883,25890,25903,25917,25934,25955,25959,25964,25973,25977,25985,25989,25995,26005,26016,26020,26032,26044,26056,26069,26082,26086,26092,26096,26103,26113,26127,26144,26150,26154,26162,26170,26174,26178,26182,26198,26204,26212,26216,26222,26231,26235,26242,26250,26260,26264,26271,26279,26287,26295,26303,26307,26314,26322,26326,26333,26341,26345,26352,26360,26368,26372,26379,26388,26392,26399,26407,26411,26418,26427,26431],{"__ignoreMap":3899},[4576,23484,23485,23487,23489,23492,23494,23496,23498,23500,23502],{"class":4578,"line":4579},[4576,23486,4583],{"class":4582},[4576,23488,4587],{"class":4586},[4576,23490,23491],{"class":4590},"useCallback",[4576,23493,3806],{"class":4586},[4576,23495,4591],{"class":4590},[4576,23497,4594],{"class":4586},[4576,23499,4597],{"class":4582},[4576,23501,4601],{"class":4600},[4576,23503,4604],{"class":4586},[4576,23505,23506,23508],{"class":4578,"line":4607},[4576,23507,4583],{"class":4582},[4576,23509,4980],{"class":4586},[4576,23511,23512,23515],{"class":4578,"line":4640},[4576,23513,23514],{"class":4590},"  FlatList",[4576,23516,4992],{"class":4586},[4576,23518,23519,23521],{"class":4578,"line":4647},[4576,23520,14684],{"class":4590},[4576,23522,4992],{"class":4586},[4576,23524,23525,23528],{"class":4578,"line":4664},[4576,23526,23527],{"class":4590},"  RefreshControl",[4576,23529,4992],{"class":4586},[4576,23531,23532,23534],{"class":4578,"line":4696},[4576,23533,5798],{"class":4590},[4576,23535,4992],{"class":4586},[4576,23537,23538,23540],{"class":4578,"line":4701},[4576,23539,14722],{"class":4590},[4576,23541,4992],{"class":4586},[4576,23543,23544,23546,23548,23550],{"class":4578,"line":4710},[4576,23545,5826],{"class":4586},[4576,23547,4597],{"class":4582},[4576,23549,4635],{"class":4600},[4576,23551,4604],{"class":4586},[4576,23553,23554,23556,23558,23561,23563,23565,23568],{"class":4578,"line":4745},[4576,23555,4583],{"class":4582},[4576,23557,4587],{"class":4586},[4576,23559,23560],{"class":4590},"FlashList",[4576,23562,4594],{"class":4586},[4576,23564,4597],{"class":4582},[4576,23566,23567],{"class":4600}," '@shopify\u002Fflash-list'",[4576,23569,4604],{"class":4586},[4576,23571,23572,23574,23576,23579,23581,23583,23585],{"class":4578,"line":4781},[4576,23573,4583],{"class":4582},[4576,23575,4587],{"class":4586},[4576,23577,23578],{"class":4590},"useRouter",[4576,23580,4594],{"class":4586},[4576,23582,4597],{"class":4582},[4576,23584,23189],{"class":4600},[4576,23586,4604],{"class":4586},[4576,23588,23589],{"class":4578,"line":4789},[4576,23590,4644],{"emptyLinePlaceholder":4643},[4576,23592,23593,23595],{"class":4578,"line":4804},[4576,23594,4583],{"class":4582},[4576,23596,4980],{"class":4586},[4576,23598,23599,23602],{"class":4578,"line":4818},[4576,23600,23601],{"class":4590},"  mockPlaces",[4576,23603,4992],{"class":4586},[4576,23605,23606,23609],{"class":4578,"line":4829},[4576,23607,23608],{"class":4590},"  PlaceChip",[4576,23610,4992],{"class":4586},[4576,23612,23613,23616],{"class":4578,"line":4840},[4576,23614,23615],{"class":4590},"  TripCard",[4576,23617,4992],{"class":4586},[4576,23619,23620,23623],{"class":4578,"line":4851},[4576,23621,23622],{"class":4590},"  useTrips",[4576,23624,4992],{"class":4586},[4576,23626,23627,23630,23633],{"class":4578,"line":4870},[4576,23628,23629],{"class":4582},"  type",[4576,23631,23632],{"class":4590}," Place",[4576,23634,4992],{"class":4586},[4576,23636,23637,23639,23642],{"class":4578,"line":4876},[4576,23638,23629],{"class":4582},[4576,23640,23641],{"class":4590}," Trip",[4576,23643,4992],{"class":4586},[4576,23645,23646,23648,23650,23652],{"class":4578,"line":4886},[4576,23647,5826],{"class":4586},[4576,23649,4597],{"class":4582},[4576,23651,23228],{"class":4600},[4576,23653,4604],{"class":4586},[4576,23655,23656,23658,23660,23662,23664,23666,23669,23671,23673,23675],{"class":4578,"line":4892},[4576,23657,4583],{"class":4582},[4576,23659,4587],{"class":4586},[4576,23661,23243],{"class":4590},[4576,23663,3806],{"class":4586},[4576,23665,4083],{"class":4582},[4576,23667,23668],{"class":4590}," ThemePreference",[4576,23670,4594],{"class":4586},[4576,23672,4597],{"class":4582},[4576,23674,23250],{"class":4600},[4576,23676,4604],{"class":4586},[4576,23678,23679,23681,23683,23685,23687,23689,23691,23693,23695,23697,23700],{"class":4578,"line":4897},[4576,23680,4583],{"class":4582},[4576,23682,4587],{"class":4586},[4576,23684,22187],{"class":4590},[4576,23686,3806],{"class":4586},[4576,23688,6932],{"class":4590},[4576,23690,3806],{"class":4586},[4576,23692,22184],{"class":4590},[4576,23694,4594],{"class":4586},[4576,23696,4597],{"class":4582},[4576,23698,23699],{"class":4600}," '@\u002Fshared\u002Fui'",[4576,23701,4604],{"class":4586},[4576,23703,23704],{"class":4578,"line":4902},[4576,23705,4644],{"emptyLinePlaceholder":4643},[4576,23707,23708,23710,23713,23715,23718,23720,23723,23725,23727,23729,23731],{"class":4578,"line":4924},[4576,23709,4905],{"class":4653},[4576,23711,23712],{"class":4673}," PREFS",[4576,23714,13063],{"class":4586},[4576,23716,23717],{"class":4590},"id",[4576,23719,7093],{"class":4586},[4576,23721,23722],{"class":4717},"ThemePreference",[4576,23724,14763],{"class":4586},[4576,23726,4763],{"class":4590},[4576,23728,7093],{"class":4586},[4576,23730,4349],{"class":4717},[4576,23732,23733],{"class":4586}," }[] = [\n",[4576,23735,23736,23738,23741,23744,23746,23748,23751],{"class":4578,"line":4942},[4576,23737,17511],{"class":4586},[4576,23739,23740],{"class":4590},"id:",[4576,23742,23743],{"class":4600}," 'system'",[4576,23745,3806],{"class":4586},[4576,23747,17526],{"class":4590},[4576,23749,23750],{"class":4600}," 'Система'",[4576,23752,4939],{"class":4586},[4576,23754,23755,23757,23759,23761,23763,23765,23768],{"class":4578,"line":4974},[4576,23756,17511],{"class":4586},[4576,23758,23740],{"class":4590},[4576,23760,23326],{"class":4600},[4576,23762,3806],{"class":4586},[4576,23764,17526],{"class":4590},[4576,23766,23767],{"class":4600}," 'Світла'",[4576,23769,4939],{"class":4586},[4576,23771,23772,23774,23776,23778,23780,23782,23785],{"class":4578,"line":4983},[4576,23773,17511],{"class":4586},[4576,23775,23740],{"class":4590},[4576,23777,23321],{"class":4600},[4576,23779,3806],{"class":4586},[4576,23781,17526],{"class":4590},[4576,23783,23784],{"class":4600}," 'Темна'",[4576,23786,4939],{"class":4586},[4576,23788,23789],{"class":4578,"line":4995},[4576,23790,11169],{"class":4586},[4576,23792,23793],{"class":4578,"line":5006},[4576,23794,4644],{"emptyLinePlaceholder":4643},[4576,23796,23797,23799,23801,23803,23806],{"class":4578,"line":5017},[4576,23798,4650],{"class":4582},[4576,23800,5843],{"class":4582},[4576,23802,4654],{"class":4653},[4576,23804,23805],{"class":4657}," HomeScreen",[4576,23807,4661],{"class":4586},[4576,23809,23810,23812,23815,23817,23819],{"class":4578,"line":5027},[4576,23811,4667],{"class":4653},[4576,23813,23814],{"class":4673}," router",[4576,23816,4911],{"class":4586},[4576,23818,23578],{"class":4657},[4576,23820,23287],{"class":4586},[4576,23822,23823,23825,23827,23830,23832,23835,23837,23839],{"class":4578,"line":5038},[4576,23824,4667],{"class":4653},[4576,23826,4587],{"class":4586},[4576,23828,23829],{"class":4673},"trips",[4576,23831,3806],{"class":4586},[4576,23833,23834],{"class":4673},"resetToMock",[4576,23836,23282],{"class":4586},[4576,23838,22246],{"class":4657},[4576,23840,23287],{"class":4586},[4576,23842,23843,23845,23847,23849,23851,23854,23856,23859,23861,23864,23866,23868,23870,23872],{"class":4578,"line":5049},[4576,23844,4667],{"class":4653},[4576,23846,4587],{"class":4586},[4576,23848,23274],{"class":4673},[4576,23850,3806],{"class":4586},[4576,23852,23853],{"class":4673},"spacing",[4576,23855,3806],{"class":4586},[4576,23857,23858],{"class":4673},"preference",[4576,23860,3806],{"class":4586},[4576,23862,23863],{"class":4673},"setPreference",[4576,23865,3806],{"class":4586},[4576,23867,23279],{"class":4673},[4576,23869,23282],{"class":4586},[4576,23871,23243],{"class":4657},[4576,23873,23287],{"class":4586},[4576,23875,23876,23878,23880,23883,23885,23887,23889,23892,23895,23898],{"class":4578,"line":5055},[4576,23877,4667],{"class":4653},[4576,23879,4670],{"class":4586},[4576,23881,23882],{"class":4673},"places",[4576,23884,4682],{"class":4586},[4576,23886,4591],{"class":4657},[4576,23888,5439],{"class":4586},[4576,23890,23891],{"class":4717},"Place",[4576,23893,23894],{"class":4586},"[]>(",[4576,23896,23897],{"class":4590},"mockPlaces",[4576,23899,4693],{"class":4586},[4576,23901,23902,23904,23906,23909,23911,23914,23916,23918,23920,23922],{"class":4578,"line":5744},[4576,23903,4667],{"class":4653},[4576,23905,4670],{"class":4586},[4576,23907,23908],{"class":4673},"refreshing",[4576,23910,3806],{"class":4586},[4576,23912,23913],{"class":4673},"setRefreshing",[4576,23915,4682],{"class":4586},[4576,23917,4591],{"class":4657},[4576,23919,4687],{"class":4586},[4576,23921,5161],{"class":4653},[4576,23923,4693],{"class":4586},[4576,23925,23926],{"class":4578,"line":6299},[4576,23927,4644],{"emptyLinePlaceholder":4643},[4576,23929,23930,23932,23935,23937,23939,23941,23944,23946,23948,23950,23952],{"class":4578,"line":6312},[4576,23931,4667],{"class":4653},[4576,23933,23934],{"class":4673}," handleOpenTrip",[4576,23936,4911],{"class":4586},[4576,23938,23491],{"class":4657},[4576,23940,7962],{"class":4586},[4576,23942,23943],{"class":4590},"trip",[4576,23945,7093],{"class":4586},[4576,23947,22162],{"class":4717},[4576,23949,7968],{"class":4586},[4576,23951,5537],{"class":4653},[4576,23953,4980],{"class":4586},[4576,23955,23956,23959,23961,23963,23965,23968,23970,23972,23974,23976,23978,23980,23982,23984],{"class":4578,"line":6325},[4576,23957,23958],{"class":4590},"    console",[4576,23960,3857],{"class":4586},[4576,23962,5715],{"class":4657},[4576,23964,4687],{"class":4586},[4576,23966,23967],{"class":4600},"'TODO: відкрити поїздку'",[4576,23969,3806],{"class":4586},[4576,23971,23943],{"class":4590},[4576,23973,3857],{"class":4586},[4576,23975,23717],{"class":4590},[4576,23977,3806],{"class":4586},[4576,23979,23943],{"class":4590},[4576,23981,3857],{"class":4586},[4576,23983,7140],{"class":4590},[4576,23985,4693],{"class":4586},[4576,23987,23988],{"class":4578,"line":6335},[4576,23989,23990],{"class":4586},"  }, []);\n",[4576,23992,23993],{"class":4578,"line":6350},[4576,23994,4644],{"emptyLinePlaceholder":4643},[4576,23996,23997,23999,24002,24004,24006,24008,24011,24013,24015,24017,24019],{"class":4578,"line":6359},[4576,23998,4667],{"class":4653},[4576,24000,24001],{"class":4673}," handleOpenPlace",[4576,24003,4911],{"class":4586},[4576,24005,23491],{"class":4657},[4576,24007,7962],{"class":4586},[4576,24009,24010],{"class":4590},"place",[4576,24012,7093],{"class":4586},[4576,24014,23891],{"class":4717},[4576,24016,7968],{"class":4586},[4576,24018,5537],{"class":4653},[4576,24020,4980],{"class":4586},[4576,24022,24023,24025,24027,24029,24031,24034,24036,24038,24040,24042,24044,24046,24048,24050],{"class":4578,"line":6368},[4576,24024,23958],{"class":4590},[4576,24026,3857],{"class":4586},[4576,24028,5715],{"class":4657},[4576,24030,4687],{"class":4586},[4576,24032,24033],{"class":4600},"'TODO: відкрити місце'",[4576,24035,3806],{"class":4586},[4576,24037,24010],{"class":4590},[4576,24039,3857],{"class":4586},[4576,24041,23717],{"class":4590},[4576,24043,3806],{"class":4586},[4576,24045,24010],{"class":4590},[4576,24047,3857],{"class":4586},[4576,24049,4674],{"class":4590},[4576,24051,4693],{"class":4586},[4576,24053,24054],{"class":4578,"line":6377},[4576,24055,23990],{"class":4586},[4576,24057,24058],{"class":4578,"line":6417},[4576,24059,4644],{"emptyLinePlaceholder":4643},[4576,24061,24062,24064,24067,24069,24071,24074,24076],{"class":4578,"line":6422},[4576,24063,4667],{"class":4653},[4576,24065,24066],{"class":4673}," onRefresh",[4576,24068,4911],{"class":4586},[4576,24070,23491],{"class":4657},[4576,24072,24073],{"class":4586},"(() ",[4576,24075,5537],{"class":4653},[4576,24077,4980],{"class":4586},[4576,24079,24080,24083,24085,24087],{"class":4578,"line":6427},[4576,24081,24082],{"class":4657},"    setRefreshing",[4576,24084,4687],{"class":4586},[4576,24086,3763],{"class":4653},[4576,24088,4693],{"class":4586},[4576,24090,24091],{"class":4578,"line":6469},[4576,24092,24093],{"class":9599},"    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n",[4576,24095,24096,24099,24101,24103],{"class":4578,"line":6476},[4576,24097,24098],{"class":4657},"    setTimeout",[4576,24100,24073],{"class":4586},[4576,24102,5537],{"class":4653},[4576,24104,4980],{"class":4586},[4576,24106,24107,24110],{"class":4578,"line":6489},[4576,24108,24109],{"class":4657},"      resetToMock",[4576,24111,23287],{"class":4586},[4576,24113,24114,24117,24119,24121],{"class":4578,"line":6502},[4576,24115,24116],{"class":4657},"      setRefreshing",[4576,24118,4687],{"class":4586},[4576,24120,5161],{"class":4653},[4576,24122,4693],{"class":4586},[4576,24124,24125,24128,24131],{"class":4578,"line":6512},[4576,24126,24127],{"class":4586},"    }, ",[4576,24129,24130],{"class":4935},"900",[4576,24132,4693],{"class":4586},[4576,24134,24135,24138,24140],{"class":4578,"line":6525},[4576,24136,24137],{"class":4586},"  }, [",[4576,24139,23834],{"class":4590},[4576,24141,24142],{"class":4586},"]);\n",[4576,24144,24145],{"class":4578,"line":6535},[4576,24146,4644],{"emptyLinePlaceholder":4643},[4576,24148,24149,24151,24154,24156,24158],{"class":4578,"line":6574},[4576,24150,4667],{"class":4653},[4576,24152,24153],{"class":4673}," renderTrip",[4576,24155,4911],{"class":4586},[4576,24157,23491],{"class":4657},[4576,24159,24160],{"class":4586},"(\n",[4576,24162,24163,24166,24168,24170,24172,24174,24176,24178,24180],{"class":4578,"line":6579},[4576,24164,24165],{"class":4586},"    ({ ",[4576,24167,11376],{"class":4590},[4576,24169,17957],{"class":4586},[4576,24171,11376],{"class":4590},[4576,24173,7093],{"class":4586},[4576,24175,22162],{"class":4717},[4576,24177,7204],{"class":4586},[4576,24179,5537],{"class":4653},[4576,24181,4707],{"class":4586},[4576,24183,24184,24186,24189,24192,24194,24196,24198,24200,24202,24204,24206,24209,24211],{"class":4578,"line":6584},[4576,24185,4748],{"class":4713},[4576,24187,24188],{"class":4717},"TripCard",[4576,24190,24191],{"class":4720}," trip",[4576,24193,4724],{"class":4586},[4576,24195,4727],{"class":4653},[4576,24197,11376],{"class":4590},[4576,24199,4739],{"class":4653},[4576,24201,16453],{"class":4720},[4576,24203,4724],{"class":4586},[4576,24205,4727],{"class":4653},[4576,24207,24208],{"class":4590},"handleOpenTrip",[4576,24210,4739],{"class":4653},[4576,24212,7302],{"class":4713},[4576,24214,24215],{"class":4578,"line":6626},[4576,24216,24217],{"class":4586},"    ),\n",[4576,24219,24220,24223,24225],{"class":4578,"line":6633},[4576,24221,24222],{"class":4586},"    [",[4576,24224,24208],{"class":4590},[4576,24226,24227],{"class":4586},"],\n",[4576,24229,24230],{"class":4578,"line":6646},[4576,24231,4889],{"class":4586},[4576,24233,24234],{"class":4578,"line":6659},[4576,24235,4644],{"emptyLinePlaceholder":4643},[4576,24237,24238,24240,24243,24245,24247,24249,24251,24253,24255,24257,24259,24262,24264,24266],{"class":4578,"line":6669},[4576,24239,4667],{"class":4653},[4576,24241,24242],{"class":4673}," keyExtractor",[4576,24244,4911],{"class":4586},[4576,24246,23491],{"class":4657},[4576,24248,7962],{"class":4586},[4576,24250,11376],{"class":4590},[4576,24252,7093],{"class":4586},[4576,24254,22162],{"class":4717},[4576,24256,7968],{"class":4586},[4576,24258,5537],{"class":4653},[4576,24260,24261],{"class":4590}," item",[4576,24263,3857],{"class":4586},[4576,24265,23717],{"class":4590},[4576,24267,24268],{"class":4586},", []);\n",[4576,24270,24271],{"class":4578,"line":6682},[4576,24272,4644],{"emptyLinePlaceholder":4643},[4576,24274,24275,24277,24280],{"class":4578,"line":6688},[4576,24276,4667],{"class":4653},[4576,24278,24279],{"class":4657}," listHeader",[4576,24281,24282],{"class":4586}," = (\n",[4576,24284,24285,24287,24289,24291,24293,24295,24297,24299,24302,24304,24307,24309,24311,24313,24315,24317,24319,24321],{"class":4578,"line":6699},[4576,24286,4714],{"class":4713},[4576,24288,4628],{"class":4717},[4576,24290,4721],{"class":4720},[4576,24292,4724],{"class":4586},[4576,24294,4727],{"class":4653},[4576,24296,6092],{"class":4733},[4576,24298,4932],{"class":4590},[4576,24300,24301],{"class":4590}," spacing",[4576,24303,3857],{"class":4733},[4576,24305,24306],{"class":4590},"md",[4576,24308,3806],{"class":4733},[4576,24310,21495],{"class":4590},[4576,24312,24301],{"class":4590},[4576,24314,3857],{"class":4733},[4576,24316,24306],{"class":4590},[4576,24318,6107],{"class":4733},[4576,24320,4739],{"class":4653},[4576,24322,4742],{"class":4713},[4576,24324,24325,24327,24329,24331,24333,24336,24339,24341],{"class":4578,"line":6711},[4576,24326,7277],{"class":4653},[4576,24328,23882],{"class":4590},[4576,24330,3857],{"class":4733},[4576,24332,12556],{"class":4590},[4576,24334,24335],{"class":4586}," >",[4576,24337,24338],{"class":4935}," 0",[4576,24340,7282],{"class":4586},[4576,24342,4707],{"class":4733},[4576,24344,24345,24347,24349,24351,24353,24355,24357,24359,24361,24363,24366,24368,24370],{"class":4578,"line":6723},[4576,24346,7289],{"class":4713},[4576,24348,4628],{"class":4717},[4576,24350,4721],{"class":4720},[4576,24352,4724],{"class":4586},[4576,24354,4727],{"class":4653},[4576,24356,6092],{"class":4733},[4576,24358,4932],{"class":4590},[4576,24360,24301],{"class":4590},[4576,24362,3857],{"class":4733},[4576,24364,24365],{"class":4590},"sm",[4576,24367,6107],{"class":4733},[4576,24369,4739],{"class":4653},[4576,24371,4742],{"class":4713},[4576,24373,24374,24376,24378,24380,24382,24384,24386,24388,24390,24392,24394,24396,24399,24401,24403],{"class":4578,"line":6735},[4576,24375,9168],{"class":4713},[4576,24377,22187],{"class":4717},[4576,24379,4721],{"class":4720},[4576,24381,4724],{"class":4586},[4576,24383,4727],{"class":4653},[4576,24385,6092],{"class":4733},[4576,24387,4958],{"class":4590},[4576,24389,8726],{"class":4600},[4576,24391,6107],{"class":4733},[4576,24393,4739],{"class":4653},[4576,24395,4768],{"class":4713},[4576,24397,24398],{"class":4733},"Останні місця",[4576,24400,4774],{"class":4713},[4576,24402,22187],{"class":4717},[4576,24404,4742],{"class":4713},[4576,24406,24407,24409],{"class":4578,"line":6759},[4576,24408,9168],{"class":4713},[4576,24410,24411],{"class":4717},"FlatList\n",[4576,24413,24414],{"class":4578,"line":6767},[4576,24415,24416],{"class":4720},"            horizontal\n",[4576,24418,24419,24422,24424,24426,24428],{"class":4578,"line":6772},[4576,24420,24421],{"class":4720},"            data",[4576,24423,4724],{"class":4586},[4576,24425,4727],{"class":4653},[4576,24427,23882],{"class":4590},[4576,24429,4801],{"class":4653},[4576,24431,24432,24435,24437,24439,24441,24443,24445,24447,24449,24451,24453],{"class":4578,"line":6781},[4576,24433,24434],{"class":4720},"            keyExtractor",[4576,24436,4724],{"class":4586},[4576,24438,4727],{"class":4653},[4576,24440,4687],{"class":4733},[4576,24442,11376],{"class":4590},[4576,24444,7968],{"class":4733},[4576,24446,5537],{"class":4653},[4576,24448,24261],{"class":4590},[4576,24450,3857],{"class":4733},[4576,24452,23717],{"class":4590},[4576,24454,4801],{"class":4653},[4576,24456,24457,24460,24462,24464,24466,24468,24470,24472],{"class":4578,"line":6786},[4576,24458,24459],{"class":4720},"            renderItem",[4576,24461,4724],{"class":4586},[4576,24463,4727],{"class":4653},[4576,24465,7128],{"class":4733},[4576,24467,11376],{"class":4590},[4576,24469,7204],{"class":4733},[4576,24471,5537],{"class":4653},[4576,24473,4707],{"class":4733},[4576,24475,24476,24478,24481,24484,24486,24488,24490,24492,24494,24496,24498,24501,24503],{"class":4578,"line":6791},[4576,24477,19134],{"class":4713},[4576,24479,24480],{"class":4717},"PlaceChip",[4576,24482,24483],{"class":4720}," place",[4576,24485,4724],{"class":4586},[4576,24487,4727],{"class":4653},[4576,24489,11376],{"class":4590},[4576,24491,4739],{"class":4653},[4576,24493,16453],{"class":4720},[4576,24495,4724],{"class":4586},[4576,24497,4727],{"class":4653},[4576,24499,24500],{"class":4590},"handleOpenPlace",[4576,24502,4739],{"class":4653},[4576,24504,7302],{"class":4713},[4576,24506,24507,24510],{"class":4578,"line":6796},[4576,24508,24509],{"class":4733},"            )",[4576,24511,4801],{"class":4653},[4576,24513,24514,24517,24519],{"class":4578,"line":6813},[4576,24515,24516],{"class":4720},"            showsHorizontalScrollIndicator",[4576,24518,4724],{"class":4586},[4576,24520,4848],{"class":4653},[4576,24522,24523,24526,24528,24530,24532,24534,24536,24538,24540,24542,24544,24546,24549,24551,24553,24555,24557,24559,24561],{"class":4578,"line":6838},[4576,24524,24525],{"class":4720},"            ItemSeparatorComponent",[4576,24527,4724],{"class":4586},[4576,24529,4727],{"class":4653},[4576,24531,5534],{"class":4733},[4576,24533,5537],{"class":4653},[4576,24535,13182],{"class":4713},[4576,24537,4628],{"class":4717},[4576,24539,4721],{"class":4720},[4576,24541,4724],{"class":4586},[4576,24543,4727],{"class":4653},[4576,24545,6092],{"class":4733},[4576,24547,24548],{"class":4590},"width:",[4576,24550,24301],{"class":4590},[4576,24552,3857],{"class":4733},[4576,24554,24365],{"class":4590},[4576,24556,6107],{"class":4733},[4576,24558,4739],{"class":4653},[4576,24560,14484],{"class":4713},[4576,24562,4801],{"class":4653},[4576,24564,24565,24568,24570,24572,24574,24576,24578,24580],{"class":4578,"line":6845},[4576,24566,24567],{"class":4720},"            contentContainerStyle",[4576,24569,4724],{"class":4586},[4576,24571,4727],{"class":4653},[4576,24573,6092],{"class":4733},[4576,24575,8160],{"class":4590},[4576,24577,8754],{"class":4935},[4576,24579,6107],{"class":4733},[4576,24581,4801],{"class":4653},[4576,24583,24584],{"class":4578,"line":6854},[4576,24585,24586],{"class":4713},"          \u002F>\n",[4576,24588,24589,24591,24593],{"class":4578,"line":6863},[4576,24590,9273],{"class":4713},[4576,24592,4628],{"class":4717},[4576,24594,4742],{"class":4713},[4576,24596,24597,24599,24601],{"class":4578,"line":6872},[4576,24598,7307],{"class":4733},[4576,24600,6978],{"class":4586},[4576,24602,16009],{"class":4653},[4576,24604,24605],{"class":4578,"line":6881},[4576,24606,4644],{"emptyLinePlaceholder":4643},[4576,24608,24609,24611,24613,24615,24617,24619,24621,24623,24625,24627,24629,24631,24634,24636,24638],{"class":4578,"line":6890},[4576,24610,4748],{"class":4713},[4576,24612,22187],{"class":4717},[4576,24614,4721],{"class":4720},[4576,24616,4724],{"class":4586},[4576,24618,4727],{"class":4653},[4576,24620,6092],{"class":4733},[4576,24622,4958],{"class":4590},[4576,24624,8726],{"class":4600},[4576,24626,6107],{"class":4733},[4576,24628,4739],{"class":4653},[4576,24630,4768],{"class":4713},[4576,24632,24633],{"class":4586},"Ваші поїздки",[4576,24635,4774],{"class":4713},[4576,24637,22187],{"class":4717},[4576,24639,4742],{"class":4713},[4576,24641,24642,24644,24646],{"class":4578,"line":6899},[4576,24643,4879],{"class":4713},[4576,24645,4628],{"class":4717},[4576,24647,4742],{"class":4713},[4576,24649,24650],{"class":4578,"line":6904},[4576,24651,4889],{"class":4586},[4576,24653,24654],{"class":4578,"line":6920},[4576,24655,4644],{"emptyLinePlaceholder":4643},[4576,24657,24658,24660,24663],{"class":4578,"line":16012},[4576,24659,4667],{"class":4653},[4576,24661,24662],{"class":4657}," listEmpty",[4576,24664,24282],{"class":4586},[4576,24666,24667,24669],{"class":4578,"line":16017},[4576,24668,4714],{"class":4713},[4576,24670,24671],{"class":4717},"View\n",[4576,24673,24674,24676,24678,24680],{"class":4578,"line":16058},[4576,24675,6085],{"class":4720},[4576,24677,4724],{"class":4586},[4576,24679,4727],{"class":4653},[4576,24681,6708],{"class":4733},[4576,24683,24684,24686,24688,24691],{"class":4578,"line":16065},[4576,24685,7214],{"class":4590},[4576,24687,3857],{"class":4733},[4576,24689,24690],{"class":4590},"empty",[4576,24692,4992],{"class":4733},[4576,24694,24695],{"class":4578,"line":16078},[4576,24696,24697],{"class":4733},"        {\n",[4576,24699,24700,24703,24705,24707,24709],{"class":4578,"line":16091},[4576,24701,24702],{"class":4590},"          paddingHorizontal:",[4576,24704,24301],{"class":4590},[4576,24706,3857],{"class":4733},[4576,24708,24365],{"class":4590},[4576,24710,4992],{"class":4733},[4576,24712,24713,24716,24718,24720,24723],{"class":4578,"line":16101},[4576,24714,24715],{"class":4590},"          paddingVertical:",[4576,24717,24301],{"class":4590},[4576,24719,3857],{"class":4733},[4576,24721,24722],{"class":4590},"xl",[4576,24724,4992],{"class":4733},[4576,24726,24727,24730,24732,24734,24736],{"class":4578,"line":16111},[4576,24728,24729],{"class":4590},"          gap:",[4576,24731,24301],{"class":4590},[4576,24733,3857],{"class":4733},[4576,24735,24365],{"class":4590},[4576,24737,4992],{"class":4733},[4576,24739,24740],{"class":4578,"line":16120},[4576,24741,24742],{"class":4733},"        },\n",[4576,24744,24745,24747],{"class":4578,"line":16133},[4576,24746,7266],{"class":4733},[4576,24748,4801],{"class":4653},[4576,24750,24751],{"class":4578,"line":16144},[4576,24752,6150],{"class":4713},[4576,24754,24755,24757,24759,24762,24764,24767,24769,24771,24773,24775,24777,24780,24782],{"class":4578,"line":16155},[4576,24756,4748],{"class":4713},[4576,24758,22187],{"class":4717},[4576,24760,24761],{"class":4720}," variant",[4576,24763,4724],{"class":4586},[4576,24765,24766],{"class":4600},"\"subtitle\"",[4576,24768,4721],{"class":4720},[4576,24770,4724],{"class":4586},[4576,24772,4727],{"class":4653},[4576,24774,4730],{"class":4590},[4576,24776,3857],{"class":4733},[4576,24778,24779],{"class":4590},"emptyTitle",[4576,24781,4739],{"class":4653},[4576,24783,4742],{"class":4713},[4576,24785,24786],{"class":4578,"line":16190},[4576,24787,24788],{"class":4586},"        Поки немає поїздок\n",[4576,24790,24791,24793,24795],{"class":4578,"line":16197},[4576,24792,6238],{"class":4713},[4576,24794,22187],{"class":4717},[4576,24796,4742],{"class":4713},[4576,24798,24799,24801],{"class":4578,"line":16202},[4576,24800,4748],{"class":4713},[4576,24802,24803],{"class":4717},"AppText\n",[4576,24805,24806,24809,24811],{"class":4578,"line":16257},[4576,24807,24808],{"class":4720},"        variant",[4576,24810,4724],{"class":4586},[4576,24812,24813],{"class":4600},"\"caption\"\n",[4576,24815,24816,24819,24821,24823,24825,24827,24830],{"class":4578,"line":16262},[4576,24817,24818],{"class":4720},"        color",[4576,24820,4724],{"class":4586},[4576,24822,4727],{"class":4653},[4576,24824,23274],{"class":4590},[4576,24826,3857],{"class":4733},[4576,24828,24829],{"class":4590},"textSecondary",[4576,24831,4801],{"class":4653},[4576,24833,24834,24836,24838,24840,24842,24844,24847],{"class":4578,"line":16285},[4576,24835,4854],{"class":4720},[4576,24837,4724],{"class":4586},[4576,24839,4727],{"class":4653},[4576,24841,4730],{"class":4590},[4576,24843,3857],{"class":4733},[4576,24845,24846],{"class":4590},"emptyDesc",[4576,24848,4801],{"class":4653},[4576,24850,24851],{"class":4578,"line":16325},[4576,24852,8048],{"class":4713},[4576,24854,24855],{"class":4578,"line":16377},[4576,24856,24857],{"class":4586},"        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n",[4576,24859,24860,24862,24864],{"class":4578,"line":16386},[4576,24861,6238],{"class":4713},[4576,24863,22187],{"class":4717},[4576,24865,4742],{"class":4713},[4576,24867,24868,24870,24872],{"class":4578,"line":16441},[4576,24869,4879],{"class":4713},[4576,24871,4628],{"class":4717},[4576,24873,4742],{"class":4713},[4576,24875,24876],{"class":4578,"line":16446},[4576,24877,4889],{"class":4586},[4576,24879,24880],{"class":4578,"line":16491},[4576,24881,4644],{"emptyLinePlaceholder":4643},[4576,24883,24884,24886],{"class":4578,"line":16523},[4576,24885,4704],{"class":4582},[4576,24887,4707],{"class":4586},[4576,24889,24890,24892,24894,24896,24898,24900,24902,24904,24906,24908],{"class":4578,"line":16532},[4576,24891,4714],{"class":4713},[4576,24893,22184],{"class":4717},[4576,24895,4721],{"class":4720},[4576,24897,4724],{"class":4586},[4576,24899,4727],{"class":4653},[4576,24901,4730],{"class":4590},[4576,24903,3857],{"class":4733},[4576,24905,7833],{"class":4590},[4576,24907,4739],{"class":4653},[4576,24909,4742],{"class":4713},[4576,24911,24912,24914],{"class":4578,"line":16541},[4576,24913,4748],{"class":4713},[4576,24915,24671],{"class":4717},[4576,24917,24918,24920,24922,24924],{"class":4578,"line":16550},[4576,24919,4854],{"class":4720},[4576,24921,4724],{"class":4586},[4576,24923,4727],{"class":4653},[4576,24925,6708],{"class":4733},[4576,24927,24928,24930,24932,24934],{"class":4578,"line":16555},[4576,24929,6714],{"class":4590},[4576,24931,3857],{"class":4733},[4576,24933,10447],{"class":4590},[4576,24935,4992],{"class":4733},[4576,24937,24938],{"class":4578,"line":16560},[4576,24939,24940],{"class":4733},"          {\n",[4576,24942,24943,24946,24948,24950,24952],{"class":4578,"line":16565},[4576,24944,24945],{"class":4590},"            paddingHorizontal:",[4576,24947,24301],{"class":4590},[4576,24949,3857],{"class":4733},[4576,24951,24306],{"class":4590},[4576,24953,4992],{"class":4733},[4576,24955,24956,24959,24961,24963,24965],{"class":4578,"line":16582},[4576,24957,24958],{"class":4590},"            paddingTop:",[4576,24960,24301],{"class":4590},[4576,24962,3857],{"class":4733},[4576,24964,24365],{"class":4590},[4576,24966,4992],{"class":4733},[4576,24968,24969,24972,24974,24976,24978],{"class":4578,"line":16614},[4576,24970,24971],{"class":4590},"            paddingBottom:",[4576,24973,24301],{"class":4590},[4576,24975,3857],{"class":4733},[4576,24977,24306],{"class":4590},[4576,24979,4992],{"class":4733},[4576,24981,24982,24985,24987,24989,24992],{"class":4578,"line":16645},[4576,24983,24984],{"class":4590},"            gap:",[4576,24986,24301],{"class":4590},[4576,24988,3857],{"class":4733},[4576,24990,24991],{"class":4590},"xs",[4576,24993,4992],{"class":4733},[4576,24995,24996,24999,25001,25003,25006],{"class":4578,"line":16652},[4576,24997,24998],{"class":4590},"            borderBottomColor:",[4576,25000,23373],{"class":4590},[4576,25002,3857],{"class":4733},[4576,25004,25005],{"class":4590},"border",[4576,25007,4992],{"class":4733},[4576,25009,25010],{"class":4578,"line":16661},[4576,25011,25012],{"class":4733},"          },\n",[4576,25014,25015,25017],{"class":4578,"line":16670},[4576,25016,6762],{"class":4733},[4576,25018,4801],{"class":4653},[4576,25020,25021],{"class":4578,"line":16679},[4576,25022,8048],{"class":4713},[4576,25024,25025,25027,25029,25031,25033,25036,25038,25041,25043,25045],{"class":4578,"line":16688},[4576,25026,7289],{"class":4713},[4576,25028,22187],{"class":4717},[4576,25030,24761],{"class":4720},[4576,25032,4724],{"class":4586},[4576,25034,25035],{"class":4600},"\"title\"",[4576,25037,4768],{"class":4713},[4576,25039,25040],{"class":4586},"Мандрівник",[4576,25042,4774],{"class":4713},[4576,25044,22187],{"class":4717},[4576,25046,4742],{"class":4713},[4576,25048,25049,25051,25053,25055,25057,25060,25062,25064,25066,25068,25070,25072,25074,25076,25078,25080],{"class":4578,"line":16697},[4576,25050,7289],{"class":4713},[4576,25052,22187],{"class":4717},[4576,25054,24761],{"class":4720},[4576,25056,4724],{"class":4586},[4576,25058,25059],{"class":4600},"\"caption\"",[4576,25061,4721],{"class":4720},[4576,25063,4724],{"class":4586},[4576,25065,4727],{"class":4653},[4576,25067,6092],{"class":4733},[4576,25069,8751],{"class":4590},[4576,25071,24301],{"class":4590},[4576,25073,3857],{"class":4733},[4576,25075,24991],{"class":4590},[4576,25077,6107],{"class":4733},[4576,25079,4739],{"class":4653},[4576,25081,4742],{"class":4713},[4576,25083,25084,25087,25089,25091,25093,25095,25097,25100,25102,25105],{"class":4578,"line":16706},[4576,25085,25086],{"class":4586},"          Щоденник подорожей · тема: ",[4576,25088,4727],{"class":4653},[4576,25090,23279],{"class":4590},[4576,25092,10519],{"class":4586},[4576,25094,23321],{"class":4600},[4576,25096,7282],{"class":4586},[4576,25098,25099],{"class":4600}," 'темна'",[4576,25101,8033],{"class":4586},[4576,25103,25104],{"class":4600}," 'світла'",[4576,25106,4801],{"class":4653},[4576,25108,25109,25111,25113],{"class":4578,"line":16711},[4576,25110,9273],{"class":4713},[4576,25112,22187],{"class":4717},[4576,25114,4742],{"class":4713},[4576,25116,25117,25119],{"class":4578,"line":16742},[4576,25118,7289],{"class":4713},[4576,25120,24803],{"class":4717},[4576,25122,25123,25126,25128],{"class":4578,"line":16773},[4576,25124,25125],{"class":4720},"          variant",[4576,25127,4724],{"class":4586},[4576,25129,24813],{"class":4600},[4576,25131,25132,25134,25136,25138],{"class":4578,"line":16792},[4576,25133,15491],{"class":4720},[4576,25135,4724],{"class":4586},[4576,25137,4727],{"class":4653},[4576,25139,22409],{"class":4733},[4576,25141,25142,25145,25147,25149,25151],{"class":4578,"line":18926},[4576,25143,25144],{"class":4590},"            marginTop:",[4576,25146,24301],{"class":4590},[4576,25148,3857],{"class":4733},[4576,25150,24991],{"class":4590},[4576,25152,4992],{"class":4733},[4576,25154,25155,25158,25160,25162,25165],{"class":4578,"line":18936},[4576,25156,25157],{"class":4590},"            color:",[4576,25159,23373],{"class":4590},[4576,25161,3857],{"class":4733},[4576,25163,25164],{"class":4590},"primary",[4576,25166,4992],{"class":4733},[4576,25168,25169,25172,25174],{"class":4578,"line":18945},[4576,25170,25171],{"class":4590},"            fontWeight:",[4576,25173,8726],{"class":4600},[4576,25175,4992],{"class":4733},[4576,25177,25178,25180],{"class":4578,"line":18955},[4576,25179,15484],{"class":4733},[4576,25181,4801],{"class":4653},[4576,25183,25184],{"class":4578,"line":18964},[4576,25185,11358],{"class":4713},[4576,25187,25188,25190,25192,25194,25196,25198],{"class":4578,"line":18969},[4576,25189,11363],{"class":4653},[4576,25191,23829],{"class":4590},[4576,25193,3857],{"class":4733},[4576,25195,12556],{"class":4590},[4576,25197,24335],{"class":4586},[4576,25199,25200],{"class":4935}," 0\n",[4576,25202,25203,25206,25209,25212,25214,25216,25218,25220,25223,25225,25227,25229,25231,25233],{"class":4578,"line":18976},[4576,25204,25205],{"class":4586},"            ?",[4576,25207,25208],{"class":4600}," `",[4576,25210,25211],{"class":4653},"${",[4576,25213,23829],{"class":4590},[4576,25215,3857],{"class":4733},[4576,25217,12556],{"class":4590},[4576,25219,4739],{"class":4653},[4576,25221,25222],{"class":4600}," поїздок · ",[4576,25224,25211],{"class":4653},[4576,25226,23882],{"class":4590},[4576,25228,3857],{"class":4733},[4576,25230,12556],{"class":4590},[4576,25232,4739],{"class":4653},[4576,25234,25235],{"class":4600}," місць`\n",[4576,25237,25238,25241,25244],{"class":4578,"line":18981},[4576,25239,25240],{"class":4586},"            :",[4576,25242,25243],{"class":4600}," 'Список порожній'",[4576,25245,4801],{"class":4653},[4576,25247,25248,25250,25252],{"class":4578,"line":19008},[4576,25249,9273],{"class":4713},[4576,25251,22187],{"class":4717},[4576,25253,4742],{"class":4713},[4576,25255,25256],{"class":4578,"line":19013},[4576,25257,4644],{"emptyLinePlaceholder":4643},[4576,25259,25260,25262,25264,25266,25268,25270,25272,25274,25276,25279,25281,25283,25285,25287,25289,25291,25293,25295,25297,25299,25301,25303],{"class":4578,"line":19030},[4576,25261,7289],{"class":4713},[4576,25263,4628],{"class":4717},[4576,25265,4721],{"class":4720},[4576,25267,4724],{"class":4586},[4576,25269,4727],{"class":4653},[4576,25271,6261],{"class":4733},[4576,25273,4730],{"class":4590},[4576,25275,3857],{"class":4733},[4576,25277,25278],{"class":4590},"themeRow",[4576,25280,6270],{"class":4733},[4576,25282,4932],{"class":4590},[4576,25284,24301],{"class":4590},[4576,25286,3857],{"class":4733},[4576,25288,24365],{"class":4590},[4576,25290,3806],{"class":4733},[4576,25292,8751],{"class":4590},[4576,25294,24301],{"class":4590},[4576,25296,3857],{"class":4733},[4576,25298,24365],{"class":4590},[4576,25300,6277],{"class":4733},[4576,25302,4739],{"class":4653},[4576,25304,4742],{"class":4713},[4576,25306,25307,25309,25312,25314,25316,25318,25320,25322,25324],{"class":4578,"line":19037},[4576,25308,11363],{"class":4653},[4576,25310,25311],{"class":4673},"PREFS",[4576,25313,3857],{"class":4733},[4576,25315,11371],{"class":4657},[4576,25317,7962],{"class":4733},[4576,25319,3739],{"class":4590},[4576,25321,7968],{"class":4733},[4576,25323,5537],{"class":4653},[4576,25325,4980],{"class":4733},[4576,25327,25328,25331,25334,25337,25340,25342,25345,25347,25349],{"class":4578,"line":19050},[4576,25329,25330],{"class":4653},"            const",[4576,25332,25333],{"class":4673}," active",[4576,25335,25336],{"class":4586}," =",[4576,25338,25339],{"class":4590}," preference",[4576,25341,10519],{"class":4586},[4576,25343,25344],{"class":4590}," p",[4576,25346,3857],{"class":4733},[4576,25348,23717],{"class":4590},[4576,25350,4604],{"class":4733},[4576,25352,25353,25356],{"class":4578,"line":19059},[4576,25354,25355],{"class":4582},"            return",[4576,25357,4707],{"class":4733},[4576,25359,25360,25362],{"class":4578,"line":19086},[4576,25361,19134],{"class":4713},[4576,25363,7162],{"class":4717},[4576,25365,25366,25369,25371,25373,25375,25377,25379],{"class":4578,"line":19131},[4576,25367,25368],{"class":4720},"                key",[4576,25370,4724],{"class":4586},[4576,25372,4727],{"class":4653},[4576,25374,3739],{"class":4590},[4576,25376,3857],{"class":4733},[4576,25378,23717],{"class":4590},[4576,25380,4801],{"class":4653},[4576,25382,25383,25386,25388,25390,25392,25394,25397,25399,25401,25403,25405,25407],{"class":4578,"line":19161},[4576,25384,25385],{"class":4720},"                onPress",[4576,25387,4724],{"class":4586},[4576,25389,4727],{"class":4653},[4576,25391,5534],{"class":4733},[4576,25393,5537],{"class":4653},[4576,25395,25396],{"class":4657}," setPreference",[4576,25398,4687],{"class":4733},[4576,25400,3739],{"class":4590},[4576,25402,3857],{"class":4733},[4576,25404,23717],{"class":4590},[4576,25406,5723],{"class":4733},[4576,25408,4801],{"class":4653},[4576,25410,25411,25414,25416,25418],{"class":4578,"line":19185},[4576,25412,25413],{"class":4720},"                style",[4576,25415,4724],{"class":4586},[4576,25417,4727],{"class":4653},[4576,25419,6708],{"class":4733},[4576,25421,25422,25425,25427,25430],{"class":4578,"line":19237},[4576,25423,25424],{"class":4590},"                  styles",[4576,25426,3857],{"class":4733},[4576,25428,25429],{"class":4590},"themeChip",[4576,25431,4992],{"class":4733},[4576,25433,25434],{"class":4578,"line":19245},[4576,25435,25436],{"class":4733},"                  {\n",[4576,25438,25439,25442,25444,25446,25448,25450,25452,25454,25456,25458,25461],{"class":4578,"line":19255},[4576,25440,25441],{"class":4590},"                    backgroundColor:",[4576,25443,25333],{"class":4590},[4576,25445,7282],{"class":4586},[4576,25447,23373],{"class":4590},[4576,25449,3857],{"class":4733},[4576,25451,25164],{"class":4590},[4576,25453,8033],{"class":4586},[4576,25455,23373],{"class":4590},[4576,25457,3857],{"class":4733},[4576,25459,25460],{"class":4590},"surface",[4576,25462,4992],{"class":4733},[4576,25464,25465,25468,25470,25472,25474],{"class":4578,"line":19265},[4576,25466,25467],{"class":4590},"                    borderColor:",[4576,25469,23373],{"class":4590},[4576,25471,3857],{"class":4733},[4576,25473,25005],{"class":4590},[4576,25475,4992],{"class":4733},[4576,25477,25478],{"class":4578,"line":19272},[4576,25479,25480],{"class":4733},"                  },\n",[4576,25482,25483,25486],{"class":4578,"line":19277},[4576,25484,25485],{"class":4733},"                ]",[4576,25487,4801],{"class":4653},[4576,25489,25490,25493,25495],{"class":4578,"line":19304},[4576,25491,25492],{"class":4720},"                accessibilityRole",[4576,25494,4724],{"class":4586},[4576,25496,25497],{"class":4600},"\"button\"\n",[4576,25499,25500,25503,25505,25507,25509,25512,25514,25516],{"class":4578,"line":19309},[4576,25501,25502],{"class":4720},"                accessibilityState",[4576,25504,4724],{"class":4586},[4576,25506,4727],{"class":4653},[4576,25508,6092],{"class":4733},[4576,25510,25511],{"class":4590},"selected:",[4576,25513,25333],{"class":4590},[4576,25515,6107],{"class":4733},[4576,25517,4801],{"class":4653},[4576,25519,25520,25523,25525,25527,25530,25532,25534,25536,25538,25540,25543],{"class":4578,"line":19334},[4576,25521,25522],{"class":4720},"                accessibilityLabel",[4576,25524,4724],{"class":4586},[4576,25526,4727],{"class":4653},[4576,25528,25529],{"class":4600},"`Тема: ",[4576,25531,25211],{"class":4653},[4576,25533,3739],{"class":4590},[4576,25535,3857],{"class":4733},[4576,25537,4763],{"class":4590},[4576,25539,4739],{"class":4653},[4576,25541,25542],{"class":4600},"`",[4576,25544,4801],{"class":4653},[4576,25546,25547],{"class":4578,"line":19341},[4576,25548,25549],{"class":4713},"              >\n",[4576,25551,25552,25554],{"class":4578,"line":19354},[4576,25553,19653],{"class":4713},[4576,25555,24803],{"class":4717},[4576,25557,25558,25561,25563],{"class":4578,"line":19364},[4576,25559,25560],{"class":4720},"                  variant",[4576,25562,4724],{"class":4586},[4576,25564,24813],{"class":4600},[4576,25566,25567,25570,25572,25574,25577,25579,25581,25583,25586,25588,25590,25592,25594],{"class":4578,"line":19391},[4576,25568,25569],{"class":4720},"                  color",[4576,25571,4724],{"class":4586},[4576,25573,4727],{"class":4653},[4576,25575,25576],{"class":4590},"active",[4576,25578,7282],{"class":4586},[4576,25580,23373],{"class":4590},[4576,25582,3857],{"class":4733},[4576,25584,25585],{"class":4590},"onPrimary",[4576,25587,8033],{"class":4586},[4576,25589,23373],{"class":4590},[4576,25591,3857],{"class":4733},[4576,25593,3896],{"class":4590},[4576,25595,4801],{"class":4653},[4576,25597,25598,25601,25603,25605,25607,25609,25612],{"class":4578,"line":19398},[4576,25599,25600],{"class":4720},"                  style",[4576,25602,4724],{"class":4586},[4576,25604,4727],{"class":4653},[4576,25606,4730],{"class":4590},[4576,25608,3857],{"class":4733},[4576,25610,25611],{"class":4590},"themeChipText",[4576,25613,4801],{"class":4653},[4576,25615,25616],{"class":4578,"line":19412},[4576,25617,25618],{"class":4713},"                >\n",[4576,25620,25621,25624,25626,25628,25630],{"class":4578,"line":19426},[4576,25622,25623],{"class":4653},"                  {",[4576,25625,3739],{"class":4590},[4576,25627,3857],{"class":4733},[4576,25629,4763],{"class":4590},[4576,25631,4801],{"class":4653},[4576,25633,25634,25636,25638],{"class":4578,"line":19440},[4576,25635,19715],{"class":4713},[4576,25637,22187],{"class":4717},[4576,25639,4742],{"class":4713},[4576,25641,25642,25644,25646],{"class":4578,"line":19453},[4576,25643,19248],{"class":4713},[4576,25645,3947],{"class":4717},[4576,25647,4742],{"class":4713},[4576,25649,25650],{"class":4578,"line":19467},[4576,25651,25652],{"class":4733},"            );\n",[4576,25654,25655,25658],{"class":4578,"line":19477},[4576,25656,25657],{"class":4733},"          })",[4576,25659,4801],{"class":4653},[4576,25661,25662,25664,25666],{"class":4578,"line":19487},[4576,25663,9273],{"class":4713},[4576,25665,4628],{"class":4717},[4576,25667,4742],{"class":4713},[4576,25669,25670,25672,25674],{"class":4578,"line":19497},[4576,25671,6238],{"class":4713},[4576,25673,4628],{"class":4717},[4576,25675,4742],{"class":4713},[4576,25677,25678],{"class":4578,"line":19502},[4576,25679,4644],{"emptyLinePlaceholder":4643},[4576,25681,25682,25684,25686,25688,25690,25692,25694,25696,25699,25701],{"class":4578,"line":19509},[4576,25683,4748],{"class":4713},[4576,25685,4628],{"class":4717},[4576,25687,4721],{"class":4720},[4576,25689,4724],{"class":4586},[4576,25691,4727],{"class":4653},[4576,25693,4730],{"class":4590},[4576,25695,3857],{"class":4733},[4576,25697,25698],{"class":4590},"listWrap",[4576,25700,4739],{"class":4653},[4576,25702,4742],{"class":4713},[4576,25704,25705,25707],{"class":4578,"line":19514},[4576,25706,7289],{"class":4713},[4576,25708,25709],{"class":4717},"FlashList\n",[4576,25711,25712,25715,25717,25719,25721],{"class":4578,"line":19541},[4576,25713,25714],{"class":4720},"          data",[4576,25716,4724],{"class":4586},[4576,25718,4727],{"class":4653},[4576,25720,23829],{"class":4590},[4576,25722,4801],{"class":4653},[4576,25724,25725,25728,25730,25732,25735],{"class":4578,"line":19546},[4576,25726,25727],{"class":4720},"          renderItem",[4576,25729,4724],{"class":4586},[4576,25731,4727],{"class":4653},[4576,25733,25734],{"class":4590},"renderTrip",[4576,25736,4801],{"class":4653},[4576,25738,25739,25742,25744,25746,25749],{"class":4578,"line":19553},[4576,25740,25741],{"class":4720},"          keyExtractor",[4576,25743,4724],{"class":4586},[4576,25745,4727],{"class":4653},[4576,25747,25748],{"class":4590},"keyExtractor",[4576,25750,4801],{"class":4653},[4576,25752,25753,25756,25758,25760,25763],{"class":4578,"line":19566},[4576,25754,25755],{"class":4720},"          ListHeaderComponent",[4576,25757,4724],{"class":4586},[4576,25759,4727],{"class":4653},[4576,25761,25762],{"class":4590},"listHeader",[4576,25764,4801],{"class":4653},[4576,25766,25767,25770,25772,25774,25777],{"class":4578,"line":19576},[4576,25768,25769],{"class":4720},"          ListEmptyComponent",[4576,25771,4724],{"class":4586},[4576,25773,4727],{"class":4653},[4576,25775,25776],{"class":4590},"listEmpty",[4576,25778,4801],{"class":4653},[4576,25780,25781,25784,25786,25788],{"class":4578,"line":19603},[4576,25782,25783],{"class":4720},"          contentContainerStyle",[4576,25785,4724],{"class":4586},[4576,25787,4727],{"class":4653},[4576,25789,22409],{"class":4733},[4576,25791,25792,25794,25796,25798,25800],{"class":4578,"line":19626},[4576,25793,24945],{"class":4590},[4576,25795,24301],{"class":4590},[4576,25797,3857],{"class":4733},[4576,25799,24306],{"class":4590},[4576,25801,4992],{"class":4733},[4576,25803,25804,25806,25808,25810,25812],{"class":4578,"line":19650},[4576,25805,24958],{"class":4590},[4576,25807,24301],{"class":4590},[4576,25809,3857],{"class":4733},[4576,25811,24306],{"class":4590},[4576,25813,4992],{"class":4733},[4576,25815,25816,25818,25820,25822,25824],{"class":4578,"line":19683},[4576,25817,24971],{"class":4590},[4576,25819,24301],{"class":4590},[4576,25821,3857],{"class":4733},[4576,25823,24306],{"class":4590},[4576,25825,4992],{"class":4733},[4576,25827,25828,25830],{"class":4578,"line":19706},[4576,25829,15484],{"class":4733},[4576,25831,4801],{"class":4653},[4576,25833,25834,25837,25839,25841,25843,25845,25847,25849,25851,25853,25855,25857,25860,25862,25864,25866,25868,25870,25872],{"class":4578,"line":19712},[4576,25835,25836],{"class":4720},"          ItemSeparatorComponent",[4576,25838,4724],{"class":4586},[4576,25840,4727],{"class":4653},[4576,25842,5534],{"class":4733},[4576,25844,5537],{"class":4653},[4576,25846,13182],{"class":4713},[4576,25848,4628],{"class":4717},[4576,25850,4721],{"class":4720},[4576,25852,4724],{"class":4586},[4576,25854,4727],{"class":4653},[4576,25856,6092],{"class":4733},[4576,25858,25859],{"class":4590},"height:",[4576,25861,24301],{"class":4590},[4576,25863,3857],{"class":4733},[4576,25865,24306],{"class":4590},[4576,25867,6107],{"class":4733},[4576,25869,4739],{"class":4653},[4576,25871,14484],{"class":4713},[4576,25873,4801],{"class":4653},[4576,25875,25876,25879,25881],{"class":4578,"line":19722},[4576,25877,25878],{"class":4720},"          refreshControl",[4576,25880,4724],{"class":4586},[4576,25882,22409],{"class":4653},[4576,25884,25885,25887],{"class":4578,"line":19731},[4576,25886,11387],{"class":4713},[4576,25888,25889],{"class":4717},"RefreshControl\n",[4576,25891,25892,25895,25897,25899,25901],{"class":4578,"line":19738},[4576,25893,25894],{"class":4720},"              refreshing",[4576,25896,4724],{"class":4586},[4576,25898,4727],{"class":4653},[4576,25900,23908],{"class":4590},[4576,25902,4801],{"class":4653},[4576,25904,25905,25908,25910,25912,25915],{"class":4578,"line":19752},[4576,25906,25907],{"class":4720},"              onRefresh",[4576,25909,4724],{"class":4586},[4576,25911,4727],{"class":4653},[4576,25913,25914],{"class":4590},"onRefresh",[4576,25916,4801],{"class":4653},[4576,25918,25919,25922,25924,25926,25928,25930,25932],{"class":4578,"line":19766},[4576,25920,25921],{"class":4720},"              tintColor",[4576,25923,4724],{"class":4586},[4576,25925,4727],{"class":4653},[4576,25927,23274],{"class":4590},[4576,25929,3857],{"class":4733},[4576,25931,25164],{"class":4590},[4576,25933,4801],{"class":4653},[4576,25935,25936,25939,25941,25943,25945,25947,25949,25951,25953],{"class":4578,"line":19792},[4576,25937,25938],{"class":4720},"              colors",[4576,25940,4724],{"class":4586},[4576,25942,4727],{"class":4653},[4576,25944,6261],{"class":4733},[4576,25946,23274],{"class":4590},[4576,25948,3857],{"class":4733},[4576,25950,25164],{"class":4590},[4576,25952,18647],{"class":4733},[4576,25954,4801],{"class":4653},[4576,25956,25957],{"class":4578,"line":19802},[4576,25958,18721],{"class":4713},[4576,25960,25961],{"class":4578,"line":19808},[4576,25962,25963],{"class":4653},"          }\n",[4576,25965,25966,25969,25971],{"class":4578,"line":19817},[4576,25967,25968],{"class":4720},"          showsVerticalScrollIndicator",[4576,25970,4724],{"class":4586},[4576,25972,4848],{"class":4653},[4576,25974,25975],{"class":4578,"line":19824},[4576,25976,9349],{"class":4713},[4576,25978,25979,25981,25983],{"class":4578,"line":19829},[4576,25980,6238],{"class":4713},[4576,25982,4628],{"class":4717},[4576,25984,4742],{"class":4713},[4576,25986,25987],{"class":4578,"line":19834},[4576,25988,4644],{"emptyLinePlaceholder":4643},[4576,25990,25991,25993],{"class":4578,"line":19841},[4576,25992,4748],{"class":4713},[4576,25994,24671],{"class":4717},[4576,25996,25997,25999,26001,26003],{"class":4578,"line":19854},[4576,25998,4854],{"class":4720},[4576,26000,4724],{"class":4586},[4576,26002,4727],{"class":4653},[4576,26004,6708],{"class":4733},[4576,26006,26007,26009,26011,26014],{"class":4578,"line":19864},[4576,26008,6714],{"class":4590},[4576,26010,3857],{"class":4733},[4576,26012,26013],{"class":4590},"footer",[4576,26015,4992],{"class":4733},[4576,26017,26018],{"class":4578,"line":19891},[4576,26019,24940],{"class":4733},[4576,26021,26022,26024,26026,26028,26030],{"class":4578,"line":19914},[4576,26023,24945],{"class":4590},[4576,26025,24301],{"class":4590},[4576,26027,3857],{"class":4733},[4576,26029,24306],{"class":4590},[4576,26031,4992],{"class":4733},[4576,26033,26034,26036,26038,26040,26042],{"class":4578,"line":19937},[4576,26035,24958],{"class":4590},[4576,26037,24301],{"class":4590},[4576,26039,3857],{"class":4733},[4576,26041,24365],{"class":4590},[4576,26043,4992],{"class":4733},[4576,26045,26046,26048,26050,26052,26054],{"class":4578,"line":19968},[4576,26047,24971],{"class":4590},[4576,26049,24301],{"class":4590},[4576,26051,3857],{"class":4733},[4576,26053,24306],{"class":4590},[4576,26055,4992],{"class":4733},[4576,26057,26058,26061,26063,26065,26067],{"class":4578,"line":19991},[4576,26059,26060],{"class":4590},"            borderTopColor:",[4576,26062,23373],{"class":4590},[4576,26064,3857],{"class":4733},[4576,26066,25005],{"class":4590},[4576,26068,4992],{"class":4733},[4576,26070,26071,26074,26076,26078,26080],{"class":4578,"line":19997},[4576,26072,26073],{"class":4590},"            backgroundColor:",[4576,26075,23373],{"class":4590},[4576,26077,3857],{"class":4733},[4576,26079,23378],{"class":4590},[4576,26081,4992],{"class":4733},[4576,26083,26084],{"class":4578,"line":20006},[4576,26085,25012],{"class":4733},[4576,26087,26088,26090],{"class":4578,"line":20015},[4576,26089,6762],{"class":4733},[4576,26091,4801],{"class":4653},[4576,26093,26094],{"class":4578,"line":20022},[4576,26095,8048],{"class":4713},[4576,26097,26098,26100],{"class":4578,"line":20042},[4576,26099,7289],{"class":4713},[4576,26101,26102],{"class":4717},"Button\n",[4576,26104,26105,26108,26110],{"class":4578,"line":20055},[4576,26106,26107],{"class":4720},"          label",[4576,26109,4724],{"class":4586},[4576,26111,26112],{"class":4600},"\"Нова поїздка\"\n",[4576,26114,26115,26117,26119,26121,26123,26125],{"class":4578,"line":20081},[4576,26116,15425],{"class":4720},[4576,26118,4724],{"class":4586},[4576,26120,4727],{"class":4653},[4576,26122,5534],{"class":4733},[4576,26124,5537],{"class":4653},[4576,26126,4980],{"class":4733},[4576,26128,26129,26132,26134,26137,26139,26142],{"class":4578,"line":20091},[4576,26130,26131],{"class":4590},"            router",[4576,26133,3857],{"class":4733},[4576,26135,26136],{"class":4657},"push",[4576,26138,4687],{"class":4733},[4576,26140,26141],{"class":4600},"'\u002Fcreate-trip'",[4576,26143,4693],{"class":4733},[4576,26145,26146,26148],{"class":4578,"line":20101},[4576,26147,15484],{"class":4733},[4576,26149,4801],{"class":4653},[4576,26151,26152],{"class":4578,"line":20111},[4576,26153,9349],{"class":4713},[4576,26155,26156,26158,26160],{"class":4578,"line":20121},[4576,26157,6238],{"class":4713},[4576,26159,4628],{"class":4717},[4576,26161,4742],{"class":4713},[4576,26163,26164,26166,26168],{"class":4578,"line":20126},[4576,26165,4879],{"class":4713},[4576,26167,22184],{"class":4717},[4576,26169,4742],{"class":4713},[4576,26171,26172],{"class":4578,"line":20135},[4576,26173,4889],{"class":4586},[4576,26175,26176],{"class":4578,"line":20142},[4576,26177,4801],{"class":4586},[4576,26179,26180],{"class":4578,"line":20147},[4576,26181,4644],{"emptyLinePlaceholder":4643},[4576,26183,26184,26186,26188,26190,26192,26194,26196],{"class":4578,"line":20175},[4576,26185,4905],{"class":4653},[4576,26187,4908],{"class":4673},[4576,26189,4911],{"class":4586},[4576,26191,4614],{"class":4590},[4576,26193,3857],{"class":4586},[4576,26195,4918],{"class":4657},[4576,26197,4921],{"class":4586},[4576,26199,26200,26202],{"class":4578,"line":20180},[4576,26201,8129],{"class":4590},[4576,26203,4980],{"class":4586},[4576,26205,26206,26208,26210],{"class":4578,"line":20198},[4576,26207,5009],{"class":4590},[4576,26209,24338],{"class":4935},[4576,26211,4992],{"class":4586},[4576,26213,26214],{"class":4578,"line":20205},[4576,26215,5052],{"class":4586},[4576,26217,26218,26220],{"class":4578,"line":20218},[4576,26219,10711],{"class":4590},[4576,26221,4980],{"class":4586},[4576,26223,26224,26227,26229],{"class":4578,"line":20228},[4576,26225,26226],{"class":4590},"    borderBottomWidth:",[4576,26228,4989],{"class":4935},[4576,26230,4992],{"class":4586},[4576,26232,26233],{"class":4578,"line":20259},[4576,26234,5052],{"class":4586},[4576,26236,26237,26240],{"class":4578,"line":20266},[4576,26238,26239],{"class":4590},"  themeRow:",[4576,26241,4980],{"class":4586},[4576,26243,26244,26246,26248],{"class":4578,"line":20311},[4576,26245,8654],{"class":4590},[4576,26247,8657],{"class":4600},[4576,26249,4992],{"class":4586},[4576,26251,26252,26255,26258],{"class":4578,"line":20324},[4576,26253,26254],{"class":4590},"    flexWrap:",[4576,26256,26257],{"class":4600}," 'wrap'",[4576,26259,4992],{"class":4586},[4576,26261,26262],{"class":4578,"line":20337},[4576,26263,5052],{"class":4586},[4576,26265,26266,26269],{"class":4578,"line":20350},[4576,26267,26268],{"class":4590},"  themeChip:",[4576,26270,4980],{"class":4586},[4576,26272,26273,26275,26277],{"class":4578,"line":20360},[4576,26274,5009],{"class":4590},[4576,26276,5001],{"class":4935},[4576,26278,4992],{"class":4586},[4576,26280,26281,26283,26285],{"class":4578,"line":20366},[4576,26282,5020],{"class":4590},[4576,26284,9915],{"class":4935},[4576,26286,4992],{"class":4586},[4576,26288,26289,26291,26293],{"class":4578,"line":20376},[4576,26290,4998],{"class":4590},[4576,26292,9915],{"class":4935},[4576,26294,4992],{"class":4586},[4576,26296,26297,26299,26301],{"class":4578,"line":20390},[4576,26298,4986],{"class":4590},[4576,26300,4989],{"class":4935},[4576,26302,4992],{"class":4586},[4576,26304,26305],{"class":4578,"line":20395},[4576,26306,5052],{"class":4586},[4576,26308,26309,26312],{"class":4578,"line":20402},[4576,26310,26311],{"class":4590},"  themeChipText:",[4576,26313,4980],{"class":4586},[4576,26315,26316,26318,26320],{"class":4578,"line":20407},[4576,26317,21442],{"class":4590},[4576,26319,8726],{"class":4600},[4576,26321,4992],{"class":4586},[4576,26323,26324],{"class":4578,"line":20434},[4576,26325,5052],{"class":4586},[4576,26327,26328,26331],{"class":4578,"line":20439},[4576,26329,26330],{"class":4590},"  listWrap:",[4576,26332,4980],{"class":4586},[4576,26334,26335,26337,26339],{"class":4578,"line":20478},[4576,26336,21384],{"class":4590},[4576,26338,4989],{"class":4935},[4576,26340,4992],{"class":4586},[4576,26342,26343],{"class":4578,"line":20510},[4576,26344,5052],{"class":4586},[4576,26346,26347,26350],{"class":4578,"line":20519},[4576,26348,26349],{"class":4590},"  empty:",[4576,26351,4980],{"class":4586},[4576,26353,26354,26356,26358],{"class":4578,"line":20528},[4576,26355,7427],{"class":4590},[4576,26357,7430],{"class":4600},[4576,26359,4992],{"class":4586},[4576,26361,26362,26364,26366],{"class":4578,"line":20537},[4576,26363,7437],{"class":4590},[4576,26365,7430],{"class":4600},[4576,26367,4992],{"class":4586},[4576,26369,26370],{"class":4578,"line":20542},[4576,26371,5052],{"class":4586},[4576,26373,26374,26377],{"class":4578,"line":20547},[4576,26375,26376],{"class":4590},"  emptyTitle:",[4576,26378,4980],{"class":4586},[4576,26380,26381,26384,26386],{"class":4578,"line":20552},[4576,26382,26383],{"class":4590},"    textAlign:",[4576,26385,7430],{"class":4600},[4576,26387,4992],{"class":4586},[4576,26389,26390],{"class":4578,"line":20562},[4576,26391,5052],{"class":4586},[4576,26393,26394,26397],{"class":4578,"line":20570},[4576,26395,26396],{"class":4590},"  emptyDesc:",[4576,26398,4980],{"class":4586},[4576,26400,26401,26403,26405],{"class":4578,"line":20578},[4576,26402,26383],{"class":4590},[4576,26404,7430],{"class":4600},[4576,26406,4992],{"class":4586},[4576,26408,26409],{"class":4578,"line":20584},[4576,26410,5052],{"class":4586},[4576,26412,26413,26416],{"class":4578,"line":20595},[4576,26414,26415],{"class":4590},"  footer:",[4576,26417,4980],{"class":4586},[4576,26419,26420,26423,26425],{"class":4578,"line":20608},[4576,26421,26422],{"class":4590},"    borderTopWidth:",[4576,26424,4989],{"class":4935},[4576,26426,4992],{"class":4586},[4576,26428,26429],{"class":4578,"line":20614},[4576,26430,5052],{"class":4586},[4576,26432,26433],{"class":4578,"line":20621},[4576,26434,5058],{"class":4586},[3891,26436,26438],{"className":4570,"code":26437,"filename":22282,"language":4572,"meta":3899,"style":3899},"import { Pressable, StyleSheet, View } from 'react-native';\nimport { useRouter } from 'expo-router';\n\nimport { CreateTripForm, useTrips } from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Екран створення поїздки.\n * Навігацію (Stack, back) детальніше розберемо в статті про Expo Router;\n * тут — мінімальний router.push \u002F router.back.\n *\u002F\nexport default function CreateTripScreen() {\n  const router = useRouter();\n  const { addTrip } = useTrips();\n  const { colors, spacing } = useTheme();\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CPressable\n          accessibilityRole=\"button\"\n          accessibilityLabel=\"Назад\"\n          onPress={() => router.back()}\n          hitSlop={12}\n        >\n          \u003CAppText color={colors.primary} style={styles.back}>\n            ← Назад\n          \u003C\u002FAppText>\n        \u003C\u002FPressable>\n        \u003CAppText variant=\"title\" style={{ marginTop: spacing.sm }}>\n          Нова поїздка\n        \u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Форма з валідацією · RHF + Zod\n        \u003C\u002FAppText>\n      \u003C\u002FView>\n\n      \u003CCreateTripForm\n        onSubmitSuccess={(trip) => {\n          addTrip(trip);\n          router.back();\n        }}\n        onCancel={() => router.back()}\n      \u002F>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  back: {\n    fontWeight: '600',\n  },\n});\n",[3803,26439,26440,26464,26480,26484,26504,26520,26540,26544,26549,26554,26559,26564,26569,26582,26594,26609,26627,26631,26637,26659,26665,26675,26685,26689,26701,26713,26725,26737,26741,26747,26751,26757,26766,26776,26799,26813,26817,26853,26858,26866,26874,26908,26913,26921,26955,26960,26968,26976,26980,26987,27006,27017,27028,27034,27057,27061,27069,27073,27077,27081,27097,27103,27111,27115,27121,27129,27133,27140,27148,27152],{"__ignoreMap":3899},[4576,26441,26442,26444,26446,26448,26450,26452,26454,26456,26458,26460,26462],{"class":4578,"line":4579},[4576,26443,4583],{"class":4582},[4576,26445,4587],{"class":4586},[4576,26447,3947],{"class":4590},[4576,26449,3806],{"class":4586},[4576,26451,4614],{"class":4590},[4576,26453,3806],{"class":4586},[4576,26455,4628],{"class":4590},[4576,26457,4594],{"class":4586},[4576,26459,4597],{"class":4582},[4576,26461,4635],{"class":4600},[4576,26463,4604],{"class":4586},[4576,26465,26466,26468,26470,26472,26474,26476,26478],{"class":4578,"line":4607},[4576,26467,4583],{"class":4582},[4576,26469,4587],{"class":4586},[4576,26471,23578],{"class":4590},[4576,26473,4594],{"class":4586},[4576,26475,4597],{"class":4582},[4576,26477,23189],{"class":4600},[4576,26479,4604],{"class":4586},[4576,26481,26482],{"class":4578,"line":4640},[4576,26483,4644],{"emptyLinePlaceholder":4643},[4576,26485,26486,26488,26490,26492,26494,26496,26498,26500,26502],{"class":4578,"line":4647},[4576,26487,4583],{"class":4582},[4576,26489,4587],{"class":4586},[4576,26491,22272],{"class":4590},[4576,26493,3806],{"class":4586},[4576,26495,22246],{"class":4590},[4576,26497,4594],{"class":4586},[4576,26499,4597],{"class":4582},[4576,26501,23228],{"class":4600},[4576,26503,4604],{"class":4586},[4576,26505,26506,26508,26510,26512,26514,26516,26518],{"class":4578,"line":4664},[4576,26507,4583],{"class":4582},[4576,26509,4587],{"class":4586},[4576,26511,23243],{"class":4590},[4576,26513,4594],{"class":4586},[4576,26515,4597],{"class":4582},[4576,26517,23250],{"class":4600},[4576,26519,4604],{"class":4586},[4576,26521,26522,26524,26526,26528,26530,26532,26534,26536,26538],{"class":4578,"line":4696},[4576,26523,4583],{"class":4582},[4576,26525,4587],{"class":4586},[4576,26527,22187],{"class":4590},[4576,26529,3806],{"class":4586},[4576,26531,22184],{"class":4590},[4576,26533,4594],{"class":4586},[4576,26535,4597],{"class":4582},[4576,26537,23699],{"class":4600},[4576,26539,4604],{"class":4586},[4576,26541,26542],{"class":4578,"line":4701},[4576,26543,4644],{"emptyLinePlaceholder":4643},[4576,26545,26546],{"class":4578,"line":4710},[4576,26547,26548],{"class":9599},"\u002F**\n",[4576,26550,26551],{"class":4578,"line":4745},[4576,26552,26553],{"class":9599}," * Екран створення поїздки.\n",[4576,26555,26556],{"class":4578,"line":4781},[4576,26557,26558],{"class":9599}," * Навігацію (Stack, back) детальніше розберемо в статті про Expo Router;\n",[4576,26560,26561],{"class":4578,"line":4789},[4576,26562,26563],{"class":9599}," * тут — мінімальний router.push \u002F router.back.\n",[4576,26565,26566],{"class":4578,"line":4804},[4576,26567,26568],{"class":9599}," *\u002F\n",[4576,26570,26571,26573,26575,26577,26580],{"class":4578,"line":4818},[4576,26572,4650],{"class":4582},[4576,26574,5843],{"class":4582},[4576,26576,4654],{"class":4653},[4576,26578,26579],{"class":4657}," CreateTripScreen",[4576,26581,4661],{"class":4586},[4576,26583,26584,26586,26588,26590,26592],{"class":4578,"line":4829},[4576,26585,4667],{"class":4653},[4576,26587,23814],{"class":4673},[4576,26589,4911],{"class":4586},[4576,26591,23578],{"class":4657},[4576,26593,23287],{"class":4586},[4576,26595,26596,26598,26600,26603,26605,26607],{"class":4578,"line":4840},[4576,26597,4667],{"class":4653},[4576,26599,4587],{"class":4586},[4576,26601,26602],{"class":4673},"addTrip",[4576,26604,23282],{"class":4586},[4576,26606,22246],{"class":4657},[4576,26608,23287],{"class":4586},[4576,26610,26611,26613,26615,26617,26619,26621,26623,26625],{"class":4578,"line":4851},[4576,26612,4667],{"class":4653},[4576,26614,4587],{"class":4586},[4576,26616,23274],{"class":4673},[4576,26618,3806],{"class":4586},[4576,26620,23853],{"class":4673},[4576,26622,23282],{"class":4586},[4576,26624,23243],{"class":4657},[4576,26626,23287],{"class":4586},[4576,26628,26629],{"class":4578,"line":4870},[4576,26630,4644],{"emptyLinePlaceholder":4643},[4576,26632,26633,26635],{"class":4578,"line":4876},[4576,26634,4704],{"class":4582},[4576,26636,4707],{"class":4586},[4576,26638,26639,26641,26643,26645,26647,26649,26651,26653,26655,26657],{"class":4578,"line":4886},[4576,26640,4714],{"class":4713},[4576,26642,22184],{"class":4717},[4576,26644,4721],{"class":4720},[4576,26646,4724],{"class":4586},[4576,26648,4727],{"class":4653},[4576,26650,4730],{"class":4590},[4576,26652,3857],{"class":4733},[4576,26654,7833],{"class":4590},[4576,26656,4739],{"class":4653},[4576,26658,4742],{"class":4713},[4576,26660,26661,26663],{"class":4578,"line":4892},[4576,26662,4748],{"class":4713},[4576,26664,24671],{"class":4717},[4576,26666,26667,26669,26671,26673],{"class":4578,"line":4897},[4576,26668,4854],{"class":4720},[4576,26670,4724],{"class":4586},[4576,26672,4727],{"class":4653},[4576,26674,6708],{"class":4733},[4576,26676,26677,26679,26681,26683],{"class":4578,"line":4902},[4576,26678,6714],{"class":4590},[4576,26680,3857],{"class":4733},[4576,26682,10447],{"class":4590},[4576,26684,4992],{"class":4733},[4576,26686,26687],{"class":4578,"line":4924},[4576,26688,24940],{"class":4733},[4576,26690,26691,26693,26695,26697,26699],{"class":4578,"line":4942},[4576,26692,24945],{"class":4590},[4576,26694,24301],{"class":4590},[4576,26696,3857],{"class":4733},[4576,26698,24306],{"class":4590},[4576,26700,4992],{"class":4733},[4576,26702,26703,26705,26707,26709,26711],{"class":4578,"line":4974},[4576,26704,24958],{"class":4590},[4576,26706,24301],{"class":4590},[4576,26708,3857],{"class":4733},[4576,26710,24365],{"class":4590},[4576,26712,4992],{"class":4733},[4576,26714,26715,26717,26719,26721,26723],{"class":4578,"line":4983},[4576,26716,24971],{"class":4590},[4576,26718,24301],{"class":4590},[4576,26720,3857],{"class":4733},[4576,26722,24306],{"class":4590},[4576,26724,4992],{"class":4733},[4576,26726,26727,26729,26731,26733,26735],{"class":4578,"line":4995},[4576,26728,24998],{"class":4590},[4576,26730,23373],{"class":4590},[4576,26732,3857],{"class":4733},[4576,26734,25005],{"class":4590},[4576,26736,4992],{"class":4733},[4576,26738,26739],{"class":4578,"line":5006},[4576,26740,25012],{"class":4733},[4576,26742,26743,26745],{"class":4578,"line":5017},[4576,26744,6762],{"class":4733},[4576,26746,4801],{"class":4653},[4576,26748,26749],{"class":4578,"line":5027},[4576,26750,8048],{"class":4713},[4576,26752,26753,26755],{"class":4578,"line":5038},[4576,26754,7289],{"class":4713},[4576,26756,7162],{"class":4717},[4576,26758,26759,26762,26764],{"class":4578,"line":5049},[4576,26760,26761],{"class":4720},"          accessibilityRole",[4576,26763,4724],{"class":4586},[4576,26765,25497],{"class":4600},[4576,26767,26768,26771,26773],{"class":4578,"line":5055},[4576,26769,26770],{"class":4720},"          accessibilityLabel",[4576,26772,4724],{"class":4586},[4576,26774,26775],{"class":4600},"\"Назад\"\n",[4576,26777,26778,26780,26782,26784,26786,26788,26790,26792,26795,26797],{"class":4578,"line":5744},[4576,26779,15425],{"class":4720},[4576,26781,4724],{"class":4586},[4576,26783,4727],{"class":4653},[4576,26785,5534],{"class":4733},[4576,26787,5537],{"class":4653},[4576,26789,23814],{"class":4590},[4576,26791,3857],{"class":4733},[4576,26793,26794],{"class":4657},"back",[4576,26796,5553],{"class":4733},[4576,26798,4801],{"class":4653},[4576,26800,26801,26804,26806,26808,26811],{"class":4578,"line":6299},[4576,26802,26803],{"class":4720},"          hitSlop",[4576,26805,4724],{"class":4586},[4576,26807,4727],{"class":4653},[4576,26809,26810],{"class":4935},"12",[4576,26812,4801],{"class":4653},[4576,26814,26815],{"class":4578,"line":6312},[4576,26816,11358],{"class":4713},[4576,26818,26819,26821,26823,26825,26827,26829,26831,26833,26835,26837,26839,26841,26843,26845,26847,26849,26851],{"class":4578,"line":6325},[4576,26820,9168],{"class":4713},[4576,26822,22187],{"class":4717},[4576,26824,7294],{"class":4720},[4576,26826,4724],{"class":4586},[4576,26828,4727],{"class":4653},[4576,26830,23274],{"class":4590},[4576,26832,3857],{"class":4733},[4576,26834,25164],{"class":4590},[4576,26836,4739],{"class":4653},[4576,26838,4721],{"class":4720},[4576,26840,4724],{"class":4586},[4576,26842,4727],{"class":4653},[4576,26844,4730],{"class":4590},[4576,26846,3857],{"class":4733},[4576,26848,26794],{"class":4590},[4576,26850,4739],{"class":4653},[4576,26852,4742],{"class":4713},[4576,26854,26855],{"class":4578,"line":6335},[4576,26856,26857],{"class":4586},"            ← Назад\n",[4576,26859,26860,26862,26864],{"class":4578,"line":6350},[4576,26861,9264],{"class":4713},[4576,26863,22187],{"class":4717},[4576,26865,4742],{"class":4713},[4576,26867,26868,26870,26872],{"class":4578,"line":6359},[4576,26869,9273],{"class":4713},[4576,26871,3947],{"class":4717},[4576,26873,4742],{"class":4713},[4576,26875,26876,26878,26880,26882,26884,26886,26888,26890,26892,26894,26896,26898,26900,26902,26904,26906],{"class":4578,"line":6368},[4576,26877,7289],{"class":4713},[4576,26879,22187],{"class":4717},[4576,26881,24761],{"class":4720},[4576,26883,4724],{"class":4586},[4576,26885,25035],{"class":4600},[4576,26887,4721],{"class":4720},[4576,26889,4724],{"class":4586},[4576,26891,4727],{"class":4653},[4576,26893,6092],{"class":4733},[4576,26895,8751],{"class":4590},[4576,26897,24301],{"class":4590},[4576,26899,3857],{"class":4733},[4576,26901,24365],{"class":4590},[4576,26903,6107],{"class":4733},[4576,26905,4739],{"class":4653},[4576,26907,4742],{"class":4713},[4576,26909,26910],{"class":4578,"line":6377},[4576,26911,26912],{"class":4586},"          Нова поїздка\n",[4576,26914,26915,26917,26919],{"class":4578,"line":6417},[4576,26916,9273],{"class":4713},[4576,26918,22187],{"class":4717},[4576,26920,4742],{"class":4713},[4576,26922,26923,26925,26927,26929,26931,26933,26935,26937,26939,26941,26943,26945,26947,26949,26951,26953],{"class":4578,"line":6422},[4576,26924,7289],{"class":4713},[4576,26926,22187],{"class":4717},[4576,26928,24761],{"class":4720},[4576,26930,4724],{"class":4586},[4576,26932,25059],{"class":4600},[4576,26934,4721],{"class":4720},[4576,26936,4724],{"class":4586},[4576,26938,4727],{"class":4653},[4576,26940,6092],{"class":4733},[4576,26942,8751],{"class":4590},[4576,26944,24301],{"class":4590},[4576,26946,3857],{"class":4733},[4576,26948,24991],{"class":4590},[4576,26950,6107],{"class":4733},[4576,26952,4739],{"class":4653},[4576,26954,4742],{"class":4713},[4576,26956,26957],{"class":4578,"line":6427},[4576,26958,26959],{"class":4586},"          Форма з валідацією · RHF + Zod\n",[4576,26961,26962,26964,26966],{"class":4578,"line":6469},[4576,26963,9273],{"class":4713},[4576,26965,22187],{"class":4717},[4576,26967,4742],{"class":4713},[4576,26969,26970,26972,26974],{"class":4578,"line":6476},[4576,26971,6238],{"class":4713},[4576,26973,4628],{"class":4717},[4576,26975,4742],{"class":4713},[4576,26977,26978],{"class":4578,"line":6489},[4576,26979,4644],{"emptyLinePlaceholder":4643},[4576,26981,26982,26984],{"class":4578,"line":6502},[4576,26983,4748],{"class":4713},[4576,26985,26986],{"class":4717},"CreateTripForm\n",[4576,26988,26989,26992,26994,26996,26998,27000,27002,27004],{"class":4578,"line":6512},[4576,26990,26991],{"class":4720},"        onSubmitSuccess",[4576,26993,4724],{"class":4586},[4576,26995,4727],{"class":4653},[4576,26997,4687],{"class":4733},[4576,26999,23943],{"class":4590},[4576,27001,7968],{"class":4733},[4576,27003,5537],{"class":4653},[4576,27005,4980],{"class":4733},[4576,27007,27008,27011,27013,27015],{"class":4578,"line":6525},[4576,27009,27010],{"class":4657},"          addTrip",[4576,27012,4687],{"class":4733},[4576,27014,23943],{"class":4590},[4576,27016,4693],{"class":4733},[4576,27018,27019,27022,27024,27026],{"class":4578,"line":6535},[4576,27020,27021],{"class":4590},"          router",[4576,27023,3857],{"class":4733},[4576,27025,26794],{"class":4657},[4576,27027,23287],{"class":4733},[4576,27029,27030,27032],{"class":4578,"line":6574},[4576,27031,23385],{"class":4733},[4576,27033,4801],{"class":4653},[4576,27035,27036,27039,27041,27043,27045,27047,27049,27051,27053,27055],{"class":4578,"line":6579},[4576,27037,27038],{"class":4720},"        onCancel",[4576,27040,4724],{"class":4586},[4576,27042,4727],{"class":4653},[4576,27044,5534],{"class":4733},[4576,27046,5537],{"class":4653},[4576,27048,23814],{"class":4590},[4576,27050,3857],{"class":4733},[4576,27052,26794],{"class":4657},[4576,27054,5553],{"class":4733},[4576,27056,4801],{"class":4653},[4576,27058,27059],{"class":4578,"line":6584},[4576,27060,4873],{"class":4713},[4576,27062,27063,27065,27067],{"class":4578,"line":6626},[4576,27064,4879],{"class":4713},[4576,27066,22184],{"class":4717},[4576,27068,4742],{"class":4713},[4576,27070,27071],{"class":4578,"line":6633},[4576,27072,4889],{"class":4586},[4576,27074,27075],{"class":4578,"line":6646},[4576,27076,4801],{"class":4586},[4576,27078,27079],{"class":4578,"line":6659},[4576,27080,4644],{"emptyLinePlaceholder":4643},[4576,27082,27083,27085,27087,27089,27091,27093,27095],{"class":4578,"line":6669},[4576,27084,4905],{"class":4653},[4576,27086,4908],{"class":4673},[4576,27088,4911],{"class":4586},[4576,27090,4614],{"class":4590},[4576,27092,3857],{"class":4586},[4576,27094,4918],{"class":4657},[4576,27096,4921],{"class":4586},[4576,27098,27099,27101],{"class":4578,"line":6682},[4576,27100,8129],{"class":4590},[4576,27102,4980],{"class":4586},[4576,27104,27105,27107,27109],{"class":4578,"line":6688},[4576,27106,5009],{"class":4590},[4576,27108,24338],{"class":4935},[4576,27110,4992],{"class":4586},[4576,27112,27113],{"class":4578,"line":6699},[4576,27114,5052],{"class":4586},[4576,27116,27117,27119],{"class":4578,"line":6711},[4576,27118,10711],{"class":4590},[4576,27120,4980],{"class":4586},[4576,27122,27123,27125,27127],{"class":4578,"line":6723},[4576,27124,26226],{"class":4590},[4576,27126,4989],{"class":4935},[4576,27128,4992],{"class":4586},[4576,27130,27131],{"class":4578,"line":6735},[4576,27132,5052],{"class":4586},[4576,27134,27135,27138],{"class":4578,"line":6759},[4576,27136,27137],{"class":4590},"  back:",[4576,27139,4980],{"class":4586},[4576,27141,27142,27144,27146],{"class":4578,"line":6767},[4576,27143,21442],{"class":4590},[4576,27145,8726],{"class":4600},[4576,27147,4992],{"class":4586},[4576,27149,27150],{"class":4578,"line":6772},[4576,27151,5052],{"class":4586},[4576,27153,27154],{"class":4578,"line":6781},[4576,27155,5058],{"class":4586},[3891,27157,27160],{"className":10025,"code":27158,"filename":27159,"language":10027,"meta":3899,"style":3899},"export { mockTrips } from '.\u002Fmodel\u002FmockTrips';\nexport { mockPlaces } from '.\u002Fmodel\u002FmockPlaces';\nexport type { Trip, Place, TripRegion } from '.\u002Fmodel\u002Ftypes';\nexport { TRIP_REGIONS } from '.\u002Fmodel\u002Ftypes';\nexport { TripCard } from '.\u002Fui\u002FTripCard';\nexport { PlaceChip } from '.\u002Fui\u002FPlaceChip';\nexport { CreateTripForm } from '.\u002Fui\u002FCreateTripForm';\nexport { DateField } from '.\u002Fui\u002FDateField';\nexport { FormRow } from '.\u002Fui\u002FFormRow';\nexport { TripsProvider, useTrips } from '.\u002Fmodel\u002FTripsProvider';\nexport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '.\u002Fmodel\u002FcreateTripSchema';\nexport { formatTripDateLabel } from '.\u002Fmodel\u002FformatTripDates';\n","src\u002Ffeatures\u002Ftrips\u002Findex.ts",[3803,27161,27162,27180,27197,27224,27240,27257,27274,27291,27308,27325,27346,27352,27359,27367,27378],{"__ignoreMap":3899},[4576,27163,27164,27166,27168,27171,27173,27175,27178],{"class":4578,"line":4579},[4576,27165,4650],{"class":4582},[4576,27167,4587],{"class":4586},[4576,27169,27170],{"class":4590},"mockTrips",[4576,27172,4594],{"class":4586},[4576,27174,4597],{"class":4582},[4576,27176,27177],{"class":4600}," '.\u002Fmodel\u002FmockTrips'",[4576,27179,4604],{"class":4586},[4576,27181,27182,27184,27186,27188,27190,27192,27195],{"class":4578,"line":4607},[4576,27183,4650],{"class":4582},[4576,27185,4587],{"class":4586},[4576,27187,23897],{"class":4590},[4576,27189,4594],{"class":4586},[4576,27191,4597],{"class":4582},[4576,27193,27194],{"class":4600}," '.\u002Fmodel\u002FmockPlaces'",[4576,27196,4604],{"class":4586},[4576,27198,27199,27201,27203,27205,27207,27209,27211,27213,27215,27217,27219,27222],{"class":4578,"line":4640},[4576,27200,4650],{"class":4582},[4576,27202,11150],{"class":4582},[4576,27204,4587],{"class":4586},[4576,27206,22162],{"class":4590},[4576,27208,3806],{"class":4586},[4576,27210,23891],{"class":4590},[4576,27212,3806],{"class":4586},[4576,27214,11207],{"class":4590},[4576,27216,4594],{"class":4586},[4576,27218,4597],{"class":4582},[4576,27220,27221],{"class":4600}," '.\u002Fmodel\u002Ftypes'",[4576,27223,4604],{"class":4586},[4576,27225,27226,27228,27230,27232,27234,27236,27238],{"class":4578,"line":4647},[4576,27227,4650],{"class":4582},[4576,27229,4587],{"class":4586},[4576,27231,11366],{"class":4590},[4576,27233,4594],{"class":4586},[4576,27235,4597],{"class":4582},[4576,27237,27221],{"class":4600},[4576,27239,4604],{"class":4586},[4576,27241,27242,27244,27246,27248,27250,27252,27255],{"class":4578,"line":4664},[4576,27243,4650],{"class":4582},[4576,27245,4587],{"class":4586},[4576,27247,24188],{"class":4590},[4576,27249,4594],{"class":4586},[4576,27251,4597],{"class":4582},[4576,27253,27254],{"class":4600}," '.\u002Fui\u002FTripCard'",[4576,27256,4604],{"class":4586},[4576,27258,27259,27261,27263,27265,27267,27269,27272],{"class":4578,"line":4696},[4576,27260,4650],{"class":4582},[4576,27262,4587],{"class":4586},[4576,27264,24480],{"class":4590},[4576,27266,4594],{"class":4586},[4576,27268,4597],{"class":4582},[4576,27270,27271],{"class":4600}," '.\u002Fui\u002FPlaceChip'",[4576,27273,4604],{"class":4586},[4576,27275,27276,27278,27280,27282,27284,27286,27289],{"class":4578,"line":4701},[4576,27277,4650],{"class":4582},[4576,27279,4587],{"class":4586},[4576,27281,22272],{"class":4590},[4576,27283,4594],{"class":4586},[4576,27285,4597],{"class":4582},[4576,27287,27288],{"class":4600}," '.\u002Fui\u002FCreateTripForm'",[4576,27290,4604],{"class":4586},[4576,27292,27293,27295,27297,27299,27301,27303,27306],{"class":4578,"line":4710},[4576,27294,4650],{"class":4582},[4576,27296,4587],{"class":4586},[4576,27298,22262],{"class":4590},[4576,27300,4594],{"class":4586},[4576,27302,4597],{"class":4582},[4576,27304,27305],{"class":4600}," '.\u002Fui\u002FDateField'",[4576,27307,4604],{"class":4586},[4576,27309,27310,27312,27314,27316,27318,27320,27323],{"class":4578,"line":4745},[4576,27311,4650],{"class":4582},[4576,27313,4587],{"class":4586},[4576,27315,22259],{"class":4590},[4576,27317,4594],{"class":4586},[4576,27319,4597],{"class":4582},[4576,27321,27322],{"class":4600}," '.\u002Fui\u002FFormRow'",[4576,27324,4604],{"class":4586},[4576,27326,27327,27329,27331,27333,27335,27337,27339,27341,27344],{"class":4578,"line":4781},[4576,27328,4650],{"class":4582},[4576,27330,4587],{"class":4586},[4576,27332,22243],{"class":4590},[4576,27334,3806],{"class":4586},[4576,27336,22246],{"class":4590},[4576,27338,4594],{"class":4586},[4576,27340,4597],{"class":4582},[4576,27342,27343],{"class":4600}," '.\u002Fmodel\u002FTripsProvider'",[4576,27345,4604],{"class":4586},[4576,27347,27348,27350],{"class":4578,"line":4789},[4576,27349,4650],{"class":4582},[4576,27351,4980],{"class":4586},[4576,27353,27354,27357],{"class":4578,"line":4804},[4576,27355,27356],{"class":4590},"  createTripSchema",[4576,27358,4992],{"class":4586},[4576,27360,27361,27363,27365],{"class":4578,"line":4818},[4576,27362,23629],{"class":4582},[4576,27364,14087],{"class":4590},[4576,27366,4992],{"class":4586},[4576,27368,27369,27371,27373,27376],{"class":4578,"line":4829},[4576,27370,5826],{"class":4586},[4576,27372,4597],{"class":4582},[4576,27374,27375],{"class":4600}," '.\u002Fmodel\u002FcreateTripSchema'",[4576,27377,4604],{"class":4586},[4576,27379,27380,27382,27384,27387,27389,27391,27394],{"class":4578,"line":4840},[4576,27381,4650],{"class":4582},[4576,27383,4587],{"class":4586},[4576,27385,27386],{"class":4590},"formatTripDateLabel",[4576,27388,4594],{"class":4586},[4576,27390,4597],{"class":4582},[4576,27392,27393],{"class":4600}," '.\u002Fmodel\u002FformatTripDates'",[4576,27395,4604],{"class":4586},[3891,27397,27400],{"className":10025,"code":27398,"filename":27399,"language":10027,"meta":3899,"style":3899},"export type Trip = {\n  id: string;\n  title: string;\n  dateLabel: string;\n  description: string;\n  coverUri: string;\n  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n  region: string;\n  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n  isPrivate?: boolean;\n  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n  plannedDays?: number;\n  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n  hasItinerary?: boolean;\n};\n\nexport type Place = {\n  id: string;\n  tripId: string;\n  name: string;\n  city: string;\n  note: string;\n};\n\n\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\nexport const TRIP_REGIONS = [\n  'Карпати',\n  'Захід',\n  'Південь',\n  'Центр',\n  'Схід',\n  'Інше',\n] as const;\n\nexport type TripRegion = (typeof TRIP_REGIONS)[number];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes.ts",[3803,27401,27402,27413,27424,27434,27445,27456,27467,27472,27483,27488,27499,27504,27515,27520,27531,27535,27539,27549,27559,27570,27580,27591,27602,27606,27610,27615,27625,27631,27638,27645,27652,27659,27666,27676,27680],{"__ignoreMap":3899},[4576,27403,27404,27406,27408,27410],{"class":4578,"line":4579},[4576,27405,4650],{"class":4582},[4576,27407,11150],{"class":4653},[4576,27409,23641],{"class":4717},[4576,27411,27412],{"class":4586}," = {\n",[4576,27414,27415,27418,27420,27422],{"class":4578,"line":4607},[4576,27416,27417],{"class":4590},"  id",[4576,27419,7093],{"class":4586},[4576,27421,4349],{"class":4717},[4576,27423,4604],{"class":4586},[4576,27425,27426,27428,27430,27432],{"class":4578,"line":4640},[4576,27427,7102],{"class":4590},[4576,27429,7093],{"class":4586},[4576,27431,4349],{"class":4717},[4576,27433,4604],{"class":4586},[4576,27435,27436,27439,27441,27443],{"class":4578,"line":4647},[4576,27437,27438],{"class":4590},"  dateLabel",[4576,27440,7093],{"class":4586},[4576,27442,4349],{"class":4717},[4576,27444,4604],{"class":4586},[4576,27446,27447,27450,27452,27454],{"class":4578,"line":4664},[4576,27448,27449],{"class":4590},"  description",[4576,27451,7093],{"class":4586},[4576,27453,4349],{"class":4717},[4576,27455,4604],{"class":4586},[4576,27457,27458,27461,27463,27465],{"class":4578,"line":4696},[4576,27459,27460],{"class":4590},"  coverUri",[4576,27462,7093],{"class":4586},[4576,27464,4349],{"class":4717},[4576,27466,4604],{"class":4586},[4576,27468,27469],{"class":4578,"line":4701},[4576,27470,27471],{"class":9599},"  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n",[4576,27473,27474,27477,27479,27481],{"class":4578,"line":4710},[4576,27475,27476],{"class":4590},"  region",[4576,27478,7093],{"class":4586},[4576,27480,4349],{"class":4717},[4576,27482,4604],{"class":4586},[4576,27484,27485],{"class":4578,"line":4745},[4576,27486,27487],{"class":9599},"  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n",[4576,27489,27490,27493,27495,27497],{"class":4578,"line":4781},[4576,27491,27492],{"class":4590},"  isPrivate",[4576,27494,11984],{"class":4586},[4576,27496,4372],{"class":4717},[4576,27498,4604],{"class":4586},[4576,27500,27501],{"class":4578,"line":4789},[4576,27502,27503],{"class":9599},"  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n",[4576,27505,27506,27509,27511,27513],{"class":4578,"line":4804},[4576,27507,27508],{"class":4590},"  plannedDays",[4576,27510,11984],{"class":4586},[4576,27512,4095],{"class":4717},[4576,27514,4604],{"class":4586},[4576,27516,27517],{"class":4578,"line":4818},[4576,27518,27519],{"class":9599},"  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n",[4576,27521,27522,27525,27527,27529],{"class":4578,"line":4829},[4576,27523,27524],{"class":4590},"  hasItinerary",[4576,27526,11984],{"class":4586},[4576,27528,4372],{"class":4717},[4576,27530,4604],{"class":4586},[4576,27532,27533],{"class":4578,"line":4840},[4576,27534,12050],{"class":4586},[4576,27536,27537],{"class":4578,"line":4851},[4576,27538,4644],{"emptyLinePlaceholder":4643},[4576,27540,27541,27543,27545,27547],{"class":4578,"line":4870},[4576,27542,4650],{"class":4582},[4576,27544,11150],{"class":4653},[4576,27546,23632],{"class":4717},[4576,27548,27412],{"class":4586},[4576,27550,27551,27553,27555,27557],{"class":4578,"line":4876},[4576,27552,27417],{"class":4590},[4576,27554,7093],{"class":4586},[4576,27556,4349],{"class":4717},[4576,27558,4604],{"class":4586},[4576,27560,27561,27564,27566,27568],{"class":4578,"line":4886},[4576,27562,27563],{"class":4590},"  tripId",[4576,27565,7093],{"class":4586},[4576,27567,4349],{"class":4717},[4576,27569,4604],{"class":4586},[4576,27571,27572,27574,27576,27578],{"class":4578,"line":4892},[4576,27573,13042],{"class":4590},[4576,27575,7093],{"class":4586},[4576,27577,4349],{"class":4717},[4576,27579,4604],{"class":4586},[4576,27581,27582,27585,27587,27589],{"class":4578,"line":4897},[4576,27583,27584],{"class":4590},"  city",[4576,27586,7093],{"class":4586},[4576,27588,4349],{"class":4717},[4576,27590,4604],{"class":4586},[4576,27592,27593,27596,27598,27600],{"class":4578,"line":4902},[4576,27594,27595],{"class":4590},"  note",[4576,27597,7093],{"class":4586},[4576,27599,4349],{"class":4717},[4576,27601,4604],{"class":4586},[4576,27603,27604],{"class":4578,"line":4924},[4576,27605,12050],{"class":4586},[4576,27607,27608],{"class":4578,"line":4942},[4576,27609,4644],{"emptyLinePlaceholder":4643},[4576,27611,27612],{"class":4578,"line":4974},[4576,27613,27614],{"class":9599},"\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\n",[4576,27616,27617,27619,27621,27623],{"class":4578,"line":4983},[4576,27618,4650],{"class":4582},[4576,27620,10058],{"class":4653},[4576,27622,11089],{"class":4673},[4576,27624,11092],{"class":4586},[4576,27626,27627,27629],{"class":4578,"line":4995},[4576,27628,11097],{"class":4600},[4576,27630,4992],{"class":4586},[4576,27632,27633,27636],{"class":4578,"line":5006},[4576,27634,27635],{"class":4600},"  'Захід'",[4576,27637,4992],{"class":4586},[4576,27639,27640,27643],{"class":4578,"line":5017},[4576,27641,27642],{"class":4600},"  'Південь'",[4576,27644,4992],{"class":4586},[4576,27646,27647,27650],{"class":4578,"line":5027},[4576,27648,27649],{"class":4600},"  'Центр'",[4576,27651,4992],{"class":4586},[4576,27653,27654,27657],{"class":4578,"line":5038},[4576,27655,27656],{"class":4600},"  'Схід'",[4576,27658,4992],{"class":4586},[4576,27660,27661,27664],{"class":4578,"line":5049},[4576,27662,27663],{"class":4600},"  'Інше'",[4576,27665,4992],{"class":4586},[4576,27667,27668,27670,27672,27674],{"class":4578,"line":5055},[4576,27669,11132],{"class":4586},[4576,27671,11135],{"class":4582},[4576,27673,10058],{"class":4653},[4576,27675,4604],{"class":4586},[4576,27677,27678],{"class":4578,"line":5744},[4576,27679,4644],{"emptyLinePlaceholder":4643},[4576,27681,27682,27684,27686,27688,27690,27692,27694,27696,27698],{"class":4578,"line":6299},[4576,27683,4650],{"class":4582},[4576,27685,11150],{"class":4653},[4576,27687,11153],{"class":4717},[4576,27689,11156],{"class":4586},[4576,27691,11159],{"class":4653},[4576,27693,11089],{"class":4673},[4576,27695,11164],{"class":4586},[4576,27697,4095],{"class":4717},[4576,27699,11169],{"class":4586},[3891,27701,27704],{"className":10025,"code":27702,"filename":27703,"language":10027,"meta":3899,"style":3899},"import { z } from 'zod';\n\nimport { TRIP_REGIONS } from '.\u002Ftypes';\n\n\u002F**\n * Схема створення поїздки (Zod).\n * Повідомлення — українською: саме їх побачить користувач під полем.\n *\n * Покриває різні типи контролів:\n * - string → TextInput\n * - enum → Picker\n * - date → DateTimePicker\n * - boolean → Switch \u002F Checkbox\n * - number → Slider\n *\u002F\nexport const createTripSchema = z\n  .object({\n    title: z\n      .string()\n      .trim()\n      .min(2, 'Назва має містити щонайменше 2 символи')\n      .max(80, 'Назва занадто довга (макс. 80)'),\n    region: z.enum(TRIP_REGIONS, {\n      error: 'Оберіть регіон зі списку',\n    }),\n    description: z\n      .string()\n      .trim()\n      .min(10, 'Опис — щонайменше 10 символів')\n      .max(500, 'Опис занадто довгий (макс. 500)'),\n    startDate: z.date({ error: 'Оберіть дату початку' }),\n    endDate: z.date({ error: 'Оберіть дату завершення' }),\n    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n    isPrivate: z.boolean(),\n    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n    plannedDays: z\n      .number()\n      .min(1, 'Мінімум 1 день')\n      .max(14, 'У формі максимум 14 днів'),\n    \u002F** Checkbox: чи є план маршруту. *\u002F\n    hasItinerary: z.boolean(),\n    \u002F**\n     * Checkbox з обов’язковою згодою.\n     * `true` — єдине прийнятне значення (як «прийняти умови»).\n     *\u002F\n    acceptedLocalSave: z.literal(true, {\n      error: 'Підтвердіть, що дані поки зберігаються лише на пристрої',\n    }),\n  })\n  .refine((data) => data.endDate.getTime() >= data.startDate.getTime(), {\n    message: 'Дата завершення не може бути раніше початку',\n    path: ['endDate'],\n  });\n\nexport type CreateTripFormValues = z.infer\u003Ctypeof createTripSchema>;\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema.ts",[3803,27705,27706,27722,27726,27743,27747,27751,27756,27761,27766,27771,27776,27781,27786,27791,27796,27800,27813,27822,27828,27837,27845,27861,27879,27896,27906,27911,27918,27926,27934,27952,27970,27992,28012,28017,28029,28034,28041,28049,28065,28082,28087,28100,28105,28110,28115,28120,28137,28146,28150,28155,28199,28209,28221,28225,28229],{"__ignoreMap":3899},[4576,27707,27708,27710,27712,27714,27716,27718,27720],{"class":4578,"line":4579},[4576,27709,4583],{"class":4582},[4576,27711,4587],{"class":4586},[4576,27713,10038],{"class":4590},[4576,27715,4594],{"class":4586},[4576,27717,4597],{"class":4582},[4576,27719,10045],{"class":4600},[4576,27721,4604],{"class":4586},[4576,27723,27724],{"class":4578,"line":4607},[4576,27725,4644],{"emptyLinePlaceholder":4643},[4576,27727,27728,27730,27732,27734,27736,27738,27741],{"class":4578,"line":4640},[4576,27729,4583],{"class":4582},[4576,27731,4587],{"class":4586},[4576,27733,11366],{"class":4590},[4576,27735,4594],{"class":4586},[4576,27737,4597],{"class":4582},[4576,27739,27740],{"class":4600}," '.\u002Ftypes'",[4576,27742,4604],{"class":4586},[4576,27744,27745],{"class":4578,"line":4647},[4576,27746,4644],{"emptyLinePlaceholder":4643},[4576,27748,27749],{"class":4578,"line":4664},[4576,27750,26548],{"class":9599},[4576,27752,27753],{"class":4578,"line":4696},[4576,27754,27755],{"class":9599}," * Схема створення поїздки (Zod).\n",[4576,27757,27758],{"class":4578,"line":4701},[4576,27759,27760],{"class":9599}," * Повідомлення — українською: саме їх побачить користувач під полем.\n",[4576,27762,27763],{"class":4578,"line":4710},[4576,27764,27765],{"class":9599}," *\n",[4576,27767,27768],{"class":4578,"line":4745},[4576,27769,27770],{"class":9599}," * Покриває різні типи контролів:\n",[4576,27772,27773],{"class":4578,"line":4781},[4576,27774,27775],{"class":9599}," * - string → TextInput\n",[4576,27777,27778],{"class":4578,"line":4789},[4576,27779,27780],{"class":9599}," * - enum → Picker\n",[4576,27782,27783],{"class":4578,"line":4804},[4576,27784,27785],{"class":9599}," * - date → DateTimePicker\n",[4576,27787,27788],{"class":4578,"line":4818},[4576,27789,27790],{"class":9599}," * - boolean → Switch \u002F Checkbox\n",[4576,27792,27793],{"class":4578,"line":4829},[4576,27794,27795],{"class":9599}," * - number → Slider\n",[4576,27797,27798],{"class":4578,"line":4840},[4576,27799,26568],{"class":9599},[4576,27801,27802,27804,27806,27808,27810],{"class":4578,"line":4851},[4576,27803,4650],{"class":4582},[4576,27805,10058],{"class":4653},[4576,27807,14019],{"class":4673},[4576,27809,4911],{"class":4586},[4576,27811,27812],{"class":4590},"z\n",[4576,27814,27815,27818,27820],{"class":4578,"line":4870},[4576,27816,27817],{"class":4586},"  .",[4576,27819,10070],{"class":4657},[4576,27821,4921],{"class":4586},[4576,27823,27824,27826],{"class":4578,"line":4876},[4576,27825,14248],{"class":4590},[4576,27827,12638],{"class":4590},[4576,27829,27830,27833,27835],{"class":4578,"line":4886},[4576,27831,27832],{"class":4586},"      .",[4576,27834,4349],{"class":4657},[4576,27836,12665],{"class":4586},[4576,27838,27839,27841,27843],{"class":4578,"line":4892},[4576,27840,27832],{"class":4586},[4576,27842,12550],{"class":4657},[4576,27844,12665],{"class":4586},[4576,27846,27847,27849,27851,27853,27855,27857,27859],{"class":4578,"line":4897},[4576,27848,27832],{"class":4586},[4576,27850,12672],{"class":4657},[4576,27852,4687],{"class":4586},[4576,27854,12562],{"class":4935},[4576,27856,3806],{"class":4586},[4576,27858,12681],{"class":4600},[4576,27860,12684],{"class":4586},[4576,27862,27863,27865,27867,27869,27872,27874,27877],{"class":4578,"line":4902},[4576,27864,27832],{"class":4586},[4576,27866,12691],{"class":4657},[4576,27868,4687],{"class":4586},[4576,27870,27871],{"class":4935},"80",[4576,27873,3806],{"class":4586},[4576,27875,27876],{"class":4600},"'Назва занадто довга (макс. 80)'",[4576,27878,12704],{"class":4586},[4576,27880,27881,27884,27886,27888,27890,27892,27894],{"class":4578,"line":4924},[4576,27882,27883],{"class":4590},"    region:",[4576,27885,10085],{"class":4590},[4576,27887,3857],{"class":4586},[4576,27889,11727],{"class":4657},[4576,27891,4687],{"class":4586},[4576,27893,11366],{"class":4673},[4576,27895,10120],{"class":4586},[4576,27897,27898,27901,27904],{"class":4578,"line":4942},[4576,27899,27900],{"class":4590},"      error:",[4576,27902,27903],{"class":4600}," 'Оберіть регіон зі списку'",[4576,27905,4992],{"class":4586},[4576,27907,27908],{"class":4578,"line":4974},[4576,27909,27910],{"class":4586},"    }),\n",[4576,27912,27913,27916],{"class":4578,"line":4983},[4576,27914,27915],{"class":4590},"    description:",[4576,27917,12638],{"class":4590},[4576,27919,27920,27922,27924],{"class":4578,"line":4995},[4576,27921,27832],{"class":4586},[4576,27923,4349],{"class":4657},[4576,27925,12665],{"class":4586},[4576,27927,27928,27930,27932],{"class":4578,"line":5006},[4576,27929,27832],{"class":4586},[4576,27931,12550],{"class":4657},[4576,27933,12665],{"class":4586},[4576,27935,27936,27938,27940,27942,27945,27947,27950],{"class":4578,"line":5017},[4576,27937,27832],{"class":4586},[4576,27939,12672],{"class":4657},[4576,27941,4687],{"class":4586},[4576,27943,27944],{"class":4935},"10",[4576,27946,3806],{"class":4586},[4576,27948,27949],{"class":4600},"'Опис — щонайменше 10 символів'",[4576,27951,12684],{"class":4586},[4576,27953,27954,27956,27958,27960,27963,27965,27968],{"class":4578,"line":5027},[4576,27955,27832],{"class":4586},[4576,27957,12691],{"class":4657},[4576,27959,4687],{"class":4586},[4576,27961,27962],{"class":4935},"500",[4576,27964,3806],{"class":4586},[4576,27966,27967],{"class":4600},"'Опис занадто довгий (макс. 500)'",[4576,27969,12704],{"class":4586},[4576,27971,27972,27975,27977,27979,27982,27984,27987,27990],{"class":4578,"line":5038},[4576,27973,27974],{"class":4590},"    startDate:",[4576,27976,10085],{"class":4590},[4576,27978,3857],{"class":4586},[4576,27980,27981],{"class":4657},"date",[4576,27983,7128],{"class":4586},[4576,27985,27986],{"class":4590},"error:",[4576,27988,27989],{"class":4600}," 'Оберіть дату початку'",[4576,27991,10144],{"class":4586},[4576,27993,27994,27997,27999,28001,28003,28005,28007,28010],{"class":4578,"line":5049},[4576,27995,27996],{"class":4590},"    endDate:",[4576,27998,10085],{"class":4590},[4576,28000,3857],{"class":4586},[4576,28002,27981],{"class":4657},[4576,28004,7128],{"class":4586},[4576,28006,27986],{"class":4590},[4576,28008,28009],{"class":4600}," 'Оберіть дату завершення'",[4576,28011,10144],{"class":4586},[4576,28013,28014],{"class":4578,"line":5055},[4576,28015,28016],{"class":9599},"    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n",[4576,28018,28019,28021,28023,28025,28027],{"class":4578,"line":5744},[4576,28020,14258],{"class":4590},[4576,28022,10085],{"class":4590},[4576,28024,3857],{"class":4586},[4576,28026,4372],{"class":4657},[4576,28028,10092],{"class":4586},[4576,28030,28031],{"class":4578,"line":6299},[4576,28032,28033],{"class":9599},"    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n",[4576,28035,28036,28039],{"class":4578,"line":6312},[4576,28037,28038],{"class":4590},"    plannedDays:",[4576,28040,12638],{"class":4590},[4576,28042,28043,28045,28047],{"class":4578,"line":6325},[4576,28044,27832],{"class":4586},[4576,28046,4095],{"class":4657},[4576,28048,12665],{"class":4586},[4576,28050,28051,28053,28055,28057,28059,28061,28063],{"class":4578,"line":6335},[4576,28052,27832],{"class":4586},[4576,28054,12672],{"class":4657},[4576,28056,4687],{"class":4586},[4576,28058,10566],{"class":4935},[4576,28060,3806],{"class":4586},[4576,28062,12743],{"class":4600},[4576,28064,12684],{"class":4586},[4576,28066,28067,28069,28071,28073,28075,28077,28080],{"class":4578,"line":6350},[4576,28068,27832],{"class":4586},[4576,28070,12691],{"class":4657},[4576,28072,4687],{"class":4586},[4576,28074,10580],{"class":4935},[4576,28076,3806],{"class":4586},[4576,28078,28079],{"class":4600},"'У формі максимум 14 днів'",[4576,28081,12704],{"class":4586},[4576,28083,28084],{"class":4578,"line":6359},[4576,28085,28086],{"class":9599},"    \u002F** Checkbox: чи є план маршруту. *\u002F\n",[4576,28088,28089,28092,28094,28096,28098],{"class":4578,"line":6368},[4576,28090,28091],{"class":4590},"    hasItinerary:",[4576,28093,10085],{"class":4590},[4576,28095,3857],{"class":4586},[4576,28097,4372],{"class":4657},[4576,28099,10092],{"class":4586},[4576,28101,28102],{"class":4578,"line":6377},[4576,28103,28104],{"class":9599},"    \u002F**\n",[4576,28106,28107],{"class":4578,"line":6417},[4576,28108,28109],{"class":9599},"     * Checkbox з обов’язковою згодою.\n",[4576,28111,28112],{"class":4578,"line":6422},[4576,28113,28114],{"class":9599},"     * `true` — єдине прийнятне значення (як «прийняти умови»).\n",[4576,28116,28117],{"class":4578,"line":6427},[4576,28118,28119],{"class":9599},"     *\u002F\n",[4576,28121,28122,28125,28127,28129,28131,28133,28135],{"class":4578,"line":6469},[4576,28123,28124],{"class":4590},"    acceptedLocalSave:",[4576,28126,10085],{"class":4590},[4576,28128,3857],{"class":4586},[4576,28130,10113],{"class":4657},[4576,28132,4687],{"class":4586},[4576,28134,3763],{"class":4653},[4576,28136,10120],{"class":4586},[4576,28138,28139,28141,28144],{"class":4578,"line":6476},[4576,28140,27900],{"class":4590},[4576,28142,28143],{"class":4600}," 'Підтвердіть, що дані поки зберігаються лише на пристрої'",[4576,28145,4992],{"class":4586},[4576,28147,28148],{"class":4578,"line":6489},[4576,28149,27910],{"class":4586},[4576,28151,28152],{"class":4578,"line":6502},[4576,28153,28154],{"class":4586},"  })\n",[4576,28156,28157,28159,28162,28164,28166,28168,28170,28172,28174,28177,28179,28182,28185,28187,28189,28192,28194,28196],{"class":4578,"line":6512},[4576,28158,27817],{"class":4586},[4576,28160,28161],{"class":4657},"refine",[4576,28163,7962],{"class":4586},[4576,28165,14317],{"class":4590},[4576,28167,7968],{"class":4586},[4576,28169,5537],{"class":4653},[4576,28171,21173],{"class":4590},[4576,28173,3857],{"class":4586},[4576,28175,28176],{"class":4590},"endDate",[4576,28178,3857],{"class":4586},[4576,28180,28181],{"class":4657},"getTime",[4576,28183,28184],{"class":4586},"() >= ",[4576,28186,14317],{"class":4590},[4576,28188,3857],{"class":4586},[4576,28190,28191],{"class":4590},"startDate",[4576,28193,3857],{"class":4586},[4576,28195,28181],{"class":4657},[4576,28197,28198],{"class":4586},"(), {\n",[4576,28200,28201,28204,28207],{"class":4578,"line":6525},[4576,28202,28203],{"class":4590},"    message:",[4576,28205,28206],{"class":4600}," 'Дата завершення не може бути раніше початку'",[4576,28208,4992],{"class":4586},[4576,28210,28211,28214,28216,28219],{"class":4578,"line":6535},[4576,28212,28213],{"class":4590},"    path:",[4576,28215,4670],{"class":4586},[4576,28217,28218],{"class":4600},"'endDate'",[4576,28220,24227],{"class":4586},[4576,28222,28223],{"class":4578,"line":6574},[4576,28224,18303],{"class":4586},[4576,28226,28227],{"class":4578,"line":6579},[4576,28228,4644],{"emptyLinePlaceholder":4643},[4576,28230,28231,28233,28235,28237,28239,28241,28243,28245,28247,28249,28251],{"class":4578,"line":6584},[4576,28232,4650],{"class":4582},[4576,28234,11150],{"class":4653},[4576,28236,14087],{"class":4717},[4576,28238,4911],{"class":4586},[4576,28240,10038],{"class":4717},[4576,28242,3857],{"class":4586},[4576,28244,11782],{"class":4717},[4576,28246,5439],{"class":4586},[4576,28248,11159],{"class":4653},[4576,28250,14019],{"class":4590},[4576,28252,11791],{"class":4586},[3891,28254,28257],{"className":10025,"code":28255,"filename":28256,"language":10027,"meta":3899,"style":3899},"const MONTHS_UK_SHORT = [\n  'січ.',\n  'лют.',\n  'бер.',\n  'квіт.',\n  'трав.',\n  'черв.',\n  'лип.',\n  'серп.',\n  'вер.',\n  'жовт.',\n  'лист.',\n  'груд.',\n] as const;\n\nfunction dayMonth(d: Date): string {\n  return `${d.getDate()} ${MONTHS_UK_SHORT[d.getMonth()]}`;\n}\n\n\u002F**\n * Людський підпис періоду, як у mock-стрічці:\n * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n *\u002F\nexport function formatTripDateLabel(start: Date, end: Date): string {\n  const y1 = start.getFullYear();\n  const y2 = end.getFullYear();\n  const m1 = start.getMonth();\n  const m2 = end.getMonth();\n  const d1 = start.getDate();\n  const d2 = end.getDate();\n\n  if (y1 === y2 && m1 === m2) {\n    if (d1 === d2) {\n      return `${dayMonth(start)} ${y1}`;\n    }\n    return `${d1}–${d2} ${MONTHS_UK_SHORT[m1]} ${y1}`;\n  }\n\n  if (y1 === y2) {\n    return `${dayMonth(start)} – ${dayMonth(end)} ${y1}`;\n  }\n\n  return `${dayMonth(start)} ${y1} – ${dayMonth(end)} ${y2}`;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates.ts",[3803,28258,28259,28268,28275,28282,28289,28296,28303,28310,28317,28324,28331,28338,28345,28352,28362,28366,28388,28431,28435,28439,28443,28448,28453,28457,28490,28508,28525,28542,28559,28576,28593,28597,28623,28639,28669,28673,28716,28720,28724,28738,28781,28785,28789,28837],{"__ignoreMap":3899},[4576,28260,28261,28263,28266],{"class":4578,"line":4579},[4576,28262,4905],{"class":4653},[4576,28264,28265],{"class":4673}," MONTHS_UK_SHORT",[4576,28267,11092],{"class":4586},[4576,28269,28270,28273],{"class":4578,"line":4607},[4576,28271,28272],{"class":4600},"  'січ.'",[4576,28274,4992],{"class":4586},[4576,28276,28277,28280],{"class":4578,"line":4640},[4576,28278,28279],{"class":4600},"  'лют.'",[4576,28281,4992],{"class":4586},[4576,28283,28284,28287],{"class":4578,"line":4647},[4576,28285,28286],{"class":4600},"  'бер.'",[4576,28288,4992],{"class":4586},[4576,28290,28291,28294],{"class":4578,"line":4664},[4576,28292,28293],{"class":4600},"  'квіт.'",[4576,28295,4992],{"class":4586},[4576,28297,28298,28301],{"class":4578,"line":4696},[4576,28299,28300],{"class":4600},"  'трав.'",[4576,28302,4992],{"class":4586},[4576,28304,28305,28308],{"class":4578,"line":4701},[4576,28306,28307],{"class":4600},"  'черв.'",[4576,28309,4992],{"class":4586},[4576,28311,28312,28315],{"class":4578,"line":4710},[4576,28313,28314],{"class":4600},"  'лип.'",[4576,28316,4992],{"class":4586},[4576,28318,28319,28322],{"class":4578,"line":4745},[4576,28320,28321],{"class":4600},"  'серп.'",[4576,28323,4992],{"class":4586},[4576,28325,28326,28329],{"class":4578,"line":4781},[4576,28327,28328],{"class":4600},"  'вер.'",[4576,28330,4992],{"class":4586},[4576,28332,28333,28336],{"class":4578,"line":4789},[4576,28334,28335],{"class":4600},"  'жовт.'",[4576,28337,4992],{"class":4586},[4576,28339,28340,28343],{"class":4578,"line":4804},[4576,28341,28342],{"class":4600},"  'лист.'",[4576,28344,4992],{"class":4586},[4576,28346,28347,28350],{"class":4578,"line":4818},[4576,28348,28349],{"class":4600},"  'груд.'",[4576,28351,4992],{"class":4586},[4576,28353,28354,28356,28358,28360],{"class":4578,"line":4829},[4576,28355,11132],{"class":4586},[4576,28357,11135],{"class":4582},[4576,28359,10058],{"class":4653},[4576,28361,4604],{"class":4586},[4576,28363,28364],{"class":4578,"line":4840},[4576,28365,4644],{"emptyLinePlaceholder":4643},[4576,28367,28368,28370,28373,28375,28378,28380,28382,28384,28386],{"class":4578,"line":4851},[4576,28369,17946],{"class":4653},[4576,28371,28372],{"class":4657}," dayMonth",[4576,28374,4687],{"class":4586},[4576,28376,28377],{"class":4590},"d",[4576,28379,7093],{"class":4586},[4576,28381,4462],{"class":4717},[4576,28383,4235],{"class":4586},[4576,28385,4349],{"class":4717},[4576,28387,4980],{"class":4586},[4576,28389,28390,28392,28394,28396,28398,28400,28403,28405,28407,28410,28413,28415,28417,28419,28422,28425,28427,28429],{"class":4578,"line":4870},[4576,28391,4704],{"class":4582},[4576,28393,25208],{"class":4600},[4576,28395,25211],{"class":4653},[4576,28397,28377],{"class":4590},[4576,28399,3857],{"class":4733},[4576,28401,28402],{"class":4657},"getDate",[4576,28404,5553],{"class":4733},[4576,28406,4739],{"class":4653},[4576,28408,28409],{"class":4653}," ${",[4576,28411,28412],{"class":4673},"MONTHS_UK_SHORT",[4576,28414,6261],{"class":4733},[4576,28416,28377],{"class":4590},[4576,28418,3857],{"class":4733},[4576,28420,28421],{"class":4657},"getMonth",[4576,28423,28424],{"class":4733},"()]",[4576,28426,4739],{"class":4653},[4576,28428,25542],{"class":4600},[4576,28430,4604],{"class":4586},[4576,28432,28433],{"class":4578,"line":4876},[4576,28434,4801],{"class":4586},[4576,28436,28437],{"class":4578,"line":4886},[4576,28438,4644],{"emptyLinePlaceholder":4643},[4576,28440,28441],{"class":4578,"line":4892},[4576,28442,26548],{"class":9599},[4576,28444,28445],{"class":4578,"line":4897},[4576,28446,28447],{"class":9599}," * Людський підпис періоду, як у mock-стрічці:\n",[4576,28449,28450],{"class":4578,"line":4902},[4576,28451,28452],{"class":9599}," * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n",[4576,28454,28455],{"class":4578,"line":4924},[4576,28456,26568],{"class":9599},[4576,28458,28459,28461,28463,28466,28468,28471,28473,28475,28477,28480,28482,28484,28486,28488],{"class":4578,"line":4942},[4576,28460,4650],{"class":4582},[4576,28462,4654],{"class":4653},[4576,28464,28465],{"class":4657}," formatTripDateLabel",[4576,28467,4687],{"class":4586},[4576,28469,28470],{"class":4590},"start",[4576,28472,7093],{"class":4586},[4576,28474,4462],{"class":4717},[4576,28476,3806],{"class":4586},[4576,28478,28479],{"class":4590},"end",[4576,28481,7093],{"class":4586},[4576,28483,4462],{"class":4717},[4576,28485,4235],{"class":4586},[4576,28487,4349],{"class":4717},[4576,28489,4980],{"class":4586},[4576,28491,28492,28494,28497,28499,28501,28503,28506],{"class":4578,"line":4974},[4576,28493,4667],{"class":4653},[4576,28495,28496],{"class":4673}," y1",[4576,28498,4911],{"class":4586},[4576,28500,28470],{"class":4590},[4576,28502,3857],{"class":4586},[4576,28504,28505],{"class":4657},"getFullYear",[4576,28507,23287],{"class":4586},[4576,28509,28510,28512,28515,28517,28519,28521,28523],{"class":4578,"line":4983},[4576,28511,4667],{"class":4653},[4576,28513,28514],{"class":4673}," y2",[4576,28516,4911],{"class":4586},[4576,28518,28479],{"class":4590},[4576,28520,3857],{"class":4586},[4576,28522,28505],{"class":4657},[4576,28524,23287],{"class":4586},[4576,28526,28527,28529,28532,28534,28536,28538,28540],{"class":4578,"line":4995},[4576,28528,4667],{"class":4653},[4576,28530,28531],{"class":4673}," m1",[4576,28533,4911],{"class":4586},[4576,28535,28470],{"class":4590},[4576,28537,3857],{"class":4586},[4576,28539,28421],{"class":4657},[4576,28541,23287],{"class":4586},[4576,28543,28544,28546,28549,28551,28553,28555,28557],{"class":4578,"line":5006},[4576,28545,4667],{"class":4653},[4576,28547,28548],{"class":4673}," m2",[4576,28550,4911],{"class":4586},[4576,28552,28479],{"class":4590},[4576,28554,3857],{"class":4586},[4576,28556,28421],{"class":4657},[4576,28558,23287],{"class":4586},[4576,28560,28561,28563,28566,28568,28570,28572,28574],{"class":4578,"line":5017},[4576,28562,4667],{"class":4653},[4576,28564,28565],{"class":4673}," d1",[4576,28567,4911],{"class":4586},[4576,28569,28470],{"class":4590},[4576,28571,3857],{"class":4586},[4576,28573,28402],{"class":4657},[4576,28575,23287],{"class":4586},[4576,28577,28578,28580,28583,28585,28587,28589,28591],{"class":4578,"line":5027},[4576,28579,4667],{"class":4653},[4576,28581,28582],{"class":4673}," d2",[4576,28584,4911],{"class":4586},[4576,28586,28479],{"class":4590},[4576,28588,3857],{"class":4586},[4576,28590,28402],{"class":4657},[4576,28592,23287],{"class":4586},[4576,28594,28595],{"class":4578,"line":5038},[4576,28596,4644],{"emptyLinePlaceholder":4643},[4576,28598,28599,28601,28603,28606,28608,28611,28613,28616,28618,28621],{"class":4578,"line":5049},[4576,28600,12008],{"class":4582},[4576,28602,4084],{"class":4586},[4576,28604,28605],{"class":4590},"y1",[4576,28607,12019],{"class":4586},[4576,28609,28610],{"class":4590},"y2",[4576,28612,12025],{"class":4586},[4576,28614,28615],{"class":4590},"m1",[4576,28617,12019],{"class":4586},[4576,28619,28620],{"class":4590},"m2",[4576,28622,7149],{"class":4586},[4576,28624,28625,28627,28629,28632,28634,28637],{"class":4578,"line":5055},[4576,28626,15113],{"class":4582},[4576,28628,4084],{"class":4586},[4576,28630,28631],{"class":4590},"d1",[4576,28633,12019],{"class":4586},[4576,28635,28636],{"class":4590},"d2",[4576,28638,7149],{"class":4586},[4576,28640,28641,28644,28646,28648,28651,28653,28655,28657,28659,28661,28663,28665,28667],{"class":4578,"line":5744},[4576,28642,28643],{"class":4582},"      return",[4576,28645,25208],{"class":4600},[4576,28647,25211],{"class":4653},[4576,28649,28650],{"class":4657},"dayMonth",[4576,28652,4687],{"class":4733},[4576,28654,28470],{"class":4590},[4576,28656,5723],{"class":4733},[4576,28658,4739],{"class":4653},[4576,28660,28409],{"class":4653},[4576,28662,28605],{"class":4590},[4576,28664,4739],{"class":4653},[4576,28666,25542],{"class":4600},[4576,28668,4604],{"class":4586},[4576,28670,28671],{"class":4578,"line":6299},[4576,28672,23135],{"class":4586},[4576,28674,28675,28677,28679,28681,28683,28685,28688,28690,28692,28694,28696,28698,28700,28702,28704,28706,28708,28710,28712,28714],{"class":4578,"line":6312},[4576,28676,15283],{"class":4582},[4576,28678,25208],{"class":4600},[4576,28680,25211],{"class":4653},[4576,28682,28631],{"class":4590},[4576,28684,4739],{"class":4653},[4576,28686,28687],{"class":4600},"–",[4576,28689,25211],{"class":4653},[4576,28691,28636],{"class":4590},[4576,28693,4739],{"class":4653},[4576,28695,28409],{"class":4653},[4576,28697,28412],{"class":4673},[4576,28699,6261],{"class":4733},[4576,28701,28615],{"class":4590},[4576,28703,18647],{"class":4733},[4576,28705,4739],{"class":4653},[4576,28707,28409],{"class":4653},[4576,28709,28605],{"class":4590},[4576,28711,4739],{"class":4653},[4576,28713,25542],{"class":4600},[4576,28715,4604],{"class":4586},[4576,28717,28718],{"class":4578,"line":6325},[4576,28719,12045],{"class":4586},[4576,28721,28722],{"class":4578,"line":6335},[4576,28723,4644],{"emptyLinePlaceholder":4643},[4576,28725,28726,28728,28730,28732,28734,28736],{"class":4578,"line":6350},[4576,28727,12008],{"class":4582},[4576,28729,4084],{"class":4586},[4576,28731,28605],{"class":4590},[4576,28733,12019],{"class":4586},[4576,28735,28610],{"class":4590},[4576,28737,7149],{"class":4586},[4576,28739,28740,28742,28744,28746,28748,28750,28752,28754,28756,28759,28761,28763,28765,28767,28769,28771,28773,28775,28777,28779],{"class":4578,"line":6359},[4576,28741,15283],{"class":4582},[4576,28743,25208],{"class":4600},[4576,28745,25211],{"class":4653},[4576,28747,28650],{"class":4657},[4576,28749,4687],{"class":4733},[4576,28751,28470],{"class":4590},[4576,28753,5723],{"class":4733},[4576,28755,4739],{"class":4653},[4576,28757,28758],{"class":4600}," – ",[4576,28760,25211],{"class":4653},[4576,28762,28650],{"class":4657},[4576,28764,4687],{"class":4733},[4576,28766,28479],{"class":4590},[4576,28768,5723],{"class":4733},[4576,28770,4739],{"class":4653},[4576,28772,28409],{"class":4653},[4576,28774,28605],{"class":4590},[4576,28776,4739],{"class":4653},[4576,28778,25542],{"class":4600},[4576,28780,4604],{"class":4586},[4576,28782,28783],{"class":4578,"line":6368},[4576,28784,12045],{"class":4586},[4576,28786,28787],{"class":4578,"line":6377},[4576,28788,4644],{"emptyLinePlaceholder":4643},[4576,28790,28791,28793,28795,28797,28799,28801,28803,28805,28807,28809,28811,28813,28815,28817,28819,28821,28823,28825,28827,28829,28831,28833,28835],{"class":4578,"line":6417},[4576,28792,4704],{"class":4582},[4576,28794,25208],{"class":4600},[4576,28796,25211],{"class":4653},[4576,28798,28650],{"class":4657},[4576,28800,4687],{"class":4733},[4576,28802,28470],{"class":4590},[4576,28804,5723],{"class":4733},[4576,28806,4739],{"class":4653},[4576,28808,28409],{"class":4653},[4576,28810,28605],{"class":4590},[4576,28812,4739],{"class":4653},[4576,28814,28758],{"class":4600},[4576,28816,25211],{"class":4653},[4576,28818,28650],{"class":4657},[4576,28820,4687],{"class":4733},[4576,28822,28479],{"class":4590},[4576,28824,5723],{"class":4733},[4576,28826,4739],{"class":4653},[4576,28828,28409],{"class":4653},[4576,28830,28610],{"class":4590},[4576,28832,4739],{"class":4653},[4576,28834,25542],{"class":4600},[4576,28836,4604],{"class":4586},[4576,28838,28839],{"class":4578,"line":6422},[4576,28840,4801],{"class":4586},[3891,28842,28845],{"className":4570,"code":28843,"filename":28844,"language":4572,"meta":3899,"style":3899},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\n\nimport { mockTrips } from '.\u002FmockTrips';\nimport type { Trip } from '.\u002Ftypes';\n\ntype TripsContextValue = {\n  trips: Trip[];\n  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n  addTrip: (trip: Trip) => void;\n  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n  resetToMock: () => void;\n};\n\nconst TripsContext = createContext\u003CTripsContextValue | null>(null);\n\ntype TripsProviderProps = {\n  children: ReactNode;\n};\n\nexport function TripsProvider({ children }: TripsProviderProps) {\n  const [trips, setTrips] = useState\u003CTrip[]>(() => [...mockTrips]);\n\n  const addTrip = useCallback((trip: Trip) => {\n    setTrips((prev) => [trip, ...prev]);\n  }, []);\n\n  const resetToMock = useCallback(() => {\n    setTrips([...mockTrips]);\n  }, []);\n\n  const value = useMemo(\n    () => ({ trips, addTrip, resetToMock }),\n    [trips, addTrip, resetToMock],\n  );\n\n  return (\n    \u003CTripsContext.Provider value={value}>{children}\u003C\u002FTripsContext.Provider>\n  );\n}\n\nexport function useTrips(): TripsContextValue {\n  const ctx = useContext(TripsContext);\n  if (!ctx) {\n    throw new Error('useTrips треба викликати всередині TripsProvider');\n  }\n  return ctx;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FTripsProvider.tsx",[3803,28846,28847,28853,28860,28867,28874,28881,28888,28895,28905,28909,28926,28944,28948,28957,28969,28974,28995,29000,29013,29017,29021,29048,29052,29061,29073,29077,29081,29101,29134,29138,29163,29188,29192,29196,29213,29224,29228,29232,29245,29266,29282,29286,29290,29296,29327,29331,29335,29339,29355,29374,29385,29403,29407,29415],{"__ignoreMap":3899},[4576,28848,28849,28851],{"class":4578,"line":4579},[4576,28850,4583],{"class":4582},[4576,28852,4980],{"class":4586},[4576,28854,28855,28858],{"class":4578,"line":4607},[4576,28856,28857],{"class":4590},"  createContext",[4576,28859,4992],{"class":4586},[4576,28861,28862,28865],{"class":4578,"line":4640},[4576,28863,28864],{"class":4590},"  ReactNode",[4576,28866,4992],{"class":4586},[4576,28868,28869,28872],{"class":4578,"line":4647},[4576,28870,28871],{"class":4590},"  useCallback",[4576,28873,4992],{"class":4586},[4576,28875,28876,28879],{"class":4578,"line":4664},[4576,28877,28878],{"class":4590},"  useContext",[4576,28880,4992],{"class":4586},[4576,28882,28883,28886],{"class":4578,"line":4696},[4576,28884,28885],{"class":4590},"  useMemo",[4576,28887,4992],{"class":4586},[4576,28889,28890,28893],{"class":4578,"line":4701},[4576,28891,28892],{"class":4590},"  useState",[4576,28894,4992],{"class":4586},[4576,28896,28897,28899,28901,28903],{"class":4578,"line":4710},[4576,28898,5826],{"class":4586},[4576,28900,4597],{"class":4582},[4576,28902,4601],{"class":4600},[4576,28904,4604],{"class":4586},[4576,28906,28907],{"class":4578,"line":4745},[4576,28908,4644],{"emptyLinePlaceholder":4643},[4576,28910,28911,28913,28915,28917,28919,28921,28924],{"class":4578,"line":4781},[4576,28912,4583],{"class":4582},[4576,28914,4587],{"class":4586},[4576,28916,27170],{"class":4590},[4576,28918,4594],{"class":4586},[4576,28920,4597],{"class":4582},[4576,28922,28923],{"class":4600}," '.\u002FmockTrips'",[4576,28925,4604],{"class":4586},[4576,28927,28928,28930,28932,28934,28936,28938,28940,28942],{"class":4578,"line":4789},[4576,28929,4583],{"class":4582},[4576,28931,11150],{"class":4582},[4576,28933,4587],{"class":4586},[4576,28935,22162],{"class":4590},[4576,28937,4594],{"class":4586},[4576,28939,4597],{"class":4582},[4576,28941,27740],{"class":4600},[4576,28943,4604],{"class":4586},[4576,28945,28946],{"class":4578,"line":4804},[4576,28947,4644],{"emptyLinePlaceholder":4643},[4576,28949,28950,28952,28955],{"class":4578,"line":4818},[4576,28951,4083],{"class":4653},[4576,28953,28954],{"class":4717}," TripsContextValue",[4576,28956,27412],{"class":4586},[4576,28958,28959,28962,28964,28966],{"class":4578,"line":4829},[4576,28960,28961],{"class":4590},"  trips",[4576,28963,7093],{"class":4586},[4576,28965,22162],{"class":4717},[4576,28967,28968],{"class":4586},"[];\n",[4576,28970,28971],{"class":4578,"line":4840},[4576,28972,28973],{"class":9599},"  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n",[4576,28975,28976,28979,28981,28983,28985,28987,28989,28991,28993],{"class":4578,"line":4851},[4576,28977,28978],{"class":4657},"  addTrip",[4576,28980,18116],{"class":4586},[4576,28982,23943],{"class":4590},[4576,28984,7093],{"class":4586},[4576,28986,22162],{"class":4717},[4576,28988,7968],{"class":4586},[4576,28990,5537],{"class":4653},[4576,28992,7083],{"class":4717},[4576,28994,4604],{"class":4586},[4576,28996,28997],{"class":4578,"line":4870},[4576,28998,28999],{"class":9599},"  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n",[4576,29001,29002,29005,29007,29009,29011],{"class":4578,"line":4876},[4576,29003,29004],{"class":4657},"  resetToMock",[4576,29006,7078],{"class":4586},[4576,29008,5537],{"class":4653},[4576,29010,7083],{"class":4717},[4576,29012,4604],{"class":4586},[4576,29014,29015],{"class":4578,"line":4886},[4576,29016,12050],{"class":4586},[4576,29018,29019],{"class":4578,"line":4892},[4576,29020,4644],{"emptyLinePlaceholder":4643},[4576,29022,29023,29025,29028,29030,29033,29035,29038,29040,29042,29044,29046],{"class":4578,"line":4897},[4576,29024,4905],{"class":4653},[4576,29026,29027],{"class":4673}," TripsContext",[4576,29029,4911],{"class":4586},[4576,29031,29032],{"class":4657},"createContext",[4576,29034,5439],{"class":4586},[4576,29036,29037],{"class":4717},"TripsContextValue",[4576,29039,21098],{"class":4586},[4576,29041,5447],{"class":4717},[4576,29043,5444],{"class":4586},[4576,29045,5447],{"class":4653},[4576,29047,4693],{"class":4586},[4576,29049,29050],{"class":4578,"line":4902},[4576,29051,4644],{"emptyLinePlaceholder":4643},[4576,29053,29054,29056,29059],{"class":4578,"line":4924},[4576,29055,4083],{"class":4653},[4576,29057,29058],{"class":4717}," TripsProviderProps",[4576,29060,27412],{"class":4586},[4576,29062,29063,29066,29068,29071],{"class":4578,"line":4942},[4576,29064,29065],{"class":4590},"  children",[4576,29067,7093],{"class":4586},[4576,29069,29070],{"class":4717},"ReactNode",[4576,29072,4604],{"class":4586},[4576,29074,29075],{"class":4578,"line":4974},[4576,29076,12050],{"class":4586},[4576,29078,29079],{"class":4578,"line":4983},[4576,29080,4644],{"emptyLinePlaceholder":4643},[4576,29082,29083,29085,29087,29090,29092,29094,29096,29099],{"class":4578,"line":4995},[4576,29084,4650],{"class":4582},[4576,29086,4654],{"class":4653},[4576,29088,29089],{"class":4657}," TripsProvider",[4576,29091,7128],{"class":4586},[4576,29093,17954],{"class":4590},[4576,29095,7143],{"class":4586},[4576,29097,29098],{"class":4717},"TripsProviderProps",[4576,29100,7149],{"class":4586},[4576,29102,29103,29105,29107,29109,29111,29114,29116,29118,29120,29122,29125,29127,29130,29132],{"class":4578,"line":5006},[4576,29104,4667],{"class":4653},[4576,29106,4670],{"class":4586},[4576,29108,23829],{"class":4673},[4576,29110,3806],{"class":4586},[4576,29112,29113],{"class":4673},"setTrips",[4576,29115,4682],{"class":4586},[4576,29117,4591],{"class":4657},[4576,29119,5439],{"class":4586},[4576,29121,22162],{"class":4717},[4576,29123,29124],{"class":4586},"[]>(() ",[4576,29126,5537],{"class":4653},[4576,29128,29129],{"class":4586}," [...",[4576,29131,27170],{"class":4590},[4576,29133,24142],{"class":4586},[4576,29135,29136],{"class":4578,"line":5017},[4576,29137,4644],{"emptyLinePlaceholder":4643},[4576,29139,29140,29142,29145,29147,29149,29151,29153,29155,29157,29159,29161],{"class":4578,"line":5027},[4576,29141,4667],{"class":4653},[4576,29143,29144],{"class":4673}," addTrip",[4576,29146,4911],{"class":4586},[4576,29148,23491],{"class":4657},[4576,29150,7962],{"class":4586},[4576,29152,23943],{"class":4590},[4576,29154,7093],{"class":4586},[4576,29156,22162],{"class":4717},[4576,29158,7968],{"class":4586},[4576,29160,5537],{"class":4653},[4576,29162,4980],{"class":4586},[4576,29164,29165,29168,29170,29173,29175,29177,29179,29181,29184,29186],{"class":4578,"line":5038},[4576,29166,29167],{"class":4657},"    setTrips",[4576,29169,7962],{"class":4586},[4576,29171,29172],{"class":4590},"prev",[4576,29174,7968],{"class":4586},[4576,29176,5537],{"class":4653},[4576,29178,4670],{"class":4586},[4576,29180,23943],{"class":4590},[4576,29182,29183],{"class":4586},", ...",[4576,29185,29172],{"class":4590},[4576,29187,24142],{"class":4586},[4576,29189,29190],{"class":4578,"line":5049},[4576,29191,23990],{"class":4586},[4576,29193,29194],{"class":4578,"line":5055},[4576,29195,4644],{"emptyLinePlaceholder":4643},[4576,29197,29198,29200,29203,29205,29207,29209,29211],{"class":4578,"line":5744},[4576,29199,4667],{"class":4653},[4576,29201,29202],{"class":4673}," resetToMock",[4576,29204,4911],{"class":4586},[4576,29206,23491],{"class":4657},[4576,29208,24073],{"class":4586},[4576,29210,5537],{"class":4653},[4576,29212,4980],{"class":4586},[4576,29214,29215,29217,29220,29222],{"class":4578,"line":6299},[4576,29216,29167],{"class":4657},[4576,29218,29219],{"class":4586},"([...",[4576,29221,27170],{"class":4590},[4576,29223,24142],{"class":4586},[4576,29225,29226],{"class":4578,"line":6312},[4576,29227,23990],{"class":4586},[4576,29229,29230],{"class":4578,"line":6325},[4576,29231,4644],{"emptyLinePlaceholder":4643},[4576,29233,29234,29236,29238,29240,29243],{"class":4578,"line":6335},[4576,29235,4667],{"class":4653},[4576,29237,11415],{"class":4673},[4576,29239,4911],{"class":4586},[4576,29241,29242],{"class":4657},"useMemo",[4576,29244,24160],{"class":4586},[4576,29246,29247,29250,29252,29254,29256,29258,29260,29262,29264],{"class":4578,"line":6350},[4576,29248,29249],{"class":4586},"    () ",[4576,29251,5537],{"class":4653},[4576,29253,10135],{"class":4586},[4576,29255,23829],{"class":4590},[4576,29257,3806],{"class":4586},[4576,29259,26602],{"class":4590},[4576,29261,3806],{"class":4586},[4576,29263,23834],{"class":4590},[4576,29265,10144],{"class":4586},[4576,29267,29268,29270,29272,29274,29276,29278,29280],{"class":4578,"line":6359},[4576,29269,24222],{"class":4586},[4576,29271,23829],{"class":4590},[4576,29273,3806],{"class":4586},[4576,29275,26602],{"class":4590},[4576,29277,3806],{"class":4586},[4576,29279,23834],{"class":4590},[4576,29281,24227],{"class":4586},[4576,29283,29284],{"class":4578,"line":6368},[4576,29285,4889],{"class":4586},[4576,29287,29288],{"class":4578,"line":6377},[4576,29289,4644],{"emptyLinePlaceholder":4643},[4576,29291,29292,29294],{"class":4578,"line":6417},[4576,29293,4704],{"class":4582},[4576,29295,4707],{"class":4586},[4576,29297,29298,29300,29303,29305,29307,29309,29311,29313,29315,29317,29319,29321,29323,29325],{"class":4578,"line":6422},[4576,29299,4714],{"class":4713},[4576,29301,29302],{"class":4717},"TripsContext.Provider",[4576,29304,11415],{"class":4720},[4576,29306,4724],{"class":4586},[4576,29308,4727],{"class":4653},[4576,29310,4282],{"class":4590},[4576,29312,4739],{"class":4653},[4576,29314,4768],{"class":4713},[4576,29316,4727],{"class":4653},[4576,29318,17954],{"class":4590},[4576,29320,4739],{"class":4653},[4576,29322,4774],{"class":4713},[4576,29324,29302],{"class":4717},[4576,29326,4742],{"class":4713},[4576,29328,29329],{"class":4578,"line":6427},[4576,29330,4889],{"class":4586},[4576,29332,29333],{"class":4578,"line":6469},[4576,29334,4801],{"class":4586},[4576,29336,29337],{"class":4578,"line":6476},[4576,29338,4644],{"emptyLinePlaceholder":4643},[4576,29340,29341,29343,29345,29348,29351,29353],{"class":4578,"line":6489},[4576,29342,4650],{"class":4582},[4576,29344,4654],{"class":4653},[4576,29346,29347],{"class":4657}," useTrips",[4576,29349,29350],{"class":4586},"(): ",[4576,29352,29037],{"class":4717},[4576,29354,4980],{"class":4586},[4576,29356,29357,29359,29362,29364,29367,29369,29372],{"class":4578,"line":6502},[4576,29358,4667],{"class":4653},[4576,29360,29361],{"class":4673}," ctx",[4576,29363,4911],{"class":4586},[4576,29365,29366],{"class":4657},"useContext",[4576,29368,4687],{"class":4586},[4576,29370,29371],{"class":4590},"TripsContext",[4576,29373,4693],{"class":4586},[4576,29375,29376,29378,29380,29383],{"class":4578,"line":6512},[4576,29377,12008],{"class":4582},[4576,29379,12538],{"class":4586},[4576,29381,29382],{"class":4590},"ctx",[4576,29384,7149],{"class":4586},[4576,29386,29387,29390,29393,29396,29398,29401],{"class":4578,"line":6525},[4576,29388,29389],{"class":4582},"    throw",[4576,29391,29392],{"class":4653}," new",[4576,29394,29395],{"class":4657}," Error",[4576,29397,4687],{"class":4586},[4576,29399,29400],{"class":4600},"'useTrips треба викликати всередині TripsProvider'",[4576,29402,4693],{"class":4586},[4576,29404,29405],{"class":4578,"line":6535},[4576,29406,12045],{"class":4586},[4576,29408,29409,29411,29413],{"class":4578,"line":6574},[4576,29410,4704],{"class":4582},[4576,29412,29361],{"class":4590},[4576,29414,4604],{"class":4586},[4576,29416,29417],{"class":4578,"line":6579},[4576,29418,4801],{"class":4586},[3891,29420,29423],{"className":10025,"code":29421,"filename":29422,"language":10027,"meta":3899,"style":3899},"import type { Trip } from '.\u002Ftypes';\n\n\u002F**\n * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n *\u002F\nexport const mockTrips: Trip[] = [\n  {\n    id: '1',\n    title: 'Карпати на вихідні',\n    dateLabel: '12–14 бер. 2026',\n    description: 'Говерла, полонини й вечірній чай біля каміну в котеджі.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '2',\n    title: 'Львівський вікенд',\n    dateLabel: '2–4 трав. 2026',\n    description: 'Кава, площа Ринок, закапелки й нічний трамвай.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '3',\n    title: 'Одеса біля моря',\n    dateLabel: '18–22 лип. 2026',\n    description: 'Схід сонця на набережній, рибний ринок і вечірній Привоз.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '4',\n    title: 'Київ на три дні',\n    dateLabel: '5–7 черв. 2026',\n    description: 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '5',\n    title: 'Чернівці: університет і дворики',\n    dateLabel: '20–22 вер. 2026',\n    description: 'Резиденція митрополитів, кава на Кобилянській, нічний двір.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '6',\n    title: 'Кам’янець-Подільський',\n    dateLabel: '11–13 квіт. 2026',\n    description: 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '7',\n    title: 'Харків: місто й парки',\n    dateLabel: '8–10 серп. 2026',\n    description: 'Саржин яр, набережна, вечірні вогні Сумської.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80',\n    region: 'Схід',\n  },\n  {\n    id: '8',\n    title: 'Дніпро: мости й пагорби',\n    dateLabel: '15–17 трав. 2026',\n    description: 'Мереживо мостів, прогулянка набережною, кава з видом на річку.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '9',\n    title: 'Ужгород і виноград',\n    dateLabel: '25–27 жовт. 2026',\n    description: 'Замок, липова алея, дегустація біля місцевих виноробів.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '10',\n    title: 'Полтава: смаки й історія',\n    dateLabel: '3–5 лип. 2026',\n    description: 'Котлета по-київськи — ні, галушки; музей і тихі двори.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '11',\n    title: 'Затока: пісок і шторм',\n    dateLabel: '1–7 серп. 2026',\n    description: 'Ранкові купання, вечірній вітер, книжка під парасолькою.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '12',\n    title: 'Яремче: водоспад і ліс',\n    dateLabel: '19–21 черв. 2026',\n    description: 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80',\n    region: 'Карпати',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockTrips.ts",[3803,29424,29425,29443,29447,29451,29456,29461,29465,29481,29486,29496,29505,29515,29524,29529,29536,29545,29549,29553,29562,29571,29580,29589,29593,29600,29609,29613,29617,29626,29635,29644,29653,29657,29664,29673,29677,29681,29690,29699,29708,29717,29721,29728,29737,29741,29745,29754,29763,29772,29781,29785,29792,29800,29804,29808,29817,29826,29835,29844,29848,29855,29863,29867,29871,29880,29889,29898,29907,29911,29918,29927,29931,29935,29944,29953,29962,29971,29975,29982,29990,29994,29998,30007,30016,30025,30034,30038,30045,30053,30057,30061,30070,30079,30088,30097,30101,30108,30116,30120,30124,30133,30142,30151,30160,30164,30171,30179,30183,30187,30196,30205,30214,30223,30227,30234,30242,30246],{"__ignoreMap":3899},[4576,29426,29427,29429,29431,29433,29435,29437,29439,29441],{"class":4578,"line":4579},[4576,29428,4583],{"class":4582},[4576,29430,11150],{"class":4582},[4576,29432,4587],{"class":4586},[4576,29434,22162],{"class":4590},[4576,29436,4594],{"class":4586},[4576,29438,4597],{"class":4582},[4576,29440,27740],{"class":4600},[4576,29442,4604],{"class":4586},[4576,29444,29445],{"class":4578,"line":4607},[4576,29446,4644],{"emptyLinePlaceholder":4643},[4576,29448,29449],{"class":4578,"line":4640},[4576,29450,26548],{"class":9599},[4576,29452,29453],{"class":4578,"line":4647},[4576,29454,29455],{"class":9599}," * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n",[4576,29457,29458],{"class":4578,"line":4664},[4576,29459,29460],{"class":9599}," * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n",[4576,29462,29463],{"class":4578,"line":4696},[4576,29464,26568],{"class":9599},[4576,29466,29467,29469,29471,29474,29476,29478],{"class":4578,"line":4701},[4576,29468,4650],{"class":4582},[4576,29470,10058],{"class":4653},[4576,29472,29473],{"class":4673}," mockTrips",[4576,29475,7093],{"class":4586},[4576,29477,22162],{"class":4717},[4576,29479,29480],{"class":4586},"[] = [\n",[4576,29482,29483],{"class":4578,"line":4710},[4576,29484,29485],{"class":4586},"  {\n",[4576,29487,29488,29491,29494],{"class":4578,"line":4745},[4576,29489,29490],{"class":4590},"    id:",[4576,29492,29493],{"class":4600}," '1'",[4576,29495,4992],{"class":4586},[4576,29497,29498,29500,29503],{"class":4578,"line":4781},[4576,29499,14248],{"class":4590},[4576,29501,29502],{"class":4600}," 'Карпати на вихідні'",[4576,29504,4992],{"class":4586},[4576,29506,29507,29510,29513],{"class":4578,"line":4789},[4576,29508,29509],{"class":4590},"    dateLabel:",[4576,29511,29512],{"class":4600}," '12–14 бер. 2026'",[4576,29514,4992],{"class":4586},[4576,29516,29517,29519,29522],{"class":4578,"line":4804},[4576,29518,27915],{"class":4590},[4576,29520,29521],{"class":4600}," 'Говерла, полонини й вечірній чай біля каміну в котеджі.'",[4576,29523,4992],{"class":4586},[4576,29525,29526],{"class":4578,"line":4818},[4576,29527,29528],{"class":4590},"    coverUri:\n",[4576,29530,29531,29534],{"class":4578,"line":4829},[4576,29532,29533],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80'",[4576,29535,4992],{"class":4586},[4576,29537,29538,29540,29543],{"class":4578,"line":4840},[4576,29539,27883],{"class":4590},[4576,29541,29542],{"class":4600}," 'Карпати'",[4576,29544,4992],{"class":4586},[4576,29546,29547],{"class":4578,"line":4851},[4576,29548,5052],{"class":4586},[4576,29550,29551],{"class":4578,"line":4870},[4576,29552,29485],{"class":4586},[4576,29554,29555,29557,29560],{"class":4578,"line":4876},[4576,29556,29490],{"class":4590},[4576,29558,29559],{"class":4600}," '2'",[4576,29561,4992],{"class":4586},[4576,29563,29564,29566,29569],{"class":4578,"line":4886},[4576,29565,14248],{"class":4590},[4576,29567,29568],{"class":4600}," 'Львівський вікенд'",[4576,29570,4992],{"class":4586},[4576,29572,29573,29575,29578],{"class":4578,"line":4892},[4576,29574,29509],{"class":4590},[4576,29576,29577],{"class":4600}," '2–4 трав. 2026'",[4576,29579,4992],{"class":4586},[4576,29581,29582,29584,29587],{"class":4578,"line":4897},[4576,29583,27915],{"class":4590},[4576,29585,29586],{"class":4600}," 'Кава, площа Ринок, закапелки й нічний трамвай.'",[4576,29588,4992],{"class":4586},[4576,29590,29591],{"class":4578,"line":4902},[4576,29592,29528],{"class":4590},[4576,29594,29595,29598],{"class":4578,"line":4924},[4576,29596,29597],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80'",[4576,29599,4992],{"class":4586},[4576,29601,29602,29604,29607],{"class":4578,"line":4942},[4576,29603,27883],{"class":4590},[4576,29605,29606],{"class":4600}," 'Захід'",[4576,29608,4992],{"class":4586},[4576,29610,29611],{"class":4578,"line":4974},[4576,29612,5052],{"class":4586},[4576,29614,29615],{"class":4578,"line":4983},[4576,29616,29485],{"class":4586},[4576,29618,29619,29621,29624],{"class":4578,"line":4995},[4576,29620,29490],{"class":4590},[4576,29622,29623],{"class":4600}," '3'",[4576,29625,4992],{"class":4586},[4576,29627,29628,29630,29633],{"class":4578,"line":5006},[4576,29629,14248],{"class":4590},[4576,29631,29632],{"class":4600}," 'Одеса біля моря'",[4576,29634,4992],{"class":4586},[4576,29636,29637,29639,29642],{"class":4578,"line":5017},[4576,29638,29509],{"class":4590},[4576,29640,29641],{"class":4600}," '18–22 лип. 2026'",[4576,29643,4992],{"class":4586},[4576,29645,29646,29648,29651],{"class":4578,"line":5027},[4576,29647,27915],{"class":4590},[4576,29649,29650],{"class":4600}," 'Схід сонця на набережній, рибний ринок і вечірній Привоз.'",[4576,29652,4992],{"class":4586},[4576,29654,29655],{"class":4578,"line":5038},[4576,29656,29528],{"class":4590},[4576,29658,29659,29662],{"class":4578,"line":5049},[4576,29660,29661],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80'",[4576,29663,4992],{"class":4586},[4576,29665,29666,29668,29671],{"class":4578,"line":5055},[4576,29667,27883],{"class":4590},[4576,29669,29670],{"class":4600}," 'Південь'",[4576,29672,4992],{"class":4586},[4576,29674,29675],{"class":4578,"line":5744},[4576,29676,5052],{"class":4586},[4576,29678,29679],{"class":4578,"line":6299},[4576,29680,29485],{"class":4586},[4576,29682,29683,29685,29688],{"class":4578,"line":6312},[4576,29684,29490],{"class":4590},[4576,29686,29687],{"class":4600}," '4'",[4576,29689,4992],{"class":4586},[4576,29691,29692,29694,29697],{"class":4578,"line":6325},[4576,29693,14248],{"class":4590},[4576,29695,29696],{"class":4600}," 'Київ на три дні'",[4576,29698,4992],{"class":4586},[4576,29700,29701,29703,29706],{"class":4578,"line":6335},[4576,29702,29509],{"class":4590},[4576,29704,29705],{"class":4600}," '5–7 черв. 2026'",[4576,29707,4992],{"class":4586},[4576,29709,29710,29712,29715],{"class":4578,"line":6350},[4576,29711,27915],{"class":4590},[4576,29713,29714],{"class":4600}," 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.'",[4576,29716,4992],{"class":4586},[4576,29718,29719],{"class":4578,"line":6359},[4576,29720,29528],{"class":4590},[4576,29722,29723,29726],{"class":4578,"line":6368},[4576,29724,29725],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80'",[4576,29727,4992],{"class":4586},[4576,29729,29730,29732,29735],{"class":4578,"line":6377},[4576,29731,27883],{"class":4590},[4576,29733,29734],{"class":4600}," 'Центр'",[4576,29736,4992],{"class":4586},[4576,29738,29739],{"class":4578,"line":6417},[4576,29740,5052],{"class":4586},[4576,29742,29743],{"class":4578,"line":6422},[4576,29744,29485],{"class":4586},[4576,29746,29747,29749,29752],{"class":4578,"line":6427},[4576,29748,29490],{"class":4590},[4576,29750,29751],{"class":4600}," '5'",[4576,29753,4992],{"class":4586},[4576,29755,29756,29758,29761],{"class":4578,"line":6469},[4576,29757,14248],{"class":4590},[4576,29759,29760],{"class":4600}," 'Чернівці: університет і дворики'",[4576,29762,4992],{"class":4586},[4576,29764,29765,29767,29770],{"class":4578,"line":6476},[4576,29766,29509],{"class":4590},[4576,29768,29769],{"class":4600}," '20–22 вер. 2026'",[4576,29771,4992],{"class":4586},[4576,29773,29774,29776,29779],{"class":4578,"line":6489},[4576,29775,27915],{"class":4590},[4576,29777,29778],{"class":4600}," 'Резиденція митрополитів, кава на Кобилянській, нічний двір.'",[4576,29780,4992],{"class":4586},[4576,29782,29783],{"class":4578,"line":6502},[4576,29784,29528],{"class":4590},[4576,29786,29787,29790],{"class":4578,"line":6512},[4576,29788,29789],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80'",[4576,29791,4992],{"class":4586},[4576,29793,29794,29796,29798],{"class":4578,"line":6525},[4576,29795,27883],{"class":4590},[4576,29797,29606],{"class":4600},[4576,29799,4992],{"class":4586},[4576,29801,29802],{"class":4578,"line":6535},[4576,29803,5052],{"class":4586},[4576,29805,29806],{"class":4578,"line":6574},[4576,29807,29485],{"class":4586},[4576,29809,29810,29812,29815],{"class":4578,"line":6579},[4576,29811,29490],{"class":4590},[4576,29813,29814],{"class":4600}," '6'",[4576,29816,4992],{"class":4586},[4576,29818,29819,29821,29824],{"class":4578,"line":6584},[4576,29820,14248],{"class":4590},[4576,29822,29823],{"class":4600}," 'Кам’янець-Подільський'",[4576,29825,4992],{"class":4586},[4576,29827,29828,29830,29833],{"class":4578,"line":6626},[4576,29829,29509],{"class":4590},[4576,29831,29832],{"class":4600}," '11–13 квіт. 2026'",[4576,29834,4992],{"class":4586},[4576,29836,29837,29839,29842],{"class":4578,"line":6633},[4576,29838,27915],{"class":4590},[4576,29840,29841],{"class":4600}," 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.'",[4576,29843,4992],{"class":4586},[4576,29845,29846],{"class":4578,"line":6646},[4576,29847,29528],{"class":4590},[4576,29849,29850,29853],{"class":4578,"line":6659},[4576,29851,29852],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80'",[4576,29854,4992],{"class":4586},[4576,29856,29857,29859,29861],{"class":4578,"line":6669},[4576,29858,27883],{"class":4590},[4576,29860,29606],{"class":4600},[4576,29862,4992],{"class":4586},[4576,29864,29865],{"class":4578,"line":6682},[4576,29866,5052],{"class":4586},[4576,29868,29869],{"class":4578,"line":6688},[4576,29870,29485],{"class":4586},[4576,29872,29873,29875,29878],{"class":4578,"line":6699},[4576,29874,29490],{"class":4590},[4576,29876,29877],{"class":4600}," '7'",[4576,29879,4992],{"class":4586},[4576,29881,29882,29884,29887],{"class":4578,"line":6711},[4576,29883,14248],{"class":4590},[4576,29885,29886],{"class":4600}," 'Харків: місто й парки'",[4576,29888,4992],{"class":4586},[4576,29890,29891,29893,29896],{"class":4578,"line":6723},[4576,29892,29509],{"class":4590},[4576,29894,29895],{"class":4600}," '8–10 серп. 2026'",[4576,29897,4992],{"class":4586},[4576,29899,29900,29902,29905],{"class":4578,"line":6735},[4576,29901,27915],{"class":4590},[4576,29903,29904],{"class":4600}," 'Саржин яр, набережна, вечірні вогні Сумської.'",[4576,29906,4992],{"class":4586},[4576,29908,29909],{"class":4578,"line":6759},[4576,29910,29528],{"class":4590},[4576,29912,29913,29916],{"class":4578,"line":6767},[4576,29914,29915],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80'",[4576,29917,4992],{"class":4586},[4576,29919,29920,29922,29925],{"class":4578,"line":6772},[4576,29921,27883],{"class":4590},[4576,29923,29924],{"class":4600}," 'Схід'",[4576,29926,4992],{"class":4586},[4576,29928,29929],{"class":4578,"line":6781},[4576,29930,5052],{"class":4586},[4576,29932,29933],{"class":4578,"line":6786},[4576,29934,29485],{"class":4586},[4576,29936,29937,29939,29942],{"class":4578,"line":6791},[4576,29938,29490],{"class":4590},[4576,29940,29941],{"class":4600}," '8'",[4576,29943,4992],{"class":4586},[4576,29945,29946,29948,29951],{"class":4578,"line":6796},[4576,29947,14248],{"class":4590},[4576,29949,29950],{"class":4600}," 'Дніпро: мости й пагорби'",[4576,29952,4992],{"class":4586},[4576,29954,29955,29957,29960],{"class":4578,"line":6813},[4576,29956,29509],{"class":4590},[4576,29958,29959],{"class":4600}," '15–17 трав. 2026'",[4576,29961,4992],{"class":4586},[4576,29963,29964,29966,29969],{"class":4578,"line":6838},[4576,29965,27915],{"class":4590},[4576,29967,29968],{"class":4600}," 'Мереживо мостів, прогулянка набережною, кава з видом на річку.'",[4576,29970,4992],{"class":4586},[4576,29972,29973],{"class":4578,"line":6845},[4576,29974,29528],{"class":4590},[4576,29976,29977,29980],{"class":4578,"line":6854},[4576,29978,29979],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80'",[4576,29981,4992],{"class":4586},[4576,29983,29984,29986,29988],{"class":4578,"line":6863},[4576,29985,27883],{"class":4590},[4576,29987,29734],{"class":4600},[4576,29989,4992],{"class":4586},[4576,29991,29992],{"class":4578,"line":6872},[4576,29993,5052],{"class":4586},[4576,29995,29996],{"class":4578,"line":6881},[4576,29997,29485],{"class":4586},[4576,29999,30000,30002,30005],{"class":4578,"line":6890},[4576,30001,29490],{"class":4590},[4576,30003,30004],{"class":4600}," '9'",[4576,30006,4992],{"class":4586},[4576,30008,30009,30011,30014],{"class":4578,"line":6899},[4576,30010,14248],{"class":4590},[4576,30012,30013],{"class":4600}," 'Ужгород і виноград'",[4576,30015,4992],{"class":4586},[4576,30017,30018,30020,30023],{"class":4578,"line":6904},[4576,30019,29509],{"class":4590},[4576,30021,30022],{"class":4600}," '25–27 жовт. 2026'",[4576,30024,4992],{"class":4586},[4576,30026,30027,30029,30032],{"class":4578,"line":6920},[4576,30028,27915],{"class":4590},[4576,30030,30031],{"class":4600}," 'Замок, липова алея, дегустація біля місцевих виноробів.'",[4576,30033,4992],{"class":4586},[4576,30035,30036],{"class":4578,"line":16012},[4576,30037,29528],{"class":4590},[4576,30039,30040,30043],{"class":4578,"line":16017},[4576,30041,30042],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80'",[4576,30044,4992],{"class":4586},[4576,30046,30047,30049,30051],{"class":4578,"line":16058},[4576,30048,27883],{"class":4590},[4576,30050,29542],{"class":4600},[4576,30052,4992],{"class":4586},[4576,30054,30055],{"class":4578,"line":16065},[4576,30056,5052],{"class":4586},[4576,30058,30059],{"class":4578,"line":16078},[4576,30060,29485],{"class":4586},[4576,30062,30063,30065,30068],{"class":4578,"line":16091},[4576,30064,29490],{"class":4590},[4576,30066,30067],{"class":4600}," '10'",[4576,30069,4992],{"class":4586},[4576,30071,30072,30074,30077],{"class":4578,"line":16101},[4576,30073,14248],{"class":4590},[4576,30075,30076],{"class":4600}," 'Полтава: смаки й історія'",[4576,30078,4992],{"class":4586},[4576,30080,30081,30083,30086],{"class":4578,"line":16111},[4576,30082,29509],{"class":4590},[4576,30084,30085],{"class":4600}," '3–5 лип. 2026'",[4576,30087,4992],{"class":4586},[4576,30089,30090,30092,30095],{"class":4578,"line":16120},[4576,30091,27915],{"class":4590},[4576,30093,30094],{"class":4600}," 'Котлета по-київськи — ні, галушки; музей і тихі двори.'",[4576,30096,4992],{"class":4586},[4576,30098,30099],{"class":4578,"line":16133},[4576,30100,29528],{"class":4590},[4576,30102,30103,30106],{"class":4578,"line":16144},[4576,30104,30105],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80'",[4576,30107,4992],{"class":4586},[4576,30109,30110,30112,30114],{"class":4578,"line":16155},[4576,30111,27883],{"class":4590},[4576,30113,29734],{"class":4600},[4576,30115,4992],{"class":4586},[4576,30117,30118],{"class":4578,"line":16190},[4576,30119,5052],{"class":4586},[4576,30121,30122],{"class":4578,"line":16197},[4576,30123,29485],{"class":4586},[4576,30125,30126,30128,30131],{"class":4578,"line":16202},[4576,30127,29490],{"class":4590},[4576,30129,30130],{"class":4600}," '11'",[4576,30132,4992],{"class":4586},[4576,30134,30135,30137,30140],{"class":4578,"line":16257},[4576,30136,14248],{"class":4590},[4576,30138,30139],{"class":4600}," 'Затока: пісок і шторм'",[4576,30141,4992],{"class":4586},[4576,30143,30144,30146,30149],{"class":4578,"line":16262},[4576,30145,29509],{"class":4590},[4576,30147,30148],{"class":4600}," '1–7 серп. 2026'",[4576,30150,4992],{"class":4586},[4576,30152,30153,30155,30158],{"class":4578,"line":16285},[4576,30154,27915],{"class":4590},[4576,30156,30157],{"class":4600}," 'Ранкові купання, вечірній вітер, книжка під парасолькою.'",[4576,30159,4992],{"class":4586},[4576,30161,30162],{"class":4578,"line":16325},[4576,30163,29528],{"class":4590},[4576,30165,30166,30169],{"class":4578,"line":16377},[4576,30167,30168],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80'",[4576,30170,4992],{"class":4586},[4576,30172,30173,30175,30177],{"class":4578,"line":16386},[4576,30174,27883],{"class":4590},[4576,30176,29670],{"class":4600},[4576,30178,4992],{"class":4586},[4576,30180,30181],{"class":4578,"line":16441},[4576,30182,5052],{"class":4586},[4576,30184,30185],{"class":4578,"line":16446},[4576,30186,29485],{"class":4586},[4576,30188,30189,30191,30194],{"class":4578,"line":16491},[4576,30190,29490],{"class":4590},[4576,30192,30193],{"class":4600}," '12'",[4576,30195,4992],{"class":4586},[4576,30197,30198,30200,30203],{"class":4578,"line":16523},[4576,30199,14248],{"class":4590},[4576,30201,30202],{"class":4600}," 'Яремче: водоспад і ліс'",[4576,30204,4992],{"class":4586},[4576,30206,30207,30209,30212],{"class":4578,"line":16532},[4576,30208,29509],{"class":4590},[4576,30210,30211],{"class":4600}," '19–21 черв. 2026'",[4576,30213,4992],{"class":4586},[4576,30215,30216,30218,30221],{"class":4578,"line":16541},[4576,30217,27915],{"class":4590},[4576,30219,30220],{"class":4600}," 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.'",[4576,30222,4992],{"class":4586},[4576,30224,30225],{"class":4578,"line":16550},[4576,30226,29528],{"class":4590},[4576,30228,30229,30232],{"class":4578,"line":16555},[4576,30230,30231],{"class":4600},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80'",[4576,30233,4992],{"class":4586},[4576,30235,30236,30238,30240],{"class":4578,"line":16560},[4576,30237,27883],{"class":4590},[4576,30239,29542],{"class":4600},[4576,30241,4992],{"class":4586},[4576,30243,30244],{"class":4578,"line":16565},[4576,30245,5052],{"class":4586},[4576,30247,30248],{"class":4578,"line":16582},[4576,30249,11169],{"class":4586},[3891,30251,30254],{"className":10025,"code":30252,"filename":30253,"language":10027,"meta":3899,"style":3899},"import type { Place } from '.\u002Ftypes';\n\n\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\nexport const mockPlaces: Place[] = [\n  {\n    id: 'p1',\n    tripId: '1',\n    name: 'Говерла',\n    city: 'Карпати',\n    note: 'Схід сонця з вершини',\n  },\n  {\n    id: 'p2',\n    tripId: '1',\n    name: 'Котедж біля полонини',\n    city: 'Карпати',\n    note: 'Вечірній чай і камін',\n  },\n  {\n    id: 'p3',\n    tripId: '2',\n    name: 'Площа Ринок',\n    city: 'Львів',\n    note: 'Ратуша й кав’ярні',\n  },\n  {\n    id: 'p4',\n    tripId: '2',\n    name: 'Високий Замок',\n    city: 'Львів',\n    note: 'Панорама міста',\n  },\n  {\n    id: 'p5',\n    tripId: '3',\n    name: 'Дерибасівська',\n    city: 'Одеса',\n    note: 'Прогулянка ввечері',\n  },\n  {\n    id: 'p6',\n    tripId: '3',\n    name: 'Ланжерон',\n    city: 'Одеса',\n    note: 'Пляж і набережна',\n  },\n  {\n    id: 'p7',\n    tripId: '4',\n    name: 'Андріївський узвіз',\n    city: 'Київ',\n    note: 'Галереї й бруківка',\n  },\n  {\n    id: 'p8',\n    tripId: '6',\n    name: 'Стара фортеця',\n    city: 'Кам’янець',\n    note: 'Фото з мосту',\n  },\n  {\n    id: 'p9',\n    tripId: '9',\n    name: 'Ужгородський замок',\n    city: 'Ужгород',\n    note: 'Музей і сад',\n  },\n  {\n    id: 'p10',\n    tripId: '12',\n    name: 'Водоспад Пробій',\n    city: 'Яремче',\n    note: 'Шум води й місток',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockPlaces.ts",[3803,30255,30256,30274,30278,30283,30298,30302,30311,30320,30330,30339,30349,30353,30357,30366,30374,30383,30391,30400,30404,30408,30417,30425,30434,30443,30452,30456,30460,30469,30477,30486,30494,30503,30507,30511,30520,30528,30537,30546,30555,30559,30563,30572,30580,30589,30597,30606,30610,30614,30623,30631,30640,30649,30658,30662,30666,30675,30683,30692,30701,30710,30714,30718,30727,30735,30744,30753,30762,30766,30770,30779,30787,30796,30805,30814,30818],{"__ignoreMap":3899},[4576,30257,30258,30260,30262,30264,30266,30268,30270,30272],{"class":4578,"line":4579},[4576,30259,4583],{"class":4582},[4576,30261,11150],{"class":4582},[4576,30263,4587],{"class":4586},[4576,30265,23891],{"class":4590},[4576,30267,4594],{"class":4586},[4576,30269,4597],{"class":4582},[4576,30271,27740],{"class":4600},[4576,30273,4604],{"class":4586},[4576,30275,30276],{"class":4578,"line":4607},[4576,30277,4644],{"emptyLinePlaceholder":4643},[4576,30279,30280],{"class":4578,"line":4640},[4576,30281,30282],{"class":9599},"\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\n",[4576,30284,30285,30287,30289,30292,30294,30296],{"class":4578,"line":4647},[4576,30286,4650],{"class":4582},[4576,30288,10058],{"class":4653},[4576,30290,30291],{"class":4673}," mockPlaces",[4576,30293,7093],{"class":4586},[4576,30295,23891],{"class":4717},[4576,30297,29480],{"class":4586},[4576,30299,30300],{"class":4578,"line":4664},[4576,30301,29485],{"class":4586},[4576,30303,30304,30306,30309],{"class":4578,"line":4696},[4576,30305,29490],{"class":4590},[4576,30307,30308],{"class":4600}," 'p1'",[4576,30310,4992],{"class":4586},[4576,30312,30313,30316,30318],{"class":4578,"line":4701},[4576,30314,30315],{"class":4590},"    tripId:",[4576,30317,29493],{"class":4600},[4576,30319,4992],{"class":4586},[4576,30321,30322,30325,30328],{"class":4578,"line":4710},[4576,30323,30324],{"class":4590},"    name:",[4576,30326,30327],{"class":4600}," 'Говерла'",[4576,30329,4992],{"class":4586},[4576,30331,30332,30335,30337],{"class":4578,"line":4745},[4576,30333,30334],{"class":4590},"    city:",[4576,30336,29542],{"class":4600},[4576,30338,4992],{"class":4586},[4576,30340,30341,30344,30347],{"class":4578,"line":4781},[4576,30342,30343],{"class":4590},"    note:",[4576,30345,30346],{"class":4600}," 'Схід сонця з вершини'",[4576,30348,4992],{"class":4586},[4576,30350,30351],{"class":4578,"line":4789},[4576,30352,5052],{"class":4586},[4576,30354,30355],{"class":4578,"line":4804},[4576,30356,29485],{"class":4586},[4576,30358,30359,30361,30364],{"class":4578,"line":4818},[4576,30360,29490],{"class":4590},[4576,30362,30363],{"class":4600}," 'p2'",[4576,30365,4992],{"class":4586},[4576,30367,30368,30370,30372],{"class":4578,"line":4829},[4576,30369,30315],{"class":4590},[4576,30371,29493],{"class":4600},[4576,30373,4992],{"class":4586},[4576,30375,30376,30378,30381],{"class":4578,"line":4840},[4576,30377,30324],{"class":4590},[4576,30379,30380],{"class":4600}," 'Котедж біля полонини'",[4576,30382,4992],{"class":4586},[4576,30384,30385,30387,30389],{"class":4578,"line":4851},[4576,30386,30334],{"class":4590},[4576,30388,29542],{"class":4600},[4576,30390,4992],{"class":4586},[4576,30392,30393,30395,30398],{"class":4578,"line":4870},[4576,30394,30343],{"class":4590},[4576,30396,30397],{"class":4600}," 'Вечірній чай і камін'",[4576,30399,4992],{"class":4586},[4576,30401,30402],{"class":4578,"line":4876},[4576,30403,5052],{"class":4586},[4576,30405,30406],{"class":4578,"line":4886},[4576,30407,29485],{"class":4586},[4576,30409,30410,30412,30415],{"class":4578,"line":4892},[4576,30411,29490],{"class":4590},[4576,30413,30414],{"class":4600}," 'p3'",[4576,30416,4992],{"class":4586},[4576,30418,30419,30421,30423],{"class":4578,"line":4897},[4576,30420,30315],{"class":4590},[4576,30422,29559],{"class":4600},[4576,30424,4992],{"class":4586},[4576,30426,30427,30429,30432],{"class":4578,"line":4902},[4576,30428,30324],{"class":4590},[4576,30430,30431],{"class":4600}," 'Площа Ринок'",[4576,30433,4992],{"class":4586},[4576,30435,30436,30438,30441],{"class":4578,"line":4924},[4576,30437,30334],{"class":4590},[4576,30439,30440],{"class":4600}," 'Львів'",[4576,30442,4992],{"class":4586},[4576,30444,30445,30447,30450],{"class":4578,"line":4942},[4576,30446,30343],{"class":4590},[4576,30448,30449],{"class":4600}," 'Ратуша й кав’ярні'",[4576,30451,4992],{"class":4586},[4576,30453,30454],{"class":4578,"line":4974},[4576,30455,5052],{"class":4586},[4576,30457,30458],{"class":4578,"line":4983},[4576,30459,29485],{"class":4586},[4576,30461,30462,30464,30467],{"class":4578,"line":4995},[4576,30463,29490],{"class":4590},[4576,30465,30466],{"class":4600}," 'p4'",[4576,30468,4992],{"class":4586},[4576,30470,30471,30473,30475],{"class":4578,"line":5006},[4576,30472,30315],{"class":4590},[4576,30474,29559],{"class":4600},[4576,30476,4992],{"class":4586},[4576,30478,30479,30481,30484],{"class":4578,"line":5017},[4576,30480,30324],{"class":4590},[4576,30482,30483],{"class":4600}," 'Високий Замок'",[4576,30485,4992],{"class":4586},[4576,30487,30488,30490,30492],{"class":4578,"line":5027},[4576,30489,30334],{"class":4590},[4576,30491,30440],{"class":4600},[4576,30493,4992],{"class":4586},[4576,30495,30496,30498,30501],{"class":4578,"line":5038},[4576,30497,30343],{"class":4590},[4576,30499,30500],{"class":4600}," 'Панорама міста'",[4576,30502,4992],{"class":4586},[4576,30504,30505],{"class":4578,"line":5049},[4576,30506,5052],{"class":4586},[4576,30508,30509],{"class":4578,"line":5055},[4576,30510,29485],{"class":4586},[4576,30512,30513,30515,30518],{"class":4578,"line":5744},[4576,30514,29490],{"class":4590},[4576,30516,30517],{"class":4600}," 'p5'",[4576,30519,4992],{"class":4586},[4576,30521,30522,30524,30526],{"class":4578,"line":6299},[4576,30523,30315],{"class":4590},[4576,30525,29623],{"class":4600},[4576,30527,4992],{"class":4586},[4576,30529,30530,30532,30535],{"class":4578,"line":6312},[4576,30531,30324],{"class":4590},[4576,30533,30534],{"class":4600}," 'Дерибасівська'",[4576,30536,4992],{"class":4586},[4576,30538,30539,30541,30544],{"class":4578,"line":6325},[4576,30540,30334],{"class":4590},[4576,30542,30543],{"class":4600}," 'Одеса'",[4576,30545,4992],{"class":4586},[4576,30547,30548,30550,30553],{"class":4578,"line":6335},[4576,30549,30343],{"class":4590},[4576,30551,30552],{"class":4600}," 'Прогулянка ввечері'",[4576,30554,4992],{"class":4586},[4576,30556,30557],{"class":4578,"line":6350},[4576,30558,5052],{"class":4586},[4576,30560,30561],{"class":4578,"line":6359},[4576,30562,29485],{"class":4586},[4576,30564,30565,30567,30570],{"class":4578,"line":6368},[4576,30566,29490],{"class":4590},[4576,30568,30569],{"class":4600}," 'p6'",[4576,30571,4992],{"class":4586},[4576,30573,30574,30576,30578],{"class":4578,"line":6377},[4576,30575,30315],{"class":4590},[4576,30577,29623],{"class":4600},[4576,30579,4992],{"class":4586},[4576,30581,30582,30584,30587],{"class":4578,"line":6417},[4576,30583,30324],{"class":4590},[4576,30585,30586],{"class":4600}," 'Ланжерон'",[4576,30588,4992],{"class":4586},[4576,30590,30591,30593,30595],{"class":4578,"line":6422},[4576,30592,30334],{"class":4590},[4576,30594,30543],{"class":4600},[4576,30596,4992],{"class":4586},[4576,30598,30599,30601,30604],{"class":4578,"line":6427},[4576,30600,30343],{"class":4590},[4576,30602,30603],{"class":4600}," 'Пляж і набережна'",[4576,30605,4992],{"class":4586},[4576,30607,30608],{"class":4578,"line":6469},[4576,30609,5052],{"class":4586},[4576,30611,30612],{"class":4578,"line":6476},[4576,30613,29485],{"class":4586},[4576,30615,30616,30618,30621],{"class":4578,"line":6489},[4576,30617,29490],{"class":4590},[4576,30619,30620],{"class":4600}," 'p7'",[4576,30622,4992],{"class":4586},[4576,30624,30625,30627,30629],{"class":4578,"line":6502},[4576,30626,30315],{"class":4590},[4576,30628,29687],{"class":4600},[4576,30630,4992],{"class":4586},[4576,30632,30633,30635,30638],{"class":4578,"line":6512},[4576,30634,30324],{"class":4590},[4576,30636,30637],{"class":4600}," 'Андріївський узвіз'",[4576,30639,4992],{"class":4586},[4576,30641,30642,30644,30647],{"class":4578,"line":6525},[4576,30643,30334],{"class":4590},[4576,30645,30646],{"class":4600}," 'Київ'",[4576,30648,4992],{"class":4586},[4576,30650,30651,30653,30656],{"class":4578,"line":6535},[4576,30652,30343],{"class":4590},[4576,30654,30655],{"class":4600}," 'Галереї й бруківка'",[4576,30657,4992],{"class":4586},[4576,30659,30660],{"class":4578,"line":6574},[4576,30661,5052],{"class":4586},[4576,30663,30664],{"class":4578,"line":6579},[4576,30665,29485],{"class":4586},[4576,30667,30668,30670,30673],{"class":4578,"line":6584},[4576,30669,29490],{"class":4590},[4576,30671,30672],{"class":4600}," 'p8'",[4576,30674,4992],{"class":4586},[4576,30676,30677,30679,30681],{"class":4578,"line":6626},[4576,30678,30315],{"class":4590},[4576,30680,29814],{"class":4600},[4576,30682,4992],{"class":4586},[4576,30684,30685,30687,30690],{"class":4578,"line":6633},[4576,30686,30324],{"class":4590},[4576,30688,30689],{"class":4600}," 'Стара фортеця'",[4576,30691,4992],{"class":4586},[4576,30693,30694,30696,30699],{"class":4578,"line":6646},[4576,30695,30334],{"class":4590},[4576,30697,30698],{"class":4600}," 'Кам’янець'",[4576,30700,4992],{"class":4586},[4576,30702,30703,30705,30708],{"class":4578,"line":6659},[4576,30704,30343],{"class":4590},[4576,30706,30707],{"class":4600}," 'Фото з мосту'",[4576,30709,4992],{"class":4586},[4576,30711,30712],{"class":4578,"line":6669},[4576,30713,5052],{"class":4586},[4576,30715,30716],{"class":4578,"line":6682},[4576,30717,29485],{"class":4586},[4576,30719,30720,30722,30725],{"class":4578,"line":6688},[4576,30721,29490],{"class":4590},[4576,30723,30724],{"class":4600}," 'p9'",[4576,30726,4992],{"class":4586},[4576,30728,30729,30731,30733],{"class":4578,"line":6699},[4576,30730,30315],{"class":4590},[4576,30732,30004],{"class":4600},[4576,30734,4992],{"class":4586},[4576,30736,30737,30739,30742],{"class":4578,"line":6711},[4576,30738,30324],{"class":4590},[4576,30740,30741],{"class":4600}," 'Ужгородський замок'",[4576,30743,4992],{"class":4586},[4576,30745,30746,30748,30751],{"class":4578,"line":6723},[4576,30747,30334],{"class":4590},[4576,30749,30750],{"class":4600}," 'Ужгород'",[4576,30752,4992],{"class":4586},[4576,30754,30755,30757,30760],{"class":4578,"line":6735},[4576,30756,30343],{"class":4590},[4576,30758,30759],{"class":4600}," 'Музей і сад'",[4576,30761,4992],{"class":4586},[4576,30763,30764],{"class":4578,"line":6759},[4576,30765,5052],{"class":4586},[4576,30767,30768],{"class":4578,"line":6767},[4576,30769,29485],{"class":4586},[4576,30771,30772,30774,30777],{"class":4578,"line":6772},[4576,30773,29490],{"class":4590},[4576,30775,30776],{"class":4600}," 'p10'",[4576,30778,4992],{"class":4586},[4576,30780,30781,30783,30785],{"class":4578,"line":6781},[4576,30782,30315],{"class":4590},[4576,30784,30193],{"class":4600},[4576,30786,4992],{"class":4586},[4576,30788,30789,30791,30794],{"class":4578,"line":6786},[4576,30790,30324],{"class":4590},[4576,30792,30793],{"class":4600}," 'Водоспад Пробій'",[4576,30795,4992],{"class":4586},[4576,30797,30798,30800,30803],{"class":4578,"line":6791},[4576,30799,30334],{"class":4590},[4576,30801,30802],{"class":4600}," 'Яремче'",[4576,30804,4992],{"class":4586},[4576,30806,30807,30809,30812],{"class":4578,"line":6796},[4576,30808,30343],{"class":4590},[4576,30810,30811],{"class":4600}," 'Шум води й місток'",[4576,30813,4992],{"class":4586},[4576,30815,30816],{"class":4578,"line":6813},[4576,30817,5052],{"class":4586},[4576,30819,30820],{"class":4578,"line":6838},[4576,30821,11169],{"class":4586},[3891,30823,30826],{"className":4570,"code":30824,"filename":30825,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  KeyboardAvoidingView,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  Switch,\n  View,\n} from 'react-native';\nimport { Controller, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform\u002Fresolvers\u002Fzod';\nimport { Picker } from '@react-native-picker\u002Fpicker';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\nimport Slider from '@react-native-community\u002Fslider';\n\nimport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema';\nimport { formatTripDateLabel } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates';\nimport { TRIP_REGIONS, type Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { DateField } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField';\nimport { FormRow } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, TextField } from '@\u002Fshared\u002Fui';\n\ntype CreateTripFormProps = {\n  onSubmitSuccess: (trip: Trip) => void;\n  onCancel?: () => void;\n};\n\nfunction startOfToday(): Date {\n  const d = new Date();\n  d.setHours(12, 0, 0, 0);\n  return d;\n}\n\nfunction addDays(base: Date, days: number): Date {\n  const d = new Date(base);\n  d.setDate(d.getDate() + days);\n  return d;\n}\n\n\u002F**\n * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n * Не залежить від навігації — батько вирішує, куди піти після submit.\n *\u002F\nexport function CreateTripForm({\n  onSubmitSuccess,\n  onCancel,\n}: CreateTripFormProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [submitting, setSubmitting] = useState(false);\n\n  const {\n    control,\n    handleSubmit,\n    watch,\n    formState: { errors },\n  } = useForm\u003CCreateTripFormValues>({\n    resolver: zodResolver(createTripSchema),\n    defaultValues: {\n      title: '',\n      region: 'Карпати',\n      description: '',\n      startDate: startOfToday(),\n      endDate: addDays(startOfToday(), 2),\n      isPrivate: false,\n      plannedDays: 3,\n      hasItinerary: false,\n      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n      acceptedLocalSave: false as unknown as true,\n    },\n    mode: 'onSubmit',\n    reValidateMode: 'onChange',\n  });\n\n  const startDate = watch('startDate');\n  const plannedDays = watch('plannedDays');\n\n  const onValid = (values: CreateTripFormValues) => {\n    setSubmitting(true);\n    const trip: Trip = {\n      id: `local-${Date.now()}`,\n      title: values.title,\n      region: values.region,\n      description: values.description,\n      dateLabel: formatTripDateLabel(values.startDate, values.endDate),\n      coverUri: `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F${encodeURIComponent(values.title)}\u002F800\u002F400`,\n      isPrivate: values.isPrivate,\n      plannedDays: values.plannedDays,\n      hasItinerary: values.hasItinerary,\n    };\n    onSubmitSuccess(trip);\n    setSubmitting(false);\n  };\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={styles.flex}\n      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n      keyboardVerticalOffset={Platform.OS === 'ios' ? 8 : 0}\n    >\n      \u003CScrollView\n        style={styles.flex}\n        contentContainerStyle={[\n          styles.content,\n          { padding: spacing.md, gap: spacing.md, paddingBottom: spacing.xl },\n        ]}\n        keyboardShouldPersistTaps=\"handled\"\n        keyboardDismissMode=\"on-drag\"\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n          перемикач, галочка, повзунок.\n        \u003C\u002FAppText>\n\n        {\u002F* ——— TextInput ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"title\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Назва поїздки\"\n              placeholder=\"Наприклад, Карпати на вихідні\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.title?.message}\n              autoCapitalize=\"sentences\"\n              returnKeyType=\"next\"\n              maxLength={80}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Picker ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"region\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Регіон\"\n              description=\"Оберіть зі списку (Picker), а не вводьте вручну\"\n              error={errors.region?.message}\n              stacked\n              control={\n                \u003CView\n                  style={[\n                    styles.pickerWrap,\n                    {\n                      borderColor: errors.region\n                        ? colors.danger\n                        : colors.border,\n                      backgroundColor: colors.surface,\n                      borderRadius: radius.md,\n                    },\n                  ]}\n                >\n                  \u003CPicker\n                    selectedValue={value}\n                    onValueChange={onChange}\n                    dropdownIconColor={colors.text}\n                    style={{ color: colors.text }}\n                  >\n                    {TRIP_REGIONS.map((region) => (\n                      \u003CPicker.Item\n                        key={region}\n                        label={region}\n                        value={region}\n                        color={colors.text}\n                      \u002F>\n                    ))}\n                  \u003C\u002FPicker>\n                \u003C\u002FView>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— DateTimePicker через DateField ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"startDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата початку\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.startDate?.message}\n            \u002F>\n          )}\n        \u002F>\n\n        \u003CController\n          control={control}\n          name=\"endDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата завершення\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.endDate?.message}\n              minimumDate={startDate}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— TextInput multiline ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"description\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Опис\"\n              placeholder=\"Коротко: що плануєте побачити, з ким їдете…\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.description?.message}\n              multiline\n              numberOfLines={4}\n              textAlignVertical=\"top\"\n              style={styles.multiline}\n              maxLength={500}\n              hint=\"Мінімум 10 символів\"\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Slider ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"plannedDays\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label={`Тривалість: ${value} ${daysWord(value)}`}\n              description=\"Повзунок (Slider) — зручно для діапазону 1–14\"\n              error={errors.plannedDays?.message}\n              stacked\n              control={\n                \u003CSlider\n                  minimumValue={1}\n                  maximumValue={14}\n                  step={1}\n                  value={value}\n                  onValueChange={onChange}\n                  minimumTrackTintColor={colors.primary}\n                  maximumTrackTintColor={colors.border}\n                  thumbTintColor={colors.primary}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Зараз на слайдері: {plannedDays}{' '}\n          {daysWord(plannedDays ?? 1)} (можна не збігатися з датами — це\n          окреме «орієнтовне» поле для навчання).\n        \u003C\u002FAppText>\n\n        {\u002F* ——— Switch ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"isPrivate\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Приватна поїздка\"\n              description=\"Switch: увімкнено — мітка «приватна» на картці\"\n              error={errors.isPrivate?.message}\n              control={\n                \u003CSwitch\n                  value={value}\n                  onValueChange={onChange}\n                  trackColor={{\n                    false: colors.border,\n                    true: colors.primary,\n                  }}\n                  thumbColor={colors.onPrimary}\n                  ios_backgroundColor={colors.border}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"hasItinerary\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Є план маршруту\"\n              description=\"Checkbox: так \u002F ні, без обов’язковості\"\n              error={errors.hasItinerary?.message}\n              control={\n                \u003CCheckbox\n                  value={value}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"acceptedLocalSave\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Згода на локальне збереження\"\n              description=\"Поки немає API: дані лишаються в пам’яті застосунку\"\n              error={errors.acceptedLocalSave?.message}\n              control={\n                \u003CCheckbox\n                  value={Boolean(value)}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F}\n        \u003CView style={{ gap: spacing.sm, marginTop: spacing.sm }}>\n          \u003CButton\n            label={submitting ? 'Створюємо…' : 'Створити поїздку'}\n            onPress={handleSubmit(onValid)}\n            disabled={submitting}\n          \u002F>\n          {onCancel ? (\n            \u003CButton\n              label=\"Скасувати\"\n              variant=\"secondary\"\n              onPress={onCancel}\n              disabled={submitting}\n            \u002F>\n          ) : null}\n        \u003C\u002FView>\n      \u003C\u002FScrollView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nfunction daysWord(n: number): string {\n  const abs = Math.abs(n) % 100;\n  const last = abs % 10;\n  if (abs > 10 && abs \u003C 20) return 'днів';\n  if (last === 1) return 'день';\n  if (last >= 2 && last \u003C= 4) return 'дні';\n  return 'днів';\n}\n\nconst styles = StyleSheet.create({\n  flex: {\n    flex: 1,\n  },\n  content: {\n    flexGrow: 1,\n  },\n  multiline: {\n    minHeight: 110,\n  },\n  pickerWrap: {\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FCreateTripForm.tsx",[3803,30827,30828,30844,30850,30856,30862,30868,30874,30880,30886,30896,30916,30932,30948,30960,30972,30976,30982,30988,30996,31007,31024,31047,31064,31081,31097,31121,31125,31134,31155,31169,31173,31177,31190,31207,31235,31243,31247,31251,31281,31299,31323,31331,31335,31339,31343,31348,31353,31357,31368,31374,31380,31390,31413,31437,31441,31447,31453,31459,31465,31475,31487,31499,31505,31514,31523,31532,31541,31560,31569,31579,31588,31593,31610,31614,31622,31630,31634,31638,31656,31674,31678,31699,31710,31722,31747,31760,31772,31785,31810,31840,31852,31864,31876,31881,31892,31902,31906,31910,31916,31922,31938,31966,31995,31999,32005,32021,32031,32042,32076,32082,32090,32098,32107,32111,32139,32144,32149,32154,32162,32166,32175,32181,32193,32201,32231,32238,32248,32257,32269,32281,32293,32314,32323,32331,32343,32347,32353,32357,32361,32370,32376,32388,32397,32423,32430,32439,32449,32469,32474,32483,32489,32499,32510,32515,32527,32539,32552,32565,32579,32584,32591,32595,32601,32614,32627,32644,32667,32672,32693,32701,32714,32727,32740,32757,32762,32769,32778,32786,32791,32795,32801,32805,32809,32818,32824,32836,32845,32875,32882,32891,32903,32916,32928,32948,32952,32958,32962,32966,32972,32984,32993,33023,33029,33038,33050,33062,33074,33094,33107,33111,33117,33121,33125,33134,33140,33152,33161,33191,33197,33206,33215,33227,33239,33251,33271,33275,33289,33297,33313,33325,33335,33339,33345,33349,33353,33362,33368,33380,33388,33414,33420,33454,33463,33483,33487,33495,33501,33514,33527,33540,33553,33566,33583,33600,33617,33622,33626,33630,33636,33640,33668,33685,33707,33712,33720,33724,33733,33739,33751,33759,33785,33791,33800,33809,33829,33837,33843,33855,33867,33878,33891,33904,33911,33928,33945,33949,33953,33957,33963,33967,33971,33980,33986,33998,34007,34033,34039,34048,34057,34077,34085,34091,34103,34115,34126,34138,34150,34156,34173,34190,34207,34216,34220,34224,34228,34234,34238,34242,34251,34257,34269,34278,34304,34310,34319,34328,34349,34357,34363,34381,34393,34403,34415,34427,34433,34449,34465,34481,34489,34493,34497,34501,34507,34511,34515,34524,34562,34568,34591,34610,34623,34627,34638,34644,34654,34665,34679,34693,34698,34708,34716,34725,34734,34739,34744,34749,34771,34801,34820,34851,34873,34905,34914,34919,34924,34941,34948,34957,34962,34970,34980,34985,34993,35003,35008,35015,35024,35033,35038],{"__ignoreMap":3899},[4576,30829,30830,30832,30834,30836,30838,30840,30842],{"class":4578,"line":4579},[4576,30831,4583],{"class":4582},[4576,30833,4587],{"class":4586},[4576,30835,4591],{"class":4590},[4576,30837,4594],{"class":4586},[4576,30839,4597],{"class":4582},[4576,30841,4601],{"class":4600},[4576,30843,4604],{"class":4586},[4576,30845,30846,30848],{"class":4578,"line":4607},[4576,30847,4583],{"class":4582},[4576,30849,4980],{"class":4586},[4576,30851,30852,30854],{"class":4578,"line":4640},[4576,30853,14670],{"class":4590},[4576,30855,4992],{"class":4586},[4576,30857,30858,30860],{"class":4578,"line":4647},[4576,30859,14677],{"class":4590},[4576,30861,4992],{"class":4586},[4576,30863,30864,30866],{"class":4578,"line":4664},[4576,30865,5791],{"class":4590},[4576,30867,4992],{"class":4586},[4576,30869,30870,30872],{"class":4578,"line":4696},[4576,30871,5798],{"class":4590},[4576,30873,4992],{"class":4586},[4576,30875,30876,30878],{"class":4578,"line":4701},[4576,30877,14715],{"class":4590},[4576,30879,4992],{"class":4586},[4576,30881,30882,30884],{"class":4578,"line":4710},[4576,30883,14722],{"class":4590},[4576,30885,4992],{"class":4586},[4576,30887,30888,30890,30892,30894],{"class":4578,"line":4745},[4576,30889,5826],{"class":4586},[4576,30891,4597],{"class":4582},[4576,30893,4635],{"class":4600},[4576,30895,4604],{"class":4586},[4576,30897,30898,30900,30902,30904,30906,30908,30910,30912,30914],{"class":4578,"line":4781},[4576,30899,4583],{"class":4582},[4576,30901,4587],{"class":4586},[4576,30903,4265],{"class":4590},[4576,30905,3806],{"class":4586},[4576,30907,14110],{"class":4590},[4576,30909,4594],{"class":4586},[4576,30911,4597],{"class":4582},[4576,30913,14130],{"class":4600},[4576,30915,4604],{"class":4586},[4576,30917,30918,30920,30922,30924,30926,30928,30930],{"class":4578,"line":4789},[4576,30919,4583],{"class":4582},[4576,30921,4587],{"class":4586},[4576,30923,14141],{"class":4590},[4576,30925,4594],{"class":4586},[4576,30927,4597],{"class":4582},[4576,30929,14148],{"class":4600},[4576,30931,4604],{"class":4586},[4576,30933,30934,30936,30938,30940,30942,30944,30946],{"class":4578,"line":4804},[4576,30935,4583],{"class":4582},[4576,30937,4587],{"class":4586},[4576,30939,3818],{"class":4590},[4576,30941,4594],{"class":4586},[4576,30943,4597],{"class":4582},[4576,30945,11074],{"class":4600},[4576,30947,4604],{"class":4586},[4576,30949,30950,30952,30954,30956,30958],{"class":4578,"line":4818},[4576,30951,4583],{"class":4582},[4576,30953,9664],{"class":4590},[4576,30955,9667],{"class":4582},[4576,30957,9670],{"class":4600},[4576,30959,4604],{"class":4586},[4576,30961,30962,30964,30966,30968,30970],{"class":4578,"line":4829},[4576,30963,4583],{"class":4582},[4576,30965,10349],{"class":4590},[4576,30967,9667],{"class":4582},[4576,30969,10354],{"class":4600},[4576,30971,4604],{"class":4586},[4576,30973,30974],{"class":4578,"line":4840},[4576,30975,4644],{"emptyLinePlaceholder":4643},[4576,30977,30978,30980],{"class":4578,"line":4851},[4576,30979,4583],{"class":4582},[4576,30981,4980],{"class":4586},[4576,30983,30984,30986],{"class":4578,"line":4870},[4576,30985,27356],{"class":4590},[4576,30987,4992],{"class":4586},[4576,30989,30990,30992,30994],{"class":4578,"line":4876},[4576,30991,23629],{"class":4582},[4576,30993,14087],{"class":4590},[4576,30995,4992],{"class":4586},[4576,30997,30998,31000,31002,31005],{"class":4578,"line":4886},[4576,30999,5826],{"class":4586},[4576,31001,4597],{"class":4582},[4576,31003,31004],{"class":4600}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema'",[4576,31006,4604],{"class":4586},[4576,31008,31009,31011,31013,31015,31017,31019,31022],{"class":4578,"line":4892},[4576,31010,4583],{"class":4582},[4576,31012,4587],{"class":4586},[4576,31014,27386],{"class":4590},[4576,31016,4594],{"class":4586},[4576,31018,4597],{"class":4582},[4576,31020,31021],{"class":4600}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates'",[4576,31023,4604],{"class":4586},[4576,31025,31026,31028,31030,31032,31034,31036,31038,31040,31042,31045],{"class":4578,"line":4897},[4576,31027,4583],{"class":4582},[4576,31029,4587],{"class":4586},[4576,31031,11366],{"class":4590},[4576,31033,3806],{"class":4586},[4576,31035,4083],{"class":4582},[4576,31037,23641],{"class":4590},[4576,31039,4594],{"class":4586},[4576,31041,4597],{"class":4582},[4576,31043,31044],{"class":4600}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes'",[4576,31046,4604],{"class":4586},[4576,31048,31049,31051,31053,31055,31057,31059,31062],{"class":4578,"line":4902},[4576,31050,4583],{"class":4582},[4576,31052,4587],{"class":4586},[4576,31054,22262],{"class":4590},[4576,31056,4594],{"class":4586},[4576,31058,4597],{"class":4582},[4576,31060,31061],{"class":4600}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField'",[4576,31063,4604],{"class":4586},[4576,31065,31066,31068,31070,31072,31074,31076,31079],{"class":4578,"line":4924},[4576,31067,4583],{"class":4582},[4576,31069,4587],{"class":4586},[4576,31071,22259],{"class":4590},[4576,31073,4594],{"class":4586},[4576,31075,4597],{"class":4582},[4576,31077,31078],{"class":4600}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow'",[4576,31080,4604],{"class":4586},[4576,31082,31083,31085,31087,31089,31091,31093,31095],{"class":4578,"line":4942},[4576,31084,4583],{"class":4582},[4576,31086,4587],{"class":4586},[4576,31088,23243],{"class":4590},[4576,31090,4594],{"class":4586},[4576,31092,4597],{"class":4582},[4576,31094,23250],{"class":4600},[4576,31096,4604],{"class":4586},[4576,31098,31099,31101,31103,31105,31107,31109,31111,31113,31115,31117,31119],{"class":4578,"line":4974},[4576,31100,4583],{"class":4582},[4576,31102,4587],{"class":4586},[4576,31104,22187],{"class":4590},[4576,31106,3806],{"class":4586},[4576,31108,6932],{"class":4590},[4576,31110,3806],{"class":4586},[4576,31112,22256],{"class":4590},[4576,31114,4594],{"class":4586},[4576,31116,4597],{"class":4582},[4576,31118,23699],{"class":4600},[4576,31120,4604],{"class":4586},[4576,31122,31123],{"class":4578,"line":4983},[4576,31124,4644],{"emptyLinePlaceholder":4643},[4576,31126,31127,31129,31132],{"class":4578,"line":4995},[4576,31128,4083],{"class":4653},[4576,31130,31131],{"class":4717}," CreateTripFormProps",[4576,31133,27412],{"class":4586},[4576,31135,31136,31139,31141,31143,31145,31147,31149,31151,31153],{"class":4578,"line":5006},[4576,31137,31138],{"class":4657},"  onSubmitSuccess",[4576,31140,18116],{"class":4586},[4576,31142,23943],{"class":4590},[4576,31144,7093],{"class":4586},[4576,31146,22162],{"class":4717},[4576,31148,7968],{"class":4586},[4576,31150,5537],{"class":4653},[4576,31152,7083],{"class":4717},[4576,31154,4604],{"class":4586},[4576,31156,31157,31160,31163,31165,31167],{"class":4578,"line":5017},[4576,31158,31159],{"class":4657},"  onCancel",[4576,31161,31162],{"class":4586},"?: () ",[4576,31164,5537],{"class":4653},[4576,31166,7083],{"class":4717},[4576,31168,4604],{"class":4586},[4576,31170,31171],{"class":4578,"line":5027},[4576,31172,12050],{"class":4586},[4576,31174,31175],{"class":4578,"line":5038},[4576,31176,4644],{"emptyLinePlaceholder":4643},[4576,31178,31179,31181,31184,31186,31188],{"class":4578,"line":5049},[4576,31180,17946],{"class":4653},[4576,31182,31183],{"class":4657}," startOfToday",[4576,31185,29350],{"class":4586},[4576,31187,4462],{"class":4717},[4576,31189,4980],{"class":4586},[4576,31191,31192,31194,31197,31199,31202,31205],{"class":4578,"line":5055},[4576,31193,4667],{"class":4653},[4576,31195,31196],{"class":4673}," d",[4576,31198,4911],{"class":4586},[4576,31200,31201],{"class":4653},"new",[4576,31203,31204],{"class":4657}," Date",[4576,31206,23287],{"class":4586},[4576,31208,31209,31212,31214,31217,31219,31221,31223,31225,31227,31229,31231,31233],{"class":4578,"line":5744},[4576,31210,31211],{"class":4590},"  d",[4576,31213,3857],{"class":4586},[4576,31215,31216],{"class":4657},"setHours",[4576,31218,4687],{"class":4586},[4576,31220,26810],{"class":4935},[4576,31222,3806],{"class":4586},[4576,31224,7800],{"class":4935},[4576,31226,3806],{"class":4586},[4576,31228,7800],{"class":4935},[4576,31230,3806],{"class":4586},[4576,31232,7800],{"class":4935},[4576,31234,4693],{"class":4586},[4576,31236,31237,31239,31241],{"class":4578,"line":6299},[4576,31238,4704],{"class":4582},[4576,31240,31196],{"class":4590},[4576,31242,4604],{"class":4586},[4576,31244,31245],{"class":4578,"line":6312},[4576,31246,4801],{"class":4586},[4576,31248,31249],{"class":4578,"line":6325},[4576,31250,4644],{"emptyLinePlaceholder":4643},[4576,31252,31253,31255,31258,31260,31263,31265,31267,31269,31271,31273,31275,31277,31279],{"class":4578,"line":6335},[4576,31254,17946],{"class":4653},[4576,31256,31257],{"class":4657}," addDays",[4576,31259,4687],{"class":4586},[4576,31261,31262],{"class":4590},"base",[4576,31264,7093],{"class":4586},[4576,31266,4462],{"class":4717},[4576,31268,3806],{"class":4586},[4576,31270,10380],{"class":4590},[4576,31272,7093],{"class":4586},[4576,31274,4095],{"class":4717},[4576,31276,4235],{"class":4586},[4576,31278,4462],{"class":4717},[4576,31280,4980],{"class":4586},[4576,31282,31283,31285,31287,31289,31291,31293,31295,31297],{"class":4578,"line":6350},[4576,31284,4667],{"class":4653},[4576,31286,31196],{"class":4673},[4576,31288,4911],{"class":4586},[4576,31290,31201],{"class":4653},[4576,31292,31204],{"class":4657},[4576,31294,4687],{"class":4586},[4576,31296,31262],{"class":4590},[4576,31298,4693],{"class":4586},[4576,31300,31301,31303,31305,31308,31310,31312,31314,31316,31319,31321],{"class":4578,"line":6359},[4576,31302,31211],{"class":4590},[4576,31304,3857],{"class":4586},[4576,31306,31307],{"class":4657},"setDate",[4576,31309,4687],{"class":4586},[4576,31311,28377],{"class":4590},[4576,31313,3857],{"class":4586},[4576,31315,28402],{"class":4657},[4576,31317,31318],{"class":4586},"() + ",[4576,31320,10380],{"class":4590},[4576,31322,4693],{"class":4586},[4576,31324,31325,31327,31329],{"class":4578,"line":6368},[4576,31326,4704],{"class":4582},[4576,31328,31196],{"class":4590},[4576,31330,4604],{"class":4586},[4576,31332,31333],{"class":4578,"line":6377},[4576,31334,4801],{"class":4586},[4576,31336,31337],{"class":4578,"line":6417},[4576,31338,4644],{"emptyLinePlaceholder":4643},[4576,31340,31341],{"class":4578,"line":6422},[4576,31342,26548],{"class":9599},[4576,31344,31345],{"class":4578,"line":6427},[4576,31346,31347],{"class":9599}," * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n",[4576,31349,31350],{"class":4578,"line":6469},[4576,31351,31352],{"class":9599}," * Не залежить від навігації — батько вирішує, куди піти після submit.\n",[4576,31354,31355],{"class":4578,"line":6476},[4576,31356,26568],{"class":9599},[4576,31358,31359,31361,31363,31366],{"class":4578,"line":6489},[4576,31360,4650],{"class":4582},[4576,31362,4654],{"class":4653},[4576,31364,31365],{"class":4657}," CreateTripForm",[4576,31367,4921],{"class":4586},[4576,31369,31370,31372],{"class":4578,"line":6502},[4576,31371,31138],{"class":4590},[4576,31373,4992],{"class":4586},[4576,31375,31376,31378],{"class":4578,"line":6512},[4576,31377,31159],{"class":4590},[4576,31379,4992],{"class":4586},[4576,31381,31382,31385,31388],{"class":4578,"line":6525},[4576,31383,31384],{"class":4586},"}: ",[4576,31386,31387],{"class":4717},"CreateTripFormProps",[4576,31389,7149],{"class":4586},[4576,31391,31392,31394,31396,31398,31400,31402,31404,31407,31409,31411],{"class":4578,"line":6535},[4576,31393,4667],{"class":4653},[4576,31395,4587],{"class":4586},[4576,31397,23274],{"class":4673},[4576,31399,3806],{"class":4586},[4576,31401,23853],{"class":4673},[4576,31403,3806],{"class":4586},[4576,31405,31406],{"class":4673},"radius",[4576,31408,23282],{"class":4586},[4576,31410,23243],{"class":4657},[4576,31412,23287],{"class":4586},[4576,31414,31415,31417,31419,31422,31424,31427,31429,31431,31433,31435],{"class":4578,"line":6574},[4576,31416,4667],{"class":4653},[4576,31418,4670],{"class":4586},[4576,31420,31421],{"class":4673},"submitting",[4576,31423,3806],{"class":4586},[4576,31425,31426],{"class":4673},"setSubmitting",[4576,31428,4682],{"class":4586},[4576,31430,4591],{"class":4657},[4576,31432,4687],{"class":4586},[4576,31434,5161],{"class":4653},[4576,31436,4693],{"class":4586},[4576,31438,31439],{"class":4578,"line":6579},[4576,31440,4644],{"emptyLinePlaceholder":4643},[4576,31442,31443,31445],{"class":4578,"line":6584},[4576,31444,4667],{"class":4653},[4576,31446,4980],{"class":4586},[4576,31448,31449,31451],{"class":4578,"line":6626},[4576,31450,18141],{"class":4673},[4576,31452,4992],{"class":4586},[4576,31454,31455,31457],{"class":4578,"line":6633},[4576,31456,18148],{"class":4673},[4576,31458,4992],{"class":4586},[4576,31460,31461,31463],{"class":4578,"line":6646},[4576,31462,18155],{"class":4673},[4576,31464,4992],{"class":4586},[4576,31466,31467,31469,31471,31473],{"class":4578,"line":6659},[4576,31468,18162],{"class":4590},[4576,31470,13063],{"class":4586},[4576,31472,14190],{"class":4673},[4576,31474,4939],{"class":4586},[4576,31476,31477,31479,31481,31483,31485],{"class":4578,"line":6669},[4576,31478,18173],{"class":4586},[4576,31480,14110],{"class":4657},[4576,31482,5439],{"class":4586},[4576,31484,14218],{"class":4717},[4576,31486,14221],{"class":4586},[4576,31488,31489,31491,31493,31495,31497],{"class":4578,"line":6682},[4576,31490,18186],{"class":4590},[4576,31492,14229],{"class":4657},[4576,31494,4687],{"class":4586},[4576,31496,14234],{"class":4590},[4576,31498,12704],{"class":4586},[4576,31500,31501,31503],{"class":4578,"line":6688},[4576,31502,18200],{"class":4590},[4576,31504,4980],{"class":4586},[4576,31506,31507,31510,31512],{"class":4578,"line":6699},[4576,31508,31509],{"class":4590},"      title:",[4576,31511,14251],{"class":4600},[4576,31513,4992],{"class":4586},[4576,31515,31516,31519,31521],{"class":4578,"line":6711},[4576,31517,31518],{"class":4590},"      region:",[4576,31520,29542],{"class":4600},[4576,31522,4992],{"class":4586},[4576,31524,31525,31528,31530],{"class":4578,"line":6723},[4576,31526,31527],{"class":4590},"      description:",[4576,31529,14251],{"class":4600},[4576,31531,4992],{"class":4586},[4576,31533,31534,31537,31539],{"class":4578,"line":6735},[4576,31535,31536],{"class":4590},"      startDate:",[4576,31538,31183],{"class":4657},[4576,31540,10092],{"class":4586},[4576,31542,31543,31546,31548,31550,31553,31556,31558],{"class":4578,"line":6759},[4576,31544,31545],{"class":4590},"      endDate:",[4576,31547,31257],{"class":4657},[4576,31549,4687],{"class":4586},[4576,31551,31552],{"class":4657},"startOfToday",[4576,31554,31555],{"class":4586},"(), ",[4576,31557,12562],{"class":4935},[4576,31559,12704],{"class":4586},[4576,31561,31562,31565,31567],{"class":4578,"line":6767},[4576,31563,31564],{"class":4590},"      isPrivate:",[4576,31566,14261],{"class":4653},[4576,31568,4992],{"class":4586},[4576,31570,31571,31574,31577],{"class":4578,"line":6772},[4576,31572,31573],{"class":4590},"      plannedDays:",[4576,31575,31576],{"class":4935}," 3",[4576,31578,4992],{"class":4586},[4576,31580,31581,31584,31586],{"class":4578,"line":6781},[4576,31582,31583],{"class":4590},"      hasItinerary:",[4576,31585,14261],{"class":4653},[4576,31587,4992],{"class":4586},[4576,31589,31590],{"class":4578,"line":6786},[4576,31591,31592],{"class":9599},"      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n",[4576,31594,31595,31598,31600,31602,31604,31606,31608],{"class":4578,"line":6791},[4576,31596,31597],{"class":4590},"      acceptedLocalSave:",[4576,31599,14261],{"class":4653},[4576,31601,11347],{"class":4582},[4576,31603,18260],{"class":4717},[4576,31605,11347],{"class":4582},[4576,31607,18246],{"class":4717},[4576,31609,4992],{"class":4586},[4576,31611,31612],{"class":4578,"line":6796},[4576,31613,18280],{"class":4586},[4576,31615,31616,31618,31620],{"class":4578,"line":6813},[4576,31617,18285],{"class":4590},[4576,31619,14275],{"class":4600},[4576,31621,4992],{"class":4586},[4576,31623,31624,31626,31628],{"class":4578,"line":6838},[4576,31625,18294],{"class":4590},[4576,31627,14285],{"class":4600},[4576,31629,4992],{"class":4586},[4576,31631,31632],{"class":4578,"line":6845},[4576,31633,18303],{"class":4586},[4576,31635,31636],{"class":4578,"line":6854},[4576,31637,4644],{"emptyLinePlaceholder":4643},[4576,31639,31640,31642,31645,31647,31649,31651,31654],{"class":4578,"line":6863},[4576,31641,4667],{"class":4653},[4576,31643,31644],{"class":4673}," startDate",[4576,31646,4911],{"class":4586},[4576,31648,14610],{"class":4657},[4576,31650,4687],{"class":4586},[4576,31652,31653],{"class":4600},"'startDate'",[4576,31655,4693],{"class":4586},[4576,31657,31658,31660,31663,31665,31667,31669,31672],{"class":4578,"line":6872},[4576,31659,4667],{"class":4653},[4576,31661,31662],{"class":4673}," plannedDays",[4576,31664,4911],{"class":4586},[4576,31666,14610],{"class":4657},[4576,31668,4687],{"class":4586},[4576,31670,31671],{"class":4600},"'plannedDays'",[4576,31673,4693],{"class":4586},[4576,31675,31676],{"class":4578,"line":6881},[4576,31677,4644],{"emptyLinePlaceholder":4643},[4576,31679,31680,31682,31684,31686,31689,31691,31693,31695,31697],{"class":4578,"line":6890},[4576,31681,4667],{"class":4653},[4576,31683,14307],{"class":4657},[4576,31685,11156],{"class":4586},[4576,31687,31688],{"class":4590},"values",[4576,31690,7093],{"class":4586},[4576,31692,14218],{"class":4717},[4576,31694,7968],{"class":4586},[4576,31696,5537],{"class":4653},[4576,31698,4980],{"class":4586},[4576,31700,31701,31704,31706,31708],{"class":4578,"line":6899},[4576,31702,31703],{"class":4657},"    setSubmitting",[4576,31705,4687],{"class":4586},[4576,31707,3763],{"class":4653},[4576,31709,4693],{"class":4586},[4576,31711,31712,31714,31716,31718,31720],{"class":4578,"line":6904},[4576,31713,15098],{"class":4653},[4576,31715,24191],{"class":4673},[4576,31717,7093],{"class":4586},[4576,31719,22162],{"class":4717},[4576,31721,27412],{"class":4586},[4576,31723,31724,31727,31730,31732,31734,31736,31739,31741,31743,31745],{"class":4578,"line":6920},[4576,31725,31726],{"class":4590},"      id:",[4576,31728,31729],{"class":4600}," `local-",[4576,31731,25211],{"class":4653},[4576,31733,4462],{"class":4590},[4576,31735,3857],{"class":4733},[4576,31737,31738],{"class":4657},"now",[4576,31740,5553],{"class":4733},[4576,31742,4739],{"class":4653},[4576,31744,25542],{"class":4600},[4576,31746,4992],{"class":4586},[4576,31748,31749,31751,31754,31756,31758],{"class":4578,"line":16012},[4576,31750,31509],{"class":4590},[4576,31752,31753],{"class":4590}," values",[4576,31755,3857],{"class":4586},[4576,31757,7140],{"class":4590},[4576,31759,4992],{"class":4586},[4576,31761,31762,31764,31766,31768,31770],{"class":4578,"line":16017},[4576,31763,31518],{"class":4590},[4576,31765,31753],{"class":4590},[4576,31767,3857],{"class":4586},[4576,31769,11193],{"class":4590},[4576,31771,4992],{"class":4586},[4576,31773,31774,31776,31778,31780,31783],{"class":4578,"line":16058},[4576,31775,31527],{"class":4590},[4576,31777,31753],{"class":4590},[4576,31779,3857],{"class":4586},[4576,31781,31782],{"class":4590},"description",[4576,31784,4992],{"class":4586},[4576,31786,31787,31790,31792,31794,31796,31798,31800,31802,31804,31806,31808],{"class":4578,"line":16065},[4576,31788,31789],{"class":4590},"      dateLabel:",[4576,31791,28465],{"class":4657},[4576,31793,4687],{"class":4586},[4576,31795,31688],{"class":4590},[4576,31797,3857],{"class":4586},[4576,31799,28191],{"class":4590},[4576,31801,3806],{"class":4586},[4576,31803,31688],{"class":4590},[4576,31805,3857],{"class":4586},[4576,31807,28176],{"class":4590},[4576,31809,12704],{"class":4586},[4576,31811,31812,31815,31818,31820,31823,31825,31827,31829,31831,31833,31835,31838],{"class":4578,"line":16078},[4576,31813,31814],{"class":4590},"      coverUri:",[4576,31816,31817],{"class":4600}," `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F",[4576,31819,25211],{"class":4653},[4576,31821,31822],{"class":4657},"encodeURIComponent",[4576,31824,4687],{"class":4733},[4576,31826,31688],{"class":4590},[4576,31828,3857],{"class":4733},[4576,31830,7140],{"class":4590},[4576,31832,5723],{"class":4733},[4576,31834,4739],{"class":4653},[4576,31836,31837],{"class":4600},"\u002F800\u002F400`",[4576,31839,4992],{"class":4586},[4576,31841,31842,31844,31846,31848,31850],{"class":4578,"line":16091},[4576,31843,31564],{"class":4590},[4576,31845,31753],{"class":4590},[4576,31847,3857],{"class":4586},[4576,31849,8382],{"class":4590},[4576,31851,4992],{"class":4586},[4576,31853,31854,31856,31858,31860,31862],{"class":4578,"line":16101},[4576,31855,31573],{"class":4590},[4576,31857,31753],{"class":4590},[4576,31859,3857],{"class":4586},[4576,31861,22299],{"class":4590},[4576,31863,4992],{"class":4586},[4576,31865,31866,31868,31870,31872,31874],{"class":4578,"line":16111},[4576,31867,31583],{"class":4590},[4576,31869,31753],{"class":4590},[4576,31871,3857],{"class":4586},[4576,31873,22302],{"class":4590},[4576,31875,4992],{"class":4586},[4576,31877,31878],{"class":4578,"line":16120},[4576,31879,31880],{"class":4586},"    };\n",[4576,31882,31883,31886,31888,31890],{"class":4578,"line":16133},[4576,31884,31885],{"class":4657},"    onSubmitSuccess",[4576,31887,4687],{"class":4586},[4576,31889,23943],{"class":4590},[4576,31891,4693],{"class":4586},[4576,31893,31894,31896,31898,31900],{"class":4578,"line":16144},[4576,31895,31703],{"class":4657},[4576,31897,4687],{"class":4586},[4576,31899,5161],{"class":4653},[4576,31901,4693],{"class":4586},[4576,31903,31904],{"class":4578,"line":16155},[4576,31905,15264],{"class":4586},[4576,31907,31908],{"class":4578,"line":16190},[4576,31909,4644],{"emptyLinePlaceholder":4643},[4576,31911,31912,31914],{"class":4578,"line":16197},[4576,31913,4704],{"class":4582},[4576,31915,4707],{"class":4586},[4576,31917,31918,31920],{"class":4578,"line":16202},[4576,31919,4714],{"class":4713},[4576,31921,15596],{"class":4717},[4576,31923,31924,31926,31928,31930,31932,31934,31936],{"class":4578,"line":16257},[4576,31925,6085],{"class":4720},[4576,31927,4724],{"class":4586},[4576,31929,4727],{"class":4653},[4576,31931,4730],{"class":4590},[4576,31933,3857],{"class":4733},[4576,31935,18356],{"class":4590},[4576,31937,4801],{"class":4653},[4576,31939,31940,31942,31944,31946,31948,31950,31952,31954,31956,31958,31960,31962,31964],{"class":4578,"line":16262},[4576,31941,15625],{"class":4720},[4576,31943,4724],{"class":4586},[4576,31945,4727],{"class":4653},[4576,31947,15632],{"class":4590},[4576,31949,3857],{"class":4733},[4576,31951,15637],{"class":4673},[4576,31953,10519],{"class":4586},[4576,31955,15642],{"class":4600},[4576,31957,7282],{"class":4586},[4576,31959,15647],{"class":4600},[4576,31961,8033],{"class":4586},[4576,31963,15652],{"class":4600},[4576,31965,4801],{"class":4653},[4576,31967,31968,31971,31973,31975,31977,31979,31981,31983,31985,31987,31989,31991,31993],{"class":4578,"line":16285},[4576,31969,31970],{"class":4720},"      keyboardVerticalOffset",[4576,31972,4724],{"class":4586},[4576,31974,4727],{"class":4653},[4576,31976,15632],{"class":4590},[4576,31978,3857],{"class":4733},[4576,31980,15637],{"class":4673},[4576,31982,10519],{"class":4586},[4576,31984,15642],{"class":4600},[4576,31986,7282],{"class":4586},[4576,31988,9915],{"class":4935},[4576,31990,8033],{"class":4586},[4576,31992,24338],{"class":4935},[4576,31994,4801],{"class":4653},[4576,31996,31997],{"class":4578,"line":16325},[4576,31998,6150],{"class":4713},[4576,32000,32001,32003],{"class":4578,"line":16377},[4576,32002,4748],{"class":4713},[4576,32004,6080],{"class":4717},[4576,32006,32007,32009,32011,32013,32015,32017,32019],{"class":4578,"line":16386},[4576,32008,4854],{"class":4720},[4576,32010,4724],{"class":4586},[4576,32012,4727],{"class":4653},[4576,32014,4730],{"class":4590},[4576,32016,3857],{"class":4733},[4576,32018,18356],{"class":4590},[4576,32020,4801],{"class":4653},[4576,32022,32023,32025,32027,32029],{"class":4578,"line":16441},[4576,32024,18417],{"class":4720},[4576,32026,4724],{"class":4586},[4576,32028,4727],{"class":4653},[4576,32030,6708],{"class":4733},[4576,32032,32033,32035,32037,32040],{"class":4578,"line":16446},[4576,32034,6714],{"class":4590},[4576,32036,3857],{"class":4733},[4576,32038,32039],{"class":4590},"content",[4576,32041,4992],{"class":4733},[4576,32043,32044,32046,32048,32050,32052,32054,32056,32058,32060,32062,32064,32066,32068,32070,32072,32074],{"class":4578,"line":16491},[4576,32045,6738],{"class":4733},[4576,32047,6123],{"class":4590},[4576,32049,24301],{"class":4590},[4576,32051,3857],{"class":4733},[4576,32053,24306],{"class":4590},[4576,32055,3806],{"class":4733},[4576,32057,4932],{"class":4590},[4576,32059,24301],{"class":4590},[4576,32061,3857],{"class":4733},[4576,32063,24306],{"class":4590},[4576,32065,3806],{"class":4733},[4576,32067,21366],{"class":4590},[4576,32069,24301],{"class":4590},[4576,32071,3857],{"class":4733},[4576,32073,24722],{"class":4590},[4576,32075,4939],{"class":4733},[4576,32077,32078,32080],{"class":4578,"line":16523},[4576,32079,6762],{"class":4733},[4576,32081,4801],{"class":4653},[4576,32083,32084,32086,32088],{"class":4578,"line":16532},[4576,32085,18435],{"class":4720},[4576,32087,4724],{"class":4586},[4576,32089,6145],{"class":4600},[4576,32091,32092,32094,32096],{"class":4578,"line":16541},[4576,32093,18444],{"class":4720},[4576,32095,4724],{"class":4586},[4576,32097,18449],{"class":4600},[4576,32099,32100,32103,32105],{"class":4578,"line":16550},[4576,32101,32102],{"class":4720},"        showsVerticalScrollIndicator",[4576,32104,4724],{"class":4586},[4576,32106,4848],{"class":4653},[4576,32108,32109],{"class":4578,"line":16555},[4576,32110,8048],{"class":4713},[4576,32112,32113,32115,32117,32119,32121,32123,32125,32127,32129,32131,32133,32135,32137],{"class":4578,"line":16560},[4576,32114,7289],{"class":4713},[4576,32116,22187],{"class":4717},[4576,32118,24761],{"class":4720},[4576,32120,4724],{"class":4586},[4576,32122,25059],{"class":4600},[4576,32124,7294],{"class":4720},[4576,32126,4724],{"class":4586},[4576,32128,4727],{"class":4653},[4576,32130,23274],{"class":4590},[4576,32132,3857],{"class":4733},[4576,32134,24829],{"class":4590},[4576,32136,4739],{"class":4653},[4576,32138,4742],{"class":4713},[4576,32140,32141],{"class":4578,"line":16565},[4576,32142,32143],{"class":4586},"          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n",[4576,32145,32146],{"class":4578,"line":16582},[4576,32147,32148],{"class":4586},"          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n",[4576,32150,32151],{"class":4578,"line":16614},[4576,32152,32153],{"class":4586},"          перемикач, галочка, повзунок.\n",[4576,32155,32156,32158,32160],{"class":4578,"line":16645},[4576,32157,9273],{"class":4713},[4576,32159,22187],{"class":4717},[4576,32161,4742],{"class":4713},[4576,32163,32164],{"class":4578,"line":16652},[4576,32165,4644],{"emptyLinePlaceholder":4643},[4576,32167,32168,32170,32173],{"class":4578,"line":16661},[4576,32169,15958],{"class":4653},[4576,32171,32172],{"class":9599},"\u002F* ——— TextInput ——— *\u002F",[4576,32174,4801],{"class":4653},[4576,32176,32177,32179],{"class":4578,"line":16670},[4576,32178,7289],{"class":4713},[4576,32180,13023],{"class":4717},[4576,32182,32183,32185,32187,32189,32191],{"class":4578,"line":16679},[4576,32184,18556],{"class":4720},[4576,32186,4724],{"class":4586},[4576,32188,4727],{"class":4653},[4576,32190,13035],{"class":4590},[4576,32192,4801],{"class":4653},[4576,32194,32195,32197,32199],{"class":4578,"line":16688},[4576,32196,18569],{"class":4720},[4576,32198,4724],{"class":4586},[4576,32200,13047],{"class":4600},[4576,32202,32203,32205,32207,32209,32211,32213,32215,32217,32219,32221,32223,32225,32227,32229],{"class":4578,"line":16697},[4576,32204,18578],{"class":4720},[4576,32206,4724],{"class":4586},[4576,32208,4727],{"class":4653},[4576,32210,7128],{"class":4733},[4576,32212,5104],{"class":4590},[4576,32214,13063],{"class":4733},[4576,32216,4075],{"class":4590},[4576,32218,3806],{"class":4733},[4576,32220,4287],{"class":4590},[4576,32222,3806],{"class":4733},[4576,32224,4282],{"class":4590},[4576,32226,13091],{"class":4733},[4576,32228,5537],{"class":4653},[4576,32230,4707],{"class":4733},[4576,32232,32233,32235],{"class":4578,"line":16706},[4576,32234,11387],{"class":4713},[4576,32236,32237],{"class":4717},"TextField\n",[4576,32239,32240,32243,32245],{"class":4578,"line":16711},[4576,32241,32242],{"class":4720},"              label",[4576,32244,4724],{"class":4586},[4576,32246,32247],{"class":4600},"\"Назва поїздки\"\n",[4576,32249,32250,32252,32254],{"class":4578,"line":16742},[4576,32251,18693],{"class":4720},[4576,32253,4724],{"class":4586},[4576,32255,32256],{"class":4600},"\"Наприклад, Карпати на вихідні\"\n",[4576,32258,32259,32261,32263,32265,32267],{"class":4578,"line":16773},[4576,32260,18654],{"class":4720},[4576,32262,4724],{"class":4586},[4576,32264,4727],{"class":4653},[4576,32266,4282],{"class":4590},[4576,32268,4801],{"class":4653},[4576,32270,32271,32273,32275,32277,32279],{"class":4578,"line":16792},[4576,32272,18667],{"class":4720},[4576,32274,4724],{"class":4586},[4576,32276,4727],{"class":4653},[4576,32278,4075],{"class":4590},[4576,32280,4801],{"class":4653},[4576,32282,32283,32285,32287,32289,32291],{"class":4578,"line":18926},[4576,32284,18680],{"class":4720},[4576,32286,4724],{"class":4586},[4576,32288,4727],{"class":4653},[4576,32290,4287],{"class":4590},[4576,32292,4801],{"class":4653},[4576,32294,32295,32298,32300,32302,32304,32306,32308,32310,32312],{"class":4578,"line":18936},[4576,32296,32297],{"class":4720},"              error",[4576,32299,4724],{"class":4586},[4576,32301,4727],{"class":4653},[4576,32303,14190],{"class":4590},[4576,32305,3857],{"class":4733},[4576,32307,7140],{"class":4590},[4576,32309,5547],{"class":4733},[4576,32311,13210],{"class":4590},[4576,32313,4801],{"class":4653},[4576,32315,32316,32318,32320],{"class":4578,"line":18945},[4576,32317,18703],{"class":4720},[4576,32319,4724],{"class":4586},[4576,32321,32322],{"class":4600},"\"sentences\"\n",[4576,32324,32325,32327,32329],{"class":4578,"line":18955},[4576,32326,18712],{"class":4720},[4576,32328,4724],{"class":4586},[4576,32330,5513],{"class":4600},[4576,32332,32333,32335,32337,32339,32341],{"class":4578,"line":18964},[4576,32334,20379],{"class":4720},[4576,32336,4724],{"class":4586},[4576,32338,4727],{"class":4653},[4576,32340,27871],{"class":4935},[4576,32342,4801],{"class":4653},[4576,32344,32345],{"class":4578,"line":18969},[4576,32346,18721],{"class":4713},[4576,32348,32349,32351],{"class":4578,"line":18976},[4576,32350,18726],{"class":4733},[4576,32352,4801],{"class":4653},[4576,32354,32355],{"class":4578,"line":18981},[4576,32356,9349],{"class":4713},[4576,32358,32359],{"class":4578,"line":19008},[4576,32360,4644],{"emptyLinePlaceholder":4643},[4576,32362,32363,32365,32368],{"class":4578,"line":19013},[4576,32364,15958],{"class":4653},[4576,32366,32367],{"class":9599},"\u002F* ——— Picker ——— *\u002F",[4576,32369,4801],{"class":4653},[4576,32371,32372,32374],{"class":4578,"line":19030},[4576,32373,7289],{"class":4713},[4576,32375,13023],{"class":4717},[4576,32377,32378,32380,32382,32384,32386],{"class":4578,"line":19037},[4576,32379,18556],{"class":4720},[4576,32381,4724],{"class":4586},[4576,32383,4727],{"class":4653},[4576,32385,13035],{"class":4590},[4576,32387,4801],{"class":4653},[4576,32389,32390,32392,32394],{"class":4578,"line":19050},[4576,32391,18569],{"class":4720},[4576,32393,4724],{"class":4586},[4576,32395,32396],{"class":4600},"\"region\"\n",[4576,32398,32399,32401,32403,32405,32407,32409,32411,32413,32415,32417,32419,32421],{"class":4578,"line":19059},[4576,32400,18578],{"class":4720},[4576,32402,4724],{"class":4586},[4576,32404,4727],{"class":4653},[4576,32406,7128],{"class":4733},[4576,32408,5104],{"class":4590},[4576,32410,13063],{"class":4733},[4576,32412,4075],{"class":4590},[4576,32414,3806],{"class":4733},[4576,32416,4282],{"class":4590},[4576,32418,13091],{"class":4733},[4576,32420,5537],{"class":4653},[4576,32422,4707],{"class":4733},[4576,32424,32425,32427],{"class":4578,"line":19086},[4576,32426,11387],{"class":4713},[4576,32428,32429],{"class":4717},"FormRow\n",[4576,32431,32432,32434,32436],{"class":4578,"line":19131},[4576,32433,32242],{"class":4720},[4576,32435,4724],{"class":4586},[4576,32437,32438],{"class":4600},"\"Регіон\"\n",[4576,32440,32441,32444,32446],{"class":4578,"line":19161},[4576,32442,32443],{"class":4720},"              description",[4576,32445,4724],{"class":4586},[4576,32447,32448],{"class":4600},"\"Оберіть зі списку (Picker), а не вводьте вручну\"\n",[4576,32450,32451,32453,32455,32457,32459,32461,32463,32465,32467],{"class":4578,"line":19185},[4576,32452,32297],{"class":4720},[4576,32454,4724],{"class":4586},[4576,32456,4727],{"class":4653},[4576,32458,14190],{"class":4590},[4576,32460,3857],{"class":4733},[4576,32462,11193],{"class":4590},[4576,32464,5547],{"class":4733},[4576,32466,13210],{"class":4590},[4576,32468,4801],{"class":4653},[4576,32470,32471],{"class":4578,"line":19237},[4576,32472,32473],{"class":4720},"              stacked\n",[4576,32475,32476,32479,32481],{"class":4578,"line":19245},[4576,32477,32478],{"class":4720},"              control",[4576,32480,4724],{"class":4586},[4576,32482,22409],{"class":4653},[4576,32484,32485,32487],{"class":4578,"line":19255},[4576,32486,19653],{"class":4713},[4576,32488,24671],{"class":4717},[4576,32490,32491,32493,32495,32497],{"class":4578,"line":19265},[4576,32492,25600],{"class":4720},[4576,32494,4724],{"class":4586},[4576,32496,4727],{"class":4653},[4576,32498,6708],{"class":4733},[4576,32500,32501,32504,32506,32508],{"class":4578,"line":19272},[4576,32502,32503],{"class":4590},"                    styles",[4576,32505,3857],{"class":4733},[4576,32507,19105],{"class":4590},[4576,32509,4992],{"class":4733},[4576,32511,32512],{"class":4578,"line":19277},[4576,32513,32514],{"class":4733},"                    {\n",[4576,32516,32517,32520,32522,32524],{"class":4578,"line":19304},[4576,32518,32519],{"class":4590},"                      borderColor:",[4576,32521,15922],{"class":4590},[4576,32523,3857],{"class":4733},[4576,32525,32526],{"class":4590},"region\n",[4576,32528,32529,32532,32534,32536],{"class":4578,"line":19309},[4576,32530,32531],{"class":4586},"                        ?",[4576,32533,23373],{"class":4590},[4576,32535,3857],{"class":4733},[4576,32537,32538],{"class":4590},"danger\n",[4576,32540,32541,32544,32546,32548,32550],{"class":4578,"line":19334},[4576,32542,32543],{"class":4586},"                        :",[4576,32545,23373],{"class":4590},[4576,32547,3857],{"class":4733},[4576,32549,25005],{"class":4590},[4576,32551,4992],{"class":4733},[4576,32553,32554,32557,32559,32561,32563],{"class":4578,"line":19341},[4576,32555,32556],{"class":4590},"                      backgroundColor:",[4576,32558,23373],{"class":4590},[4576,32560,3857],{"class":4733},[4576,32562,25460],{"class":4590},[4576,32564,4992],{"class":4733},[4576,32566,32567,32570,32573,32575,32577],{"class":4578,"line":19354},[4576,32568,32569],{"class":4590},"                      borderRadius:",[4576,32571,32572],{"class":4590}," radius",[4576,32574,3857],{"class":4733},[4576,32576,24306],{"class":4590},[4576,32578,4992],{"class":4733},[4576,32580,32581],{"class":4578,"line":19364},[4576,32582,32583],{"class":4733},"                    },\n",[4576,32585,32586,32589],{"class":4578,"line":19391},[4576,32587,32588],{"class":4733},"                  ]",[4576,32590,4801],{"class":4653},[4576,32592,32593],{"class":4578,"line":19398},[4576,32594,25618],{"class":4713},[4576,32596,32597,32599],{"class":4578,"line":19412},[4576,32598,19188],{"class":4713},[4576,32600,11307],{"class":4717},[4576,32602,32603,32606,32608,32610,32612],{"class":4578,"line":19426},[4576,32604,32605],{"class":4720},"                    selectedValue",[4576,32607,4724],{"class":4586},[4576,32609,4727],{"class":4653},[4576,32611,4282],{"class":4590},[4576,32613,4801],{"class":4653},[4576,32615,32616,32619,32621,32623,32625],{"class":4578,"line":19440},[4576,32617,32618],{"class":4720},"                    onValueChange",[4576,32620,4724],{"class":4586},[4576,32622,4727],{"class":4653},[4576,32624,4075],{"class":4590},[4576,32626,4801],{"class":4653},[4576,32628,32629,32632,32634,32636,32638,32640,32642],{"class":4578,"line":19453},[4576,32630,32631],{"class":4720},"                    dropdownIconColor",[4576,32633,4724],{"class":4586},[4576,32635,4727],{"class":4653},[4576,32637,23274],{"class":4590},[4576,32639,3857],{"class":4733},[4576,32641,3896],{"class":4590},[4576,32643,4801],{"class":4653},[4576,32645,32646,32649,32651,32653,32655,32657,32659,32661,32663,32665],{"class":4578,"line":19467},[4576,32647,32648],{"class":4720},"                    style",[4576,32650,4724],{"class":4586},[4576,32652,4727],{"class":4653},[4576,32654,6092],{"class":4733},[4576,32656,6167],{"class":4590},[4576,32658,23373],{"class":4590},[4576,32660,3857],{"class":4733},[4576,32662,3896],{"class":4590},[4576,32664,6107],{"class":4733},[4576,32666,4801],{"class":4653},[4576,32668,32669],{"class":4578,"line":19477},[4576,32670,32671],{"class":4713},"                  >\n",[4576,32673,32674,32677,32679,32681,32683,32685,32687,32689,32691],{"class":4578,"line":19487},[4576,32675,32676],{"class":4653},"                    {",[4576,32678,11366],{"class":4673},[4576,32680,3857],{"class":4733},[4576,32682,11371],{"class":4657},[4576,32684,7962],{"class":4733},[4576,32686,11193],{"class":4590},[4576,32688,7968],{"class":4733},[4576,32690,5537],{"class":4653},[4576,32692,4707],{"class":4733},[4576,32694,32695,32698],{"class":4578,"line":19497},[4576,32696,32697],{"class":4713},"                      \u003C",[4576,32699,32700],{"class":4717},"Picker.Item\n",[4576,32702,32703,32706,32708,32710,32712],{"class":4578,"line":19502},[4576,32704,32705],{"class":4720},"                        key",[4576,32707,4724],{"class":4586},[4576,32709,4727],{"class":4653},[4576,32711,11193],{"class":4590},[4576,32713,4801],{"class":4653},[4576,32715,32716,32719,32721,32723,32725],{"class":4578,"line":19509},[4576,32717,32718],{"class":4720},"                        label",[4576,32720,4724],{"class":4586},[4576,32722,4727],{"class":4653},[4576,32724,11193],{"class":4590},[4576,32726,4801],{"class":4653},[4576,32728,32729,32732,32734,32736,32738],{"class":4578,"line":19514},[4576,32730,32731],{"class":4720},"                        value",[4576,32733,4724],{"class":4586},[4576,32735,4727],{"class":4653},[4576,32737,11193],{"class":4590},[4576,32739,4801],{"class":4653},[4576,32741,32742,32745,32747,32749,32751,32753,32755],{"class":4578,"line":19541},[4576,32743,32744],{"class":4720},"                        color",[4576,32746,4724],{"class":4586},[4576,32748,4727],{"class":4653},[4576,32750,23274],{"class":4590},[4576,32752,3857],{"class":4733},[4576,32754,3896],{"class":4590},[4576,32756,4801],{"class":4653},[4576,32758,32759],{"class":4578,"line":19546},[4576,32760,32761],{"class":4713},"                      \u002F>\n",[4576,32763,32764,32767],{"class":4578,"line":19553},[4576,32765,32766],{"class":4733},"                    ))",[4576,32768,4801],{"class":4653},[4576,32770,32771,32774,32776],{"class":4578,"line":19566},[4576,32772,32773],{"class":4713},"                  \u003C\u002F",[4576,32775,3818],{"class":4717},[4576,32777,4742],{"class":4713},[4576,32779,32780,32782,32784],{"class":4578,"line":19576},[4576,32781,19715],{"class":4713},[4576,32783,4628],{"class":4717},[4576,32785,4742],{"class":4713},[4576,32787,32788],{"class":4578,"line":19603},[4576,32789,32790],{"class":4653},"              }\n",[4576,32792,32793],{"class":4578,"line":19626},[4576,32794,18721],{"class":4713},[4576,32796,32797,32799],{"class":4578,"line":19650},[4576,32798,18726],{"class":4733},[4576,32800,4801],{"class":4653},[4576,32802,32803],{"class":4578,"line":19683},[4576,32804,9349],{"class":4713},[4576,32806,32807],{"class":4578,"line":19706},[4576,32808,4644],{"emptyLinePlaceholder":4643},[4576,32810,32811,32813,32816],{"class":4578,"line":19712},[4576,32812,15958],{"class":4653},[4576,32814,32815],{"class":9599},"\u002F* ——— DateTimePicker через DateField ——— *\u002F",[4576,32817,4801],{"class":4653},[4576,32819,32820,32822],{"class":4578,"line":19722},[4576,32821,7289],{"class":4713},[4576,32823,13023],{"class":4717},[4576,32825,32826,32828,32830,32832,32834],{"class":4578,"line":19731},[4576,32827,18556],{"class":4720},[4576,32829,4724],{"class":4586},[4576,32831,4727],{"class":4653},[4576,32833,13035],{"class":4590},[4576,32835,4801],{"class":4653},[4576,32837,32838,32840,32842],{"class":4578,"line":19738},[4576,32839,18569],{"class":4720},[4576,32841,4724],{"class":4586},[4576,32843,32844],{"class":4600},"\"startDate\"\n",[4576,32846,32847,32849,32851,32853,32855,32857,32859,32861,32863,32865,32867,32869,32871,32873],{"class":4578,"line":19752},[4576,32848,18578],{"class":4720},[4576,32850,4724],{"class":4586},[4576,32852,4727],{"class":4653},[4576,32854,7128],{"class":4733},[4576,32856,5104],{"class":4590},[4576,32858,13063],{"class":4733},[4576,32860,4075],{"class":4590},[4576,32862,3806],{"class":4733},[4576,32864,4287],{"class":4590},[4576,32866,3806],{"class":4733},[4576,32868,4282],{"class":4590},[4576,32870,13091],{"class":4733},[4576,32872,5537],{"class":4653},[4576,32874,4707],{"class":4733},[4576,32876,32877,32879],{"class":4578,"line":19766},[4576,32878,11387],{"class":4713},[4576,32880,32881],{"class":4717},"DateField\n",[4576,32883,32884,32886,32888],{"class":4578,"line":19792},[4576,32885,32242],{"class":4720},[4576,32887,4724],{"class":4586},[4576,32889,32890],{"class":4600},"\"Дата початку\"\n",[4576,32892,32893,32895,32897,32899,32901],{"class":4578,"line":19802},[4576,32894,18654],{"class":4720},[4576,32896,4724],{"class":4586},[4576,32898,4727],{"class":4653},[4576,32900,4282],{"class":4590},[4576,32902,4801],{"class":4653},[4576,32904,32905,32908,32910,32912,32914],{"class":4578,"line":19808},[4576,32906,32907],{"class":4720},"              onChange",[4576,32909,4724],{"class":4586},[4576,32911,4727],{"class":4653},[4576,32913,4075],{"class":4590},[4576,32915,4801],{"class":4653},[4576,32917,32918,32920,32922,32924,32926],{"class":4578,"line":19817},[4576,32919,18680],{"class":4720},[4576,32921,4724],{"class":4586},[4576,32923,4727],{"class":4653},[4576,32925,4287],{"class":4590},[4576,32927,4801],{"class":4653},[4576,32929,32930,32932,32934,32936,32938,32940,32942,32944,32946],{"class":4578,"line":19824},[4576,32931,32297],{"class":4720},[4576,32933,4724],{"class":4586},[4576,32935,4727],{"class":4653},[4576,32937,14190],{"class":4590},[4576,32939,3857],{"class":4733},[4576,32941,28191],{"class":4590},[4576,32943,5547],{"class":4733},[4576,32945,13210],{"class":4590},[4576,32947,4801],{"class":4653},[4576,32949,32950],{"class":4578,"line":19829},[4576,32951,18721],{"class":4713},[4576,32953,32954,32956],{"class":4578,"line":19834},[4576,32955,18726],{"class":4733},[4576,32957,4801],{"class":4653},[4576,32959,32960],{"class":4578,"line":19841},[4576,32961,9349],{"class":4713},[4576,32963,32964],{"class":4578,"line":19854},[4576,32965,4644],{"emptyLinePlaceholder":4643},[4576,32967,32968,32970],{"class":4578,"line":19864},[4576,32969,7289],{"class":4713},[4576,32971,13023],{"class":4717},[4576,32973,32974,32976,32978,32980,32982],{"class":4578,"line":19891},[4576,32975,18556],{"class":4720},[4576,32977,4724],{"class":4586},[4576,32979,4727],{"class":4653},[4576,32981,13035],{"class":4590},[4576,32983,4801],{"class":4653},[4576,32985,32986,32988,32990],{"class":4578,"line":19914},[4576,32987,18569],{"class":4720},[4576,32989,4724],{"class":4586},[4576,32991,32992],{"class":4600},"\"endDate\"\n",[4576,32994,32995,32997,32999,33001,33003,33005,33007,33009,33011,33013,33015,33017,33019,33021],{"class":4578,"line":19937},[4576,32996,18578],{"class":4720},[4576,32998,4724],{"class":4586},[4576,33000,4727],{"class":4653},[4576,33002,7128],{"class":4733},[4576,33004,5104],{"class":4590},[4576,33006,13063],{"class":4733},[4576,33008,4075],{"class":4590},[4576,33010,3806],{"class":4733},[4576,33012,4287],{"class":4590},[4576,33014,3806],{"class":4733},[4576,33016,4282],{"class":4590},[4576,33018,13091],{"class":4733},[4576,33020,5537],{"class":4653},[4576,33022,4707],{"class":4733},[4576,33024,33025,33027],{"class":4578,"line":19968},[4576,33026,11387],{"class":4713},[4576,33028,32881],{"class":4717},[4576,33030,33031,33033,33035],{"class":4578,"line":19991},[4576,33032,32242],{"class":4720},[4576,33034,4724],{"class":4586},[4576,33036,33037],{"class":4600},"\"Дата завершення\"\n",[4576,33039,33040,33042,33044,33046,33048],{"class":4578,"line":19997},[4576,33041,18654],{"class":4720},[4576,33043,4724],{"class":4586},[4576,33045,4727],{"class":4653},[4576,33047,4282],{"class":4590},[4576,33049,4801],{"class":4653},[4576,33051,33052,33054,33056,33058,33060],{"class":4578,"line":20006},[4576,33053,32907],{"class":4720},[4576,33055,4724],{"class":4586},[4576,33057,4727],{"class":4653},[4576,33059,4075],{"class":4590},[4576,33061,4801],{"class":4653},[4576,33063,33064,33066,33068,33070,33072],{"class":4578,"line":20015},[4576,33065,18680],{"class":4720},[4576,33067,4724],{"class":4586},[4576,33069,4727],{"class":4653},[4576,33071,4287],{"class":4590},[4576,33073,4801],{"class":4653},[4576,33075,33076,33078,33080,33082,33084,33086,33088,33090,33092],{"class":4578,"line":20022},[4576,33077,32297],{"class":4720},[4576,33079,4724],{"class":4586},[4576,33081,4727],{"class":4653},[4576,33083,14190],{"class":4590},[4576,33085,3857],{"class":4733},[4576,33087,28176],{"class":4590},[4576,33089,5547],{"class":4733},[4576,33091,13210],{"class":4590},[4576,33093,4801],{"class":4653},[4576,33095,33096,33099,33101,33103,33105],{"class":4578,"line":20042},[4576,33097,33098],{"class":4720},"              minimumDate",[4576,33100,4724],{"class":4586},[4576,33102,4727],{"class":4653},[4576,33104,28191],{"class":4590},[4576,33106,4801],{"class":4653},[4576,33108,33109],{"class":4578,"line":20055},[4576,33110,18721],{"class":4713},[4576,33112,33113,33115],{"class":4578,"line":20081},[4576,33114,18726],{"class":4733},[4576,33116,4801],{"class":4653},[4576,33118,33119],{"class":4578,"line":20091},[4576,33120,9349],{"class":4713},[4576,33122,33123],{"class":4578,"line":20101},[4576,33124,4644],{"emptyLinePlaceholder":4643},[4576,33126,33127,33129,33132],{"class":4578,"line":20111},[4576,33128,15958],{"class":4653},[4576,33130,33131],{"class":9599},"\u002F* ——— TextInput multiline ——— *\u002F",[4576,33133,4801],{"class":4653},[4576,33135,33136,33138],{"class":4578,"line":20121},[4576,33137,7289],{"class":4713},[4576,33139,13023],{"class":4717},[4576,33141,33142,33144,33146,33148,33150],{"class":4578,"line":20126},[4576,33143,18556],{"class":4720},[4576,33145,4724],{"class":4586},[4576,33147,4727],{"class":4653},[4576,33149,13035],{"class":4590},[4576,33151,4801],{"class":4653},[4576,33153,33154,33156,33158],{"class":4578,"line":20135},[4576,33155,18569],{"class":4720},[4576,33157,4724],{"class":4586},[4576,33159,33160],{"class":4600},"\"description\"\n",[4576,33162,33163,33165,33167,33169,33171,33173,33175,33177,33179,33181,33183,33185,33187,33189],{"class":4578,"line":20142},[4576,33164,18578],{"class":4720},[4576,33166,4724],{"class":4586},[4576,33168,4727],{"class":4653},[4576,33170,7128],{"class":4733},[4576,33172,5104],{"class":4590},[4576,33174,13063],{"class":4733},[4576,33176,4075],{"class":4590},[4576,33178,3806],{"class":4733},[4576,33180,4287],{"class":4590},[4576,33182,3806],{"class":4733},[4576,33184,4282],{"class":4590},[4576,33186,13091],{"class":4733},[4576,33188,5537],{"class":4653},[4576,33190,4707],{"class":4733},[4576,33192,33193,33195],{"class":4578,"line":20147},[4576,33194,11387],{"class":4713},[4576,33196,32237],{"class":4717},[4576,33198,33199,33201,33203],{"class":4578,"line":20175},[4576,33200,32242],{"class":4720},[4576,33202,4724],{"class":4586},[4576,33204,33205],{"class":4600},"\"Опис\"\n",[4576,33207,33208,33210,33212],{"class":4578,"line":20180},[4576,33209,18693],{"class":4720},[4576,33211,4724],{"class":4586},[4576,33213,33214],{"class":4600},"\"Коротко: що плануєте побачити, з ким їдете…\"\n",[4576,33216,33217,33219,33221,33223,33225],{"class":4578,"line":20198},[4576,33218,18654],{"class":4720},[4576,33220,4724],{"class":4586},[4576,33222,4727],{"class":4653},[4576,33224,4282],{"class":4590},[4576,33226,4801],{"class":4653},[4576,33228,33229,33231,33233,33235,33237],{"class":4578,"line":20205},[4576,33230,18667],{"class":4720},[4576,33232,4724],{"class":4586},[4576,33234,4727],{"class":4653},[4576,33236,4075],{"class":4590},[4576,33238,4801],{"class":4653},[4576,33240,33241,33243,33245,33247,33249],{"class":4578,"line":20218},[4576,33242,18680],{"class":4720},[4576,33244,4724],{"class":4586},[4576,33246,4727],{"class":4653},[4576,33248,4287],{"class":4590},[4576,33250,4801],{"class":4653},[4576,33252,33253,33255,33257,33259,33261,33263,33265,33267,33269],{"class":4578,"line":20228},[4576,33254,32297],{"class":4720},[4576,33256,4724],{"class":4586},[4576,33258,4727],{"class":4653},[4576,33260,14190],{"class":4590},[4576,33262,3857],{"class":4733},[4576,33264,31782],{"class":4590},[4576,33266,5547],{"class":4733},[4576,33268,13210],{"class":4590},[4576,33270,4801],{"class":4653},[4576,33272,33273],{"class":4578,"line":20259},[4576,33274,20363],{"class":4720},[4576,33276,33277,33280,33282,33284,33287],{"class":4578,"line":20266},[4576,33278,33279],{"class":4720},"              numberOfLines",[4576,33281,4724],{"class":4586},[4576,33283,4727],{"class":4653},[4576,33285,33286],{"class":4935},"4",[4576,33288,4801],{"class":4653},[4576,33290,33291,33293,33295],{"class":4578,"line":20311},[4576,33292,20369],{"class":4720},[4576,33294,4724],{"class":4586},[4576,33296,6696],{"class":4600},[4576,33298,33299,33301,33303,33305,33307,33309,33311],{"class":4578,"line":20324},[4576,33300,18615],{"class":4720},[4576,33302,4724],{"class":4586},[4576,33304,4727],{"class":4653},[4576,33306,4730],{"class":4590},[4576,33308,3857],{"class":4733},[4576,33310,4135],{"class":4590},[4576,33312,4801],{"class":4653},[4576,33314,33315,33317,33319,33321,33323],{"class":4578,"line":20337},[4576,33316,20379],{"class":4720},[4576,33318,4724],{"class":4586},[4576,33320,4727],{"class":4653},[4576,33322,27962],{"class":4935},[4576,33324,4801],{"class":4653},[4576,33326,33327,33330,33332],{"class":4578,"line":20350},[4576,33328,33329],{"class":4720},"              hint",[4576,33331,4724],{"class":4586},[4576,33333,33334],{"class":4600},"\"Мінімум 10 символів\"\n",[4576,33336,33337],{"class":4578,"line":20360},[4576,33338,18721],{"class":4713},[4576,33340,33341,33343],{"class":4578,"line":20366},[4576,33342,18726],{"class":4733},[4576,33344,4801],{"class":4653},[4576,33346,33347],{"class":4578,"line":20376},[4576,33348,9349],{"class":4713},[4576,33350,33351],{"class":4578,"line":20390},[4576,33352,4644],{"emptyLinePlaceholder":4643},[4576,33354,33355,33357,33360],{"class":4578,"line":20395},[4576,33356,15958],{"class":4653},[4576,33358,33359],{"class":9599},"\u002F* ——— Slider ——— *\u002F",[4576,33361,4801],{"class":4653},[4576,33363,33364,33366],{"class":4578,"line":20402},[4576,33365,7289],{"class":4713},[4576,33367,13023],{"class":4717},[4576,33369,33370,33372,33374,33376,33378],{"class":4578,"line":20407},[4576,33371,18556],{"class":4720},[4576,33373,4724],{"class":4586},[4576,33375,4727],{"class":4653},[4576,33377,13035],{"class":4590},[4576,33379,4801],{"class":4653},[4576,33381,33382,33384,33386],{"class":4578,"line":20434},[4576,33383,18569],{"class":4720},[4576,33385,4724],{"class":4586},[4576,33387,13715],{"class":4600},[4576,33389,33390,33392,33394,33396,33398,33400,33402,33404,33406,33408,33410,33412],{"class":4578,"line":20439},[4576,33391,18578],{"class":4720},[4576,33393,4724],{"class":4586},[4576,33395,4727],{"class":4653},[4576,33397,7128],{"class":4733},[4576,33399,5104],{"class":4590},[4576,33401,13063],{"class":4733},[4576,33403,4075],{"class":4590},[4576,33405,3806],{"class":4733},[4576,33407,4282],{"class":4590},[4576,33409,13091],{"class":4733},[4576,33411,5537],{"class":4653},[4576,33413,4707],{"class":4733},[4576,33415,33416,33418],{"class":4578,"line":20478},[4576,33417,11387],{"class":4713},[4576,33419,32429],{"class":4717},[4576,33421,33422,33424,33426,33428,33431,33433,33435,33437,33439,33442,33444,33446,33448,33450,33452],{"class":4578,"line":20510},[4576,33423,32242],{"class":4720},[4576,33425,4724],{"class":4586},[4576,33427,4727],{"class":4653},[4576,33429,33430],{"class":4600},"`Тривалість: ",[4576,33432,25211],{"class":4653},[4576,33434,4282],{"class":4590},[4576,33436,4739],{"class":4653},[4576,33438,28409],{"class":4653},[4576,33440,33441],{"class":4657},"daysWord",[4576,33443,4687],{"class":4733},[4576,33445,4282],{"class":4590},[4576,33447,5723],{"class":4733},[4576,33449,4739],{"class":4653},[4576,33451,25542],{"class":4600},[4576,33453,4801],{"class":4653},[4576,33455,33456,33458,33460],{"class":4578,"line":20519},[4576,33457,32443],{"class":4720},[4576,33459,4724],{"class":4586},[4576,33461,33462],{"class":4600},"\"Повзунок (Slider) — зручно для діапазону 1–14\"\n",[4576,33464,33465,33467,33469,33471,33473,33475,33477,33479,33481],{"class":4578,"line":20528},[4576,33466,32297],{"class":4720},[4576,33468,4724],{"class":4586},[4576,33470,4727],{"class":4653},[4576,33472,14190],{"class":4590},[4576,33474,3857],{"class":4733},[4576,33476,22299],{"class":4590},[4576,33478,5547],{"class":4733},[4576,33480,13210],{"class":4590},[4576,33482,4801],{"class":4653},[4576,33484,33485],{"class":4578,"line":20537},[4576,33486,32473],{"class":4720},[4576,33488,33489,33491,33493],{"class":4578,"line":20542},[4576,33490,32478],{"class":4720},[4576,33492,4724],{"class":4586},[4576,33494,22409],{"class":4653},[4576,33496,33497,33499],{"class":4578,"line":20547},[4576,33498,19653],{"class":4713},[4576,33500,10554],{"class":4717},[4576,33502,33503,33506,33508,33510,33512],{"class":4578,"line":20552},[4576,33504,33505],{"class":4720},"                  minimumValue",[4576,33507,4724],{"class":4586},[4576,33509,4727],{"class":4653},[4576,33511,10566],{"class":4935},[4576,33513,4801],{"class":4653},[4576,33515,33516,33519,33521,33523,33525],{"class":4578,"line":20562},[4576,33517,33518],{"class":4720},"                  maximumValue",[4576,33520,4724],{"class":4586},[4576,33522,4727],{"class":4653},[4576,33524,10580],{"class":4935},[4576,33526,4801],{"class":4653},[4576,33528,33529,33532,33534,33536,33538],{"class":4578,"line":20570},[4576,33530,33531],{"class":4720},"                  step",[4576,33533,4724],{"class":4586},[4576,33535,4727],{"class":4653},[4576,33537,10566],{"class":4935},[4576,33539,4801],{"class":4653},[4576,33541,33542,33545,33547,33549,33551],{"class":4578,"line":20578},[4576,33543,33544],{"class":4720},"                  value",[4576,33546,4724],{"class":4586},[4576,33548,4727],{"class":4653},[4576,33550,4282],{"class":4590},[4576,33552,4801],{"class":4653},[4576,33554,33555,33558,33560,33562,33564],{"class":4578,"line":20584},[4576,33556,33557],{"class":4720},"                  onValueChange",[4576,33559,4724],{"class":4586},[4576,33561,4727],{"class":4653},[4576,33563,4075],{"class":4590},[4576,33565,4801],{"class":4653},[4576,33567,33568,33571,33573,33575,33577,33579,33581],{"class":4578,"line":20595},[4576,33569,33570],{"class":4720},"                  minimumTrackTintColor",[4576,33572,4724],{"class":4586},[4576,33574,4727],{"class":4653},[4576,33576,23274],{"class":4590},[4576,33578,3857],{"class":4733},[4576,33580,25164],{"class":4590},[4576,33582,4801],{"class":4653},[4576,33584,33585,33588,33590,33592,33594,33596,33598],{"class":4578,"line":20608},[4576,33586,33587],{"class":4720},"                  maximumTrackTintColor",[4576,33589,4724],{"class":4586},[4576,33591,4727],{"class":4653},[4576,33593,23274],{"class":4590},[4576,33595,3857],{"class":4733},[4576,33597,25005],{"class":4590},[4576,33599,4801],{"class":4653},[4576,33601,33602,33605,33607,33609,33611,33613,33615],{"class":4578,"line":20614},[4576,33603,33604],{"class":4720},"                  thumbTintColor",[4576,33606,4724],{"class":4586},[4576,33608,4727],{"class":4653},[4576,33610,23274],{"class":4590},[4576,33612,3857],{"class":4733},[4576,33614,25164],{"class":4590},[4576,33616,4801],{"class":4653},[4576,33618,33619],{"class":4578,"line":20621},[4576,33620,33621],{"class":4713},"                \u002F>\n",[4576,33623,33624],{"class":4578,"line":20644},[4576,33625,32790],{"class":4653},[4576,33627,33628],{"class":4578,"line":20676},[4576,33629,18721],{"class":4713},[4576,33631,33632,33634],{"class":4578,"line":20715},[4576,33633,18726],{"class":4733},[4576,33635,4801],{"class":4653},[4576,33637,33638],{"class":4578,"line":20754},[4576,33639,9349],{"class":4713},[4576,33641,33642,33644,33646,33648,33650,33652,33654,33656,33658,33660,33662,33664,33666],{"class":4578,"line":20778},[4576,33643,7289],{"class":4713},[4576,33645,22187],{"class":4717},[4576,33647,24761],{"class":4720},[4576,33649,4724],{"class":4586},[4576,33651,25059],{"class":4600},[4576,33653,7294],{"class":4720},[4576,33655,4724],{"class":4586},[4576,33657,4727],{"class":4653},[4576,33659,23274],{"class":4590},[4576,33661,3857],{"class":4733},[4576,33663,24829],{"class":4590},[4576,33665,4739],{"class":4653},[4576,33667,4742],{"class":4713},[4576,33669,33670,33673,33675,33677,33680,33683],{"class":4578,"line":20814},[4576,33671,33672],{"class":4586},"          Зараз на слайдері: ",[4576,33674,4727],{"class":4653},[4576,33676,22299],{"class":4590},[4576,33678,33679],{"class":4653},"}{",[4576,33681,33682],{"class":4600},"' '",[4576,33684,4801],{"class":4653},[4576,33686,33687,33689,33691,33693,33695,33698,33700,33702,33704],{"class":4578,"line":20823},[4576,33688,11363],{"class":4653},[4576,33690,33441],{"class":4657},[4576,33692,4687],{"class":4733},[4576,33694,22299],{"class":4590},[4576,33696,33697],{"class":4586}," ??",[4576,33699,4989],{"class":4935},[4576,33701,5723],{"class":4733},[4576,33703,4739],{"class":4653},[4576,33705,33706],{"class":4586}," (можна не збігатися з датами — це\n",[4576,33708,33709],{"class":4578,"line":20846},[4576,33710,33711],{"class":4586},"          окреме «орієнтовне» поле для навчання).\n",[4576,33713,33714,33716,33718],{"class":4578,"line":20873},[4576,33715,9273],{"class":4713},[4576,33717,22187],{"class":4717},[4576,33719,4742],{"class":4713},[4576,33721,33722],{"class":4578,"line":20882},[4576,33723,4644],{"emptyLinePlaceholder":4643},[4576,33725,33726,33728,33731],{"class":4578,"line":20897},[4576,33727,15958],{"class":4653},[4576,33729,33730],{"class":9599},"\u002F* ——— Switch ——— *\u002F",[4576,33732,4801],{"class":4653},[4576,33734,33735,33737],{"class":4578,"line":20946},[4576,33736,7289],{"class":4713},[4576,33738,13023],{"class":4717},[4576,33740,33741,33743,33745,33747,33749],{"class":4578,"line":20955},[4576,33742,18556],{"class":4720},[4576,33744,4724],{"class":4586},[4576,33746,4727],{"class":4653},[4576,33748,13035],{"class":4590},[4576,33750,4801],{"class":4653},[4576,33752,33753,33755,33757],{"class":4578,"line":21000},[4576,33754,18569],{"class":4720},[4576,33756,4724],{"class":4586},[4576,33758,13506],{"class":4600},[4576,33760,33761,33763,33765,33767,33769,33771,33773,33775,33777,33779,33781,33783],{"class":4578,"line":21031},[4576,33762,18578],{"class":4720},[4576,33764,4724],{"class":4586},[4576,33766,4727],{"class":4653},[4576,33768,7128],{"class":4733},[4576,33770,5104],{"class":4590},[4576,33772,13063],{"class":4733},[4576,33774,4075],{"class":4590},[4576,33776,3806],{"class":4733},[4576,33778,4282],{"class":4590},[4576,33780,13091],{"class":4733},[4576,33782,5537],{"class":4653},[4576,33784,4707],{"class":4733},[4576,33786,33787,33789],{"class":4578,"line":21040},[4576,33788,11387],{"class":4713},[4576,33790,32429],{"class":4717},[4576,33792,33793,33795,33797],{"class":4578,"line":21049},[4576,33794,32242],{"class":4720},[4576,33796,4724],{"class":4586},[4576,33798,33799],{"class":4600},"\"Приватна поїздка\"\n",[4576,33801,33802,33804,33806],{"class":4578,"line":21054},[4576,33803,32443],{"class":4720},[4576,33805,4724],{"class":4586},[4576,33807,33808],{"class":4600},"\"Switch: увімкнено — мітка «приватна» на картці\"\n",[4576,33810,33811,33813,33815,33817,33819,33821,33823,33825,33827],{"class":4578,"line":21059},[4576,33812,32297],{"class":4720},[4576,33814,4724],{"class":4586},[4576,33816,4727],{"class":4653},[4576,33818,14190],{"class":4590},[4576,33820,3857],{"class":4733},[4576,33822,8382],{"class":4590},[4576,33824,5547],{"class":4733},[4576,33826,13210],{"class":4590},[4576,33828,4801],{"class":4653},[4576,33830,33831,33833,33835],{"class":4578,"line":21064},[4576,33832,32478],{"class":4720},[4576,33834,4724],{"class":4586},[4576,33836,22409],{"class":4653},[4576,33838,33839,33841],{"class":4578,"line":21077},[4576,33840,19653],{"class":4713},[4576,33842,8530],{"class":4717},[4576,33844,33845,33847,33849,33851,33853],{"class":4578,"line":21109},[4576,33846,33544],{"class":4720},[4576,33848,4724],{"class":4586},[4576,33850,4727],{"class":4653},[4576,33852,4282],{"class":4590},[4576,33854,4801],{"class":4653},[4576,33856,33857,33859,33861,33863,33865],{"class":4578,"line":21114},[4576,33858,33557],{"class":4720},[4576,33860,4724],{"class":4586},[4576,33862,4727],{"class":4653},[4576,33864,4075],{"class":4590},[4576,33866,4801],{"class":4653},[4576,33868,33869,33872,33874,33876],{"class":4578,"line":21121},[4576,33870,33871],{"class":4720},"                  trackColor",[4576,33873,4724],{"class":4586},[4576,33875,4727],{"class":4653},[4576,33877,22409],{"class":4733},[4576,33879,33880,33883,33885,33887,33889],{"class":4578,"line":21130},[4576,33881,33882],{"class":4590},"                    false:",[4576,33884,23373],{"class":4590},[4576,33886,3857],{"class":4733},[4576,33888,25005],{"class":4590},[4576,33890,4992],{"class":4733},[4576,33892,33893,33896,33898,33900,33902],{"class":4578,"line":21154},[4576,33894,33895],{"class":4590},"                    true:",[4576,33897,23373],{"class":4590},[4576,33899,3857],{"class":4733},[4576,33901,25164],{"class":4590},[4576,33903,4992],{"class":4733},[4576,33905,33906,33909],{"class":4578,"line":21165},[4576,33907,33908],{"class":4733},"                  }",[4576,33910,4801],{"class":4653},[4576,33912,33913,33916,33918,33920,33922,33924,33926],{"class":4578,"line":21208},[4576,33914,33915],{"class":4720},"                  thumbColor",[4576,33917,4724],{"class":4586},[4576,33919,4727],{"class":4653},[4576,33921,23274],{"class":4590},[4576,33923,3857],{"class":4733},[4576,33925,25585],{"class":4590},[4576,33927,4801],{"class":4653},[4576,33929,33930,33933,33935,33937,33939,33941,33943],{"class":4578,"line":21218},[4576,33931,33932],{"class":4720},"                  ios_backgroundColor",[4576,33934,4724],{"class":4586},[4576,33936,4727],{"class":4653},[4576,33938,23274],{"class":4590},[4576,33940,3857],{"class":4733},[4576,33942,25005],{"class":4590},[4576,33944,4801],{"class":4653},[4576,33946,33947],{"class":4578,"line":21253},[4576,33948,33621],{"class":4713},[4576,33950,33951],{"class":4578,"line":21261},[4576,33952,32790],{"class":4653},[4576,33954,33955],{"class":4578,"line":21270},[4576,33956,18721],{"class":4713},[4576,33958,33959,33961],{"class":4578,"line":21279},[4576,33960,18726],{"class":4733},[4576,33962,4801],{"class":4653},[4576,33964,33965],{"class":4578,"line":21284},[4576,33966,9349],{"class":4713},[4576,33968,33969],{"class":4578,"line":21289},[4576,33970,4644],{"emptyLinePlaceholder":4643},[4576,33972,33973,33975,33978],{"class":4578,"line":21294},[4576,33974,15958],{"class":4653},[4576,33976,33977],{"class":9599},"\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F",[4576,33979,4801],{"class":4653},[4576,33981,33982,33984],{"class":4578,"line":21311},[4576,33983,7289],{"class":4713},[4576,33985,13023],{"class":4717},[4576,33987,33988,33990,33992,33994,33996],{"class":4578,"line":21332},[4576,33989,18556],{"class":4720},[4576,33991,4724],{"class":4586},[4576,33993,4727],{"class":4653},[4576,33995,13035],{"class":4590},[4576,33997,4801],{"class":4653},[4576,33999,34000,34002,34004],{"class":4578,"line":21346},[4576,34001,18569],{"class":4720},[4576,34003,4724],{"class":4586},[4576,34005,34006],{"class":4600},"\"hasItinerary\"\n",[4576,34008,34009,34011,34013,34015,34017,34019,34021,34023,34025,34027,34029,34031],{"class":4578,"line":21374},[4576,34010,18578],{"class":4720},[4576,34012,4724],{"class":4586},[4576,34014,4727],{"class":4653},[4576,34016,7128],{"class":4733},[4576,34018,5104],{"class":4590},[4576,34020,13063],{"class":4733},[4576,34022,4075],{"class":4590},[4576,34024,3806],{"class":4733},[4576,34026,4282],{"class":4590},[4576,34028,13091],{"class":4733},[4576,34030,5537],{"class":4653},[4576,34032,4707],{"class":4733},[4576,34034,34035,34037],{"class":4578,"line":21381},[4576,34036,11387],{"class":4713},[4576,34038,32429],{"class":4717},[4576,34040,34041,34043,34045],{"class":4578,"line":21391},[4576,34042,32242],{"class":4720},[4576,34044,4724],{"class":4586},[4576,34046,34047],{"class":4600},"\"Є план маршруту\"\n",[4576,34049,34050,34052,34054],{"class":4578,"line":21400},[4576,34051,32443],{"class":4720},[4576,34053,4724],{"class":4586},[4576,34055,34056],{"class":4600},"\"Checkbox: так \u002F ні, без обов’язковості\"\n",[4576,34058,34059,34061,34063,34065,34067,34069,34071,34073,34075],{"class":4578,"line":21409},[4576,34060,32297],{"class":4720},[4576,34062,4724],{"class":4586},[4576,34064,4727],{"class":4653},[4576,34066,14190],{"class":4590},[4576,34068,3857],{"class":4733},[4576,34070,22302],{"class":4590},[4576,34072,5547],{"class":4733},[4576,34074,13210],{"class":4590},[4576,34076,4801],{"class":4653},[4576,34078,34079,34081,34083],{"class":4578,"line":21418},[4576,34080,32478],{"class":4720},[4576,34082,4724],{"class":4586},[4576,34084,22409],{"class":4653},[4576,34086,34087,34089],{"class":4578,"line":21423},[4576,34088,19653],{"class":4713},[4576,34090,9750],{"class":4717},[4576,34092,34093,34095,34097,34099,34101],{"class":4578,"line":21430},[4576,34094,33544],{"class":4720},[4576,34096,4724],{"class":4586},[4576,34098,4727],{"class":4653},[4576,34100,4282],{"class":4590},[4576,34102,4801],{"class":4653},[4576,34104,34105,34107,34109,34111,34113],{"class":4578,"line":21439},[4576,34106,33557],{"class":4720},[4576,34108,4724],{"class":4586},[4576,34110,4727],{"class":4653},[4576,34112,4075],{"class":4590},[4576,34114,4801],{"class":4653},[4576,34116,34117,34120,34122,34124],{"class":4578,"line":21449},[4576,34118,34119],{"class":4720},"                  tintColors",[4576,34121,4724],{"class":4586},[4576,34123,4727],{"class":4653},[4576,34125,22409],{"class":4733},[4576,34127,34128,34130,34132,34134,34136],{"class":4578,"line":21460},[4576,34129,33895],{"class":4590},[4576,34131,23373],{"class":4590},[4576,34133,3857],{"class":4733},[4576,34135,25164],{"class":4590},[4576,34137,4992],{"class":4733},[4576,34139,34140,34142,34144,34146,34148],{"class":4578,"line":21470},[4576,34141,33882],{"class":4590},[4576,34143,23373],{"class":4590},[4576,34145,3857],{"class":4733},[4576,34147,25005],{"class":4590},[4576,34149,4992],{"class":4733},[4576,34151,34152,34154],{"class":4578,"line":21475},[4576,34153,33908],{"class":4733},[4576,34155,4801],{"class":4653},[4576,34157,34158,34161,34163,34165,34167,34169,34171],{"class":4578,"line":21502},[4576,34159,34160],{"class":4720},"                  onCheckColor",[4576,34162,4724],{"class":4586},[4576,34164,4727],{"class":4653},[4576,34166,23274],{"class":4590},[4576,34168,3857],{"class":4733},[4576,34170,25585],{"class":4590},[4576,34172,4801],{"class":4653},[4576,34174,34175,34178,34180,34182,34184,34186,34188],{"class":4578,"line":21509},[4576,34176,34177],{"class":4720},"                  onFillColor",[4576,34179,4724],{"class":4586},[4576,34181,4727],{"class":4653},[4576,34183,23274],{"class":4590},[4576,34185,3857],{"class":4733},[4576,34187,25164],{"class":4590},[4576,34189,4801],{"class":4653},[4576,34191,34192,34195,34197,34199,34201,34203,34205],{"class":4578,"line":21519},[4576,34193,34194],{"class":4720},"                  onTintColor",[4576,34196,4724],{"class":4586},[4576,34198,4727],{"class":4653},[4576,34200,23274],{"class":4590},[4576,34202,3857],{"class":4733},[4576,34204,25164],{"class":4590},[4576,34206,4801],{"class":4653},[4576,34208,34209,34212,34214],{"class":4578,"line":21528},[4576,34210,34211],{"class":4720},"                  boxType",[4576,34213,4724],{"class":4586},[4576,34215,9784],{"class":4600},[4576,34217,34218],{"class":4578,"line":21537},[4576,34219,33621],{"class":4713},[4576,34221,34222],{"class":4578,"line":21546},[4576,34223,32790],{"class":4653},[4576,34225,34226],{"class":4578,"line":21556},[4576,34227,18721],{"class":4713},[4576,34229,34230,34232],{"class":4578,"line":21561},[4576,34231,18726],{"class":4733},[4576,34233,4801],{"class":4653},[4576,34235,34236],{"class":4578,"line":21568},[4576,34237,9349],{"class":4713},[4576,34239,34240],{"class":4578,"line":21577},[4576,34241,4644],{"emptyLinePlaceholder":4643},[4576,34243,34244,34246,34249],{"class":4578,"line":21586},[4576,34245,15958],{"class":4653},[4576,34247,34248],{"class":9599},"\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F",[4576,34250,4801],{"class":4653},[4576,34252,34253,34255],{"class":4578,"line":21595},[4576,34254,7289],{"class":4713},[4576,34256,13023],{"class":4717},[4576,34258,34259,34261,34263,34265,34267],{"class":4578,"line":21604},[4576,34260,18556],{"class":4720},[4576,34262,4724],{"class":4586},[4576,34264,4727],{"class":4653},[4576,34266,13035],{"class":4590},[4576,34268,4801],{"class":4653},[4576,34270,34271,34273,34275],{"class":4578,"line":21613},[4576,34272,18569],{"class":4720},[4576,34274,4724],{"class":4586},[4576,34276,34277],{"class":4600},"\"acceptedLocalSave\"\n",[4576,34279,34280,34282,34284,34286,34288,34290,34292,34294,34296,34298,34300,34302],{"class":4578,"line":21622},[4576,34281,18578],{"class":4720},[4576,34283,4724],{"class":4586},[4576,34285,4727],{"class":4653},[4576,34287,7128],{"class":4733},[4576,34289,5104],{"class":4590},[4576,34291,13063],{"class":4733},[4576,34293,4075],{"class":4590},[4576,34295,3806],{"class":4733},[4576,34297,4282],{"class":4590},[4576,34299,13091],{"class":4733},[4576,34301,5537],{"class":4653},[4576,34303,4707],{"class":4733},[4576,34305,34306,34308],{"class":4578,"line":21631},[4576,34307,11387],{"class":4713},[4576,34309,32429],{"class":4717},[4576,34311,34312,34314,34316],{"class":4578,"line":21640},[4576,34313,32242],{"class":4720},[4576,34315,4724],{"class":4586},[4576,34317,34318],{"class":4600},"\"Згода на локальне збереження\"\n",[4576,34320,34321,34323,34325],{"class":4578,"line":21649},[4576,34322,32443],{"class":4720},[4576,34324,4724],{"class":4586},[4576,34326,34327],{"class":4600},"\"Поки немає API: дані лишаються в пам’яті застосунку\"\n",[4576,34329,34330,34332,34334,34336,34338,34340,34343,34345,34347],{"class":4578,"line":21654},[4576,34331,32297],{"class":4720},[4576,34333,4724],{"class":4586},[4576,34335,4727],{"class":4653},[4576,34337,14190],{"class":4590},[4576,34339,3857],{"class":4733},[4576,34341,34342],{"class":4590},"acceptedLocalSave",[4576,34344,5547],{"class":4733},[4576,34346,13210],{"class":4590},[4576,34348,4801],{"class":4653},[4576,34350,34351,34353,34355],{"class":4578,"line":21668},[4576,34352,32478],{"class":4720},[4576,34354,4724],{"class":4586},[4576,34356,22409],{"class":4653},[4576,34358,34359,34361],{"class":4578,"line":21683},[4576,34360,19653],{"class":4713},[4576,34362,9750],{"class":4717},[4576,34364,34365,34367,34369,34371,34373,34375,34377,34379],{"class":4578,"line":21709},[4576,34366,33544],{"class":4720},[4576,34368,4724],{"class":4586},[4576,34370,4727],{"class":4653},[4576,34372,20031],{"class":4657},[4576,34374,4687],{"class":4733},[4576,34376,4282],{"class":4590},[4576,34378,5723],{"class":4733},[4576,34380,4801],{"class":4653},[4576,34382,34383,34385,34387,34389,34391],{"class":4578,"line":21717},[4576,34384,33557],{"class":4720},[4576,34386,4724],{"class":4586},[4576,34388,4727],{"class":4653},[4576,34390,4075],{"class":4590},[4576,34392,4801],{"class":4653},[4576,34394,34395,34397,34399,34401],{"class":4578,"line":21726},[4576,34396,34119],{"class":4720},[4576,34398,4724],{"class":4586},[4576,34400,4727],{"class":4653},[4576,34402,22409],{"class":4733},[4576,34404,34405,34407,34409,34411,34413],{"class":4578,"line":21735},[4576,34406,33895],{"class":4590},[4576,34408,23373],{"class":4590},[4576,34410,3857],{"class":4733},[4576,34412,25164],{"class":4590},[4576,34414,4992],{"class":4733},[4576,34416,34417,34419,34421,34423,34425],{"class":4578,"line":21744},[4576,34418,33882],{"class":4590},[4576,34420,23373],{"class":4590},[4576,34422,3857],{"class":4733},[4576,34424,25005],{"class":4590},[4576,34426,4992],{"class":4733},[4576,34428,34429,34431],{"class":4578,"line":21753},[4576,34430,33908],{"class":4733},[4576,34432,4801],{"class":4653},[4576,34434,34435,34437,34439,34441,34443,34445,34447],{"class":4578,"line":21762},[4576,34436,34160],{"class":4720},[4576,34438,4724],{"class":4586},[4576,34440,4727],{"class":4653},[4576,34442,23274],{"class":4590},[4576,34444,3857],{"class":4733},[4576,34446,25585],{"class":4590},[4576,34448,4801],{"class":4653},[4576,34450,34451,34453,34455,34457,34459,34461,34463],{"class":4578,"line":21767},[4576,34452,34177],{"class":4720},[4576,34454,4724],{"class":4586},[4576,34456,4727],{"class":4653},[4576,34458,23274],{"class":4590},[4576,34460,3857],{"class":4733},[4576,34462,25164],{"class":4590},[4576,34464,4801],{"class":4653},[4576,34466,34467,34469,34471,34473,34475,34477,34479],{"class":4578,"line":21774},[4576,34468,34194],{"class":4720},[4576,34470,4724],{"class":4586},[4576,34472,4727],{"class":4653},[4576,34474,23274],{"class":4590},[4576,34476,3857],{"class":4733},[4576,34478,25164],{"class":4590},[4576,34480,4801],{"class":4653},[4576,34482,34483,34485,34487],{"class":4578,"line":21783},[4576,34484,34211],{"class":4720},[4576,34486,4724],{"class":4586},[4576,34488,9784],{"class":4600},[4576,34490,34491],{"class":4578,"line":21792},[4576,34492,33621],{"class":4713},[4576,34494,34495],{"class":4578,"line":21801},[4576,34496,32790],{"class":4653},[4576,34498,34499],{"class":4578,"line":21810},[4576,34500,18721],{"class":4713},[4576,34502,34503,34505],{"class":4578,"line":21815},[4576,34504,18726],{"class":4733},[4576,34506,4801],{"class":4653},[4576,34508,34509],{"class":4578,"line":21835},[4576,34510,9349],{"class":4713},[4576,34512,34513],{"class":4578,"line":21855},[4576,34514,4644],{"emptyLinePlaceholder":4643},[4576,34516,34517,34519,34522],{"class":4578,"line":21862},[4576,34518,15958],{"class":4653},[4576,34520,34521],{"class":9599},"\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F",[4576,34523,4801],{"class":4653},[4576,34525,34526,34528,34530,34532,34534,34536,34538,34540,34542,34544,34546,34548,34550,34552,34554,34556,34558,34560],{"class":4578,"line":21871},[4576,34527,7289],{"class":4713},[4576,34529,4628],{"class":4717},[4576,34531,4721],{"class":4720},[4576,34533,4724],{"class":4586},[4576,34535,4727],{"class":4653},[4576,34537,6092],{"class":4733},[4576,34539,4932],{"class":4590},[4576,34541,24301],{"class":4590},[4576,34543,3857],{"class":4733},[4576,34545,24365],{"class":4590},[4576,34547,3806],{"class":4733},[4576,34549,8751],{"class":4590},[4576,34551,24301],{"class":4590},[4576,34553,3857],{"class":4733},[4576,34555,24365],{"class":4590},[4576,34557,6107],{"class":4733},[4576,34559,4739],{"class":4653},[4576,34561,4742],{"class":4713},[4576,34563,34564,34566],{"class":4578,"line":21880},[4576,34565,9168],{"class":4713},[4576,34567,26102],{"class":4717},[4576,34569,34570,34573,34575,34577,34579,34581,34584,34586,34589],{"class":4578,"line":21889},[4576,34571,34572],{"class":4720},"            label",[4576,34574,4724],{"class":4586},[4576,34576,4727],{"class":4653},[4576,34578,31421],{"class":4590},[4576,34580,7282],{"class":4586},[4576,34582,34583],{"class":4600}," 'Створюємо…'",[4576,34585,8033],{"class":4586},[4576,34587,34588],{"class":4600}," 'Створити поїздку'",[4576,34590,4801],{"class":4653},[4576,34592,34593,34596,34598,34600,34602,34604,34606,34608],{"class":4578,"line":21898},[4576,34594,34595],{"class":4720},"            onPress",[4576,34597,4724],{"class":4586},[4576,34599,4727],{"class":4653},[4576,34601,4176],{"class":4657},[4576,34603,4687],{"class":4733},[4576,34605,14420],{"class":4590},[4576,34607,5723],{"class":4733},[4576,34609,4801],{"class":4653},[4576,34611,34612,34615,34617,34619,34621],{"class":4578,"line":21907},[4576,34613,34614],{"class":4720},"            disabled",[4576,34616,4724],{"class":4586},[4576,34618,4727],{"class":4653},[4576,34620,31421],{"class":4590},[4576,34622,4801],{"class":4653},[4576,34624,34625],{"class":4578,"line":21912},[4576,34626,24586],{"class":4713},[4576,34628,34629,34631,34634,34636],{"class":4578,"line":21937},[4576,34630,11363],{"class":4653},[4576,34632,34633],{"class":4590},"onCancel",[4576,34635,7282],{"class":4586},[4576,34637,4707],{"class":4733},[4576,34639,34640,34642],{"class":4578,"line":21963},[4576,34641,11387],{"class":4713},[4576,34643,26102],{"class":4717},[4576,34645,34647,34649,34651],{"class":4578,"line":34646},354,[4576,34648,32242],{"class":4720},[4576,34650,4724],{"class":4586},[4576,34652,34653],{"class":4600},"\"Скасувати\"\n",[4576,34655,34657,34660,34662],{"class":4578,"line":34656},355,[4576,34658,34659],{"class":4720},"              variant",[4576,34661,4724],{"class":4586},[4576,34663,34664],{"class":4600},"\"secondary\"\n",[4576,34666,34668,34671,34673,34675,34677],{"class":4578,"line":34667},356,[4576,34669,34670],{"class":4720},"              onPress",[4576,34672,4724],{"class":4586},[4576,34674,4727],{"class":4653},[4576,34676,34633],{"class":4590},[4576,34678,4801],{"class":4653},[4576,34680,34682,34685,34687,34689,34691],{"class":4578,"line":34681},357,[4576,34683,34684],{"class":4720},"              disabled",[4576,34686,4724],{"class":4586},[4576,34688,4727],{"class":4653},[4576,34690,31421],{"class":4590},[4576,34692,4801],{"class":4653},[4576,34694,34696],{"class":4578,"line":34695},358,[4576,34697,18721],{"class":4713},[4576,34699,34701,34704,34706],{"class":4578,"line":34700},359,[4576,34702,34703],{"class":4733},"          ) ",[4576,34705,6978],{"class":4586},[4576,34707,16009],{"class":4653},[4576,34709,34710,34712,34714],{"class":4578,"line":8828},[4576,34711,9273],{"class":4713},[4576,34713,4628],{"class":4717},[4576,34715,4742],{"class":4713},[4576,34717,34719,34721,34723],{"class":4578,"line":34718},361,[4576,34720,6238],{"class":4713},[4576,34722,3853],{"class":4717},[4576,34724,4742],{"class":4713},[4576,34726,34728,34730,34732],{"class":4578,"line":34727},362,[4576,34729,4879],{"class":4713},[4576,34731,3849],{"class":4717},[4576,34733,4742],{"class":4713},[4576,34735,34737],{"class":4578,"line":34736},363,[4576,34738,4889],{"class":4586},[4576,34740,34742],{"class":4578,"line":34741},364,[4576,34743,4801],{"class":4586},[4576,34745,34747],{"class":4578,"line":34746},365,[4576,34748,4644],{"emptyLinePlaceholder":4643},[4576,34750,34752,34754,34757,34759,34761,34763,34765,34767,34769],{"class":4578,"line":34751},366,[4576,34753,17946],{"class":4653},[4576,34755,34756],{"class":4657}," daysWord",[4576,34758,4687],{"class":4586},[4576,34760,7786],{"class":4590},[4576,34762,7093],{"class":4586},[4576,34764,4095],{"class":4717},[4576,34766,4235],{"class":4586},[4576,34768,4349],{"class":4717},[4576,34770,4980],{"class":4586},[4576,34772,34774,34776,34779,34781,34784,34786,34789,34791,34793,34796,34799],{"class":4578,"line":34773},367,[4576,34775,4667],{"class":4653},[4576,34777,34778],{"class":4673}," abs",[4576,34780,4911],{"class":4586},[4576,34782,34783],{"class":4590},"Math",[4576,34785,3857],{"class":4586},[4576,34787,34788],{"class":4657},"abs",[4576,34790,4687],{"class":4586},[4576,34792,7786],{"class":4590},[4576,34794,34795],{"class":4586},") % ",[4576,34797,34798],{"class":4935},"100",[4576,34800,4604],{"class":4586},[4576,34802,34804,34806,34809,34811,34813,34816,34818],{"class":4578,"line":34803},368,[4576,34805,4667],{"class":4653},[4576,34807,34808],{"class":4673}," last",[4576,34810,4911],{"class":4586},[4576,34812,34788],{"class":4590},[4576,34814,34815],{"class":4586}," % ",[4576,34817,27944],{"class":4935},[4576,34819,4604],{"class":4586},[4576,34821,34823,34825,34827,34829,34832,34834,34836,34838,34840,34843,34845,34847,34849],{"class":4578,"line":34822},369,[4576,34824,12008],{"class":4582},[4576,34826,4084],{"class":4586},[4576,34828,34788],{"class":4590},[4576,34830,34831],{"class":4586}," > ",[4576,34833,27944],{"class":4935},[4576,34835,12025],{"class":4586},[4576,34837,34788],{"class":4590},[4576,34839,12559],{"class":4586},[4576,34841,34842],{"class":4935},"20",[4576,34844,7968],{"class":4586},[4576,34846,18046],{"class":4582},[4576,34848,10531],{"class":4600},[4576,34850,4604],{"class":4586},[4576,34852,34854,34856,34858,34861,34863,34865,34867,34869,34871],{"class":4578,"line":34853},370,[4576,34855,12008],{"class":4582},[4576,34857,4084],{"class":4586},[4576,34859,34860],{"class":4590},"last",[4576,34862,12019],{"class":4586},[4576,34864,10566],{"class":4935},[4576,34866,7968],{"class":4586},[4576,34868,18046],{"class":4582},[4576,34870,10526],{"class":4600},[4576,34872,4604],{"class":4586},[4576,34874,34876,34878,34880,34882,34885,34887,34889,34891,34894,34896,34898,34900,34903],{"class":4578,"line":34875},371,[4576,34877,12008],{"class":4582},[4576,34879,4084],{"class":4586},[4576,34881,34860],{"class":4590},[4576,34883,34884],{"class":4586}," >= ",[4576,34886,12562],{"class":4935},[4576,34888,12025],{"class":4586},[4576,34890,34860],{"class":4590},[4576,34892,34893],{"class":4586}," \u003C= ",[4576,34895,33286],{"class":4935},[4576,34897,7968],{"class":4586},[4576,34899,18046],{"class":4582},[4576,34901,34902],{"class":4600}," 'дні'",[4576,34904,4604],{"class":4586},[4576,34906,34908,34910,34912],{"class":4578,"line":34907},372,[4576,34909,4704],{"class":4582},[4576,34911,10531],{"class":4600},[4576,34913,4604],{"class":4586},[4576,34915,34917],{"class":4578,"line":34916},373,[4576,34918,4801],{"class":4586},[4576,34920,34922],{"class":4578,"line":34921},374,[4576,34923,4644],{"emptyLinePlaceholder":4643},[4576,34925,34927,34929,34931,34933,34935,34937,34939],{"class":4578,"line":34926},375,[4576,34928,4905],{"class":4653},[4576,34930,4908],{"class":4673},[4576,34932,4911],{"class":4586},[4576,34934,4614],{"class":4590},[4576,34936,3857],{"class":4586},[4576,34938,4918],{"class":4657},[4576,34940,4921],{"class":4586},[4576,34942,34944,34946],{"class":4578,"line":34943},376,[4576,34945,21335],{"class":4590},[4576,34947,4980],{"class":4586},[4576,34949,34951,34953,34955],{"class":4578,"line":34950},377,[4576,34952,21384],{"class":4590},[4576,34954,4989],{"class":4935},[4576,34956,4992],{"class":4586},[4576,34958,34960],{"class":4578,"line":34959},378,[4576,34961,5052],{"class":4586},[4576,34963,34965,34968],{"class":4578,"line":34964},379,[4576,34966,34967],{"class":4590},"  content:",[4576,34969,4980],{"class":4586},[4576,34971,34973,34976,34978],{"class":4578,"line":34972},380,[4576,34974,34975],{"class":4590},"    flexGrow:",[4576,34977,4989],{"class":4935},[4576,34979,4992],{"class":4586},[4576,34981,34983],{"class":4578,"line":34982},381,[4576,34984,5052],{"class":4586},[4576,34986,34988,34991],{"class":4578,"line":34987},382,[4576,34989,34990],{"class":4590},"  multiline:",[4576,34992,4980],{"class":4586},[4576,34994,34996,34998,35001],{"class":4578,"line":34995},383,[4576,34997,5041],{"class":4590},[4576,34999,35000],{"class":4935}," 110",[4576,35002,4992],{"class":4586},[4576,35004,35006],{"class":4578,"line":35005},384,[4576,35007,5052],{"class":4586},[4576,35009,35011,35013],{"class":4578,"line":35010},385,[4576,35012,21712],{"class":4590},[4576,35014,4980],{"class":4586},[4576,35016,35018,35020,35022],{"class":4578,"line":35017},386,[4576,35019,4986],{"class":4590},[4576,35021,4989],{"class":4935},[4576,35023,4992],{"class":4586},[4576,35025,35027,35029,35031],{"class":4578,"line":35026},387,[4576,35028,11563],{"class":4590},[4576,35030,11566],{"class":4600},[4576,35032,4992],{"class":4586},[4576,35034,35036],{"class":4578,"line":35035},388,[4576,35037,5052],{"class":4586},[4576,35039,35041],{"class":4578,"line":35040},389,[4576,35042,5058],{"class":4586},[3891,35044,35047],{"className":4570,"code":35045,"filename":35046,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  Modal,\n  Platform,\n  Pressable,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport DateTimePicker, {\n  type DateTimePickerEvent,\n} from '@react-native-community\u002Fdatetimepicker';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button } from '@\u002Fshared\u002Fui';\n\ntype DateFieldProps = {\n  label: string;\n  value: Date;\n  onChange: (date: Date) => void;\n  onBlur?: () => void;\n  error?: string;\n  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n  minimumDate?: Date;\n  maximumDate?: Date;\n};\n\n\u002F**\n * Поле дати: натискання відкриває системний date picker.\n * iOS — spinner у Modal; Android — нативний діалог.\n *\u002F\nexport function DateField({\n  label,\n  value,\n  onChange,\n  onBlur,\n  error,\n  minimumDate,\n  maximumDate,\n}: DateFieldProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [open, setOpen] = useState(false);\n  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n  const [draft, setDraft] = useState(value);\n\n  const hasError = Boolean(error);\n\n  const openPicker = () => {\n    setDraft(value);\n    setOpen(true);\n  };\n\n  const closePicker = () => {\n    setOpen(false);\n    onBlur?.();\n  };\n\n  const applyIos = () => {\n    onChange(draft);\n    closePicker();\n  };\n\n  const onAndroidChange = (event: DateTimePickerEvent, selected?: Date) => {\n    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n    setOpen(false);\n    if (event.type === 'set' && selected) {\n      onChange(selected);\n    }\n    onBlur?.();\n  };\n\n  const onIosChange = (_event: DateTimePickerEvent, selected?: Date) => {\n    if (selected) {\n      setDraft(selected);\n    }\n  };\n\n  const display = formatDisplay(value);\n\n  return (\n    \u003CView style={{ gap: spacing.xs }}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CPressable\n        accessibilityRole=\"button\"\n        accessibilityLabel={`${label}: ${display}`}\n        onPress={openPicker}\n        style={[\n          styles.field,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n            paddingVertical: spacing.sm + 4,\n            paddingHorizontal: spacing.md,\n          },\n        ]}\n      >\n        \u003CAppText>{display}\u003C\u002FAppText>\n      \u003C\u002FPressable>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n\n      {\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F}\n      {Platform.OS === 'android' && open ? (\n        \u003CDateTimePicker\n          value={value}\n          mode=\"date\"\n          display=\"default\"\n          onChange={onAndroidChange}\n          minimumDate={minimumDate}\n          maximumDate={maximumDate}\n        \u002F>\n      ) : null}\n\n      {Platform.OS !== 'android' ? (\n        \u003CModal\n          visible={open}\n          transparent\n          animationType=\"slide\"\n          onRequestClose={closePicker}\n        >\n          \u003CPressable style={styles.backdrop} onPress={closePicker} \u002F>\n          \u003CView\n            style={[\n              styles.sheet,\n              {\n                backgroundColor: colors.surface,\n                borderColor: colors.border,\n                paddingBottom: spacing.lg,\n              },\n            ]}\n          >\n            \u003CView\n              style={[\n                styles.sheetHeader,\n                { paddingHorizontal: spacing.md, paddingTop: spacing.md },\n              ]}\n            >\n              \u003CAppText variant=\"subtitle\">{label}\u003C\u002FAppText>\n            \u003C\u002FView>\n            \u003CDateTimePicker\n              value={draft}\n              mode=\"date\"\n              display=\"spinner\"\n              onChange={onIosChange}\n              minimumDate={minimumDate}\n              maximumDate={maximumDate}\n              style={{ alignSelf: 'center' }}\n            \u002F>\n            \u003CView\n              style={[\n                styles.sheetActions,\n                { paddingHorizontal: spacing.md, gap: spacing.sm },\n              ]}\n            >\n              \u003CButton label=\"Готово\" onPress={applyIos} \u002F>\n              \u003CPressable onPress={closePicker} style={styles.cancel}>\n                \u003CAppText color={colors.textSecondary}>Скасувати\u003C\u002FAppText>\n              \u003C\u002FPressable>\n            \u003C\u002FView>\n          \u003C\u002FView>\n        \u003C\u002FModal>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nfunction formatDisplay(d: Date): string {\n  const dd = String(d.getDate()).padStart(2, '0');\n  const mm = String(d.getMonth() + 1).padStart(2, '0');\n  const yyyy = d.getFullYear();\n  return `${dd}.${mm}.${yyyy}`;\n}\n\nconst styles = StyleSheet.create({\n  label: {\n    fontWeight: '600',\n  },\n  field: {\n    borderWidth: 1,\n    minHeight: 48,\n    justifyContent: 'center',\n  },\n  backdrop: {\n    flex: 1,\n    backgroundColor: 'rgba(0,0,0,0.35)',\n  },\n  sheet: {\n    borderTopLeftRadius: 16,\n    borderTopRightRadius: 16,\n    borderTopWidth: 1,\n  },\n  sheetHeader: {\n    alignItems: 'center',\n  },\n  sheetActions: {\n    marginTop: 8,\n  },\n  cancel: {\n    alignItems: 'center',\n    paddingVertical: 10,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField.tsx",[3803,35048,35049,35065,35071,35078,35084,35090,35096,35102,35112,35121,35130,35141,35145,35161,35181,35185,35194,35205,35216,35237,35250,35261,35266,35277,35288,35292,35296,35300,35305,35310,35314,35325,35331,35337,35343,35349,35355,35361,35367,35376,35398,35422,35427,35451,35455,35472,35476,35489,35500,35511,35515,35519,35532,35542,35550,35554,35558,35571,35582,35589,35593,35597,35627,35632,35642,35664,35675,35679,35685,35689,35693,35723,35733,35744,35748,35752,35756,35774,35778,35784,35812,35840,35848,35856,35862,35871,35901,35914,35924,35934,35938,35964,35976,35989,36006,36018,36022,36028,36032,36052,36060,36071,36099,36107,36115,36123,36127,36136,36160,36167,36179,36189,36199,36213,36227,36241,36245,36253,36257,36276,36283,36296,36301,36311,36325,36329,36362,36368,36379,36391,36396,36409,36422,36436,36441,36448,36453,36459,36469,36481,36508,36515,36520,36546,36554,36560,36572,36581,36591,36604,36616,36629,36648,36652,36658,36668,36679,36703,36709,36713,36739,36772,36803,36811,36819,36827,36835,36843,36851,36855,36859,36863,36884,36921,36958,36975,37010,37014,37018,37034,37040,37048,37052,37059,37067,37075,37083,37087,37094,37102,37111,37115,37122,37131,37140,37148,37152,37159,37167,37171,37178,37186,37190,37197,37205,37213,37217],{"__ignoreMap":3899},[4576,35050,35051,35053,35055,35057,35059,35061,35063],{"class":4578,"line":4579},[4576,35052,4583],{"class":4582},[4576,35054,4587],{"class":4586},[4576,35056,4591],{"class":4590},[4576,35058,4594],{"class":4586},[4576,35060,4597],{"class":4582},[4576,35062,4601],{"class":4600},[4576,35064,4604],{"class":4586},[4576,35066,35067,35069],{"class":4578,"line":4607},[4576,35068,4583],{"class":4582},[4576,35070,4980],{"class":4586},[4576,35072,35073,35076],{"class":4578,"line":4640},[4576,35074,35075],{"class":4590},"  Modal",[4576,35077,4992],{"class":4586},[4576,35079,35080,35082],{"class":4578,"line":4647},[4576,35081,14677],{"class":4590},[4576,35083,4992],{"class":4586},[4576,35085,35086,35088],{"class":4578,"line":4664},[4576,35087,14684],{"class":4590},[4576,35089,4992],{"class":4586},[4576,35091,35092,35094],{"class":4578,"line":4696},[4576,35093,5798],{"class":4590},[4576,35095,4992],{"class":4586},[4576,35097,35098,35100],{"class":4578,"line":4701},[4576,35099,14722],{"class":4590},[4576,35101,4992],{"class":4586},[4576,35103,35104,35106,35108,35110],{"class":4578,"line":4710},[4576,35105,5826],{"class":4586},[4576,35107,4597],{"class":4582},[4576,35109,4635],{"class":4600},[4576,35111,4604],{"class":4586},[4576,35113,35114,35116,35119],{"class":4578,"line":4745},[4576,35115,4583],{"class":4582},[4576,35117,35118],{"class":4590}," DateTimePicker",[4576,35120,10120],{"class":4586},[4576,35122,35123,35125,35128],{"class":4578,"line":4781},[4576,35124,23629],{"class":4582},[4576,35126,35127],{"class":4590}," DateTimePickerEvent",[4576,35129,4992],{"class":4586},[4576,35131,35132,35134,35136,35139],{"class":4578,"line":4789},[4576,35133,5826],{"class":4586},[4576,35135,4597],{"class":4582},[4576,35137,35138],{"class":4600}," '@react-native-community\u002Fdatetimepicker'",[4576,35140,4604],{"class":4586},[4576,35142,35143],{"class":4578,"line":4804},[4576,35144,4644],{"emptyLinePlaceholder":4643},[4576,35146,35147,35149,35151,35153,35155,35157,35159],{"class":4578,"line":4818},[4576,35148,4583],{"class":4582},[4576,35150,4587],{"class":4586},[4576,35152,23243],{"class":4590},[4576,35154,4594],{"class":4586},[4576,35156,4597],{"class":4582},[4576,35158,23250],{"class":4600},[4576,35160,4604],{"class":4586},[4576,35162,35163,35165,35167,35169,35171,35173,35175,35177,35179],{"class":4578,"line":4829},[4576,35164,4583],{"class":4582},[4576,35166,4587],{"class":4586},[4576,35168,22187],{"class":4590},[4576,35170,3806],{"class":4586},[4576,35172,6932],{"class":4590},[4576,35174,4594],{"class":4586},[4576,35176,4597],{"class":4582},[4576,35178,23699],{"class":4600},[4576,35180,4604],{"class":4586},[4576,35182,35183],{"class":4578,"line":4840},[4576,35184,4644],{"emptyLinePlaceholder":4643},[4576,35186,35187,35189,35192],{"class":4578,"line":4851},[4576,35188,4083],{"class":4653},[4576,35190,35191],{"class":4717}," DateFieldProps",[4576,35193,27412],{"class":4586},[4576,35195,35196,35199,35201,35203],{"class":4578,"line":4870},[4576,35197,35198],{"class":4590},"  label",[4576,35200,7093],{"class":4586},[4576,35202,4349],{"class":4717},[4576,35204,4604],{"class":4586},[4576,35206,35207,35210,35212,35214],{"class":4578,"line":4876},[4576,35208,35209],{"class":4590},"  value",[4576,35211,7093],{"class":4586},[4576,35213,4462],{"class":4717},[4576,35215,4604],{"class":4586},[4576,35217,35218,35221,35223,35225,35227,35229,35231,35233,35235],{"class":4578,"line":4886},[4576,35219,35220],{"class":4657},"  onChange",[4576,35222,18116],{"class":4586},[4576,35224,27981],{"class":4590},[4576,35226,7093],{"class":4586},[4576,35228,4462],{"class":4717},[4576,35230,7968],{"class":4586},[4576,35232,5537],{"class":4653},[4576,35234,7083],{"class":4717},[4576,35236,4604],{"class":4586},[4576,35238,35239,35242,35244,35246,35248],{"class":4578,"line":4892},[4576,35240,35241],{"class":4657},"  onBlur",[4576,35243,31162],{"class":4586},[4576,35245,5537],{"class":4653},[4576,35247,7083],{"class":4717},[4576,35249,4604],{"class":4586},[4576,35251,35252,35255,35257,35259],{"class":4578,"line":4897},[4576,35253,35254],{"class":4590},"  error",[4576,35256,11984],{"class":4586},[4576,35258,4349],{"class":4717},[4576,35260,4604],{"class":4586},[4576,35262,35263],{"class":4578,"line":4902},[4576,35264,35265],{"class":9599},"  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n",[4576,35267,35268,35271,35273,35275],{"class":4578,"line":4924},[4576,35269,35270],{"class":4590},"  minimumDate",[4576,35272,11984],{"class":4586},[4576,35274,4462],{"class":4717},[4576,35276,4604],{"class":4586},[4576,35278,35279,35282,35284,35286],{"class":4578,"line":4942},[4576,35280,35281],{"class":4590},"  maximumDate",[4576,35283,11984],{"class":4586},[4576,35285,4462],{"class":4717},[4576,35287,4604],{"class":4586},[4576,35289,35290],{"class":4578,"line":4974},[4576,35291,12050],{"class":4586},[4576,35293,35294],{"class":4578,"line":4983},[4576,35295,4644],{"emptyLinePlaceholder":4643},[4576,35297,35298],{"class":4578,"line":4995},[4576,35299,26548],{"class":9599},[4576,35301,35302],{"class":4578,"line":5006},[4576,35303,35304],{"class":9599}," * Поле дати: натискання відкриває системний date picker.\n",[4576,35306,35307],{"class":4578,"line":5017},[4576,35308,35309],{"class":9599}," * iOS — spinner у Modal; Android — нативний діалог.\n",[4576,35311,35312],{"class":4578,"line":5027},[4576,35313,26568],{"class":9599},[4576,35315,35316,35318,35320,35323],{"class":4578,"line":5038},[4576,35317,4650],{"class":4582},[4576,35319,4654],{"class":4653},[4576,35321,35322],{"class":4657}," DateField",[4576,35324,4921],{"class":4586},[4576,35326,35327,35329],{"class":4578,"line":5049},[4576,35328,35198],{"class":4590},[4576,35330,4992],{"class":4586},[4576,35332,35333,35335],{"class":4578,"line":5055},[4576,35334,35209],{"class":4590},[4576,35336,4992],{"class":4586},[4576,35338,35339,35341],{"class":4578,"line":5744},[4576,35340,35220],{"class":4590},[4576,35342,4992],{"class":4586},[4576,35344,35345,35347],{"class":4578,"line":6299},[4576,35346,35241],{"class":4590},[4576,35348,4992],{"class":4586},[4576,35350,35351,35353],{"class":4578,"line":6312},[4576,35352,35254],{"class":4590},[4576,35354,4992],{"class":4586},[4576,35356,35357,35359],{"class":4578,"line":6325},[4576,35358,35270],{"class":4590},[4576,35360,4992],{"class":4586},[4576,35362,35363,35365],{"class":4578,"line":6335},[4576,35364,35281],{"class":4590},[4576,35366,4992],{"class":4586},[4576,35368,35369,35371,35374],{"class":4578,"line":6350},[4576,35370,31384],{"class":4586},[4576,35372,35373],{"class":4717},"DateFieldProps",[4576,35375,7149],{"class":4586},[4576,35377,35378,35380,35382,35384,35386,35388,35390,35392,35394,35396],{"class":4578,"line":6359},[4576,35379,4667],{"class":4653},[4576,35381,4587],{"class":4586},[4576,35383,23274],{"class":4673},[4576,35385,3806],{"class":4586},[4576,35387,23853],{"class":4673},[4576,35389,3806],{"class":4586},[4576,35391,31406],{"class":4673},[4576,35393,23282],{"class":4586},[4576,35395,23243],{"class":4657},[4576,35397,23287],{"class":4586},[4576,35399,35400,35402,35404,35407,35409,35412,35414,35416,35418,35420],{"class":4578,"line":6368},[4576,35401,4667],{"class":4653},[4576,35403,4670],{"class":4586},[4576,35405,35406],{"class":4673},"open",[4576,35408,3806],{"class":4586},[4576,35410,35411],{"class":4673},"setOpen",[4576,35413,4682],{"class":4586},[4576,35415,4591],{"class":4657},[4576,35417,4687],{"class":4586},[4576,35419,5161],{"class":4653},[4576,35421,4693],{"class":4586},[4576,35423,35424],{"class":4578,"line":6377},[4576,35425,35426],{"class":9599},"  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n",[4576,35428,35429,35431,35433,35436,35438,35441,35443,35445,35447,35449],{"class":4578,"line":6417},[4576,35430,4667],{"class":4653},[4576,35432,4670],{"class":4586},[4576,35434,35435],{"class":4673},"draft",[4576,35437,3806],{"class":4586},[4576,35439,35440],{"class":4673},"setDraft",[4576,35442,4682],{"class":4586},[4576,35444,4591],{"class":4657},[4576,35446,4687],{"class":4586},[4576,35448,4282],{"class":4590},[4576,35450,4693],{"class":4586},[4576,35452,35453],{"class":4578,"line":6422},[4576,35454,4644],{"emptyLinePlaceholder":4643},[4576,35456,35457,35459,35462,35464,35466,35468,35470],{"class":4578,"line":6427},[4576,35458,4667],{"class":4653},[4576,35460,35461],{"class":4673}," hasError",[4576,35463,4911],{"class":4586},[4576,35465,20031],{"class":4657},[4576,35467,4687],{"class":4586},[4576,35469,13088],{"class":4590},[4576,35471,4693],{"class":4586},[4576,35473,35474],{"class":4578,"line":6469},[4576,35475,4644],{"emptyLinePlaceholder":4643},[4576,35477,35478,35480,35483,35485,35487],{"class":4578,"line":6476},[4576,35479,4667],{"class":4653},[4576,35481,35482],{"class":4657}," openPicker",[4576,35484,15089],{"class":4586},[4576,35486,5537],{"class":4653},[4576,35488,4980],{"class":4586},[4576,35490,35491,35494,35496,35498],{"class":4578,"line":6489},[4576,35492,35493],{"class":4657},"    setDraft",[4576,35495,4687],{"class":4586},[4576,35497,4282],{"class":4590},[4576,35499,4693],{"class":4586},[4576,35501,35502,35505,35507,35509],{"class":4578,"line":6502},[4576,35503,35504],{"class":4657},"    setOpen",[4576,35506,4687],{"class":4586},[4576,35508,3763],{"class":4653},[4576,35510,4693],{"class":4586},[4576,35512,35513],{"class":4578,"line":6512},[4576,35514,15264],{"class":4586},[4576,35516,35517],{"class":4578,"line":6525},[4576,35518,4644],{"emptyLinePlaceholder":4643},[4576,35520,35521,35523,35526,35528,35530],{"class":4578,"line":6535},[4576,35522,4667],{"class":4653},[4576,35524,35525],{"class":4657}," closePicker",[4576,35527,15089],{"class":4586},[4576,35529,5537],{"class":4653},[4576,35531,4980],{"class":4586},[4576,35533,35534,35536,35538,35540],{"class":4578,"line":6574},[4576,35535,35504],{"class":4657},[4576,35537,4687],{"class":4586},[4576,35539,5161],{"class":4653},[4576,35541,4693],{"class":4586},[4576,35543,35544,35547],{"class":4578,"line":6579},[4576,35545,35546],{"class":4657},"    onBlur",[4576,35548,35549],{"class":4586},"?.();\n",[4576,35551,35552],{"class":4578,"line":6584},[4576,35553,15264],{"class":4586},[4576,35555,35556],{"class":4578,"line":6626},[4576,35557,4644],{"emptyLinePlaceholder":4643},[4576,35559,35560,35562,35565,35567,35569],{"class":4578,"line":6633},[4576,35561,4667],{"class":4653},[4576,35563,35564],{"class":4657}," applyIos",[4576,35566,15089],{"class":4586},[4576,35568,5537],{"class":4653},[4576,35570,4980],{"class":4586},[4576,35572,35573,35576,35578,35580],{"class":4578,"line":6646},[4576,35574,35575],{"class":4657},"    onChange",[4576,35577,4687],{"class":4586},[4576,35579,35435],{"class":4590},[4576,35581,4693],{"class":4586},[4576,35583,35584,35587],{"class":4578,"line":6659},[4576,35585,35586],{"class":4657},"    closePicker",[4576,35588,23287],{"class":4586},[4576,35590,35591],{"class":4578,"line":6669},[4576,35592,15264],{"class":4586},[4576,35594,35595],{"class":4578,"line":6682},[4576,35596,4644],{"emptyLinePlaceholder":4643},[4576,35598,35599,35601,35604,35606,35608,35610,35612,35614,35617,35619,35621,35623,35625],{"class":4578,"line":6688},[4576,35600,4667],{"class":4653},[4576,35602,35603],{"class":4657}," onAndroidChange",[4576,35605,11156],{"class":4586},[4576,35607,11973],{"class":4590},[4576,35609,7093],{"class":4586},[4576,35611,11929],{"class":4717},[4576,35613,3806],{"class":4586},[4576,35615,35616],{"class":4590},"selected",[4576,35618,11984],{"class":4586},[4576,35620,4462],{"class":4717},[4576,35622,7968],{"class":4586},[4576,35624,5537],{"class":4653},[4576,35626,4980],{"class":4586},[4576,35628,35629],{"class":4578,"line":6699},[4576,35630,35631],{"class":9599},"    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n",[4576,35633,35634,35636,35638,35640],{"class":4578,"line":6711},[4576,35635,35504],{"class":4657},[4576,35637,4687],{"class":4586},[4576,35639,5161],{"class":4653},[4576,35641,4693],{"class":4586},[4576,35643,35644,35646,35648,35650,35652,35654,35656,35658,35660,35662],{"class":4578,"line":6723},[4576,35645,15113],{"class":4582},[4576,35647,4084],{"class":4586},[4576,35649,11973],{"class":4590},[4576,35651,3857],{"class":4586},[4576,35653,4083],{"class":4590},[4576,35655,12019],{"class":4586},[4576,35657,12022],{"class":4600},[4576,35659,12025],{"class":4586},[4576,35661,35616],{"class":4590},[4576,35663,7149],{"class":4586},[4576,35665,35666,35669,35671,35673],{"class":4578,"line":6735},[4576,35667,35668],{"class":4657},"      onChange",[4576,35670,4687],{"class":4586},[4576,35672,35616],{"class":4590},[4576,35674,4693],{"class":4586},[4576,35676,35677],{"class":4578,"line":6759},[4576,35678,23135],{"class":4586},[4576,35680,35681,35683],{"class":4578,"line":6767},[4576,35682,35546],{"class":4657},[4576,35684,35549],{"class":4586},[4576,35686,35687],{"class":4578,"line":6772},[4576,35688,15264],{"class":4586},[4576,35690,35691],{"class":4578,"line":6781},[4576,35692,4644],{"emptyLinePlaceholder":4643},[4576,35694,35695,35697,35700,35702,35705,35707,35709,35711,35713,35715,35717,35719,35721],{"class":4578,"line":6786},[4576,35696,4667],{"class":4653},[4576,35698,35699],{"class":4657}," onIosChange",[4576,35701,11156],{"class":4586},[4576,35703,35704],{"class":4590},"_event",[4576,35706,7093],{"class":4586},[4576,35708,11929],{"class":4717},[4576,35710,3806],{"class":4586},[4576,35712,35616],{"class":4590},[4576,35714,11984],{"class":4586},[4576,35716,4462],{"class":4717},[4576,35718,7968],{"class":4586},[4576,35720,5537],{"class":4653},[4576,35722,4980],{"class":4586},[4576,35724,35725,35727,35729,35731],{"class":4578,"line":6791},[4576,35726,15113],{"class":4582},[4576,35728,4084],{"class":4586},[4576,35730,35616],{"class":4590},[4576,35732,7149],{"class":4586},[4576,35734,35735,35738,35740,35742],{"class":4578,"line":6796},[4576,35736,35737],{"class":4657},"      setDraft",[4576,35739,4687],{"class":4586},[4576,35741,35616],{"class":4590},[4576,35743,4693],{"class":4586},[4576,35745,35746],{"class":4578,"line":6813},[4576,35747,23135],{"class":4586},[4576,35749,35750],{"class":4578,"line":6838},[4576,35751,15264],{"class":4586},[4576,35753,35754],{"class":4578,"line":6845},[4576,35755,4644],{"emptyLinePlaceholder":4643},[4576,35757,35758,35760,35763,35765,35768,35770,35772],{"class":4578,"line":6854},[4576,35759,4667],{"class":4653},[4576,35761,35762],{"class":4673}," display",[4576,35764,4911],{"class":4586},[4576,35766,35767],{"class":4657},"formatDisplay",[4576,35769,4687],{"class":4586},[4576,35771,4282],{"class":4590},[4576,35773,4693],{"class":4586},[4576,35775,35776],{"class":4578,"line":6863},[4576,35777,4644],{"emptyLinePlaceholder":4643},[4576,35779,35780,35782],{"class":4578,"line":6872},[4576,35781,4704],{"class":4582},[4576,35783,4707],{"class":4586},[4576,35785,35786,35788,35790,35792,35794,35796,35798,35800,35802,35804,35806,35808,35810],{"class":4578,"line":6881},[4576,35787,4714],{"class":4713},[4576,35789,4628],{"class":4717},[4576,35791,4721],{"class":4720},[4576,35793,4724],{"class":4586},[4576,35795,4727],{"class":4653},[4576,35797,6092],{"class":4733},[4576,35799,4932],{"class":4590},[4576,35801,24301],{"class":4590},[4576,35803,3857],{"class":4733},[4576,35805,24991],{"class":4590},[4576,35807,6107],{"class":4733},[4576,35809,4739],{"class":4653},[4576,35811,4742],{"class":4713},[4576,35813,35814,35816,35818,35820,35822,35824,35826,35828,35830,35832,35834,35836,35838],{"class":4578,"line":6890},[4576,35815,4748],{"class":4713},[4576,35817,22187],{"class":4717},[4576,35819,24761],{"class":4720},[4576,35821,4724],{"class":4586},[4576,35823,25059],{"class":4600},[4576,35825,4721],{"class":4720},[4576,35827,4724],{"class":4586},[4576,35829,4727],{"class":4653},[4576,35831,4730],{"class":4590},[4576,35833,3857],{"class":4733},[4576,35835,4763],{"class":4590},[4576,35837,4739],{"class":4653},[4576,35839,4742],{"class":4713},[4576,35841,35842,35844,35846],{"class":4578,"line":6899},[4576,35843,15958],{"class":4653},[4576,35845,4763],{"class":4590},[4576,35847,4801],{"class":4653},[4576,35849,35850,35852,35854],{"class":4578,"line":6904},[4576,35851,6238],{"class":4713},[4576,35853,22187],{"class":4717},[4576,35855,4742],{"class":4713},[4576,35857,35858,35860],{"class":4578,"line":6920},[4576,35859,4748],{"class":4713},[4576,35861,7162],{"class":4717},[4576,35863,35864,35867,35869],{"class":4578,"line":16012},[4576,35865,35866],{"class":4720},"        accessibilityRole",[4576,35868,4724],{"class":4586},[4576,35870,25497],{"class":4600},[4576,35872,35873,35876,35878,35880,35882,35884,35886,35888,35890,35892,35895,35897,35899],{"class":4578,"line":16017},[4576,35874,35875],{"class":4720},"        accessibilityLabel",[4576,35877,4724],{"class":4586},[4576,35879,4727],{"class":4653},[4576,35881,25542],{"class":4600},[4576,35883,25211],{"class":4653},[4576,35885,4763],{"class":4590},[4576,35887,4739],{"class":4653},[4576,35889,7093],{"class":4600},[4576,35891,25211],{"class":4653},[4576,35893,35894],{"class":4590},"display",[4576,35896,4739],{"class":4653},[4576,35898,25542],{"class":4600},[4576,35900,4801],{"class":4653},[4576,35902,35903,35905,35907,35909,35912],{"class":4578,"line":16058},[4576,35904,7948],{"class":4720},[4576,35906,4724],{"class":4586},[4576,35908,4727],{"class":4653},[4576,35910,35911],{"class":4590},"openPicker",[4576,35913,4801],{"class":4653},[4576,35915,35916,35918,35920,35922],{"class":4578,"line":16065},[4576,35917,4854],{"class":4720},[4576,35919,4724],{"class":4586},[4576,35921,4727],{"class":4653},[4576,35923,6708],{"class":4733},[4576,35925,35926,35928,35930,35932],{"class":4578,"line":16078},[4576,35927,6714],{"class":4590},[4576,35929,3857],{"class":4733},[4576,35931,5104],{"class":4590},[4576,35933,4992],{"class":4733},[4576,35935,35936],{"class":4578,"line":16091},[4576,35937,24940],{"class":4733},[4576,35939,35940,35943,35945,35947,35949,35951,35954,35956,35958,35960,35962],{"class":4578,"line":16101},[4576,35941,35942],{"class":4590},"            borderColor:",[4576,35944,35461],{"class":4590},[4576,35946,7282],{"class":4586},[4576,35948,23373],{"class":4590},[4576,35950,3857],{"class":4733},[4576,35952,35953],{"class":4590},"danger",[4576,35955,8033],{"class":4586},[4576,35957,23373],{"class":4590},[4576,35959,3857],{"class":4733},[4576,35961,25005],{"class":4590},[4576,35963,4992],{"class":4733},[4576,35965,35966,35968,35970,35972,35974],{"class":4578,"line":16111},[4576,35967,26073],{"class":4590},[4576,35969,23373],{"class":4590},[4576,35971,3857],{"class":4733},[4576,35973,25460],{"class":4590},[4576,35975,4992],{"class":4733},[4576,35977,35978,35981,35983,35985,35987],{"class":4578,"line":16120},[4576,35979,35980],{"class":4590},"            borderRadius:",[4576,35982,32572],{"class":4590},[4576,35984,3857],{"class":4733},[4576,35986,24306],{"class":4590},[4576,35988,4992],{"class":4733},[4576,35990,35991,35994,35996,35998,36000,36002,36004],{"class":4578,"line":16133},[4576,35992,35993],{"class":4590},"            paddingVertical:",[4576,35995,24301],{"class":4590},[4576,35997,3857],{"class":4733},[4576,35999,24365],{"class":4590},[4576,36001,7976],{"class":4586},[4576,36003,9228],{"class":4935},[4576,36005,4992],{"class":4733},[4576,36007,36008,36010,36012,36014,36016],{"class":4578,"line":16144},[4576,36009,24945],{"class":4590},[4576,36011,24301],{"class":4590},[4576,36013,3857],{"class":4733},[4576,36015,24306],{"class":4590},[4576,36017,4992],{"class":4733},[4576,36019,36020],{"class":4578,"line":16155},[4576,36021,25012],{"class":4733},[4576,36023,36024,36026],{"class":4578,"line":16190},[4576,36025,6762],{"class":4733},[4576,36027,4801],{"class":4653},[4576,36029,36030],{"class":4578,"line":16197},[4576,36031,8048],{"class":4713},[4576,36033,36034,36036,36038,36040,36042,36044,36046,36048,36050],{"class":4578,"line":16202},[4576,36035,7289],{"class":4713},[4576,36037,22187],{"class":4717},[4576,36039,4768],{"class":4713},[4576,36041,4727],{"class":4653},[4576,36043,35894],{"class":4590},[4576,36045,4739],{"class":4653},[4576,36047,4774],{"class":4713},[4576,36049,22187],{"class":4717},[4576,36051,4742],{"class":4713},[4576,36053,36054,36056,36058],{"class":4578,"line":16257},[4576,36055,6238],{"class":4713},[4576,36057,3947],{"class":4717},[4576,36059,4742],{"class":4713},[4576,36061,36062,36064,36067,36069],{"class":4578,"line":16262},[4576,36063,7277],{"class":4653},[4576,36065,36066],{"class":4590},"hasError",[4576,36068,7282],{"class":4586},[4576,36070,4707],{"class":4733},[4576,36072,36073,36075,36077,36079,36081,36083,36085,36087,36089,36091,36093,36095,36097],{"class":4578,"line":16285},[4576,36074,7289],{"class":4713},[4576,36076,22187],{"class":4717},[4576,36078,24761],{"class":4720},[4576,36080,4724],{"class":4586},[4576,36082,25059],{"class":4600},[4576,36084,7294],{"class":4720},[4576,36086,4724],{"class":4586},[4576,36088,4727],{"class":4653},[4576,36090,23274],{"class":4590},[4576,36092,3857],{"class":4733},[4576,36094,35953],{"class":4590},[4576,36096,4739],{"class":4653},[4576,36098,4742],{"class":4713},[4576,36100,36101,36103,36105],{"class":4578,"line":16325},[4576,36102,11363],{"class":4653},[4576,36104,13088],{"class":4590},[4576,36106,4801],{"class":4653},[4576,36108,36109,36111,36113],{"class":4578,"line":16377},[4576,36110,9273],{"class":4713},[4576,36112,22187],{"class":4717},[4576,36114,4742],{"class":4713},[4576,36116,36117,36119,36121],{"class":4578,"line":16386},[4576,36118,7307],{"class":4733},[4576,36120,6978],{"class":4586},[4576,36122,16009],{"class":4653},[4576,36124,36125],{"class":4578,"line":16441},[4576,36126,4644],{"emptyLinePlaceholder":4643},[4576,36128,36129,36131,36134],{"class":4578,"line":16446},[4576,36130,7277],{"class":4653},[4576,36132,36133],{"class":9599},"\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F",[4576,36135,4801],{"class":4653},[4576,36137,36138,36140,36142,36144,36146,36148,36151,36153,36156,36158],{"class":4578,"line":16491},[4576,36139,7277],{"class":4653},[4576,36141,15632],{"class":4590},[4576,36143,3857],{"class":4733},[4576,36145,15637],{"class":4673},[4576,36147,10519],{"class":4586},[4576,36149,36150],{"class":4600}," 'android'",[4576,36152,7229],{"class":4586},[4576,36154,36155],{"class":4590}," open",[4576,36157,7282],{"class":4586},[4576,36159,4707],{"class":4733},[4576,36161,36162,36164],{"class":4578,"line":16523},[4576,36163,7289],{"class":4713},[4576,36165,36166],{"class":4717},"DateTimePicker\n",[4576,36168,36169,36171,36173,36175,36177],{"class":4578,"line":16532},[4576,36170,9288],{"class":4720},[4576,36172,4724],{"class":4586},[4576,36174,4727],{"class":4653},[4576,36176,4282],{"class":4590},[4576,36178,4801],{"class":4653},[4576,36180,36181,36184,36186],{"class":4578,"line":16541},[4576,36182,36183],{"class":4720},"          mode",[4576,36185,4724],{"class":4586},[4576,36187,36188],{"class":4600},"\"date\"\n",[4576,36190,36191,36194,36196],{"class":4578,"line":16550},[4576,36192,36193],{"class":4720},"          display",[4576,36195,4724],{"class":4586},[4576,36197,36198],{"class":4600},"\"default\"\n",[4576,36200,36201,36204,36206,36208,36211],{"class":4578,"line":16555},[4576,36202,36203],{"class":4720},"          onChange",[4576,36205,4724],{"class":4586},[4576,36207,4727],{"class":4653},[4576,36209,36210],{"class":4590},"onAndroidChange",[4576,36212,4801],{"class":4653},[4576,36214,36215,36218,36220,36222,36225],{"class":4578,"line":16560},[4576,36216,36217],{"class":4720},"          minimumDate",[4576,36219,4724],{"class":4586},[4576,36221,4727],{"class":4653},[4576,36223,36224],{"class":4590},"minimumDate",[4576,36226,4801],{"class":4653},[4576,36228,36229,36232,36234,36236,36239],{"class":4578,"line":16565},[4576,36230,36231],{"class":4720},"          maximumDate",[4576,36233,4724],{"class":4586},[4576,36235,4727],{"class":4653},[4576,36237,36238],{"class":4590},"maximumDate",[4576,36240,4801],{"class":4653},[4576,36242,36243],{"class":4578,"line":16582},[4576,36244,9349],{"class":4713},[4576,36246,36247,36249,36251],{"class":4578,"line":16614},[4576,36248,7307],{"class":4733},[4576,36250,6978],{"class":4586},[4576,36252,16009],{"class":4653},[4576,36254,36255],{"class":4578,"line":16645},[4576,36256,4644],{"emptyLinePlaceholder":4643},[4576,36258,36259,36261,36263,36265,36267,36270,36272,36274],{"class":4578,"line":16652},[4576,36260,7277],{"class":4653},[4576,36262,15632],{"class":4590},[4576,36264,3857],{"class":4733},[4576,36266,15637],{"class":4673},[4576,36268,36269],{"class":4586}," !==",[4576,36271,36150],{"class":4600},[4576,36273,7282],{"class":4586},[4576,36275,4707],{"class":4733},[4576,36277,36278,36280],{"class":4578,"line":16661},[4576,36279,7289],{"class":4713},[4576,36281,36282],{"class":4717},"Modal\n",[4576,36284,36285,36288,36290,36292,36294],{"class":4578,"line":16670},[4576,36286,36287],{"class":4720},"          visible",[4576,36289,4724],{"class":4586},[4576,36291,4727],{"class":4653},[4576,36293,35406],{"class":4590},[4576,36295,4801],{"class":4653},[4576,36297,36298],{"class":4578,"line":16679},[4576,36299,36300],{"class":4720},"          transparent\n",[4576,36302,36303,36306,36308],{"class":4578,"line":16688},[4576,36304,36305],{"class":4720},"          animationType",[4576,36307,4724],{"class":4586},[4576,36309,36310],{"class":4600},"\"slide\"\n",[4576,36312,36313,36316,36318,36320,36323],{"class":4578,"line":16697},[4576,36314,36315],{"class":4720},"          onRequestClose",[4576,36317,4724],{"class":4586},[4576,36319,4727],{"class":4653},[4576,36321,36322],{"class":4590},"closePicker",[4576,36324,4801],{"class":4653},[4576,36326,36327],{"class":4578,"line":16706},[4576,36328,11358],{"class":4713},[4576,36330,36331,36333,36335,36337,36339,36341,36343,36345,36348,36350,36352,36354,36356,36358,36360],{"class":4578,"line":16711},[4576,36332,9168],{"class":4713},[4576,36334,3947],{"class":4717},[4576,36336,4721],{"class":4720},[4576,36338,4724],{"class":4586},[4576,36340,4727],{"class":4653},[4576,36342,4730],{"class":4590},[4576,36344,3857],{"class":4733},[4576,36346,36347],{"class":4590},"backdrop",[4576,36349,4739],{"class":4653},[4576,36351,16453],{"class":4720},[4576,36353,4724],{"class":4586},[4576,36355,4727],{"class":4653},[4576,36357,36322],{"class":4590},[4576,36359,4739],{"class":4653},[4576,36361,7302],{"class":4713},[4576,36363,36364,36366],{"class":4578,"line":16742},[4576,36365,9168],{"class":4713},[4576,36367,24671],{"class":4717},[4576,36369,36370,36373,36375,36377],{"class":4578,"line":16773},[4576,36371,36372],{"class":4720},"            style",[4576,36374,4724],{"class":4586},[4576,36376,4727],{"class":4653},[4576,36378,6708],{"class":4733},[4576,36380,36381,36384,36386,36389],{"class":4578,"line":16792},[4576,36382,36383],{"class":4590},"              styles",[4576,36385,3857],{"class":4733},[4576,36387,36388],{"class":4590},"sheet",[4576,36390,4992],{"class":4733},[4576,36392,36393],{"class":4578,"line":18926},[4576,36394,36395],{"class":4733},"              {\n",[4576,36397,36398,36401,36403,36405,36407],{"class":4578,"line":18936},[4576,36399,36400],{"class":4590},"                backgroundColor:",[4576,36402,23373],{"class":4590},[4576,36404,3857],{"class":4733},[4576,36406,25460],{"class":4590},[4576,36408,4992],{"class":4733},[4576,36410,36411,36414,36416,36418,36420],{"class":4578,"line":18945},[4576,36412,36413],{"class":4590},"                borderColor:",[4576,36415,23373],{"class":4590},[4576,36417,3857],{"class":4733},[4576,36419,25005],{"class":4590},[4576,36421,4992],{"class":4733},[4576,36423,36424,36427,36429,36431,36434],{"class":4578,"line":18955},[4576,36425,36426],{"class":4590},"                paddingBottom:",[4576,36428,24301],{"class":4590},[4576,36430,3857],{"class":4733},[4576,36432,36433],{"class":4590},"lg",[4576,36435,4992],{"class":4733},[4576,36437,36438],{"class":4578,"line":18964},[4576,36439,36440],{"class":4733},"              },\n",[4576,36442,36443,36446],{"class":4578,"line":18969},[4576,36444,36445],{"class":4733},"            ]",[4576,36447,4801],{"class":4653},[4576,36449,36450],{"class":4578,"line":18976},[4576,36451,36452],{"class":4713},"          >\n",[4576,36454,36455,36457],{"class":4578,"line":18981},[4576,36456,11387],{"class":4713},[4576,36458,24671],{"class":4717},[4576,36460,36461,36463,36465,36467],{"class":4578,"line":19008},[4576,36462,18615],{"class":4720},[4576,36464,4724],{"class":4586},[4576,36466,4727],{"class":4653},[4576,36468,6708],{"class":4733},[4576,36470,36471,36474,36476,36479],{"class":4578,"line":19013},[4576,36472,36473],{"class":4590},"                styles",[4576,36475,3857],{"class":4733},[4576,36477,36478],{"class":4590},"sheetHeader",[4576,36480,4992],{"class":4733},[4576,36482,36483,36486,36489,36491,36493,36495,36497,36500,36502,36504,36506],{"class":4578,"line":19030},[4576,36484,36485],{"class":4733},"                { ",[4576,36487,36488],{"class":4590},"paddingHorizontal:",[4576,36490,24301],{"class":4590},[4576,36492,3857],{"class":4733},[4576,36494,24306],{"class":4590},[4576,36496,3806],{"class":4733},[4576,36498,36499],{"class":4590},"paddingTop:",[4576,36501,24301],{"class":4590},[4576,36503,3857],{"class":4733},[4576,36505,24306],{"class":4590},[4576,36507,4939],{"class":4733},[4576,36509,36510,36513],{"class":4578,"line":19037},[4576,36511,36512],{"class":4733},"              ]",[4576,36514,4801],{"class":4653},[4576,36516,36517],{"class":4578,"line":19050},[4576,36518,36519],{"class":4713},"            >\n",[4576,36521,36522,36524,36526,36528,36530,36532,36534,36536,36538,36540,36542,36544],{"class":4578,"line":19059},[4576,36523,19134],{"class":4713},[4576,36525,22187],{"class":4717},[4576,36527,24761],{"class":4720},[4576,36529,4724],{"class":4586},[4576,36531,24766],{"class":4600},[4576,36533,4768],{"class":4713},[4576,36535,4727],{"class":4653},[4576,36537,4763],{"class":4590},[4576,36539,4739],{"class":4653},[4576,36541,4774],{"class":4713},[4576,36543,22187],{"class":4717},[4576,36545,4742],{"class":4713},[4576,36547,36548,36550,36552],{"class":4578,"line":19086},[4576,36549,19258],{"class":4713},[4576,36551,4628],{"class":4717},[4576,36553,4742],{"class":4713},[4576,36555,36556,36558],{"class":4578,"line":19131},[4576,36557,11387],{"class":4713},[4576,36559,36166],{"class":4717},[4576,36561,36562,36564,36566,36568,36570],{"class":4578,"line":19161},[4576,36563,18654],{"class":4720},[4576,36565,4724],{"class":4586},[4576,36567,4727],{"class":4653},[4576,36569,35435],{"class":4590},[4576,36571,4801],{"class":4653},[4576,36573,36574,36577,36579],{"class":4578,"line":19185},[4576,36575,36576],{"class":4720},"              mode",[4576,36578,4724],{"class":4586},[4576,36580,36188],{"class":4600},[4576,36582,36583,36586,36588],{"class":4578,"line":19237},[4576,36584,36585],{"class":4720},"              display",[4576,36587,4724],{"class":4586},[4576,36589,36590],{"class":4600},"\"spinner\"\n",[4576,36592,36593,36595,36597,36599,36602],{"class":4578,"line":19245},[4576,36594,32907],{"class":4720},[4576,36596,4724],{"class":4586},[4576,36598,4727],{"class":4653},[4576,36600,36601],{"class":4590},"onIosChange",[4576,36603,4801],{"class":4653},[4576,36605,36606,36608,36610,36612,36614],{"class":4578,"line":19255},[4576,36607,33098],{"class":4720},[4576,36609,4724],{"class":4586},[4576,36611,4727],{"class":4653},[4576,36613,36224],{"class":4590},[4576,36615,4801],{"class":4653},[4576,36617,36618,36621,36623,36625,36627],{"class":4578,"line":19265},[4576,36619,36620],{"class":4720},"              maximumDate",[4576,36622,4724],{"class":4586},[4576,36624,4727],{"class":4653},[4576,36626,36238],{"class":4590},[4576,36628,4801],{"class":4653},[4576,36630,36631,36633,36635,36637,36639,36642,36644,36646],{"class":4578,"line":19272},[4576,36632,18615],{"class":4720},[4576,36634,4724],{"class":4586},[4576,36636,4727],{"class":4653},[4576,36638,6092],{"class":4733},[4576,36640,36641],{"class":4590},"alignSelf:",[4576,36643,7430],{"class":4600},[4576,36645,6107],{"class":4733},[4576,36647,4801],{"class":4653},[4576,36649,36650],{"class":4578,"line":19277},[4576,36651,18721],{"class":4713},[4576,36653,36654,36656],{"class":4578,"line":19304},[4576,36655,11387],{"class":4713},[4576,36657,24671],{"class":4717},[4576,36659,36660,36662,36664,36666],{"class":4578,"line":19309},[4576,36661,18615],{"class":4720},[4576,36663,4724],{"class":4586},[4576,36665,4727],{"class":4653},[4576,36667,6708],{"class":4733},[4576,36669,36670,36672,36674,36677],{"class":4578,"line":19334},[4576,36671,36473],{"class":4590},[4576,36673,3857],{"class":4733},[4576,36675,36676],{"class":4590},"sheetActions",[4576,36678,4992],{"class":4733},[4576,36680,36681,36683,36685,36687,36689,36691,36693,36695,36697,36699,36701],{"class":4578,"line":19341},[4576,36682,36485],{"class":4733},[4576,36684,36488],{"class":4590},[4576,36686,24301],{"class":4590},[4576,36688,3857],{"class":4733},[4576,36690,24306],{"class":4590},[4576,36692,3806],{"class":4733},[4576,36694,4932],{"class":4590},[4576,36696,24301],{"class":4590},[4576,36698,3857],{"class":4733},[4576,36700,24365],{"class":4590},[4576,36702,4939],{"class":4733},[4576,36704,36705,36707],{"class":4578,"line":19354},[4576,36706,36512],{"class":4733},[4576,36708,4801],{"class":4653},[4576,36710,36711],{"class":4578,"line":19364},[4576,36712,36519],{"class":4713},[4576,36714,36715,36717,36719,36721,36723,36726,36728,36730,36732,36735,36737],{"class":4578,"line":19391},[4576,36716,19134],{"class":4713},[4576,36718,6932],{"class":4717},[4576,36720,11404],{"class":4720},[4576,36722,4724],{"class":4586},[4576,36724,36725],{"class":4600},"\"Готово\"",[4576,36727,16453],{"class":4720},[4576,36729,4724],{"class":4586},[4576,36731,4727],{"class":4653},[4576,36733,36734],{"class":4590},"applyIos",[4576,36736,4739],{"class":4653},[4576,36738,7302],{"class":4713},[4576,36740,36741,36743,36745,36747,36749,36751,36753,36755,36757,36759,36761,36763,36765,36768,36770],{"class":4578,"line":19398},[4576,36742,19134],{"class":4713},[4576,36744,3947],{"class":4717},[4576,36746,16453],{"class":4720},[4576,36748,4724],{"class":4586},[4576,36750,4727],{"class":4653},[4576,36752,36322],{"class":4590},[4576,36754,4739],{"class":4653},[4576,36756,4721],{"class":4720},[4576,36758,4724],{"class":4586},[4576,36760,4727],{"class":4653},[4576,36762,4730],{"class":4590},[4576,36764,3857],{"class":4733},[4576,36766,36767],{"class":4590},"cancel",[4576,36769,4739],{"class":4653},[4576,36771,4742],{"class":4713},[4576,36773,36774,36776,36778,36780,36782,36784,36786,36788,36790,36792,36794,36797,36799,36801],{"class":4578,"line":19412},[4576,36775,19653],{"class":4713},[4576,36777,22187],{"class":4717},[4576,36779,7294],{"class":4720},[4576,36781,4724],{"class":4586},[4576,36783,4727],{"class":4653},[4576,36785,23274],{"class":4590},[4576,36787,3857],{"class":4733},[4576,36789,24829],{"class":4590},[4576,36791,4739],{"class":4653},[4576,36793,4768],{"class":4713},[4576,36795,36796],{"class":4733},"Скасувати",[4576,36798,4774],{"class":4713},[4576,36800,22187],{"class":4717},[4576,36802,4742],{"class":4713},[4576,36804,36805,36807,36809],{"class":4578,"line":19426},[4576,36806,19248],{"class":4713},[4576,36808,3947],{"class":4717},[4576,36810,4742],{"class":4713},[4576,36812,36813,36815,36817],{"class":4578,"line":19440},[4576,36814,19258],{"class":4713},[4576,36816,4628],{"class":4717},[4576,36818,4742],{"class":4713},[4576,36820,36821,36823,36825],{"class":4578,"line":19453},[4576,36822,9264],{"class":4713},[4576,36824,4628],{"class":4717},[4576,36826,4742],{"class":4713},[4576,36828,36829,36831,36833],{"class":4578,"line":19467},[4576,36830,9273],{"class":4713},[4576,36832,12064],{"class":4717},[4576,36834,4742],{"class":4713},[4576,36836,36837,36839,36841],{"class":4578,"line":19477},[4576,36838,7307],{"class":4733},[4576,36840,6978],{"class":4586},[4576,36842,16009],{"class":4653},[4576,36844,36845,36847,36849],{"class":4578,"line":19487},[4576,36846,4879],{"class":4713},[4576,36848,4628],{"class":4717},[4576,36850,4742],{"class":4713},[4576,36852,36853],{"class":4578,"line":19497},[4576,36854,4889],{"class":4586},[4576,36856,36857],{"class":4578,"line":19502},[4576,36858,4801],{"class":4586},[4576,36860,36861],{"class":4578,"line":19509},[4576,36862,4644],{"emptyLinePlaceholder":4643},[4576,36864,36865,36867,36870,36872,36874,36876,36878,36880,36882],{"class":4578,"line":19514},[4576,36866,17946],{"class":4653},[4576,36868,36869],{"class":4657}," formatDisplay",[4576,36871,4687],{"class":4586},[4576,36873,28377],{"class":4590},[4576,36875,7093],{"class":4586},[4576,36877,4462],{"class":4717},[4576,36879,4235],{"class":4586},[4576,36881,4349],{"class":4717},[4576,36883,4980],{"class":4586},[4576,36885,36886,36888,36891,36893,36896,36898,36900,36902,36904,36907,36910,36912,36914,36916,36919],{"class":4578,"line":19541},[4576,36887,4667],{"class":4653},[4576,36889,36890],{"class":4673}," dd",[4576,36892,4911],{"class":4586},[4576,36894,36895],{"class":4657},"String",[4576,36897,4687],{"class":4586},[4576,36899,28377],{"class":4590},[4576,36901,3857],{"class":4586},[4576,36903,28402],{"class":4657},[4576,36905,36906],{"class":4586},"()).",[4576,36908,36909],{"class":4657},"padStart",[4576,36911,4687],{"class":4586},[4576,36913,12562],{"class":4935},[4576,36915,3806],{"class":4586},[4576,36917,36918],{"class":4600},"'0'",[4576,36920,4693],{"class":4586},[4576,36922,36923,36925,36928,36930,36932,36934,36936,36938,36940,36942,36944,36946,36948,36950,36952,36954,36956],{"class":4578,"line":19546},[4576,36924,4667],{"class":4653},[4576,36926,36927],{"class":4673}," mm",[4576,36929,4911],{"class":4586},[4576,36931,36895],{"class":4657},[4576,36933,4687],{"class":4586},[4576,36935,28377],{"class":4590},[4576,36937,3857],{"class":4586},[4576,36939,28421],{"class":4657},[4576,36941,31318],{"class":4586},[4576,36943,10566],{"class":4935},[4576,36945,3833],{"class":4586},[4576,36947,36909],{"class":4657},[4576,36949,4687],{"class":4586},[4576,36951,12562],{"class":4935},[4576,36953,3806],{"class":4586},[4576,36955,36918],{"class":4600},[4576,36957,4693],{"class":4586},[4576,36959,36960,36962,36965,36967,36969,36971,36973],{"class":4578,"line":19553},[4576,36961,4667],{"class":4653},[4576,36963,36964],{"class":4673}," yyyy",[4576,36966,4911],{"class":4586},[4576,36968,28377],{"class":4590},[4576,36970,3857],{"class":4586},[4576,36972,28505],{"class":4657},[4576,36974,23287],{"class":4586},[4576,36976,36977,36979,36981,36983,36986,36988,36990,36992,36995,36997,36999,37001,37004,37006,37008],{"class":4578,"line":19566},[4576,36978,4704],{"class":4582},[4576,36980,25208],{"class":4600},[4576,36982,25211],{"class":4653},[4576,36984,36985],{"class":4590},"dd",[4576,36987,4739],{"class":4653},[4576,36989,3857],{"class":4600},[4576,36991,25211],{"class":4653},[4576,36993,36994],{"class":4590},"mm",[4576,36996,4739],{"class":4653},[4576,36998,3857],{"class":4600},[4576,37000,25211],{"class":4653},[4576,37002,37003],{"class":4590},"yyyy",[4576,37005,4739],{"class":4653},[4576,37007,25542],{"class":4600},[4576,37009,4604],{"class":4586},[4576,37011,37012],{"class":4578,"line":19576},[4576,37013,4801],{"class":4586},[4576,37015,37016],{"class":4578,"line":19603},[4576,37017,4644],{"emptyLinePlaceholder":4643},[4576,37019,37020,37022,37024,37026,37028,37030,37032],{"class":4578,"line":19626},[4576,37021,4905],{"class":4653},[4576,37023,4908],{"class":4673},[4576,37025,4911],{"class":4586},[4576,37027,4614],{"class":4590},[4576,37029,3857],{"class":4586},[4576,37031,4918],{"class":4657},[4576,37033,4921],{"class":4586},[4576,37035,37036,37038],{"class":4578,"line":19650},[4576,37037,4945],{"class":4590},[4576,37039,4980],{"class":4586},[4576,37041,37042,37044,37046],{"class":4578,"line":19683},[4576,37043,21442],{"class":4590},[4576,37045,8726],{"class":4600},[4576,37047,4992],{"class":4586},[4576,37049,37050],{"class":4578,"line":19706},[4576,37051,5052],{"class":4586},[4576,37053,37054,37057],{"class":4578,"line":19712},[4576,37055,37056],{"class":4590},"  field:",[4576,37058,4980],{"class":4586},[4576,37060,37061,37063,37065],{"class":4578,"line":19722},[4576,37062,4986],{"class":4590},[4576,37064,4989],{"class":4935},[4576,37066,4992],{"class":4586},[4576,37068,37069,37071,37073],{"class":4578,"line":19731},[4576,37070,5041],{"class":4590},[4576,37072,5044],{"class":4935},[4576,37074,4992],{"class":4586},[4576,37076,37077,37079,37081],{"class":4578,"line":19738},[4576,37078,7437],{"class":4590},[4576,37080,7430],{"class":4600},[4576,37082,4992],{"class":4586},[4576,37084,37085],{"class":4578,"line":19752},[4576,37086,5052],{"class":4586},[4576,37088,37089,37092],{"class":4578,"line":19766},[4576,37090,37091],{"class":4590},"  backdrop:",[4576,37093,4980],{"class":4586},[4576,37095,37096,37098,37100],{"class":4578,"line":19792},[4576,37097,21384],{"class":4590},[4576,37099,4989],{"class":4935},[4576,37101,4992],{"class":4586},[4576,37103,37104,37106,37109],{"class":4578,"line":19802},[4576,37105,7401],{"class":4590},[4576,37107,37108],{"class":4600}," 'rgba(0,0,0,0.35)'",[4576,37110,4992],{"class":4586},[4576,37112,37113],{"class":4578,"line":19808},[4576,37114,5052],{"class":4586},[4576,37116,37117,37120],{"class":4578,"line":19817},[4576,37118,37119],{"class":4590},"  sheet:",[4576,37121,4980],{"class":4586},[4576,37123,37124,37127,37129],{"class":4578,"line":19824},[4576,37125,37126],{"class":4590},"    borderTopLeftRadius:",[4576,37128,5033],{"class":4935},[4576,37130,4992],{"class":4586},[4576,37132,37133,37136,37138],{"class":4578,"line":19829},[4576,37134,37135],{"class":4590},"    borderTopRightRadius:",[4576,37137,5033],{"class":4935},[4576,37139,4992],{"class":4586},[4576,37141,37142,37144,37146],{"class":4578,"line":19834},[4576,37143,26422],{"class":4590},[4576,37145,4989],{"class":4935},[4576,37147,4992],{"class":4586},[4576,37149,37150],{"class":4578,"line":19841},[4576,37151,5052],{"class":4586},[4576,37153,37154,37157],{"class":4578,"line":19854},[4576,37155,37156],{"class":4590},"  sheetHeader:",[4576,37158,4980],{"class":4586},[4576,37160,37161,37163,37165],{"class":4578,"line":19864},[4576,37162,7427],{"class":4590},[4576,37164,7430],{"class":4600},[4576,37166,4992],{"class":4586},[4576,37168,37169],{"class":4578,"line":19891},[4576,37170,5052],{"class":4586},[4576,37172,37173,37176],{"class":4578,"line":19914},[4576,37174,37175],{"class":4590},"  sheetActions:",[4576,37177,4980],{"class":4586},[4576,37179,37180,37182,37184],{"class":4578,"line":19937},[4576,37181,21512],{"class":4590},[4576,37183,9915],{"class":4935},[4576,37185,4992],{"class":4586},[4576,37187,37188],{"class":4578,"line":19968},[4576,37189,5052],{"class":4586},[4576,37191,37192,37195],{"class":4578,"line":19991},[4576,37193,37194],{"class":4590},"  cancel:",[4576,37196,4980],{"class":4586},[4576,37198,37199,37201,37203],{"class":4578,"line":19997},[4576,37200,7427],{"class":4590},[4576,37202,7430],{"class":4600},[4576,37204,4992],{"class":4586},[4576,37206,37207,37209,37211],{"class":4578,"line":20006},[4576,37208,5020],{"class":4590},[4576,37210,15684],{"class":4935},[4576,37212,4992],{"class":4586},[4576,37214,37215],{"class":4578,"line":20015},[4576,37216,5052],{"class":4586},[4576,37218,37219],{"class":4578,"line":20022},[4576,37220,5058],{"class":4586},[3891,37222,37225],{"className":4570,"code":37223,"filename":37224,"language":4572,"meta":3899,"style":3899},"import { ReactNode } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype FormRowProps = {\n  label: string;\n  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n  description?: string;\n  error?: string;\n  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n  control: ReactNode;\n  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n  stacked?: boolean;\n};\n\n\u002F**\n * Рядок форми для не-текстових контролів:\n * label + опис зліва, control справа (або stacked).\n *\u002F\nexport function FormRow({\n  label,\n  description,\n  error,\n  control,\n  stacked = false,\n}: FormRowProps) {\n  const { colors, spacing } = useTheme();\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }]}>\n      \u003CView\n        style={[\n          stacked ? styles.stacked : styles.row,\n          !stacked && { gap: spacing.md },\n        ]}\n      >\n        \u003CView style={styles.texts}>\n          \u003CAppText variant=\"caption\" style={styles.label}>\n            {label}\n          \u003C\u002FAppText>\n          {description ? (\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              {description}\n            \u003C\u002FAppText>\n          ) : null}\n        \u003C\u002FView>\n        \u003CView style={stacked ? styles.fullControl : styles.sideControl}>\n          {control}\n        \u003C\u002FView>\n      \u003C\u002FView>\n      {error ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n  },\n  stacked: {\n    flexDirection: 'column',\n    alignItems: 'stretch',\n  },\n  texts: {\n    flex: 1,\n    gap: 2,\n  },\n  label: {\n    fontWeight: '600',\n  },\n  sideControl: {\n    flexShrink: 0,\n  },\n  fullControl: {\n    marginTop: 8,\n    width: '100%',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow.tsx",[3803,37226,37227,37243,37263,37267,37283,37299,37303,37312,37322,37327,37337,37347,37352,37362,37367,37378,37382,37386,37390,37395,37400,37404,37415,37421,37427,37433,37439,37449,37458,37476,37480,37486,37523,37529,37539,37563,37584,37590,37594,37617,37645,37653,37661,37671,37699,37708,37716,37724,37732,37768,37776,37784,37792,37802,37830,37838,37846,37854,37862,37866,37870,37874,37890,37897,37907,37911,37917,37925,37933,37941,37945,37952,37961,37970,37974,37981,37989,37997,38001,38007,38015,38019,38026,38035,38039,38046,38054,38062,38066],{"__ignoreMap":3899},[4576,37228,37229,37231,37233,37235,37237,37239,37241],{"class":4578,"line":4579},[4576,37230,4583],{"class":4582},[4576,37232,4587],{"class":4586},[4576,37234,29070],{"class":4590},[4576,37236,4594],{"class":4586},[4576,37238,4597],{"class":4582},[4576,37240,4601],{"class":4600},[4576,37242,4604],{"class":4586},[4576,37244,37245,37247,37249,37251,37253,37255,37257,37259,37261],{"class":4578,"line":4607},[4576,37246,4583],{"class":4582},[4576,37248,4587],{"class":4586},[4576,37250,4614],{"class":4590},[4576,37252,3806],{"class":4586},[4576,37254,4628],{"class":4590},[4576,37256,4594],{"class":4586},[4576,37258,4597],{"class":4582},[4576,37260,4635],{"class":4600},[4576,37262,4604],{"class":4586},[4576,37264,37265],{"class":4578,"line":4640},[4576,37266,4644],{"emptyLinePlaceholder":4643},[4576,37268,37269,37271,37273,37275,37277,37279,37281],{"class":4578,"line":4647},[4576,37270,4583],{"class":4582},[4576,37272,4587],{"class":4586},[4576,37274,23243],{"class":4590},[4576,37276,4594],{"class":4586},[4576,37278,4597],{"class":4582},[4576,37280,23250],{"class":4600},[4576,37282,4604],{"class":4586},[4576,37284,37285,37287,37289,37291,37293,37295,37297],{"class":4578,"line":4664},[4576,37286,4583],{"class":4582},[4576,37288,4587],{"class":4586},[4576,37290,22187],{"class":4590},[4576,37292,4594],{"class":4586},[4576,37294,4597],{"class":4582},[4576,37296,23699],{"class":4600},[4576,37298,4604],{"class":4586},[4576,37300,37301],{"class":4578,"line":4696},[4576,37302,4644],{"emptyLinePlaceholder":4643},[4576,37304,37305,37307,37310],{"class":4578,"line":4701},[4576,37306,4083],{"class":4653},[4576,37308,37309],{"class":4717}," FormRowProps",[4576,37311,27412],{"class":4586},[4576,37313,37314,37316,37318,37320],{"class":4578,"line":4710},[4576,37315,35198],{"class":4590},[4576,37317,7093],{"class":4586},[4576,37319,4349],{"class":4717},[4576,37321,4604],{"class":4586},[4576,37323,37324],{"class":4578,"line":4745},[4576,37325,37326],{"class":9599},"  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n",[4576,37328,37329,37331,37333,37335],{"class":4578,"line":4781},[4576,37330,27449],{"class":4590},[4576,37332,11984],{"class":4586},[4576,37334,4349],{"class":4717},[4576,37336,4604],{"class":4586},[4576,37338,37339,37341,37343,37345],{"class":4578,"line":4789},[4576,37340,35254],{"class":4590},[4576,37342,11984],{"class":4586},[4576,37344,4349],{"class":4717},[4576,37346,4604],{"class":4586},[4576,37348,37349],{"class":4578,"line":4804},[4576,37350,37351],{"class":9599},"  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n",[4576,37353,37354,37356,37358,37360],{"class":4578,"line":4818},[4576,37355,13028],{"class":4590},[4576,37357,7093],{"class":4586},[4576,37359,29070],{"class":4717},[4576,37361,4604],{"class":4586},[4576,37363,37364],{"class":4578,"line":4829},[4576,37365,37366],{"class":9599},"  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n",[4576,37368,37369,37372,37374,37376],{"class":4578,"line":4840},[4576,37370,37371],{"class":4590},"  stacked",[4576,37373,11984],{"class":4586},[4576,37375,4372],{"class":4717},[4576,37377,4604],{"class":4586},[4576,37379,37380],{"class":4578,"line":4851},[4576,37381,12050],{"class":4586},[4576,37383,37384],{"class":4578,"line":4870},[4576,37385,4644],{"emptyLinePlaceholder":4643},[4576,37387,37388],{"class":4578,"line":4876},[4576,37389,26548],{"class":9599},[4576,37391,37392],{"class":4578,"line":4886},[4576,37393,37394],{"class":9599}," * Рядок форми для не-текстових контролів:\n",[4576,37396,37397],{"class":4578,"line":4892},[4576,37398,37399],{"class":9599}," * label + опис зліва, control справа (або stacked).\n",[4576,37401,37402],{"class":4578,"line":4897},[4576,37403,26568],{"class":9599},[4576,37405,37406,37408,37410,37413],{"class":4578,"line":4902},[4576,37407,4650],{"class":4582},[4576,37409,4654],{"class":4653},[4576,37411,37412],{"class":4657}," FormRow",[4576,37414,4921],{"class":4586},[4576,37416,37417,37419],{"class":4578,"line":4924},[4576,37418,35198],{"class":4590},[4576,37420,4992],{"class":4586},[4576,37422,37423,37425],{"class":4578,"line":4942},[4576,37424,27449],{"class":4590},[4576,37426,4992],{"class":4586},[4576,37428,37429,37431],{"class":4578,"line":4974},[4576,37430,35254],{"class":4590},[4576,37432,4992],{"class":4586},[4576,37434,37435,37437],{"class":4578,"line":4983},[4576,37436,13028],{"class":4590},[4576,37438,4992],{"class":4586},[4576,37440,37441,37443,37445,37447],{"class":4578,"line":4995},[4576,37442,37371],{"class":4590},[4576,37444,4911],{"class":4586},[4576,37446,5161],{"class":4653},[4576,37448,4992],{"class":4586},[4576,37450,37451,37453,37456],{"class":4578,"line":5006},[4576,37452,31384],{"class":4586},[4576,37454,37455],{"class":4717},"FormRowProps",[4576,37457,7149],{"class":4586},[4576,37459,37460,37462,37464,37466,37468,37470,37472,37474],{"class":4578,"line":5017},[4576,37461,4667],{"class":4653},[4576,37463,4587],{"class":4586},[4576,37465,23274],{"class":4673},[4576,37467,3806],{"class":4586},[4576,37469,23853],{"class":4673},[4576,37471,23282],{"class":4586},[4576,37473,23243],{"class":4657},[4576,37475,23287],{"class":4586},[4576,37477,37478],{"class":4578,"line":5027},[4576,37479,4644],{"emptyLinePlaceholder":4643},[4576,37481,37482,37484],{"class":4578,"line":5038},[4576,37483,4704],{"class":4582},[4576,37485,4707],{"class":4586},[4576,37487,37488,37490,37492,37494,37496,37498,37500,37502,37504,37507,37509,37511,37513,37515,37517,37519,37521],{"class":4578,"line":5049},[4576,37489,4714],{"class":4713},[4576,37491,4628],{"class":4717},[4576,37493,4721],{"class":4720},[4576,37495,4724],{"class":4586},[4576,37497,4727],{"class":4653},[4576,37499,6261],{"class":4733},[4576,37501,4730],{"class":4590},[4576,37503,3857],{"class":4733},[4576,37505,37506],{"class":4590},"wrap",[4576,37508,6270],{"class":4733},[4576,37510,4932],{"class":4590},[4576,37512,24301],{"class":4590},[4576,37514,3857],{"class":4733},[4576,37516,24991],{"class":4590},[4576,37518,6277],{"class":4733},[4576,37520,4739],{"class":4653},[4576,37522,4742],{"class":4713},[4576,37524,37525,37527],{"class":4578,"line":5055},[4576,37526,4748],{"class":4713},[4576,37528,24671],{"class":4717},[4576,37530,37531,37533,37535,37537],{"class":4578,"line":5744},[4576,37532,4854],{"class":4720},[4576,37534,4724],{"class":4586},[4576,37536,4727],{"class":4653},[4576,37538,6708],{"class":4733},[4576,37540,37541,37544,37546,37548,37550,37553,37555,37557,37559,37561],{"class":4578,"line":6299},[4576,37542,37543],{"class":4590},"          stacked",[4576,37545,7282],{"class":4586},[4576,37547,4908],{"class":4590},[4576,37549,3857],{"class":4733},[4576,37551,37552],{"class":4590},"stacked",[4576,37554,8033],{"class":4586},[4576,37556,4908],{"class":4590},[4576,37558,3857],{"class":4733},[4576,37560,9121],{"class":4590},[4576,37562,4992],{"class":4733},[4576,37564,37565,37568,37570,37572,37574,37576,37578,37580,37582],{"class":4578,"line":6312},[4576,37566,37567],{"class":4586},"          !",[4576,37569,37552],{"class":4590},[4576,37571,7229],{"class":4586},[4576,37573,4587],{"class":4733},[4576,37575,4932],{"class":4590},[4576,37577,24301],{"class":4590},[4576,37579,3857],{"class":4733},[4576,37581,24306],{"class":4590},[4576,37583,4939],{"class":4733},[4576,37585,37586,37588],{"class":4578,"line":6325},[4576,37587,6762],{"class":4733},[4576,37589,4801],{"class":4653},[4576,37591,37592],{"class":4578,"line":6335},[4576,37593,8048],{"class":4713},[4576,37595,37596,37598,37600,37602,37604,37606,37608,37610,37613,37615],{"class":4578,"line":6350},[4576,37597,7289],{"class":4713},[4576,37599,4628],{"class":4717},[4576,37601,4721],{"class":4720},[4576,37603,4724],{"class":4586},[4576,37605,4727],{"class":4653},[4576,37607,4730],{"class":4590},[4576,37609,3857],{"class":4733},[4576,37611,37612],{"class":4590},"texts",[4576,37614,4739],{"class":4653},[4576,37616,4742],{"class":4713},[4576,37618,37619,37621,37623,37625,37627,37629,37631,37633,37635,37637,37639,37641,37643],{"class":4578,"line":6359},[4576,37620,9168],{"class":4713},[4576,37622,22187],{"class":4717},[4576,37624,24761],{"class":4720},[4576,37626,4724],{"class":4586},[4576,37628,25059],{"class":4600},[4576,37630,4721],{"class":4720},[4576,37632,4724],{"class":4586},[4576,37634,4727],{"class":4653},[4576,37636,4730],{"class":4590},[4576,37638,3857],{"class":4733},[4576,37640,4763],{"class":4590},[4576,37642,4739],{"class":4653},[4576,37644,4742],{"class":4713},[4576,37646,37647,37649,37651],{"class":4578,"line":6368},[4576,37648,9245],{"class":4653},[4576,37650,4763],{"class":4590},[4576,37652,4801],{"class":4653},[4576,37654,37655,37657,37659],{"class":4578,"line":6377},[4576,37656,9264],{"class":4713},[4576,37658,22187],{"class":4717},[4576,37660,4742],{"class":4713},[4576,37662,37663,37665,37667,37669],{"class":4578,"line":6417},[4576,37664,11363],{"class":4653},[4576,37666,31782],{"class":4590},[4576,37668,7282],{"class":4586},[4576,37670,4707],{"class":4733},[4576,37672,37673,37675,37677,37679,37681,37683,37685,37687,37689,37691,37693,37695,37697],{"class":4578,"line":6422},[4576,37674,11387],{"class":4713},[4576,37676,22187],{"class":4717},[4576,37678,24761],{"class":4720},[4576,37680,4724],{"class":4586},[4576,37682,25059],{"class":4600},[4576,37684,7294],{"class":4720},[4576,37686,4724],{"class":4586},[4576,37688,4727],{"class":4653},[4576,37690,23274],{"class":4590},[4576,37692,3857],{"class":4733},[4576,37694,24829],{"class":4590},[4576,37696,4739],{"class":4653},[4576,37698,4742],{"class":4713},[4576,37700,37701,37704,37706],{"class":4578,"line":6427},[4576,37702,37703],{"class":4653},"              {",[4576,37705,31782],{"class":4590},[4576,37707,4801],{"class":4653},[4576,37709,37710,37712,37714],{"class":4578,"line":6469},[4576,37711,19258],{"class":4713},[4576,37713,22187],{"class":4717},[4576,37715,4742],{"class":4713},[4576,37717,37718,37720,37722],{"class":4578,"line":6476},[4576,37719,34703],{"class":4733},[4576,37721,6978],{"class":4586},[4576,37723,16009],{"class":4653},[4576,37725,37726,37728,37730],{"class":4578,"line":6489},[4576,37727,9273],{"class":4713},[4576,37729,4628],{"class":4717},[4576,37731,4742],{"class":4713},[4576,37733,37734,37736,37738,37740,37742,37744,37746,37748,37750,37752,37755,37757,37759,37761,37764,37766],{"class":4578,"line":6502},[4576,37735,7289],{"class":4713},[4576,37737,4628],{"class":4717},[4576,37739,4721],{"class":4720},[4576,37741,4724],{"class":4586},[4576,37743,4727],{"class":4653},[4576,37745,37552],{"class":4590},[4576,37747,7282],{"class":4586},[4576,37749,4908],{"class":4590},[4576,37751,3857],{"class":4733},[4576,37753,37754],{"class":4590},"fullControl",[4576,37756,8033],{"class":4586},[4576,37758,4908],{"class":4590},[4576,37760,3857],{"class":4733},[4576,37762,37763],{"class":4590},"sideControl",[4576,37765,4739],{"class":4653},[4576,37767,4742],{"class":4713},[4576,37769,37770,37772,37774],{"class":4578,"line":6512},[4576,37771,11363],{"class":4653},[4576,37773,13035],{"class":4590},[4576,37775,4801],{"class":4653},[4576,37777,37778,37780,37782],{"class":4578,"line":6525},[4576,37779,9273],{"class":4713},[4576,37781,4628],{"class":4717},[4576,37783,4742],{"class":4713},[4576,37785,37786,37788,37790],{"class":4578,"line":6535},[4576,37787,6238],{"class":4713},[4576,37789,4628],{"class":4717},[4576,37791,4742],{"class":4713},[4576,37793,37794,37796,37798,37800],{"class":4578,"line":6574},[4576,37795,7277],{"class":4653},[4576,37797,13088],{"class":4590},[4576,37799,7282],{"class":4586},[4576,37801,4707],{"class":4733},[4576,37803,37804,37806,37808,37810,37812,37814,37816,37818,37820,37822,37824,37826,37828],{"class":4578,"line":6579},[4576,37805,7289],{"class":4713},[4576,37807,22187],{"class":4717},[4576,37809,24761],{"class":4720},[4576,37811,4724],{"class":4586},[4576,37813,25059],{"class":4600},[4576,37815,7294],{"class":4720},[4576,37817,4724],{"class":4586},[4576,37819,4727],{"class":4653},[4576,37821,23274],{"class":4590},[4576,37823,3857],{"class":4733},[4576,37825,35953],{"class":4590},[4576,37827,4739],{"class":4653},[4576,37829,4742],{"class":4713},[4576,37831,37832,37834,37836],{"class":4578,"line":6584},[4576,37833,11363],{"class":4653},[4576,37835,13088],{"class":4590},[4576,37837,4801],{"class":4653},[4576,37839,37840,37842,37844],{"class":4578,"line":6626},[4576,37841,9273],{"class":4713},[4576,37843,22187],{"class":4717},[4576,37845,4742],{"class":4713},[4576,37847,37848,37850,37852],{"class":4578,"line":6633},[4576,37849,7307],{"class":4733},[4576,37851,6978],{"class":4586},[4576,37853,16009],{"class":4653},[4576,37855,37856,37858,37860],{"class":4578,"line":6646},[4576,37857,4879],{"class":4713},[4576,37859,4628],{"class":4717},[4576,37861,4742],{"class":4713},[4576,37863,37864],{"class":4578,"line":6659},[4576,37865,4889],{"class":4586},[4576,37867,37868],{"class":4578,"line":6669},[4576,37869,4801],{"class":4586},[4576,37871,37872],{"class":4578,"line":6682},[4576,37873,4644],{"emptyLinePlaceholder":4643},[4576,37875,37876,37878,37880,37882,37884,37886,37888],{"class":4578,"line":6688},[4576,37877,4905],{"class":4653},[4576,37879,4908],{"class":4673},[4576,37881,4911],{"class":4586},[4576,37883,4614],{"class":4590},[4576,37885,3857],{"class":4586},[4576,37887,4918],{"class":4657},[4576,37889,4921],{"class":4586},[4576,37891,37892,37895],{"class":4578,"line":6699},[4576,37893,37894],{"class":4590},"  wrap:",[4576,37896,4980],{"class":4586},[4576,37898,37899,37902,37905],{"class":4578,"line":6711},[4576,37900,37901],{"class":4590},"    width:",[4576,37903,37904],{"class":4600}," '100%'",[4576,37906,4992],{"class":4586},[4576,37908,37909],{"class":4578,"line":6723},[4576,37910,5052],{"class":4586},[4576,37912,37913,37915],{"class":4578,"line":6735},[4576,37914,9422],{"class":4590},[4576,37916,4980],{"class":4586},[4576,37918,37919,37921,37923],{"class":4578,"line":6759},[4576,37920,8654],{"class":4590},[4576,37922,8657],{"class":4600},[4576,37924,4992],{"class":4586},[4576,37926,37927,37929,37931],{"class":4578,"line":6767},[4576,37928,7427],{"class":4590},[4576,37930,7430],{"class":4600},[4576,37932,4992],{"class":4586},[4576,37934,37935,37937,37939],{"class":4578,"line":6772},[4576,37936,7437],{"class":4590},[4576,37938,8674],{"class":4600},[4576,37940,4992],{"class":4586},[4576,37942,37943],{"class":4578,"line":6781},[4576,37944,5052],{"class":4586},[4576,37946,37947,37950],{"class":4578,"line":6786},[4576,37948,37949],{"class":4590},"  stacked:",[4576,37951,4980],{"class":4586},[4576,37953,37954,37956,37959],{"class":4578,"line":6791},[4576,37955,8654],{"class":4590},[4576,37957,37958],{"class":4600}," 'column'",[4576,37960,4992],{"class":4586},[4576,37962,37963,37965,37968],{"class":4578,"line":6796},[4576,37964,7427],{"class":4590},[4576,37966,37967],{"class":4600}," 'stretch'",[4576,37969,4992],{"class":4586},[4576,37971,37972],{"class":4578,"line":6813},[4576,37973,5052],{"class":4586},[4576,37975,37976,37979],{"class":4578,"line":6838},[4576,37977,37978],{"class":4590},"  texts:",[4576,37980,4980],{"class":4586},[4576,37982,37983,37985,37987],{"class":4578,"line":6845},[4576,37984,21384],{"class":4590},[4576,37986,4989],{"class":4935},[4576,37988,4992],{"class":4586},[4576,37990,37991,37993,37995],{"class":4578,"line":6854},[4576,37992,9445],{"class":4590},[4576,37994,8754],{"class":4935},[4576,37996,4992],{"class":4586},[4576,37998,37999],{"class":4578,"line":6863},[4576,38000,5052],{"class":4586},[4576,38002,38003,38005],{"class":4578,"line":6872},[4576,38004,4945],{"class":4590},[4576,38006,4980],{"class":4586},[4576,38008,38009,38011,38013],{"class":4578,"line":6881},[4576,38010,21442],{"class":4590},[4576,38012,8726],{"class":4600},[4576,38014,4992],{"class":4586},[4576,38016,38017],{"class":4578,"line":6890},[4576,38018,5052],{"class":4586},[4576,38020,38021,38024],{"class":4578,"line":6899},[4576,38022,38023],{"class":4590},"  sideControl:",[4576,38025,4980],{"class":4586},[4576,38027,38028,38031,38033],{"class":4578,"line":6904},[4576,38029,38030],{"class":4590},"    flexShrink:",[4576,38032,24338],{"class":4935},[4576,38034,4992],{"class":4586},[4576,38036,38037],{"class":4578,"line":6920},[4576,38038,5052],{"class":4586},[4576,38040,38041,38044],{"class":4578,"line":16012},[4576,38042,38043],{"class":4590},"  fullControl:",[4576,38045,4980],{"class":4586},[4576,38047,38048,38050,38052],{"class":4578,"line":16017},[4576,38049,21512],{"class":4590},[4576,38051,9915],{"class":4935},[4576,38053,4992],{"class":4586},[4576,38055,38056,38058,38060],{"class":4578,"line":16058},[4576,38057,37901],{"class":4590},[4576,38059,37904],{"class":4600},[4576,38061,4992],{"class":4586},[4576,38063,38064],{"class":4578,"line":16065},[4576,38065,5052],{"class":4586},[4576,38067,38068],{"class":4578,"line":16078},[4576,38069,5058],{"class":4586},[3891,38071,38074],{"className":4570,"code":38072,"filename":38073,"language":4572,"meta":3899,"style":3899},"import { memo } from 'react';\nimport { Image, Platform, Pressable, StyleSheet, View } from 'react-native';\n\nimport type { Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype TripCardProps = {\n  trip: Trip;\n  onPress?: (trip: Trip) => void;\n};\n\nfunction TripCardComponent({ trip, onPress }: TripCardProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Поїздка ${trip.title}`}\n      onPress={() => onPress?.(trip)}\n      style={({ pressed }) => [\n        styles.card,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.lg,\n        },\n        pressed && styles.cardPressed,\n      ]}\n    >\n      \u003CImage\n        source={{ uri: trip.coverUri }}\n        style={[styles.cover, { backgroundColor: colors.border }]}\n        resizeMode=\"cover\"\n        accessibilityIgnoresInvertColors\n      \u002F>\n      \u003CView style={[styles.body, { padding: spacing.md, gap: spacing.xs }]}>\n        \u003CView style={[styles.titleRow, { gap: spacing.sm }]}>\n          \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.titleFlex}>\n            {trip.title}\n          \u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" style={styles.dates}>\n            {trip.dateLabel}\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n        \u003CAppText variant=\"caption\" color={colors.primary} style={styles.region}>\n          {trip.region}\n          {trip.plannedDays\n            ? ` · ${trip.plannedDays} ${trip.plannedDays === 1 ? 'день' : 'дні'}`\n            : ''}\n        \u003C\u002FAppText>\n        {(trip.isPrivate || trip.hasItinerary) && (\n          \u003CView style={[styles.badges, { gap: spacing.xs, marginTop: spacing.xs }]}>\n            {trip.isPrivate ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.textSecondary }]}\n              >\n                приватна\n              \u003C\u002FAppText>\n            ) : null}\n            {trip.hasItinerary ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.primary }]}\n              >\n                є план\n              \u003C\u002FAppText>\n            ) : null}\n          \u003C\u002FView>\n        )}\n        \u003CAppText\n          numberOfLines={2}\n          style={{ marginTop: spacing.xs, color: colors.textSecondary }}\n        >\n          {trip.description}\n        \u003C\u002FAppText>\n        \u003CView style={[styles.footer, { marginTop: spacing.sm }]}>\n          \u003CAppText variant=\"caption\" color={colors.primary}>\n            Відкрити\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n      \u003C\u002FView>\n    \u003C\u002FPressable>\n  );\n}\n\n\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\nexport const TripCard = memo(TripCardComponent);\n\nconst styles = StyleSheet.create({\n  card: {\n    borderWidth: 1,\n    overflow: 'hidden',\n    ...Platform.select({\n      ios: {\n        shadowColor: '#000',\n        shadowOpacity: 0.08,\n        shadowRadius: 10,\n        shadowOffset: { width: 0, height: 4 },\n      },\n      android: {\n        elevation: 3,\n      },\n      default: {},\n    }),\n  },\n  cardPressed: {\n    opacity: 0.92,\n  },\n  cover: {\n    width: '100%',\n    height: 160,\n  },\n  body: {},\n  titleRow: {\n    flexDirection: 'row',\n    alignItems: 'center',\n  },\n  titleFlex: {\n    flex: 1,\n  },\n  dates: {\n    flexShrink: 0,\n  },\n  region: {\n    fontWeight: '600',\n  },\n  badges: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  badge: {\n    fontWeight: '600',\n    fontSize: 12,\n  },\n  footer: {\n    alignItems: 'flex-start',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FTripCard.tsx",[3803,38075,38076,38093,38126,38130,38148,38164,38180,38184,38193,38204,38225,38229,38233,38255,38277,38281,38287,38293,38302,38328,38351,38369,38380,38384,38397,38410,38423,38427,38442,38448,38452,38459,38484,38515,38525,38530,38534,38581,38618,38658,38670,38678,38707,38720,38728,38736,38778,38790,38801,38843,38851,38859,38887,38934,38948,38954,38963,38994,38998,39003,39011,39020,39034,39040,39048,39078,39082,39087,39095,39103,39111,39117,39123,39136,39168,39172,39184,39192,39228,39256,39261,39269,39277,39285,39293,39297,39301,39305,39310,39330,39334,39350,39357,39365,39373,39387,39394,39404,39414,39423,39442,39446,39453,39462,39466,39474,39478,39482,39489,39499,39503,39510,39518,39528,39532,39539,39546,39554,39562,39566,39573,39581,39585,39592,39600,39604,39610,39618,39622,39629,39637,39645,39649,39656,39664,39672,39676,39682,39691,39695],{"__ignoreMap":3899},[4576,38077,38078,38080,38082,38085,38087,38089,38091],{"class":4578,"line":4579},[4576,38079,4583],{"class":4582},[4576,38081,4587],{"class":4586},[4576,38083,38084],{"class":4590},"memo",[4576,38086,4594],{"class":4586},[4576,38088,4597],{"class":4582},[4576,38090,4601],{"class":4600},[4576,38092,4604],{"class":4586},[4576,38094,38095,38097,38099,38102,38104,38106,38108,38110,38112,38114,38116,38118,38120,38122,38124],{"class":4578,"line":4607},[4576,38096,4583],{"class":4582},[4576,38098,4587],{"class":4586},[4576,38100,38101],{"class":4590},"Image",[4576,38103,3806],{"class":4586},[4576,38105,15632],{"class":4590},[4576,38107,3806],{"class":4586},[4576,38109,3947],{"class":4590},[4576,38111,3806],{"class":4586},[4576,38113,4614],{"class":4590},[4576,38115,3806],{"class":4586},[4576,38117,4628],{"class":4590},[4576,38119,4594],{"class":4586},[4576,38121,4597],{"class":4582},[4576,38123,4635],{"class":4600},[4576,38125,4604],{"class":4586},[4576,38127,38128],{"class":4578,"line":4640},[4576,38129,4644],{"emptyLinePlaceholder":4643},[4576,38131,38132,38134,38136,38138,38140,38142,38144,38146],{"class":4578,"line":4647},[4576,38133,4583],{"class":4582},[4576,38135,11150],{"class":4582},[4576,38137,4587],{"class":4586},[4576,38139,22162],{"class":4590},[4576,38141,4594],{"class":4586},[4576,38143,4597],{"class":4582},[4576,38145,31044],{"class":4600},[4576,38147,4604],{"class":4586},[4576,38149,38150,38152,38154,38156,38158,38160,38162],{"class":4578,"line":4664},[4576,38151,4583],{"class":4582},[4576,38153,4587],{"class":4586},[4576,38155,23243],{"class":4590},[4576,38157,4594],{"class":4586},[4576,38159,4597],{"class":4582},[4576,38161,23250],{"class":4600},[4576,38163,4604],{"class":4586},[4576,38165,38166,38168,38170,38172,38174,38176,38178],{"class":4578,"line":4696},[4576,38167,4583],{"class":4582},[4576,38169,4587],{"class":4586},[4576,38171,22187],{"class":4590},[4576,38173,4594],{"class":4586},[4576,38175,4597],{"class":4582},[4576,38177,23699],{"class":4600},[4576,38179,4604],{"class":4586},[4576,38181,38182],{"class":4578,"line":4701},[4576,38183,4644],{"emptyLinePlaceholder":4643},[4576,38185,38186,38188,38191],{"class":4578,"line":4710},[4576,38187,4083],{"class":4653},[4576,38189,38190],{"class":4717}," TripCardProps",[4576,38192,27412],{"class":4586},[4576,38194,38195,38198,38200,38202],{"class":4578,"line":4745},[4576,38196,38197],{"class":4590},"  trip",[4576,38199,7093],{"class":4586},[4576,38201,22162],{"class":4717},[4576,38203,4604],{"class":4586},[4576,38205,38206,38208,38211,38213,38215,38217,38219,38221,38223],{"class":4578,"line":4781},[4576,38207,7075],{"class":4657},[4576,38209,38210],{"class":4586},"?: (",[4576,38212,23943],{"class":4590},[4576,38214,7093],{"class":4586},[4576,38216,22162],{"class":4717},[4576,38218,7968],{"class":4586},[4576,38220,5537],{"class":4653},[4576,38222,7083],{"class":4717},[4576,38224,4604],{"class":4586},[4576,38226,38227],{"class":4578,"line":4789},[4576,38228,12050],{"class":4586},[4576,38230,38231],{"class":4578,"line":4804},[4576,38232,4644],{"emptyLinePlaceholder":4643},[4576,38234,38235,38237,38240,38242,38244,38246,38248,38250,38253],{"class":4578,"line":4818},[4576,38236,17946],{"class":4653},[4576,38238,38239],{"class":4657}," TripCardComponent",[4576,38241,7128],{"class":4586},[4576,38243,23943],{"class":4590},[4576,38245,3806],{"class":4586},[4576,38247,4180],{"class":4590},[4576,38249,7143],{"class":4586},[4576,38251,38252],{"class":4717},"TripCardProps",[4576,38254,7149],{"class":4586},[4576,38256,38257,38259,38261,38263,38265,38267,38269,38271,38273,38275],{"class":4578,"line":4829},[4576,38258,4667],{"class":4653},[4576,38260,4587],{"class":4586},[4576,38262,23274],{"class":4673},[4576,38264,3806],{"class":4586},[4576,38266,23853],{"class":4673},[4576,38268,3806],{"class":4586},[4576,38270,31406],{"class":4673},[4576,38272,23282],{"class":4586},[4576,38274,23243],{"class":4657},[4576,38276,23287],{"class":4586},[4576,38278,38279],{"class":4578,"line":4840},[4576,38280,4644],{"emptyLinePlaceholder":4643},[4576,38282,38283,38285],{"class":4578,"line":4851},[4576,38284,4704],{"class":4582},[4576,38286,4707],{"class":4586},[4576,38288,38289,38291],{"class":4578,"line":4870},[4576,38290,4714],{"class":4713},[4576,38292,7162],{"class":4717},[4576,38294,38295,38298,38300],{"class":4578,"line":4876},[4576,38296,38297],{"class":4720},"      accessibilityRole",[4576,38299,4724],{"class":4586},[4576,38301,25497],{"class":4600},[4576,38303,38304,38307,38309,38311,38314,38316,38318,38320,38322,38324,38326],{"class":4578,"line":4886},[4576,38305,38306],{"class":4720},"      accessibilityLabel",[4576,38308,4724],{"class":4586},[4576,38310,4727],{"class":4653},[4576,38312,38313],{"class":4600},"`Поїздка ",[4576,38315,25211],{"class":4653},[4576,38317,23943],{"class":4590},[4576,38319,3857],{"class":4733},[4576,38321,7140],{"class":4590},[4576,38323,4739],{"class":4653},[4576,38325,25542],{"class":4600},[4576,38327,4801],{"class":4653},[4576,38329,38330,38332,38334,38336,38338,38340,38342,38345,38347,38349],{"class":4578,"line":4892},[4576,38331,7167],{"class":4720},[4576,38333,4724],{"class":4586},[4576,38335,4727],{"class":4653},[4576,38337,5534],{"class":4733},[4576,38339,5537],{"class":4653},[4576,38341,16453],{"class":4657},[4576,38343,38344],{"class":4733},"?.(",[4576,38346,23943],{"class":4590},[4576,38348,5723],{"class":4733},[4576,38350,4801],{"class":4653},[4576,38352,38353,38355,38357,38359,38361,38363,38365,38367],{"class":4578,"line":4897},[4576,38354,6085],{"class":4720},[4576,38356,4724],{"class":4586},[4576,38358,4727],{"class":4653},[4576,38360,7128],{"class":4733},[4576,38362,7201],{"class":4590},[4576,38364,7204],{"class":4733},[4576,38366,5537],{"class":4653},[4576,38368,7209],{"class":4733},[4576,38370,38371,38373,38375,38378],{"class":4578,"line":4902},[4576,38372,7214],{"class":4590},[4576,38374,3857],{"class":4733},[4576,38376,38377],{"class":4590},"card",[4576,38379,4992],{"class":4733},[4576,38381,38382],{"class":4578,"line":4924},[4576,38383,24697],{"class":4733},[4576,38385,38386,38389,38391,38393,38395],{"class":4578,"line":4942},[4576,38387,38388],{"class":4590},"          backgroundColor:",[4576,38390,23373],{"class":4590},[4576,38392,3857],{"class":4733},[4576,38394,25460],{"class":4590},[4576,38396,4992],{"class":4733},[4576,38398,38399,38402,38404,38406,38408],{"class":4578,"line":4974},[4576,38400,38401],{"class":4590},"          borderColor:",[4576,38403,23373],{"class":4590},[4576,38405,3857],{"class":4733},[4576,38407,25005],{"class":4590},[4576,38409,4992],{"class":4733},[4576,38411,38412,38415,38417,38419,38421],{"class":4578,"line":4983},[4576,38413,38414],{"class":4590},"          borderRadius:",[4576,38416,32572],{"class":4590},[4576,38418,3857],{"class":4733},[4576,38420,36433],{"class":4590},[4576,38422,4992],{"class":4733},[4576,38424,38425],{"class":4578,"line":4995},[4576,38426,24742],{"class":4733},[4576,38428,38429,38431,38433,38435,38437,38440],{"class":4578,"line":5006},[4576,38430,7226],{"class":4590},[4576,38432,7229],{"class":4586},[4576,38434,4908],{"class":4590},[4576,38436,3857],{"class":4733},[4576,38438,38439],{"class":4590},"cardPressed",[4576,38441,4992],{"class":4733},[4576,38443,38444,38446],{"class":4578,"line":5017},[4576,38445,7266],{"class":4733},[4576,38447,4801],{"class":4653},[4576,38449,38450],{"class":4578,"line":5027},[4576,38451,6150],{"class":4713},[4576,38453,38454,38456],{"class":4578,"line":5038},[4576,38455,4748],{"class":4713},[4576,38457,38458],{"class":4717},"Image\n",[4576,38460,38461,38464,38466,38468,38470,38473,38475,38477,38480,38482],{"class":4578,"line":5049},[4576,38462,38463],{"class":4720},"        source",[4576,38465,4724],{"class":4586},[4576,38467,4727],{"class":4653},[4576,38469,6092],{"class":4733},[4576,38471,38472],{"class":4590},"uri:",[4576,38474,24191],{"class":4590},[4576,38476,3857],{"class":4733},[4576,38478,38479],{"class":4590},"coverUri",[4576,38481,6107],{"class":4733},[4576,38483,4801],{"class":4653},[4576,38485,38486,38488,38490,38492,38494,38496,38498,38501,38503,38505,38507,38509,38511,38513],{"class":4578,"line":5055},[4576,38487,4854],{"class":4720},[4576,38489,4724],{"class":4586},[4576,38491,4727],{"class":4653},[4576,38493,6261],{"class":4733},[4576,38495,4730],{"class":4590},[4576,38497,3857],{"class":4733},[4576,38499,38500],{"class":4590},"cover",[4576,38502,6270],{"class":4733},[4576,38504,6102],{"class":4590},[4576,38506,23373],{"class":4590},[4576,38508,3857],{"class":4733},[4576,38510,25005],{"class":4590},[4576,38512,6277],{"class":4733},[4576,38514,4801],{"class":4653},[4576,38516,38517,38520,38522],{"class":4578,"line":5744},[4576,38518,38519],{"class":4720},"        resizeMode",[4576,38521,4724],{"class":4586},[4576,38523,38524],{"class":4600},"\"cover\"\n",[4576,38526,38527],{"class":4578,"line":6299},[4576,38528,38529],{"class":4720},"        accessibilityIgnoresInvertColors\n",[4576,38531,38532],{"class":4578,"line":6312},[4576,38533,4873],{"class":4713},[4576,38535,38536,38538,38540,38542,38544,38546,38548,38550,38552,38555,38557,38559,38561,38563,38565,38567,38569,38571,38573,38575,38577,38579],{"class":4578,"line":6325},[4576,38537,4748],{"class":4713},[4576,38539,4628],{"class":4717},[4576,38541,4721],{"class":4720},[4576,38543,4724],{"class":4586},[4576,38545,4727],{"class":4653},[4576,38547,6261],{"class":4733},[4576,38549,4730],{"class":4590},[4576,38551,3857],{"class":4733},[4576,38553,38554],{"class":4590},"body",[4576,38556,6270],{"class":4733},[4576,38558,6123],{"class":4590},[4576,38560,24301],{"class":4590},[4576,38562,3857],{"class":4733},[4576,38564,24306],{"class":4590},[4576,38566,3806],{"class":4733},[4576,38568,4932],{"class":4590},[4576,38570,24301],{"class":4590},[4576,38572,3857],{"class":4733},[4576,38574,24991],{"class":4590},[4576,38576,6277],{"class":4733},[4576,38578,4739],{"class":4653},[4576,38580,4742],{"class":4713},[4576,38582,38583,38585,38587,38589,38591,38593,38595,38597,38599,38602,38604,38606,38608,38610,38612,38614,38616],{"class":4578,"line":6335},[4576,38584,7289],{"class":4713},[4576,38586,4628],{"class":4717},[4576,38588,4721],{"class":4720},[4576,38590,4724],{"class":4586},[4576,38592,4727],{"class":4653},[4576,38594,6261],{"class":4733},[4576,38596,4730],{"class":4590},[4576,38598,3857],{"class":4733},[4576,38600,38601],{"class":4590},"titleRow",[4576,38603,6270],{"class":4733},[4576,38605,4932],{"class":4590},[4576,38607,24301],{"class":4590},[4576,38609,3857],{"class":4733},[4576,38611,24365],{"class":4590},[4576,38613,6277],{"class":4733},[4576,38615,4739],{"class":4653},[4576,38617,4742],{"class":4713},[4576,38619,38620,38622,38624,38626,38628,38630,38633,38635,38637,38639,38641,38643,38645,38647,38649,38651,38654,38656],{"class":4578,"line":6350},[4576,38621,9168],{"class":4713},[4576,38623,22187],{"class":4717},[4576,38625,24761],{"class":4720},[4576,38627,4724],{"class":4586},[4576,38629,24766],{"class":4600},[4576,38631,38632],{"class":4720}," numberOfLines",[4576,38634,4724],{"class":4586},[4576,38636,4727],{"class":4653},[4576,38638,10566],{"class":4935},[4576,38640,4739],{"class":4653},[4576,38642,4721],{"class":4720},[4576,38644,4724],{"class":4586},[4576,38646,4727],{"class":4653},[4576,38648,4730],{"class":4590},[4576,38650,3857],{"class":4733},[4576,38652,38653],{"class":4590},"titleFlex",[4576,38655,4739],{"class":4653},[4576,38657,4742],{"class":4713},[4576,38659,38660,38662,38664,38666,38668],{"class":4578,"line":6359},[4576,38661,9245],{"class":4653},[4576,38663,23943],{"class":4590},[4576,38665,3857],{"class":4733},[4576,38667,7140],{"class":4590},[4576,38669,4801],{"class":4653},[4576,38671,38672,38674,38676],{"class":4578,"line":6368},[4576,38673,9264],{"class":4713},[4576,38675,22187],{"class":4717},[4576,38677,4742],{"class":4713},[4576,38679,38680,38682,38684,38686,38688,38690,38692,38694,38696,38698,38700,38703,38705],{"class":4578,"line":6377},[4576,38681,9168],{"class":4713},[4576,38683,22187],{"class":4717},[4576,38685,24761],{"class":4720},[4576,38687,4724],{"class":4586},[4576,38689,25059],{"class":4600},[4576,38691,4721],{"class":4720},[4576,38693,4724],{"class":4586},[4576,38695,4727],{"class":4653},[4576,38697,4730],{"class":4590},[4576,38699,3857],{"class":4733},[4576,38701,38702],{"class":4590},"dates",[4576,38704,4739],{"class":4653},[4576,38706,4742],{"class":4713},[4576,38708,38709,38711,38713,38715,38718],{"class":4578,"line":6417},[4576,38710,9245],{"class":4653},[4576,38712,23943],{"class":4590},[4576,38714,3857],{"class":4733},[4576,38716,38717],{"class":4590},"dateLabel",[4576,38719,4801],{"class":4653},[4576,38721,38722,38724,38726],{"class":4578,"line":6422},[4576,38723,9264],{"class":4713},[4576,38725,22187],{"class":4717},[4576,38727,4742],{"class":4713},[4576,38729,38730,38732,38734],{"class":4578,"line":6427},[4576,38731,9273],{"class":4713},[4576,38733,4628],{"class":4717},[4576,38735,4742],{"class":4713},[4576,38737,38738,38740,38742,38744,38746,38748,38750,38752,38754,38756,38758,38760,38762,38764,38766,38768,38770,38772,38774,38776],{"class":4578,"line":6469},[4576,38739,7289],{"class":4713},[4576,38741,22187],{"class":4717},[4576,38743,24761],{"class":4720},[4576,38745,4724],{"class":4586},[4576,38747,25059],{"class":4600},[4576,38749,7294],{"class":4720},[4576,38751,4724],{"class":4586},[4576,38753,4727],{"class":4653},[4576,38755,23274],{"class":4590},[4576,38757,3857],{"class":4733},[4576,38759,25164],{"class":4590},[4576,38761,4739],{"class":4653},[4576,38763,4721],{"class":4720},[4576,38765,4724],{"class":4586},[4576,38767,4727],{"class":4653},[4576,38769,4730],{"class":4590},[4576,38771,3857],{"class":4733},[4576,38773,11193],{"class":4590},[4576,38775,4739],{"class":4653},[4576,38777,4742],{"class":4713},[4576,38779,38780,38782,38784,38786,38788],{"class":4578,"line":6476},[4576,38781,11363],{"class":4653},[4576,38783,23943],{"class":4590},[4576,38785,3857],{"class":4733},[4576,38787,11193],{"class":4590},[4576,38789,4801],{"class":4653},[4576,38791,38792,38794,38796,38798],{"class":4578,"line":6489},[4576,38793,11363],{"class":4653},[4576,38795,23943],{"class":4590},[4576,38797,3857],{"class":4733},[4576,38799,38800],{"class":4590},"plannedDays\n",[4576,38802,38803,38805,38808,38810,38812,38814,38816,38818,38820,38822,38824,38826,38828,38830,38832,38834,38836,38838,38840],{"class":4578,"line":6502},[4576,38804,25205],{"class":4586},[4576,38806,38807],{"class":4600}," ` · ",[4576,38809,25211],{"class":4653},[4576,38811,23943],{"class":4590},[4576,38813,3857],{"class":4733},[4576,38815,22299],{"class":4590},[4576,38817,4739],{"class":4653},[4576,38819,28409],{"class":4653},[4576,38821,23943],{"class":4590},[4576,38823,3857],{"class":4733},[4576,38825,22299],{"class":4590},[4576,38827,10519],{"class":4586},[4576,38829,4989],{"class":4935},[4576,38831,7282],{"class":4586},[4576,38833,10526],{"class":4600},[4576,38835,8033],{"class":4586},[4576,38837,34902],{"class":4600},[4576,38839,4739],{"class":4653},[4576,38841,38842],{"class":4600},"`\n",[4576,38844,38845,38847,38849],{"class":4578,"line":6512},[4576,38846,25240],{"class":4586},[4576,38848,14251],{"class":4600},[4576,38850,4801],{"class":4653},[4576,38852,38853,38855,38857],{"class":4578,"line":6525},[4576,38854,9273],{"class":4713},[4576,38856,22187],{"class":4717},[4576,38858,4742],{"class":4713},[4576,38860,38861,38863,38865,38867,38869,38871,38874,38876,38878,38880,38882,38885],{"class":4578,"line":6535},[4576,38862,15958],{"class":4653},[4576,38864,4687],{"class":4733},[4576,38866,23943],{"class":4590},[4576,38868,3857],{"class":4733},[4576,38870,8382],{"class":4590},[4576,38872,38873],{"class":4586}," ||",[4576,38875,24191],{"class":4590},[4576,38877,3857],{"class":4733},[4576,38879,22302],{"class":4590},[4576,38881,7968],{"class":4733},[4576,38883,38884],{"class":4586},"&&",[4576,38886,4707],{"class":4733},[4576,38888,38889,38891,38893,38895,38897,38899,38901,38903,38905,38908,38910,38912,38914,38916,38918,38920,38922,38924,38926,38928,38930,38932],{"class":4578,"line":6574},[4576,38890,9168],{"class":4713},[4576,38892,4628],{"class":4717},[4576,38894,4721],{"class":4720},[4576,38896,4724],{"class":4586},[4576,38898,4727],{"class":4653},[4576,38900,6261],{"class":4733},[4576,38902,4730],{"class":4590},[4576,38904,3857],{"class":4733},[4576,38906,38907],{"class":4590},"badges",[4576,38909,6270],{"class":4733},[4576,38911,4932],{"class":4590},[4576,38913,24301],{"class":4590},[4576,38915,3857],{"class":4733},[4576,38917,24991],{"class":4590},[4576,38919,3806],{"class":4733},[4576,38921,8751],{"class":4590},[4576,38923,24301],{"class":4590},[4576,38925,3857],{"class":4733},[4576,38927,24991],{"class":4590},[4576,38929,6277],{"class":4733},[4576,38931,4739],{"class":4653},[4576,38933,4742],{"class":4713},[4576,38935,38936,38938,38940,38942,38944,38946],{"class":4578,"line":6579},[4576,38937,9245],{"class":4653},[4576,38939,23943],{"class":4590},[4576,38941,3857],{"class":4733},[4576,38943,8382],{"class":4590},[4576,38945,7282],{"class":4586},[4576,38947,4707],{"class":4733},[4576,38949,38950,38952],{"class":4578,"line":6584},[4576,38951,19134],{"class":4713},[4576,38953,24803],{"class":4717},[4576,38955,38956,38959,38961],{"class":4578,"line":6626},[4576,38957,38958],{"class":4720},"                variant",[4576,38960,4724],{"class":4586},[4576,38962,24813],{"class":4600},[4576,38964,38965,38967,38969,38971,38973,38975,38977,38980,38982,38984,38986,38988,38990,38992],{"class":4578,"line":6633},[4576,38966,25413],{"class":4720},[4576,38968,4724],{"class":4586},[4576,38970,4727],{"class":4653},[4576,38972,6261],{"class":4733},[4576,38974,4730],{"class":4590},[4576,38976,3857],{"class":4733},[4576,38978,38979],{"class":4590},"badge",[4576,38981,6270],{"class":4733},[4576,38983,6167],{"class":4590},[4576,38985,23373],{"class":4590},[4576,38987,3857],{"class":4733},[4576,38989,24829],{"class":4590},[4576,38991,6277],{"class":4733},[4576,38993,4801],{"class":4653},[4576,38995,38996],{"class":4578,"line":6646},[4576,38997,25549],{"class":4713},[4576,38999,39000],{"class":4578,"line":6659},[4576,39001,39002],{"class":4733},"                приватна\n",[4576,39004,39005,39007,39009],{"class":4578,"line":6669},[4576,39006,19248],{"class":4713},[4576,39008,22187],{"class":4717},[4576,39010,4742],{"class":4713},[4576,39012,39013,39016,39018],{"class":4578,"line":6682},[4576,39014,39015],{"class":4733},"            ) ",[4576,39017,6978],{"class":4586},[4576,39019,16009],{"class":4653},[4576,39021,39022,39024,39026,39028,39030,39032],{"class":4578,"line":6688},[4576,39023,9245],{"class":4653},[4576,39025,23943],{"class":4590},[4576,39027,3857],{"class":4733},[4576,39029,22302],{"class":4590},[4576,39031,7282],{"class":4586},[4576,39033,4707],{"class":4733},[4576,39035,39036,39038],{"class":4578,"line":6699},[4576,39037,19134],{"class":4713},[4576,39039,24803],{"class":4717},[4576,39041,39042,39044,39046],{"class":4578,"line":6711},[4576,39043,38958],{"class":4720},[4576,39045,4724],{"class":4586},[4576,39047,24813],{"class":4600},[4576,39049,39050,39052,39054,39056,39058,39060,39062,39064,39066,39068,39070,39072,39074,39076],{"class":4578,"line":6723},[4576,39051,25413],{"class":4720},[4576,39053,4724],{"class":4586},[4576,39055,4727],{"class":4653},[4576,39057,6261],{"class":4733},[4576,39059,4730],{"class":4590},[4576,39061,3857],{"class":4733},[4576,39063,38979],{"class":4590},[4576,39065,6270],{"class":4733},[4576,39067,6167],{"class":4590},[4576,39069,23373],{"class":4590},[4576,39071,3857],{"class":4733},[4576,39073,25164],{"class":4590},[4576,39075,6277],{"class":4733},[4576,39077,4801],{"class":4653},[4576,39079,39080],{"class":4578,"line":6735},[4576,39081,25549],{"class":4713},[4576,39083,39084],{"class":4578,"line":6759},[4576,39085,39086],{"class":4733},"                є план\n",[4576,39088,39089,39091,39093],{"class":4578,"line":6767},[4576,39090,19248],{"class":4713},[4576,39092,22187],{"class":4717},[4576,39094,4742],{"class":4713},[4576,39096,39097,39099,39101],{"class":4578,"line":6772},[4576,39098,39015],{"class":4733},[4576,39100,6978],{"class":4586},[4576,39102,16009],{"class":4653},[4576,39104,39105,39107,39109],{"class":4578,"line":6781},[4576,39106,9264],{"class":4713},[4576,39108,4628],{"class":4717},[4576,39110,4742],{"class":4713},[4576,39112,39113,39115],{"class":4578,"line":6786},[4576,39114,21256],{"class":4733},[4576,39116,4801],{"class":4653},[4576,39118,39119,39121],{"class":4578,"line":6791},[4576,39120,7289],{"class":4713},[4576,39122,24803],{"class":4717},[4576,39124,39125,39128,39130,39132,39134],{"class":4578,"line":6796},[4576,39126,39127],{"class":4720},"          numberOfLines",[4576,39129,4724],{"class":4586},[4576,39131,4727],{"class":4653},[4576,39133,12562],{"class":4935},[4576,39135,4801],{"class":4653},[4576,39137,39138,39140,39142,39144,39146,39148,39150,39152,39154,39156,39158,39160,39162,39164,39166],{"class":4578,"line":6813},[4576,39139,15491],{"class":4720},[4576,39141,4724],{"class":4586},[4576,39143,4727],{"class":4653},[4576,39145,6092],{"class":4733},[4576,39147,8751],{"class":4590},[4576,39149,24301],{"class":4590},[4576,39151,3857],{"class":4733},[4576,39153,24991],{"class":4590},[4576,39155,3806],{"class":4733},[4576,39157,6167],{"class":4590},[4576,39159,23373],{"class":4590},[4576,39161,3857],{"class":4733},[4576,39163,24829],{"class":4590},[4576,39165,6107],{"class":4733},[4576,39167,4801],{"class":4653},[4576,39169,39170],{"class":4578,"line":6838},[4576,39171,11358],{"class":4713},[4576,39173,39174,39176,39178,39180,39182],{"class":4578,"line":6845},[4576,39175,11363],{"class":4653},[4576,39177,23943],{"class":4590},[4576,39179,3857],{"class":4733},[4576,39181,31782],{"class":4590},[4576,39183,4801],{"class":4653},[4576,39185,39186,39188,39190],{"class":4578,"line":6854},[4576,39187,9273],{"class":4713},[4576,39189,22187],{"class":4717},[4576,39191,4742],{"class":4713},[4576,39193,39194,39196,39198,39200,39202,39204,39206,39208,39210,39212,39214,39216,39218,39220,39222,39224,39226],{"class":4578,"line":6863},[4576,39195,7289],{"class":4713},[4576,39197,4628],{"class":4717},[4576,39199,4721],{"class":4720},[4576,39201,4724],{"class":4586},[4576,39203,4727],{"class":4653},[4576,39205,6261],{"class":4733},[4576,39207,4730],{"class":4590},[4576,39209,3857],{"class":4733},[4576,39211,26013],{"class":4590},[4576,39213,6270],{"class":4733},[4576,39215,8751],{"class":4590},[4576,39217,24301],{"class":4590},[4576,39219,3857],{"class":4733},[4576,39221,24365],{"class":4590},[4576,39223,6277],{"class":4733},[4576,39225,4739],{"class":4653},[4576,39227,4742],{"class":4713},[4576,39229,39230,39232,39234,39236,39238,39240,39242,39244,39246,39248,39250,39252,39254],{"class":4578,"line":6872},[4576,39231,9168],{"class":4713},[4576,39233,22187],{"class":4717},[4576,39235,24761],{"class":4720},[4576,39237,4724],{"class":4586},[4576,39239,25059],{"class":4600},[4576,39241,7294],{"class":4720},[4576,39243,4724],{"class":4586},[4576,39245,4727],{"class":4653},[4576,39247,23274],{"class":4590},[4576,39249,3857],{"class":4733},[4576,39251,25164],{"class":4590},[4576,39253,4739],{"class":4653},[4576,39255,4742],{"class":4713},[4576,39257,39258],{"class":4578,"line":6881},[4576,39259,39260],{"class":4586},"            Відкрити\n",[4576,39262,39263,39265,39267],{"class":4578,"line":6890},[4576,39264,9264],{"class":4713},[4576,39266,22187],{"class":4717},[4576,39268,4742],{"class":4713},[4576,39270,39271,39273,39275],{"class":4578,"line":6899},[4576,39272,9273],{"class":4713},[4576,39274,4628],{"class":4717},[4576,39276,4742],{"class":4713},[4576,39278,39279,39281,39283],{"class":4578,"line":6904},[4576,39280,6238],{"class":4713},[4576,39282,4628],{"class":4717},[4576,39284,4742],{"class":4713},[4576,39286,39287,39289,39291],{"class":4578,"line":6920},[4576,39288,4879],{"class":4713},[4576,39290,3947],{"class":4717},[4576,39292,4742],{"class":4713},[4576,39294,39295],{"class":4578,"line":16012},[4576,39296,4889],{"class":4586},[4576,39298,39299],{"class":4578,"line":16017},[4576,39300,4801],{"class":4586},[4576,39302,39303],{"class":4578,"line":16058},[4576,39304,4644],{"emptyLinePlaceholder":4643},[4576,39306,39307],{"class":4578,"line":16065},[4576,39308,39309],{"class":9599},"\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\n",[4576,39311,39312,39314,39316,39319,39321,39323,39325,39328],{"class":4578,"line":16078},[4576,39313,4650],{"class":4582},[4576,39315,10058],{"class":4653},[4576,39317,39318],{"class":4673}," TripCard",[4576,39320,4911],{"class":4586},[4576,39322,38084],{"class":4657},[4576,39324,4687],{"class":4586},[4576,39326,39327],{"class":4590},"TripCardComponent",[4576,39329,4693],{"class":4586},[4576,39331,39332],{"class":4578,"line":16091},[4576,39333,4644],{"emptyLinePlaceholder":4643},[4576,39335,39336,39338,39340,39342,39344,39346,39348],{"class":4578,"line":16101},[4576,39337,4905],{"class":4653},[4576,39339,4908],{"class":4673},[4576,39341,4911],{"class":4586},[4576,39343,4614],{"class":4590},[4576,39345,3857],{"class":4586},[4576,39347,4918],{"class":4657},[4576,39349,4921],{"class":4586},[4576,39351,39352,39355],{"class":4578,"line":16111},[4576,39353,39354],{"class":4590},"  card:",[4576,39356,4980],{"class":4586},[4576,39358,39359,39361,39363],{"class":4578,"line":16120},[4576,39360,4986],{"class":4590},[4576,39362,4989],{"class":4935},[4576,39364,4992],{"class":4586},[4576,39366,39367,39369,39371],{"class":4578,"line":16133},[4576,39368,11563],{"class":4590},[4576,39370,11566],{"class":4600},[4576,39372,4992],{"class":4586},[4576,39374,39375,39378,39380,39382,39385],{"class":4578,"line":16144},[4576,39376,39377],{"class":4586},"    ...",[4576,39379,15632],{"class":4590},[4576,39381,3857],{"class":4586},[4576,39383,39384],{"class":4657},"select",[4576,39386,4921],{"class":4586},[4576,39388,39389,39392],{"class":4578,"line":16155},[4576,39390,39391],{"class":4590},"      ios:",[4576,39393,4980],{"class":4586},[4576,39395,39396,39399,39402],{"class":4578,"line":16190},[4576,39397,39398],{"class":4590},"        shadowColor:",[4576,39400,39401],{"class":4600}," '#000'",[4576,39403,4992],{"class":4586},[4576,39405,39406,39409,39412],{"class":4578,"line":16197},[4576,39407,39408],{"class":4590},"        shadowOpacity:",[4576,39410,39411],{"class":4935}," 0.08",[4576,39413,4992],{"class":4586},[4576,39415,39416,39419,39421],{"class":4578,"line":16202},[4576,39417,39418],{"class":4590},"        shadowRadius:",[4576,39420,15684],{"class":4935},[4576,39422,4992],{"class":4586},[4576,39424,39425,39428,39430,39432,39434,39436,39438,39440],{"class":4578,"line":16257},[4576,39426,39427],{"class":4590},"        shadowOffset:",[4576,39429,4587],{"class":4586},[4576,39431,24548],{"class":4590},[4576,39433,24338],{"class":4935},[4576,39435,3806],{"class":4586},[4576,39437,25859],{"class":4590},[4576,39439,9228],{"class":4935},[4576,39441,4939],{"class":4586},[4576,39443,39444],{"class":4578,"line":16262},[4576,39445,22988],{"class":4586},[4576,39447,39448,39451],{"class":4578,"line":16285},[4576,39449,39450],{"class":4590},"      android:",[4576,39452,4980],{"class":4586},[4576,39454,39455,39458,39460],{"class":4578,"line":16325},[4576,39456,39457],{"class":4590},"        elevation:",[4576,39459,31576],{"class":4935},[4576,39461,4992],{"class":4586},[4576,39463,39464],{"class":4578,"line":16377},[4576,39465,22988],{"class":4586},[4576,39467,39468,39471],{"class":4578,"line":16386},[4576,39469,39470],{"class":4590},"      default:",[4576,39472,39473],{"class":4586}," {},\n",[4576,39475,39476],{"class":4578,"line":16441},[4576,39477,27910],{"class":4586},[4576,39479,39480],{"class":4578,"line":16446},[4576,39481,5052],{"class":4586},[4576,39483,39484,39487],{"class":4578,"line":16491},[4576,39485,39486],{"class":4590},"  cardPressed:",[4576,39488,4980],{"class":4586},[4576,39490,39491,39494,39497],{"class":4578,"line":16523},[4576,39492,39493],{"class":4590},"    opacity:",[4576,39495,39496],{"class":4935}," 0.92",[4576,39498,4992],{"class":4586},[4576,39500,39501],{"class":4578,"line":16532},[4576,39502,5052],{"class":4586},[4576,39504,39505,39508],{"class":4578,"line":16541},[4576,39506,39507],{"class":4590},"  cover:",[4576,39509,4980],{"class":4586},[4576,39511,39512,39514,39516],{"class":4578,"line":16550},[4576,39513,37901],{"class":4590},[4576,39515,37904],{"class":4600},[4576,39517,4992],{"class":4586},[4576,39519,39520,39523,39526],{"class":4578,"line":16555},[4576,39521,39522],{"class":4590},"    height:",[4576,39524,39525],{"class":4935}," 160",[4576,39527,4992],{"class":4586},[4576,39529,39530],{"class":4578,"line":16560},[4576,39531,5052],{"class":4586},[4576,39533,39534,39537],{"class":4578,"line":16565},[4576,39535,39536],{"class":4590},"  body:",[4576,39538,39473],{"class":4586},[4576,39540,39541,39544],{"class":4578,"line":16582},[4576,39542,39543],{"class":4590},"  titleRow:",[4576,39545,4980],{"class":4586},[4576,39547,39548,39550,39552],{"class":4578,"line":16614},[4576,39549,8654],{"class":4590},[4576,39551,8657],{"class":4600},[4576,39553,4992],{"class":4586},[4576,39555,39556,39558,39560],{"class":4578,"line":16645},[4576,39557,7427],{"class":4590},[4576,39559,7430],{"class":4600},[4576,39561,4992],{"class":4586},[4576,39563,39564],{"class":4578,"line":16652},[4576,39565,5052],{"class":4586},[4576,39567,39568,39571],{"class":4578,"line":16661},[4576,39569,39570],{"class":4590},"  titleFlex:",[4576,39572,4980],{"class":4586},[4576,39574,39575,39577,39579],{"class":4578,"line":16670},[4576,39576,21384],{"class":4590},[4576,39578,4989],{"class":4935},[4576,39580,4992],{"class":4586},[4576,39582,39583],{"class":4578,"line":16679},[4576,39584,5052],{"class":4586},[4576,39586,39587,39590],{"class":4578,"line":16688},[4576,39588,39589],{"class":4590},"  dates:",[4576,39591,4980],{"class":4586},[4576,39593,39594,39596,39598],{"class":4578,"line":16697},[4576,39595,38030],{"class":4590},[4576,39597,24338],{"class":4935},[4576,39599,4992],{"class":4586},[4576,39601,39602],{"class":4578,"line":16706},[4576,39603,5052],{"class":4586},[4576,39605,39606,39608],{"class":4578,"line":16711},[4576,39607,11720],{"class":4590},[4576,39609,4980],{"class":4586},[4576,39611,39612,39614,39616],{"class":4578,"line":16742},[4576,39613,21442],{"class":4590},[4576,39615,8726],{"class":4600},[4576,39617,4992],{"class":4586},[4576,39619,39620],{"class":4578,"line":16773},[4576,39621,5052],{"class":4586},[4576,39623,39624,39627],{"class":4578,"line":16792},[4576,39625,39626],{"class":4590},"  badges:",[4576,39628,4980],{"class":4586},[4576,39630,39631,39633,39635],{"class":4578,"line":18926},[4576,39632,8654],{"class":4590},[4576,39634,8657],{"class":4600},[4576,39636,4992],{"class":4586},[4576,39638,39639,39641,39643],{"class":4578,"line":18936},[4576,39640,26254],{"class":4590},[4576,39642,26257],{"class":4600},[4576,39644,4992],{"class":4586},[4576,39646,39647],{"class":4578,"line":18945},[4576,39648,5052],{"class":4586},[4576,39650,39651,39654],{"class":4578,"line":18955},[4576,39652,39653],{"class":4590},"  badge:",[4576,39655,4980],{"class":4586},[4576,39657,39658,39660,39662],{"class":4578,"line":18964},[4576,39659,21442],{"class":4590},[4576,39661,8726],{"class":4600},[4576,39663,4992],{"class":4586},[4576,39665,39666,39668,39670],{"class":4578,"line":18969},[4576,39667,5030],{"class":4590},[4576,39669,5001],{"class":4935},[4576,39671,4992],{"class":4586},[4576,39673,39674],{"class":4578,"line":18976},[4576,39675,5052],{"class":4586},[4576,39677,39678,39680],{"class":4578,"line":18981},[4576,39679,26415],{"class":4590},[4576,39681,4980],{"class":4586},[4576,39683,39684,39686,39689],{"class":4578,"line":19008},[4576,39685,7427],{"class":4590},[4576,39687,39688],{"class":4600}," 'flex-start'",[4576,39690,4992],{"class":4586},[4576,39692,39693],{"class":4578,"line":19013},[4576,39694,5052],{"class":4586},[4576,39696,39697],{"class":4578,"line":19030},[4576,39698,5058],{"class":4586},[3891,39700,39703],{"className":4570,"code":39701,"filename":39702,"language":4572,"meta":3899,"style":3899},"import { memo } from 'react';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport type { Place } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype PlaceChipProps = {\n  place: Place;\n  onPress?: (place: Place) => void;\n};\n\nfunction PlaceChipComponent({ place, onPress }: PlaceChipProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Місце ${place.name}, ${place.city}`}\n      onPress={() => onPress?.(place)}\n      style={({ pressed }) => [\n        styles.chip,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.md,\n          padding: spacing.sm,\n          opacity: pressed ? 0.9 : 1,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.name}>\n        {place.name}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.primary} style={styles.city}>\n        {place.city}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" numberOfLines={2} style={styles.note}>\n        {place.note}\n      \u003C\u002FAppText>\n    \u003C\u002FPressable>\n  );\n}\n\nexport const PlaceChip = memo(PlaceChipComponent);\n\nconst styles = StyleSheet.create({\n  chip: {\n    width: 160,\n    borderWidth: 1,\n    minHeight: 96,\n  },\n  name: {\n    fontSize: 16,\n  },\n  city: {\n    marginTop: 4,\n    fontWeight: '600',\n  },\n  note: {\n    marginTop: 6,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FPlaceChip.tsx",[3803,39704,39705,39721,39741,39745,39763,39779,39795,39799,39808,39819,39839,39843,39847,39869,39891,39895,39901,39907,39915,39953,39975,39993,40004,40008,40020,40032,40044,40057,40075,40079,40085,40089,40127,40139,40147,40189,40201,40209,40247,40259,40267,40275,40279,40283,40287,40307,40311,40327,40334,40342,40350,40358,40362,40368,40376,40380,40387,40395,40403,40407,40413,40421,40425],{"__ignoreMap":3899},[4576,39706,39707,39709,39711,39713,39715,39717,39719],{"class":4578,"line":4579},[4576,39708,4583],{"class":4582},[4576,39710,4587],{"class":4586},[4576,39712,38084],{"class":4590},[4576,39714,4594],{"class":4586},[4576,39716,4597],{"class":4582},[4576,39718,4601],{"class":4600},[4576,39720,4604],{"class":4586},[4576,39722,39723,39725,39727,39729,39731,39733,39735,39737,39739],{"class":4578,"line":4607},[4576,39724,4583],{"class":4582},[4576,39726,4587],{"class":4586},[4576,39728,3947],{"class":4590},[4576,39730,3806],{"class":4586},[4576,39732,4614],{"class":4590},[4576,39734,4594],{"class":4586},[4576,39736,4597],{"class":4582},[4576,39738,4635],{"class":4600},[4576,39740,4604],{"class":4586},[4576,39742,39743],{"class":4578,"line":4640},[4576,39744,4644],{"emptyLinePlaceholder":4643},[4576,39746,39747,39749,39751,39753,39755,39757,39759,39761],{"class":4578,"line":4647},[4576,39748,4583],{"class":4582},[4576,39750,11150],{"class":4582},[4576,39752,4587],{"class":4586},[4576,39754,23891],{"class":4590},[4576,39756,4594],{"class":4586},[4576,39758,4597],{"class":4582},[4576,39760,31044],{"class":4600},[4576,39762,4604],{"class":4586},[4576,39764,39765,39767,39769,39771,39773,39775,39777],{"class":4578,"line":4664},[4576,39766,4583],{"class":4582},[4576,39768,4587],{"class":4586},[4576,39770,23243],{"class":4590},[4576,39772,4594],{"class":4586},[4576,39774,4597],{"class":4582},[4576,39776,23250],{"class":4600},[4576,39778,4604],{"class":4586},[4576,39780,39781,39783,39785,39787,39789,39791,39793],{"class":4578,"line":4696},[4576,39782,4583],{"class":4582},[4576,39784,4587],{"class":4586},[4576,39786,22187],{"class":4590},[4576,39788,4594],{"class":4586},[4576,39790,4597],{"class":4582},[4576,39792,23699],{"class":4600},[4576,39794,4604],{"class":4586},[4576,39796,39797],{"class":4578,"line":4701},[4576,39798,4644],{"emptyLinePlaceholder":4643},[4576,39800,39801,39803,39806],{"class":4578,"line":4710},[4576,39802,4083],{"class":4653},[4576,39804,39805],{"class":4717}," PlaceChipProps",[4576,39807,27412],{"class":4586},[4576,39809,39810,39813,39815,39817],{"class":4578,"line":4745},[4576,39811,39812],{"class":4590},"  place",[4576,39814,7093],{"class":4586},[4576,39816,23891],{"class":4717},[4576,39818,4604],{"class":4586},[4576,39820,39821,39823,39825,39827,39829,39831,39833,39835,39837],{"class":4578,"line":4781},[4576,39822,7075],{"class":4657},[4576,39824,38210],{"class":4586},[4576,39826,24010],{"class":4590},[4576,39828,7093],{"class":4586},[4576,39830,23891],{"class":4717},[4576,39832,7968],{"class":4586},[4576,39834,5537],{"class":4653},[4576,39836,7083],{"class":4717},[4576,39838,4604],{"class":4586},[4576,39840,39841],{"class":4578,"line":4789},[4576,39842,12050],{"class":4586},[4576,39844,39845],{"class":4578,"line":4804},[4576,39846,4644],{"emptyLinePlaceholder":4643},[4576,39848,39849,39851,39854,39856,39858,39860,39862,39864,39867],{"class":4578,"line":4818},[4576,39850,17946],{"class":4653},[4576,39852,39853],{"class":4657}," PlaceChipComponent",[4576,39855,7128],{"class":4586},[4576,39857,24010],{"class":4590},[4576,39859,3806],{"class":4586},[4576,39861,4180],{"class":4590},[4576,39863,7143],{"class":4586},[4576,39865,39866],{"class":4717},"PlaceChipProps",[4576,39868,7149],{"class":4586},[4576,39870,39871,39873,39875,39877,39879,39881,39883,39885,39887,39889],{"class":4578,"line":4829},[4576,39872,4667],{"class":4653},[4576,39874,4587],{"class":4586},[4576,39876,23274],{"class":4673},[4576,39878,3806],{"class":4586},[4576,39880,23853],{"class":4673},[4576,39882,3806],{"class":4586},[4576,39884,31406],{"class":4673},[4576,39886,23282],{"class":4586},[4576,39888,23243],{"class":4657},[4576,39890,23287],{"class":4586},[4576,39892,39893],{"class":4578,"line":4840},[4576,39894,4644],{"emptyLinePlaceholder":4643},[4576,39896,39897,39899],{"class":4578,"line":4851},[4576,39898,4704],{"class":4582},[4576,39900,4707],{"class":4586},[4576,39902,39903,39905],{"class":4578,"line":4870},[4576,39904,4714],{"class":4713},[4576,39906,7162],{"class":4717},[4576,39908,39909,39911,39913],{"class":4578,"line":4876},[4576,39910,38297],{"class":4720},[4576,39912,4724],{"class":4586},[4576,39914,25497],{"class":4600},[4576,39916,39917,39919,39921,39923,39926,39928,39930,39932,39934,39936,39938,39940,39942,39944,39947,39949,39951],{"class":4578,"line":4886},[4576,39918,38306],{"class":4720},[4576,39920,4724],{"class":4586},[4576,39922,4727],{"class":4653},[4576,39924,39925],{"class":4600},"`Місце ",[4576,39927,25211],{"class":4653},[4576,39929,24010],{"class":4590},[4576,39931,3857],{"class":4733},[4576,39933,4674],{"class":4590},[4576,39935,4739],{"class":4653},[4576,39937,3806],{"class":4600},[4576,39939,25211],{"class":4653},[4576,39941,24010],{"class":4590},[4576,39943,3857],{"class":4733},[4576,39945,39946],{"class":4590},"city",[4576,39948,4739],{"class":4653},[4576,39950,25542],{"class":4600},[4576,39952,4801],{"class":4653},[4576,39954,39955,39957,39959,39961,39963,39965,39967,39969,39971,39973],{"class":4578,"line":4892},[4576,39956,7167],{"class":4720},[4576,39958,4724],{"class":4586},[4576,39960,4727],{"class":4653},[4576,39962,5534],{"class":4733},[4576,39964,5537],{"class":4653},[4576,39966,16453],{"class":4657},[4576,39968,38344],{"class":4733},[4576,39970,24010],{"class":4590},[4576,39972,5723],{"class":4733},[4576,39974,4801],{"class":4653},[4576,39976,39977,39979,39981,39983,39985,39987,39989,39991],{"class":4578,"line":4897},[4576,39978,6085],{"class":4720},[4576,39980,4724],{"class":4586},[4576,39982,4727],{"class":4653},[4576,39984,7128],{"class":4733},[4576,39986,7201],{"class":4590},[4576,39988,7204],{"class":4733},[4576,39990,5537],{"class":4653},[4576,39992,7209],{"class":4733},[4576,39994,39995,39997,39999,40002],{"class":4578,"line":4902},[4576,39996,7214],{"class":4590},[4576,39998,3857],{"class":4733},[4576,40000,40001],{"class":4590},"chip",[4576,40003,4992],{"class":4733},[4576,40005,40006],{"class":4578,"line":4924},[4576,40007,24697],{"class":4733},[4576,40009,40010,40012,40014,40016,40018],{"class":4578,"line":4942},[4576,40011,38388],{"class":4590},[4576,40013,23373],{"class":4590},[4576,40015,3857],{"class":4733},[4576,40017,25460],{"class":4590},[4576,40019,4992],{"class":4733},[4576,40021,40022,40024,40026,40028,40030],{"class":4578,"line":4974},[4576,40023,38401],{"class":4590},[4576,40025,23373],{"class":4590},[4576,40027,3857],{"class":4733},[4576,40029,25005],{"class":4590},[4576,40031,4992],{"class":4733},[4576,40033,40034,40036,40038,40040,40042],{"class":4578,"line":4983},[4576,40035,38414],{"class":4590},[4576,40037,32572],{"class":4590},[4576,40039,3857],{"class":4733},[4576,40041,24306],{"class":4590},[4576,40043,4992],{"class":4733},[4576,40045,40046,40049,40051,40053,40055],{"class":4578,"line":4995},[4576,40047,40048],{"class":4590},"          padding:",[4576,40050,24301],{"class":4590},[4576,40052,3857],{"class":4733},[4576,40054,24365],{"class":4590},[4576,40056,4992],{"class":4733},[4576,40058,40059,40062,40064,40066,40069,40071,40073],{"class":4578,"line":5006},[4576,40060,40061],{"class":4590},"          opacity:",[4576,40063,8026],{"class":4590},[4576,40065,7282],{"class":4586},[4576,40067,40068],{"class":4935}," 0.9",[4576,40070,8033],{"class":4586},[4576,40072,4989],{"class":4935},[4576,40074,4992],{"class":4733},[4576,40076,40077],{"class":4578,"line":5017},[4576,40078,24742],{"class":4733},[4576,40080,40081,40083],{"class":4578,"line":5027},[4576,40082,7266],{"class":4733},[4576,40084,4801],{"class":4653},[4576,40086,40087],{"class":4578,"line":5038},[4576,40088,6150],{"class":4713},[4576,40090,40091,40093,40095,40097,40099,40101,40103,40105,40107,40109,40111,40113,40115,40117,40119,40121,40123,40125],{"class":4578,"line":5049},[4576,40092,4748],{"class":4713},[4576,40094,22187],{"class":4717},[4576,40096,24761],{"class":4720},[4576,40098,4724],{"class":4586},[4576,40100,24766],{"class":4600},[4576,40102,38632],{"class":4720},[4576,40104,4724],{"class":4586},[4576,40106,4727],{"class":4653},[4576,40108,10566],{"class":4935},[4576,40110,4739],{"class":4653},[4576,40112,4721],{"class":4720},[4576,40114,4724],{"class":4586},[4576,40116,4727],{"class":4653},[4576,40118,4730],{"class":4590},[4576,40120,3857],{"class":4733},[4576,40122,4674],{"class":4590},[4576,40124,4739],{"class":4653},[4576,40126,4742],{"class":4713},[4576,40128,40129,40131,40133,40135,40137],{"class":4578,"line":5055},[4576,40130,15958],{"class":4653},[4576,40132,24010],{"class":4590},[4576,40134,3857],{"class":4733},[4576,40136,4674],{"class":4590},[4576,40138,4801],{"class":4653},[4576,40140,40141,40143,40145],{"class":4578,"line":5744},[4576,40142,6238],{"class":4713},[4576,40144,22187],{"class":4717},[4576,40146,4742],{"class":4713},[4576,40148,40149,40151,40153,40155,40157,40159,40161,40163,40165,40167,40169,40171,40173,40175,40177,40179,40181,40183,40185,40187],{"class":4578,"line":6299},[4576,40150,4748],{"class":4713},[4576,40152,22187],{"class":4717},[4576,40154,24761],{"class":4720},[4576,40156,4724],{"class":4586},[4576,40158,25059],{"class":4600},[4576,40160,7294],{"class":4720},[4576,40162,4724],{"class":4586},[4576,40164,4727],{"class":4653},[4576,40166,23274],{"class":4590},[4576,40168,3857],{"class":4733},[4576,40170,25164],{"class":4590},[4576,40172,4739],{"class":4653},[4576,40174,4721],{"class":4720},[4576,40176,4724],{"class":4586},[4576,40178,4727],{"class":4653},[4576,40180,4730],{"class":4590},[4576,40182,3857],{"class":4733},[4576,40184,39946],{"class":4590},[4576,40186,4739],{"class":4653},[4576,40188,4742],{"class":4713},[4576,40190,40191,40193,40195,40197,40199],{"class":4578,"line":6312},[4576,40192,15958],{"class":4653},[4576,40194,24010],{"class":4590},[4576,40196,3857],{"class":4733},[4576,40198,39946],{"class":4590},[4576,40200,4801],{"class":4653},[4576,40202,40203,40205,40207],{"class":4578,"line":6325},[4576,40204,6238],{"class":4713},[4576,40206,22187],{"class":4717},[4576,40208,4742],{"class":4713},[4576,40210,40211,40213,40215,40217,40219,40221,40223,40225,40227,40229,40231,40233,40235,40237,40239,40241,40243,40245],{"class":4578,"line":6335},[4576,40212,4748],{"class":4713},[4576,40214,22187],{"class":4717},[4576,40216,24761],{"class":4720},[4576,40218,4724],{"class":4586},[4576,40220,25059],{"class":4600},[4576,40222,38632],{"class":4720},[4576,40224,4724],{"class":4586},[4576,40226,4727],{"class":4653},[4576,40228,12562],{"class":4935},[4576,40230,4739],{"class":4653},[4576,40232,4721],{"class":4720},[4576,40234,4724],{"class":4586},[4576,40236,4727],{"class":4653},[4576,40238,4730],{"class":4590},[4576,40240,3857],{"class":4733},[4576,40242,6048],{"class":4590},[4576,40244,4739],{"class":4653},[4576,40246,4742],{"class":4713},[4576,40248,40249,40251,40253,40255,40257],{"class":4578,"line":6350},[4576,40250,15958],{"class":4653},[4576,40252,24010],{"class":4590},[4576,40254,3857],{"class":4733},[4576,40256,6048],{"class":4590},[4576,40258,4801],{"class":4653},[4576,40260,40261,40263,40265],{"class":4578,"line":6359},[4576,40262,6238],{"class":4713},[4576,40264,22187],{"class":4717},[4576,40266,4742],{"class":4713},[4576,40268,40269,40271,40273],{"class":4578,"line":6368},[4576,40270,4879],{"class":4713},[4576,40272,3947],{"class":4717},[4576,40274,4742],{"class":4713},[4576,40276,40277],{"class":4578,"line":6377},[4576,40278,4889],{"class":4586},[4576,40280,40281],{"class":4578,"line":6417},[4576,40282,4801],{"class":4586},[4576,40284,40285],{"class":4578,"line":6422},[4576,40286,4644],{"emptyLinePlaceholder":4643},[4576,40288,40289,40291,40293,40296,40298,40300,40302,40305],{"class":4578,"line":6427},[4576,40290,4650],{"class":4582},[4576,40292,10058],{"class":4653},[4576,40294,40295],{"class":4673}," PlaceChip",[4576,40297,4911],{"class":4586},[4576,40299,38084],{"class":4657},[4576,40301,4687],{"class":4586},[4576,40303,40304],{"class":4590},"PlaceChipComponent",[4576,40306,4693],{"class":4586},[4576,40308,40309],{"class":4578,"line":6469},[4576,40310,4644],{"emptyLinePlaceholder":4643},[4576,40312,40313,40315,40317,40319,40321,40323,40325],{"class":4578,"line":6476},[4576,40314,4905],{"class":4653},[4576,40316,4908],{"class":4673},[4576,40318,4911],{"class":4586},[4576,40320,4614],{"class":4590},[4576,40322,3857],{"class":4586},[4576,40324,4918],{"class":4657},[4576,40326,4921],{"class":4586},[4576,40328,40329,40332],{"class":4578,"line":6489},[4576,40330,40331],{"class":4590},"  chip:",[4576,40333,4980],{"class":4586},[4576,40335,40336,40338,40340],{"class":4578,"line":6502},[4576,40337,37901],{"class":4590},[4576,40339,39525],{"class":4935},[4576,40341,4992],{"class":4586},[4576,40343,40344,40346,40348],{"class":4578,"line":6512},[4576,40345,4986],{"class":4590},[4576,40347,4989],{"class":4935},[4576,40349,4992],{"class":4586},[4576,40351,40352,40354,40356],{"class":4578,"line":6525},[4576,40353,5041],{"class":4590},[4576,40355,21663],{"class":4935},[4576,40357,4992],{"class":4586},[4576,40359,40360],{"class":4578,"line":6535},[4576,40361,5052],{"class":4586},[4576,40363,40364,40366],{"class":4578,"line":6574},[4576,40365,17605],{"class":4590},[4576,40367,4980],{"class":4586},[4576,40369,40370,40372,40374],{"class":4578,"line":6579},[4576,40371,5030],{"class":4590},[4576,40373,5033],{"class":4935},[4576,40375,4992],{"class":4586},[4576,40377,40378],{"class":4578,"line":6584},[4576,40379,5052],{"class":4586},[4576,40381,40382,40385],{"class":4578,"line":6626},[4576,40383,40384],{"class":4590},"  city:",[4576,40386,4980],{"class":4586},[4576,40388,40389,40391,40393],{"class":4578,"line":6633},[4576,40390,21512],{"class":4590},[4576,40392,9228],{"class":4935},[4576,40394,4992],{"class":4586},[4576,40396,40397,40399,40401],{"class":4578,"line":6646},[4576,40398,21442],{"class":4590},[4576,40400,8726],{"class":4600},[4576,40402,4992],{"class":4586},[4576,40404,40405],{"class":4578,"line":6659},[4576,40406,5052],{"class":4586},[4576,40408,40409,40411],{"class":4578,"line":6669},[4576,40410,17774],{"class":4590},[4576,40412,4980],{"class":4586},[4576,40414,40415,40417,40419],{"class":4578,"line":6682},[4576,40416,21512],{"class":4590},[4576,40418,4936],{"class":4935},[4576,40420,4992],{"class":4586},[4576,40422,40423],{"class":4578,"line":6688},[4576,40424,5052],{"class":4586},[4576,40426,40427],{"class":4578,"line":6699},[4576,40428,5058],{"class":4586},[3891,40430,40433],{"className":10025,"code":40431,"filename":40432,"language":10027,"meta":3899,"style":3899},"\u002F**\n * Семантичні кольори: назва = роль на екрані, не «синій-500».\n * light \u002F dark — дві палітри з однаковими ключами.\n *\u002F\n\nexport const lightColors = {\n  background: '#F8FAFC',\n  surface: '#FFFFFF',\n  text: '#0F172A',\n  textSecondary: '#64748B',\n  primary: '#2563EB',\n  primaryPressed: '#1D4ED8',\n  border: '#E2E8F0',\n  danger: '#DC2626',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport const darkColors = {\n  background: '#000000',\n  surface: '#1C1C1E',\n  text: '#F5F5F7',\n  textSecondary: '#A1A1AA',\n  primary: '#3B82F6',\n  primaryPressed: '#2563EB',\n  border: '#3A3A3C',\n  danger: '#F87171',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport type ColorTokens = {\n  [K in keyof typeof lightColors]: string;\n};\n\nexport type ColorSchemeName = 'light' | 'dark';\n\nexport function colorsForScheme(scheme: ColorSchemeName): ColorTokens {\n  return scheme === 'dark' ? { ...darkColors } : { ...lightColors };\n}\n","src\u002Fshared\u002Ftheme\u002Fcolors.ts",[3803,40434,40435,40439,40444,40449,40453,40457,40468,40477,40486,40495,40504,40513,40523,40532,40541,40550,40560,40564,40575,40584,40593,40602,40611,40620,40628,40637,40646,40654,40664,40668,40679,40705,40709,40713,40733,40737,40762,40787],{"__ignoreMap":3899},[4576,40436,40437],{"class":4578,"line":4579},[4576,40438,26548],{"class":9599},[4576,40440,40441],{"class":4578,"line":4607},[4576,40442,40443],{"class":9599}," * Семантичні кольори: назва = роль на екрані, не «синій-500».\n",[4576,40445,40446],{"class":4578,"line":4640},[4576,40447,40448],{"class":9599}," * light \u002F dark — дві палітри з однаковими ключами.\n",[4576,40450,40451],{"class":4578,"line":4647},[4576,40452,26568],{"class":9599},[4576,40454,40455],{"class":4578,"line":4664},[4576,40456,4644],{"emptyLinePlaceholder":4643},[4576,40458,40459,40461,40463,40466],{"class":4578,"line":4696},[4576,40460,4650],{"class":4582},[4576,40462,10058],{"class":4653},[4576,40464,40465],{"class":4673}," lightColors",[4576,40467,27412],{"class":4586},[4576,40469,40470,40473,40475],{"class":4578,"line":4701},[4576,40471,40472],{"class":4590},"  background:",[4576,40474,21327],{"class":4600},[4576,40476,4992],{"class":4586},[4576,40478,40479,40482,40484],{"class":4578,"line":4710},[4576,40480,40481],{"class":4590},"  surface:",[4576,40483,7509],{"class":4600},[4576,40485,4992],{"class":4586},[4576,40487,40488,40491,40493],{"class":4578,"line":4745},[4576,40489,40490],{"class":4590},"  text:",[4576,40492,21455],{"class":4600},[4576,40494,4992],{"class":4586},[4576,40496,40497,40500,40502],{"class":4578,"line":4781},[4576,40498,40499],{"class":4590},"  textSecondary:",[4576,40501,8746],{"class":4600},[4576,40503,4992],{"class":4586},[4576,40505,40506,40509,40511],{"class":4578,"line":4789},[4576,40507,40508],{"class":4590},"  primary:",[4576,40510,7404],{"class":4600},[4576,40512,4992],{"class":4586},[4576,40514,40515,40518,40521],{"class":4578,"line":4804},[4576,40516,40517],{"class":4590},"  primaryPressed:",[4576,40519,40520],{"class":4600}," '#1D4ED8'",[4576,40522,4992],{"class":4586},[4576,40524,40525,40528,40530],{"class":4578,"line":4818},[4576,40526,40527],{"class":4590},"  border:",[4576,40529,8572],{"class":4600},[4576,40531,4992],{"class":4586},[4576,40533,40534,40537,40539],{"class":4578,"line":4829},[4576,40535,40536],{"class":4590},"  danger:",[4576,40538,21678],{"class":4600},[4576,40540,4992],{"class":4586},[4576,40542,40543,40546,40548],{"class":4578,"line":4840},[4576,40544,40545],{"class":4590},"  onPrimary:",[4576,40547,7509],{"class":4600},[4576,40549,4992],{"class":4586},[4576,40551,40552,40554,40556,40558],{"class":4578,"line":4851},[4576,40553,5826],{"class":4586},[4576,40555,11135],{"class":4582},[4576,40557,10058],{"class":4653},[4576,40559,4604],{"class":4586},[4576,40561,40562],{"class":4578,"line":4870},[4576,40563,4644],{"emptyLinePlaceholder":4643},[4576,40565,40566,40568,40570,40573],{"class":4578,"line":4876},[4576,40567,4650],{"class":4582},[4576,40569,10058],{"class":4653},[4576,40571,40572],{"class":4673}," darkColors",[4576,40574,27412],{"class":4586},[4576,40576,40577,40579,40582],{"class":4578,"line":4886},[4576,40578,40472],{"class":4590},[4576,40580,40581],{"class":4600}," '#000000'",[4576,40583,4992],{"class":4586},[4576,40585,40586,40588,40591],{"class":4578,"line":4892},[4576,40587,40481],{"class":4590},[4576,40589,40590],{"class":4600}," '#1C1C1E'",[4576,40592,4992],{"class":4586},[4576,40594,40595,40597,40600],{"class":4578,"line":4897},[4576,40596,40490],{"class":4590},[4576,40598,40599],{"class":4600}," '#F5F5F7'",[4576,40601,4992],{"class":4586},[4576,40603,40604,40606,40609],{"class":4578,"line":4902},[4576,40605,40499],{"class":4590},[4576,40607,40608],{"class":4600}," '#A1A1AA'",[4576,40610,4992],{"class":4586},[4576,40612,40613,40615,40618],{"class":4578,"line":4924},[4576,40614,40508],{"class":4590},[4576,40616,40617],{"class":4600}," '#3B82F6'",[4576,40619,4992],{"class":4586},[4576,40621,40622,40624,40626],{"class":4578,"line":4942},[4576,40623,40517],{"class":4590},[4576,40625,7404],{"class":4600},[4576,40627,4992],{"class":4586},[4576,40629,40630,40632,40635],{"class":4578,"line":4974},[4576,40631,40527],{"class":4590},[4576,40633,40634],{"class":4600}," '#3A3A3C'",[4576,40636,4992],{"class":4586},[4576,40638,40639,40641,40644],{"class":4578,"line":4983},[4576,40640,40536],{"class":4590},[4576,40642,40643],{"class":4600}," '#F87171'",[4576,40645,4992],{"class":4586},[4576,40647,40648,40650,40652],{"class":4578,"line":4995},[4576,40649,40545],{"class":4590},[4576,40651,7509],{"class":4600},[4576,40653,4992],{"class":4586},[4576,40655,40656,40658,40660,40662],{"class":4578,"line":5006},[4576,40657,5826],{"class":4586},[4576,40659,11135],{"class":4582},[4576,40661,10058],{"class":4653},[4576,40663,4604],{"class":4586},[4576,40665,40666],{"class":4578,"line":5017},[4576,40667,4644],{"emptyLinePlaceholder":4643},[4576,40669,40670,40672,40674,40677],{"class":4578,"line":5027},[4576,40671,4650],{"class":4582},[4576,40673,11150],{"class":4653},[4576,40675,40676],{"class":4717}," ColorTokens",[4576,40678,27412],{"class":4586},[4576,40680,40681,40684,40687,40690,40693,40696,40698,40701,40703],{"class":4578,"line":5038},[4576,40682,40683],{"class":4586},"  [",[4576,40685,40686],{"class":4717},"K",[4576,40688,40689],{"class":4653}," in",[4576,40691,40692],{"class":4653}," keyof",[4576,40694,40695],{"class":4653}," typeof",[4576,40697,40465],{"class":4590},[4576,40699,40700],{"class":4586},"]: ",[4576,40702,4349],{"class":4717},[4576,40704,4604],{"class":4586},[4576,40706,40707],{"class":4578,"line":5049},[4576,40708,12050],{"class":4586},[4576,40710,40711],{"class":4578,"line":5055},[4576,40712,4644],{"emptyLinePlaceholder":4643},[4576,40714,40715,40717,40719,40722,40724,40727,40729,40731],{"class":4578,"line":5744},[4576,40716,4650],{"class":4582},[4576,40718,11150],{"class":4653},[4576,40720,40721],{"class":4717}," ColorSchemeName",[4576,40723,4911],{"class":4586},[4576,40725,40726],{"class":4600},"'light'",[4576,40728,21098],{"class":4586},[4576,40730,5868],{"class":4600},[4576,40732,4604],{"class":4586},[4576,40734,40735],{"class":4578,"line":6299},[4576,40736,4644],{"emptyLinePlaceholder":4643},[4576,40738,40739,40741,40743,40746,40748,40750,40752,40755,40757,40760],{"class":4578,"line":6312},[4576,40740,4650],{"class":4582},[4576,40742,4654],{"class":4653},[4576,40744,40745],{"class":4657}," colorsForScheme",[4576,40747,4687],{"class":4586},[4576,40749,23279],{"class":4590},[4576,40751,7093],{"class":4586},[4576,40753,40754],{"class":4717},"ColorSchemeName",[4576,40756,4235],{"class":4586},[4576,40758,40759],{"class":4717},"ColorTokens",[4576,40761,4980],{"class":4586},[4576,40763,40764,40766,40769,40771,40773,40776,40779,40782,40785],{"class":4578,"line":6325},[4576,40765,4704],{"class":4582},[4576,40767,40768],{"class":4590}," scheme",[4576,40770,12019],{"class":4586},[4576,40772,5868],{"class":4600},[4576,40774,40775],{"class":4586}," ? { ...",[4576,40777,40778],{"class":4590},"darkColors",[4576,40780,40781],{"class":4586}," } : { ...",[4576,40783,40784],{"class":4590},"lightColors",[4576,40786,14781],{"class":4586},[4576,40788,40789],{"class":4578,"line":6335},[4576,40790,4801],{"class":4586},[3891,40792,40795],{"className":10025,"code":40793,"filename":40794,"language":10027,"meta":3899,"style":3899},"\u002F**\n * Токени, що **не** залежать від light\u002Fdark:\n * відступи, радіуси, розміри шрифтів.\n * Кольори — у colors.ts + ThemeProvider.\n *\u002F\n\nexport const space = {\n  xs: 4,\n  sm: 8,\n  md: 16,\n  lg: 24,\n  xl: 32,\n} as const;\n\nexport const radius = {\n  sm: 8,\n  md: 12,\n  lg: 16,\n} as const;\n\nexport const fontSize = {\n  sm: 14,\n  md: 16,\n  lg: 20,\n  xl: 28,\n} as const;\n\n\u002F** @deprecated Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\nexport const tokens = {\n  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n  colors: {\n    background: '#F8FAFC',\n    surface: '#FFFFFF',\n    text: '#0F172A',\n    textSecondary: '#64748B',\n    primary: '#2563EB',\n    primaryPressed: '#1D4ED8',\n    border: '#E2E8F0',\n    danger: '#DC2626',\n    onPrimary: '#FFFFFF',\n  },\n  spacing: space,\n  radius,\n  fontSize,\n} as const;\n\nexport type Tokens = typeof tokens;\n","src\u002Fshared\u002Ftheme\u002Ftokens.ts",[3803,40796,40797,40801,40806,40811,40816,40820,40824,40835,40844,40853,40862,40871,40881,40891,40895,40905,40913,40921,40929,40939,40943,40954,40962,40970,40978,40987,40997,41001,41012,41023,41028,41035,41044,41053,41062,41071,41080,41089,41098,41107,41116,41120,41129,41136,41143,41153,41157],{"__ignoreMap":3899},[4576,40798,40799],{"class":4578,"line":4579},[4576,40800,26548],{"class":9599},[4576,40802,40803],{"class":4578,"line":4607},[4576,40804,40805],{"class":9599}," * Токени, що **не** залежать від light\u002Fdark:\n",[4576,40807,40808],{"class":4578,"line":4640},[4576,40809,40810],{"class":9599}," * відступи, радіуси, розміри шрифтів.\n",[4576,40812,40813],{"class":4578,"line":4647},[4576,40814,40815],{"class":9599}," * Кольори — у colors.ts + ThemeProvider.\n",[4576,40817,40818],{"class":4578,"line":4664},[4576,40819,26568],{"class":9599},[4576,40821,40822],{"class":4578,"line":4696},[4576,40823,4644],{"emptyLinePlaceholder":4643},[4576,40825,40826,40828,40830,40833],{"class":4578,"line":4701},[4576,40827,4650],{"class":4582},[4576,40829,10058],{"class":4653},[4576,40831,40832],{"class":4673}," space",[4576,40834,27412],{"class":4586},[4576,40836,40837,40840,40842],{"class":4578,"line":4710},[4576,40838,40839],{"class":4590},"  xs:",[4576,40841,9228],{"class":4935},[4576,40843,4992],{"class":4586},[4576,40845,40846,40849,40851],{"class":4578,"line":4745},[4576,40847,40848],{"class":4590},"  sm:",[4576,40850,9915],{"class":4935},[4576,40852,4992],{"class":4586},[4576,40854,40855,40858,40860],{"class":4578,"line":4781},[4576,40856,40857],{"class":4590},"  md:",[4576,40859,5033],{"class":4935},[4576,40861,4992],{"class":4586},[4576,40863,40864,40867,40869],{"class":4578,"line":4789},[4576,40865,40866],{"class":4590},"  lg:",[4576,40868,20980],{"class":4935},[4576,40870,4992],{"class":4586},[4576,40872,40873,40876,40879],{"class":4578,"line":4804},[4576,40874,40875],{"class":4590},"  xl:",[4576,40877,40878],{"class":4935}," 32",[4576,40880,4992],{"class":4586},[4576,40882,40883,40885,40887,40889],{"class":4578,"line":4818},[4576,40884,5826],{"class":4586},[4576,40886,11135],{"class":4582},[4576,40888,10058],{"class":4653},[4576,40890,4604],{"class":4586},[4576,40892,40893],{"class":4578,"line":4829},[4576,40894,4644],{"emptyLinePlaceholder":4643},[4576,40896,40897,40899,40901,40903],{"class":4578,"line":4840},[4576,40898,4650],{"class":4582},[4576,40900,10058],{"class":4653},[4576,40902,32572],{"class":4673},[4576,40904,27412],{"class":4586},[4576,40906,40907,40909,40911],{"class":4578,"line":4851},[4576,40908,40848],{"class":4590},[4576,40910,9915],{"class":4935},[4576,40912,4992],{"class":4586},[4576,40914,40915,40917,40919],{"class":4578,"line":4870},[4576,40916,40857],{"class":4590},[4576,40918,5001],{"class":4935},[4576,40920,4992],{"class":4586},[4576,40922,40923,40925,40927],{"class":4578,"line":4876},[4576,40924,40866],{"class":4590},[4576,40926,5033],{"class":4935},[4576,40928,4992],{"class":4586},[4576,40930,40931,40933,40935,40937],{"class":4578,"line":4886},[4576,40932,5826],{"class":4586},[4576,40934,11135],{"class":4582},[4576,40936,10058],{"class":4653},[4576,40938,4604],{"class":4586},[4576,40940,40941],{"class":4578,"line":4892},[4576,40942,4644],{"emptyLinePlaceholder":4643},[4576,40944,40945,40947,40949,40952],{"class":4578,"line":4897},[4576,40946,4650],{"class":4582},[4576,40948,10058],{"class":4653},[4576,40950,40951],{"class":4673}," fontSize",[4576,40953,27412],{"class":4586},[4576,40955,40956,40958,40960],{"class":4578,"line":4902},[4576,40957,40848],{"class":4590},[4576,40959,5012],{"class":4935},[4576,40961,4992],{"class":4586},[4576,40963,40964,40966,40968],{"class":4578,"line":4924},[4576,40965,40857],{"class":4590},[4576,40967,5033],{"class":4935},[4576,40969,4992],{"class":4586},[4576,40971,40972,40974,40976],{"class":4578,"line":4942},[4576,40973,40866],{"class":4590},[4576,40975,7876],{"class":4935},[4576,40977,4992],{"class":4586},[4576,40979,40980,40982,40985],{"class":4578,"line":4974},[4576,40981,40875],{"class":4590},[4576,40983,40984],{"class":4935}," 28",[4576,40986,4992],{"class":4586},[4576,40988,40989,40991,40993,40995],{"class":4578,"line":4983},[4576,40990,5826],{"class":4586},[4576,40992,11135],{"class":4582},[4576,40994,10058],{"class":4653},[4576,40996,4604],{"class":4586},[4576,40998,40999],{"class":4578,"line":4995},[4576,41000,4644],{"emptyLinePlaceholder":4643},[4576,41002,41003,41006,41009],{"class":4578,"line":5006},[4576,41004,41005],{"class":9599},"\u002F** ",[4576,41007,41008],{"class":4653},"@deprecated",[4576,41010,41011],{"class":9599}," Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\n",[4576,41013,41014,41016,41018,41021],{"class":4578,"line":5017},[4576,41015,4650],{"class":4582},[4576,41017,10058],{"class":4653},[4576,41019,41020],{"class":4673}," tokens",[4576,41022,27412],{"class":4586},[4576,41024,41025],{"class":4578,"line":5027},[4576,41026,41027],{"class":9599},"  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n",[4576,41029,41030,41033],{"class":4578,"line":5038},[4576,41031,41032],{"class":4590},"  colors:",[4576,41034,4980],{"class":4586},[4576,41036,41037,41040,41042],{"class":4578,"line":5049},[4576,41038,41039],{"class":4590},"    background:",[4576,41041,21327],{"class":4600},[4576,41043,4992],{"class":4586},[4576,41045,41046,41049,41051],{"class":4578,"line":5055},[4576,41047,41048],{"class":4590},"    surface:",[4576,41050,7509],{"class":4600},[4576,41052,4992],{"class":4586},[4576,41054,41055,41058,41060],{"class":4578,"line":5744},[4576,41056,41057],{"class":4590},"    text:",[4576,41059,21455],{"class":4600},[4576,41061,4992],{"class":4586},[4576,41063,41064,41067,41069],{"class":4578,"line":6299},[4576,41065,41066],{"class":4590},"    textSecondary:",[4576,41068,8746],{"class":4600},[4576,41070,4992],{"class":4586},[4576,41072,41073,41076,41078],{"class":4578,"line":6312},[4576,41074,41075],{"class":4590},"    primary:",[4576,41077,7404],{"class":4600},[4576,41079,4992],{"class":4586},[4576,41081,41082,41085,41087],{"class":4578,"line":6325},[4576,41083,41084],{"class":4590},"    primaryPressed:",[4576,41086,40520],{"class":4600},[4576,41088,4992],{"class":4586},[4576,41090,41091,41094,41096],{"class":4578,"line":6335},[4576,41092,41093],{"class":4590},"    border:",[4576,41095,8572],{"class":4600},[4576,41097,4992],{"class":4586},[4576,41099,41100,41103,41105],{"class":4578,"line":6350},[4576,41101,41102],{"class":4590},"    danger:",[4576,41104,21678],{"class":4600},[4576,41106,4992],{"class":4586},[4576,41108,41109,41112,41114],{"class":4578,"line":6359},[4576,41110,41111],{"class":4590},"    onPrimary:",[4576,41113,7509],{"class":4600},[4576,41115,4992],{"class":4586},[4576,41117,41118],{"class":4578,"line":6368},[4576,41119,5052],{"class":4586},[4576,41121,41122,41125,41127],{"class":4578,"line":6377},[4576,41123,41124],{"class":4590},"  spacing:",[4576,41126,40832],{"class":4590},[4576,41128,4992],{"class":4586},[4576,41130,41131,41134],{"class":4578,"line":6417},[4576,41132,41133],{"class":4590},"  radius",[4576,41135,4992],{"class":4586},[4576,41137,41138,41141],{"class":4578,"line":6422},[4576,41139,41140],{"class":4590},"  fontSize",[4576,41142,4992],{"class":4586},[4576,41144,41145,41147,41149,41151],{"class":4578,"line":6427},[4576,41146,5826],{"class":4586},[4576,41148,11135],{"class":4582},[4576,41150,10058],{"class":4653},[4576,41152,4604],{"class":4586},[4576,41154,41155],{"class":4578,"line":6469},[4576,41156,4644],{"emptyLinePlaceholder":4643},[4576,41158,41159,41161,41163,41166,41168,41170,41172],{"class":4578,"line":6476},[4576,41160,4650],{"class":4582},[4576,41162,11150],{"class":4653},[4576,41164,41165],{"class":4717}," Tokens",[4576,41167,4911],{"class":4586},[4576,41169,11159],{"class":4653},[4576,41171,41020],{"class":4590},[4576,41173,4604],{"class":4586},[3891,41175,41178],{"className":4570,"code":41176,"filename":41177,"language":4572,"meta":3899,"style":3899},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\nimport { useColorScheme as useSystemColorScheme } from 'react-native';\n\nimport {\n  colorsForScheme,\n  type ColorSchemeName,\n  type ColorTokens,\n} from '.\u002Fcolors';\nimport { fontSize, radius, space } from '.\u002Ftokens';\n\n\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\nexport type ThemePreference = 'system' | ColorSchemeName;\n\ntype ThemeContextValue = {\n  \u002F** Фактична схема, якою малюємо UI. *\u002F\n  scheme: ColorSchemeName;\n  preference: ThemePreference;\n  setPreference: (value: ThemePreference) => void;\n  colors: ColorTokens;\n  spacing: typeof space;\n  radius: typeof radius;\n  fontSize: typeof fontSize;\n};\n\nconst ThemeContext = createContext\u003CThemeContextValue | null>(null);\n\nfunction resolveScheme(\n  preference: ThemePreference,\n  system: string | null | undefined,\n): ColorSchemeName {\n  if (preference === 'light' || preference === 'dark') {\n    return preference;\n  }\n  return system === 'dark' ? 'dark' : 'light';\n}\n\ntype ThemeProviderProps = {\n  children: ReactNode;\n  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n  initialPreference?: ThemePreference;\n};\n\nexport function ThemeProvider({\n  children,\n  initialPreference = 'system',\n}: ThemeProviderProps) {\n  const systemScheme = useSystemColorScheme();\n  const [preference, setPreferenceState] =\n    useState\u003CThemePreference>(initialPreference);\n\n  const setPreference = useCallback((value: ThemePreference) => {\n    setPreferenceState(value);\n  }, []);\n\n  const scheme = resolveScheme(preference, systemScheme);\n  const colors = useMemo(() => colorsForScheme(scheme), [scheme]);\n\n  const value = useMemo\u003CThemeContextValue>(\n    () => ({\n      scheme,\n      preference,\n      setPreference,\n      colors,\n      spacing: space,\n      radius,\n      fontSize,\n    }),\n    [scheme, preference, setPreference, colors],\n  );\n\n  return (\n    \u003CThemeContext.Provider value={value}>{children}\u003C\u002FThemeContext.Provider>\n  );\n}\n\nexport function useTheme(): ThemeContextValue {\n  const ctx = useContext(ThemeContext);\n  if (!ctx) {\n    throw new Error('useTheme() потрібно викликати всередині \u003CThemeProvider>.');\n  }\n  return ctx;\n}\n","src\u002Fshared\u002Ftheme\u002FThemeProvider.tsx",[3803,41179,41180,41186,41192,41198,41204,41210,41216,41222,41232,41253,41257,41263,41270,41278,41286,41297,41324,41328,41333,41352,41356,41365,41370,41381,41392,41413,41424,41437,41449,41461,41465,41469,41495,41499,41508,41518,41537,41545,41567,41575,41579,41600,41604,41608,41617,41627,41632,41643,41647,41651,41662,41668,41678,41687,41701,41717,41733,41737,41761,41772,41776,41780,41802,41829,41833,41850,41859,41866,41873,41880,41887,41896,41903,41910,41914,41934,41938,41942,41948,41979,41983,41987,41991,42006,42023,42033,42048,42052,42060],{"__ignoreMap":3899},[4576,41181,41182,41184],{"class":4578,"line":4579},[4576,41183,4583],{"class":4582},[4576,41185,4980],{"class":4586},[4576,41187,41188,41190],{"class":4578,"line":4607},[4576,41189,28857],{"class":4590},[4576,41191,4992],{"class":4586},[4576,41193,41194,41196],{"class":4578,"line":4640},[4576,41195,28864],{"class":4590},[4576,41197,4992],{"class":4586},[4576,41199,41200,41202],{"class":4578,"line":4647},[4576,41201,28871],{"class":4590},[4576,41203,4992],{"class":4586},[4576,41205,41206,41208],{"class":4578,"line":4664},[4576,41207,28878],{"class":4590},[4576,41209,4992],{"class":4586},[4576,41211,41212,41214],{"class":4578,"line":4696},[4576,41213,28885],{"class":4590},[4576,41215,4992],{"class":4586},[4576,41217,41218,41220],{"class":4578,"line":4701},[4576,41219,28892],{"class":4590},[4576,41221,4992],{"class":4586},[4576,41223,41224,41226,41228,41230],{"class":4578,"line":4710},[4576,41225,5826],{"class":4586},[4576,41227,4597],{"class":4582},[4576,41229,4601],{"class":4600},[4576,41231,4604],{"class":4586},[4576,41233,41234,41236,41238,41240,41242,41245,41247,41249,41251],{"class":4578,"line":4745},[4576,41235,4583],{"class":4582},[4576,41237,4587],{"class":4586},[4576,41239,5862],{"class":4590},[4576,41241,11347],{"class":4582},[4576,41243,41244],{"class":4590}," useSystemColorScheme",[4576,41246,4594],{"class":4586},[4576,41248,4597],{"class":4582},[4576,41250,4635],{"class":4600},[4576,41252,4604],{"class":4586},[4576,41254,41255],{"class":4578,"line":4781},[4576,41256,4644],{"emptyLinePlaceholder":4643},[4576,41258,41259,41261],{"class":4578,"line":4789},[4576,41260,4583],{"class":4582},[4576,41262,4980],{"class":4586},[4576,41264,41265,41268],{"class":4578,"line":4804},[4576,41266,41267],{"class":4590},"  colorsForScheme",[4576,41269,4992],{"class":4586},[4576,41271,41272,41274,41276],{"class":4578,"line":4818},[4576,41273,23629],{"class":4582},[4576,41275,40721],{"class":4590},[4576,41277,4992],{"class":4586},[4576,41279,41280,41282,41284],{"class":4578,"line":4829},[4576,41281,23629],{"class":4582},[4576,41283,40676],{"class":4590},[4576,41285,4992],{"class":4586},[4576,41287,41288,41290,41292,41295],{"class":4578,"line":4840},[4576,41289,5826],{"class":4586},[4576,41291,4597],{"class":4582},[4576,41293,41294],{"class":4600}," '.\u002Fcolors'",[4576,41296,4604],{"class":4586},[4576,41298,41299,41301,41303,41306,41308,41310,41312,41315,41317,41319,41322],{"class":4578,"line":4851},[4576,41300,4583],{"class":4582},[4576,41302,4587],{"class":4586},[4576,41304,41305],{"class":4590},"fontSize",[4576,41307,3806],{"class":4586},[4576,41309,31406],{"class":4590},[4576,41311,3806],{"class":4586},[4576,41313,41314],{"class":4590},"space",[4576,41316,4594],{"class":4586},[4576,41318,4597],{"class":4582},[4576,41320,41321],{"class":4600}," '.\u002Ftokens'",[4576,41323,4604],{"class":4586},[4576,41325,41326],{"class":4578,"line":4870},[4576,41327,4644],{"emptyLinePlaceholder":4643},[4576,41329,41330],{"class":4578,"line":4876},[4576,41331,41332],{"class":9599},"\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\n",[4576,41334,41335,41337,41339,41341,41343,41346,41348,41350],{"class":4578,"line":4886},[4576,41336,4650],{"class":4582},[4576,41338,11150],{"class":4653},[4576,41340,23668],{"class":4717},[4576,41342,4911],{"class":4586},[4576,41344,41345],{"class":4600},"'system'",[4576,41347,21098],{"class":4586},[4576,41349,40754],{"class":4717},[4576,41351,4604],{"class":4586},[4576,41353,41354],{"class":4578,"line":4892},[4576,41355,4644],{"emptyLinePlaceholder":4643},[4576,41357,41358,41360,41363],{"class":4578,"line":4897},[4576,41359,4083],{"class":4653},[4576,41361,41362],{"class":4717}," ThemeContextValue",[4576,41364,27412],{"class":4586},[4576,41366,41367],{"class":4578,"line":4902},[4576,41368,41369],{"class":9599},"  \u002F** Фактична схема, якою малюємо UI. *\u002F\n",[4576,41371,41372,41375,41377,41379],{"class":4578,"line":4924},[4576,41373,41374],{"class":4590},"  scheme",[4576,41376,7093],{"class":4586},[4576,41378,40754],{"class":4717},[4576,41380,4604],{"class":4586},[4576,41382,41383,41386,41388,41390],{"class":4578,"line":4942},[4576,41384,41385],{"class":4590},"  preference",[4576,41387,7093],{"class":4586},[4576,41389,23722],{"class":4717},[4576,41391,4604],{"class":4586},[4576,41393,41394,41397,41399,41401,41403,41405,41407,41409,41411],{"class":4578,"line":4974},[4576,41395,41396],{"class":4657},"  setPreference",[4576,41398,18116],{"class":4586},[4576,41400,4282],{"class":4590},[4576,41402,7093],{"class":4586},[4576,41404,23722],{"class":4717},[4576,41406,7968],{"class":4586},[4576,41408,5537],{"class":4653},[4576,41410,7083],{"class":4717},[4576,41412,4604],{"class":4586},[4576,41414,41415,41418,41420,41422],{"class":4578,"line":4983},[4576,41416,41417],{"class":4590},"  colors",[4576,41419,7093],{"class":4586},[4576,41421,40759],{"class":4717},[4576,41423,4604],{"class":4586},[4576,41425,41426,41429,41431,41433,41435],{"class":4578,"line":4995},[4576,41427,41428],{"class":4590},"  spacing",[4576,41430,7093],{"class":4586},[4576,41432,11159],{"class":4653},[4576,41434,40832],{"class":4590},[4576,41436,4604],{"class":4586},[4576,41438,41439,41441,41443,41445,41447],{"class":4578,"line":5006},[4576,41440,41133],{"class":4590},[4576,41442,7093],{"class":4586},[4576,41444,11159],{"class":4653},[4576,41446,32572],{"class":4590},[4576,41448,4604],{"class":4586},[4576,41450,41451,41453,41455,41457,41459],{"class":4578,"line":5017},[4576,41452,41140],{"class":4590},[4576,41454,7093],{"class":4586},[4576,41456,11159],{"class":4653},[4576,41458,40951],{"class":4590},[4576,41460,4604],{"class":4586},[4576,41462,41463],{"class":4578,"line":5027},[4576,41464,12050],{"class":4586},[4576,41466,41467],{"class":4578,"line":5038},[4576,41468,4644],{"emptyLinePlaceholder":4643},[4576,41470,41471,41473,41476,41478,41480,41482,41485,41487,41489,41491,41493],{"class":4578,"line":5049},[4576,41472,4905],{"class":4653},[4576,41474,41475],{"class":4673}," ThemeContext",[4576,41477,4911],{"class":4586},[4576,41479,29032],{"class":4657},[4576,41481,5439],{"class":4586},[4576,41483,41484],{"class":4717},"ThemeContextValue",[4576,41486,21098],{"class":4586},[4576,41488,5447],{"class":4717},[4576,41490,5444],{"class":4586},[4576,41492,5447],{"class":4653},[4576,41494,4693],{"class":4586},[4576,41496,41497],{"class":4578,"line":5055},[4576,41498,4644],{"emptyLinePlaceholder":4643},[4576,41500,41501,41503,41506],{"class":4578,"line":5744},[4576,41502,17946],{"class":4653},[4576,41504,41505],{"class":4657}," resolveScheme",[4576,41507,24160],{"class":4586},[4576,41509,41510,41512,41514,41516],{"class":4578,"line":6299},[4576,41511,41385],{"class":4590},[4576,41513,7093],{"class":4586},[4576,41515,23722],{"class":4717},[4576,41517,4992],{"class":4586},[4576,41519,41520,41523,41525,41527,41529,41531,41533,41535],{"class":4578,"line":6312},[4576,41521,41522],{"class":4590},"  system",[4576,41524,7093],{"class":4586},[4576,41526,4349],{"class":4717},[4576,41528,21098],{"class":4586},[4576,41530,5447],{"class":4717},[4576,41532,21098],{"class":4586},[4576,41534,14540],{"class":4717},[4576,41536,4992],{"class":4586},[4576,41538,41539,41541,41543],{"class":4578,"line":6325},[4576,41540,4235],{"class":4586},[4576,41542,40754],{"class":4717},[4576,41544,4980],{"class":4586},[4576,41546,41547,41549,41551,41553,41555,41557,41559,41561,41563,41565],{"class":4578,"line":6335},[4576,41548,12008],{"class":4582},[4576,41550,4084],{"class":4586},[4576,41552,23858],{"class":4590},[4576,41554,12019],{"class":4586},[4576,41556,40726],{"class":4600},[4576,41558,12543],{"class":4586},[4576,41560,23858],{"class":4590},[4576,41562,12019],{"class":4586},[4576,41564,5868],{"class":4600},[4576,41566,7149],{"class":4586},[4576,41568,41569,41571,41573],{"class":4578,"line":6350},[4576,41570,15283],{"class":4582},[4576,41572,25339],{"class":4590},[4576,41574,4604],{"class":4586},[4576,41576,41577],{"class":4578,"line":6359},[4576,41578,12045],{"class":4586},[4576,41580,41581,41583,41586,41588,41590,41592,41594,41596,41598],{"class":4578,"line":6368},[4576,41582,4704],{"class":4582},[4576,41584,41585],{"class":4590}," system",[4576,41587,12019],{"class":4586},[4576,41589,5868],{"class":4600},[4576,41591,5885],{"class":4586},[4576,41593,5868],{"class":4600},[4576,41595,5891],{"class":4586},[4576,41597,40726],{"class":4600},[4576,41599,4604],{"class":4586},[4576,41601,41602],{"class":4578,"line":6377},[4576,41603,4801],{"class":4586},[4576,41605,41606],{"class":4578,"line":6417},[4576,41607,4644],{"emptyLinePlaceholder":4643},[4576,41609,41610,41612,41615],{"class":4578,"line":6422},[4576,41611,4083],{"class":4653},[4576,41613,41614],{"class":4717}," ThemeProviderProps",[4576,41616,27412],{"class":4586},[4576,41618,41619,41621,41623,41625],{"class":4578,"line":6427},[4576,41620,29065],{"class":4590},[4576,41622,7093],{"class":4586},[4576,41624,29070],{"class":4717},[4576,41626,4604],{"class":4586},[4576,41628,41629],{"class":4578,"line":6469},[4576,41630,41631],{"class":9599},"  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n",[4576,41633,41634,41637,41639,41641],{"class":4578,"line":6476},[4576,41635,41636],{"class":4590},"  initialPreference",[4576,41638,11984],{"class":4586},[4576,41640,23722],{"class":4717},[4576,41642,4604],{"class":4586},[4576,41644,41645],{"class":4578,"line":6489},[4576,41646,12050],{"class":4586},[4576,41648,41649],{"class":4578,"line":6502},[4576,41650,4644],{"emptyLinePlaceholder":4643},[4576,41652,41653,41655,41657,41660],{"class":4578,"line":6512},[4576,41654,4650],{"class":4582},[4576,41656,4654],{"class":4653},[4576,41658,41659],{"class":4657}," ThemeProvider",[4576,41661,4921],{"class":4586},[4576,41663,41664,41666],{"class":4578,"line":6525},[4576,41665,29065],{"class":4590},[4576,41667,4992],{"class":4586},[4576,41669,41670,41672,41674,41676],{"class":4578,"line":6535},[4576,41671,41636],{"class":4590},[4576,41673,4911],{"class":4586},[4576,41675,41345],{"class":4600},[4576,41677,4992],{"class":4586},[4576,41679,41680,41682,41685],{"class":4578,"line":6574},[4576,41681,31384],{"class":4586},[4576,41683,41684],{"class":4717},"ThemeProviderProps",[4576,41686,7149],{"class":4586},[4576,41688,41689,41691,41694,41696,41699],{"class":4578,"line":6579},[4576,41690,4667],{"class":4653},[4576,41692,41693],{"class":4673}," systemScheme",[4576,41695,4911],{"class":4586},[4576,41697,41698],{"class":4657},"useSystemColorScheme",[4576,41700,23287],{"class":4586},[4576,41702,41703,41705,41707,41709,41711,41714],{"class":4578,"line":6584},[4576,41704,4667],{"class":4653},[4576,41706,4670],{"class":4586},[4576,41708,23858],{"class":4673},[4576,41710,3806],{"class":4586},[4576,41712,41713],{"class":4673},"setPreferenceState",[4576,41715,41716],{"class":4586},"] =\n",[4576,41718,41719,41722,41724,41726,41728,41731],{"class":4578,"line":6626},[4576,41720,41721],{"class":4657},"    useState",[4576,41723,5439],{"class":4586},[4576,41725,23722],{"class":4717},[4576,41727,5444],{"class":4586},[4576,41729,41730],{"class":4590},"initialPreference",[4576,41732,4693],{"class":4586},[4576,41734,41735],{"class":4578,"line":6633},[4576,41736,4644],{"emptyLinePlaceholder":4643},[4576,41738,41739,41741,41743,41745,41747,41749,41751,41753,41755,41757,41759],{"class":4578,"line":6646},[4576,41740,4667],{"class":4653},[4576,41742,25396],{"class":4673},[4576,41744,4911],{"class":4586},[4576,41746,23491],{"class":4657},[4576,41748,7962],{"class":4586},[4576,41750,4282],{"class":4590},[4576,41752,7093],{"class":4586},[4576,41754,23722],{"class":4717},[4576,41756,7968],{"class":4586},[4576,41758,5537],{"class":4653},[4576,41760,4980],{"class":4586},[4576,41762,41763,41766,41768,41770],{"class":4578,"line":6659},[4576,41764,41765],{"class":4657},"    setPreferenceState",[4576,41767,4687],{"class":4586},[4576,41769,4282],{"class":4590},[4576,41771,4693],{"class":4586},[4576,41773,41774],{"class":4578,"line":6669},[4576,41775,23990],{"class":4586},[4576,41777,41778],{"class":4578,"line":6682},[4576,41779,4644],{"emptyLinePlaceholder":4643},[4576,41781,41782,41784,41786,41788,41791,41793,41795,41797,41800],{"class":4578,"line":6688},[4576,41783,4667],{"class":4653},[4576,41785,40768],{"class":4673},[4576,41787,4911],{"class":4586},[4576,41789,41790],{"class":4657},"resolveScheme",[4576,41792,4687],{"class":4586},[4576,41794,23858],{"class":4590},[4576,41796,3806],{"class":4586},[4576,41798,41799],{"class":4590},"systemScheme",[4576,41801,4693],{"class":4586},[4576,41803,41804,41806,41808,41810,41812,41814,41816,41818,41820,41822,41825,41827],{"class":4578,"line":6699},[4576,41805,4667],{"class":4653},[4576,41807,23373],{"class":4673},[4576,41809,4911],{"class":4586},[4576,41811,29242],{"class":4657},[4576,41813,24073],{"class":4586},[4576,41815,5537],{"class":4653},[4576,41817,40745],{"class":4657},[4576,41819,4687],{"class":4586},[4576,41821,23279],{"class":4590},[4576,41823,41824],{"class":4586},"), [",[4576,41826,23279],{"class":4590},[4576,41828,24142],{"class":4586},[4576,41830,41831],{"class":4578,"line":6711},[4576,41832,4644],{"emptyLinePlaceholder":4643},[4576,41834,41835,41837,41839,41841,41843,41845,41847],{"class":4578,"line":6723},[4576,41836,4667],{"class":4653},[4576,41838,11415],{"class":4673},[4576,41840,4911],{"class":4586},[4576,41842,29242],{"class":4657},[4576,41844,5439],{"class":4586},[4576,41846,41484],{"class":4717},[4576,41848,41849],{"class":4586},">(\n",[4576,41851,41852,41854,41856],{"class":4578,"line":6735},[4576,41853,29249],{"class":4586},[4576,41855,5537],{"class":4653},[4576,41857,41858],{"class":4586}," ({\n",[4576,41860,41861,41864],{"class":4578,"line":6759},[4576,41862,41863],{"class":4590},"      scheme",[4576,41865,4992],{"class":4586},[4576,41867,41868,41871],{"class":4578,"line":6767},[4576,41869,41870],{"class":4590},"      preference",[4576,41872,4992],{"class":4586},[4576,41874,41875,41878],{"class":4578,"line":6772},[4576,41876,41877],{"class":4590},"      setPreference",[4576,41879,4992],{"class":4586},[4576,41881,41882,41885],{"class":4578,"line":6781},[4576,41883,41884],{"class":4590},"      colors",[4576,41886,4992],{"class":4586},[4576,41888,41889,41892,41894],{"class":4578,"line":6786},[4576,41890,41891],{"class":4590},"      spacing:",[4576,41893,40832],{"class":4590},[4576,41895,4992],{"class":4586},[4576,41897,41898,41901],{"class":4578,"line":6791},[4576,41899,41900],{"class":4590},"      radius",[4576,41902,4992],{"class":4586},[4576,41904,41905,41908],{"class":4578,"line":6796},[4576,41906,41907],{"class":4590},"      fontSize",[4576,41909,4992],{"class":4586},[4576,41911,41912],{"class":4578,"line":6813},[4576,41913,27910],{"class":4586},[4576,41915,41916,41918,41920,41922,41924,41926,41928,41930,41932],{"class":4578,"line":6838},[4576,41917,24222],{"class":4586},[4576,41919,23279],{"class":4590},[4576,41921,3806],{"class":4586},[4576,41923,23858],{"class":4590},[4576,41925,3806],{"class":4586},[4576,41927,23863],{"class":4590},[4576,41929,3806],{"class":4586},[4576,41931,23274],{"class":4590},[4576,41933,24227],{"class":4586},[4576,41935,41936],{"class":4578,"line":6845},[4576,41937,4889],{"class":4586},[4576,41939,41940],{"class":4578,"line":6854},[4576,41941,4644],{"emptyLinePlaceholder":4643},[4576,41943,41944,41946],{"class":4578,"line":6863},[4576,41945,4704],{"class":4582},[4576,41947,4707],{"class":4586},[4576,41949,41950,41952,41955,41957,41959,41961,41963,41965,41967,41969,41971,41973,41975,41977],{"class":4578,"line":6872},[4576,41951,4714],{"class":4713},[4576,41953,41954],{"class":4717},"ThemeContext.Provider",[4576,41956,11415],{"class":4720},[4576,41958,4724],{"class":4586},[4576,41960,4727],{"class":4653},[4576,41962,4282],{"class":4590},[4576,41964,4739],{"class":4653},[4576,41966,4768],{"class":4713},[4576,41968,4727],{"class":4653},[4576,41970,17954],{"class":4590},[4576,41972,4739],{"class":4653},[4576,41974,4774],{"class":4713},[4576,41976,41954],{"class":4717},[4576,41978,4742],{"class":4713},[4576,41980,41981],{"class":4578,"line":6881},[4576,41982,4889],{"class":4586},[4576,41984,41985],{"class":4578,"line":6890},[4576,41986,4801],{"class":4586},[4576,41988,41989],{"class":4578,"line":6899},[4576,41990,4644],{"emptyLinePlaceholder":4643},[4576,41992,41993,41995,41997,42000,42002,42004],{"class":4578,"line":6904},[4576,41994,4650],{"class":4582},[4576,41996,4654],{"class":4653},[4576,41998,41999],{"class":4657}," useTheme",[4576,42001,29350],{"class":4586},[4576,42003,41484],{"class":4717},[4576,42005,4980],{"class":4586},[4576,42007,42008,42010,42012,42014,42016,42018,42021],{"class":4578,"line":6920},[4576,42009,4667],{"class":4653},[4576,42011,29361],{"class":4673},[4576,42013,4911],{"class":4586},[4576,42015,29366],{"class":4657},[4576,42017,4687],{"class":4586},[4576,42019,42020],{"class":4590},"ThemeContext",[4576,42022,4693],{"class":4586},[4576,42024,42025,42027,42029,42031],{"class":4578,"line":16012},[4576,42026,12008],{"class":4582},[4576,42028,12538],{"class":4586},[4576,42030,29382],{"class":4590},[4576,42032,7149],{"class":4586},[4576,42034,42035,42037,42039,42041,42043,42046],{"class":4578,"line":16017},[4576,42036,29389],{"class":4582},[4576,42038,29392],{"class":4653},[4576,42040,29395],{"class":4657},[4576,42042,4687],{"class":4586},[4576,42044,42045],{"class":4600},"'useTheme() потрібно викликати всередині \u003CThemeProvider>.'",[4576,42047,4693],{"class":4586},[4576,42049,42050],{"class":4578,"line":16058},[4576,42051,12045],{"class":4586},[4576,42053,42054,42056,42058],{"class":4578,"line":16065},[4576,42055,4704],{"class":4582},[4576,42057,29361],{"class":4590},[4576,42059,4604],{"class":4586},[4576,42061,42062],{"class":4578,"line":16078},[4576,42063,4801],{"class":4586},[3891,42065,42068],{"className":10025,"code":42066,"filename":42067,"language":10027,"meta":3899,"style":3899},"export { lightColors, darkColors, colorsForScheme } from '.\u002Fcolors';\nexport type { ColorTokens, ColorSchemeName } from '.\u002Fcolors';\nexport { tokens, space, radius, fontSize } from '.\u002Ftokens';\nexport type { Tokens } from '.\u002Ftokens';\nexport { ThemeProvider, useTheme } from '.\u002FThemeProvider';\nexport type { ThemePreference } from '.\u002FThemeProvider';\n","src\u002Fshared\u002Ftheme\u002Findex.ts",[3803,42069,42070,42095,42117,42146,42165,42186],{"__ignoreMap":3899},[4576,42071,42072,42074,42076,42078,42080,42082,42084,42087,42089,42091,42093],{"class":4578,"line":4579},[4576,42073,4650],{"class":4582},[4576,42075,4587],{"class":4586},[4576,42077,40784],{"class":4590},[4576,42079,3806],{"class":4586},[4576,42081,40778],{"class":4590},[4576,42083,3806],{"class":4586},[4576,42085,42086],{"class":4590},"colorsForScheme",[4576,42088,4594],{"class":4586},[4576,42090,4597],{"class":4582},[4576,42092,41294],{"class":4600},[4576,42094,4604],{"class":4586},[4576,42096,42097,42099,42101,42103,42105,42107,42109,42111,42113,42115],{"class":4578,"line":4607},[4576,42098,4650],{"class":4582},[4576,42100,11150],{"class":4582},[4576,42102,4587],{"class":4586},[4576,42104,40759],{"class":4590},[4576,42106,3806],{"class":4586},[4576,42108,40754],{"class":4590},[4576,42110,4594],{"class":4586},[4576,42112,4597],{"class":4582},[4576,42114,41294],{"class":4600},[4576,42116,4604],{"class":4586},[4576,42118,42119,42121,42123,42126,42128,42130,42132,42134,42136,42138,42140,42142,42144],{"class":4578,"line":4640},[4576,42120,4650],{"class":4582},[4576,42122,4587],{"class":4586},[4576,42124,42125],{"class":4590},"tokens",[4576,42127,3806],{"class":4586},[4576,42129,41314],{"class":4590},[4576,42131,3806],{"class":4586},[4576,42133,31406],{"class":4590},[4576,42135,3806],{"class":4586},[4576,42137,41305],{"class":4590},[4576,42139,4594],{"class":4586},[4576,42141,4597],{"class":4582},[4576,42143,41321],{"class":4600},[4576,42145,4604],{"class":4586},[4576,42147,42148,42150,42152,42154,42157,42159,42161,42163],{"class":4578,"line":4647},[4576,42149,4650],{"class":4582},[4576,42151,11150],{"class":4582},[4576,42153,4587],{"class":4586},[4576,42155,42156],{"class":4590},"Tokens",[4576,42158,4594],{"class":4586},[4576,42160,4597],{"class":4582},[4576,42162,41321],{"class":4600},[4576,42164,4604],{"class":4586},[4576,42166,42167,42169,42171,42173,42175,42177,42179,42181,42184],{"class":4578,"line":4664},[4576,42168,4650],{"class":4582},[4576,42170,4587],{"class":4586},[4576,42172,22178],{"class":4590},[4576,42174,3806],{"class":4586},[4576,42176,23243],{"class":4590},[4576,42178,4594],{"class":4586},[4576,42180,4597],{"class":4582},[4576,42182,42183],{"class":4600}," '.\u002FThemeProvider'",[4576,42185,4604],{"class":4586},[4576,42187,42188,42190,42192,42194,42196,42198,42200,42202],{"class":4578,"line":4696},[4576,42189,4650],{"class":4582},[4576,42191,11150],{"class":4582},[4576,42193,4587],{"class":4586},[4576,42195,23722],{"class":4590},[4576,42197,4594],{"class":4586},[4576,42199,4597],{"class":4582},[4576,42201,42183],{"class":4600},[4576,42203,4604],{"class":4586},[3891,42205,42208],{"className":4570,"code":42206,"filename":42207,"language":4572,"meta":3899,"style":3899},"import { ReactNode } from 'react';\nimport { StyleSheet, Text, TextProps, TextStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype AppTextVariant = 'body' | 'title' | 'subtitle' | 'caption';\n\ntype AppTextProps = TextProps & {\n  children: ReactNode;\n  variant?: AppTextVariant;\n  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n  color?: string;\n  style?: TextStyle | TextStyle[];\n};\n\nexport function AppText({\n  children,\n  variant = 'body',\n  color,\n  style,\n  ...rest\n}: AppTextProps) {\n  const { colors, fontSize } = useTheme();\n  const resolvedColor =\n    color ??\n    (variant === 'caption' ? colors.textSecondary : colors.text);\n\n  return (\n    \u003CText\n      style={[\n        styles.base,\n        variant === 'body' && { fontSize: fontSize.md, lineHeight: 24 },\n        variant === 'title' && {\n          fontSize: fontSize.xl,\n          fontWeight: '700',\n          lineHeight: 34,\n        },\n        variant === 'subtitle' && {\n          fontSize: fontSize.lg,\n          fontWeight: '600',\n          lineHeight: 28,\n        },\n        variant === 'caption' && {\n          fontSize: fontSize.sm,\n          lineHeight: 20,\n        },\n        { color: resolvedColor },\n        style,\n      ]}\n      {...rest}\n    >\n      {children}\n    \u003C\u002FText>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {},\n});\n","src\u002Fshared\u002Fui\u002FAppText.tsx",[3803,42209,42210,42226,42256,42260,42276,42280,42309,42313,42327,42337,42349,42354,42365,42379,42383,42387,42398,42404,42414,42420,42426,42434,42443,42461,42471,42479,42509,42513,42519,42526,42536,42546,42575,42588,42601,42610,42620,42624,42637,42649,42657,42665,42669,42682,42694,42702,42706,42717,42723,42729,42740,42744,42752,42760,42764,42768,42772,42788,42795],{"__ignoreMap":3899},[4576,42211,42212,42214,42216,42218,42220,42222,42224],{"class":4578,"line":4579},[4576,42213,4583],{"class":4582},[4576,42215,4587],{"class":4586},[4576,42217,29070],{"class":4590},[4576,42219,4594],{"class":4586},[4576,42221,4597],{"class":4582},[4576,42223,4601],{"class":4600},[4576,42225,4604],{"class":4586},[4576,42227,42228,42230,42232,42234,42236,42238,42240,42243,42245,42248,42250,42252,42254],{"class":4578,"line":4607},[4576,42229,4583],{"class":4582},[4576,42231,4587],{"class":4586},[4576,42233,4614],{"class":4590},[4576,42235,3806],{"class":4586},[4576,42237,4619],{"class":4590},[4576,42239,3806],{"class":4586},[4576,42241,42242],{"class":4590},"TextProps",[4576,42244,3806],{"class":4586},[4576,42246,42247],{"class":4590},"TextStyle",[4576,42249,4594],{"class":4586},[4576,42251,4597],{"class":4582},[4576,42253,4635],{"class":4600},[4576,42255,4604],{"class":4586},[4576,42257,42258],{"class":4578,"line":4640},[4576,42259,4644],{"emptyLinePlaceholder":4643},[4576,42261,42262,42264,42266,42268,42270,42272,42274],{"class":4578,"line":4647},[4576,42263,4583],{"class":4582},[4576,42265,4587],{"class":4586},[4576,42267,23243],{"class":4590},[4576,42269,4594],{"class":4586},[4576,42271,4597],{"class":4582},[4576,42273,23250],{"class":4600},[4576,42275,4604],{"class":4586},[4576,42277,42278],{"class":4578,"line":4664},[4576,42279,4644],{"emptyLinePlaceholder":4643},[4576,42281,42282,42284,42287,42289,42292,42294,42297,42299,42302,42304,42307],{"class":4578,"line":4696},[4576,42283,4083],{"class":4653},[4576,42285,42286],{"class":4717}," AppTextVariant",[4576,42288,4911],{"class":4586},[4576,42290,42291],{"class":4600},"'body'",[4576,42293,21098],{"class":4586},[4576,42295,42296],{"class":4600},"'title'",[4576,42298,21098],{"class":4586},[4576,42300,42301],{"class":4600},"'subtitle'",[4576,42303,21098],{"class":4586},[4576,42305,42306],{"class":4600},"'caption'",[4576,42308,4604],{"class":4586},[4576,42310,42311],{"class":4578,"line":4701},[4576,42312,4644],{"emptyLinePlaceholder":4643},[4576,42314,42315,42317,42320,42322,42324],{"class":4578,"line":4710},[4576,42316,4083],{"class":4653},[4576,42318,42319],{"class":4717}," AppTextProps",[4576,42321,4911],{"class":4586},[4576,42323,42242],{"class":4717},[4576,42325,42326],{"class":4586}," & {\n",[4576,42328,42329,42331,42333,42335],{"class":4578,"line":4745},[4576,42330,29065],{"class":4590},[4576,42332,7093],{"class":4586},[4576,42334,29070],{"class":4717},[4576,42336,4604],{"class":4586},[4576,42338,42339,42342,42344,42347],{"class":4578,"line":4781},[4576,42340,42341],{"class":4590},"  variant",[4576,42343,11984],{"class":4586},[4576,42345,42346],{"class":4717},"AppTextVariant",[4576,42348,4604],{"class":4586},[4576,42350,42351],{"class":4578,"line":4789},[4576,42352,42353],{"class":9599},"  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n",[4576,42355,42356,42359,42361,42363],{"class":4578,"line":4804},[4576,42357,42358],{"class":4590},"  color",[4576,42360,11984],{"class":4586},[4576,42362,4349],{"class":4717},[4576,42364,4604],{"class":4586},[4576,42366,42367,42369,42371,42373,42375,42377],{"class":4578,"line":4818},[4576,42368,14444],{"class":4590},[4576,42370,11984],{"class":4586},[4576,42372,42247],{"class":4717},[4576,42374,21098],{"class":4586},[4576,42376,42247],{"class":4717},[4576,42378,28968],{"class":4586},[4576,42380,42381],{"class":4578,"line":4829},[4576,42382,12050],{"class":4586},[4576,42384,42385],{"class":4578,"line":4840},[4576,42386,4644],{"emptyLinePlaceholder":4643},[4576,42388,42389,42391,42393,42396],{"class":4578,"line":4851},[4576,42390,4650],{"class":4582},[4576,42392,4654],{"class":4653},[4576,42394,42395],{"class":4657}," AppText",[4576,42397,4921],{"class":4586},[4576,42399,42400,42402],{"class":4578,"line":4870},[4576,42401,29065],{"class":4590},[4576,42403,4992],{"class":4586},[4576,42405,42406,42408,42410,42412],{"class":4578,"line":4876},[4576,42407,42341],{"class":4590},[4576,42409,4911],{"class":4586},[4576,42411,42291],{"class":4600},[4576,42413,4992],{"class":4586},[4576,42415,42416,42418],{"class":4578,"line":4886},[4576,42417,42358],{"class":4590},[4576,42419,4992],{"class":4586},[4576,42421,42422,42424],{"class":4578,"line":4892},[4576,42423,14444],{"class":4590},[4576,42425,4992],{"class":4586},[4576,42427,42428,42431],{"class":4578,"line":4897},[4576,42429,42430],{"class":4586},"  ...",[4576,42432,42433],{"class":4590},"rest\n",[4576,42435,42436,42438,42441],{"class":4578,"line":4902},[4576,42437,31384],{"class":4586},[4576,42439,42440],{"class":4717},"AppTextProps",[4576,42442,7149],{"class":4586},[4576,42444,42445,42447,42449,42451,42453,42455,42457,42459],{"class":4578,"line":4924},[4576,42446,4667],{"class":4653},[4576,42448,4587],{"class":4586},[4576,42450,23274],{"class":4673},[4576,42452,3806],{"class":4586},[4576,42454,41305],{"class":4673},[4576,42456,23282],{"class":4586},[4576,42458,23243],{"class":4657},[4576,42460,23287],{"class":4586},[4576,42462,42463,42465,42468],{"class":4578,"line":4942},[4576,42464,4667],{"class":4653},[4576,42466,42467],{"class":4673}," resolvedColor",[4576,42469,42470],{"class":4586}," =\n",[4576,42472,42473,42476],{"class":4578,"line":4974},[4576,42474,42475],{"class":4590},"    color",[4576,42477,42478],{"class":4586}," ??\n",[4576,42480,42481,42484,42487,42489,42491,42493,42495,42497,42499,42501,42503,42505,42507],{"class":4578,"line":4983},[4576,42482,42483],{"class":4586},"    (",[4576,42485,42486],{"class":4590},"variant",[4576,42488,12019],{"class":4586},[4576,42490,42306],{"class":4600},[4576,42492,5885],{"class":4586},[4576,42494,23274],{"class":4590},[4576,42496,3857],{"class":4586},[4576,42498,24829],{"class":4590},[4576,42500,5891],{"class":4586},[4576,42502,23274],{"class":4590},[4576,42504,3857],{"class":4586},[4576,42506,3896],{"class":4590},[4576,42508,4693],{"class":4586},[4576,42510,42511],{"class":4578,"line":4995},[4576,42512,4644],{"emptyLinePlaceholder":4643},[4576,42514,42515,42517],{"class":4578,"line":5006},[4576,42516,4704],{"class":4582},[4576,42518,4707],{"class":4586},[4576,42520,42521,42523],{"class":4578,"line":5017},[4576,42522,4714],{"class":4713},[4576,42524,42525],{"class":4717},"Text\n",[4576,42527,42528,42530,42532,42534],{"class":4578,"line":5027},[4576,42529,6085],{"class":4720},[4576,42531,4724],{"class":4586},[4576,42533,4727],{"class":4653},[4576,42535,6708],{"class":4733},[4576,42537,42538,42540,42542,42544],{"class":4578,"line":5038},[4576,42539,7214],{"class":4590},[4576,42541,3857],{"class":4733},[4576,42543,31262],{"class":4590},[4576,42545,4992],{"class":4733},[4576,42547,42548,42550,42552,42555,42557,42559,42561,42563,42565,42567,42569,42571,42573],{"class":4578,"line":5049},[4576,42549,24808],{"class":4590},[4576,42551,10519],{"class":4586},[4576,42553,42554],{"class":4600}," 'body'",[4576,42556,7229],{"class":4586},[4576,42558,4587],{"class":4733},[4576,42560,4950],{"class":4590},[4576,42562,40951],{"class":4590},[4576,42564,3857],{"class":4733},[4576,42566,24306],{"class":4590},[4576,42568,3806],{"class":4733},[4576,42570,9945],{"class":4590},[4576,42572,20980],{"class":4935},[4576,42574,4939],{"class":4733},[4576,42576,42577,42579,42581,42584,42586],{"class":4578,"line":5055},[4576,42578,24808],{"class":4590},[4576,42580,10519],{"class":4586},[4576,42582,42583],{"class":4600}," 'title'",[4576,42585,7229],{"class":4586},[4576,42587,4980],{"class":4733},[4576,42589,42590,42593,42595,42597,42599],{"class":4578,"line":5744},[4576,42591,42592],{"class":4590},"          fontSize:",[4576,42594,40951],{"class":4590},[4576,42596,3857],{"class":4733},[4576,42598,24722],{"class":4590},[4576,42600,4992],{"class":4733},[4576,42602,42603,42606,42608],{"class":4578,"line":6299},[4576,42604,42605],{"class":4590},"          fontWeight:",[4576,42607,4961],{"class":4600},[4576,42609,4992],{"class":4733},[4576,42611,42612,42615,42618],{"class":4578,"line":6312},[4576,42613,42614],{"class":4590},"          lineHeight:",[4576,42616,42617],{"class":4935}," 34",[4576,42619,4992],{"class":4733},[4576,42621,42622],{"class":4578,"line":6325},[4576,42623,24742],{"class":4733},[4576,42625,42626,42628,42630,42633,42635],{"class":4578,"line":6335},[4576,42627,24808],{"class":4590},[4576,42629,10519],{"class":4586},[4576,42631,42632],{"class":4600}," 'subtitle'",[4576,42634,7229],{"class":4586},[4576,42636,4980],{"class":4733},[4576,42638,42639,42641,42643,42645,42647],{"class":4578,"line":6350},[4576,42640,42592],{"class":4590},[4576,42642,40951],{"class":4590},[4576,42644,3857],{"class":4733},[4576,42646,36433],{"class":4590},[4576,42648,4992],{"class":4733},[4576,42650,42651,42653,42655],{"class":4578,"line":6359},[4576,42652,42605],{"class":4590},[4576,42654,8726],{"class":4600},[4576,42656,4992],{"class":4733},[4576,42658,42659,42661,42663],{"class":4578,"line":6368},[4576,42660,42614],{"class":4590},[4576,42662,40984],{"class":4935},[4576,42664,4992],{"class":4733},[4576,42666,42667],{"class":4578,"line":6377},[4576,42668,24742],{"class":4733},[4576,42670,42671,42673,42675,42678,42680],{"class":4578,"line":6417},[4576,42672,24808],{"class":4590},[4576,42674,10519],{"class":4586},[4576,42676,42677],{"class":4600}," 'caption'",[4576,42679,7229],{"class":4586},[4576,42681,4980],{"class":4733},[4576,42683,42684,42686,42688,42690,42692],{"class":4578,"line":6422},[4576,42685,42592],{"class":4590},[4576,42687,40951],{"class":4590},[4576,42689,3857],{"class":4733},[4576,42691,24365],{"class":4590},[4576,42693,4992],{"class":4733},[4576,42695,42696,42698,42700],{"class":4578,"line":6427},[4576,42697,42614],{"class":4590},[4576,42699,7876],{"class":4935},[4576,42701,4992],{"class":4733},[4576,42703,42704],{"class":4578,"line":6469},[4576,42705,24742],{"class":4733},[4576,42707,42708,42711,42713,42715],{"class":4578,"line":6476},[4576,42709,42710],{"class":4733},"        { ",[4576,42712,6167],{"class":4590},[4576,42714,42467],{"class":4590},[4576,42716,4939],{"class":4733},[4576,42718,42719,42721],{"class":4578,"line":6489},[4576,42720,4854],{"class":4590},[4576,42722,4992],{"class":4733},[4576,42724,42725,42727],{"class":4578,"line":6502},[4576,42726,7266],{"class":4733},[4576,42728,4801],{"class":4653},[4576,42730,42731,42733,42735,42738],{"class":4578,"line":6512},[4576,42732,7277],{"class":4653},[4576,42734,12907],{"class":4586},[4576,42736,42737],{"class":4590},"rest",[4576,42739,4801],{"class":4653},[4576,42741,42742],{"class":4578,"line":6525},[4576,42743,6150],{"class":4713},[4576,42745,42746,42748,42750],{"class":4578,"line":6535},[4576,42747,7277],{"class":4653},[4576,42749,17954],{"class":4590},[4576,42751,4801],{"class":4653},[4576,42753,42754,42756,42758],{"class":4578,"line":6574},[4576,42755,4879],{"class":4713},[4576,42757,4619],{"class":4717},[4576,42759,4742],{"class":4713},[4576,42761,42762],{"class":4578,"line":6579},[4576,42763,4889],{"class":4586},[4576,42765,42766],{"class":4578,"line":6584},[4576,42767,4801],{"class":4586},[4576,42769,42770],{"class":4578,"line":6626},[4576,42771,4644],{"emptyLinePlaceholder":4643},[4576,42773,42774,42776,42778,42780,42782,42784,42786],{"class":4578,"line":6633},[4576,42775,4905],{"class":4653},[4576,42777,4908],{"class":4673},[4576,42779,4911],{"class":4586},[4576,42781,4614],{"class":4590},[4576,42783,3857],{"class":4586},[4576,42785,4918],{"class":4657},[4576,42787,4921],{"class":4586},[4576,42789,42790,42793],{"class":4578,"line":6646},[4576,42791,42792],{"class":4590},"  base:",[4576,42794,39473],{"class":4586},[4576,42796,42797],{"class":4578,"line":6659},[4576,42798,5058],{"class":4586},[3891,42800,42803],{"className":4570,"code":42801,"filename":42802,"language":4572,"meta":3899,"style":3899},"import { Pressable, StyleSheet, Text, ViewStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ButtonVariant = 'primary' | 'secondary';\n\ntype ButtonProps = {\n  label: string;\n  onPress: () => void;\n  disabled?: boolean;\n  style?: ViewStyle;\n  variant?: ButtonVariant;\n};\n\nexport function Button({\n  label,\n  onPress,\n  disabled = false,\n  style,\n  variant = 'primary',\n}: ButtonProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const isPrimary = variant === 'primary';\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      disabled={disabled}\n      onPress={onPress}\n      style={({ pressed }) => [\n        styles.base,\n        {\n          paddingVertical: spacing.sm + 4,\n          paddingHorizontal: spacing.md,\n          borderRadius: radius.md,\n          backgroundColor: isPrimary ? colors.primary : colors.surface,\n          borderWidth: isPrimary ? 0 : 1,\n          borderColor: colors.border,\n        },\n        pressed && !disabled\n          ? isPrimary\n            ? { backgroundColor: colors.primaryPressed }\n            : { opacity: 0.85 }\n          : null,\n        disabled ? styles.disabled : null,\n        style,\n      ]}\n    >\n      \u003CText\n        style={[\n          styles.label,\n          {\n            color: isPrimary ? colors.onPrimary : colors.text,\n            fontSize: fontSize.md,\n          },\n        ]}\n      >\n        {label}\n      \u003C\u002FText>\n    \u003C\u002FPressable>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {\n    alignItems: 'center',\n  },\n  disabled: {\n    opacity: 0.5,\n  },\n  label: {\n    fontWeight: '600',\n  },\n});\n","src\u002Fshared\u002Fui\u002FButton.tsx",[3803,42804,42805,42834,42838,42854,42858,42877,42881,42890,42900,42912,42922,42932,42943,42947,42951,42962,42968,42974,42984,42990,43000,43009,43035,43052,43056,43062,43068,43076,43088,43100,43118,43128,43132,43148,43160,43172,43196,43213,43225,43229,43240,43248,43266,43278,43287,43306,43312,43318,43322,43328,43338,43348,43352,43376,43389,43393,43399,43403,43411,43419,43427,43431,43435,43439,43455,43461,43469,43473,43480,43489,43493,43499,43507,43511],{"__ignoreMap":3899},[4576,42806,42807,42809,42811,42813,42815,42817,42819,42821,42823,42826,42828,42830,42832],{"class":4578,"line":4579},[4576,42808,4583],{"class":4582},[4576,42810,4587],{"class":4586},[4576,42812,3947],{"class":4590},[4576,42814,3806],{"class":4586},[4576,42816,4614],{"class":4590},[4576,42818,3806],{"class":4586},[4576,42820,4619],{"class":4590},[4576,42822,3806],{"class":4586},[4576,42824,42825],{"class":4590},"ViewStyle",[4576,42827,4594],{"class":4586},[4576,42829,4597],{"class":4582},[4576,42831,4635],{"class":4600},[4576,42833,4604],{"class":4586},[4576,42835,42836],{"class":4578,"line":4607},[4576,42837,4644],{"emptyLinePlaceholder":4643},[4576,42839,42840,42842,42844,42846,42848,42850,42852],{"class":4578,"line":4640},[4576,42841,4583],{"class":4582},[4576,42843,4587],{"class":4586},[4576,42845,23243],{"class":4590},[4576,42847,4594],{"class":4586},[4576,42849,4597],{"class":4582},[4576,42851,23250],{"class":4600},[4576,42853,4604],{"class":4586},[4576,42855,42856],{"class":4578,"line":4647},[4576,42857,4644],{"emptyLinePlaceholder":4643},[4576,42859,42860,42862,42865,42867,42870,42872,42875],{"class":4578,"line":4664},[4576,42861,4083],{"class":4653},[4576,42863,42864],{"class":4717}," ButtonVariant",[4576,42866,4911],{"class":4586},[4576,42868,42869],{"class":4600},"'primary'",[4576,42871,21098],{"class":4586},[4576,42873,42874],{"class":4600},"'secondary'",[4576,42876,4604],{"class":4586},[4576,42878,42879],{"class":4578,"line":4696},[4576,42880,4644],{"emptyLinePlaceholder":4643},[4576,42882,42883,42885,42888],{"class":4578,"line":4701},[4576,42884,4083],{"class":4653},[4576,42886,42887],{"class":4717}," ButtonProps",[4576,42889,27412],{"class":4586},[4576,42891,42892,42894,42896,42898],{"class":4578,"line":4710},[4576,42893,35198],{"class":4590},[4576,42895,7093],{"class":4586},[4576,42897,4349],{"class":4717},[4576,42899,4604],{"class":4586},[4576,42901,42902,42904,42906,42908,42910],{"class":4578,"line":4745},[4576,42903,7075],{"class":4657},[4576,42905,7078],{"class":4586},[4576,42907,5537],{"class":4653},[4576,42909,7083],{"class":4717},[4576,42911,4604],{"class":4586},[4576,42913,42914,42916,42918,42920],{"class":4578,"line":4781},[4576,42915,14431],{"class":4590},[4576,42917,11984],{"class":4586},[4576,42919,4372],{"class":4717},[4576,42921,4604],{"class":4586},[4576,42923,42924,42926,42928,42930],{"class":4578,"line":4789},[4576,42925,14444],{"class":4590},[4576,42927,11984],{"class":4586},[4576,42929,42825],{"class":4717},[4576,42931,4604],{"class":4586},[4576,42933,42934,42936,42938,42941],{"class":4578,"line":4804},[4576,42935,42341],{"class":4590},[4576,42937,11984],{"class":4586},[4576,42939,42940],{"class":4717},"ButtonVariant",[4576,42942,4604],{"class":4586},[4576,42944,42945],{"class":4578,"line":4818},[4576,42946,12050],{"class":4586},[4576,42948,42949],{"class":4578,"line":4829},[4576,42950,4644],{"emptyLinePlaceholder":4643},[4576,42952,42953,42955,42957,42960],{"class":4578,"line":4840},[4576,42954,4650],{"class":4582},[4576,42956,4654],{"class":4653},[4576,42958,42959],{"class":4657}," Button",[4576,42961,4921],{"class":4586},[4576,42963,42964,42966],{"class":4578,"line":4851},[4576,42965,35198],{"class":4590},[4576,42967,4992],{"class":4586},[4576,42969,42970,42972],{"class":4578,"line":4870},[4576,42971,7075],{"class":4590},[4576,42973,4992],{"class":4586},[4576,42975,42976,42978,42980,42982],{"class":4578,"line":4876},[4576,42977,14431],{"class":4590},[4576,42979,4911],{"class":4586},[4576,42981,5161],{"class":4653},[4576,42983,4992],{"class":4586},[4576,42985,42986,42988],{"class":4578,"line":4886},[4576,42987,14444],{"class":4590},[4576,42989,4992],{"class":4586},[4576,42991,42992,42994,42996,42998],{"class":4578,"line":4892},[4576,42993,42341],{"class":4590},[4576,42995,4911],{"class":4586},[4576,42997,42869],{"class":4600},[4576,42999,4992],{"class":4586},[4576,43001,43002,43004,43007],{"class":4578,"line":4897},[4576,43003,31384],{"class":4586},[4576,43005,43006],{"class":4717},"ButtonProps",[4576,43008,7149],{"class":4586},[4576,43010,43011,43013,43015,43017,43019,43021,43023,43025,43027,43029,43031,43033],{"class":4578,"line":4902},[4576,43012,4667],{"class":4653},[4576,43014,4587],{"class":4586},[4576,43016,23274],{"class":4673},[4576,43018,3806],{"class":4586},[4576,43020,23853],{"class":4673},[4576,43022,3806],{"class":4586},[4576,43024,31406],{"class":4673},[4576,43026,3806],{"class":4586},[4576,43028,41305],{"class":4673},[4576,43030,23282],{"class":4586},[4576,43032,23243],{"class":4657},[4576,43034,23287],{"class":4586},[4576,43036,43037,43039,43042,43044,43046,43048,43050],{"class":4578,"line":4924},[4576,43038,4667],{"class":4653},[4576,43040,43041],{"class":4673}," isPrimary",[4576,43043,4911],{"class":4586},[4576,43045,42486],{"class":4590},[4576,43047,12019],{"class":4586},[4576,43049,42869],{"class":4600},[4576,43051,4604],{"class":4586},[4576,43053,43054],{"class":4578,"line":4942},[4576,43055,4644],{"emptyLinePlaceholder":4643},[4576,43057,43058,43060],{"class":4578,"line":4974},[4576,43059,4704],{"class":4582},[4576,43061,4707],{"class":4586},[4576,43063,43064,43066],{"class":4578,"line":4983},[4576,43065,4714],{"class":4713},[4576,43067,7162],{"class":4717},[4576,43069,43070,43072,43074],{"class":4578,"line":4995},[4576,43071,38297],{"class":4720},[4576,43073,4724],{"class":4586},[4576,43075,25497],{"class":4600},[4576,43077,43078,43080,43082,43084,43086],{"class":4578,"line":5006},[4576,43079,7180],{"class":4720},[4576,43081,4724],{"class":4586},[4576,43083,4727],{"class":4653},[4576,43085,8793],{"class":4590},[4576,43087,4801],{"class":4653},[4576,43089,43090,43092,43094,43096,43098],{"class":4578,"line":5017},[4576,43091,7167],{"class":4720},[4576,43093,4724],{"class":4586},[4576,43095,4727],{"class":4653},[4576,43097,4180],{"class":4590},[4576,43099,4801],{"class":4653},[4576,43101,43102,43104,43106,43108,43110,43112,43114,43116],{"class":4578,"line":5027},[4576,43103,6085],{"class":4720},[4576,43105,4724],{"class":4586},[4576,43107,4727],{"class":4653},[4576,43109,7128],{"class":4733},[4576,43111,7201],{"class":4590},[4576,43113,7204],{"class":4733},[4576,43115,5537],{"class":4653},[4576,43117,7209],{"class":4733},[4576,43119,43120,43122,43124,43126],{"class":4578,"line":5038},[4576,43121,7214],{"class":4590},[4576,43123,3857],{"class":4733},[4576,43125,31262],{"class":4590},[4576,43127,4992],{"class":4733},[4576,43129,43130],{"class":4578,"line":5049},[4576,43131,24697],{"class":4733},[4576,43133,43134,43136,43138,43140,43142,43144,43146],{"class":4578,"line":5055},[4576,43135,24715],{"class":4590},[4576,43137,24301],{"class":4590},[4576,43139,3857],{"class":4733},[4576,43141,24365],{"class":4590},[4576,43143,7976],{"class":4586},[4576,43145,9228],{"class":4935},[4576,43147,4992],{"class":4733},[4576,43149,43150,43152,43154,43156,43158],{"class":4578,"line":5744},[4576,43151,24702],{"class":4590},[4576,43153,24301],{"class":4590},[4576,43155,3857],{"class":4733},[4576,43157,24306],{"class":4590},[4576,43159,4992],{"class":4733},[4576,43161,43162,43164,43166,43168,43170],{"class":4578,"line":6299},[4576,43163,38414],{"class":4590},[4576,43165,32572],{"class":4590},[4576,43167,3857],{"class":4733},[4576,43169,24306],{"class":4590},[4576,43171,4992],{"class":4733},[4576,43173,43174,43176,43178,43180,43182,43184,43186,43188,43190,43192,43194],{"class":4578,"line":6312},[4576,43175,38388],{"class":4590},[4576,43177,43041],{"class":4590},[4576,43179,7282],{"class":4586},[4576,43181,23373],{"class":4590},[4576,43183,3857],{"class":4733},[4576,43185,25164],{"class":4590},[4576,43187,8033],{"class":4586},[4576,43189,23373],{"class":4590},[4576,43191,3857],{"class":4733},[4576,43193,25460],{"class":4590},[4576,43195,4992],{"class":4733},[4576,43197,43198,43201,43203,43205,43207,43209,43211],{"class":4578,"line":6325},[4576,43199,43200],{"class":4590},"          borderWidth:",[4576,43202,43041],{"class":4590},[4576,43204,7282],{"class":4586},[4576,43206,24338],{"class":4935},[4576,43208,8033],{"class":4586},[4576,43210,4989],{"class":4935},[4576,43212,4992],{"class":4733},[4576,43214,43215,43217,43219,43221,43223],{"class":4578,"line":6335},[4576,43216,38401],{"class":4590},[4576,43218,23373],{"class":4590},[4576,43220,3857],{"class":4733},[4576,43222,25005],{"class":4590},[4576,43224,4992],{"class":4733},[4576,43226,43227],{"class":4578,"line":6350},[4576,43228,24742],{"class":4733},[4576,43230,43231,43233,43235,43237],{"class":4578,"line":6359},[4576,43232,7226],{"class":4590},[4576,43234,7229],{"class":4586},[4576,43236,7232],{"class":4586},[4576,43238,43239],{"class":4590},"disabled\n",[4576,43241,43242,43245],{"class":4578,"line":6368},[4576,43243,43244],{"class":4586},"          ?",[4576,43246,43247],{"class":4590}," isPrimary\n",[4576,43249,43250,43252,43254,43256,43258,43260,43263],{"class":4578,"line":6377},[4576,43251,25205],{"class":4586},[4576,43253,4587],{"class":4733},[4576,43255,6102],{"class":4590},[4576,43257,23373],{"class":4590},[4576,43259,3857],{"class":4733},[4576,43261,43262],{"class":4590},"primaryPressed",[4576,43264,43265],{"class":4733}," }\n",[4576,43267,43268,43270,43272,43274,43276],{"class":4578,"line":6417},[4576,43269,25240],{"class":4586},[4576,43271,4587],{"class":4733},[4576,43273,7463],{"class":4590},[4576,43275,7466],{"class":4935},[4576,43277,43265],{"class":4733},[4576,43279,43280,43283,43285],{"class":4578,"line":6422},[4576,43281,43282],{"class":4586},"          :",[4576,43284,18049],{"class":4653},[4576,43286,4992],{"class":4733},[4576,43288,43289,43292,43294,43296,43298,43300,43302,43304],{"class":4578,"line":6427},[4576,43290,43291],{"class":4590},"        disabled",[4576,43293,7282],{"class":4586},[4576,43295,4908],{"class":4590},[4576,43297,3857],{"class":4733},[4576,43299,8793],{"class":4590},[4576,43301,8033],{"class":4586},[4576,43303,18049],{"class":4653},[4576,43305,4992],{"class":4733},[4576,43307,43308,43310],{"class":4578,"line":6469},[4576,43309,4854],{"class":4590},[4576,43311,4992],{"class":4733},[4576,43313,43314,43316],{"class":4578,"line":6476},[4576,43315,7266],{"class":4733},[4576,43317,4801],{"class":4653},[4576,43319,43320],{"class":4578,"line":6489},[4576,43321,6150],{"class":4713},[4576,43323,43324,43326],{"class":4578,"line":6502},[4576,43325,4748],{"class":4713},[4576,43327,42525],{"class":4717},[4576,43329,43330,43332,43334,43336],{"class":4578,"line":6512},[4576,43331,4854],{"class":4720},[4576,43333,4724],{"class":4586},[4576,43335,4727],{"class":4653},[4576,43337,6708],{"class":4733},[4576,43339,43340,43342,43344,43346],{"class":4578,"line":6525},[4576,43341,6714],{"class":4590},[4576,43343,3857],{"class":4733},[4576,43345,4763],{"class":4590},[4576,43347,4992],{"class":4733},[4576,43349,43350],{"class":4578,"line":6535},[4576,43351,24940],{"class":4733},[4576,43353,43354,43356,43358,43360,43362,43364,43366,43368,43370,43372,43374],{"class":4578,"line":6574},[4576,43355,25157],{"class":4590},[4576,43357,43041],{"class":4590},[4576,43359,7282],{"class":4586},[4576,43361,23373],{"class":4590},[4576,43363,3857],{"class":4733},[4576,43365,25585],{"class":4590},[4576,43367,8033],{"class":4586},[4576,43369,23373],{"class":4590},[4576,43371,3857],{"class":4733},[4576,43373,3896],{"class":4590},[4576,43375,4992],{"class":4733},[4576,43377,43378,43381,43383,43385,43387],{"class":4578,"line":6579},[4576,43379,43380],{"class":4590},"            fontSize:",[4576,43382,40951],{"class":4590},[4576,43384,3857],{"class":4733},[4576,43386,24306],{"class":4590},[4576,43388,4992],{"class":4733},[4576,43390,43391],{"class":4578,"line":6584},[4576,43392,25012],{"class":4733},[4576,43394,43395,43397],{"class":4578,"line":6626},[4576,43396,6762],{"class":4733},[4576,43398,4801],{"class":4653},[4576,43400,43401],{"class":4578,"line":6633},[4576,43402,8048],{"class":4713},[4576,43404,43405,43407,43409],{"class":4578,"line":6646},[4576,43406,15958],{"class":4653},[4576,43408,4763],{"class":4590},[4576,43410,4801],{"class":4653},[4576,43412,43413,43415,43417],{"class":4578,"line":6659},[4576,43414,6238],{"class":4713},[4576,43416,4619],{"class":4717},[4576,43418,4742],{"class":4713},[4576,43420,43421,43423,43425],{"class":4578,"line":6669},[4576,43422,4879],{"class":4713},[4576,43424,3947],{"class":4717},[4576,43426,4742],{"class":4713},[4576,43428,43429],{"class":4578,"line":6682},[4576,43430,4889],{"class":4586},[4576,43432,43433],{"class":4578,"line":6688},[4576,43434,4801],{"class":4586},[4576,43436,43437],{"class":4578,"line":6699},[4576,43438,4644],{"emptyLinePlaceholder":4643},[4576,43440,43441,43443,43445,43447,43449,43451,43453],{"class":4578,"line":6711},[4576,43442,4905],{"class":4653},[4576,43444,4908],{"class":4673},[4576,43446,4911],{"class":4586},[4576,43448,4614],{"class":4590},[4576,43450,3857],{"class":4586},[4576,43452,4918],{"class":4657},[4576,43454,4921],{"class":4586},[4576,43456,43457,43459],{"class":4578,"line":6723},[4576,43458,42792],{"class":4590},[4576,43460,4980],{"class":4586},[4576,43462,43463,43465,43467],{"class":4578,"line":6735},[4576,43464,7427],{"class":4590},[4576,43466,7430],{"class":4600},[4576,43468,4992],{"class":4586},[4576,43470,43471],{"class":4578,"line":6759},[4576,43472,5052],{"class":4586},[4576,43474,43475,43478],{"class":4578,"line":6767},[4576,43476,43477],{"class":4590},"  disabled:",[4576,43479,4980],{"class":4586},[4576,43481,43482,43484,43487],{"class":4578,"line":6772},[4576,43483,39493],{"class":4590},[4576,43485,43486],{"class":4935}," 0.5",[4576,43488,4992],{"class":4586},[4576,43490,43491],{"class":4578,"line":6781},[4576,43492,5052],{"class":4586},[4576,43494,43495,43497],{"class":4578,"line":6786},[4576,43496,4945],{"class":4590},[4576,43498,4980],{"class":4586},[4576,43500,43501,43503,43505],{"class":4578,"line":6791},[4576,43502,21442],{"class":4590},[4576,43504,8726],{"class":4600},[4576,43506,4992],{"class":4586},[4576,43508,43509],{"class":4578,"line":6796},[4576,43510,5052],{"class":4586},[4576,43512,43513],{"class":4578,"line":6813},[4576,43514,5058],{"class":4586},[3891,43516,43519],{"className":4570,"code":43517,"filename":43518,"language":4572,"meta":3899,"style":3899},"import { ReactNode } from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { space, useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ScreenProps = {\n  children: ReactNode;\n  style?: ViewStyle;\n};\n\nexport function Screen({ children, style }: ScreenProps) {\n  const { colors } = useTheme();\n\n  return (\n    \u003CSafeAreaView\n      style={[styles.root, { backgroundColor: colors.background }, style]}\n    >\n      {children}\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  root: {\n    flex: 1,\n    paddingHorizontal: space.md,\n  },\n});\n","src\u002Fshared\u002Fui\u002FScreen.tsx",[3803,43520,43521,43537,43557,43573,43577,43597,43601,43610,43620,43630,43634,43638,43663,43677,43681,43687,43694,43729,43733,43741,43749,43753,43757,43761,43777,43784,43792,43804,43808],{"__ignoreMap":3899},[4576,43522,43523,43525,43527,43529,43531,43533,43535],{"class":4578,"line":4579},[4576,43524,4583],{"class":4582},[4576,43526,4587],{"class":4586},[4576,43528,29070],{"class":4590},[4576,43530,4594],{"class":4586},[4576,43532,4597],{"class":4582},[4576,43534,4601],{"class":4600},[4576,43536,4604],{"class":4586},[4576,43538,43539,43541,43543,43545,43547,43549,43551,43553,43555],{"class":4578,"line":4607},[4576,43540,4583],{"class":4582},[4576,43542,4587],{"class":4586},[4576,43544,4614],{"class":4590},[4576,43546,3806],{"class":4586},[4576,43548,42825],{"class":4590},[4576,43550,4594],{"class":4586},[4576,43552,4597],{"class":4582},[4576,43554,4635],{"class":4600},[4576,43556,4604],{"class":4586},[4576,43558,43559,43561,43563,43565,43567,43569,43571],{"class":4578,"line":4640},[4576,43560,4583],{"class":4582},[4576,43562,4587],{"class":4586},[4576,43564,17392],{"class":4590},[4576,43566,4594],{"class":4586},[4576,43568,4597],{"class":4582},[4576,43570,17399],{"class":4600},[4576,43572,4604],{"class":4586},[4576,43574,43575],{"class":4578,"line":4647},[4576,43576,4644],{"emptyLinePlaceholder":4643},[4576,43578,43579,43581,43583,43585,43587,43589,43591,43593,43595],{"class":4578,"line":4664},[4576,43580,4583],{"class":4582},[4576,43582,4587],{"class":4586},[4576,43584,41314],{"class":4590},[4576,43586,3806],{"class":4586},[4576,43588,23243],{"class":4590},[4576,43590,4594],{"class":4586},[4576,43592,4597],{"class":4582},[4576,43594,23250],{"class":4600},[4576,43596,4604],{"class":4586},[4576,43598,43599],{"class":4578,"line":4696},[4576,43600,4644],{"emptyLinePlaceholder":4643},[4576,43602,43603,43605,43608],{"class":4578,"line":4701},[4576,43604,4083],{"class":4653},[4576,43606,43607],{"class":4717}," ScreenProps",[4576,43609,27412],{"class":4586},[4576,43611,43612,43614,43616,43618],{"class":4578,"line":4710},[4576,43613,29065],{"class":4590},[4576,43615,7093],{"class":4586},[4576,43617,29070],{"class":4717},[4576,43619,4604],{"class":4586},[4576,43621,43622,43624,43626,43628],{"class":4578,"line":4745},[4576,43623,14444],{"class":4590},[4576,43625,11984],{"class":4586},[4576,43627,42825],{"class":4717},[4576,43629,4604],{"class":4586},[4576,43631,43632],{"class":4578,"line":4781},[4576,43633,12050],{"class":4586},[4576,43635,43636],{"class":4578,"line":4789},[4576,43637,4644],{"emptyLinePlaceholder":4643},[4576,43639,43640,43642,43644,43647,43649,43651,43653,43656,43658,43661],{"class":4578,"line":4804},[4576,43641,4650],{"class":4582},[4576,43643,4654],{"class":4653},[4576,43645,43646],{"class":4657}," Screen",[4576,43648,7128],{"class":4586},[4576,43650,17954],{"class":4590},[4576,43652,3806],{"class":4586},[4576,43654,43655],{"class":4590},"style",[4576,43657,7143],{"class":4586},[4576,43659,43660],{"class":4717},"ScreenProps",[4576,43662,7149],{"class":4586},[4576,43664,43665,43667,43669,43671,43673,43675],{"class":4578,"line":4818},[4576,43666,4667],{"class":4653},[4576,43668,4587],{"class":4586},[4576,43670,23274],{"class":4673},[4576,43672,23282],{"class":4586},[4576,43674,23243],{"class":4657},[4576,43676,23287],{"class":4586},[4576,43678,43679],{"class":4578,"line":4829},[4576,43680,4644],{"emptyLinePlaceholder":4643},[4576,43682,43683,43685],{"class":4578,"line":4840},[4576,43684,4704],{"class":4582},[4576,43686,4707],{"class":4586},[4576,43688,43689,43691],{"class":4578,"line":4851},[4576,43690,4714],{"class":4713},[4576,43692,43693],{"class":4717},"SafeAreaView\n",[4576,43695,43696,43698,43700,43702,43704,43706,43708,43711,43713,43715,43717,43719,43721,43723,43725,43727],{"class":4578,"line":4870},[4576,43697,6085],{"class":4720},[4576,43699,4724],{"class":4586},[4576,43701,4727],{"class":4653},[4576,43703,6261],{"class":4733},[4576,43705,4730],{"class":4590},[4576,43707,3857],{"class":4733},[4576,43709,43710],{"class":4590},"root",[4576,43712,6270],{"class":4733},[4576,43714,6102],{"class":4590},[4576,43716,23373],{"class":4590},[4576,43718,3857],{"class":4733},[4576,43720,23378],{"class":4590},[4576,43722,13080],{"class":4733},[4576,43724,43655],{"class":4590},[4576,43726,18647],{"class":4733},[4576,43728,4801],{"class":4653},[4576,43730,43731],{"class":4578,"line":4876},[4576,43732,6150],{"class":4713},[4576,43734,43735,43737,43739],{"class":4578,"line":4886},[4576,43736,7277],{"class":4653},[4576,43738,17954],{"class":4590},[4576,43740,4801],{"class":4653},[4576,43742,43743,43745,43747],{"class":4578,"line":4892},[4576,43744,4879],{"class":4713},[4576,43746,17392],{"class":4717},[4576,43748,4742],{"class":4713},[4576,43750,43751],{"class":4578,"line":4897},[4576,43752,4889],{"class":4586},[4576,43754,43755],{"class":4578,"line":4902},[4576,43756,4801],{"class":4586},[4576,43758,43759],{"class":4578,"line":4924},[4576,43760,4644],{"emptyLinePlaceholder":4643},[4576,43762,43763,43765,43767,43769,43771,43773,43775],{"class":4578,"line":4942},[4576,43764,4905],{"class":4653},[4576,43766,4908],{"class":4673},[4576,43768,4911],{"class":4586},[4576,43770,4614],{"class":4590},[4576,43772,3857],{"class":4586},[4576,43774,4918],{"class":4657},[4576,43776,4921],{"class":4586},[4576,43778,43779,43782],{"class":4578,"line":4974},[4576,43780,43781],{"class":4590},"  root:",[4576,43783,4980],{"class":4586},[4576,43785,43786,43788,43790],{"class":4578,"line":4983},[4576,43787,21384],{"class":4590},[4576,43789,4989],{"class":4935},[4576,43791,4992],{"class":4586},[4576,43793,43794,43796,43798,43800,43802],{"class":4578,"line":4995},[4576,43795,5009],{"class":4590},[4576,43797,40832],{"class":4590},[4576,43799,3857],{"class":4586},[4576,43801,24306],{"class":4590},[4576,43803,4992],{"class":4586},[4576,43805,43806],{"class":4578,"line":5006},[4576,43807,5052],{"class":4586},[4576,43809,43810],{"class":4578,"line":5017},[4576,43811,5058],{"class":4586},[3891,43813,43816],{"className":4570,"code":43814,"filename":43815,"language":4572,"meta":3899,"style":3899},"import { ReactNode } from 'react';\nimport {\n  StyleSheet,\n  TextInput,\n  TextInputProps,\n  View,\n  ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '.\u002FAppText';\n\ntype TextFieldProps = TextInputProps & {\n  label: string;\n  error?: string;\n  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n  hint?: string;\n  containerStyle?: ViewStyle;\n  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n  rightSlot?: ReactNode;\n};\n\n\u002F**\n * Поле форми: label + TextInput + помилка\u002Fпідказка.\n * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n *\u002F\nexport function TextField({\n  label,\n  error,\n  hint,\n  containerStyle,\n  rightSlot,\n  style,\n  ...inputProps\n}: TextFieldProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const hasError = Boolean(error);\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }, containerStyle]}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CView\n        style={[\n          styles.row,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n          },\n        ]}\n      >\n        \u003CTextInput\n          placeholderTextColor={colors.textSecondary}\n          style={[\n            styles.input,\n            {\n              color: colors.text,\n              fontSize: fontSize.md,\n              paddingVertical: spacing.sm + 4,\n              paddingHorizontal: spacing.md,\n            },\n            style,\n          ]}\n          {...inputProps}\n        \u002F>\n        {rightSlot}\n      \u003C\u002FView>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : hint ? (\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          {hint}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  label: {\n    fontWeight: '600',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n  input: {\n    flex: 1,\n    minHeight: 48,\n  },\n});\n","src\u002Fshared\u002Fui\u002FTextField.tsx",[3803,43817,43818,43834,43840,43846,43852,43859,43865,43872,43882,43886,43902,43919,43923,43937,43947,43957,43962,43973,43984,43989,44000,44004,44008,44012,44017,44022,44026,44037,44043,44049,44055,44061,44067,44073,44080,44089,44115,44131,44135,44141,44182,44210,44218,44226,44232,44242,44252,44256,44280,44292,44304,44308,44314,44318,44324,44340,44350,44360,44365,44378,44391,44408,44421,44426,44432,44438,44449,44453,44462,44470,44480,44508,44516,44524,44537,44565,44574,44582,44590,44598,44602,44606,44610,44626,44632,44640,44644,44650,44658,44662,44668,44676,44684,44692,44700,44704,44710,44718,44726,44730],{"__ignoreMap":3899},[4576,43819,43820,43822,43824,43826,43828,43830,43832],{"class":4578,"line":4579},[4576,43821,4583],{"class":4582},[4576,43823,4587],{"class":4586},[4576,43825,29070],{"class":4590},[4576,43827,4594],{"class":4586},[4576,43829,4597],{"class":4582},[4576,43831,4601],{"class":4600},[4576,43833,4604],{"class":4586},[4576,43835,43836,43838],{"class":4578,"line":4607},[4576,43837,4583],{"class":4582},[4576,43839,4980],{"class":4586},[4576,43841,43842,43844],{"class":4578,"line":4640},[4576,43843,5798],{"class":4590},[4576,43845,4992],{"class":4586},[4576,43847,43848,43850],{"class":4578,"line":4647},[4576,43849,5812],{"class":4590},[4576,43851,4992],{"class":4586},[4576,43853,43854,43857],{"class":4578,"line":4664},[4576,43855,43856],{"class":4590},"  TextInputProps",[4576,43858,4992],{"class":4586},[4576,43860,43861,43863],{"class":4578,"line":4696},[4576,43862,14722],{"class":4590},[4576,43864,4992],{"class":4586},[4576,43866,43867,43870],{"class":4578,"line":4701},[4576,43868,43869],{"class":4590},"  ViewStyle",[4576,43871,4992],{"class":4586},[4576,43873,43874,43876,43878,43880],{"class":4578,"line":4710},[4576,43875,5826],{"class":4586},[4576,43877,4597],{"class":4582},[4576,43879,4635],{"class":4600},[4576,43881,4604],{"class":4586},[4576,43883,43884],{"class":4578,"line":4745},[4576,43885,4644],{"emptyLinePlaceholder":4643},[4576,43887,43888,43890,43892,43894,43896,43898,43900],{"class":4578,"line":4781},[4576,43889,4583],{"class":4582},[4576,43891,4587],{"class":4586},[4576,43893,23243],{"class":4590},[4576,43895,4594],{"class":4586},[4576,43897,4597],{"class":4582},[4576,43899,23250],{"class":4600},[4576,43901,4604],{"class":4586},[4576,43903,43904,43906,43908,43910,43912,43914,43917],{"class":4578,"line":4789},[4576,43905,4583],{"class":4582},[4576,43907,4587],{"class":4586},[4576,43909,22187],{"class":4590},[4576,43911,4594],{"class":4586},[4576,43913,4597],{"class":4582},[4576,43915,43916],{"class":4600}," '.\u002FAppText'",[4576,43918,4604],{"class":4586},[4576,43920,43921],{"class":4578,"line":4804},[4576,43922,4644],{"emptyLinePlaceholder":4643},[4576,43924,43925,43927,43930,43932,43935],{"class":4578,"line":4818},[4576,43926,4083],{"class":4653},[4576,43928,43929],{"class":4717}," TextFieldProps",[4576,43931,4911],{"class":4586},[4576,43933,43934],{"class":4717},"TextInputProps",[4576,43936,42326],{"class":4586},[4576,43938,43939,43941,43943,43945],{"class":4578,"line":4829},[4576,43940,35198],{"class":4590},[4576,43942,7093],{"class":4586},[4576,43944,4349],{"class":4717},[4576,43946,4604],{"class":4586},[4576,43948,43949,43951,43953,43955],{"class":4578,"line":4840},[4576,43950,35254],{"class":4590},[4576,43952,11984],{"class":4586},[4576,43954,4349],{"class":4717},[4576,43956,4604],{"class":4586},[4576,43958,43959],{"class":4578,"line":4851},[4576,43960,43961],{"class":9599},"  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n",[4576,43963,43964,43967,43969,43971],{"class":4578,"line":4870},[4576,43965,43966],{"class":4590},"  hint",[4576,43968,11984],{"class":4586},[4576,43970,4349],{"class":4717},[4576,43972,4604],{"class":4586},[4576,43974,43975,43978,43980,43982],{"class":4578,"line":4876},[4576,43976,43977],{"class":4590},"  containerStyle",[4576,43979,11984],{"class":4586},[4576,43981,42825],{"class":4717},[4576,43983,4604],{"class":4586},[4576,43985,43986],{"class":4578,"line":4886},[4576,43987,43988],{"class":9599},"  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n",[4576,43990,43991,43994,43996,43998],{"class":4578,"line":4892},[4576,43992,43993],{"class":4590},"  rightSlot",[4576,43995,11984],{"class":4586},[4576,43997,29070],{"class":4717},[4576,43999,4604],{"class":4586},[4576,44001,44002],{"class":4578,"line":4897},[4576,44003,12050],{"class":4586},[4576,44005,44006],{"class":4578,"line":4902},[4576,44007,4644],{"emptyLinePlaceholder":4643},[4576,44009,44010],{"class":4578,"line":4924},[4576,44011,26548],{"class":9599},[4576,44013,44014],{"class":4578,"line":4942},[4576,44015,44016],{"class":9599}," * Поле форми: label + TextInput + помилка\u002Fпідказка.\n",[4576,44018,44019],{"class":4578,"line":4974},[4576,44020,44021],{"class":9599}," * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n",[4576,44023,44024],{"class":4578,"line":4983},[4576,44025,26568],{"class":9599},[4576,44027,44028,44030,44032,44035],{"class":4578,"line":4995},[4576,44029,4650],{"class":4582},[4576,44031,4654],{"class":4653},[4576,44033,44034],{"class":4657}," TextField",[4576,44036,4921],{"class":4586},[4576,44038,44039,44041],{"class":4578,"line":5006},[4576,44040,35198],{"class":4590},[4576,44042,4992],{"class":4586},[4576,44044,44045,44047],{"class":4578,"line":5017},[4576,44046,35254],{"class":4590},[4576,44048,4992],{"class":4586},[4576,44050,44051,44053],{"class":4578,"line":5027},[4576,44052,43966],{"class":4590},[4576,44054,4992],{"class":4586},[4576,44056,44057,44059],{"class":4578,"line":5038},[4576,44058,43977],{"class":4590},[4576,44060,4992],{"class":4586},[4576,44062,44063,44065],{"class":4578,"line":5049},[4576,44064,43993],{"class":4590},[4576,44066,4992],{"class":4586},[4576,44068,44069,44071],{"class":4578,"line":5055},[4576,44070,14444],{"class":4590},[4576,44072,4992],{"class":4586},[4576,44074,44075,44077],{"class":4578,"line":5744},[4576,44076,42430],{"class":4586},[4576,44078,44079],{"class":4590},"inputProps\n",[4576,44081,44082,44084,44087],{"class":4578,"line":6299},[4576,44083,31384],{"class":4586},[4576,44085,44086],{"class":4717},"TextFieldProps",[4576,44088,7149],{"class":4586},[4576,44090,44091,44093,44095,44097,44099,44101,44103,44105,44107,44109,44111,44113],{"class":4578,"line":6312},[4576,44092,4667],{"class":4653},[4576,44094,4587],{"class":4586},[4576,44096,23274],{"class":4673},[4576,44098,3806],{"class":4586},[4576,44100,23853],{"class":4673},[4576,44102,3806],{"class":4586},[4576,44104,31406],{"class":4673},[4576,44106,3806],{"class":4586},[4576,44108,41305],{"class":4673},[4576,44110,23282],{"class":4586},[4576,44112,23243],{"class":4657},[4576,44114,23287],{"class":4586},[4576,44116,44117,44119,44121,44123,44125,44127,44129],{"class":4578,"line":6325},[4576,44118,4667],{"class":4653},[4576,44120,35461],{"class":4673},[4576,44122,4911],{"class":4586},[4576,44124,20031],{"class":4657},[4576,44126,4687],{"class":4586},[4576,44128,13088],{"class":4590},[4576,44130,4693],{"class":4586},[4576,44132,44133],{"class":4578,"line":6335},[4576,44134,4644],{"emptyLinePlaceholder":4643},[4576,44136,44137,44139],{"class":4578,"line":6350},[4576,44138,4704],{"class":4582},[4576,44140,4707],{"class":4586},[4576,44142,44143,44145,44147,44149,44151,44153,44155,44157,44159,44161,44163,44165,44167,44169,44171,44173,44176,44178,44180],{"class":4578,"line":6359},[4576,44144,4714],{"class":4713},[4576,44146,4628],{"class":4717},[4576,44148,4721],{"class":4720},[4576,44150,4724],{"class":4586},[4576,44152,4727],{"class":4653},[4576,44154,6261],{"class":4733},[4576,44156,4730],{"class":4590},[4576,44158,3857],{"class":4733},[4576,44160,37506],{"class":4590},[4576,44162,6270],{"class":4733},[4576,44164,4932],{"class":4590},[4576,44166,24301],{"class":4590},[4576,44168,3857],{"class":4733},[4576,44170,24991],{"class":4590},[4576,44172,13080],{"class":4733},[4576,44174,44175],{"class":4590},"containerStyle",[4576,44177,18647],{"class":4733},[4576,44179,4739],{"class":4653},[4576,44181,4742],{"class":4713},[4576,44183,44184,44186,44188,44190,44192,44194,44196,44198,44200,44202,44204,44206,44208],{"class":4578,"line":6368},[4576,44185,4748],{"class":4713},[4576,44187,22187],{"class":4717},[4576,44189,24761],{"class":4720},[4576,44191,4724],{"class":4586},[4576,44193,25059],{"class":4600},[4576,44195,4721],{"class":4720},[4576,44197,4724],{"class":4586},[4576,44199,4727],{"class":4653},[4576,44201,4730],{"class":4590},[4576,44203,3857],{"class":4733},[4576,44205,4763],{"class":4590},[4576,44207,4739],{"class":4653},[4576,44209,4742],{"class":4713},[4576,44211,44212,44214,44216],{"class":4578,"line":6377},[4576,44213,15958],{"class":4653},[4576,44215,4763],{"class":4590},[4576,44217,4801],{"class":4653},[4576,44219,44220,44222,44224],{"class":4578,"line":6417},[4576,44221,6238],{"class":4713},[4576,44223,22187],{"class":4717},[4576,44225,4742],{"class":4713},[4576,44227,44228,44230],{"class":4578,"line":6422},[4576,44229,4748],{"class":4713},[4576,44231,24671],{"class":4717},[4576,44233,44234,44236,44238,44240],{"class":4578,"line":6427},[4576,44235,4854],{"class":4720},[4576,44237,4724],{"class":4586},[4576,44239,4727],{"class":4653},[4576,44241,6708],{"class":4733},[4576,44243,44244,44246,44248,44250],{"class":4578,"line":6469},[4576,44245,6714],{"class":4590},[4576,44247,3857],{"class":4733},[4576,44249,9121],{"class":4590},[4576,44251,4992],{"class":4733},[4576,44253,44254],{"class":4578,"line":6476},[4576,44255,24940],{"class":4733},[4576,44257,44258,44260,44262,44264,44266,44268,44270,44272,44274,44276,44278],{"class":4578,"line":6489},[4576,44259,35942],{"class":4590},[4576,44261,35461],{"class":4590},[4576,44263,7282],{"class":4586},[4576,44265,23373],{"class":4590},[4576,44267,3857],{"class":4733},[4576,44269,35953],{"class":4590},[4576,44271,8033],{"class":4586},[4576,44273,23373],{"class":4590},[4576,44275,3857],{"class":4733},[4576,44277,25005],{"class":4590},[4576,44279,4992],{"class":4733},[4576,44281,44282,44284,44286,44288,44290],{"class":4578,"line":6502},[4576,44283,26073],{"class":4590},[4576,44285,23373],{"class":4590},[4576,44287,3857],{"class":4733},[4576,44289,25460],{"class":4590},[4576,44291,4992],{"class":4733},[4576,44293,44294,44296,44298,44300,44302],{"class":4578,"line":6512},[4576,44295,35980],{"class":4590},[4576,44297,32572],{"class":4590},[4576,44299,3857],{"class":4733},[4576,44301,24306],{"class":4590},[4576,44303,4992],{"class":4733},[4576,44305,44306],{"class":4578,"line":6525},[4576,44307,25012],{"class":4733},[4576,44309,44310,44312],{"class":4578,"line":6535},[4576,44311,6762],{"class":4733},[4576,44313,4801],{"class":4653},[4576,44315,44316],{"class":4578,"line":6574},[4576,44317,8048],{"class":4713},[4576,44319,44320,44322],{"class":4578,"line":6579},[4576,44321,7289],{"class":4713},[4576,44323,4786],{"class":4717},[4576,44325,44326,44328,44330,44332,44334,44336,44338],{"class":4578,"line":6584},[4576,44327,15877],{"class":4720},[4576,44329,4724],{"class":4586},[4576,44331,4727],{"class":4653},[4576,44333,23274],{"class":4590},[4576,44335,3857],{"class":4733},[4576,44337,24829],{"class":4590},[4576,44339,4801],{"class":4653},[4576,44341,44342,44344,44346,44348],{"class":4578,"line":6626},[4576,44343,15491],{"class":4720},[4576,44345,4724],{"class":4586},[4576,44347,4727],{"class":4653},[4576,44349,6708],{"class":4733},[4576,44351,44352,44354,44356,44358],{"class":4578,"line":6633},[4576,44353,15900],{"class":4590},[4576,44355,3857],{"class":4733},[4576,44357,4865],{"class":4590},[4576,44359,4992],{"class":4733},[4576,44361,44362],{"class":4578,"line":6646},[4576,44363,44364],{"class":4733},"            {\n",[4576,44366,44367,44370,44372,44374,44376],{"class":4578,"line":6659},[4576,44368,44369],{"class":4590},"              color:",[4576,44371,23373],{"class":4590},[4576,44373,3857],{"class":4733},[4576,44375,3896],{"class":4590},[4576,44377,4992],{"class":4733},[4576,44379,44380,44383,44385,44387,44389],{"class":4578,"line":6669},[4576,44381,44382],{"class":4590},"              fontSize:",[4576,44384,40951],{"class":4590},[4576,44386,3857],{"class":4733},[4576,44388,24306],{"class":4590},[4576,44390,4992],{"class":4733},[4576,44392,44393,44396,44398,44400,44402,44404,44406],{"class":4578,"line":6682},[4576,44394,44395],{"class":4590},"              paddingVertical:",[4576,44397,24301],{"class":4590},[4576,44399,3857],{"class":4733},[4576,44401,24365],{"class":4590},[4576,44403,7976],{"class":4586},[4576,44405,9228],{"class":4935},[4576,44407,4992],{"class":4733},[4576,44409,44410,44413,44415,44417,44419],{"class":4578,"line":6688},[4576,44411,44412],{"class":4590},"              paddingHorizontal:",[4576,44414,24301],{"class":4590},[4576,44416,3857],{"class":4733},[4576,44418,24306],{"class":4590},[4576,44420,4992],{"class":4733},[4576,44422,44423],{"class":4578,"line":6699},[4576,44424,44425],{"class":4733},"            },\n",[4576,44427,44428,44430],{"class":4578,"line":6711},[4576,44429,36372],{"class":4590},[4576,44431,4992],{"class":4733},[4576,44433,44434,44436],{"class":4578,"line":6723},[4576,44435,15947],{"class":4733},[4576,44437,4801],{"class":4653},[4576,44439,44440,44442,44444,44447],{"class":4578,"line":6735},[4576,44441,11363],{"class":4653},[4576,44443,12907],{"class":4586},[4576,44445,44446],{"class":4590},"inputProps",[4576,44448,4801],{"class":4653},[4576,44450,44451],{"class":4578,"line":6759},[4576,44452,9349],{"class":4713},[4576,44454,44455,44457,44460],{"class":4578,"line":6767},[4576,44456,15958],{"class":4653},[4576,44458,44459],{"class":4590},"rightSlot",[4576,44461,4801],{"class":4653},[4576,44463,44464,44466,44468],{"class":4578,"line":6772},[4576,44465,6238],{"class":4713},[4576,44467,4628],{"class":4717},[4576,44469,4742],{"class":4713},[4576,44471,44472,44474,44476,44478],{"class":4578,"line":6781},[4576,44473,7277],{"class":4653},[4576,44475,36066],{"class":4590},[4576,44477,7282],{"class":4586},[4576,44479,4707],{"class":4733},[4576,44481,44482,44484,44486,44488,44490,44492,44494,44496,44498,44500,44502,44504,44506],{"class":4578,"line":6786},[4576,44483,7289],{"class":4713},[4576,44485,22187],{"class":4717},[4576,44487,24761],{"class":4720},[4576,44489,4724],{"class":4586},[4576,44491,25059],{"class":4600},[4576,44493,7294],{"class":4720},[4576,44495,4724],{"class":4586},[4576,44497,4727],{"class":4653},[4576,44499,23274],{"class":4590},[4576,44501,3857],{"class":4733},[4576,44503,35953],{"class":4590},[4576,44505,4739],{"class":4653},[4576,44507,4742],{"class":4713},[4576,44509,44510,44512,44514],{"class":4578,"line":6791},[4576,44511,11363],{"class":4653},[4576,44513,13088],{"class":4590},[4576,44515,4801],{"class":4653},[4576,44517,44518,44520,44522],{"class":4578,"line":6796},[4576,44519,9273],{"class":4713},[4576,44521,22187],{"class":4717},[4576,44523,4742],{"class":4713},[4576,44525,44526,44528,44530,44533,44535],{"class":4578,"line":6813},[4576,44527,7307],{"class":4733},[4576,44529,6978],{"class":4586},[4576,44531,44532],{"class":4590}," hint",[4576,44534,7282],{"class":4586},[4576,44536,4707],{"class":4733},[4576,44538,44539,44541,44543,44545,44547,44549,44551,44553,44555,44557,44559,44561,44563],{"class":4578,"line":6838},[4576,44540,7289],{"class":4713},[4576,44542,22187],{"class":4717},[4576,44544,24761],{"class":4720},[4576,44546,4724],{"class":4586},[4576,44548,25059],{"class":4600},[4576,44550,7294],{"class":4720},[4576,44552,4724],{"class":4586},[4576,44554,4727],{"class":4653},[4576,44556,23274],{"class":4590},[4576,44558,3857],{"class":4733},[4576,44560,24829],{"class":4590},[4576,44562,4739],{"class":4653},[4576,44564,4742],{"class":4713},[4576,44566,44567,44569,44572],{"class":4578,"line":6845},[4576,44568,11363],{"class":4653},[4576,44570,44571],{"class":4590},"hint",[4576,44573,4801],{"class":4653},[4576,44575,44576,44578,44580],{"class":4578,"line":6854},[4576,44577,9273],{"class":4713},[4576,44579,22187],{"class":4717},[4576,44581,4742],{"class":4713},[4576,44583,44584,44586,44588],{"class":4578,"line":6863},[4576,44585,7307],{"class":4733},[4576,44587,6978],{"class":4586},[4576,44589,16009],{"class":4653},[4576,44591,44592,44594,44596],{"class":4578,"line":6872},[4576,44593,4879],{"class":4713},[4576,44595,4628],{"class":4717},[4576,44597,4742],{"class":4713},[4576,44599,44600],{"class":4578,"line":6881},[4576,44601,4889],{"class":4586},[4576,44603,44604],{"class":4578,"line":6890},[4576,44605,4801],{"class":4586},[4576,44607,44608],{"class":4578,"line":6899},[4576,44609,4644],{"emptyLinePlaceholder":4643},[4576,44611,44612,44614,44616,44618,44620,44622,44624],{"class":4578,"line":6904},[4576,44613,4905],{"class":4653},[4576,44615,4908],{"class":4673},[4576,44617,4911],{"class":4586},[4576,44619,4614],{"class":4590},[4576,44621,3857],{"class":4586},[4576,44623,4918],{"class":4657},[4576,44625,4921],{"class":4586},[4576,44627,44628,44630],{"class":4578,"line":6920},[4576,44629,37894],{"class":4590},[4576,44631,4980],{"class":4586},[4576,44633,44634,44636,44638],{"class":4578,"line":16012},[4576,44635,37901],{"class":4590},[4576,44637,37904],{"class":4600},[4576,44639,4992],{"class":4586},[4576,44641,44642],{"class":4578,"line":16017},[4576,44643,5052],{"class":4586},[4576,44645,44646,44648],{"class":4578,"line":16058},[4576,44647,4945],{"class":4590},[4576,44649,4980],{"class":4586},[4576,44651,44652,44654,44656],{"class":4578,"line":16065},[4576,44653,21442],{"class":4590},[4576,44655,8726],{"class":4600},[4576,44657,4992],{"class":4586},[4576,44659,44660],{"class":4578,"line":16078},[4576,44661,5052],{"class":4586},[4576,44663,44664,44666],{"class":4578,"line":16091},[4576,44665,9422],{"class":4590},[4576,44667,4980],{"class":4586},[4576,44669,44670,44672,44674],{"class":4578,"line":16101},[4576,44671,8654],{"class":4590},[4576,44673,8657],{"class":4600},[4576,44675,4992],{"class":4586},[4576,44677,44678,44680,44682],{"class":4578,"line":16111},[4576,44679,7427],{"class":4590},[4576,44681,7430],{"class":4600},[4576,44683,4992],{"class":4586},[4576,44685,44686,44688,44690],{"class":4578,"line":16120},[4576,44687,4986],{"class":4590},[4576,44689,4989],{"class":4935},[4576,44691,4992],{"class":4586},[4576,44693,44694,44696,44698],{"class":4578,"line":16133},[4576,44695,11563],{"class":4590},[4576,44697,11566],{"class":4600},[4576,44699,4992],{"class":4586},[4576,44701,44702],{"class":4578,"line":16144},[4576,44703,5052],{"class":4586},[4576,44705,44706,44708],{"class":4578,"line":16155},[4576,44707,4977],{"class":4590},[4576,44709,4980],{"class":4586},[4576,44711,44712,44714,44716],{"class":4578,"line":16190},[4576,44713,21384],{"class":4590},[4576,44715,4989],{"class":4935},[4576,44717,4992],{"class":4586},[4576,44719,44720,44722,44724],{"class":4578,"line":16197},[4576,44721,5041],{"class":4590},[4576,44723,5044],{"class":4935},[4576,44725,4992],{"class":4586},[4576,44727,44728],{"class":4578,"line":16202},[4576,44729,5052],{"class":4586},[4576,44731,44732],{"class":4578,"line":16257},[4576,44733,5058],{"class":4586},[3891,44735,44738],{"className":10025,"code":44736,"filename":44737,"language":10027,"meta":3899,"style":3899},"export { AppText } from '.\u002FAppText';\nexport { Button } from '.\u002FButton';\nexport { Screen } from '.\u002FScreen';\nexport { TextField } from '.\u002FTextField';\n","src\u002Fshared\u002Fui\u002Findex.ts",[3803,44739,44740,44756,44773,44790],{"__ignoreMap":3899},[4576,44741,44742,44744,44746,44748,44750,44752,44754],{"class":4578,"line":4579},[4576,44743,4650],{"class":4582},[4576,44745,4587],{"class":4586},[4576,44747,22187],{"class":4590},[4576,44749,4594],{"class":4586},[4576,44751,4597],{"class":4582},[4576,44753,43916],{"class":4600},[4576,44755,4604],{"class":4586},[4576,44757,44758,44760,44762,44764,44766,44768,44771],{"class":4578,"line":4607},[4576,44759,4650],{"class":4582},[4576,44761,4587],{"class":4586},[4576,44763,6932],{"class":4590},[4576,44765,4594],{"class":4586},[4576,44767,4597],{"class":4582},[4576,44769,44770],{"class":4600}," '.\u002FButton'",[4576,44772,4604],{"class":4586},[4576,44774,44775,44777,44779,44781,44783,44785,44788],{"class":4578,"line":4640},[4576,44776,4650],{"class":4582},[4576,44778,4587],{"class":4586},[4576,44780,22184],{"class":4590},[4576,44782,4594],{"class":4586},[4576,44784,4597],{"class":4582},[4576,44786,44787],{"class":4600}," '.\u002FScreen'",[4576,44789,4604],{"class":4586},[4576,44791,44792,44794,44796,44798,44800,44802,44805],{"class":4578,"line":4647},[4576,44793,4650],{"class":4582},[4576,44795,4587],{"class":4586},[4576,44797,22256],{"class":4590},[4576,44799,4594],{"class":4586},[4576,44801,4597],{"class":4582},[4576,44803,44804],{"class":4600}," '.\u002FTextField'",[4576,44806,4604],{"class":4586},[3792,44808,44810],{"id":44809},"перевірка","Перевірка",[3751,44812,44813,44816,44819,44822,44825,44828],{},[3754,44814,44815],{},"Чіпи теми на home працюють.",[3754,44817,44818],{},"Списки поїздок і місць — як раніше.",[3754,44820,44821],{},"«Нова поїздка» → форма з TextInput, Picker, датами, Slider, Switch, Checkbox.",[3754,44823,44824],{},"Порожній submit \u002F без згоди → помилки під полями.",[3754,44826,44827],{},"Успіх → картка зверху; мітки приватності \u002F плану.",[3754,44829,44830],{},"Pull-to-refresh скидає до mock (локальні зникають — до offline-модуля).",[3792,44832,44834],{"id":44833},"коміт","Коміт",[3891,44836,44838],{"className":9526,"code":44837,"language":9528,"meta":3899,"style":3899},"cd \u002Fpath\u002Fto\u002Fnomad\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nfeat: create trip form with validation\n\nMaterial: content\u002F15.react-native\u002F10.forms-input-validation.md\nEOF\n)\"\ngit push\n",[3803,44839,44840,44846,44856,44878,44883,44887,44892,44897,44902],{"__ignoreMap":3899},[4576,44841,44842,44844],{"class":4578,"line":4579},[4576,44843,17180],{"class":4657},[4576,44845,22358],{"class":4600},[4576,44847,44848,44851,44853],{"class":4578,"line":4607},[4576,44849,44850],{"class":4657},"git",[4576,44852,9575],{"class":4600},[4576,44854,44855],{"class":4653}," -A\n",[4576,44857,44858,44860,44863,44866,44869,44872,44875],{"class":4578,"line":4640},[4576,44859,44850],{"class":4657},[4576,44861,44862],{"class":4600}," commit",[4576,44864,44865],{"class":4653}," -m",[4576,44867,44868],{"class":4600}," \"$(",[4576,44870,44871],{"class":4657},"cat",[4576,44873,44874],{"class":4586}," \u003C\u003C",[4576,44876,44877],{"class":4600},"'EOF'\n",[4576,44879,44880],{"class":4578,"line":4647},[4576,44881,44882],{"class":4600},"feat: create trip form with validation\n",[4576,44884,44885],{"class":4578,"line":4664},[4576,44886,4644],{"emptyLinePlaceholder":4643},[4576,44888,44889],{"class":4578,"line":4696},[4576,44890,44891],{"class":4600},"Material: content\u002F15.react-native\u002F10.forms-input-validation.md\n",[4576,44893,44894],{"class":4578,"line":4701},[4576,44895,44896],{"class":4600},"EOF\n",[4576,44898,44899],{"class":4578,"line":4710},[4576,44900,44901],{"class":4600},")\"\n",[4576,44903,44904,44906],{"class":4578,"line":4745},[4576,44905,44850],{"class":4657},[4576,44907,44908],{"class":4600}," push\n",[3739,44910,44911,44912,3857],{},"У публічному репо коміт з’явиться після push; локально — ",[3803,44913,44914],{},"git pull",[3792,44916,44918],{"id":44917},"результат-превю-ux","Результат (прев’ю UX)",[3739,44920,44921,44922,44925],{},"Host прев’ю ",[3746,44923,44924],{},"без"," community-пакетів і RHF — імітація екранів. Повний стек — у репо й Expo Go.",[5754,44927,44931],{"device":5756,"filename":44928,"height":44929,"title":44930},"NomadCreateTrip.tsx",720,"Nomad · create trip UX",[3891,44932,44934],{"className":4570,"code":44933,"language":4572,"meta":3899,"style":3899},"import { useState } from 'react';\nimport {\n  FlatList,\n  Image,\n  Pressable,\n  StyleSheet,\n  Switch,\n  Text,\n  TextInput,\n  View,\n  useColorScheme,\n} from 'react-native';\n\ntype Trip = {\n  id: string;\n  title: string;\n  dateLabel: string;\n  region: string;\n  coverUri: string;\n  isPrivate?: boolean;\n};\n\nconst light = {\n  bg: '#F8FAFC', surface: '#fff', text: '#0f172a', muted: '#64748b',\n  primary: '#2563eb', border: '#e2e8f0', onPrimary: '#fff', danger: '#dc2626',\n};\nconst dark = {\n  bg: '#000', surface: '#1c1c1e', text: '#f5f5f7', muted: '#a1a1aa',\n  primary: '#3b82f6', border: '#3a3a3c', onPrimary: '#fff', danger: '#f87171',\n};\n\nconst SEED: Trip[] = [\n  {\n    id: '1',\n    title: 'Карпати на вихідні',\n    dateLabel: '12–14 бер. 2026',\n    region: 'Карпати',\n    coverUri: 'https:\u002F\u002Fpicsum.photos\u002Fseed\u002Fnomad1\u002F800\u002F400',\n  },\n];\n\nexport default function App() {\n  const systemDark = useColorScheme() === 'dark';\n  const [pref, setPref] = useState\u003C'system' | 'light' | 'dark'>('system');\n  const isDark = pref === 'dark' || (pref === 'system' && systemDark);\n  const c = isDark ? dark : light;\n\n  const [screen, setScreen] = useState\u003C'home' | 'form'>('home');\n  const [trips, setTrips] = useState(SEED);\n  const [title, setTitle] = useState('');\n  const [isPrivate, setIsPrivate] = useState(false);\n  const [accepted, setAccepted] = useState(false);\n  const [errors, setErrors] = useState\u003C{ title?: string; accepted?: string }>({});\n\n  const submit = () => {\n    const e: typeof errors = {};\n    if (title.trim().length \u003C 2) e.title = 'Назва — мін. 2 символи';\n    if (!accepted) e.accepted = 'Потрібна згода';\n    setErrors(e);\n    if (Object.keys(e).length) return;\n    setTrips((prev) => [\n      {\n        id: `local-${Date.now()}`,\n        title: title.trim(),\n        region: 'Карпати',\n        dateLabel: 'сьогодні',\n        coverUri: `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F${encodeURIComponent(title)}\u002F800\u002F400`,\n        isPrivate,\n      },\n      ...prev,\n    ]);\n    setTitle('');\n    setIsPrivate(false);\n    setAccepted(false);\n    setScreen('home');\n  };\n\n  if (screen === 'form') {\n    return (\n      \u003CView style={[styles.screen, { backgroundColor: c.bg }]}>\n        \u003CView style={[styles.top, { borderColor: c.border }]}>\n          \u003CPressable onPress={() => setScreen('home')}>\n            \u003CText style={{ color: c.primary, fontWeight: '700' }}>← Назад\u003C\u002FText>\n          \u003C\u002FPressable>\n          \u003CText style={[styles.brand, { color: c.text, marginTop: 8 }]}>Нова поїздка\u003C\u002FText>\n        \u003C\u002FView>\n        \u003CView style={{ padding: 16, gap: 12 }}>\n          \u003CText style={{ color: c.muted, fontSize: 12, fontWeight: '700' }}>НАЗВА (TextInput)\u003C\u002FText>\n          \u003CTextInput\n            value={title}\n            onChangeText={setTitle}\n            placeholder=\"Карпати на вихідні\"\n            placeholderTextColor={c.muted}\n            style={[\n              styles.input,\n              {\n                backgroundColor: c.surface,\n                borderColor: errors.title ? c.danger : c.border,\n                color: c.text,\n              },\n            ]}\n          \u002F>\n          {errors.title ? \u003CText style={{ color: c.danger }}>{errors.title}\u003C\u002FText> : null}\n\n          \u003CView style={styles.row}>\n            \u003CText style={{ color: c.text, flex: 1 }}>Приватна (Switch)\u003C\u002FText>\n            \u003CSwitch\n              value={isPrivate}\n              onValueChange={setIsPrivate}\n              trackColor={{ true: c.primary, false: c.border }}\n            \u002F>\n          \u003C\u002FView>\n\n          \u003CView style={styles.row}>\n            \u003CText style={{ color: c.text, flex: 1 }}>Згода (імітація Checkbox)\u003C\u002FText>\n            \u003CSwitch\n              value={accepted}\n              onValueChange={setAccepted}\n              trackColor={{ true: c.primary, false: c.border }}\n            \u002F>\n          \u003C\u002FView>\n          {errors.accepted ? \u003CText style={{ color: c.danger }}>{errors.accepted}\u003C\u002FText> : null}\n\n          \u003CPressable onPress={submit} style={[styles.cta, { backgroundColor: c.primary }]}>\n            \u003CText style={{ color: c.onPrimary, fontWeight: '800' }}>Створити (Pressable)\u003C\u002FText>\n          \u003C\u002FPressable>\n        \u003C\u002FView>\n      \u003C\u002FView>\n    );\n  }\n\n  return (\n    \u003CView style={[styles.screen, { backgroundColor: c.bg }]}>\n      \u003CView style={[styles.top, { borderColor: c.border }]}>\n        \u003CText style={[styles.brand, { color: c.text }]}>Мандрівник\u003C\u002FText>\n        \u003CText style={{ color: c.muted, fontSize: 13, marginTop: 4 }}>\n          {trips.length} поїздок · форма з різними контролями\n        \u003C\u002FText>\n      \u003C\u002FView>\n      \u003CFlatList\n        style={{ flex: 1 }}\n        data={trips}\n        keyExtractor={(t) => t.id}\n        contentContainerStyle={{ padding: 16 }}\n        renderItem={({ item }) => (\n          \u003CView style={[styles.card, { backgroundColor: c.surface, borderColor: c.border }]}>\n            \u003CImage source={{ uri: item.coverUri }} style={styles.cover} \u002F>\n            \u003CView style={{ padding: 12 }}>\n              \u003CText style={{ color: c.text, fontWeight: '700', fontSize: 16 }}>{item.title}\u003C\u002FText>\n              \u003CText style={{ color: c.muted, marginTop: 4, fontSize: 13 }}>\n                {item.dateLabel} · {item.region}\n                {item.isPrivate ? ' · приватна' : ''}\n              \u003C\u002FText>\n            \u003C\u002FView>\n          \u003C\u002FView>\n        )}\n      \u002F>\n      \u003CView style={[styles.footer, { borderColor: c.border, backgroundColor: c.bg }]}>\n        \u003CPressable onPress={() => setScreen('form')} style={[styles.cta, { backgroundColor: c.primary }]}>\n          \u003CText style={{ color: c.onPrimary, fontWeight: '800' }}>Нова поїздка\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FView>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: { flex: 1 },\n  top: { padding: 16, borderBottomWidth: 1 },\n  brand: { fontSize: 24, fontWeight: '800' },\n  card: { borderWidth: 1, borderRadius: 16, overflow: 'hidden', marginBottom: 12 },\n  cover: { width: '100%', height: 120, backgroundColor: '#cbd5e1' },\n  footer: { borderTopWidth: 1, padding: 16 },\n  cta: { paddingVertical: 14, borderRadius: 12, alignItems: 'center' },\n  input: { borderWidth: 1, borderRadius: 12, paddingHorizontal: 14, paddingVertical: 12, fontSize: 16 },\n  row: { flexDirection: 'row', alignItems: 'center', gap: 12 },\n});\n",[3803,44935,44936,44952,44958,44964,44971,44977,44983,44989,44995,45001,45007,45013,45023,45027,45035,45045,45055,45065,45075,45085,45095,45099,45103,45112,45144,45176,45180,45188,45217,45246,45250,45254,45267,45271,45279,45287,45295,45303,45313,45317,45321,45325,45337,45354,45390,45421,45444,45448,45481,45504,45527,45549,45571,45607,45611,45624,45638,45673,45695,45705,45731,45745,45750,45773,45787,45796,45806,45829,45836,45840,45849,45854,45865,45876,45887,45898,45902,45906,45920,45926,45963,46000,46029,46072,46080,46132,46140,46170,46219,46225,46238,46251,46261,46279,46289,46299,46303,46315,46343,46356,46360,46366,46370,46428,46432,46454,46497,46503,46515,46527,46560,46564,46572,46576,46598,46641,46647,46659,46671,46703,46707,46715,46773,46777,46824,46867,46875,46883,46891,46895,46899,46903,46909,46945,46981,47025,47065,47080,47088,47096,47102,47120,47133,47159,47177,47196,47242,47285,47309,47365,47405,47429,47450,47458,47466,47474,47480,47484,47530,47586,47628,47636,47644,47652,47656,47660,47664,47680,47692,47712,47731,47763,47789,47808,47833,47869,47893],{"__ignoreMap":3899},[4576,44937,44938,44940,44942,44944,44946,44948,44950],{"class":4578,"line":4579},[4576,44939,4583],{"class":4582},[4576,44941,4587],{"class":4586},[4576,44943,4591],{"class":4590},[4576,44945,4594],{"class":4586},[4576,44947,4597],{"class":4582},[4576,44949,4601],{"class":4600},[4576,44951,4604],{"class":4586},[4576,44953,44954,44956],{"class":4578,"line":4607},[4576,44955,4583],{"class":4582},[4576,44957,4980],{"class":4586},[4576,44959,44960,44962],{"class":4578,"line":4640},[4576,44961,23514],{"class":4590},[4576,44963,4992],{"class":4586},[4576,44965,44966,44969],{"class":4578,"line":4647},[4576,44967,44968],{"class":4590},"  Image",[4576,44970,4992],{"class":4586},[4576,44972,44973,44975],{"class":4578,"line":4664},[4576,44974,14684],{"class":4590},[4576,44976,4992],{"class":4586},[4576,44978,44979,44981],{"class":4578,"line":4696},[4576,44980,5798],{"class":4590},[4576,44982,4992],{"class":4586},[4576,44984,44985,44987],{"class":4578,"line":4701},[4576,44986,14715],{"class":4590},[4576,44988,4992],{"class":4586},[4576,44990,44991,44993],{"class":4578,"line":4710},[4576,44992,5805],{"class":4590},[4576,44994,4992],{"class":4586},[4576,44996,44997,44999],{"class":4578,"line":4745},[4576,44998,5812],{"class":4590},[4576,45000,4992],{"class":4586},[4576,45002,45003,45005],{"class":4578,"line":4781},[4576,45004,14722],{"class":4590},[4576,45006,4992],{"class":4586},[4576,45008,45009,45011],{"class":4578,"line":4789},[4576,45010,5819],{"class":4590},[4576,45012,4992],{"class":4586},[4576,45014,45015,45017,45019,45021],{"class":4578,"line":4804},[4576,45016,5826],{"class":4586},[4576,45018,4597],{"class":4582},[4576,45020,4635],{"class":4600},[4576,45022,4604],{"class":4586},[4576,45024,45025],{"class":4578,"line":4818},[4576,45026,4644],{"emptyLinePlaceholder":4643},[4576,45028,45029,45031,45033],{"class":4578,"line":4829},[4576,45030,4083],{"class":4653},[4576,45032,23641],{"class":4717},[4576,45034,27412],{"class":4586},[4576,45036,45037,45039,45041,45043],{"class":4578,"line":4840},[4576,45038,27417],{"class":4590},[4576,45040,7093],{"class":4586},[4576,45042,4349],{"class":4717},[4576,45044,4604],{"class":4586},[4576,45046,45047,45049,45051,45053],{"class":4578,"line":4851},[4576,45048,7102],{"class":4590},[4576,45050,7093],{"class":4586},[4576,45052,4349],{"class":4717},[4576,45054,4604],{"class":4586},[4576,45056,45057,45059,45061,45063],{"class":4578,"line":4870},[4576,45058,27438],{"class":4590},[4576,45060,7093],{"class":4586},[4576,45062,4349],{"class":4717},[4576,45064,4604],{"class":4586},[4576,45066,45067,45069,45071,45073],{"class":4578,"line":4876},[4576,45068,27476],{"class":4590},[4576,45070,7093],{"class":4586},[4576,45072,4349],{"class":4717},[4576,45074,4604],{"class":4586},[4576,45076,45077,45079,45081,45083],{"class":4578,"line":4886},[4576,45078,27460],{"class":4590},[4576,45080,7093],{"class":4586},[4576,45082,4349],{"class":4717},[4576,45084,4604],{"class":4586},[4576,45086,45087,45089,45091,45093],{"class":4578,"line":4892},[4576,45088,27492],{"class":4590},[4576,45090,11984],{"class":4586},[4576,45092,4372],{"class":4717},[4576,45094,4604],{"class":4586},[4576,45096,45097],{"class":4578,"line":4897},[4576,45098,12050],{"class":4586},[4576,45100,45101],{"class":4578,"line":4902},[4576,45102,4644],{"emptyLinePlaceholder":4643},[4576,45104,45105,45107,45110],{"class":4578,"line":4924},[4576,45106,4905],{"class":4653},[4576,45108,45109],{"class":4673}," light",[4576,45111,27412],{"class":4586},[4576,45113,45114,45117,45119,45121,45124,45126,45128,45131,45134,45136,45139,45142],{"class":4578,"line":4942},[4576,45115,45116],{"class":4590},"  bg:",[4576,45118,21327],{"class":4600},[4576,45120,3806],{"class":4586},[4576,45122,45123],{"class":4590},"surface:",[4576,45125,8190],{"class":4600},[4576,45127,3806],{"class":4586},[4576,45129,45130],{"class":4590},"text:",[4576,45132,45133],{"class":4600}," '#0f172a'",[4576,45135,3806],{"class":4586},[4576,45137,45138],{"class":4590},"muted:",[4576,45140,45141],{"class":4600}," '#64748b'",[4576,45143,4992],{"class":4586},[4576,45145,45146,45148,45151,45153,45156,45159,45161,45164,45166,45168,45171,45174],{"class":4578,"line":4974},[4576,45147,40508],{"class":4590},[4576,45149,45150],{"class":4600}," '#2563eb'",[4576,45152,3806],{"class":4586},[4576,45154,45155],{"class":4590},"border:",[4576,45157,45158],{"class":4600}," '#e2e8f0'",[4576,45160,3806],{"class":4586},[4576,45162,45163],{"class":4590},"onPrimary:",[4576,45165,8190],{"class":4600},[4576,45167,3806],{"class":4586},[4576,45169,45170],{"class":4590},"danger:",[4576,45172,45173],{"class":4600}," '#dc2626'",[4576,45175,4992],{"class":4586},[4576,45177,45178],{"class":4578,"line":4983},[4576,45179,12050],{"class":4586},[4576,45181,45182,45184,45186],{"class":4578,"line":4995},[4576,45183,4905],{"class":4653},[4576,45185,5857],{"class":4673},[4576,45187,27412],{"class":4586},[4576,45189,45190,45192,45194,45196,45198,45201,45203,45205,45208,45210,45212,45215],{"class":4578,"line":5006},[4576,45191,45116],{"class":4590},[4576,45193,39401],{"class":4600},[4576,45195,3806],{"class":4586},[4576,45197,45123],{"class":4590},[4576,45199,45200],{"class":4600}," '#1c1c1e'",[4576,45202,3806],{"class":4586},[4576,45204,45130],{"class":4590},[4576,45206,45207],{"class":4600}," '#f5f5f7'",[4576,45209,3806],{"class":4586},[4576,45211,45138],{"class":4590},[4576,45213,45214],{"class":4600}," '#a1a1aa'",[4576,45216,4992],{"class":4586},[4576,45218,45219,45221,45224,45226,45228,45231,45233,45235,45237,45239,45241,45244],{"class":4578,"line":5017},[4576,45220,40508],{"class":4590},[4576,45222,45223],{"class":4600}," '#3b82f6'",[4576,45225,3806],{"class":4586},[4576,45227,45155],{"class":4590},[4576,45229,45230],{"class":4600}," '#3a3a3c'",[4576,45232,3806],{"class":4586},[4576,45234,45163],{"class":4590},[4576,45236,8190],{"class":4600},[4576,45238,3806],{"class":4586},[4576,45240,45170],{"class":4590},[4576,45242,45243],{"class":4600}," '#f87171'",[4576,45245,4992],{"class":4586},[4576,45247,45248],{"class":4578,"line":5027},[4576,45249,12050],{"class":4586},[4576,45251,45252],{"class":4578,"line":5038},[4576,45253,4644],{"emptyLinePlaceholder":4643},[4576,45255,45256,45258,45261,45263,45265],{"class":4578,"line":5049},[4576,45257,4905],{"class":4653},[4576,45259,45260],{"class":4673}," SEED",[4576,45262,7093],{"class":4586},[4576,45264,22162],{"class":4717},[4576,45266,29480],{"class":4586},[4576,45268,45269],{"class":4578,"line":5055},[4576,45270,29485],{"class":4586},[4576,45272,45273,45275,45277],{"class":4578,"line":5744},[4576,45274,29490],{"class":4590},[4576,45276,29493],{"class":4600},[4576,45278,4992],{"class":4586},[4576,45280,45281,45283,45285],{"class":4578,"line":6299},[4576,45282,14248],{"class":4590},[4576,45284,29502],{"class":4600},[4576,45286,4992],{"class":4586},[4576,45288,45289,45291,45293],{"class":4578,"line":6312},[4576,45290,29509],{"class":4590},[4576,45292,29512],{"class":4600},[4576,45294,4992],{"class":4586},[4576,45296,45297,45299,45301],{"class":4578,"line":6325},[4576,45298,27883],{"class":4590},[4576,45300,29542],{"class":4600},[4576,45302,4992],{"class":4586},[4576,45304,45305,45308,45311],{"class":4578,"line":6335},[4576,45306,45307],{"class":4590},"    coverUri:",[4576,45309,45310],{"class":4600}," 'https:\u002F\u002Fpicsum.photos\u002Fseed\u002Fnomad1\u002F800\u002F400'",[4576,45312,4992],{"class":4586},[4576,45314,45315],{"class":4578,"line":6350},[4576,45316,5052],{"class":4586},[4576,45318,45319],{"class":4578,"line":6359},[4576,45320,11169],{"class":4586},[4576,45322,45323],{"class":4578,"line":6368},[4576,45324,4644],{"emptyLinePlaceholder":4643},[4576,45326,45327,45329,45331,45333,45335],{"class":4578,"line":6377},[4576,45328,4650],{"class":4582},[4576,45330,5843],{"class":4582},[4576,45332,4654],{"class":4653},[4576,45334,5848],{"class":4657},[4576,45336,4661],{"class":4586},[4576,45338,45339,45341,45344,45346,45348,45350,45352],{"class":4578,"line":6417},[4576,45340,4667],{"class":4653},[4576,45342,45343],{"class":4673}," systemDark",[4576,45345,4911],{"class":4586},[4576,45347,5862],{"class":4657},[4576,45349,5865],{"class":4586},[4576,45351,5868],{"class":4600},[4576,45353,4604],{"class":4586},[4576,45355,45356,45358,45360,45363,45365,45368,45370,45372,45374,45376,45378,45380,45382,45384,45386,45388],{"class":4578,"line":6422},[4576,45357,4667],{"class":4653},[4576,45359,4670],{"class":4586},[4576,45361,45362],{"class":4673},"pref",[4576,45364,3806],{"class":4586},[4576,45366,45367],{"class":4673},"setPref",[4576,45369,4682],{"class":4586},[4576,45371,4591],{"class":4657},[4576,45373,5439],{"class":4586},[4576,45375,41345],{"class":4600},[4576,45377,21098],{"class":4586},[4576,45379,40726],{"class":4600},[4576,45381,21098],{"class":4586},[4576,45383,5868],{"class":4600},[4576,45385,5444],{"class":4586},[4576,45387,41345],{"class":4600},[4576,45389,4693],{"class":4586},[4576,45391,45392,45394,45397,45399,45401,45403,45405,45408,45410,45412,45414,45416,45419],{"class":4578,"line":6427},[4576,45393,4667],{"class":4653},[4576,45395,45396],{"class":4673}," isDark",[4576,45398,4911],{"class":4586},[4576,45400,45362],{"class":4590},[4576,45402,12019],{"class":4586},[4576,45404,5868],{"class":4600},[4576,45406,45407],{"class":4586}," || (",[4576,45409,45362],{"class":4590},[4576,45411,12019],{"class":4586},[4576,45413,41345],{"class":4600},[4576,45415,12025],{"class":4586},[4576,45417,45418],{"class":4590},"systemDark",[4576,45420,4693],{"class":4586},[4576,45422,45423,45425,45428,45430,45433,45435,45437,45439,45442],{"class":4578,"line":6469},[4576,45424,4667],{"class":4653},[4576,45426,45427],{"class":4673}," c",[4576,45429,4911],{"class":4586},[4576,45431,45432],{"class":4590},"isDark",[4576,45434,5885],{"class":4586},[4576,45436,5882],{"class":4590},[4576,45438,5891],{"class":4586},[4576,45440,45441],{"class":4590},"light",[4576,45443,4604],{"class":4586},[4576,45445,45446],{"class":4578,"line":6476},[4576,45447,4644],{"emptyLinePlaceholder":4643},[4576,45449,45450,45452,45454,45456,45458,45461,45463,45465,45467,45470,45472,45475,45477,45479],{"class":4578,"line":6489},[4576,45451,4667],{"class":4653},[4576,45453,4670],{"class":4586},[4576,45455,7833],{"class":4673},[4576,45457,3806],{"class":4586},[4576,45459,45460],{"class":4673},"setScreen",[4576,45462,4682],{"class":4586},[4576,45464,4591],{"class":4657},[4576,45466,5439],{"class":4586},[4576,45468,45469],{"class":4600},"'home'",[4576,45471,21098],{"class":4586},[4576,45473,45474],{"class":4600},"'form'",[4576,45476,5444],{"class":4586},[4576,45478,45469],{"class":4600},[4576,45480,4693],{"class":4586},[4576,45482,45483,45485,45487,45489,45491,45493,45495,45497,45499,45502],{"class":4578,"line":6502},[4576,45484,4667],{"class":4653},[4576,45486,4670],{"class":4586},[4576,45488,23829],{"class":4673},[4576,45490,3806],{"class":4586},[4576,45492,29113],{"class":4673},[4576,45494,4682],{"class":4586},[4576,45496,4591],{"class":4657},[4576,45498,4687],{"class":4586},[4576,45500,45501],{"class":4673},"SEED",[4576,45503,4693],{"class":4586},[4576,45505,45506,45508,45510,45512,45514,45517,45519,45521,45523,45525],{"class":4578,"line":6512},[4576,45507,4667],{"class":4653},[4576,45509,4670],{"class":4586},[4576,45511,7140],{"class":4673},[4576,45513,3806],{"class":4586},[4576,45515,45516],{"class":4673},"setTitle",[4576,45518,4682],{"class":4586},[4576,45520,4591],{"class":4657},[4576,45522,4687],{"class":4586},[4576,45524,4690],{"class":4600},[4576,45526,4693],{"class":4586},[4576,45528,45529,45531,45533,45535,45537,45539,45541,45543,45545,45547],{"class":4578,"line":6525},[4576,45530,4667],{"class":4653},[4576,45532,4670],{"class":4586},[4576,45534,8382],{"class":4673},[4576,45536,3806],{"class":4586},[4576,45538,8387],{"class":4673},[4576,45540,4682],{"class":4586},[4576,45542,4591],{"class":4657},[4576,45544,4687],{"class":4586},[4576,45546,5161],{"class":4653},[4576,45548,4693],{"class":4586},[4576,45550,45551,45553,45555,45557,45559,45561,45563,45565,45567,45569],{"class":4578,"line":6535},[4576,45552,4667],{"class":4653},[4576,45554,4670],{"class":4586},[4576,45556,9696],{"class":4673},[4576,45558,3806],{"class":4586},[4576,45560,9701],{"class":4673},[4576,45562,4682],{"class":4586},[4576,45564,4591],{"class":4657},[4576,45566,4687],{"class":4586},[4576,45568,5161],{"class":4653},[4576,45570,4693],{"class":4586},[4576,45572,45573,45575,45577,45579,45581,45583,45585,45587,45590,45592,45594,45596,45598,45600,45602,45604],{"class":4578,"line":6574},[4576,45574,4667],{"class":4653},[4576,45576,4670],{"class":4586},[4576,45578,14190],{"class":4673},[4576,45580,3806],{"class":4586},[4576,45582,15040],{"class":4673},[4576,45584,4682],{"class":4586},[4576,45586,4591],{"class":4657},[4576,45588,45589],{"class":4586},"\u003C{ ",[4576,45591,7140],{"class":4590},[4576,45593,11984],{"class":4586},[4576,45595,4349],{"class":4717},[4576,45597,14763],{"class":4586},[4576,45599,9696],{"class":4590},[4576,45601,11984],{"class":4586},[4576,45603,4349],{"class":4717},[4576,45605,45606],{"class":4586}," }>({});\n",[4576,45608,45609],{"class":4578,"line":6579},[4576,45610,4644],{"emptyLinePlaceholder":4643},[4576,45612,45613,45615,45618,45620,45622],{"class":4578,"line":6584},[4576,45614,4667],{"class":4653},[4576,45616,45617],{"class":4657}," submit",[4576,45619,15089],{"class":4586},[4576,45621,5537],{"class":4653},[4576,45623,4980],{"class":4586},[4576,45625,45626,45628,45630,45632,45634,45636],{"class":4578,"line":6626},[4576,45627,15098],{"class":4653},[4576,45629,15101],{"class":4673},[4576,45631,7093],{"class":4586},[4576,45633,11159],{"class":4653},[4576,45635,15922],{"class":4590},[4576,45637,15108],{"class":4586},[4576,45639,45640,45642,45644,45646,45648,45650,45652,45654,45656,45658,45660,45662,45664,45666,45668,45671],{"class":4578,"line":6633},[4576,45641,15113],{"class":4582},[4576,45643,4084],{"class":4586},[4576,45645,7140],{"class":4590},[4576,45647,3857],{"class":4586},[4576,45649,12550],{"class":4657},[4576,45651,12553],{"class":4586},[4576,45653,12556],{"class":4590},[4576,45655,12559],{"class":4586},[4576,45657,12562],{"class":4935},[4576,45659,7968],{"class":4586},[4576,45661,15134],{"class":4590},[4576,45663,3857],{"class":4586},[4576,45665,7140],{"class":4590},[4576,45667,4911],{"class":4586},[4576,45669,45670],{"class":4600},"'Назва — мін. 2 символи'",[4576,45672,4604],{"class":4586},[4576,45674,45675,45677,45679,45681,45683,45685,45687,45689,45691,45693],{"class":4578,"line":6646},[4576,45676,15113],{"class":4582},[4576,45678,12538],{"class":4586},[4576,45680,9696],{"class":4590},[4576,45682,7968],{"class":4586},[4576,45684,15134],{"class":4590},[4576,45686,3857],{"class":4586},[4576,45688,9696],{"class":4590},[4576,45690,4911],{"class":4586},[4576,45692,15217],{"class":4600},[4576,45694,4604],{"class":4586},[4576,45696,45697,45699,45701,45703],{"class":4578,"line":6659},[4576,45698,15224],{"class":4657},[4576,45700,4687],{"class":4586},[4576,45702,15134],{"class":4590},[4576,45704,4693],{"class":4586},[4576,45706,45707,45709,45711,45713,45715,45717,45719,45721,45723,45725,45727,45729],{"class":4578,"line":6669},[4576,45708,15113],{"class":4582},[4576,45710,4084],{"class":4586},[4576,45712,15240],{"class":4590},[4576,45714,3857],{"class":4586},[4576,45716,15245],{"class":4657},[4576,45718,4687],{"class":4586},[4576,45720,15134],{"class":4590},[4576,45722,3833],{"class":4586},[4576,45724,12556],{"class":4590},[4576,45726,7968],{"class":4586},[4576,45728,18046],{"class":4582},[4576,45730,4604],{"class":4586},[4576,45732,45733,45735,45737,45739,45741,45743],{"class":4578,"line":6682},[4576,45734,29167],{"class":4657},[4576,45736,7962],{"class":4586},[4576,45738,29172],{"class":4590},[4576,45740,7968],{"class":4586},[4576,45742,5537],{"class":4653},[4576,45744,7209],{"class":4586},[4576,45746,45747],{"class":4578,"line":6688},[4576,45748,45749],{"class":4586},"      {\n",[4576,45751,45752,45755,45757,45759,45761,45763,45765,45767,45769,45771],{"class":4578,"line":6699},[4576,45753,45754],{"class":4590},"        id:",[4576,45756,31729],{"class":4600},[4576,45758,25211],{"class":4653},[4576,45760,4462],{"class":4590},[4576,45762,3857],{"class":4733},[4576,45764,31738],{"class":4657},[4576,45766,5553],{"class":4733},[4576,45768,4739],{"class":4653},[4576,45770,25542],{"class":4600},[4576,45772,4992],{"class":4586},[4576,45774,45775,45778,45781,45783,45785],{"class":4578,"line":6711},[4576,45776,45777],{"class":4590},"        title:",[4576,45779,45780],{"class":4590}," title",[4576,45782,3857],{"class":4586},[4576,45784,12550],{"class":4657},[4576,45786,10092],{"class":4586},[4576,45788,45789,45792,45794],{"class":4578,"line":6723},[4576,45790,45791],{"class":4590},"        region:",[4576,45793,29542],{"class":4600},[4576,45795,4992],{"class":4586},[4576,45797,45798,45801,45804],{"class":4578,"line":6735},[4576,45799,45800],{"class":4590},"        dateLabel:",[4576,45802,45803],{"class":4600}," 'сьогодні'",[4576,45805,4992],{"class":4586},[4576,45807,45808,45811,45813,45815,45817,45819,45821,45823,45825,45827],{"class":4578,"line":6759},[4576,45809,45810],{"class":4590},"        coverUri:",[4576,45812,31817],{"class":4600},[4576,45814,25211],{"class":4653},[4576,45816,31822],{"class":4657},[4576,45818,4687],{"class":4733},[4576,45820,7140],{"class":4590},[4576,45822,5723],{"class":4733},[4576,45824,4739],{"class":4653},[4576,45826,31837],{"class":4600},[4576,45828,4992],{"class":4586},[4576,45830,45831,45834],{"class":4578,"line":6767},[4576,45832,45833],{"class":4590},"        isPrivate",[4576,45835,4992],{"class":4586},[4576,45837,45838],{"class":4578,"line":6772},[4576,45839,22988],{"class":4586},[4576,45841,45842,45845,45847],{"class":4578,"line":6781},[4576,45843,45844],{"class":4586},"      ...",[4576,45846,29172],{"class":4590},[4576,45848,4992],{"class":4586},[4576,45850,45851],{"class":4578,"line":6786},[4576,45852,45853],{"class":4586},"    ]);\n",[4576,45855,45856,45859,45861,45863],{"class":4578,"line":6791},[4576,45857,45858],{"class":4657},"    setTitle",[4576,45860,4687],{"class":4586},[4576,45862,4690],{"class":4600},[4576,45864,4693],{"class":4586},[4576,45866,45867,45870,45872,45874],{"class":4578,"line":6796},[4576,45868,45869],{"class":4657},"    setIsPrivate",[4576,45871,4687],{"class":4586},[4576,45873,5161],{"class":4653},[4576,45875,4693],{"class":4586},[4576,45877,45878,45881,45883,45885],{"class":4578,"line":6813},[4576,45879,45880],{"class":4657},"    setAccepted",[4576,45882,4687],{"class":4586},[4576,45884,5161],{"class":4653},[4576,45886,4693],{"class":4586},[4576,45888,45889,45892,45894,45896],{"class":4578,"line":6838},[4576,45890,45891],{"class":4657},"    setScreen",[4576,45893,4687],{"class":4586},[4576,45895,45469],{"class":4600},[4576,45897,4693],{"class":4586},[4576,45899,45900],{"class":4578,"line":6845},[4576,45901,15264],{"class":4586},[4576,45903,45904],{"class":4578,"line":6854},[4576,45905,4644],{"emptyLinePlaceholder":4643},[4576,45907,45908,45910,45912,45914,45916,45918],{"class":4578,"line":6863},[4576,45909,12008],{"class":4582},[4576,45911,4084],{"class":4586},[4576,45913,7833],{"class":4590},[4576,45915,12019],{"class":4586},[4576,45917,45474],{"class":4600},[4576,45919,7149],{"class":4586},[4576,45921,45922,45924],{"class":4578,"line":6872},[4576,45923,15283],{"class":4582},[4576,45925,4707],{"class":4586},[4576,45927,45928,45930,45932,45934,45936,45938,45940,45942,45944,45946,45948,45950,45952,45954,45957,45959,45961],{"class":4578,"line":6881},[4576,45929,4748],{"class":4713},[4576,45931,4628],{"class":4717},[4576,45933,4721],{"class":4720},[4576,45935,4724],{"class":4586},[4576,45937,4727],{"class":4653},[4576,45939,6261],{"class":4733},[4576,45941,4730],{"class":4590},[4576,45943,3857],{"class":4733},[4576,45945,7833],{"class":4590},[4576,45947,6270],{"class":4733},[4576,45949,6102],{"class":4590},[4576,45951,45427],{"class":4590},[4576,45953,3857],{"class":4733},[4576,45955,45956],{"class":4590},"bg",[4576,45958,6277],{"class":4733},[4576,45960,4739],{"class":4653},[4576,45962,4742],{"class":4713},[4576,45964,45965,45967,45969,45971,45973,45975,45977,45979,45981,45984,45986,45988,45990,45992,45994,45996,45998],{"class":4578,"line":6890},[4576,45966,7289],{"class":4713},[4576,45968,4628],{"class":4717},[4576,45970,4721],{"class":4720},[4576,45972,4724],{"class":4586},[4576,45974,4727],{"class":4653},[4576,45976,6261],{"class":4733},[4576,45978,4730],{"class":4590},[4576,45980,3857],{"class":4733},[4576,45982,45983],{"class":4590},"top",[4576,45985,6270],{"class":4733},[4576,45987,6402],{"class":4590},[4576,45989,45427],{"class":4590},[4576,45991,3857],{"class":4733},[4576,45993,25005],{"class":4590},[4576,45995,6277],{"class":4733},[4576,45997,4739],{"class":4653},[4576,45999,4742],{"class":4713},[4576,46001,46002,46004,46006,46008,46010,46012,46014,46016,46019,46021,46023,46025,46027],{"class":4578,"line":6899},[4576,46003,9168],{"class":4713},[4576,46005,3947],{"class":4717},[4576,46007,16453],{"class":4720},[4576,46009,4724],{"class":4586},[4576,46011,4727],{"class":4653},[4576,46013,5534],{"class":4733},[4576,46015,5537],{"class":4653},[4576,46017,46018],{"class":4657}," setScreen",[4576,46020,4687],{"class":4733},[4576,46022,45469],{"class":4600},[4576,46024,5723],{"class":4733},[4576,46026,4739],{"class":4653},[4576,46028,4742],{"class":4713},[4576,46030,46031,46033,46035,46037,46039,46041,46043,46045,46047,46049,46051,46053,46055,46057,46059,46061,46063,46066,46068,46070],{"class":4578,"line":6904},[4576,46032,11387],{"class":4713},[4576,46034,4619],{"class":4717},[4576,46036,4721],{"class":4720},[4576,46038,4724],{"class":4586},[4576,46040,4727],{"class":4653},[4576,46042,6092],{"class":4733},[4576,46044,6167],{"class":4590},[4576,46046,45427],{"class":4590},[4576,46048,3857],{"class":4733},[4576,46050,25164],{"class":4590},[4576,46052,3806],{"class":4733},[4576,46054,4958],{"class":4590},[4576,46056,4961],{"class":4600},[4576,46058,6107],{"class":4733},[4576,46060,4739],{"class":4653},[4576,46062,4768],{"class":4713},[4576,46064,46065],{"class":4586},"← Назад",[4576,46067,4774],{"class":4713},[4576,46069,4619],{"class":4717},[4576,46071,4742],{"class":4713},[4576,46073,46074,46076,46078],{"class":4578,"line":6920},[4576,46075,9264],{"class":4713},[4576,46077,3947],{"class":4717},[4576,46079,4742],{"class":4713},[4576,46081,46082,46084,46086,46088,46090,46092,46094,46096,46098,46101,46103,46105,46107,46109,46111,46113,46115,46117,46119,46121,46123,46126,46128,46130],{"class":4578,"line":16012},[4576,46083,9168],{"class":4713},[4576,46085,4619],{"class":4717},[4576,46087,4721],{"class":4720},[4576,46089,4724],{"class":4586},[4576,46091,4727],{"class":4653},[4576,46093,6261],{"class":4733},[4576,46095,4730],{"class":4590},[4576,46097,3857],{"class":4733},[4576,46099,46100],{"class":4590},"brand",[4576,46102,6270],{"class":4733},[4576,46104,6167],{"class":4590},[4576,46106,45427],{"class":4590},[4576,46108,3857],{"class":4733},[4576,46110,3896],{"class":4590},[4576,46112,3806],{"class":4733},[4576,46114,8751],{"class":4590},[4576,46116,9915],{"class":4935},[4576,46118,6277],{"class":4733},[4576,46120,4739],{"class":4653},[4576,46122,4768],{"class":4713},[4576,46124,46125],{"class":4586},"Нова поїздка",[4576,46127,4774],{"class":4713},[4576,46129,4619],{"class":4717},[4576,46131,4742],{"class":4713},[4576,46133,46134,46136,46138],{"class":4578,"line":16017},[4576,46135,9273],{"class":4713},[4576,46137,4628],{"class":4717},[4576,46139,4742],{"class":4713},[4576,46141,46142,46144,46146,46148,46150,46152,46154,46156,46158,46160,46162,46164,46166,46168],{"class":4578,"line":16058},[4576,46143,7289],{"class":4713},[4576,46145,4628],{"class":4717},[4576,46147,4721],{"class":4720},[4576,46149,4724],{"class":4586},[4576,46151,4727],{"class":4653},[4576,46153,6092],{"class":4733},[4576,46155,6123],{"class":4590},[4576,46157,5033],{"class":4935},[4576,46159,3806],{"class":4733},[4576,46161,4932],{"class":4590},[4576,46163,5001],{"class":4935},[4576,46165,6107],{"class":4733},[4576,46167,4739],{"class":4653},[4576,46169,4742],{"class":4713},[4576,46171,46172,46174,46176,46178,46180,46182,46184,46186,46188,46190,46192,46194,46196,46198,46200,46202,46204,46206,46208,46210,46213,46215,46217],{"class":4578,"line":16065},[4576,46173,9168],{"class":4713},[4576,46175,4619],{"class":4717},[4576,46177,4721],{"class":4720},[4576,46179,4724],{"class":4586},[4576,46181,4727],{"class":4653},[4576,46183,6092],{"class":4733},[4576,46185,6167],{"class":4590},[4576,46187,45427],{"class":4590},[4576,46189,3857],{"class":4733},[4576,46191,6345],{"class":4590},[4576,46193,3806],{"class":4733},[4576,46195,4950],{"class":4590},[4576,46197,5001],{"class":4935},[4576,46199,3806],{"class":4733},[4576,46201,4958],{"class":4590},[4576,46203,4961],{"class":4600},[4576,46205,6107],{"class":4733},[4576,46207,4739],{"class":4653},[4576,46209,4768],{"class":4713},[4576,46211,46212],{"class":4586},"НАЗВА (TextInput)",[4576,46214,4774],{"class":4713},[4576,46216,4619],{"class":4717},[4576,46218,4742],{"class":4713},[4576,46220,46221,46223],{"class":4578,"line":16078},[4576,46222,9168],{"class":4713},[4576,46224,4786],{"class":4717},[4576,46226,46227,46230,46232,46234,46236],{"class":4578,"line":16091},[4576,46228,46229],{"class":4720},"            value",[4576,46231,4724],{"class":4586},[4576,46233,4727],{"class":4653},[4576,46235,7140],{"class":4590},[4576,46237,4801],{"class":4653},[4576,46239,46240,46243,46245,46247,46249],{"class":4578,"line":16101},[4576,46241,46242],{"class":4720},"            onChangeText",[4576,46244,4724],{"class":4586},[4576,46246,4727],{"class":4653},[4576,46248,45516],{"class":4590},[4576,46250,4801],{"class":4653},[4576,46252,46253,46256,46258],{"class":4578,"line":16111},[4576,46254,46255],{"class":4720},"            placeholder",[4576,46257,4724],{"class":4586},[4576,46259,46260],{"class":4600},"\"Карпати на вихідні\"\n",[4576,46262,46263,46266,46268,46270,46273,46275,46277],{"class":4578,"line":16120},[4576,46264,46265],{"class":4720},"            placeholderTextColor",[4576,46267,4724],{"class":4586},[4576,46269,4727],{"class":4653},[4576,46271,46272],{"class":4590},"c",[4576,46274,3857],{"class":4733},[4576,46276,6345],{"class":4590},[4576,46278,4801],{"class":4653},[4576,46280,46281,46283,46285,46287],{"class":4578,"line":16133},[4576,46282,36372],{"class":4720},[4576,46284,4724],{"class":4586},[4576,46286,4727],{"class":4653},[4576,46288,6708],{"class":4733},[4576,46290,46291,46293,46295,46297],{"class":4578,"line":16144},[4576,46292,36383],{"class":4590},[4576,46294,3857],{"class":4733},[4576,46296,4865],{"class":4590},[4576,46298,4992],{"class":4733},[4576,46300,46301],{"class":4578,"line":16155},[4576,46302,36395],{"class":4733},[4576,46304,46305,46307,46309,46311,46313],{"class":4578,"line":16190},[4576,46306,36400],{"class":4590},[4576,46308,45427],{"class":4590},[4576,46310,3857],{"class":4733},[4576,46312,25460],{"class":4590},[4576,46314,4992],{"class":4733},[4576,46316,46317,46319,46321,46323,46325,46327,46329,46331,46333,46335,46337,46339,46341],{"class":4578,"line":16197},[4576,46318,36413],{"class":4590},[4576,46320,15922],{"class":4590},[4576,46322,3857],{"class":4733},[4576,46324,7140],{"class":4590},[4576,46326,7282],{"class":4586},[4576,46328,45427],{"class":4590},[4576,46330,3857],{"class":4733},[4576,46332,35953],{"class":4590},[4576,46334,8033],{"class":4586},[4576,46336,45427],{"class":4590},[4576,46338,3857],{"class":4733},[4576,46340,25005],{"class":4590},[4576,46342,4992],{"class":4733},[4576,46344,46345,46348,46350,46352,46354],{"class":4578,"line":16202},[4576,46346,46347],{"class":4590},"                color:",[4576,46349,45427],{"class":4590},[4576,46351,3857],{"class":4733},[4576,46353,3896],{"class":4590},[4576,46355,4992],{"class":4733},[4576,46357,46358],{"class":4578,"line":16257},[4576,46359,36440],{"class":4733},[4576,46361,46362,46364],{"class":4578,"line":16262},[4576,46363,36445],{"class":4733},[4576,46365,4801],{"class":4653},[4576,46367,46368],{"class":4578,"line":16285},[4576,46369,24586],{"class":4713},[4576,46371,46372,46374,46376,46378,46380,46382,46384,46386,46388,46390,46392,46394,46396,46398,46400,46402,46404,46406,46408,46410,46412,46414,46416,46418,46420,46422,46424,46426],{"class":4578,"line":16325},[4576,46373,11363],{"class":4653},[4576,46375,14190],{"class":4590},[4576,46377,3857],{"class":4733},[4576,46379,7140],{"class":4590},[4576,46381,7282],{"class":4586},[4576,46383,13182],{"class":4713},[4576,46385,4619],{"class":4717},[4576,46387,4721],{"class":4720},[4576,46389,4724],{"class":4586},[4576,46391,4727],{"class":4653},[4576,46393,6092],{"class":4733},[4576,46395,6167],{"class":4590},[4576,46397,45427],{"class":4590},[4576,46399,3857],{"class":4733},[4576,46401,35953],{"class":4590},[4576,46403,6107],{"class":4733},[4576,46405,4739],{"class":4653},[4576,46407,4768],{"class":4713},[4576,46409,4727],{"class":4653},[4576,46411,14190],{"class":4590},[4576,46413,3857],{"class":4733},[4576,46415,7140],{"class":4590},[4576,46417,4739],{"class":4653},[4576,46419,4774],{"class":4713},[4576,46421,4619],{"class":4717},[4576,46423,4768],{"class":4713},[4576,46425,8033],{"class":4586},[4576,46427,16009],{"class":4653},[4576,46429,46430],{"class":4578,"line":16377},[4576,46431,4644],{"emptyLinePlaceholder":4643},[4576,46433,46434,46436,46438,46440,46442,46444,46446,46448,46450,46452],{"class":4578,"line":16386},[4576,46435,9168],{"class":4713},[4576,46437,4628],{"class":4717},[4576,46439,4721],{"class":4720},[4576,46441,4724],{"class":4586},[4576,46443,4727],{"class":4653},[4576,46445,4730],{"class":4590},[4576,46447,3857],{"class":4733},[4576,46449,9121],{"class":4590},[4576,46451,4739],{"class":4653},[4576,46453,4742],{"class":4713},[4576,46455,46456,46458,46460,46462,46464,46466,46468,46470,46472,46474,46476,46478,46480,46482,46484,46486,46488,46491,46493,46495],{"class":4578,"line":16441},[4576,46457,11387],{"class":4713},[4576,46459,4619],{"class":4717},[4576,46461,4721],{"class":4720},[4576,46463,4724],{"class":4586},[4576,46465,4727],{"class":4653},[4576,46467,6092],{"class":4733},[4576,46469,6167],{"class":4590},[4576,46471,45427],{"class":4590},[4576,46473,3857],{"class":4733},[4576,46475,3896],{"class":4590},[4576,46477,3806],{"class":4733},[4576,46479,6095],{"class":4590},[4576,46481,4989],{"class":4935},[4576,46483,6107],{"class":4733},[4576,46485,4739],{"class":4653},[4576,46487,4768],{"class":4713},[4576,46489,46490],{"class":4586},"Приватна (Switch)",[4576,46492,4774],{"class":4713},[4576,46494,4619],{"class":4717},[4576,46496,4742],{"class":4713},[4576,46498,46499,46501],{"class":4578,"line":16446},[4576,46500,11387],{"class":4713},[4576,46502,8530],{"class":4717},[4576,46504,46505,46507,46509,46511,46513],{"class":4578,"line":16491},[4576,46506,18654],{"class":4720},[4576,46508,4724],{"class":4586},[4576,46510,4727],{"class":4653},[4576,46512,8382],{"class":4590},[4576,46514,4801],{"class":4653},[4576,46516,46517,46519,46521,46523,46525],{"class":4578,"line":16523},[4576,46518,19456],{"class":4720},[4576,46520,4724],{"class":4586},[4576,46522,4727],{"class":4653},[4576,46524,8387],{"class":4590},[4576,46526,4801],{"class":4653},[4576,46528,46529,46532,46534,46536,46538,46540,46542,46544,46546,46548,46550,46552,46554,46556,46558],{"class":4578,"line":16532},[4576,46530,46531],{"class":4720},"              trackColor",[4576,46533,4724],{"class":4586},[4576,46535,4727],{"class":4653},[4576,46537,6092],{"class":4733},[4576,46539,8577],{"class":4590},[4576,46541,45427],{"class":4590},[4576,46543,3857],{"class":4733},[4576,46545,25164],{"class":4590},[4576,46547,3806],{"class":4733},[4576,46549,8569],{"class":4590},[4576,46551,45427],{"class":4590},[4576,46553,3857],{"class":4733},[4576,46555,25005],{"class":4590},[4576,46557,6107],{"class":4733},[4576,46559,4801],{"class":4653},[4576,46561,46562],{"class":4578,"line":16541},[4576,46563,18721],{"class":4713},[4576,46565,46566,46568,46570],{"class":4578,"line":16550},[4576,46567,9264],{"class":4713},[4576,46569,4628],{"class":4717},[4576,46571,4742],{"class":4713},[4576,46573,46574],{"class":4578,"line":16555},[4576,46575,4644],{"emptyLinePlaceholder":4643},[4576,46577,46578,46580,46582,46584,46586,46588,46590,46592,46594,46596],{"class":4578,"line":16560},[4576,46579,9168],{"class":4713},[4576,46581,4628],{"class":4717},[4576,46583,4721],{"class":4720},[4576,46585,4724],{"class":4586},[4576,46587,4727],{"class":4653},[4576,46589,4730],{"class":4590},[4576,46591,3857],{"class":4733},[4576,46593,9121],{"class":4590},[4576,46595,4739],{"class":4653},[4576,46597,4742],{"class":4713},[4576,46599,46600,46602,46604,46606,46608,46610,46612,46614,46616,46618,46620,46622,46624,46626,46628,46630,46632,46635,46637,46639],{"class":4578,"line":16565},[4576,46601,11387],{"class":4713},[4576,46603,4619],{"class":4717},[4576,46605,4721],{"class":4720},[4576,46607,4724],{"class":4586},[4576,46609,4727],{"class":4653},[4576,46611,6092],{"class":4733},[4576,46613,6167],{"class":4590},[4576,46615,45427],{"class":4590},[4576,46617,3857],{"class":4733},[4576,46619,3896],{"class":4590},[4576,46621,3806],{"class":4733},[4576,46623,6095],{"class":4590},[4576,46625,4989],{"class":4935},[4576,46627,6107],{"class":4733},[4576,46629,4739],{"class":4653},[4576,46631,4768],{"class":4713},[4576,46633,46634],{"class":4586},"Згода (імітація Checkbox)",[4576,46636,4774],{"class":4713},[4576,46638,4619],{"class":4717},[4576,46640,4742],{"class":4713},[4576,46642,46643,46645],{"class":4578,"line":16582},[4576,46644,11387],{"class":4713},[4576,46646,8530],{"class":4717},[4576,46648,46649,46651,46653,46655,46657],{"class":4578,"line":16614},[4576,46650,18654],{"class":4720},[4576,46652,4724],{"class":4586},[4576,46654,4727],{"class":4653},[4576,46656,9696],{"class":4590},[4576,46658,4801],{"class":4653},[4576,46660,46661,46663,46665,46667,46669],{"class":4578,"line":16645},[4576,46662,19456],{"class":4720},[4576,46664,4724],{"class":4586},[4576,46666,4727],{"class":4653},[4576,46668,9701],{"class":4590},[4576,46670,4801],{"class":4653},[4576,46672,46673,46675,46677,46679,46681,46683,46685,46687,46689,46691,46693,46695,46697,46699,46701],{"class":4578,"line":16652},[4576,46674,46531],{"class":4720},[4576,46676,4724],{"class":4586},[4576,46678,4727],{"class":4653},[4576,46680,6092],{"class":4733},[4576,46682,8577],{"class":4590},[4576,46684,45427],{"class":4590},[4576,46686,3857],{"class":4733},[4576,46688,25164],{"class":4590},[4576,46690,3806],{"class":4733},[4576,46692,8569],{"class":4590},[4576,46694,45427],{"class":4590},[4576,46696,3857],{"class":4733},[4576,46698,25005],{"class":4590},[4576,46700,6107],{"class":4733},[4576,46702,4801],{"class":4653},[4576,46704,46705],{"class":4578,"line":16661},[4576,46706,18721],{"class":4713},[4576,46708,46709,46711,46713],{"class":4578,"line":16670},[4576,46710,9264],{"class":4713},[4576,46712,4628],{"class":4717},[4576,46714,4742],{"class":4713},[4576,46716,46717,46719,46721,46723,46725,46727,46729,46731,46733,46735,46737,46739,46741,46743,46745,46747,46749,46751,46753,46755,46757,46759,46761,46763,46765,46767,46769,46771],{"class":4578,"line":16679},[4576,46718,11363],{"class":4653},[4576,46720,14190],{"class":4590},[4576,46722,3857],{"class":4733},[4576,46724,9696],{"class":4590},[4576,46726,7282],{"class":4586},[4576,46728,13182],{"class":4713},[4576,46730,4619],{"class":4717},[4576,46732,4721],{"class":4720},[4576,46734,4724],{"class":4586},[4576,46736,4727],{"class":4653},[4576,46738,6092],{"class":4733},[4576,46740,6167],{"class":4590},[4576,46742,45427],{"class":4590},[4576,46744,3857],{"class":4733},[4576,46746,35953],{"class":4590},[4576,46748,6107],{"class":4733},[4576,46750,4739],{"class":4653},[4576,46752,4768],{"class":4713},[4576,46754,4727],{"class":4653},[4576,46756,14190],{"class":4590},[4576,46758,3857],{"class":4733},[4576,46760,9696],{"class":4590},[4576,46762,4739],{"class":4653},[4576,46764,4774],{"class":4713},[4576,46766,4619],{"class":4717},[4576,46768,4768],{"class":4713},[4576,46770,8033],{"class":4586},[4576,46772,16009],{"class":4653},[4576,46774,46775],{"class":4578,"line":16688},[4576,46776,4644],{"emptyLinePlaceholder":4643},[4576,46778,46779,46781,46783,46785,46787,46789,46791,46793,46795,46797,46799,46801,46803,46805,46808,46810,46812,46814,46816,46818,46820,46822],{"class":4578,"line":16697},[4576,46780,9168],{"class":4713},[4576,46782,3947],{"class":4717},[4576,46784,16453],{"class":4720},[4576,46786,4724],{"class":4586},[4576,46788,4727],{"class":4653},[4576,46790,4163],{"class":4590},[4576,46792,4739],{"class":4653},[4576,46794,4721],{"class":4720},[4576,46796,4724],{"class":4586},[4576,46798,4727],{"class":4653},[4576,46800,6261],{"class":4733},[4576,46802,4730],{"class":4590},[4576,46804,3857],{"class":4733},[4576,46806,46807],{"class":4590},"cta",[4576,46809,6270],{"class":4733},[4576,46811,6102],{"class":4590},[4576,46813,45427],{"class":4590},[4576,46815,3857],{"class":4733},[4576,46817,25164],{"class":4590},[4576,46819,6277],{"class":4733},[4576,46821,4739],{"class":4653},[4576,46823,4742],{"class":4713},[4576,46825,46826,46828,46830,46832,46834,46836,46838,46840,46842,46844,46846,46848,46850,46852,46854,46856,46858,46861,46863,46865],{"class":4578,"line":16706},[4576,46827,11387],{"class":4713},[4576,46829,4619],{"class":4717},[4576,46831,4721],{"class":4720},[4576,46833,4724],{"class":4586},[4576,46835,4727],{"class":4653},[4576,46837,6092],{"class":4733},[4576,46839,6167],{"class":4590},[4576,46841,45427],{"class":4590},[4576,46843,3857],{"class":4733},[4576,46845,25585],{"class":4590},[4576,46847,3806],{"class":4733},[4576,46849,4958],{"class":4590},[4576,46851,6176],{"class":4600},[4576,46853,6107],{"class":4733},[4576,46855,4739],{"class":4653},[4576,46857,4768],{"class":4713},[4576,46859,46860],{"class":4586},"Створити (Pressable)",[4576,46862,4774],{"class":4713},[4576,46864,4619],{"class":4717},[4576,46866,4742],{"class":4713},[4576,46868,46869,46871,46873],{"class":4578,"line":16711},[4576,46870,9264],{"class":4713},[4576,46872,3947],{"class":4717},[4576,46874,4742],{"class":4713},[4576,46876,46877,46879,46881],{"class":4578,"line":16742},[4576,46878,9273],{"class":4713},[4576,46880,4628],{"class":4717},[4576,46882,4742],{"class":4713},[4576,46884,46885,46887,46889],{"class":4578,"line":16773},[4576,46886,6238],{"class":4713},[4576,46888,4628],{"class":4717},[4576,46890,4742],{"class":4713},[4576,46892,46893],{"class":4578,"line":16792},[4576,46894,15575],{"class":4586},[4576,46896,46897],{"class":4578,"line":18926},[4576,46898,12045],{"class":4586},[4576,46900,46901],{"class":4578,"line":18936},[4576,46902,4644],{"emptyLinePlaceholder":4643},[4576,46904,46905,46907],{"class":4578,"line":18945},[4576,46906,4704],{"class":4582},[4576,46908,4707],{"class":4586},[4576,46910,46911,46913,46915,46917,46919,46921,46923,46925,46927,46929,46931,46933,46935,46937,46939,46941,46943],{"class":4578,"line":18955},[4576,46912,4714],{"class":4713},[4576,46914,4628],{"class":4717},[4576,46916,4721],{"class":4720},[4576,46918,4724],{"class":4586},[4576,46920,4727],{"class":4653},[4576,46922,6261],{"class":4733},[4576,46924,4730],{"class":4590},[4576,46926,3857],{"class":4733},[4576,46928,7833],{"class":4590},[4576,46930,6270],{"class":4733},[4576,46932,6102],{"class":4590},[4576,46934,45427],{"class":4590},[4576,46936,3857],{"class":4733},[4576,46938,45956],{"class":4590},[4576,46940,6277],{"class":4733},[4576,46942,4739],{"class":4653},[4576,46944,4742],{"class":4713},[4576,46946,46947,46949,46951,46953,46955,46957,46959,46961,46963,46965,46967,46969,46971,46973,46975,46977,46979],{"class":4578,"line":18964},[4576,46948,4748],{"class":4713},[4576,46950,4628],{"class":4717},[4576,46952,4721],{"class":4720},[4576,46954,4724],{"class":4586},[4576,46956,4727],{"class":4653},[4576,46958,6261],{"class":4733},[4576,46960,4730],{"class":4590},[4576,46962,3857],{"class":4733},[4576,46964,45983],{"class":4590},[4576,46966,6270],{"class":4733},[4576,46968,6402],{"class":4590},[4576,46970,45427],{"class":4590},[4576,46972,3857],{"class":4733},[4576,46974,25005],{"class":4590},[4576,46976,6277],{"class":4733},[4576,46978,4739],{"class":4653},[4576,46980,4742],{"class":4713},[4576,46982,46983,46985,46987,46989,46991,46993,46995,46997,46999,47001,47003,47005,47007,47009,47011,47013,47015,47017,47019,47021,47023],{"class":4578,"line":18969},[4576,46984,7289],{"class":4713},[4576,46986,4619],{"class":4717},[4576,46988,4721],{"class":4720},[4576,46990,4724],{"class":4586},[4576,46992,4727],{"class":4653},[4576,46994,6261],{"class":4733},[4576,46996,4730],{"class":4590},[4576,46998,3857],{"class":4733},[4576,47000,46100],{"class":4590},[4576,47002,6270],{"class":4733},[4576,47004,6167],{"class":4590},[4576,47006,45427],{"class":4590},[4576,47008,3857],{"class":4733},[4576,47010,3896],{"class":4590},[4576,47012,6277],{"class":4733},[4576,47014,4739],{"class":4653},[4576,47016,4768],{"class":4713},[4576,47018,25040],{"class":4586},[4576,47020,4774],{"class":4713},[4576,47022,4619],{"class":4717},[4576,47024,4742],{"class":4713},[4576,47026,47027,47029,47031,47033,47035,47037,47039,47041,47043,47045,47047,47049,47051,47053,47055,47057,47059,47061,47063],{"class":4578,"line":18976},[4576,47028,7289],{"class":4713},[4576,47030,4619],{"class":4717},[4576,47032,4721],{"class":4720},[4576,47034,4724],{"class":4586},[4576,47036,4727],{"class":4653},[4576,47038,6092],{"class":4733},[4576,47040,6167],{"class":4590},[4576,47042,45427],{"class":4590},[4576,47044,3857],{"class":4733},[4576,47046,6345],{"class":4590},[4576,47048,3806],{"class":4733},[4576,47050,4950],{"class":4590},[4576,47052,4953],{"class":4935},[4576,47054,3806],{"class":4733},[4576,47056,8751],{"class":4590},[4576,47058,9228],{"class":4935},[4576,47060,6107],{"class":4733},[4576,47062,4739],{"class":4653},[4576,47064,4742],{"class":4713},[4576,47066,47067,47069,47071,47073,47075,47077],{"class":4578,"line":18981},[4576,47068,11363],{"class":4653},[4576,47070,23829],{"class":4590},[4576,47072,3857],{"class":4733},[4576,47074,12556],{"class":4590},[4576,47076,4739],{"class":4653},[4576,47078,47079],{"class":4586}," поїздок · форма з різними контролями\n",[4576,47081,47082,47084,47086],{"class":4578,"line":19008},[4576,47083,9273],{"class":4713},[4576,47085,4619],{"class":4717},[4576,47087,4742],{"class":4713},[4576,47089,47090,47092,47094],{"class":4578,"line":19013},[4576,47091,6238],{"class":4713},[4576,47093,4628],{"class":4717},[4576,47095,4742],{"class":4713},[4576,47097,47098,47100],{"class":4578,"line":19030},[4576,47099,4748],{"class":4713},[4576,47101,24411],{"class":4717},[4576,47103,47104,47106,47108,47110,47112,47114,47116,47118],{"class":4578,"line":19037},[4576,47105,4854],{"class":4720},[4576,47107,4724],{"class":4586},[4576,47109,4727],{"class":4653},[4576,47111,6092],{"class":4733},[4576,47113,6095],{"class":4590},[4576,47115,4989],{"class":4935},[4576,47117,6107],{"class":4733},[4576,47119,4801],{"class":4653},[4576,47121,47122,47125,47127,47129,47131],{"class":4578,"line":19050},[4576,47123,47124],{"class":4720},"        data",[4576,47126,4724],{"class":4586},[4576,47128,4727],{"class":4653},[4576,47130,23829],{"class":4590},[4576,47132,4801],{"class":4653},[4576,47134,47135,47138,47140,47142,47144,47146,47148,47150,47153,47155,47157],{"class":4578,"line":19059},[4576,47136,47137],{"class":4720},"        keyExtractor",[4576,47139,4724],{"class":4586},[4576,47141,4727],{"class":4653},[4576,47143,4687],{"class":4733},[4576,47145,19176],{"class":4590},[4576,47147,7968],{"class":4733},[4576,47149,5537],{"class":4653},[4576,47151,47152],{"class":4590}," t",[4576,47154,3857],{"class":4733},[4576,47156,23717],{"class":4590},[4576,47158,4801],{"class":4653},[4576,47160,47161,47163,47165,47167,47169,47171,47173,47175],{"class":4578,"line":19086},[4576,47162,18417],{"class":4720},[4576,47164,4724],{"class":4586},[4576,47166,4727],{"class":4653},[4576,47168,6092],{"class":4733},[4576,47170,6123],{"class":4590},[4576,47172,5033],{"class":4935},[4576,47174,6107],{"class":4733},[4576,47176,4801],{"class":4653},[4576,47178,47179,47182,47184,47186,47188,47190,47192,47194],{"class":4578,"line":19131},[4576,47180,47181],{"class":4720},"        renderItem",[4576,47183,4724],{"class":4586},[4576,47185,4727],{"class":4653},[4576,47187,7128],{"class":4733},[4576,47189,11376],{"class":4590},[4576,47191,7204],{"class":4733},[4576,47193,5537],{"class":4653},[4576,47195,4707],{"class":4733},[4576,47197,47198,47200,47202,47204,47206,47208,47210,47212,47214,47216,47218,47220,47222,47224,47226,47228,47230,47232,47234,47236,47238,47240],{"class":4578,"line":19161},[4576,47199,9168],{"class":4713},[4576,47201,4628],{"class":4717},[4576,47203,4721],{"class":4720},[4576,47205,4724],{"class":4586},[4576,47207,4727],{"class":4653},[4576,47209,6261],{"class":4733},[4576,47211,4730],{"class":4590},[4576,47213,3857],{"class":4733},[4576,47215,38377],{"class":4590},[4576,47217,6270],{"class":4733},[4576,47219,6102],{"class":4590},[4576,47221,45427],{"class":4590},[4576,47223,3857],{"class":4733},[4576,47225,25460],{"class":4590},[4576,47227,3806],{"class":4733},[4576,47229,6402],{"class":4590},[4576,47231,45427],{"class":4590},[4576,47233,3857],{"class":4733},[4576,47235,25005],{"class":4590},[4576,47237,6277],{"class":4733},[4576,47239,4739],{"class":4653},[4576,47241,4742],{"class":4713},[4576,47243,47244,47246,47248,47251,47253,47255,47257,47259,47261,47263,47265,47267,47269,47271,47273,47275,47277,47279,47281,47283],{"class":4578,"line":19185},[4576,47245,11387],{"class":4713},[4576,47247,38101],{"class":4717},[4576,47249,47250],{"class":4720}," source",[4576,47252,4724],{"class":4586},[4576,47254,4727],{"class":4653},[4576,47256,6092],{"class":4733},[4576,47258,38472],{"class":4590},[4576,47260,24261],{"class":4590},[4576,47262,3857],{"class":4733},[4576,47264,38479],{"class":4590},[4576,47266,6107],{"class":4733},[4576,47268,4739],{"class":4653},[4576,47270,4721],{"class":4720},[4576,47272,4724],{"class":4586},[4576,47274,4727],{"class":4653},[4576,47276,4730],{"class":4590},[4576,47278,3857],{"class":4733},[4576,47280,38500],{"class":4590},[4576,47282,4739],{"class":4653},[4576,47284,7302],{"class":4713},[4576,47286,47287,47289,47291,47293,47295,47297,47299,47301,47303,47305,47307],{"class":4578,"line":19237},[4576,47288,11387],{"class":4713},[4576,47290,4628],{"class":4717},[4576,47292,4721],{"class":4720},[4576,47294,4724],{"class":4586},[4576,47296,4727],{"class":4653},[4576,47298,6092],{"class":4733},[4576,47300,6123],{"class":4590},[4576,47302,5001],{"class":4935},[4576,47304,6107],{"class":4733},[4576,47306,4739],{"class":4653},[4576,47308,4742],{"class":4713},[4576,47310,47311,47313,47315,47317,47319,47321,47323,47325,47327,47329,47331,47333,47335,47337,47339,47341,47343,47345,47347,47349,47351,47353,47355,47357,47359,47361,47363],{"class":4578,"line":19245},[4576,47312,19134],{"class":4713},[4576,47314,4619],{"class":4717},[4576,47316,4721],{"class":4720},[4576,47318,4724],{"class":4586},[4576,47320,4727],{"class":4653},[4576,47322,6092],{"class":4733},[4576,47324,6167],{"class":4590},[4576,47326,45427],{"class":4590},[4576,47328,3857],{"class":4733},[4576,47330,3896],{"class":4590},[4576,47332,3806],{"class":4733},[4576,47334,4958],{"class":4590},[4576,47336,4961],{"class":4600},[4576,47338,3806],{"class":4733},[4576,47340,4950],{"class":4590},[4576,47342,5033],{"class":4935},[4576,47344,6107],{"class":4733},[4576,47346,4739],{"class":4653},[4576,47348,4768],{"class":4713},[4576,47350,4727],{"class":4653},[4576,47352,11376],{"class":4590},[4576,47354,3857],{"class":4733},[4576,47356,7140],{"class":4590},[4576,47358,4739],{"class":4653},[4576,47360,4774],{"class":4713},[4576,47362,4619],{"class":4717},[4576,47364,4742],{"class":4713},[4576,47366,47367,47369,47371,47373,47375,47377,47379,47381,47383,47385,47387,47389,47391,47393,47395,47397,47399,47401,47403],{"class":4578,"line":19255},[4576,47368,19134],{"class":4713},[4576,47370,4619],{"class":4717},[4576,47372,4721],{"class":4720},[4576,47374,4724],{"class":4586},[4576,47376,4727],{"class":4653},[4576,47378,6092],{"class":4733},[4576,47380,6167],{"class":4590},[4576,47382,45427],{"class":4590},[4576,47384,3857],{"class":4733},[4576,47386,6345],{"class":4590},[4576,47388,3806],{"class":4733},[4576,47390,8751],{"class":4590},[4576,47392,9228],{"class":4935},[4576,47394,3806],{"class":4733},[4576,47396,4950],{"class":4590},[4576,47398,4953],{"class":4935},[4576,47400,6107],{"class":4733},[4576,47402,4739],{"class":4653},[4576,47404,4742],{"class":4713},[4576,47406,47407,47409,47411,47413,47415,47417,47419,47421,47423,47425,47427],{"class":4578,"line":19265},[4576,47408,19164],{"class":4653},[4576,47410,11376],{"class":4590},[4576,47412,3857],{"class":4733},[4576,47414,38717],{"class":4590},[4576,47416,4739],{"class":4653},[4576,47418,15402],{"class":4733},[4576,47420,4727],{"class":4653},[4576,47422,11376],{"class":4590},[4576,47424,3857],{"class":4733},[4576,47426,11193],{"class":4590},[4576,47428,4801],{"class":4653},[4576,47430,47431,47433,47435,47437,47439,47441,47444,47446,47448],{"class":4578,"line":19272},[4576,47432,19164],{"class":4653},[4576,47434,11376],{"class":4590},[4576,47436,3857],{"class":4733},[4576,47438,8382],{"class":4590},[4576,47440,7282],{"class":4586},[4576,47442,47443],{"class":4600}," ' · приватна'",[4576,47445,8033],{"class":4586},[4576,47447,14251],{"class":4600},[4576,47449,4801],{"class":4653},[4576,47451,47452,47454,47456],{"class":4578,"line":19277},[4576,47453,19248],{"class":4713},[4576,47455,4619],{"class":4717},[4576,47457,4742],{"class":4713},[4576,47459,47460,47462,47464],{"class":4578,"line":19304},[4576,47461,19258],{"class":4713},[4576,47463,4628],{"class":4717},[4576,47465,4742],{"class":4713},[4576,47467,47468,47470,47472],{"class":4578,"line":19309},[4576,47469,9264],{"class":4713},[4576,47471,4628],{"class":4717},[4576,47473,4742],{"class":4713},[4576,47475,47476,47478],{"class":4578,"line":19334},[4576,47477,21256],{"class":4733},[4576,47479,4801],{"class":4653},[4576,47481,47482],{"class":4578,"line":19341},[4576,47483,4873],{"class":4713},[4576,47485,47486,47488,47490,47492,47494,47496,47498,47500,47502,47504,47506,47508,47510,47512,47514,47516,47518,47520,47522,47524,47526,47528],{"class":4578,"line":19354},[4576,47487,4748],{"class":4713},[4576,47489,4628],{"class":4717},[4576,47491,4721],{"class":4720},[4576,47493,4724],{"class":4586},[4576,47495,4727],{"class":4653},[4576,47497,6261],{"class":4733},[4576,47499,4730],{"class":4590},[4576,47501,3857],{"class":4733},[4576,47503,26013],{"class":4590},[4576,47505,6270],{"class":4733},[4576,47507,6402],{"class":4590},[4576,47509,45427],{"class":4590},[4576,47511,3857],{"class":4733},[4576,47513,25005],{"class":4590},[4576,47515,3806],{"class":4733},[4576,47517,6102],{"class":4590},[4576,47519,45427],{"class":4590},[4576,47521,3857],{"class":4733},[4576,47523,45956],{"class":4590},[4576,47525,6277],{"class":4733},[4576,47527,4739],{"class":4653},[4576,47529,4742],{"class":4713},[4576,47531,47532,47534,47536,47538,47540,47542,47544,47546,47548,47550,47552,47554,47556,47558,47560,47562,47564,47566,47568,47570,47572,47574,47576,47578,47580,47582,47584],{"class":4578,"line":19364},[4576,47533,7289],{"class":4713},[4576,47535,3947],{"class":4717},[4576,47537,16453],{"class":4720},[4576,47539,4724],{"class":4586},[4576,47541,4727],{"class":4653},[4576,47543,5534],{"class":4733},[4576,47545,5537],{"class":4653},[4576,47547,46018],{"class":4657},[4576,47549,4687],{"class":4733},[4576,47551,45474],{"class":4600},[4576,47553,5723],{"class":4733},[4576,47555,4739],{"class":4653},[4576,47557,4721],{"class":4720},[4576,47559,4724],{"class":4586},[4576,47561,4727],{"class":4653},[4576,47563,6261],{"class":4733},[4576,47565,4730],{"class":4590},[4576,47567,3857],{"class":4733},[4576,47569,46807],{"class":4590},[4576,47571,6270],{"class":4733},[4576,47573,6102],{"class":4590},[4576,47575,45427],{"class":4590},[4576,47577,3857],{"class":4733},[4576,47579,25164],{"class":4590},[4576,47581,6277],{"class":4733},[4576,47583,4739],{"class":4653},[4576,47585,4742],{"class":4713},[4576,47587,47588,47590,47592,47594,47596,47598,47600,47602,47604,47606,47608,47610,47612,47614,47616,47618,47620,47622,47624,47626],{"class":4578,"line":19391},[4576,47589,9168],{"class":4713},[4576,47591,4619],{"class":4717},[4576,47593,4721],{"class":4720},[4576,47595,4724],{"class":4586},[4576,47597,4727],{"class":4653},[4576,47599,6092],{"class":4733},[4576,47601,6167],{"class":4590},[4576,47603,45427],{"class":4590},[4576,47605,3857],{"class":4733},[4576,47607,25585],{"class":4590},[4576,47609,3806],{"class":4733},[4576,47611,4958],{"class":4590},[4576,47613,6176],{"class":4600},[4576,47615,6107],{"class":4733},[4576,47617,4739],{"class":4653},[4576,47619,4768],{"class":4713},[4576,47621,46125],{"class":4586},[4576,47623,4774],{"class":4713},[4576,47625,4619],{"class":4717},[4576,47627,4742],{"class":4713},[4576,47629,47630,47632,47634],{"class":4578,"line":19398},[4576,47631,9273],{"class":4713},[4576,47633,3947],{"class":4717},[4576,47635,4742],{"class":4713},[4576,47637,47638,47640,47642],{"class":4578,"line":19412},[4576,47639,6238],{"class":4713},[4576,47641,4628],{"class":4717},[4576,47643,4742],{"class":4713},[4576,47645,47646,47648,47650],{"class":4578,"line":19426},[4576,47647,4879],{"class":4713},[4576,47649,4628],{"class":4717},[4576,47651,4742],{"class":4713},[4576,47653,47654],{"class":4578,"line":19440},[4576,47655,4889],{"class":4586},[4576,47657,47658],{"class":4578,"line":19453},[4576,47659,4801],{"class":4586},[4576,47661,47662],{"class":4578,"line":19467},[4576,47663,4644],{"emptyLinePlaceholder":4643},[4576,47665,47666,47668,47670,47672,47674,47676,47678],{"class":4578,"line":19477},[4576,47667,4905],{"class":4653},[4576,47669,4908],{"class":4673},[4576,47671,4911],{"class":4586},[4576,47673,4614],{"class":4590},[4576,47675,3857],{"class":4586},[4576,47677,4918],{"class":4657},[4576,47679,4921],{"class":4586},[4576,47681,47682,47684,47686,47688,47690],{"class":4578,"line":19487},[4576,47683,8129],{"class":4590},[4576,47685,4587],{"class":4586},[4576,47687,6095],{"class":4590},[4576,47689,4989],{"class":4935},[4576,47691,4939],{"class":4586},[4576,47693,47694,47697,47699,47701,47703,47705,47708,47710],{"class":4578,"line":19497},[4576,47695,47696],{"class":4590},"  top:",[4576,47698,4587],{"class":4586},[4576,47700,6123],{"class":4590},[4576,47702,5033],{"class":4935},[4576,47704,3806],{"class":4586},[4576,47706,47707],{"class":4590},"borderBottomWidth:",[4576,47709,4989],{"class":4935},[4576,47711,4939],{"class":4586},[4576,47713,47714,47717,47719,47721,47723,47725,47727,47729],{"class":4578,"line":19502},[4576,47715,47716],{"class":4590},"  brand:",[4576,47718,4587],{"class":4586},[4576,47720,4950],{"class":4590},[4576,47722,20980],{"class":4935},[4576,47724,3806],{"class":4586},[4576,47726,4958],{"class":4590},[4576,47728,6176],{"class":4600},[4576,47730,4939],{"class":4586},[4576,47732,47733,47735,47737,47740,47742,47744,47746,47748,47750,47753,47755,47757,47759,47761],{"class":4578,"line":19509},[4576,47734,39354],{"class":4590},[4576,47736,4587],{"class":4586},[4576,47738,47739],{"class":4590},"borderWidth:",[4576,47741,4989],{"class":4935},[4576,47743,3806],{"class":4586},[4576,47745,8167],{"class":4590},[4576,47747,5033],{"class":4935},[4576,47749,3806],{"class":4586},[4576,47751,47752],{"class":4590},"overflow:",[4576,47754,11566],{"class":4600},[4576,47756,3806],{"class":4586},[4576,47758,21495],{"class":4590},[4576,47760,5001],{"class":4935},[4576,47762,4939],{"class":4586},[4576,47764,47765,47767,47769,47771,47773,47775,47777,47780,47782,47784,47787],{"class":4578,"line":19514},[4576,47766,39507],{"class":4590},[4576,47768,4587],{"class":4586},[4576,47770,24548],{"class":4590},[4576,47772,37904],{"class":4600},[4576,47774,3806],{"class":4586},[4576,47776,25859],{"class":4590},[4576,47778,47779],{"class":4935}," 120",[4576,47781,3806],{"class":4586},[4576,47783,6102],{"class":4590},[4576,47785,47786],{"class":4600}," '#cbd5e1'",[4576,47788,4939],{"class":4586},[4576,47790,47791,47793,47795,47798,47800,47802,47804,47806],{"class":4578,"line":19541},[4576,47792,26415],{"class":4590},[4576,47794,4587],{"class":4586},[4576,47796,47797],{"class":4590},"borderTopWidth:",[4576,47799,4989],{"class":4935},[4576,47801,3806],{"class":4586},[4576,47803,6123],{"class":4590},[4576,47805,5033],{"class":4935},[4576,47807,4939],{"class":4586},[4576,47809,47810,47813,47815,47817,47819,47821,47823,47825,47827,47829,47831],{"class":4578,"line":19546},[4576,47811,47812],{"class":4590},"  cta:",[4576,47814,4587],{"class":4586},[4576,47816,8160],{"class":4590},[4576,47818,5012],{"class":4935},[4576,47820,3806],{"class":4586},[4576,47822,8167],{"class":4590},[4576,47824,5001],{"class":4935},[4576,47826,3806],{"class":4586},[4576,47828,8174],{"class":4590},[4576,47830,7430],{"class":4600},[4576,47832,4939],{"class":4586},[4576,47834,47835,47837,47839,47841,47843,47845,47847,47849,47851,47853,47855,47857,47859,47861,47863,47865,47867],{"class":4578,"line":19553},[4576,47836,4977],{"class":4590},[4576,47838,4587],{"class":4586},[4576,47840,47739],{"class":4590},[4576,47842,4989],{"class":4935},[4576,47844,3806],{"class":4586},[4576,47846,8167],{"class":4590},[4576,47848,5001],{"class":4935},[4576,47850,3806],{"class":4586},[4576,47852,36488],{"class":4590},[4576,47854,5012],{"class":4935},[4576,47856,3806],{"class":4586},[4576,47858,8160],{"class":4590},[4576,47860,5001],{"class":4935},[4576,47862,3806],{"class":4586},[4576,47864,4950],{"class":4590},[4576,47866,5033],{"class":4935},[4576,47868,4939],{"class":4586},[4576,47870,47871,47873,47875,47877,47879,47881,47883,47885,47887,47889,47891],{"class":4578,"line":19566},[4576,47872,9422],{"class":4590},[4576,47874,4587],{"class":4586},[4576,47876,9894],{"class":4590},[4576,47878,8657],{"class":4600},[4576,47880,3806],{"class":4586},[4576,47882,8174],{"class":4590},[4576,47884,7430],{"class":4600},[4576,47886,3806],{"class":4586},[4576,47888,4932],{"class":4590},[4576,47890,5001],{"class":4935},[4576,47892,4939],{"class":4586},[4576,47894,47895],{"class":4578,"line":19576},[4576,47896,5058],{"class":4586},[3881,47898],{},[3734,47900,47902],{"id":47901},"практичні-завдання","Практичні завдання",[3792,47904,47906],{"id":47905},"базовий-рівень","Базовий рівень",[3751,47908,47909,47915,47925],{},[3754,47910,47911,47912,47914],{},"Своїми словами пояснити, коли ",[3803,47913,3809],{},", а коли Checkbox.",[3754,47916,47917,47918,3850,47920,3850,47922,47924],{},"Зібрати ",[3803,47919,3805],{},[3803,47921,3809],{},[3803,47923,3947],{}," без RHF.",[3754,47926,47927,47928,47930,47931,47934],{},"Пояснити, навіщо ",[3803,47929,4282],{}," + колбек зміни на ",[3746,47932,47933],{},"будь-якому"," контролі.",[3792,47936,47938],{"id":47937},"середній-рівень","Середній рівень",[3751,47940,47941,47944,47950],{},[3754,47942,47943],{},"Міні-проєкт «Реєстрація на подію» з RHF + Zod і щонайменше чотирма типами контролів.",[3754,47945,47946,47947,47949],{},"У Nomad додати Picker.Item «Закордон» у ",[3803,47948,11366],{}," і прогнати схему.",[3754,47951,47952,47953,3857],{},"Ланцюжок focus між двома TextInput через ",[3803,47954,5339],{},[3792,47956,47958],{"id":47957},"професійний-рівень","Професійний рівень",[3751,47960,47961,47969,47976],{},[3754,47962,47963,47964,22329,47966,47968],{},"Порівняти ",[3803,47965,5346],{},[3803,47967,16460],{}," на формі з 6+ полями — короткий висновок.",[3754,47970,47971,47972,47975],{},"Unit-тести на ",[3803,47973,47974],{},"createTripSchema.safeParse"," (без UI).",[3754,47977,47978,47979,47981],{},"Нотатка: Checkbox і New Architecture — що каже warning Expo і який план Б (",[3803,47980,3947],{}," + іконка).",[3881,47983],{},[3734,47985,47987],{"id":47986},"часті-запитання","Часті запитання",[47989,47990,47991,48003,48007,48015,48022,48026,48033],"accordion",{},[47992,47993,47996,47997,8233,47999,48002],"accordion-item",{"icon":47994,"label":47995},"i-lucide-circle-help","Чому не register() як у web RHF?","У React Native немає тієї ж DOM-моделі. Стабільний шлях — ",[3803,47998,4265],{},[3803,48000,48001],{},"useController",") і ручна прив’язка props до контролу.",[47992,48004,48006],{"icon":47994,"label":48005},"Switch і Checkbox — це не одне й те саме?","Обидва — boolean, але різний UX. Switch — перемикач налаштування; Checkbox — позначка \u002F згода \u002F пункт списку.",[47992,48008,48010,48012,48013,3857],{"icon":47994,"label":48009},"Кнопка не реагує з першого тапу",[3803,48011,3856],{}," на ",[3803,48014,3853],{},[47992,48016,48018,48019,48021],{"icon":47994,"label":48017},"Picker порожній \u002F дивний на iOS","Wheel займає висоту. Задайте контейнеру minHeight, перевірте кольори ",[3803,48020,11390],{}," у dark theme.",[47992,48023,48025],{"icon":47994,"label":48024},"Checkbox і New Architecture","Community checkbox може попереджати про NA. Для критичного production — слідкуйте за оновленнями або зробіть свій control.",[47992,48027,48029,48030,48032],{"icon":47994,"label":48028},"Куди діваються створені поїздки після reload?","Лише React state (",[3803,48031,22243],{},"). Персист — у модулі MMKV\u002FSQLite.",[47992,48034,48036,48037,48039],{"icon":47994,"label":48035},"Чи обов’язковий RHF для двох полів?","Ні. Для крихітних форм вистачить ",[3803,48038,4591],{},". RHF виправдовує себе на середніх\u002Fвеликих формах і спільному стилі з web.",[3881,48041],{},[3734,48043,48045],{"id":48044},"що-далі","Що далі",[3739,48047,48048,48049,48052,48053,48060,48061,48064,48065,22329,48068,48070,48071,48074],{},"Тепер у вас є ",[3746,48050,48051],{},"словник контролів"," і спосіб зв’язати їх правилами. Далі — ",[48054,48055,48057],"a",{"href":48056},"\u002Freact-native\u002Fexpo-router-basics",[3746,48058,48059],{},"основи Expo Router",": тека ",[3803,48062,48063],{},"app\u002F",", layout, Tabs і Stack, ",[3803,48066,48067],{},"Link",[3803,48069,23578],{},". Екран ",[3803,48072,48073],{},"create-trip"," уже натякає на стопку екранів; наступна стаття робить навігацію свідомою моделлю всього застосунку (вкладки «Поїздки \u002F Місця \u002F Ще»).",[3739,48076,48077,15402,48082,15402,48086,15402,48090,15402,48094,15402,48098,15402,48102,15402,48106,15402,48111,15402,48115,15402,48119],{},[48054,48078,3805],{"href":48079,"rel":48080},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Ftextinput",[48081],"nofollow",[48054,48083,3947],{"href":48084,"rel":48085},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fpressable",[48081],[48054,48087,6932],{"href":48088,"rel":48089},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fbutton",[48081],[48054,48091,3809],{"href":48092,"rel":48093},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fswitch",[48081],[48054,48095,3815],{"href":48096,"rel":48097},"https:\u002F\u002Fgithub.com\u002Fcallstack\u002Freact-native-slider",[48081],[48054,48099,3818],{"href":48100,"rel":48101},"https:\u002F\u002Fgithub.com\u002Freact-native-picker\u002Fpicker",[48081],[48054,48103,3812],{"href":48104,"rel":48105},"https:\u002F\u002Fgithub.com\u002Freact-native-checkbox\u002Freact-native-checkbox",[48081],[48054,48107,48110],{"href":48108,"rel":48109},"https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Flatest\u002Fsdk\u002Fdate-time-picker\u002F",[48081],"DateTimePicker (Expo)",[48054,48112,3863],{"href":48113,"rel":48114},"https:\u002F\u002Freact-hook-form.com\u002F",[48081],[48054,48116,3867],{"href":48117,"rel":48118},"https:\u002F\u002Fzod.dev\u002F",[48081],[48054,48120,48123],{"href":48121,"rel":48122},"https:\u002F\u002Fgithub.com\u002Farakviel\u002Fnomad",[48081],"Nomad",[43655,48125,48126],{},"html pre.shiki code .s8xlr, html code.shiki .s8xlr{--shiki-light:#AF00DB;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sHH4Y, html code.shiki .sHH4Y{--shiki-light:#000000;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .siwwj, html code.shiki .siwwj{--shiki-light:#001080;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sbdoH, html code.shiki .sbdoH{--shiki-light:#A31515;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .su1O8, html code.shiki .su1O8{--shiki-light:#0000FF;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s8Opu, html code.shiki .s8Opu{--shiki-light:#795E26;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .s-QsJ, html code.shiki .s-QsJ{--shiki-light:#0070C1;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s0P7L, html code.shiki .s0P7L{--shiki-light:#800000;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .sN1BT, html code.shiki .sN1BT{--shiki-light:#267F99;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sa4r_, html code.shiki .sa4r_{--shiki-light:#E50000;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sD7JJ, html code.shiki .sD7JJ{--shiki-light:#000000FF;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sJj4R, html code.shiki .sJj4R{--shiki-light:#098658;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spJ8K, html code.shiki .spJ8K{--shiki-light:#008000;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sKtos, html code.shiki .sKtos{--shiki-light:#800000;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sLwNe, html code.shiki .sLwNe{--shiki-light:#0451A5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}",{"title":3899,"searchDepth":4607,"depth":4607,"links":48128},[48129,48132,48135,48143,48147,48155,48164,48172,48181,48189,48198,48204,48208,48211,48223,48224,48242,48251,48256,48257],{"id":3736,"depth":4607,"text":3737,"children":48130},[48131],{"id":3794,"depth":4640,"text":3795},{"id":3885,"depth":4607,"text":3886,"children":48133},[48134],{"id":3902,"depth":4640,"text":3903},{"id":4043,"depth":4607,"text":4044,"children":48136},[48137,48138,48140,48141],{"id":4056,"depth":4640,"text":4057},{"id":4145,"depth":4640,"text":48139},"2. Відсутність контейнера \u003Cform> та механізму Submit",{"id":4186,"depth":4640,"text":4187},{"id":4257,"depth":4640,"text":48142},"4. Прив'язка полів у React Hook Form: register проти Controller",{"id":4292,"depth":4607,"text":4293,"children":48144},[48145,48146],{"id":4312,"depth":4640,"text":4313},{"id":4484,"depth":4640,"text":4485},{"id":4510,"depth":4607,"text":48148,"children":48149},"TextInput: поглиблений аналіз нативного текстового поля",[48150,48151,48153,48154],{"id":4566,"depth":4640,"text":4567},{"id":5096,"depth":4640,"text":48152},"Повний огляд параметрів (Props) TextInput",{"id":5360,"depth":4640,"text":5361},{"id":5751,"depth":4640,"text":5752},{"id":6927,"depth":4607,"text":48156,"children":48157},"Pressable та Button: механіка ініціації дій та стани взаємодії",[48158,48160,48162],{"id":6950,"depth":4640,"text":48159},"Архітектура Pressable: скінченний автомат обробки дотиків",{"id":6974,"depth":4640,"text":48161},"Ключові можливості та ергономіка Pressable:",{"id":7530,"depth":4640,"text":48163},"Системний Button проти кастомного Pressable",{"id":8207,"depth":4607,"text":48165,"children":48166},"Switch: бінарні стани та платформні перемикачі",[48167,48168,48169,48171],{"id":8240,"depth":4640,"text":8241},{"id":8308,"depth":4640,"text":8309},{"id":8763,"depth":4640,"text":48170},"Повний огляд параметрів (Props) Switch",{"id":8823,"depth":4640,"text":8824},{"id":9487,"depth":4607,"text":48173,"children":48174},"Checkbox: прапорці підтвердження та юридична валідація",[48175,48176,48177,48179],{"id":9514,"depth":4640,"text":9515},{"id":9612,"depth":4640,"text":8309},{"id":9956,"depth":4640,"text":48178},"Повний огляд параметрів (Props) Checkbox",{"id":10012,"depth":4640,"text":48180},"Валідація обов'язкової згоди у Zod: z.boolean() проти z.literal(true)",{"id":10175,"depth":4607,"text":48182,"children":48183},"Slider: маніпуляція числовими діапазонами",[48184,48185,48186,48187],{"id":10199,"depth":4640,"text":9515},{"id":10279,"depth":4640,"text":10280},{"id":10297,"depth":4640,"text":8309},{"id":10788,"depth":4640,"text":48188},"Повний огляд параметрів (Props) Slider",{"id":10868,"depth":4607,"text":48190,"children":48191},"Picker: вибір із фіксованого списку варіантів",[48192,48193,48195,48196,48197],{"id":10895,"depth":4640,"text":9515},{"id":10975,"depth":4640,"text":48194},"Селекційна дилема: Picker проти вільного TextInput",{"id":11014,"depth":4640,"text":8309},{"id":11579,"depth":4640,"text":11580},{"id":11624,"depth":4640,"text":11625},{"id":11796,"depth":4607,"text":48199,"children":48200},"DateTimePicker: темпоральний ввід та системні календарі",[48201,48202,48203],{"id":11826,"depth":4640,"text":9515},{"id":11906,"depth":4640,"text":11907},{"id":12072,"depth":4640,"text":12073},{"id":12099,"depth":4607,"text":12100,"children":48205},[48206,48207],{"id":12115,"depth":4640,"text":12116},{"id":12145,"depth":4640,"text":12146},{"id":12263,"depth":4607,"text":12264,"children":48209},[48210],{"id":12276,"depth":4640,"text":12277},{"id":12324,"depth":4607,"text":12325,"children":48212},[48213,48214,48215,48217,48219,48220,48222],{"id":12383,"depth":4640,"text":12384},{"id":12511,"depth":4640,"text":12512},{"id":12875,"depth":4640,"text":48216},"Чому register не працює в React Native і що таке Controller?",{"id":13336,"depth":4640,"text":48218},"Універсальне підключення будь-яких контролів через Controller",{"id":13974,"depth":4640,"text":13975},{"id":14516,"depth":4640,"text":48221},"Повний огляд параметрів конфігурації useForm",{"id":14632,"depth":4640,"text":14633},{"id":16799,"depth":4607,"text":16800},{"id":16989,"depth":4607,"text":16990,"children":48225},[48226,48227,48228,48229,48230,48231,48232,48233,48235,48236,48237,48238,48239,48240,48241],{"id":16993,"depth":4640,"text":16994},{"id":17029,"depth":4640,"text":17030},{"id":17136,"depth":4640,"text":17137},{"id":17146,"depth":4640,"text":17147},{"id":17153,"depth":4640,"text":17154},{"id":17186,"depth":4640,"text":17187},{"id":17250,"depth":4640,"text":17251},{"id":17271,"depth":4640,"text":48234},"Крок 2. Повний код App.tsx",{"id":21968,"depth":4640,"text":21969},{"id":21974,"depth":4640,"text":21975},{"id":21992,"depth":4640,"text":14110},{"id":22009,"depth":4640,"text":4265},{"id":22025,"depth":4640,"text":22026},{"id":22039,"depth":4640,"text":22040},{"id":22063,"depth":4640,"text":22064},{"id":22130,"depth":4607,"text":22131,"children":48243},[48244,48245,48246,48247,48248,48249,48250],{"id":22141,"depth":4640,"text":22142},{"id":22165,"depth":4640,"text":22166},{"id":22345,"depth":4640,"text":22346},{"id":22391,"depth":4640,"text":22392},{"id":44809,"depth":4640,"text":44810},{"id":44833,"depth":4640,"text":44834},{"id":44917,"depth":4640,"text":44918},{"id":47901,"depth":4607,"text":47902,"children":48252},[48253,48254,48255],{"id":47905,"depth":4640,"text":47906},{"id":47937,"depth":4640,"text":47938},{"id":47957,"depth":4640,"text":47958},{"id":47986,"depth":4607,"text":47987},{"id":48044,"depth":4607,"text":48045},"Усі основні контроли форми в React Native — TextInput, Pressable, Button, Switch, Checkbox, Slider, Picker, date picker; клавіатура; React Hook Form і Zod; реєстрація на подію та створення поїздки в Nomad",null,{},{"title":3428,"description":48258},"BaDg4S6pENNE7RutC3gHthVOlkrj4cD45G23mf9vWwA",[48264,48266],{"title":3424,"path":3425,"stem":3426,"description":48265,"children":-1},"FlatList, SectionList, FlashList, pull-to-refresh, порожній і помилковий стан, пагінація UI — каталог книг і стрічки поїздок\u002Fмісць у Nomad",{"title":3432,"path":3433,"stem":3434,"description":48267,"children":-1},"Архітектура File-based routing у Expo — сегрегація app\u002F та src\u002F, життєвий цикл макетів _layout, навігатори Stack і Tabs, декларативна та імперативна маршрутизація через Link та useRouter, механіка повернення назад, Typed Routes, міні-проєкт «Довідник міст» та навігаційна оболонка Nomad",1788069960762]