[{"data":1,"prerenderedAt":46577},["ShallowReactive",2],{"navigation_docs":3,"-react-native-forms-input-validation":3497,"-react-native-forms-input-validation-surround":46572},[4,1707,1912,2366,2547,2673,2880,3002,3052,3109,3143,3269,3346,3360,3423,3440,3493],{"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},"React Native","\u002Freact-native","15.react-native",[3365,3367,3371,3375,3379,3383,3387,3391,3395,3399,3403,3407,3411,3415,3419],{"title":3361,"path":3362,"stem":3366},"15.react-native\u002Findex",{"title":3368,"path":3369,"stem":3370},"React Native — навіщо він потрібен","\u002Freact-native\u002Fwhy-react-native","15.react-native\u002F01.why-react-native",{"title":3372,"path":3373,"stem":3374},"Як влаштований React Native «під капотом»","\u002Freact-native\u002Freact-native-architecture","15.react-native\u002F02.react-native-architecture",{"title":3376,"path":3377,"stem":3378},"Expo і класичний React Native — два шляхи одного фреймворку","\u002Freact-native\u002Fexpo-vs-cli-landscape","15.react-native\u002F03.expo-vs-cli-landscape",{"title":3380,"path":3381,"stem":3382},"Середовище Expo — перший запуск","\u002Freact-native\u002Fexpo-setup-and-tooling","15.react-native\u002F04.expo-setup-and-tooling",{"title":3384,"path":3385,"stem":3386},"Структура проєкту та перші UI-примітиви","\u002Freact-native\u002Fproject-structure-and-conventions","15.react-native\u002F05.project-structure-and-conventions",{"title":3388,"path":3389,"stem":3390},"Базові компоненти React Native","\u002Freact-native\u002Fcore-components","15.react-native\u002F06.core-components",{"title":3392,"path":3393,"stem":3394},"Flexbox і layout у React Native","\u002Freact-native\u002Fflexbox-and-layout","15.react-native\u002F07.flexbox-and-layout",{"title":3396,"path":3397,"stem":3398},"StyleSheet і теми (light \u002F dark)","\u002Freact-native\u002Fstylesheet-and-theming","15.react-native\u002F08.stylesheet-and-theming",{"title":3400,"path":3401,"stem":3402},"Списки та віртуалізація","\u002Freact-native\u002Flists-and-virtualization","15.react-native\u002F09.lists-and-virtualization",{"title":3404,"path":3405,"stem":3406},"Форми, ввід і валідація","\u002Freact-native\u002Fforms-input-validation","15.react-native\u002F10.forms-input-validation",{"title":3408,"path":3409,"stem":3410},"Основи Expo Router","\u002Freact-native\u002Fexpo-router-basics","15.react-native\u002F11.expo-router-basics",{"title":3412,"path":3413,"stem":3414},"Вкладені навігатори та модалки","\u002Freact-native\u002Fnested-navigators-and-modals","15.react-native\u002F12.nested-navigators-and-modals",{"title":3416,"path":3417,"stem":3418},"Deep linking і параметри маршрутів","\u002Freact-native\u002Fdeep-linking-and-params","15.react-native\u002F13.deep-linking-and-params",{"title":3420,"path":3421,"stem":3422},"Робота з мережею та життєвий цикл застосунку","\u002Freact-native\u002Fnetworking-and-app-lifecycle","15.react-native\u002F14.networking-and-app-lifecycle",{"title":3424,"path":3425,"stem":3426,"children":3427,"page":59},"Ai Python","\u002Fai-python","16.ai-python",[3428,3432,3436],{"title":3429,"path":3430,"stem":3431},"Вступ до штучного інтелекту та машинного навчання","\u002Fai-python\u002Fintro-to-ai","16.ai-python\u002F01.intro-to-ai",{"title":3433,"path":3434,"stem":3435},"Знайомство з Jupyter Notebook та JupyterLab","\u002Fai-python\u002Fjupyter-notebook","16.ai-python\u002F02.jupyter-notebook",{"title":3437,"path":3438,"stem":3439},"Робота з даними з використанням NumPy і pandas","\u002Fai-python\u002Fnumpy-pandas","16.ai-python\u002F03.numpy-pandas",{"title":3441,"path":3442,"stem":3443,"children":3444,"page":59},"Tailwind","\u002Ftailwind","21.tailwind",[3445,3449,3453,3457,3461,3465,3469,3473,3477,3481,3485,3489],{"title":3446,"path":3447,"stem":3448},"Що таке Tailwind CSS і навіщо він потрібен","\u002Ftailwind\u002Ftailwind-intro-philosophy","21.tailwind\u002F01.tailwind-intro-philosophy",{"title":3450,"path":3451,"stem":3452},"Встановлення та налаштування Tailwind CSS v4","\u002Ftailwind\u002Ftailwind-installation-setup","21.tailwind\u002F02.tailwind-installation-setup",{"title":3454,"path":3455,"stem":3456},"Utility-класи: основи та система Tailwind","\u002Ftailwind\u002Ftailwind-utility-classes-core","21.tailwind\u002F03.tailwind-utility-classes-core",{"title":3458,"path":3459,"stem":3460},"Layout: Flexbox та Grid через Tailwind","\u002Ftailwind\u002Ftailwind-flexbox-grid","21.tailwind\u002F04.tailwind-flexbox-grid",{"title":3462,"path":3463,"stem":3464},"Кастомізація теми через @theme у Tailwind v4","\u002Ftailwind\u002Ftailwind-theme-customization","21.tailwind\u002F05.tailwind-theme-customization",{"title":3466,"path":3467,"stem":3468},"Варіанти: hover, focus, responsive, dark mode та нові v4","\u002Ftailwind\u002Ftailwind-variants-states","21.tailwind\u002F06.tailwind-variants-states",{"title":3470,"path":3471,"stem":3472},"Типографіка та система кольорів у Tailwind v4","\u002Ftailwind\u002Ftailwind-typography-colors","21.tailwind\u002F07.tailwind-typography-colors",{"title":3474,"path":3475,"stem":3476},"Компоненти та повторюваність: @apply, @utility та патерни","\u002Ftailwind\u002Ftailwind-components-patterns","21.tailwind\u002F08.tailwind-components-patterns",{"title":3478,"path":3479,"stem":3480},"Темна тема та система дизайн-токенів у Tailwind v4","\u002Ftailwind\u002Ftailwind-dark-mode-theming","21.tailwind\u002F09.tailwind-dark-mode-theming",{"title":3482,"path":3483,"stem":3484},"Довільні значення та контейнерні запити у Tailwind v4","\u002Ftailwind\u002Ftailwind-arbitrary-container-queries","21.tailwind\u002F10.tailwind-arbitrary-container-queries",{"title":3486,"path":3487,"stem":3488},"Анімації, трансформації та 3D у Tailwind v4","\u002Ftailwind\u002Ftailwind-animations-transforms","21.tailwind\u002F11.tailwind-animations-transforms",{"title":3490,"path":3491,"stem":3492},"Tailwind CLI, PostCSS та інтеграція з фреймворками","\u002Ftailwind\u002Ftailwind-cli-tooling","21.tailwind\u002F12.tailwind-cli-tooling",{"title":3494,"path":3495,"stem":3496},"Тестування компонентів діаграм","\u002Ftest-components","98.test-components",{"id":3498,"title":3404,"body":3499,"description":46567,"extension":22597,"links":46568,"meta":46569,"navigation":4610,"path":3405,"seo":46570,"stem":3406,"__hash__":46571},"docs\u002F15.react-native\u002F10.forms-input-validation.md",{"type":3500,"value":3501,"toc":46433},"minimark",[3502,3506,3511,3528,3544,3571,3605,3612,3615,3714,3740,3795,3805,3808,3812,3825,3832,3921,3927,3936,3980,3982,3986,3996,4001,4017,4049,4053,4066,4069,4120,4135,4139,4150,4161,4192,4206,4226,4233,4237,4251,4254,4327,4337,4340,4375,4379,4392,4398,4448,4482,4497,4518,4520,4524,4530,4555,4571,4578,4726,4728,4732,4738,4756,4861,4868,4887,4893,4895,4901,4908,4921,4927,4931,4944,4955,4961,4965,5191,5194,5219,5223,5241,5253,5257,5691,5695,6914,6916,6924,6935,6941,6960,6965,6971,7023,7218,7221,7256,7282,7290,7319,7322,7342,7345,7349,7358,7370,7379,7959,7961,7967,7978,7982,7998,8008,8012,8223,8227,8334,8338,9001,9003,9009,9018,9034,9048,9052,9073,9113,9116,9334,9338,9461,9465,9474,9518,9521,9552,9561,9564,9585,9587,9595,9607,9621,9625,9632,9646,9650,9667,9682,9686,9702,9705,9937,9940,10078,10098,10108,10110,10118,10127,10143,10150,10154,10164,10175,10181,10192,10195,10211,10214,10533,10536,10657,10718,10735,10750,10752,10756,10769,10785,10789,10792,10838,10846,10850,10962,10966,10972,11016,11022,11024,11028,11032,11052,11056,11262,11266,11274,11277,11306,11317,11319,11323,11336,11340,11346,11353,11368,11378,11417,11428,11435,11439,11452,11457,11484,11491,11493,11497,11511,11515,11518,11684,11687,11709,11713,11721,11758,11778,11782,11791,11851,11872,11881,11887,11909,11932,11939,11946,12071,12077,12100,12141,12155,12174,12181,12672,12682,12733,12744,12750,12972,12976,15139,15141,15145,15151,15157,15164,15171,15178,15185,15191,15194,15201,15204,15211,15221,15225,15228,15232,15239,15241,15245,15249,15264,15267,15280,15284,15373,15386,15390,15396,15400,15525,15532,15541,20268,20272,20340,20344,20364,20368,20416,20427,20429,20433,20440,20444,20458,20463,20467,20472,20500,20505,20596,20613,20634,20637,20679,20683,43118,43122,43142,43146,43221,43227,43231,43237,46207,46209,46213,46217,46244,46248,46265,46269,46293,46295,46299,46351,46353,46357,46384,46430],[3503,3504,3404],"h1",{"id":3505},"форми-ввід-і-валідація",[3507,3508,3510],"h2",{"id":3509},"з-чого-почати","З чого почати",[3512,3513,3514,3515,3519,3520,3523,3524,3527],"p",{},"У попередній статті ми навчилися ",[3516,3517,3518],"strong",{},"показувати"," довгі списки: поїздки гортаються, місця лежать у горизонтальній стрічці, pull-to-refresh імітує оновлення. Але щоденник подорожей, у якому не можна ",[3516,3521,3522],{},"додати"," нову поїздку, — це музей чужих карток. Користувач натискає «Нова поїздка» і очікує ",[3516,3525,3526],{},"форму",": назву, регіон, дати, опис, можливо кілька перемикачів і згоду «я розумію, куди дінуться дані».",[3512,3529,3530,3531,3534,3535,3538,3539,3543],{},"Якщо поля лишити порожніми і натиснути «Створити», застосунок не повинен мовчки нічого не зробити і не повинен «падати». Він має ",[3516,3532,3533],{},"пояснити",", що не так — людською мовою, ",[3516,3536,3537],{},"поруч із полем",", а не одним загальним ",[3540,3541,3542],"code",{},"Alert"," на весь екран.",[3512,3545,3546,3547,3550,3551,3554,3555,3558,3559,3562,3563,3566,3567,3570],{},"У вебі ви вже, ймовірно, збирали форми на React: ",[3540,3548,3549],{},"\u003Cinput>",", ",[3540,3552,3553],{},"onChange",", інколи ",[3516,3556,3557],{},"React Hook Form"," і ",[3516,3560,3561],{},"Zod",". На телефоні ",[3516,3564,3565],{},"ідеї"," ті самі (стан, правила, submit), але ",[3516,3568,3569],{},"середовище"," інше.",[3572,3573,3574,3582,3594],"ol",{},[3575,3576,3577,3578,3581],"li",{},"Замість HTML-елементів — ",[3516,3579,3580],{},"нативні контроли"," операційної системи (або бібліотеки, які їх обгортають).",[3575,3583,3584,3585,3588,3589,3593],{},"Замість вільної висоти вікна браузера — ",[3516,3586,3587],{},"програмна клавіатура"," (",[3590,3591,3592],"em",{},"soft keyboard","), яка може закрити половину екрана.",[3575,3595,3596,3597,3600,3601,3604],{},"Замість одного «універсального» ",[3540,3598,3599],{},"\u003Cinput type=\"…\">"," — ",[3516,3602,3603],{},"різні компоненти"," під різні типи відповідей: текст, так\u002Fні, список, число з діапазону, дата.",[3512,3606,3607,3608,3611],{},"Мета цієї статті — не «швидко показати TextInput», а ",[3516,3609,3610],{},"зібрати словник контролів форми"," і навчитися зв’язувати їх із валідацією. Складні теми навігації (глибокий Expo Router) і мережі (справжній API) з’являться пізніше; тут ми свідомо тримаємося форм і стану на клієнті.",[3512,3613,3614],{},"Після статті ви зможете:",[3572,3616,3617,3628,3647,3661,3681,3694,3708],{},[3575,3618,3619,3620,3623,3624,3627],{},"Пояснити, ",[3516,3621,3622],{},"які"," контроли існують і ",[3516,3625,3626],{},"коли"," який обирати.",[3575,3629,3630,3631,3634,3635,3638,3639,3642,3643,3646],{},"Зібрати ",[3516,3632,3633],{},"контрольований"," ",[3540,3636,3637],{},"TextInput"," і зрозуміти ",[3540,3640,3641],{},"value"," + ",[3540,3644,3645],{},"onChangeText",".",[3575,3648,3649,3650,3655,3656,3646],{},"Зробити дію форми через ",[3516,3651,3652],{},[3540,3653,3654],{},"Pressable"," і зрозуміти, чим він відрізняється від системного ",[3516,3657,3658],{},[3540,3659,3660],{},"Button",[3575,3662,3663,3664,3550,3669,3550,3672,3550,3675,3550,3678,3646],{},"Підключити ",[3516,3665,3666],{},[3540,3667,3668],{},"Switch",[3516,3670,3671],{},"Checkbox",[3516,3673,3674],{},"Slider",[3516,3676,3677],{},"Picker",[3516,3679,3680],{},"date picker",[3575,3682,3683,3684,3550,3687,3550,3690,3693],{},"Не «вбити» UX клавіатурою (",[3540,3685,3686],{},"KeyboardAvoidingView",[3540,3688,3689],{},"ScrollView",[3540,3691,3692],{},"keyboardShouldPersistTaps",").",[3575,3695,3696,3697,3588,3699,3702,3703,3588,3705,3693],{},"Зв’язати все через ",[3516,3698,3557],{},[3540,3700,3701],{},"Controller",") і ",[3516,3704,3561],{},[3540,3706,3707],{},"zodResolver",[3575,3709,3710,3711,3646],{},"Зібрати міні-проєкт «Реєстрація на подію» і форму створення поїздки в ",[3516,3712,3713],{},"Nomad",[3715,3716,3717,3720,3721,3723,3724,3727,3728,3731,3732,3735,3736,3739],"note",{},[3516,3718,3719],{},"Головна думка."," Форма на телефоні — це не один ",[3540,3722,3637],{},". Це набір ",[3516,3725,3726],{},"типів відповіді"," (текст, прапорець, список, діапазон, дата) плюс ",[3516,3729,3730],{},"стан і правила"," (чи можна відправити) плюс ",[3516,3733,3734],{},"layout навколо клавіатури",". Клієнтська валідація допомагає людині; вона ",[3516,3737,3738],{},"не"," замінює перевірку на сервері, коли з’явиться API.",[3741,3742,3743,3767,3773,3788],"tip",{},[3512,3744,3745,3748,3749,3752,3753,3756,3757,3588,3760,3550,3762,3550,3764,3766],{},[3516,3746,3747],{},"Живі прев’ю на цій сторінці."," У курсі є блок «телефон у браузері» (",[3540,3750,3751],{},"::react-native-preview","). Він крутить ",[3516,3754,3755],{},"react-native-web",": знайомі компоненти з ",[3540,3758,3759],{},"react-native",[3540,3761,3637],{},[3540,3763,3668],{},[3540,3765,3654],{},") там видно одразу.",[3512,3768,3769,3770,3772],{},"Чого ",[3516,3771,3738],{}," буде в цьому iframe так само, як на телефоні:",[3774,3775,3776,3779,3782,3785],"ul",{},[3575,3777,3778],{},"«справжньої» програмної клавіатури iPhone\u002FAndroid;",[3575,3780,3781],{},"системного календаря дати;",[3575,3783,3784],{},"пакетів на кшталт Picker \u002F Checkbox \u002F Slider;",[3575,3786,3787],{},"бібліотек React Hook Form і Zod (їх немає в бандлі прев’ю).",[3512,3789,3790,3791,3794],{},"Тому: ідею UX дивіться в демо на сторінці, а повну поведінку — у ",[3516,3792,3793],{},"Expo Go"," або симуляторі на коді міні-проєкту й Nomad.",[3512,3796,3797,3798,3646],{},"Код наскрізного застосунку: ",[3799,3800,3804],"a",{"href":3801,"rel":3802},"https:\u002F\u002Fgithub.com\u002Farakviel\u002Fnomad",[3803],"nofollow","github.com\u002Farakviel\u002Fnomad",[3806,3807],"hr",{},[3507,3809,3811],{"id":3810},"що-таке-форма-на-телефоні-простими-словами","Що таке форма на телефоні (простими словами)",[3512,3813,3814,3588,3817,3820,3821,3824],{},[3516,3815,3816],{},"Форма",[3590,3818,3819],{},"form",") — це екран (або частина екрана), де застосунок ",[3516,3822,3823],{},"запитує дані"," в людини, щоб потім щось із ними зробити: створити запис, увійти в акаунт, змінити налаштування, відфільтрувати список.",[3512,3826,3827,3828,3831],{},"На вебі форма часто виглядає як прямокутники для тексту + кнопка «Надіслати». На телефоні картинка ширша. Людині зручніше ",[3516,3829,3830],{},"не друкувати",", якщо можна обрати:",[3833,3834,3835,3848],"table",{},[3836,3837,3838],"thead",{},[3839,3840,3841,3845],"tr",{},[3842,3843,3844],"th",{},"Питання до користувача",[3842,3846,3847],{},"Зручний контроль",[3849,3850,3851,3862,3872,3880,3890,3898,3908],"tbody",{},[3839,3852,3853,3857],{},[3854,3855,3856],"td",{},"«Як назвати поїздку?»",[3854,3858,3859,3860],{},"вільний текст → ",[3540,3861,3637],{},[3839,3863,3864,3867],{},[3854,3865,3866],{},"«Який регіон із наших?»",[3854,3868,3869,3870],{},"фіксований список → ",[3540,3871,3677],{},[3839,3873,3874,3877],{},[3854,3875,3876],{},"«Коли початок?»",[3854,3878,3879],{},"дата → date picker",[3839,3881,3882,3885],{},[3854,3883,3884],{},"«Поїздка приватна?»",[3854,3886,3887,3888],{},"так\u002Fні одним рухом → ",[3540,3889,3668],{},[3839,3891,3892,3895],{},[3854,3893,3894],{},"«Є план маршруту?»",[3854,3896,3897],{},"галочка → Checkbox",[3839,3899,3900,3903],{},[3854,3901,3902],{},"«Скільки днів орієнтовно?»",[3854,3904,3905,3906],{},"число з діапазону → ",[3540,3907,3674],{},[3839,3909,3910,3913],{},[3854,3911,3912],{},"«Зберегти \u002F скасувати»",[3854,3914,3915,3916,3918,3919],{},"дія → ",[3540,3917,3654],{}," \u002F ",[3540,3920,3660],{},[3512,3922,3923,3924,3926],{},"Якщо на все ставити лише ",[3540,3925,3637],{},", форма стає довгою, повільною для заповнення однією рукою і повною помилок друку («Карпатт» замість «Карпати»).",[3512,3928,3929],{},[3930,3931],"img",{"alt":3932,"className":3933,"src":3935},"Карта основних контролів форми",[3934],"diagram-img","\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F01.svg",[3937,3938,3939,3944,3951,3955,3959,3963,3971,3976],"card-group",{},[3940,3941,3943],"card",{"icon":3942,"title":3637},"i-lucide-text-cursor-input","Вільний текст і багаторядковий опис. Відкриває клавіатуру.",[3940,3945,3947,3948,3646],{"icon":1920,"title":3946},"Pressable \u002F Button","Дія: submit, скасувати, «далі». Не поле даних, а ",[3516,3949,3950],{},"команда",[3940,3952,3954],{"icon":3953,"title":3668},"i-lucide-toggle-right","Один бінарний стан у вигляді перемикача «увімкнено \u002F вимкнено».",[3940,3956,3958],{"icon":3957,"title":3671},"i-lucide-check-square","Галочка: згода, опція «так маю». Часто в списках опцій.",[3940,3960,3962],{"icon":3961,"title":3674},"i-lucide-sliders-horizontal","Число з діапазону без клавіатури (гучність, дні, рейтинг).",[3940,3964,3966,3967,3970],{"icon":3965,"title":3677},"i-lucide-list-chevrons-down-up","Один варіант із ",[3516,3968,3969],{},"фіксованого"," списку (регіон, валюта, статус).",[3940,3972,3975],{"icon":3973,"title":3974},"i-lucide-calendar","Date picker","Системний UI дати\u002Fчасу. Не «рядок 12.03.26» руками.",[3940,3977,3979],{"icon":793,"title":3978},"RHF + Zod","Стан форми, правила, повідомлення про помилки, submit.",[3806,3981],{},[3507,3983,3985],{"id":3984},"місток-з-web-react-не-таблицею-для-своїх","Місток з web React (не таблицею «для своїх»)",[3512,3987,3988,3989,3992,3993,3646],{},"У браузері ви думаєте категоріями HTML. На телефоні HTML ",[3516,3990,3991],{},"немає",". Нижче — не «словник жаргону», а пояснення, ",[3516,3994,3995],{},"що саме змінюється в голові",[3997,3998,4000],"h3",{"id":3999},"поле-тексту","Поле тексту",[3512,4002,4003,4004,4006,4007,4010,4011,4013,4014,3646],{},"У вебі: ",[3540,4005,3549],{}," або ",[3540,4008,4009],{},"\u003Ctextarea>",", подія ",[3540,4012,3553],{},", значення часто з ",[3540,4015,4016],{},"event.target.value",[3512,4018,4019,4020,4024,4025,4029,4030,4033,4034,4037,4038,4041,4042,4045,4046,4048],{},"У React Native: компонент ",[3516,4021,4022],{},[3540,4023,3637],{},". Подія зручніше читається як ",[3516,4026,4027],{},[3540,4028,3645],{},": у колбек одразу приходить ",[3516,4031,4032],{},"рядок",", без розгортання ",[3540,4035,4036],{},"event",". Якщо поле ",[3516,4039,4040],{},"контрольоване",", ви передаєте ",[3540,4043,4044],{},"value={…}"," і в ",[3540,4047,3645],{}," оновлюєте state (або RHF).",[3997,4050,4052],{"id":4051},"тип-поля","Тип поля",[3512,4054,4055,4056,4059,4060,3646],{},"У вебі один prop ",[3540,4057,4058],{},"type=\"email\""," одночасно натякає браузеру: і яку клавіатуру показати на телефоні, і яку базову перевірку зробити, і як малювати поле. У React Native ",[3516,4061,4062,4063],{},"немає одного еквівалента ",[3540,4064,4065],{},"type",[3512,4067,4068],{},"Замість цього ви збираєте поведінку з кількох незалежних props:",[3774,4070,4071,4093,4101,4109],{},[3575,4072,4073,4078,4079,3550,4082,3550,4085,4088,4089,4092],{},[3516,4074,4075],{},[3540,4076,4077],{},"keyboardType"," — яку програмну клавіатуру відкрити (",[3540,4080,4081],{},"email-address",[3540,4083,4084],{},"numeric",[3540,4086,4087],{},"phone-pad",", …). Це впливає на ",[3516,4090,4091],{},"розкладку",", не на те, чи рядок «справді email».",[3575,4094,4095,4100],{},[3516,4096,4097],{},[3540,4098,4099],{},"secureTextEntry"," — чи маскувати символи (пароль). Окремий прапорець, бо «пароль» — це не тип клавіатури, а режим відображення.",[3575,4102,4103,4108],{},[3516,4104,4105],{},[3540,4106,4107],{},"multiline"," — одне поле чи кілька рядків (роль textarea).",[3575,4110,4111,4112,4115,4116,4119],{},"плюс ваші ",[3516,4113,4114],{},"стилі"," (висота, бордер) і ",[3516,4117,4118],{},"валідація"," (Zod).",[3512,4121,4122,4123,4126,4127,4130,4131,4134],{},"Чому так важливо не плутати клавіатуру з валідацією: людина може відкрити ",[3540,4124,4125],{},"keyboardType=\"email-address\""," і все одно ",[3516,4128,4129],{},"вставити з буфера"," рядок без ",[3540,4132,4133],{},"@",". Система не зобов’язана заборонити вставку. Тому зручна клавіатура — для швидкості вводу, а Zod — для відповіді «це ще не схоже на email» під полем.",[3997,4136,4138],{"id":4137},"кнопка","Кнопка",[3512,4140,4141,4142,4145,4146,4149],{},"У вебі кнопка часто живе всередині ",[3540,4143,4144],{},"\u003Cform>",": ",[3540,4147,4148],{},"type=\"submit\""," сам знає, що «натисни Enter \u002F цю кнопку = відправити форму». Браузер збирає поля й ініціює submit.",[3512,4151,4152,4153,4156,4157,4160],{},"У React Native ",[3516,4154,4155],{},"немає HTML-форми"," і немає вбудованого «enter = submit усієї форми» для змішаного екрана. Тому submit — це ",[3516,4158,4159],{},"явний"," обробник:",[3572,4162,4163,4174,4185],{},[3575,4164,4165,4166,4170,4171,4173],{},"Людина тапає ваш ",[3516,4167,4168],{},[3540,4169,3654],{}," (або системний ",[3540,4172,3660],{}," — про нього нижче).",[3575,4175,4176,4177,4180,4181,4184],{},"У ",[3540,4178,4179],{},"onPress"," ви викликаєте ",[3540,4182,4183],{},"handleSubmit(onValid)"," з React Hook Form (або свою перевірку).",[3575,4186,4187,4188,4191],{},"Якщо дані ок — виконуєте збереження \u002F навігацію; якщо ні — показуєте ",[3540,4189,4190],{},"errors"," під полями.",[3512,4193,4194,4195,4198,4199,4202,4203,4205],{},"Клавіша Return на soft keyboard ",[3516,4196,4197],{},"може"," допомогти через ",[3540,4200,4201],{},"onSubmitEditing"," на конкретному ",[3540,4204,3637],{},", але:",[3774,4207,4208,4211,4223],{},[3575,4209,4210],{},"на iOS і Android підписи й поведінка Return відрізняються;",[3575,4212,4213,3550,4215,3550,4217,4219,4220,4222],{},[3540,4214,3668],{},[3540,4216,3674],{},[3540,4218,3677],{},", Checkbox ",[3516,4221,3738],{}," відкривають клавіатуру — Return там просто немає;",[3575,4224,4225],{},"багато людей ніколи не шукають Return і одразу тиснуть велику кнопку внизу.",[3512,4227,4228,4229,4232],{},"Отже, велика кнопка «Створити» \u002F «Надіслати» — ",[3516,4230,4231],{},"обов’язковий"," елемент форми, а не опційний декор.",[3997,4234,4236],{"id":4235},"списки-вибору-галочки-повзунки","Списки вибору, галочки, повзунки",[3512,4238,4003,4239,3550,4242,3550,4245,3550,4248,3646],{},[3540,4240,4241],{},"\u003Cselect>",[3540,4243,4244],{},"\u003Cinput type=\"checkbox\">",[3540,4246,4247],{},"\u003Cinput type=\"range\">",[3540,4249,4250],{},"\u003Cinput type=\"date\">",[3512,4252,4253],{},"У React Native:",[3833,4255,4256,4266],{},[3836,4257,4258],{},[3839,4259,4260,4263],{},[3842,4261,4262],{},"Web",[3842,4264,4265],{},"React Native (типовий шлях у цьому курсі)",[3849,4267,4268,4279,4293,4303,4314],{},[3839,4269,4270,4274],{},[3854,4271,4272],{},[3540,4273,4241],{},[3854,4275,4276],{},[3540,4277,4278],{},"@react-native-picker\u002Fpicker",[3839,4280,4281,4284],{},[3854,4282,4283],{},"checkbox",[3854,4285,4286,4289,4290,4292],{},[3540,4287,4288],{},"@react-native-community\u002Fcheckbox"," (або свій UI на ",[3540,4291,3654],{},")",[3839,4294,4295,4298],{},[3854,4296,4297],{},"range",[3854,4299,4300],{},[3540,4301,4302],{},"@react-native-community\u002Fslider",[3839,4304,4305,4308],{},[3854,4306,4307],{},"date",[3854,4309,4310,4313],{},[3540,4311,4312],{},"@react-native-community\u002Fdatetimepicker"," (Expo)",[3839,4315,4316,4319],{},[3854,4317,4318],{},"toggle «як iOS»",[3854,4320,4321,4322,4324,4325],{},"вбудований ",[3540,4323,3668],{}," з ",[3540,4326,3759],{},[3512,4328,4329,4330,3588,4333,4336],{},"Частина рядків у правій колонці — не «з коробки React Native», а ",[3516,4331,4332],{},"окремі пакети спільноти",[3590,4334,4335],{},"community packages","). Історично деякі контроли жили в core, потім їх винесли в окремі репозиторії (легше оновлювати, різні команди підтримки). Інші ніколи не були універсальними для iOS+Android в одному core-API.",[3512,4338,4339],{},"Практичний висновок для вас:",[3572,4341,4342,4358,4369],{},[3575,4343,4344,4345,4350,4351,4354,4355,3646],{},"Ставите їх командою ",[3516,4346,4347],{},[3540,4348,4349],{},"npx expo install ім’я-пакета"," (не «голим» ",[3540,4352,4353],{},"npm install"," навмання) — Expo підбере версію, сумісну з ",[3516,4356,4357],{},"вашим SDK",[3575,4359,4360,4361,4364,4365,4368],{},"Після install інколи з’являється рядок у ",[3540,4362,4363],{},"plugins"," у ",[3540,4366,4367],{},"app.json"," (як для date picker) — це нормально.",[3575,4370,4371,4372,4374],{},"У прев’ю на сайті курсу цих пакетів ",[3516,4373,3991],{}," — перевірка лише в Expo Go \u002F симуляторі.",[3997,4376,4378],{"id":4377},"react-hook-form-коротко-на-містку-деталі-нижче","React Hook Form (коротко на містку; деталі — нижче)",[3512,4380,4381,4383,4384,4387,4388,4391],{},[3516,4382,3557],{}," — бібліотека, яка тримає ",[3516,4385,4386],{},"стан усієї форми"," (значення полів, помилки, факт submit) і зменшує кількість ручного ",[3540,4389,4390],{},"useState"," на кожне поле.",[3512,4393,4176,4394,4397],{},[3516,4395,4396],{},"веб","-документації RHF часто показують так:",[4399,4400,4405],"pre",{"className":4401,"code":4402,"language":4403,"meta":4404,"style":4404},"language-tsx shiki shiki-themes light-plus dark-plus dark-plus","\u003Cinput {...register('email')} \u002F>\n","tsx","",[3540,4406,4407],{"__ignoreMap":4404},[4408,4409,4412,4416,4420,4424,4428,4432,4436,4440,4442,4445],"span",{"class":4410,"line":4411},"line",1,[4408,4413,4415],{"class":4414},"s0P7L","\u003C",[4408,4417,4419],{"class":4418},"sKtos","input",[4408,4421,4423],{"class":4422},"su1O8"," {",[4408,4425,4427],{"class":4426},"sHH4Y","...",[4408,4429,4431],{"class":4430},"s8Opu","register",[4408,4433,4435],{"class":4434},"sD7JJ","(",[4408,4437,4439],{"class":4438},"sbdoH","'email'",[4408,4441,4292],{"class":4434},[4408,4443,4444],{"class":4422},"}",[4408,4446,4447],{"class":4414}," \u002F>\n",[3512,4449,4450,4452,4453,4455,4456,4460,4461,4464,4465,4468,4469,3918,4471,3918,4473,4476,4477,3550,4479,4481],{},[3540,4451,4431],{}," «підписує» DOM-input до форми через ref і події браузера. У React Native ",[3516,4454,3991],{}," того самого DOM і тих самих ref-інпутів. Тому офіційний шлях для RN — компонент ",[3516,4457,4458],{},[3540,4459,3701],{},": ви кажете «поле називається ",[3540,4462,4463],{},"email","», а в ",[3540,4466,4467],{},"render"," самі з’єднуєте ",[3540,4470,3641],{},[3540,4472,3553],{},[3540,4474,4475],{},"onBlur"," зі своїм ",[3540,4478,3637],{},[3540,4480,3668],{}," тощо.",[3512,4483,4484,4485,4488,4489,4491,4492,4494,4495,3646],{},"Повний розбір RHF + Zod — у розділі нижче в цій статті. На містку з вебом важливо лише: ",[3516,4486,4487],{},"звичка RHF лишається",", спосіб підключення контролу — через ",[3540,4490,3701],{},", не через ",[3540,4493,4431],{}," + spread на ",[3540,4496,3549],{},[4498,4499,4500,4503,4504,4506,4507,4510,4511,4514,4515,3646],"warning",{},[3516,4501,4502],{},"Web-звичка, яка болить."," На кожне поле — свій ",[3540,4505,4390],{},", у кнопці — купа ",[3540,4508,4509],{},"if (!email) …",", помилки — один ",[3540,4512,4513],{},"Alert.alert('Помилка')",". Для двох полів це терпимо. Для екрана з десятьма контролями правила роз’їжджаються, повідомлення не біля поля, тестувати важко. Тому в курсі для «справжніх» форм беремо ",[3516,4516,4517],{},"схему (Zod) + RHF",[3806,4519],{},[3507,4521,4523],{"id":4522},"життєва-сцена-клавіатура-зїла-submit","Життєва сцена: клавіатура з’їла Submit",[3512,4525,4526,4527,4529],{},"Уявіть реєстрацію однією рукою в метро. Фокус у полі «Email» — знизу виїхала ",[3516,4528,3587],{}," і закрила кнопку «Надіслати». Ви свайпаєте навмання, втрачаєте фокус, клавіатура ховається, кнопка знову з’являється. Людина не каже «немає KeyboardAvoidingView» — каже «форма крива».",[3512,4531,4532,4533,4536,4537,4540,4541,4545,4546,4550,4551,4554],{},"Важливо: ",[3516,4534,4535],{},"Switch, Checkbox, Slider, Picker"," клавіатуру самі ",[3516,4538,4539],{},"не відкривають",". Проблема «кнопка під клавіатурою» стосується переважно екранів, де є ",[3516,4542,4543],{},[3540,4544,3637],{},". Для боротьби з нею в React Native є контейнер ",[3516,4547,4548],{},[3540,4549,3686],{}," (часто скорочують ",[3516,4552,4553],{},"KAV","): він зсуває або стискає вміст, коли клавіатура відкрита. Деталі — у розділі про клавіатуру нижче.",[3512,4556,4557,4558,4561,4562,3634,4565,4567,4568,4570],{},"Але форма часто ",[3516,4559,4560],{},"змішана",": зверху текст, знизу галочки, ще нижче кнопка. Тому типовий каркас — ",[3516,4563,4564],{},"завжди",[3540,4566,3689],{}," (форма довша за екран або стане такою з клавіатурою) + за потреби ",[3540,4569,3686],{},", навіть якщо «не всі» поля текстові.",[3512,4572,4573],{},[3930,4574],{"alt":4575,"className":4576,"src":4577},"Форма у вебі та на телефоні: клавіатура ховає поля",[3934],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F02.svg",[4579,4580,4581],"plant-uml",{},[4399,4582,4586],{"className":4583,"code":4584,"language":4585,"meta":4404,"style":4404},"language-plantuml shiki shiki-themes light-plus dark-plus dark-plus","@startuml\nskinparam style plain\nskinparam backgroundColor #ffffff\n\nrectangle \"Екран без KAV\" as A {\n  rectangle \"Поле email (focus)\" as E\n  rectangle \"Кнопка Submit\\n(під клавіатурою)\" as B\n  rectangle \"Soft keyboard\" as K\n}\n\nrectangle \"Екран з KAV + ScrollView\" as C {\n  rectangle \"Scrollable form\" as S\n  rectangle \"Поле + кнопка\\nвидимі після зсуву\" as V\n}\n\nnote right of A\n  Користувач не бачить Submit\nend note\n\nnote right of C\n  Контент підіймається \u002F скролиться\nend note\n\n@enduml\n","plantuml",[3540,4587,4588,4593,4599,4605,4612,4618,4624,4630,4636,4642,4647,4653,4659,4665,4670,4675,4681,4687,4693,4698,4704,4710,4715,4720],{"__ignoreMap":4404},[4408,4589,4590],{"class":4410,"line":4411},[4408,4591,4592],{},"@startuml\n",[4408,4594,4596],{"class":4410,"line":4595},2,[4408,4597,4598],{},"skinparam style plain\n",[4408,4600,4602],{"class":4410,"line":4601},3,[4408,4603,4604],{},"skinparam backgroundColor #ffffff\n",[4408,4606,4608],{"class":4410,"line":4607},4,[4408,4609,4611],{"emptyLinePlaceholder":4610},true,"\n",[4408,4613,4615],{"class":4410,"line":4614},5,[4408,4616,4617],{},"rectangle \"Екран без KAV\" as A {\n",[4408,4619,4621],{"class":4410,"line":4620},6,[4408,4622,4623],{},"  rectangle \"Поле email (focus)\" as E\n",[4408,4625,4627],{"class":4410,"line":4626},7,[4408,4628,4629],{},"  rectangle \"Кнопка Submit\\n(під клавіатурою)\" as B\n",[4408,4631,4633],{"class":4410,"line":4632},8,[4408,4634,4635],{},"  rectangle \"Soft keyboard\" as K\n",[4408,4637,4639],{"class":4410,"line":4638},9,[4408,4640,4641],{},"}\n",[4408,4643,4645],{"class":4410,"line":4644},10,[4408,4646,4611],{"emptyLinePlaceholder":4610},[4408,4648,4650],{"class":4410,"line":4649},11,[4408,4651,4652],{},"rectangle \"Екран з KAV + ScrollView\" as C {\n",[4408,4654,4656],{"class":4410,"line":4655},12,[4408,4657,4658],{},"  rectangle \"Scrollable form\" as S\n",[4408,4660,4662],{"class":4410,"line":4661},13,[4408,4663,4664],{},"  rectangle \"Поле + кнопка\\nвидимі після зсуву\" as V\n",[4408,4666,4668],{"class":4410,"line":4667},14,[4408,4669,4641],{},[4408,4671,4673],{"class":4410,"line":4672},15,[4408,4674,4611],{"emptyLinePlaceholder":4610},[4408,4676,4678],{"class":4410,"line":4677},16,[4408,4679,4680],{},"note right of A\n",[4408,4682,4684],{"class":4410,"line":4683},17,[4408,4685,4686],{},"  Користувач не бачить Submit\n",[4408,4688,4690],{"class":4410,"line":4689},18,[4408,4691,4692],{},"end note\n",[4408,4694,4696],{"class":4410,"line":4695},19,[4408,4697,4611],{"emptyLinePlaceholder":4610},[4408,4699,4701],{"class":4410,"line":4700},20,[4408,4702,4703],{},"note right of C\n",[4408,4705,4707],{"class":4410,"line":4706},21,[4408,4708,4709],{},"  Контент підіймається \u002F скролиться\n",[4408,4711,4713],{"class":4410,"line":4712},22,[4408,4714,4692],{},[4408,4716,4718],{"class":4410,"line":4717},23,[4408,4719,4611],{"emptyLinePlaceholder":4610},[4408,4721,4723],{"class":4410,"line":4722},24,[4408,4724,4725],{},"@enduml\n",[3806,4727],{},[3507,4729,4731],{"id":4730},"контрольовані-значення-одна-ідея-для-всіх-контролів","Контрольовані значення: одна ідея для всіх контролів",[3512,4733,4734,4735,3646],{},"Перш ніж розбирати кожен компонент, зафіксуємо ",[3516,4736,4737],{},"спільний патерн",[3512,4739,4740,4741,3588,4744,4747,4748,4751,4752,4755],{},"У React (і на вебі, і в RN) поле називають ",[3516,4742,4743],{},"контрольованим",[3590,4745,4746],{},"controlled","), коли ",[3516,4749,4750],{},"джерело правди"," — ваш state (або RHF), а UI лише ",[3516,4753,4754],{},"відображає"," це значення і повідомляє про зміни.",[3833,4757,4758,4771],{},[3836,4759,4760],{},[3839,4761,4762,4765,4768],{},[3842,4763,4764],{},"Контрол",[3842,4766,4767],{},"Prop значення",[3842,4769,4770],{},"Prop зміни",[3849,4772,4773,4788,4804,4816,4831,4846],{},[3839,4774,4775,4779,4784],{},[3854,4776,4777],{},[3540,4778,3637],{},[3854,4780,4781,4783],{},[3540,4782,3641],{}," (string)",[3854,4785,4786],{},[3540,4787,3645],{},[3839,4789,4790,4794,4799],{},[3854,4791,4792],{},[3540,4793,3668],{},[3854,4795,4796,4798],{},[3540,4797,3641],{}," (boolean)",[3854,4800,4801],{},[3540,4802,4803],{},"onValueChange",[3839,4805,4806,4808,4812],{},[3854,4807,3671],{},[3854,4809,4810,4798],{},[3540,4811,3641],{},[3854,4813,4814],{},[3540,4815,4803],{},[3839,4817,4818,4822,4827],{},[3854,4819,4820],{},[3540,4821,3674],{},[3854,4823,4824,4826],{},[3540,4825,3641],{}," (number)",[3854,4828,4829],{},[3540,4830,4803],{},[3839,4832,4833,4837,4842],{},[3854,4834,4835],{},[3540,4836,3677],{},[3854,4838,4839],{},[3540,4840,4841],{},"selectedValue",[3854,4843,4844],{},[3540,4845,4803],{},[3839,4847,4848,4851,4856],{},[3854,4849,4850],{},"DateTimePicker",[3854,4852,4853,4855],{},[3540,4854,3641],{}," (Date)",[3854,4857,4858,4860],{},[3540,4859,3553],{}," (event, date)",[3512,4862,4863],{},[3930,4864],{"alt":4865,"className":4866,"src":4867},"Контрольований TextInput: onChangeText → state → value",[3934],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F03.svg",[3512,4869,4870,4871,3918,4873,4875,4876,4878,4879,4882,4883,4886],{},"Якщо передати prop значення (",[3540,4872,3641],{},[3540,4874,4841],{},"), але ",[3516,4877,3738],{}," оновлювати state у колбеці зміни, контроль ",[3516,4880,4881],{},"«залипне»",". Людина друкує — символи не з’являються; тягне Switch — він стрибає назад; крутить Slider — підпис не змінюється. З боку виглядає як «зламаний компонент», хоча насправді зламаний ",[3516,4884,4885],{},"зв’язок"," «UI → state → знову UI».",[3512,4888,4889,4890,3646],{},"Це одна з найчастіших помилок на старті. Правило одне на всі контроли таблиці вище: ",[3516,4891,4892],{},"є value — є onChange, який це value оновлює",[3806,4894],{},[3507,4896,4898,4900],{"id":4897},"textinput-поле-для-тексту",[3540,4899,3637],{}," — поле для тексту",[3512,4902,4903,4907],{},[3516,4904,4905],{},[3540,4906,3637],{}," — вбудований компонент React Native для введення тексту.",[3512,4909,4910,4911,4913,4914,4916,4917,4920],{},"Важлива відмінність від вебу: на екрані з’являється ",[3516,4912,3738],{}," HTML-елемент ",[3540,4915,3549],{},", а ",[3516,4918,4919],{},"справжнє поле операційної системи",". На iPhone це механізм на кшталт UITextField, на Android — EditText (назви з нативних SDK; вам їх не треба імпортувати вручну). React Native лише каже системі: «намалюй текстове поле ось тут і повідом, коли текст зміниться».",[3512,4922,4923,4924,4926],{},"Тому поле «відчувається» як у інших застосунках телефону: своя клавіатура, своє виділення тексту, свої жести. І тому стилізація обмеженіша, ніж у CSS для ",[3540,4925,3549],{},": ви задаєте рамку, колір, відступи, але не перетворюєте поле на довільний веб-віджет.",[3997,4928,4930],{"id":4929},"навіщо-він-потрібен","Навіщо він потрібен",[3512,4932,4933,4935,4936,4939,4940,4943],{},[3540,4934,3637],{}," потрібен там, де відповідь — ",[3516,4937,4938],{},"вільний текст",", який людина має ",[3516,4941,4942],{},"набрати",", а не обрати з короткого списку:",[3774,4945,4946,4949,4952],{},[3575,4947,4948],{},"ім’я, email, пароль;",[3575,4950,4951],{},"назва й опис поїздки;",[3575,4953,4954],{},"коментар, пошуковий запит, номер у вільному форматі.",[3512,4956,4957,4958,4960],{},"Якщо варіанти заздалегідь відомі («Карпати \u002F Південь \u002F …») — краще Picker. Якщо відповідь «так\u002Fні» — Switch або Checkbox. ",[3540,4959,3637],{}," — коли без клавіатури не обійтися.",[3997,4962,4964],{"id":4963},"мінімальний-контрольований-приклад","Мінімальний контрольований приклад",[4399,4966,4968],{"className":4401,"code":4967,"language":4403,"meta":4404,"style":4404},"import { useState } from 'react';\nimport { TextInput, View, Text } from 'react-native';\n\nexport function NameField() {\n  const [name, setName] = useState('');\n\n  return (\n    \u003CView>\n      \u003CText>Ім’я\u003C\u002FText>\n      \u003CTextInput\n        value={name}\n        onChangeText={setName}\n        placeholder=\"Ваше ім’я\"\n        autoCapitalize=\"words\"\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n",[3540,4969,4970,4994,5021,5025,5039,5069,5073,5081,5092,5112,5119,5135,5148,5158,5168,5173,5182,5187],{"__ignoreMap":4404},[4408,4971,4972,4976,4979,4982,4985,4988,4991],{"class":4410,"line":4411},[4408,4973,4975],{"class":4974},"s8xlr","import",[4408,4977,4978],{"class":4426}," { ",[4408,4980,4390],{"class":4981},"siwwj",[4408,4983,4984],{"class":4426}," } ",[4408,4986,4987],{"class":4974},"from",[4408,4989,4990],{"class":4438}," 'react'",[4408,4992,4993],{"class":4426},";\n",[4408,4995,4996,4998,5000,5002,5004,5007,5009,5012,5014,5016,5019],{"class":4410,"line":4595},[4408,4997,4975],{"class":4974},[4408,4999,4978],{"class":4426},[4408,5001,3637],{"class":4981},[4408,5003,3550],{"class":4426},[4408,5005,5006],{"class":4981},"View",[4408,5008,3550],{"class":4426},[4408,5010,5011],{"class":4981},"Text",[4408,5013,4984],{"class":4426},[4408,5015,4987],{"class":4974},[4408,5017,5018],{"class":4438}," 'react-native'",[4408,5020,4993],{"class":4426},[4408,5022,5023],{"class":4410,"line":4601},[4408,5024,4611],{"emptyLinePlaceholder":4610},[4408,5026,5027,5030,5033,5036],{"class":4410,"line":4607},[4408,5028,5029],{"class":4974},"export",[4408,5031,5032],{"class":4422}," function",[4408,5034,5035],{"class":4430}," NameField",[4408,5037,5038],{"class":4426},"() {\n",[4408,5040,5041,5044,5047,5051,5053,5056,5059,5061,5063,5066],{"class":4410,"line":4614},[4408,5042,5043],{"class":4422},"  const",[4408,5045,5046],{"class":4426}," [",[4408,5048,5050],{"class":5049},"s-QsJ","name",[4408,5052,3550],{"class":4426},[4408,5054,5055],{"class":5049},"setName",[4408,5057,5058],{"class":4426},"] = ",[4408,5060,4390],{"class":4430},[4408,5062,4435],{"class":4426},[4408,5064,5065],{"class":4438},"''",[4408,5067,5068],{"class":4426},");\n",[4408,5070,5071],{"class":4410,"line":4620},[4408,5072,4611],{"emptyLinePlaceholder":4610},[4408,5074,5075,5078],{"class":4410,"line":4626},[4408,5076,5077],{"class":4974},"  return",[4408,5079,5080],{"class":4426}," (\n",[4408,5082,5083,5086,5089],{"class":4410,"line":4632},[4408,5084,5085],{"class":4414},"    \u003C",[4408,5087,5006],{"class":5088},"sN1BT",[4408,5090,5091],{"class":4414},">\n",[4408,5093,5094,5097,5099,5102,5105,5108,5110],{"class":4410,"line":4638},[4408,5095,5096],{"class":4414},"      \u003C",[4408,5098,5011],{"class":5088},[4408,5100,5101],{"class":4414},">",[4408,5103,5104],{"class":4426},"Ім’я",[4408,5106,5107],{"class":4414},"\u003C\u002F",[4408,5109,5011],{"class":5088},[4408,5111,5091],{"class":4414},[4408,5113,5114,5116],{"class":4410,"line":4644},[4408,5115,5096],{"class":4414},[4408,5117,5118],{"class":5088},"TextInput\n",[4408,5120,5121,5125,5128,5131,5133],{"class":4410,"line":4649},[4408,5122,5124],{"class":5123},"sa4r_","        value",[4408,5126,5127],{"class":4426},"=",[4408,5129,5130],{"class":4422},"{",[4408,5132,5050],{"class":4981},[4408,5134,4641],{"class":4422},[4408,5136,5137,5140,5142,5144,5146],{"class":4410,"line":4655},[4408,5138,5139],{"class":5123},"        onChangeText",[4408,5141,5127],{"class":4426},[4408,5143,5130],{"class":4422},[4408,5145,5055],{"class":4981},[4408,5147,4641],{"class":4422},[4408,5149,5150,5153,5155],{"class":4410,"line":4661},[4408,5151,5152],{"class":5123},"        placeholder",[4408,5154,5127],{"class":4426},[4408,5156,5157],{"class":4438},"\"Ваше ім’я\"\n",[4408,5159,5160,5163,5165],{"class":4410,"line":4667},[4408,5161,5162],{"class":5123},"        autoCapitalize",[4408,5164,5127],{"class":4426},[4408,5166,5167],{"class":4438},"\"words\"\n",[4408,5169,5170],{"class":4410,"line":4672},[4408,5171,5172],{"class":4414},"      \u002F>\n",[4408,5174,5175,5178,5180],{"class":4410,"line":4677},[4408,5176,5177],{"class":4414},"    \u003C\u002F",[4408,5179,5006],{"class":5088},[4408,5181,5091],{"class":4414},[4408,5183,5184],{"class":4410,"line":4683},[4408,5185,5186],{"class":4426},"  );\n",[4408,5188,5189],{"class":4410,"line":4689},[4408,5190,4641],{"class":4426},[3512,5192,5193],{},"Що тут відбувається крок за кроком:",[3572,5195,5196,5202,5208,5214],{},[3575,5197,5198,5199,5201],{},"У state лежить рядок ",[3540,5200,5050],{}," (спочатку порожній).",[3575,5203,5204,5207],{},[3540,5205,5206],{},"value={name}"," каже полю: «покажи саме це».",[3575,5209,5210,5211,5213],{},"Коли людина друкує, викликається ",[3540,5212,3645],{}," з новим рядком.",[3575,5215,5216,5218],{},[3540,5217,5055],{}," оновлює state → React перемальовує → у полі знову актуальний текст.",[3997,5220,5222],{"id":5221},"label-і-placeholder","Label і placeholder",[3512,5224,5225,5228,5229,5232,5233,5236,5237,5240],{},[3516,5226,5227],{},"Placeholder"," — сірий підказковий текст ",[3590,5230,5231],{},"всередині"," порожнього поля. Він ",[3516,5234,5235],{},"зникає",", щойно з’явився хоч один символ. Тому для форми з кількома полями майже завжди потрібен окремий ",[3516,5238,5239],{},"label"," зверху («Назва поїздки», «Email»): інакше після заповнення людина не пам’ятає, що це за рядок.",[3512,5242,5243,5244,5249,5250,5252],{},"У Nomad для цього є обгортка ",[3516,5245,5246],{},[3540,5247,5248],{},"TextField",": label + ",[3540,5251,3637],{}," + текст помилки або hint.",[3997,5254,5256],{"id":5255},"корисні-props-розгорнуто","Корисні props (розгорнуто)",[5258,5259,5260,5294,5326,5356,5379,5402,5420,5443,5464,5489,5530,5556,5565,5603,5628,5653],"field-group",{},[5261,5262,5264,5277],"field",{"name":3641,"type":5263},"string",[3512,5265,5266,5267,5270,5271,5273,5274,5276],{},"Текст, який ",[3516,5268,5269],{},"зараз"," має бути видно в полі. Якщо ви передаєте ",[3540,5272,3641],{},", React Native вважає поле ",[3516,5275,4743],{},": нативний control більше не «живе сам», а показує те, що ви йому дали з state \u002F RHF.",[3512,5278,5279,5280,3918,5283,5286,5287,5289,5290,5293],{},"Практично: після кожного ",[3540,5281,5282],{},"setState",[3540,5284,5285],{},"field.onChange"," компонент перемальовується, і в рамці з’являється вже новий рядок. Якщо ",[3540,5288,3641],{}," передали, а оновлювати забули — поле ",[3516,5291,5292],{},"залипне"," (друкуєте, а символи не з’являються або одразу зникають).",[5261,5295,5297,5312],{"name":3645,"type":5296},"(text: string) => void",[3512,5298,5299,5300,5303,5304,5307,5308,4324,5310,3646],{},"Колбек, який викликається ",[3516,5301,5302],{},"на кожну"," зміну тексту (літера, backspace, вставка з буфера). На відміну від вебу, аргумент — одразу ",[3516,5305,5306],{},"готовий рядок"," усього вмісту поля, а не ",[3540,5309,4036],{},[3540,5311,4016],{},[3512,5313,5314,5315,5318,5319,5322,5323,5325],{},"Типове використання: ",[3540,5316,5317],{},"onChangeText={setEmail}"," або в RHF ",[3540,5320,5321],{},"onChangeText={onChange}"," (те, що дав ",[3540,5324,3701],{},"). Саме тут ви синхронізуєте UI зі state.",[5261,5327,5329,5342],{"name":5328,"type":5263},"defaultValue",[3512,5330,5331,5332,5335,5336,5338,5339,5341],{},"Початковий текст для ",[3516,5333,5334],{},"неконтрольованого"," поля — тобто коли ",[3516,5337,3991],{}," prop ",[3540,5340,3641],{},", і нативний control сам тримає вміст. Зручно для разового демо, але для форми з валідацією майже завжди гірше: важче прочитати поточне значення, показати помилку й скинути форму.",[3512,5343,5344,5345,5347,5348,3642,5350,5352,5353,5355],{},"У зв’язці з React Hook Form і Zod курс тримається ",[3516,5346,4746],{},"-шляху (",[3540,5349,3641],{},[3540,5351,3645],{},"), а ",[3540,5354,5328],{}," залишає для винятків.",[5261,5357,5359,5372],{"name":5358,"type":5263},"placeholder",[3512,5360,5361,5362,5364,5365,5369,5370,3646],{},"Сірий підказковий текст ",[3590,5363,5231],{}," поля, поки воно порожнє («",[3799,5366,5368],{"href":5367},"mailto:you@example.com","you@example.com","», «Назва поїздки»). Як тільки з’явився хоч один символ — placeholder ",[3516,5371,5235],{},[3512,5373,5374,5375,5378],{},"Тому placeholder ",[3516,5376,5377],{},"не замінює"," підпис поля (label) зверху: у довгій формі після заповнення людина вже не бачить, що це було «регіон» чи «місто». Label лишається завжди; placeholder лише підказує формат або приклад.",[5261,5380,5383,5390],{"name":5381,"type":5382},"placeholderTextColor","color",[3512,5384,5385,5386,5389],{},"Окремий колір для placeholder. Якщо його не задати, система обере дефолт, який у ",[3516,5387,5388],{},"темній темі"," часто виглядає як «сіре на сірому» або навпаки занадто контрастний.",[3512,5391,5392,5393,5395,5396,4324,5398,5401],{},"У Nomad ",[3540,5394,5248],{}," бере ",[3540,5397,5381],{},[3540,5399,5400],{},"colors.textSecondary"," теми, щоб light\u002Fdark залишались читабельними без ручного підбору на кожному екрані.",[5261,5403,5406,5417],{"name":5404,"type":5405},"editable","boolean",[3512,5407,5408,5409,5412,5413,5416],{},"Чи можна змінювати текст. ",[3540,5410,5411],{},"false"," — поле ",[3516,5414,5415],{},"видно",", але тап не відкриває клавіатуру і не дає редагувати (стан «тільки перегляд», прев’ю даних, тимчасово заблоковане поле під час submit).",[3512,5418,5419],{},"Це не те саме, що прибрати поле з екрана: layout лишається, людина розуміє «тут буде \u002F тут лежить значення», просто зараз його не чіпають.",[5261,5421,5422,5432],{"name":4107,"type":5405},[3512,5423,5424,5425,5428,5429,5431],{},"Увімкнути ",[3516,5426,5427],{},"кілька рядків"," (аналог ",[3540,5430,4009],{},"). Потрібно для опису поїздки, коментаря, адреси з переносами.",[3512,5433,5434,5435,5438,5439,5442],{},"На Android текст часто «стрибає» по вертикалі всередині рамки: додайте ",[3540,5436,5437],{},"textAlignVertical=\"top\"",", щоб рядки починались зверху. Також задайте ",[3540,5440,5441],{},"minHeight"," (або фіксовану висоту) у стилі — інакше поле може бути занадто низьким для зручного вводу.",[5261,5444,5447,5454],{"name":5445,"type":5446},"maxLength","number",[3512,5448,5449,5450,5453],{},"Жорстка стеля довжини ",[3516,5451,5452],{},"на рівні UI",": далі символи просто не вводяться. Корисно, щоб назва не роздулась до тисячі символів і щоб узгодити ліміт із бекендом «наперед».",[3512,5455,4532,5456,3634,5458,5460,5461,5463],{},[3540,5457,5445],{},[3516,5459,5377],{}," повідомлення валідації. Zod усе одно варто тримати (інше формулювання помилки, trim, мінімум символів). ",[3540,5462,5445],{}," — захист від випадковості; Zod — зрозумілий фідбек і єдині правила.",[5261,5465,5466,5480],{"name":4099,"type":5405},[3512,5467,5468,5469,5472,5473,5476,5477,5479],{},"Маскує введені символи (крапки \u002F зірочки) — класичне поле ",[3516,5470,5471],{},"пароля",". Працює лише в однорядковому режимі: з ",[3540,5474,5475],{},"multiline={true}"," документація прямо каже, що secure mode ",[3516,5478,3738],{}," підтримується.",[3512,5481,5482,5483,3642,5486,5488],{},"Окремо продумайте «показати пароль» (іконка ока): це зазвичай ",[3540,5484,5485],{},"secureTextEntry={hide}",[3540,5487,3654],{},", а не магія самого TextInput.",[5261,5490,5492,5520],{"name":4077,"type":5491},"enum",[3512,5493,5494,5495,5498,5499,3550,5502,5504,5505,3558,5507,5509,5510,3918,5512,3550,5515,3550,5517,4481],{},"Яку ",[3516,5496,5497],{},"розкладку програмної клавіатури"," показати системі: ",[3540,5500,5501],{},"default",[3540,5503,4081],{}," (часто є ",[3540,5506,4133],{},[3540,5508,3646],{}," під рукою), ",[3540,5511,4084],{},[3540,5513,5514],{},"number-pad",[3540,5516,4087],{},[3540,5518,5519],{},"url",[3512,5521,5522,5523,5526,5527,5529],{},"Це ",[3516,5524,5525],{},"зручність",", не валідація. Людина все одно може вставити з буфера «не email» у поле з ",[3540,5528,4081],{},". Тому після вводу (або на submit) правила Zod лишаються обов’язковими.",[5261,5531,5534,5543],{"name":5532,"type":5533},"autoCapitalize","'none' \\| 'sentences' \\| 'words' \\| 'characters'",[3512,5535,5536,5537,3588,5540,3693],{},"Чи підставляти великі літери автоматично: лише на початку речення, кожного слова, усіх символів, або ",[3516,5538,5539],{},"ніколи",[3540,5541,5542],{},"none",[3512,5544,5545,5546,5548,5549,5551,5552,5555],{},"Для ",[3516,5547,4463],{},", пароля, кодів підтвердження, нікнеймів майже завжди ставте ",[3540,5550,5542],{},": інакше система зробить ",[3540,5553,5554],{},"You@Example.com",", і людина дивуватиметься, чому «логін не підходить» (хоча проблема в регістрі \u002F автокапіталізації).",[5261,5557,5559,5560,5564],{"name":5558,"type":5405},"autoCorrect","Чи пропонувати автовиправлення й підказки словника. Для звичайної української\u002Fанглійської нотатки — інколи корисно. Для email, токенів, номерів, нікнеймів — ставте ",[3516,5561,5562],{},[3540,5563,5411],{},", щоб система не «виправляла» адресу на випадкове слово зі словника.",[5261,5566,5568,5591],{"name":5567,"type":5491},"returnKeyType",[3512,5569,5570,5571,5574,5575,5578,5579,5582,5583,5586,5587,5590],{},"Текст\u002Fіконка кнопки Return на клавіатурі: ",[3540,5572,5573],{},"next"," («далі»), ",[3540,5576,5577],{},"done"," («готово»), ",[3540,5580,5581],{},"send"," («надіслати»), ",[3540,5584,5585],{},"search"," («пошук») тощо. Це ",[3516,5588,5589],{},"підказка наміру"," для людини, а не автоматичний submit форми на всіх платформах однаково.",[3512,5592,5593,5594,5596,5597,3918,5599,3642,5601,3646],{},"Узгоджуйте з реальною поведінкою: якщо Return веде на наступне поле — ",[3540,5595,5573],{},"; якщо це останнє поле й відправка — ",[3540,5598,5581],{},[3540,5600,5577],{},[3540,5602,4201],{},[5261,5604,5606,5621],{"name":4201,"type":5605},"() => void",[3512,5607,5608,5609,5612,5613,5616,5617,5620],{},"Колбек, коли натиснули Return на клавіатурі. Типові сценарії: перевести ",[3516,5610,5611],{},"focus"," на наступне поле (",[3540,5614,5615],{},"ref.current?.focus()",") або викликати ",[3540,5618,5619],{},"handleSubmit"," на останньому полі.",[3512,5622,5623,5624,5627],{},"Не покладайте ",[3516,5625,5626],{},"лише"," на цей колбек як єдиний спосіб відправити форму: частина користувачів завжди шукає велику кнопку «Створити» пальцем, а не Return.",[5261,5629,5631,5646],{"name":5630,"type":5405},"blurOnSubmit",[3512,5632,5633,5634,5637,5638,5641,5642,5645],{},"Чи ",[3516,5635,5636],{},"зняти фокус"," (і часто сховати клавіатуру) після Return. Для ланцюжка «поле 1 → поле 2» зазвичай ставлять ",[3540,5639,5640],{},"blurOnSubmit={false}"," на першому полі, щоб після Return одразу сфокусувати наступне ",[3516,5643,5644],{},"без"," зайвого блимання клавіатури.",[3512,5647,5648,5649,5652],{},"На останньому полі навпаки часто залишають поведінку за замовчуванням \u002F ",[3540,5650,5651],{},"true",", щоб після send клавіатура сховалась.",[5261,5654,5657,5666],{"name":5655,"type":5656},"onBlur \u002F onFocus","callbacks",[3512,5658,5659,5662,5663,5665],{},[3540,5660,5661],{},"onFocus"," — поле стало активним (клавіатура, курсор). ",[3540,5664,4475],{}," — фокус пішов (тапнули в інше місце, наступне поле, сховали клавіатуру).",[3512,5667,5668,5669,4324,5671,5673,5674,3918,5676,5679,5680,5683,5684,5687,5688,5690],{},"У React Hook Form ",[3540,5670,4475],{},[3540,5672,3701],{}," потрібен, якщо валідуєте в режимах на кшталт ",[3540,5675,4475],{},[3540,5677,5678],{},"onTouched",": помилка з’являється не на кожну літеру, а коли людина ",[3516,5681,5682],{},"пішла"," з поля. Навіть у ",[3540,5685,5686],{},"mode: 'onSubmit'"," передавати ",[3540,5689,4475],{}," корисно для узгодженості з RHF.",[3997,5692,5694],{"id":5693},"демо-різні-типи-клавіатур","Демо: різні типи клавіатур",[5696,5697,5702],"react-native-preview",{"device":5698,"filename":5699,"height":5700,"title":5701},"iphone","TextInputTypes.tsx",640,"TextInput · keyboardType",[4399,5703,5705],{"className":4401,"code":5704,"language":4403,"meta":4404,"style":4404},"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",[3540,5706,5707,5723,5730,5738,5745,5752,5759,5766,5777,5781,5795,5816,5842,5865,5888,5911,5934,5938,5961,5985,6008,6012,6018,6025,6056,6086,6097,6103,6155,6187,6193,6203,6208,6254,6261,6274,6287,6297,6312,6323,6333,6344,6385,6390,6395,6437,6444,6457,6470,6480,6493,6503,6542,6547,6552,6594,6601,6614,6627,6637,6650,6656,6667,6679,6691,6703,6728,6736,6741,6750,6755,6760,6765,6787,6817,6825,6835,6845,6855,6865,6875,6886,6892,6908],{"__ignoreMap":4404},[4408,5708,5709,5711,5713,5715,5717,5719,5721],{"class":4410,"line":4411},[4408,5710,4975],{"class":4974},[4408,5712,4978],{"class":4426},[4408,5714,4390],{"class":4981},[4408,5716,4984],{"class":4426},[4408,5718,4987],{"class":4974},[4408,5720,4990],{"class":4438},[4408,5722,4993],{"class":4426},[4408,5724,5725,5727],{"class":4410,"line":4595},[4408,5726,4975],{"class":4974},[4408,5728,5729],{"class":4426}," {\n",[4408,5731,5732,5735],{"class":4410,"line":4601},[4408,5733,5734],{"class":4981},"  ScrollView",[4408,5736,5737],{"class":4426},",\n",[4408,5739,5740,5743],{"class":4410,"line":4607},[4408,5741,5742],{"class":4981},"  StyleSheet",[4408,5744,5737],{"class":4426},[4408,5746,5747,5750],{"class":4410,"line":4614},[4408,5748,5749],{"class":4981},"  Text",[4408,5751,5737],{"class":4426},[4408,5753,5754,5757],{"class":4410,"line":4620},[4408,5755,5756],{"class":4981},"  TextInput",[4408,5758,5737],{"class":4426},[4408,5760,5761,5764],{"class":4410,"line":4626},[4408,5762,5763],{"class":4981},"  useColorScheme",[4408,5765,5737],{"class":4426},[4408,5767,5768,5771,5773,5775],{"class":4410,"line":4632},[4408,5769,5770],{"class":4426},"} ",[4408,5772,4987],{"class":4974},[4408,5774,5018],{"class":4438},[4408,5776,4993],{"class":4426},[4408,5778,5779],{"class":4410,"line":4638},[4408,5780,4611],{"emptyLinePlaceholder":4610},[4408,5782,5783,5785,5788,5790,5793],{"class":4410,"line":4644},[4408,5784,5029],{"class":4974},[4408,5786,5787],{"class":4974}," default",[4408,5789,5032],{"class":4422},[4408,5791,5792],{"class":4430}," App",[4408,5794,5038],{"class":4426},[4408,5796,5797,5799,5802,5805,5808,5811,5814],{"class":4410,"line":4649},[4408,5798,5043],{"class":4422},[4408,5800,5801],{"class":5049}," dark",[4408,5803,5804],{"class":4426}," = ",[4408,5806,5807],{"class":4430},"useColorScheme",[4408,5809,5810],{"class":4426},"() === ",[4408,5812,5813],{"class":4438},"'dark'",[4408,5815,4993],{"class":4426},[4408,5817,5818,5820,5823,5825,5828,5831,5834,5837,5840],{"class":4410,"line":4655},[4408,5819,5043],{"class":4422},[4408,5821,5822],{"class":5049}," bg",[4408,5824,5804],{"class":4426},[4408,5826,5827],{"class":4981},"dark",[4408,5829,5830],{"class":4426}," ? ",[4408,5832,5833],{"class":4438},"'#000'",[4408,5835,5836],{"class":4426}," : ",[4408,5838,5839],{"class":4438},"'#F8FAFC'",[4408,5841,4993],{"class":4426},[4408,5843,5844,5846,5849,5851,5853,5855,5858,5860,5863],{"class":4410,"line":4661},[4408,5845,5043],{"class":4422},[4408,5847,5848],{"class":5049}," surface",[4408,5850,5804],{"class":4426},[4408,5852,5827],{"class":4981},[4408,5854,5830],{"class":4426},[4408,5856,5857],{"class":4438},"'#1c1c1e'",[4408,5859,5836],{"class":4426},[4408,5861,5862],{"class":4438},"'#fff'",[4408,5864,4993],{"class":4426},[4408,5866,5867,5869,5872,5874,5876,5878,5881,5883,5886],{"class":4410,"line":4667},[4408,5868,5043],{"class":4422},[4408,5870,5871],{"class":5049}," text",[4408,5873,5804],{"class":4426},[4408,5875,5827],{"class":4981},[4408,5877,5830],{"class":4426},[4408,5879,5880],{"class":4438},"'#f5f5f7'",[4408,5882,5836],{"class":4426},[4408,5884,5885],{"class":4438},"'#0f172a'",[4408,5887,4993],{"class":4426},[4408,5889,5890,5892,5895,5897,5899,5901,5904,5906,5909],{"class":4410,"line":4672},[4408,5891,5043],{"class":4422},[4408,5893,5894],{"class":5049}," muted",[4408,5896,5804],{"class":4426},[4408,5898,5827],{"class":4981},[4408,5900,5830],{"class":4426},[4408,5902,5903],{"class":4438},"'#a1a1aa'",[4408,5905,5836],{"class":4426},[4408,5907,5908],{"class":4438},"'#64748b'",[4408,5910,4993],{"class":4426},[4408,5912,5913,5915,5918,5920,5922,5924,5927,5929,5932],{"class":4410,"line":4677},[4408,5914,5043],{"class":4422},[4408,5916,5917],{"class":5049}," border",[4408,5919,5804],{"class":4426},[4408,5921,5827],{"class":4981},[4408,5923,5830],{"class":4426},[4408,5925,5926],{"class":4438},"'#3a3a3c'",[4408,5928,5836],{"class":4426},[4408,5930,5931],{"class":4438},"'#e2e8f0'",[4408,5933,4993],{"class":4426},[4408,5935,5936],{"class":4410,"line":4683},[4408,5937,4611],{"emptyLinePlaceholder":4610},[4408,5939,5940,5942,5944,5946,5948,5951,5953,5955,5957,5959],{"class":4410,"line":4689},[4408,5941,5043],{"class":4422},[4408,5943,5046],{"class":4426},[4408,5945,4463],{"class":5049},[4408,5947,3550],{"class":4426},[4408,5949,5950],{"class":5049},"setEmail",[4408,5952,5058],{"class":4426},[4408,5954,4390],{"class":4430},[4408,5956,4435],{"class":4426},[4408,5958,5065],{"class":4438},[4408,5960,5068],{"class":4426},[4408,5962,5963,5965,5967,5970,5972,5975,5977,5979,5981,5983],{"class":4410,"line":4695},[4408,5964,5043],{"class":4422},[4408,5966,5046],{"class":4426},[4408,5968,5969],{"class":5049},"phone",[4408,5971,3550],{"class":4426},[4408,5973,5974],{"class":5049},"setPhone",[4408,5976,5058],{"class":4426},[4408,5978,4390],{"class":4430},[4408,5980,4435],{"class":4426},[4408,5982,5065],{"class":4438},[4408,5984,5068],{"class":4426},[4408,5986,5987,5989,5991,5993,5995,5998,6000,6002,6004,6006],{"class":4410,"line":4700},[4408,5988,5043],{"class":4422},[4408,5990,5046],{"class":4426},[4408,5992,3715],{"class":5049},[4408,5994,3550],{"class":4426},[4408,5996,5997],{"class":5049},"setNote",[4408,5999,5058],{"class":4426},[4408,6001,4390],{"class":4430},[4408,6003,4435],{"class":4426},[4408,6005,5065],{"class":4438},[4408,6007,5068],{"class":4426},[4408,6009,6010],{"class":4410,"line":4706},[4408,6011,4611],{"emptyLinePlaceholder":4610},[4408,6013,6014,6016],{"class":4410,"line":4712},[4408,6015,5077],{"class":4974},[4408,6017,5080],{"class":4426},[4408,6019,6020,6022],{"class":4410,"line":4717},[4408,6021,5085],{"class":4414},[4408,6023,6024],{"class":5088},"ScrollView\n",[4408,6026,6027,6030,6032,6034,6037,6040,6044,6046,6049,6051,6054],{"class":4410,"line":4722},[4408,6028,6029],{"class":5123},"      style",[4408,6031,5127],{"class":4426},[4408,6033,5130],{"class":4422},[4408,6035,6036],{"class":4434},"{ ",[4408,6038,6039],{"class":4981},"flex:",[4408,6041,6043],{"class":6042},"sJj4R"," 1",[4408,6045,3550],{"class":4434},[4408,6047,6048],{"class":4981},"backgroundColor:",[4408,6050,5822],{"class":4981},[4408,6052,6053],{"class":4434}," }",[4408,6055,4641],{"class":4422},[4408,6057,6059,6062,6064,6066,6068,6071,6074,6076,6079,6082,6084],{"class":4410,"line":6058},25,[4408,6060,6061],{"class":5123},"      contentContainerStyle",[4408,6063,5127],{"class":4426},[4408,6065,5130],{"class":4422},[4408,6067,6036],{"class":4434},[4408,6069,6070],{"class":4981},"padding:",[4408,6072,6073],{"class":6042}," 16",[4408,6075,3550],{"class":4434},[4408,6077,6078],{"class":4981},"gap:",[4408,6080,6081],{"class":6042}," 14",[4408,6083,6053],{"class":4434},[4408,6085,4641],{"class":4422},[4408,6087,6089,6092,6094],{"class":4410,"line":6088},26,[4408,6090,6091],{"class":5123},"      keyboardShouldPersistTaps",[4408,6093,5127],{"class":4426},[4408,6095,6096],{"class":4438},"\"handled\"\n",[4408,6098,6100],{"class":4410,"line":6099},27,[4408,6101,6102],{"class":4414},"    >\n",[4408,6104,6106,6108,6110,6113,6115,6117,6119,6122,6124,6126,6129,6132,6134,6137,6140,6142,6144,6146,6149,6151,6153],{"class":4410,"line":6105},28,[4408,6107,5096],{"class":4414},[4408,6109,5011],{"class":5088},[4408,6111,6112],{"class":5123}," style",[4408,6114,5127],{"class":4426},[4408,6116,5130],{"class":4422},[4408,6118,6036],{"class":4434},[4408,6120,6121],{"class":4981},"color:",[4408,6123,5871],{"class":4981},[4408,6125,3550],{"class":4434},[4408,6127,6128],{"class":4981},"fontWeight:",[4408,6130,6131],{"class":4438}," '800'",[4408,6133,3550],{"class":4434},[4408,6135,6136],{"class":4981},"fontSize:",[4408,6138,6139],{"class":6042}," 22",[4408,6141,6053],{"class":4434},[4408,6143,4444],{"class":4422},[4408,6145,5101],{"class":4414},[4408,6147,6148],{"class":4426},"Типи вводу",[4408,6150,5107],{"class":4414},[4408,6152,5011],{"class":5088},[4408,6154,5091],{"class":4414},[4408,6156,6158,6160,6162,6164,6166,6168,6170,6172,6174,6176,6178,6181,6183,6185],{"class":4410,"line":6157},29,[4408,6159,5096],{"class":4414},[4408,6161,5011],{"class":5088},[4408,6163,6112],{"class":5123},[4408,6165,5127],{"class":4426},[4408,6167,5130],{"class":4422},[4408,6169,6036],{"class":4434},[4408,6171,6121],{"class":4981},[4408,6173,5894],{"class":4981},[4408,6175,3550],{"class":4434},[4408,6177,6136],{"class":4981},[4408,6179,6180],{"class":6042}," 13",[4408,6182,6053],{"class":4434},[4408,6184,4444],{"class":4422},[4408,6186,5091],{"class":4414},[4408,6188,6190],{"class":4410,"line":6189},30,[4408,6191,6192],{"class":4426},"        На пристрої змінюється розкладка клавіатури. У прев’ю — ті самі props.\n",[4408,6194,6196,6199,6201],{"class":4410,"line":6195},31,[4408,6197,6198],{"class":4414},"      \u003C\u002F",[4408,6200,5011],{"class":5088},[4408,6202,5091],{"class":4414},[4408,6204,6206],{"class":4410,"line":6205},32,[4408,6207,4611],{"emptyLinePlaceholder":4610},[4408,6209,6211,6213,6215,6217,6219,6221,6224,6227,6229,6231,6234,6236,6238,6241,6243,6245,6248,6250,6252],{"class":4410,"line":6210},33,[4408,6212,5096],{"class":4414},[4408,6214,5011],{"class":5088},[4408,6216,6112],{"class":5123},[4408,6218,5127],{"class":4426},[4408,6220,5130],{"class":4422},[4408,6222,6223],{"class":4434},"[",[4408,6225,6226],{"class":4981},"styles",[4408,6228,3646],{"class":4434},[4408,6230,5239],{"class":4981},[4408,6232,6233],{"class":4434},", { ",[4408,6235,6121],{"class":4981},[4408,6237,5894],{"class":4981},[4408,6239,6240],{"class":4434}," }]",[4408,6242,4444],{"class":4422},[4408,6244,5101],{"class":4414},[4408,6246,6247],{"class":4426},"Email",[4408,6249,5107],{"class":4414},[4408,6251,5011],{"class":5088},[4408,6253,5091],{"class":4414},[4408,6255,6257,6259],{"class":4410,"line":6256},34,[4408,6258,5096],{"class":4414},[4408,6260,5118],{"class":5088},[4408,6262,6264,6266,6268,6270,6272],{"class":4410,"line":6263},35,[4408,6265,5124],{"class":5123},[4408,6267,5127],{"class":4426},[4408,6269,5130],{"class":4422},[4408,6271,4463],{"class":4981},[4408,6273,4641],{"class":4422},[4408,6275,6277,6279,6281,6283,6285],{"class":4410,"line":6276},36,[4408,6278,5139],{"class":5123},[4408,6280,5127],{"class":4426},[4408,6282,5130],{"class":4422},[4408,6284,5950],{"class":4981},[4408,6286,4641],{"class":4422},[4408,6288,6290,6292,6294],{"class":4410,"line":6289},37,[4408,6291,5152],{"class":5123},[4408,6293,5127],{"class":4426},[4408,6295,6296],{"class":4438},"\"you@example.com\"\n",[4408,6298,6300,6303,6305,6307,6310],{"class":4410,"line":6299},38,[4408,6301,6302],{"class":5123},"        placeholderTextColor",[4408,6304,5127],{"class":4426},[4408,6306,5130],{"class":4422},[4408,6308,6309],{"class":4981},"muted",[4408,6311,4641],{"class":4422},[4408,6313,6315,6318,6320],{"class":4410,"line":6314},39,[4408,6316,6317],{"class":5123},"        keyboardType",[4408,6319,5127],{"class":4426},[4408,6321,6322],{"class":4438},"\"email-address\"\n",[4408,6324,6326,6328,6330],{"class":4410,"line":6325},40,[4408,6327,5162],{"class":5123},[4408,6329,5127],{"class":4426},[4408,6331,6332],{"class":4438},"\"none\"\n",[4408,6334,6336,6339,6341],{"class":4410,"line":6335},41,[4408,6337,6338],{"class":5123},"        autoCorrect",[4408,6340,5127],{"class":4426},[4408,6342,6343],{"class":4422},"{false}\n",[4408,6345,6347,6350,6352,6354,6356,6358,6360,6362,6364,6366,6368,6370,6373,6375,6377,6379,6381,6383],{"class":4410,"line":6346},42,[4408,6348,6349],{"class":5123},"        style",[4408,6351,5127],{"class":4426},[4408,6353,5130],{"class":4422},[4408,6355,6223],{"class":4434},[4408,6357,6226],{"class":4981},[4408,6359,3646],{"class":4434},[4408,6361,4419],{"class":4981},[4408,6363,6233],{"class":4434},[4408,6365,6048],{"class":4981},[4408,6367,5848],{"class":4981},[4408,6369,3550],{"class":4434},[4408,6371,6372],{"class":4981},"borderColor:",[4408,6374,5917],{"class":4981},[4408,6376,3550],{"class":4434},[4408,6378,6121],{"class":4981},[4408,6380,5871],{"class":4981},[4408,6382,6240],{"class":4434},[4408,6384,4641],{"class":4422},[4408,6386,6388],{"class":4410,"line":6387},43,[4408,6389,5172],{"class":4414},[4408,6391,6393],{"class":4410,"line":6392},44,[4408,6394,4611],{"emptyLinePlaceholder":4610},[4408,6396,6398,6400,6402,6404,6406,6408,6410,6412,6414,6416,6418,6420,6422,6424,6426,6428,6431,6433,6435],{"class":4410,"line":6397},45,[4408,6399,5096],{"class":4414},[4408,6401,5011],{"class":5088},[4408,6403,6112],{"class":5123},[4408,6405,5127],{"class":4426},[4408,6407,5130],{"class":4422},[4408,6409,6223],{"class":4434},[4408,6411,6226],{"class":4981},[4408,6413,3646],{"class":4434},[4408,6415,5239],{"class":4981},[4408,6417,6233],{"class":4434},[4408,6419,6121],{"class":4981},[4408,6421,5894],{"class":4981},[4408,6423,6240],{"class":4434},[4408,6425,4444],{"class":4422},[4408,6427,5101],{"class":4414},[4408,6429,6430],{"class":4426},"Телефон",[4408,6432,5107],{"class":4414},[4408,6434,5011],{"class":5088},[4408,6436,5091],{"class":4414},[4408,6438,6440,6442],{"class":4410,"line":6439},46,[4408,6441,5096],{"class":4414},[4408,6443,5118],{"class":5088},[4408,6445,6447,6449,6451,6453,6455],{"class":4410,"line":6446},47,[4408,6448,5124],{"class":5123},[4408,6450,5127],{"class":4426},[4408,6452,5130],{"class":4422},[4408,6454,5969],{"class":4981},[4408,6456,4641],{"class":4422},[4408,6458,6460,6462,6464,6466,6468],{"class":4410,"line":6459},48,[4408,6461,5139],{"class":5123},[4408,6463,5127],{"class":4426},[4408,6465,5130],{"class":4422},[4408,6467,5974],{"class":4981},[4408,6469,4641],{"class":4422},[4408,6471,6473,6475,6477],{"class":4410,"line":6472},49,[4408,6474,5152],{"class":5123},[4408,6476,5127],{"class":4426},[4408,6478,6479],{"class":4438},"\"+380…\"\n",[4408,6481,6483,6485,6487,6489,6491],{"class":4410,"line":6482},50,[4408,6484,6302],{"class":5123},[4408,6486,5127],{"class":4426},[4408,6488,5130],{"class":4422},[4408,6490,6309],{"class":4981},[4408,6492,4641],{"class":4422},[4408,6494,6496,6498,6500],{"class":4410,"line":6495},51,[4408,6497,6317],{"class":5123},[4408,6499,5127],{"class":4426},[4408,6501,6502],{"class":4438},"\"phone-pad\"\n",[4408,6504,6506,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526,6528,6530,6532,6534,6536,6538,6540],{"class":4410,"line":6505},52,[4408,6507,6349],{"class":5123},[4408,6509,5127],{"class":4426},[4408,6511,5130],{"class":4422},[4408,6513,6223],{"class":4434},[4408,6515,6226],{"class":4981},[4408,6517,3646],{"class":4434},[4408,6519,4419],{"class":4981},[4408,6521,6233],{"class":4434},[4408,6523,6048],{"class":4981},[4408,6525,5848],{"class":4981},[4408,6527,3550],{"class":4434},[4408,6529,6372],{"class":4981},[4408,6531,5917],{"class":4981},[4408,6533,3550],{"class":4434},[4408,6535,6121],{"class":4981},[4408,6537,5871],{"class":4981},[4408,6539,6240],{"class":4434},[4408,6541,4641],{"class":4422},[4408,6543,6545],{"class":4410,"line":6544},53,[4408,6546,5172],{"class":4414},[4408,6548,6550],{"class":4410,"line":6549},54,[4408,6551,4611],{"emptyLinePlaceholder":4610},[4408,6553,6555,6557,6559,6561,6563,6565,6567,6569,6571,6573,6575,6577,6579,6581,6583,6585,6588,6590,6592],{"class":4410,"line":6554},55,[4408,6556,5096],{"class":4414},[4408,6558,5011],{"class":5088},[4408,6560,6112],{"class":5123},[4408,6562,5127],{"class":4426},[4408,6564,5130],{"class":4422},[4408,6566,6223],{"class":4434},[4408,6568,6226],{"class":4981},[4408,6570,3646],{"class":4434},[4408,6572,5239],{"class":4981},[4408,6574,6233],{"class":4434},[4408,6576,6121],{"class":4981},[4408,6578,5894],{"class":4981},[4408,6580,6240],{"class":4434},[4408,6582,4444],{"class":4422},[4408,6584,5101],{"class":4414},[4408,6586,6587],{"class":4426},"Нотатка (multiline)",[4408,6589,5107],{"class":4414},[4408,6591,5011],{"class":5088},[4408,6593,5091],{"class":4414},[4408,6595,6597,6599],{"class":4410,"line":6596},56,[4408,6598,5096],{"class":4414},[4408,6600,5118],{"class":5088},[4408,6602,6604,6606,6608,6610,6612],{"class":4410,"line":6603},57,[4408,6605,5124],{"class":5123},[4408,6607,5127],{"class":4426},[4408,6609,5130],{"class":4422},[4408,6611,3715],{"class":4981},[4408,6613,4641],{"class":4422},[4408,6615,6617,6619,6621,6623,6625],{"class":4410,"line":6616},58,[4408,6618,5139],{"class":5123},[4408,6620,5127],{"class":4426},[4408,6622,5130],{"class":4422},[4408,6624,5997],{"class":4981},[4408,6626,4641],{"class":4422},[4408,6628,6630,6632,6634],{"class":4410,"line":6629},59,[4408,6631,5152],{"class":5123},[4408,6633,5127],{"class":4426},[4408,6635,6636],{"class":4438},"\"Кілька рядків…\"\n",[4408,6638,6640,6642,6644,6646,6648],{"class":4410,"line":6639},60,[4408,6641,6302],{"class":5123},[4408,6643,5127],{"class":4426},[4408,6645,5130],{"class":4422},[4408,6647,6309],{"class":4981},[4408,6649,4641],{"class":4422},[4408,6651,6653],{"class":4410,"line":6652},61,[4408,6654,6655],{"class":5123},"        multiline\n",[4408,6657,6659,6662,6664],{"class":4410,"line":6658},62,[4408,6660,6661],{"class":5123},"        textAlignVertical",[4408,6663,5127],{"class":4426},[4408,6665,6666],{"class":4438},"\"top\"\n",[4408,6668,6670,6672,6674,6676],{"class":4410,"line":6669},63,[4408,6671,6349],{"class":5123},[4408,6673,5127],{"class":4426},[4408,6675,5130],{"class":4422},[4408,6677,6678],{"class":4434},"[\n",[4408,6680,6682,6685,6687,6689],{"class":4410,"line":6681},64,[4408,6683,6684],{"class":4981},"          styles",[4408,6686,3646],{"class":4434},[4408,6688,4419],{"class":4981},[4408,6690,5737],{"class":4434},[4408,6692,6694,6696,6698,6701],{"class":4410,"line":6693},65,[4408,6695,6684],{"class":4981},[4408,6697,3646],{"class":4434},[4408,6699,6700],{"class":4981},"multi",[4408,6702,5737],{"class":4434},[4408,6704,6706,6709,6711,6713,6715,6717,6719,6721,6723,6725],{"class":4410,"line":6705},66,[4408,6707,6708],{"class":4434},"          { ",[4408,6710,6048],{"class":4981},[4408,6712,5848],{"class":4981},[4408,6714,3550],{"class":4434},[4408,6716,6372],{"class":4981},[4408,6718,5917],{"class":4981},[4408,6720,3550],{"class":4434},[4408,6722,6121],{"class":4981},[4408,6724,5871],{"class":4981},[4408,6726,6727],{"class":4434}," },\n",[4408,6729,6731,6734],{"class":4410,"line":6730},67,[4408,6732,6733],{"class":4434},"        ]",[4408,6735,4641],{"class":4422},[4408,6737,6739],{"class":4410,"line":6738},68,[4408,6740,5172],{"class":4414},[4408,6742,6744,6746,6748],{"class":4410,"line":6743},69,[4408,6745,5177],{"class":4414},[4408,6747,3689],{"class":5088},[4408,6749,5091],{"class":4414},[4408,6751,6753],{"class":4410,"line":6752},70,[4408,6754,5186],{"class":4426},[4408,6756,6758],{"class":4410,"line":6757},71,[4408,6759,4641],{"class":4426},[4408,6761,6763],{"class":4410,"line":6762},72,[4408,6764,4611],{"emptyLinePlaceholder":4610},[4408,6766,6768,6771,6774,6776,6779,6781,6784],{"class":4410,"line":6767},73,[4408,6769,6770],{"class":4422},"const",[4408,6772,6773],{"class":5049}," styles",[4408,6775,5804],{"class":4426},[4408,6777,6778],{"class":4981},"StyleSheet",[4408,6780,3646],{"class":4426},[4408,6782,6783],{"class":4430},"create",[4408,6785,6786],{"class":4426},"({\n",[4408,6788,6790,6793,6795,6797,6800,6802,6804,6807,6809,6812,6815],{"class":4410,"line":6789},74,[4408,6791,6792],{"class":4981},"  label:",[4408,6794,4978],{"class":4426},[4408,6796,6136],{"class":4981},[4408,6798,6799],{"class":6042}," 12",[4408,6801,3550],{"class":4426},[4408,6803,6128],{"class":4981},[4408,6805,6806],{"class":4438}," '700'",[4408,6808,3550],{"class":4426},[4408,6810,6811],{"class":4981},"textTransform:",[4408,6813,6814],{"class":4438}," 'uppercase'",[4408,6816,6727],{"class":4426},[4408,6818,6820,6823],{"class":4410,"line":6819},75,[4408,6821,6822],{"class":4981},"  input:",[4408,6824,5729],{"class":4426},[4408,6826,6828,6831,6833],{"class":4410,"line":6827},76,[4408,6829,6830],{"class":4981},"    borderWidth:",[4408,6832,6043],{"class":6042},[4408,6834,5737],{"class":4426},[4408,6836,6838,6841,6843],{"class":4410,"line":6837},77,[4408,6839,6840],{"class":4981},"    borderRadius:",[4408,6842,6799],{"class":6042},[4408,6844,5737],{"class":4426},[4408,6846,6848,6851,6853],{"class":4410,"line":6847},78,[4408,6849,6850],{"class":4981},"    paddingHorizontal:",[4408,6852,6081],{"class":6042},[4408,6854,5737],{"class":4426},[4408,6856,6858,6861,6863],{"class":4410,"line":6857},79,[4408,6859,6860],{"class":4981},"    paddingVertical:",[4408,6862,6799],{"class":6042},[4408,6864,5737],{"class":4426},[4408,6866,6868,6871,6873],{"class":4410,"line":6867},80,[4408,6869,6870],{"class":4981},"    fontSize:",[4408,6872,6073],{"class":6042},[4408,6874,5737],{"class":4426},[4408,6876,6878,6881,6884],{"class":4410,"line":6877},81,[4408,6879,6880],{"class":4981},"    minHeight:",[4408,6882,6883],{"class":6042}," 48",[4408,6885,5737],{"class":4426},[4408,6887,6889],{"class":4410,"line":6888},82,[4408,6890,6891],{"class":4426},"  },\n",[4408,6893,6895,6898,6900,6903,6906],{"class":4410,"line":6894},83,[4408,6896,6897],{"class":4981},"  multi:",[4408,6899,4978],{"class":4426},[4408,6901,6902],{"class":4981},"minHeight:",[4408,6904,6905],{"class":6042}," 100",[4408,6907,6727],{"class":4426},[4408,6909,6911],{"class":4410,"line":6910},84,[4408,6912,6913],{"class":4426},"});\n",[3806,6915],{},[3507,6917,6919,3558,6921,6923],{"id":6918},"pressable-і-button-дії-форми",[3540,6920,3654],{},[3540,6922,3660],{}," — дії форми",[3512,6925,6926,6927,6930,6931,6934],{},"Поля збирають ",[3516,6928,6929],{},"дані",". Кнопка збирає ",[3516,6932,6933],{},"намір",": «зберегти», «скасувати», «далі», «увійти». Без кнопки (або еквівалента) форма — лише набір значень, з якими нічого не сталося.",[3997,6936,6938,6940],{"id":6937},"pressable-основний-інструмент-курсу",[3540,6939,3654],{}," (основний інструмент курсу)",[3512,6942,6943,6947,6948,6951,6952,3642,6954,6956,6957,3646],{},[3516,6944,6945],{},[3540,6946,3654],{}," — компонент React Native, який робить ",[3516,6949,6950],{},"будь-який"," вкладений вміст «натискабельним»: ",[3540,6953,5006],{},[3540,6955,5011],{},", іконка, ціла картка. Ми вже використовували його для карток і sticky CTA; у формах той самий інструмент стає ",[3516,6958,6959],{},"кнопкою відправки",[3512,6961,6962,6963,3646],{},"Чому не «окремий HTML button»? Бо HTML немає. Ви самі малюєте вигляд (колір primary, скруглення, підпис) і вішаєте логіку на ",[3540,6964,4179],{},[3512,6966,6967,6968,6970],{},"Що дає ",[3540,6969,3654],{}," у формі:",[3572,6972,6973,6983,6999,7007,7015],{},[3575,6974,6975,6979,6980,6982],{},[3516,6976,6977],{},[3540,6978,4179],{}," — головна дія (викликати ",[3540,6981,5619],{},", закрити екран, скинути поля).",[3575,6984,6985,6990,6991,6994,6995,6998],{},[3516,6986,6987],{},[3540,6988,6989],{},"style={({ pressed }) => …}"," — функція стилю: поки палець на кнопці, ",[3540,6992,6993],{},"pressed === true",", можна трохи затемнити фон. Людина ",[3516,6996,6997],{},"бачить",", що тап спрацював.",[3575,7000,7001,7006],{},[3516,7002,7003],{},[3540,7004,7005],{},"disabled"," — не реагувати на тапи (під час збереження, поки форма невалідна за бажанням дизайну).",[3575,7008,7009,7014],{},[3516,7010,7011],{},[3540,7012,7013],{},"hitSlop"," (за потреби) — розширити зону тапу, якщо кнопка візуально маленька.",[3575,7016,7017,7022],{},[3516,7018,7019],{},[3540,7020,7021],{},"onLongPress"," — довге утримання; для звичайного Submit майже не потрібен.",[4399,7024,7026],{"className":4401,"code":7025,"language":4403,"meta":4404,"style":4404},"\u003CPressable\n  onPress={handleSubmit(onValid)}\n  disabled={submitting}\n  style={({ pressed }) => [\n    styles.btn,\n    pressed && !submitting && styles.btnPressed,\n    submitting && styles.btnDisabled,\n  ]}\n>\n  \u003CText style={styles.btnText}>\n    {submitting ? 'Зберігаємо…' : 'Створити'}\n  \u003C\u002FText>\n\u003C\u002FPressable>\n",[3540,7027,7028,7035,7055,7069,7093,7105,7129,7145,7152,7156,7180,7201,7210],{"__ignoreMap":4404},[4408,7029,7030,7032],{"class":4410,"line":4411},[4408,7031,4415],{"class":4414},[4408,7033,7034],{"class":5088},"Pressable\n",[4408,7036,7037,7040,7042,7044,7046,7048,7051,7053],{"class":4410,"line":4595},[4408,7038,7039],{"class":5123},"  onPress",[4408,7041,5127],{"class":4426},[4408,7043,5130],{"class":4422},[4408,7045,5619],{"class":4430},[4408,7047,4435],{"class":4434},[4408,7049,7050],{"class":4981},"onValid",[4408,7052,4292],{"class":4434},[4408,7054,4641],{"class":4422},[4408,7056,7057,7060,7062,7064,7067],{"class":4410,"line":4601},[4408,7058,7059],{"class":5123},"  disabled",[4408,7061,5127],{"class":4426},[4408,7063,5130],{"class":4422},[4408,7065,7066],{"class":4981},"submitting",[4408,7068,4641],{"class":4422},[4408,7070,7071,7074,7076,7078,7081,7084,7087,7090],{"class":4410,"line":4607},[4408,7072,7073],{"class":5123},"  style",[4408,7075,5127],{"class":4426},[4408,7077,5130],{"class":4422},[4408,7079,7080],{"class":4434},"({ ",[4408,7082,7083],{"class":4981},"pressed",[4408,7085,7086],{"class":4434}," }) ",[4408,7088,7089],{"class":4422},"=>",[4408,7091,7092],{"class":4434}," [\n",[4408,7094,7095,7098,7100,7103],{"class":4410,"line":4614},[4408,7096,7097],{"class":4981},"    styles",[4408,7099,3646],{"class":4434},[4408,7101,7102],{"class":4981},"btn",[4408,7104,5737],{"class":4434},[4408,7106,7107,7110,7113,7116,7118,7120,7122,7124,7127],{"class":4410,"line":4620},[4408,7108,7109],{"class":4981},"    pressed",[4408,7111,7112],{"class":4426}," &&",[4408,7114,7115],{"class":4426}," !",[4408,7117,7066],{"class":4981},[4408,7119,7112],{"class":4426},[4408,7121,6773],{"class":4981},[4408,7123,3646],{"class":4434},[4408,7125,7126],{"class":4981},"btnPressed",[4408,7128,5737],{"class":4434},[4408,7130,7131,7134,7136,7138,7140,7143],{"class":4410,"line":4626},[4408,7132,7133],{"class":4981},"    submitting",[4408,7135,7112],{"class":4426},[4408,7137,6773],{"class":4981},[4408,7139,3646],{"class":4434},[4408,7141,7142],{"class":4981},"btnDisabled",[4408,7144,5737],{"class":4434},[4408,7146,7147,7150],{"class":4410,"line":4632},[4408,7148,7149],{"class":4434},"  ]",[4408,7151,4641],{"class":4422},[4408,7153,7154],{"class":4410,"line":4638},[4408,7155,5091],{"class":4414},[4408,7157,7158,7161,7163,7165,7167,7169,7171,7173,7176,7178],{"class":4410,"line":4644},[4408,7159,7160],{"class":4414},"  \u003C",[4408,7162,5011],{"class":5088},[4408,7164,6112],{"class":5123},[4408,7166,5127],{"class":4426},[4408,7168,5130],{"class":4422},[4408,7170,6226],{"class":4981},[4408,7172,3646],{"class":4434},[4408,7174,7175],{"class":4981},"btnText",[4408,7177,4444],{"class":4422},[4408,7179,5091],{"class":4414},[4408,7181,7182,7185,7187,7190,7193,7196,7199],{"class":4410,"line":4649},[4408,7183,7184],{"class":4422},"    {",[4408,7186,7066],{"class":4981},[4408,7188,7189],{"class":4426}," ?",[4408,7191,7192],{"class":4438}," 'Зберігаємо…'",[4408,7194,7195],{"class":4426}," :",[4408,7197,7198],{"class":4438}," 'Створити'",[4408,7200,4641],{"class":4422},[4408,7202,7203,7206,7208],{"class":4410,"line":4655},[4408,7204,7205],{"class":4414},"  \u003C\u002F",[4408,7207,5011],{"class":5088},[4408,7209,5091],{"class":4414},[4408,7211,7212,7214,7216],{"class":4410,"line":4661},[4408,7213,5107],{"class":4414},[4408,7215,3654],{"class":5088},[4408,7217,5091],{"class":4414},[3512,7219,7220],{},"Розбір цього фрагмента:",[3774,7222,7223,7239,7253],{},[3575,7224,7225,3600,7227,7229,7230,7232,7233,7235,7236,7238],{},[3540,7226,4183],{},[3516,7228,3738],{}," викликає ",[3540,7231,7050],{}," одразу. Спочатку React Hook Form (+ Zod) перевіряє поля; якщо є помилки, кнопка «ніби натиснулась», але збереження не відбувається, натомість з’являються ",[3540,7234,4190],{}," під полями. (Повний розбір ",[3540,7237,5619],{}," — у розділі RHF + Zod нижче; тут важливий лише зв’язок «кнопка → перевірка → дія».)",[3575,7240,7241,7243,7244,7247,7248,3550,7250,7252],{},[3540,7242,7066],{}," — ваш прапорець «зараз виконуємо збереження» (навіть якщо це просто локальний ",[3540,7245,7246],{},"addTrip"," без мережі). Поки ",[3540,7249,5651],{},[3540,7251,7005],{}," не дає натиснути двічі й створити дві однакові поїздки.",[3575,7254,7255],{},"Підпис кнопки змінюється на «Зберігаємо…», щоб було видно прогрес без окремого спінера (спінер можна додати пізніше).",[3512,7257,7258,7259,4324,7263,7266,7267,7269,7270,3550,7272,3588,7275,3918,7278,7281],{},"У Nomad компонент ",[3516,7260,7261],{},[3540,7262,3660],{},[3540,7264,7265],{},"@\u002Fshared\u002Fui"," — це зручна обгортка: всередині той самий ",[3540,7268,3654],{},", ззовні — props ",[3540,7271,5239],{},[3540,7273,7274],{},"variant",[3540,7276,7277],{},"primary",[3540,7279,7280],{},"secondary","), кольори з теми. Так на екранах не копіюють одні й ті самі стилі кнопки.",[3997,7283,7285,7286,4324,7288],{"id":7284},"системний-button-з-react-native","Системний ",[3540,7287,3660],{},[3540,7289,3759],{},[3512,7291,7292,7293,7295,7296,7300,7301,3550,7304,3554,7306,3558,7308,7310,7311,7314,7315,7318],{},"У бібліотеці ",[3540,7294,3759],{}," є ще компонент з ім’ям ",[3516,7297,7298],{},[3540,7299,3660],{},". Він мінімалістичний: ",[3540,7302,7303],{},"title",[3540,7305,4179],{},[3540,7307,5382],{},[3540,7309,7005],{},". Вигляд малює ",[3516,7312,7313],{},"система",": на iOS одна естетика, на Android — інша (Material-подібна). Ви ",[3516,7316,7317],{},"майже не"," контролюєте скруглення, шрифт, відступи так, як у своїй дизайн-системі з токенами.",[3512,7320,7321],{},"Тому:",[3774,7323,7324,7327],{},[3575,7325,7326],{},"для швидкого експерименту в playground — ок;",[3575,7328,7329,7330,7333,7334,7336,7337,4364,7339,3693],{},"для Nomad і «справжнього» UI курсу — ",[3516,7331,7332],{},"свій"," button на ",[3540,7335,3654],{}," (як ",[3540,7338,3660],{},[3540,7340,7341],{},"shared\u002Fui",[3512,7343,7344],{},"Не плутайте назви: «Button у shared» ≠ «Button з core React Native». У розмові команди краще казати «наш Button» \u002F «Pressable-кнопка» vs «системний RN Button».",[3997,7346,7348],{"id":7347},"що-бачить-користувач-і-що-ламається","Що бачить користувач (і що ламається)",[3512,7350,7351,7354,7355,7357],{},[3516,7352,7353],{},"Успішний шлях:"," тап → коротка анімація ",[3540,7356,7083],{}," → (якщо все валідно) дані зберігаються \u002F екран змінюється.",[3512,7359,7360,7363,7364,7366,7367,7369],{},[3516,7361,7362],{},"Невалідна форма:"," тап → поля підсвічуються помилками, екран ",[3516,7365,3738],{}," «мовчить». Якщо забути показати ",[3540,7368,4190],{},", людина подумає, що кнопка зламалась.",[3512,7371,7372,7375,7376,7378],{},[3516,7373,7374],{},"Подвійний тап:"," без ",[3540,7377,7005],{}," під час submit можна двічі додати одну поїздку. Навіть локально це псує список; з API — подвійний запит.",[5696,7380,7384],{"device":5698,"filename":7381,"height":7382,"title":7383},"FormPressable.tsx",420,"Pressable · submit",[4399,7385,7387],{"className":4401,"code":7386,"language":4403,"meta":4404,"style":4404},"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",[3540,7388,7389,7405,7437,7441,7453,7469,7489,7509,7532,7557,7561,7567,7600,7646,7692,7698,7738,7756,7766,7793,7799,7804,7836,7844,7852,7856,7860,7864,7880,7907,7935,7955],{"__ignoreMap":4404},[4408,7390,7391,7393,7395,7397,7399,7401,7403],{"class":4410,"line":4411},[4408,7392,4975],{"class":4974},[4408,7394,4978],{"class":4426},[4408,7396,4390],{"class":4981},[4408,7398,4984],{"class":4426},[4408,7400,4987],{"class":4974},[4408,7402,4990],{"class":4438},[4408,7404,4993],{"class":4426},[4408,7406,7407,7409,7411,7413,7415,7417,7419,7421,7423,7425,7427,7429,7431,7433,7435],{"class":4410,"line":4595},[4408,7408,4975],{"class":4974},[4408,7410,4978],{"class":4426},[4408,7412,3654],{"class":4981},[4408,7414,3550],{"class":4426},[4408,7416,6778],{"class":4981},[4408,7418,3550],{"class":4426},[4408,7420,5011],{"class":4981},[4408,7422,3550],{"class":4426},[4408,7424,5006],{"class":4981},[4408,7426,3550],{"class":4426},[4408,7428,5807],{"class":4981},[4408,7430,4984],{"class":4426},[4408,7432,4987],{"class":4974},[4408,7434,5018],{"class":4438},[4408,7436,4993],{"class":4426},[4408,7438,7439],{"class":4410,"line":4601},[4408,7440,4611],{"emptyLinePlaceholder":4610},[4408,7442,7443,7445,7447,7449,7451],{"class":4410,"line":4607},[4408,7444,5029],{"class":4974},[4408,7446,5787],{"class":4974},[4408,7448,5032],{"class":4422},[4408,7450,5792],{"class":4430},[4408,7452,5038],{"class":4426},[4408,7454,7455,7457,7459,7461,7463,7465,7467],{"class":4410,"line":4614},[4408,7456,5043],{"class":4422},[4408,7458,5801],{"class":5049},[4408,7460,5804],{"class":4426},[4408,7462,5807],{"class":4430},[4408,7464,5810],{"class":4426},[4408,7466,5813],{"class":4438},[4408,7468,4993],{"class":4426},[4408,7470,7471,7473,7475,7477,7479,7481,7483,7485,7487],{"class":4410,"line":4620},[4408,7472,5043],{"class":4422},[4408,7474,5822],{"class":5049},[4408,7476,5804],{"class":4426},[4408,7478,5827],{"class":4981},[4408,7480,5830],{"class":4426},[4408,7482,5833],{"class":4438},[4408,7484,5836],{"class":4426},[4408,7486,5839],{"class":4438},[4408,7488,4993],{"class":4426},[4408,7490,7491,7493,7495,7497,7499,7501,7503,7505,7507],{"class":4410,"line":4626},[4408,7492,5043],{"class":4422},[4408,7494,5871],{"class":5049},[4408,7496,5804],{"class":4426},[4408,7498,5827],{"class":4981},[4408,7500,5830],{"class":4426},[4408,7502,5880],{"class":4438},[4408,7504,5836],{"class":4426},[4408,7506,5885],{"class":4438},[4408,7508,4993],{"class":4426},[4408,7510,7511,7513,7516,7518,7520,7522,7525,7527,7530],{"class":4410,"line":4632},[4408,7512,5043],{"class":4422},[4408,7514,7515],{"class":5049}," primary",[4408,7517,5804],{"class":4426},[4408,7519,5827],{"class":4981},[4408,7521,5830],{"class":4426},[4408,7523,7524],{"class":4438},"'#3b82f6'",[4408,7526,5836],{"class":4426},[4408,7528,7529],{"class":4438},"'#2563eb'",[4408,7531,4993],{"class":4426},[4408,7533,7534,7536,7538,7541,7543,7546,7548,7550,7552,7555],{"class":4410,"line":4638},[4408,7535,5043],{"class":4422},[4408,7537,5046],{"class":4426},[4408,7539,7540],{"class":5049},"n",[4408,7542,3550],{"class":4426},[4408,7544,7545],{"class":5049},"setN",[4408,7547,5058],{"class":4426},[4408,7549,4390],{"class":4430},[4408,7551,4435],{"class":4426},[4408,7553,7554],{"class":6042},"0",[4408,7556,5068],{"class":4426},[4408,7558,7559],{"class":4410,"line":4644},[4408,7560,4611],{"emptyLinePlaceholder":4610},[4408,7562,7563,7565],{"class":4410,"line":4649},[4408,7564,5077],{"class":4974},[4408,7566,5080],{"class":4426},[4408,7568,7569,7571,7573,7575,7577,7579,7581,7583,7585,7588,7590,7592,7594,7596,7598],{"class":4410,"line":4655},[4408,7570,5085],{"class":4414},[4408,7572,5006],{"class":5088},[4408,7574,6112],{"class":5123},[4408,7576,5127],{"class":4426},[4408,7578,5130],{"class":4422},[4408,7580,6223],{"class":4434},[4408,7582,6226],{"class":4981},[4408,7584,3646],{"class":4434},[4408,7586,7587],{"class":4981},"screen",[4408,7589,6233],{"class":4434},[4408,7591,6048],{"class":4981},[4408,7593,5822],{"class":4981},[4408,7595,6240],{"class":4434},[4408,7597,4444],{"class":4422},[4408,7599,5091],{"class":4414},[4408,7601,7602,7604,7606,7608,7610,7612,7614,7616,7618,7620,7622,7624,7626,7628,7631,7633,7635,7637,7640,7642,7644],{"class":4410,"line":4661},[4408,7603,5096],{"class":4414},[4408,7605,5011],{"class":5088},[4408,7607,6112],{"class":5123},[4408,7609,5127],{"class":4426},[4408,7611,5130],{"class":4422},[4408,7613,6036],{"class":4434},[4408,7615,6121],{"class":4981},[4408,7617,5871],{"class":4981},[4408,7619,3550],{"class":4434},[4408,7621,6128],{"class":4981},[4408,7623,6131],{"class":4438},[4408,7625,3550],{"class":4434},[4408,7627,6136],{"class":4981},[4408,7629,7630],{"class":6042}," 20",[4408,7632,6053],{"class":4434},[4408,7634,4444],{"class":4422},[4408,7636,5101],{"class":4414},[4408,7638,7639],{"class":4426},"Дія форми",[4408,7641,5107],{"class":4414},[4408,7643,5011],{"class":5088},[4408,7645,5091],{"class":4414},[4408,7647,7648,7650,7652,7654,7656,7658,7660,7662,7664,7666,7669,7671,7673,7675,7677,7680,7682,7684,7686,7688,7690],{"class":4410,"line":4667},[4408,7649,5096],{"class":4414},[4408,7651,5011],{"class":5088},[4408,7653,6112],{"class":5123},[4408,7655,5127],{"class":4426},[4408,7657,5130],{"class":4422},[4408,7659,6036],{"class":4434},[4408,7661,6121],{"class":4981},[4408,7663,5871],{"class":4981},[4408,7665,3550],{"class":4434},[4408,7667,7668],{"class":4981},"marginVertical:",[4408,7670,6799],{"class":6042},[4408,7672,6053],{"class":4434},[4408,7674,4444],{"class":4422},[4408,7676,5101],{"class":4414},[4408,7678,7679],{"class":4426},"Натискань: ",[4408,7681,5130],{"class":4422},[4408,7683,7540],{"class":4981},[4408,7685,4444],{"class":4422},[4408,7687,5107],{"class":4414},[4408,7689,5011],{"class":5088},[4408,7691,5091],{"class":4414},[4408,7693,7694,7696],{"class":4410,"line":4672},[4408,7695,5096],{"class":4414},[4408,7697,7034],{"class":5088},[4408,7699,7700,7703,7705,7707,7710,7712,7715,7718,7721,7724,7726,7729,7732,7734,7736],{"class":4410,"line":4677},[4408,7701,7702],{"class":5123},"        onPress",[4408,7704,5127],{"class":4426},[4408,7706,5130],{"class":4422},[4408,7708,7709],{"class":4434},"() ",[4408,7711,7089],{"class":4422},[4408,7713,7714],{"class":4430}," setN",[4408,7716,7717],{"class":4434},"((",[4408,7719,7720],{"class":4981},"x",[4408,7722,7723],{"class":4434},") ",[4408,7725,7089],{"class":4422},[4408,7727,7728],{"class":4981}," x",[4408,7730,7731],{"class":4426}," +",[4408,7733,6043],{"class":6042},[4408,7735,4292],{"class":4434},[4408,7737,4641],{"class":4422},[4408,7739,7740,7742,7744,7746,7748,7750,7752,7754],{"class":4410,"line":4683},[4408,7741,6349],{"class":5123},[4408,7743,5127],{"class":4426},[4408,7745,5130],{"class":4422},[4408,7747,7080],{"class":4434},[4408,7749,7083],{"class":4981},[4408,7751,7086],{"class":4434},[4408,7753,7089],{"class":4422},[4408,7755,7092],{"class":4434},[4408,7757,7758,7760,7762,7764],{"class":4410,"line":4689},[4408,7759,6684],{"class":4981},[4408,7761,3646],{"class":4434},[4408,7763,7102],{"class":4981},[4408,7765,5737],{"class":4434},[4408,7767,7768,7770,7772,7774,7776,7779,7782,7784,7787,7789,7791],{"class":4410,"line":4695},[4408,7769,6708],{"class":4434},[4408,7771,6048],{"class":4981},[4408,7773,7515],{"class":4981},[4408,7775,3550],{"class":4434},[4408,7777,7778],{"class":4981},"opacity:",[4408,7780,7781],{"class":4981}," pressed",[4408,7783,7189],{"class":4426},[4408,7785,7786],{"class":6042}," 0.85",[4408,7788,7195],{"class":4426},[4408,7790,6043],{"class":6042},[4408,7792,6727],{"class":4434},[4408,7794,7795,7797],{"class":4410,"line":4700},[4408,7796,6733],{"class":4434},[4408,7798,4641],{"class":4422},[4408,7800,7801],{"class":4410,"line":4706},[4408,7802,7803],{"class":4414},"      >\n",[4408,7805,7806,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7830,7832,7834],{"class":4410,"line":4712},[4408,7807,7808],{"class":4414},"        \u003C",[4408,7810,5011],{"class":5088},[4408,7812,6112],{"class":5123},[4408,7814,5127],{"class":4426},[4408,7816,5130],{"class":4422},[4408,7818,6226],{"class":4981},[4408,7820,3646],{"class":4434},[4408,7822,7175],{"class":4981},[4408,7824,4444],{"class":4422},[4408,7826,5101],{"class":4414},[4408,7828,7829],{"class":4426},"Надіслати",[4408,7831,5107],{"class":4414},[4408,7833,5011],{"class":5088},[4408,7835,5091],{"class":4414},[4408,7837,7838,7840,7842],{"class":4410,"line":4717},[4408,7839,6198],{"class":4414},[4408,7841,3654],{"class":5088},[4408,7843,5091],{"class":4414},[4408,7845,7846,7848,7850],{"class":4410,"line":4722},[4408,7847,5177],{"class":4414},[4408,7849,5006],{"class":5088},[4408,7851,5091],{"class":4414},[4408,7853,7854],{"class":4410,"line":6058},[4408,7855,5186],{"class":4426},[4408,7857,7858],{"class":4410,"line":6088},[4408,7859,4641],{"class":4426},[4408,7861,7862],{"class":4410,"line":6099},[4408,7863,4611],{"emptyLinePlaceholder":4610},[4408,7865,7866,7868,7870,7872,7874,7876,7878],{"class":4410,"line":6105},[4408,7867,6770],{"class":4422},[4408,7869,6773],{"class":5049},[4408,7871,5804],{"class":4426},[4408,7873,6778],{"class":4981},[4408,7875,3646],{"class":4426},[4408,7877,6783],{"class":4430},[4408,7879,6786],{"class":4426},[4408,7881,7882,7885,7887,7889,7891,7893,7895,7897,7899,7902,7905],{"class":4410,"line":6157},[4408,7883,7884],{"class":4981},"  screen:",[4408,7886,4978],{"class":4426},[4408,7888,6039],{"class":4981},[4408,7890,6043],{"class":6042},[4408,7892,3550],{"class":4426},[4408,7894,6070],{"class":4981},[4408,7896,6073],{"class":6042},[4408,7898,3550],{"class":4426},[4408,7900,7901],{"class":4981},"justifyContent:",[4408,7903,7904],{"class":4438}," 'center'",[4408,7906,6727],{"class":4426},[4408,7908,7909,7912,7914,7917,7919,7921,7924,7926,7928,7931,7933],{"class":4410,"line":6189},[4408,7910,7911],{"class":4981},"  btn:",[4408,7913,4978],{"class":4426},[4408,7915,7916],{"class":4981},"paddingVertical:",[4408,7918,6081],{"class":6042},[4408,7920,3550],{"class":4426},[4408,7922,7923],{"class":4981},"borderRadius:",[4408,7925,6799],{"class":6042},[4408,7927,3550],{"class":4426},[4408,7929,7930],{"class":4981},"alignItems:",[4408,7932,7904],{"class":4438},[4408,7934,6727],{"class":4426},[4408,7936,7937,7940,7942,7944,7947,7949,7951,7953],{"class":4410,"line":6195},[4408,7938,7939],{"class":4981},"  btnText:",[4408,7941,4978],{"class":4426},[4408,7943,6121],{"class":4981},[4408,7945,7946],{"class":4438}," '#fff'",[4408,7948,3550],{"class":4426},[4408,7950,6128],{"class":4981},[4408,7952,6131],{"class":4438},[4408,7954,6727],{"class":4426},[4408,7956,7957],{"class":4410,"line":6205},[4408,7958,6913],{"class":4426},[3806,7960],{},[3507,7962,7964,7966],{"id":7963},"switch-перемикач-так-ні",[3540,7965,3668],{}," — перемикач так \u002F ні",[3512,7968,7969,7973,7974,7977],{},[3516,7970,7971],{},[3540,7972,3668],{}," — вбудований компонент React Native, який показує ",[3516,7975,7976],{},"бінарний"," стан у вигляді перемикача (як «Wi‑Fi увімкнено» в налаштуваннях телефону).",[3997,7979,7981],{"id":7980},"коли-обирати-switch-а-не-checkbox","Коли обирати Switch, а не Checkbox",[3774,7983,7984,7993],{},[3575,7985,7986,7988,7989,7992],{},[3516,7987,3668],{}," — налаштування, що «живе» постійно: приватність, темна тема, «надсилати сповіщення». Очікування: посунув — ",[3516,7990,7991],{},"одразу"," застосувалось (або одразу потрапило в state форми).",[3575,7994,7995,7997],{},[3516,7996,3671],{}," — згода, пункт у списку опцій, «я маю план маршруту». Візуально ближче до «позначити галочкою».",[3512,7999,8000,8001,8003,8004,8007],{},"Обидва тримають ",[3540,8002,5405],{},". Різниця — ",[3516,8005,8006],{},"UX-звичка"," і вигляд.",[3997,8009,8011],{"id":8010},"базовий-приклад","Базовий приклад",[4399,8013,8015],{"className":4401,"code":8014,"language":4403,"meta":4404,"style":4404},"import { useState } from 'react';\nimport { Switch, Text, View } from 'react-native';\n\nexport function PrivateToggle() {\n  const [isPrivate, setIsPrivate] = useState(false);\n\n  return (\n    \u003CView style={{ flexDirection: 'row', alignItems: 'center', gap: 12 }}>\n      \u003CText style={{ flex: 1 }}>Приватна поїздка\u003C\u002FText>\n      \u003CSwitch value={isPrivate} onValueChange={setIsPrivate} \u002F>\n    \u003C\u002FView>\n  );\n}\n",[3540,8016,8017,8033,8057,8061,8072,8096,8100,8106,8144,8177,8207,8215,8219],{"__ignoreMap":4404},[4408,8018,8019,8021,8023,8025,8027,8029,8031],{"class":4410,"line":4411},[4408,8020,4975],{"class":4974},[4408,8022,4978],{"class":4426},[4408,8024,4390],{"class":4981},[4408,8026,4984],{"class":4426},[4408,8028,4987],{"class":4974},[4408,8030,4990],{"class":4438},[4408,8032,4993],{"class":4426},[4408,8034,8035,8037,8039,8041,8043,8045,8047,8049,8051,8053,8055],{"class":4410,"line":4595},[4408,8036,4975],{"class":4974},[4408,8038,4978],{"class":4426},[4408,8040,3668],{"class":4981},[4408,8042,3550],{"class":4426},[4408,8044,5011],{"class":4981},[4408,8046,3550],{"class":4426},[4408,8048,5006],{"class":4981},[4408,8050,4984],{"class":4426},[4408,8052,4987],{"class":4974},[4408,8054,5018],{"class":4438},[4408,8056,4993],{"class":4426},[4408,8058,8059],{"class":4410,"line":4601},[4408,8060,4611],{"emptyLinePlaceholder":4610},[4408,8062,8063,8065,8067,8070],{"class":4410,"line":4607},[4408,8064,5029],{"class":4974},[4408,8066,5032],{"class":4422},[4408,8068,8069],{"class":4430}," PrivateToggle",[4408,8071,5038],{"class":4426},[4408,8073,8074,8076,8078,8081,8083,8086,8088,8090,8092,8094],{"class":4410,"line":4614},[4408,8075,5043],{"class":4422},[4408,8077,5046],{"class":4426},[4408,8079,8080],{"class":5049},"isPrivate",[4408,8082,3550],{"class":4426},[4408,8084,8085],{"class":5049},"setIsPrivate",[4408,8087,5058],{"class":4426},[4408,8089,4390],{"class":4430},[4408,8091,4435],{"class":4426},[4408,8093,5411],{"class":4422},[4408,8095,5068],{"class":4426},[4408,8097,8098],{"class":4410,"line":4620},[4408,8099,4611],{"emptyLinePlaceholder":4610},[4408,8101,8102,8104],{"class":4410,"line":4626},[4408,8103,5077],{"class":4974},[4408,8105,5080],{"class":4426},[4408,8107,8108,8110,8112,8114,8116,8118,8120,8123,8126,8128,8130,8132,8134,8136,8138,8140,8142],{"class":4410,"line":4632},[4408,8109,5085],{"class":4414},[4408,8111,5006],{"class":5088},[4408,8113,6112],{"class":5123},[4408,8115,5127],{"class":4426},[4408,8117,5130],{"class":4422},[4408,8119,6036],{"class":4434},[4408,8121,8122],{"class":4981},"flexDirection:",[4408,8124,8125],{"class":4438}," 'row'",[4408,8127,3550],{"class":4434},[4408,8129,7930],{"class":4981},[4408,8131,7904],{"class":4438},[4408,8133,3550],{"class":4434},[4408,8135,6078],{"class":4981},[4408,8137,6799],{"class":6042},[4408,8139,6053],{"class":4434},[4408,8141,4444],{"class":4422},[4408,8143,5091],{"class":4414},[4408,8145,8146,8148,8150,8152,8154,8156,8158,8160,8162,8164,8166,8168,8171,8173,8175],{"class":4410,"line":4638},[4408,8147,5096],{"class":4414},[4408,8149,5011],{"class":5088},[4408,8151,6112],{"class":5123},[4408,8153,5127],{"class":4426},[4408,8155,5130],{"class":4422},[4408,8157,6036],{"class":4434},[4408,8159,6039],{"class":4981},[4408,8161,6043],{"class":6042},[4408,8163,6053],{"class":4434},[4408,8165,4444],{"class":4422},[4408,8167,5101],{"class":4414},[4408,8169,8170],{"class":4426},"Приватна поїздка",[4408,8172,5107],{"class":4414},[4408,8174,5011],{"class":5088},[4408,8176,5091],{"class":4414},[4408,8178,8179,8181,8183,8186,8188,8190,8192,8194,8197,8199,8201,8203,8205],{"class":4410,"line":4644},[4408,8180,5096],{"class":4414},[4408,8182,3668],{"class":5088},[4408,8184,8185],{"class":5123}," value",[4408,8187,5127],{"class":4426},[4408,8189,5130],{"class":4422},[4408,8191,8080],{"class":4981},[4408,8193,4444],{"class":4422},[4408,8195,8196],{"class":5123}," onValueChange",[4408,8198,5127],{"class":4426},[4408,8200,5130],{"class":4422},[4408,8202,8085],{"class":4981},[4408,8204,4444],{"class":4422},[4408,8206,4447],{"class":4414},[4408,8208,8209,8211,8213],{"class":4410,"line":4649},[4408,8210,5177],{"class":4414},[4408,8212,5006],{"class":5088},[4408,8214,5091],{"class":4414},[4408,8216,8217],{"class":4410,"line":4655},[4408,8218,5186],{"class":4426},[4408,8220,8221],{"class":4410,"line":4661},[4408,8222,4641],{"class":4426},[3997,8224,8226],{"id":8225},"props","Props",[5258,8228,8229,8256,8284,8287,8307,8314],{},[5261,8230,8231,8249],{"name":3641,"type":5405},[3512,8232,8233,8234,8236,8237,8239,8240,8242,8243,8246,8247,3646],{},"Поточний стан перемикача: ",[3540,8235,5651],{}," — «увімкнено» (thumb праворуч \u002F активний колір), ",[3540,8238,5411],{}," — «вимкнено». Як і в ",[3540,8241,3637],{},", для контрольованого режиму ви ",[3516,8244,8245],{},"зобов’язані"," тримати це значення в state або RHF і оновлювати його з ",[3540,8248,4803],{},[3512,8250,8251,8252,8255],{},"Якщо передати ",[3540,8253,8254],{},"value={true}"," і ніколи не змінювати — Switch виглядатиме увімкненим, але жест користувача «не прилипне» до даних форми.",[5261,8257,8259,8276],{"name":4803,"type":8258},"(value: boolean) => void",[3512,8260,8261,8262,8265,8266,8269,8270,4006,8272,4324,8274,3646],{},"Викликається, коли людина ",[3516,8263,8264],{},"завершила"," жест перемикання. Аргумент — уже ",[3516,8267,8268],{},"новий"," boolean (не event). Сюди кладуть ",[3540,8271,8085],{},[3540,8273,3553],{},[3540,8275,3701],{},[3512,8277,8278,8279,4006,8281,8283],{},"На відміну від слайдера, тут немає «проміжних» значень під час анімації: прийшов ",[3540,8280,5651],{},[3540,8282,5411],{}," — і це фінальний стан після жесту.",[5261,8285,8286],{"name":7005,"type":5405},"Забороняє зміну. Візуально Switch зазвичай стає тьмянішим; тапи ігноруються. Корисно під час submit («зачекайте, зберігаємо…») або коли опція недоступна через інше поле (наприклад, приватність вимкнена політикою акаунта).",[5261,8288,8291,8301],{"name":8289,"type":8290},"trackColor","{ false?: color, true?: color }",[3512,8292,8293,8294,8297,8298,8300],{},"Колір ",[3516,8295,8296],{},"доріжки"," (фону «ковбаски») окремо для вимкненого й увімкненого стану. У світлій темі часто: вимкнено — нейтральний border\u002Fgray, увімкнено — ",[3540,8299,7277],{}," бренду.",[3512,8302,8303,8304,8306],{},"Без налаштування отримаєте системні кольори, які можуть ",[3516,8305,3738],{}," збігатися з вашою темою Nomad \u002F light-dark.",[5261,8308,8293,8310,8313],{"name":8309,"type":5382},"thumbColor",[3516,8311,8312],{},"кружечка"," (thumb), який їздить по доріжці. На Android без явного кольору thumb інколи зливається з треком. У курсових прикладах часто білий\u002FonPrimary на кольоровому primary-треку.",[5261,8315,8317,8328],{"name":8316,"type":5382},"ios_backgroundColor",[3512,8318,8319,8320,8323,8324,8327],{},"Специфічно для ",[3516,8321,8322],{},"iOS",": колір фону треку, коли Switch ",[3516,8325,8326],{},"вимкнений",". Якщо його не задати, у темній темі вимкнений Switch інколи майже зливається з фоном картки.",[3512,8329,8330,8331,3646],{},"На Android цей prop ігнорується — там достатньо ",[3540,8332,8333],{},"trackColor.false",[3997,8335,8337],{"id":8336},"демо","Демо",[5696,8339,8343],{"device":5698,"filename":8340,"height":8341,"title":8342},"SwitchDemo.tsx",360,"Switch · приватність",[4399,8344,8346],{"className":4401,"code":8345,"language":4403,"meta":4404,"style":4404},"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",[3540,8347,8348,8364,8396,8400,8412,8428,8448,8468,8488,8508,8528,8548,8572,8576,8582,8614,8653,8677,8716,8754,8773,8782,8791,8798,8811,8824,8851,8861,8866,8874,8882,8886,8890,8894,8910,8934,8941,8950,8959,8968,8977,8985,8993,8997],{"__ignoreMap":4404},[4408,8349,8350,8352,8354,8356,8358,8360,8362],{"class":4410,"line":4411},[4408,8351,4975],{"class":4974},[4408,8353,4978],{"class":4426},[4408,8355,4390],{"class":4981},[4408,8357,4984],{"class":4426},[4408,8359,4987],{"class":4974},[4408,8361,4990],{"class":4438},[4408,8363,4993],{"class":4426},[4408,8365,8366,8368,8370,8372,8374,8376,8378,8380,8382,8384,8386,8388,8390,8392,8394],{"class":4410,"line":4595},[4408,8367,4975],{"class":4974},[4408,8369,4978],{"class":4426},[4408,8371,6778],{"class":4981},[4408,8373,3550],{"class":4426},[4408,8375,3668],{"class":4981},[4408,8377,3550],{"class":4426},[4408,8379,5011],{"class":4981},[4408,8381,3550],{"class":4426},[4408,8383,5006],{"class":4981},[4408,8385,3550],{"class":4426},[4408,8387,5807],{"class":4981},[4408,8389,4984],{"class":4426},[4408,8391,4987],{"class":4974},[4408,8393,5018],{"class":4438},[4408,8395,4993],{"class":4426},[4408,8397,8398],{"class":4410,"line":4601},[4408,8399,4611],{"emptyLinePlaceholder":4610},[4408,8401,8402,8404,8406,8408,8410],{"class":4410,"line":4607},[4408,8403,5029],{"class":4974},[4408,8405,5787],{"class":4974},[4408,8407,5032],{"class":4422},[4408,8409,5792],{"class":4430},[4408,8411,5038],{"class":4426},[4408,8413,8414,8416,8418,8420,8422,8424,8426],{"class":4410,"line":4614},[4408,8415,5043],{"class":4422},[4408,8417,5801],{"class":5049},[4408,8419,5804],{"class":4426},[4408,8421,5807],{"class":4430},[4408,8423,5810],{"class":4426},[4408,8425,5813],{"class":4438},[4408,8427,4993],{"class":4426},[4408,8429,8430,8432,8434,8436,8438,8440,8442,8444,8446],{"class":4410,"line":4620},[4408,8431,5043],{"class":4422},[4408,8433,5822],{"class":5049},[4408,8435,5804],{"class":4426},[4408,8437,5827],{"class":4981},[4408,8439,5830],{"class":4426},[4408,8441,5833],{"class":4438},[4408,8443,5836],{"class":4426},[4408,8445,5839],{"class":4438},[4408,8447,4993],{"class":4426},[4408,8449,8450,8452,8454,8456,8458,8460,8462,8464,8466],{"class":4410,"line":4626},[4408,8451,5043],{"class":4422},[4408,8453,5848],{"class":5049},[4408,8455,5804],{"class":4426},[4408,8457,5827],{"class":4981},[4408,8459,5830],{"class":4426},[4408,8461,5857],{"class":4438},[4408,8463,5836],{"class":4426},[4408,8465,5862],{"class":4438},[4408,8467,4993],{"class":4426},[4408,8469,8470,8472,8474,8476,8478,8480,8482,8484,8486],{"class":4410,"line":4632},[4408,8471,5043],{"class":4422},[4408,8473,5871],{"class":5049},[4408,8475,5804],{"class":4426},[4408,8477,5827],{"class":4981},[4408,8479,5830],{"class":4426},[4408,8481,5880],{"class":4438},[4408,8483,5836],{"class":4426},[4408,8485,5885],{"class":4438},[4408,8487,4993],{"class":4426},[4408,8489,8490,8492,8494,8496,8498,8500,8502,8504,8506],{"class":4410,"line":4638},[4408,8491,5043],{"class":4422},[4408,8493,5894],{"class":5049},[4408,8495,5804],{"class":4426},[4408,8497,5827],{"class":4981},[4408,8499,5830],{"class":4426},[4408,8501,5903],{"class":4438},[4408,8503,5836],{"class":4426},[4408,8505,5908],{"class":4438},[4408,8507,4993],{"class":4426},[4408,8509,8510,8512,8514,8516,8518,8520,8522,8524,8526],{"class":4410,"line":4644},[4408,8511,5043],{"class":4422},[4408,8513,5917],{"class":5049},[4408,8515,5804],{"class":4426},[4408,8517,5827],{"class":4981},[4408,8519,5830],{"class":4426},[4408,8521,5926],{"class":4438},[4408,8523,5836],{"class":4426},[4408,8525,5931],{"class":4438},[4408,8527,4993],{"class":4426},[4408,8529,8530,8532,8534,8536,8538,8540,8542,8544,8546],{"class":4410,"line":4649},[4408,8531,5043],{"class":4422},[4408,8533,7515],{"class":5049},[4408,8535,5804],{"class":4426},[4408,8537,5827],{"class":4981},[4408,8539,5830],{"class":4426},[4408,8541,7524],{"class":4438},[4408,8543,5836],{"class":4426},[4408,8545,7529],{"class":4438},[4408,8547,4993],{"class":4426},[4408,8549,8550,8552,8554,8557,8559,8562,8564,8566,8568,8570],{"class":4410,"line":4655},[4408,8551,5043],{"class":4422},[4408,8553,5046],{"class":4426},[4408,8555,8556],{"class":5049},"on",[4408,8558,3550],{"class":4426},[4408,8560,8561],{"class":5049},"setOn",[4408,8563,5058],{"class":4426},[4408,8565,4390],{"class":4430},[4408,8567,4435],{"class":4426},[4408,8569,5411],{"class":4422},[4408,8571,5068],{"class":4426},[4408,8573,8574],{"class":4410,"line":4661},[4408,8575,4611],{"emptyLinePlaceholder":4610},[4408,8577,8578,8580],{"class":4410,"line":4667},[4408,8579,5077],{"class":4974},[4408,8581,5080],{"class":4426},[4408,8583,8584,8586,8588,8590,8592,8594,8596,8598,8600,8602,8604,8606,8608,8610,8612],{"class":4410,"line":4672},[4408,8585,5085],{"class":4414},[4408,8587,5006],{"class":5088},[4408,8589,6112],{"class":5123},[4408,8591,5127],{"class":4426},[4408,8593,5130],{"class":4422},[4408,8595,6223],{"class":4434},[4408,8597,6226],{"class":4981},[4408,8599,3646],{"class":4434},[4408,8601,7587],{"class":4981},[4408,8603,6233],{"class":4434},[4408,8605,6048],{"class":4981},[4408,8607,5822],{"class":4981},[4408,8609,6240],{"class":4434},[4408,8611,4444],{"class":4422},[4408,8613,5091],{"class":4414},[4408,8615,8616,8618,8620,8622,8624,8626,8628,8630,8632,8635,8637,8639,8641,8643,8645,8647,8649,8651],{"class":4410,"line":4677},[4408,8617,5096],{"class":4414},[4408,8619,5006],{"class":5088},[4408,8621,6112],{"class":5123},[4408,8623,5127],{"class":4426},[4408,8625,5130],{"class":4422},[4408,8627,6223],{"class":4434},[4408,8629,6226],{"class":4981},[4408,8631,3646],{"class":4434},[4408,8633,8634],{"class":4981},"row",[4408,8636,6233],{"class":4434},[4408,8638,6048],{"class":4981},[4408,8640,5848],{"class":4981},[4408,8642,3550],{"class":4434},[4408,8644,6372],{"class":4981},[4408,8646,5917],{"class":4981},[4408,8648,6240],{"class":4434},[4408,8650,4444],{"class":4422},[4408,8652,5091],{"class":4414},[4408,8654,8655,8657,8659,8661,8663,8665,8667,8669,8671,8673,8675],{"class":4410,"line":4683},[4408,8656,7808],{"class":4414},[4408,8658,5006],{"class":5088},[4408,8660,6112],{"class":5123},[4408,8662,5127],{"class":4426},[4408,8664,5130],{"class":4422},[4408,8666,6036],{"class":4434},[4408,8668,6039],{"class":4981},[4408,8670,6043],{"class":6042},[4408,8672,6053],{"class":4434},[4408,8674,4444],{"class":4422},[4408,8676,5091],{"class":4414},[4408,8678,8679,8682,8684,8686,8688,8690,8692,8694,8696,8698,8700,8702,8704,8706,8708,8710,8712,8714],{"class":4410,"line":4689},[4408,8680,8681],{"class":4414},"          \u003C",[4408,8683,5011],{"class":5088},[4408,8685,6112],{"class":5123},[4408,8687,5127],{"class":4426},[4408,8689,5130],{"class":4422},[4408,8691,6036],{"class":4434},[4408,8693,6121],{"class":4981},[4408,8695,5871],{"class":4981},[4408,8697,3550],{"class":4434},[4408,8699,6128],{"class":4981},[4408,8701,6806],{"class":4438},[4408,8703,6053],{"class":4434},[4408,8705,4444],{"class":4422},[4408,8707,5101],{"class":4414},[4408,8709,8170],{"class":4426},[4408,8711,5107],{"class":4414},[4408,8713,5011],{"class":5088},[4408,8715,5091],{"class":4414},[4408,8717,8718,8720,8722,8724,8726,8728,8730,8732,8734,8736,8739,8742,8744,8746,8748,8750,8752],{"class":4410,"line":4695},[4408,8719,8681],{"class":4414},[4408,8721,5011],{"class":5088},[4408,8723,6112],{"class":5123},[4408,8725,5127],{"class":4426},[4408,8727,5130],{"class":4422},[4408,8729,6036],{"class":4434},[4408,8731,6121],{"class":4981},[4408,8733,5894],{"class":4981},[4408,8735,3550],{"class":4434},[4408,8737,8738],{"class":4981},"marginTop:",[4408,8740,8741],{"class":6042}," 4",[4408,8743,3550],{"class":4434},[4408,8745,6136],{"class":4981},[4408,8747,6180],{"class":6042},[4408,8749,6053],{"class":4434},[4408,8751,4444],{"class":4422},[4408,8753,5091],{"class":4414},[4408,8755,8756,8759,8761,8763,8766,8768,8771],{"class":4410,"line":4700},[4408,8757,8758],{"class":4422},"            {",[4408,8760,8556],{"class":4981},[4408,8762,7189],{"class":4426},[4408,8764,8765],{"class":4438}," 'Не показувати в спільній стрічці'",[4408,8767,7195],{"class":4426},[4408,8769,8770],{"class":4438}," 'Видно у загальному списку'",[4408,8772,4641],{"class":4422},[4408,8774,8775,8778,8780],{"class":4410,"line":4706},[4408,8776,8777],{"class":4414},"          \u003C\u002F",[4408,8779,5011],{"class":5088},[4408,8781,5091],{"class":4414},[4408,8783,8784,8787,8789],{"class":4410,"line":4712},[4408,8785,8786],{"class":4414},"        \u003C\u002F",[4408,8788,5006],{"class":5088},[4408,8790,5091],{"class":4414},[4408,8792,8793,8795],{"class":4410,"line":4717},[4408,8794,7808],{"class":4414},[4408,8796,8797],{"class":5088},"Switch\n",[4408,8799,8800,8803,8805,8807,8809],{"class":4410,"line":4722},[4408,8801,8802],{"class":5123},"          value",[4408,8804,5127],{"class":4426},[4408,8806,5130],{"class":4422},[4408,8808,8556],{"class":4981},[4408,8810,4641],{"class":4422},[4408,8812,8813,8816,8818,8820,8822],{"class":4410,"line":6058},[4408,8814,8815],{"class":5123},"          onValueChange",[4408,8817,5127],{"class":4426},[4408,8819,5130],{"class":4422},[4408,8821,8561],{"class":4981},[4408,8823,4641],{"class":4422},[4408,8825,8826,8829,8831,8833,8835,8838,8840,8842,8845,8847,8849],{"class":4410,"line":6088},[4408,8827,8828],{"class":5123},"          trackColor",[4408,8830,5127],{"class":4426},[4408,8832,5130],{"class":4422},[4408,8834,6036],{"class":4434},[4408,8836,8837],{"class":4981},"false:",[4408,8839,5917],{"class":4981},[4408,8841,3550],{"class":4434},[4408,8843,8844],{"class":4981},"true:",[4408,8846,7515],{"class":4981},[4408,8848,6053],{"class":4434},[4408,8850,4641],{"class":4422},[4408,8852,8853,8856,8858],{"class":4410,"line":6099},[4408,8854,8855],{"class":5123},"          thumbColor",[4408,8857,5127],{"class":4426},[4408,8859,8860],{"class":4438},"\"#fff\"\n",[4408,8862,8863],{"class":4410,"line":6105},[4408,8864,8865],{"class":4414},"        \u002F>\n",[4408,8867,8868,8870,8872],{"class":4410,"line":6157},[4408,8869,6198],{"class":4414},[4408,8871,5006],{"class":5088},[4408,8873,5091],{"class":4414},[4408,8875,8876,8878,8880],{"class":4410,"line":6189},[4408,8877,5177],{"class":4414},[4408,8879,5006],{"class":5088},[4408,8881,5091],{"class":4414},[4408,8883,8884],{"class":4410,"line":6195},[4408,8885,5186],{"class":4426},[4408,8887,8888],{"class":4410,"line":6205},[4408,8889,4641],{"class":4426},[4408,8891,8892],{"class":4410,"line":6210},[4408,8893,4611],{"emptyLinePlaceholder":4610},[4408,8895,8896,8898,8900,8902,8904,8906,8908],{"class":4410,"line":6256},[4408,8897,6770],{"class":4422},[4408,8899,6773],{"class":5049},[4408,8901,5804],{"class":4426},[4408,8903,6778],{"class":4981},[4408,8905,3646],{"class":4426},[4408,8907,6783],{"class":4430},[4408,8909,6786],{"class":4426},[4408,8911,8912,8914,8916,8918,8920,8922,8924,8926,8928,8930,8932],{"class":4410,"line":6263},[4408,8913,7884],{"class":4981},[4408,8915,4978],{"class":4426},[4408,8917,6039],{"class":4981},[4408,8919,6043],{"class":6042},[4408,8921,3550],{"class":4426},[4408,8923,6070],{"class":4981},[4408,8925,6073],{"class":6042},[4408,8927,3550],{"class":4426},[4408,8929,7901],{"class":4981},[4408,8931,7904],{"class":4438},[4408,8933,6727],{"class":4426},[4408,8935,8936,8939],{"class":4410,"line":6276},[4408,8937,8938],{"class":4981},"  row:",[4408,8940,5729],{"class":4426},[4408,8942,8943,8946,8948],{"class":4410,"line":6289},[4408,8944,8945],{"class":4981},"    flexDirection:",[4408,8947,8125],{"class":4438},[4408,8949,5737],{"class":4426},[4408,8951,8952,8955,8957],{"class":4410,"line":6299},[4408,8953,8954],{"class":4981},"    alignItems:",[4408,8956,7904],{"class":4438},[4408,8958,5737],{"class":4426},[4408,8960,8961,8964,8966],{"class":4410,"line":6314},[4408,8962,8963],{"class":4981},"    gap:",[4408,8965,6799],{"class":6042},[4408,8967,5737],{"class":4426},[4408,8969,8970,8973,8975],{"class":4410,"line":6325},[4408,8971,8972],{"class":4981},"    padding:",[4408,8974,6073],{"class":6042},[4408,8976,5737],{"class":4426},[4408,8978,8979,8981,8983],{"class":4410,"line":6335},[4408,8980,6840],{"class":4981},[4408,8982,6799],{"class":6042},[4408,8984,5737],{"class":4426},[4408,8986,8987,8989,8991],{"class":4410,"line":6346},[4408,8988,6830],{"class":4981},[4408,8990,6043],{"class":6042},[4408,8992,5737],{"class":4426},[4408,8994,8995],{"class":4410,"line":6387},[4408,8996,6891],{"class":4426},[4408,8998,8999],{"class":4410,"line":6392},[4408,9000,6913],{"class":4426},[3806,9002],{},[3507,9004,9006,9007,4292],{"id":9005},"checkbox-галочка-react-native-communitycheckbox","Checkbox — галочка (",[3540,9008,4288],{},[3512,9010,9011,9013,9014,9017],{},[3516,9012,3671],{}," (прапорець, «галочка») — контроль, де людина ",[3516,9015,9016],{},"позначає"," опцію: «згодна \u002F не згодна», «маю \u002F не маю». Візуально це квадратик (або коло), у якому з’являється ✓.",[3512,9019,9020,9021,9023,9024,4006,9027,9030,9031,9033],{},"На відміну від ",[3540,9022,3668],{}," (перемикач «увімкнено як налаштування»), checkbox у формах часто читається як ",[3516,9025,9026],{},"пункт зі списку умов",[3516,9028,9029],{},"підтвердження"," («я прочитав правила»). Обидва тримають ",[3540,9032,5405],{},"; відрізняється очікування людини й малюнок.",[3512,9035,9036,9037,9039,9040,9044,9045,9047],{},"У core React Native ",[3516,9038,3991],{}," одного готового Checkbox, який однаково виглядає на iOS і Android «з коробки». Тому в екосистемі ставлять пакет ",[3516,9041,9042],{},[3540,9043,4288],{},". Альтернатива на майбутнє — намалювати свій: ",[3540,9046,3654],{}," + іконка; для навчання community-пакет коротший шлях.",[3997,9049,9051],{"id":9050},"встановлення-expo","Встановлення (Expo)",[4399,9053,9057],{"className":9054,"code":9055,"language":9056,"meta":4404,"style":4404},"language-bash shiki shiki-themes light-plus dark-plus dark-plus","npx expo install @react-native-community\u002Fcheckbox\n","bash",[3540,9058,9059],{"__ignoreMap":4404},[4408,9060,9061,9064,9067,9070],{"class":4410,"line":4411},[4408,9062,9063],{"class":4430},"npx",[4408,9065,9066],{"class":4438}," expo",[4408,9068,9069],{"class":4438}," install",[4408,9071,9072],{"class":4438}," @react-native-community\u002Fcheckbox\n",[4498,9074,9075,9085,9095],{},[3512,9076,9077,9080,9081,9084],{},[3516,9078,9079],{},"Попередження про New Architecture."," Під час ",[3540,9082,9083],{},"expo install"," інколи з’являється текст на кшталт «does not support the New Architecture».",[3512,9086,9087,9090,9091,9094],{},[3516,9088,9089],{},"New Architecture"," (нова архітектура React Native) — сучасніший спосіб, яким JavaScript-частина спілкується з нативним UI телефону. Деталі — в окремих статтях курсу про runtime; зараз достатньо знати: ",[3516,9092,9093],{},"деякі старіші community-пакети"," ще не повністю оновлені під цей шлях, і Expo чесно попереджає.",[3512,9096,9097,9098,9100,9101,9104,9105,9107,9108,3918,9110,9112],{},"У навчальному Nomad на Expo SDK 54 ",[3540,9099,4288],{}," зазвичай ",[3516,9102,9103],{},"ставить і працює"," в Expo Go для звичайних форм. Якщо в майбутньому пакет «відвалиться» на вашій версії SDK, запасний план простий: намалювати свій чекбокс — ",[3540,9106,3654],{}," + іконка «порожній \u002F з галочкою» і той самий ",[3540,9109,3641],{},[3540,9111,4803],{}," у state. Для продукту перед релізом перевірте issue-трекер пакета й реальні збірки iOS\u002FAndroid.",[3997,9114,8011],{"id":9115},"базовий-приклад-1",[4399,9117,9119],{"className":4401,"code":9118,"language":4403,"meta":4404,"style":4404},"import { useState } from 'react';\nimport { Text, View } from 'react-native';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\n\nexport function TermsBox() {\n  const [accepted, setAccepted] = useState(false);\n\n  return (\n    \u003CView style={{ flexDirection: 'row', alignItems: 'center', gap: 12 }}>\n      \u003CCheckbox value={accepted} onValueChange={setAccepted} \u002F>\n      \u003CText style={{ flex: 1 }}>Погоджуюсь із збереженням даних на пристрої\u003C\u002FText>\n    \u003C\u002FView>\n  );\n}\n",[3540,9120,9121,9137,9157,9172,9176,9187,9211,9215,9221,9257,9285,9318,9326,9330],{"__ignoreMap":4404},[4408,9122,9123,9125,9127,9129,9131,9133,9135],{"class":4410,"line":4411},[4408,9124,4975],{"class":4974},[4408,9126,4978],{"class":4426},[4408,9128,4390],{"class":4981},[4408,9130,4984],{"class":4426},[4408,9132,4987],{"class":4974},[4408,9134,4990],{"class":4438},[4408,9136,4993],{"class":4426},[4408,9138,9139,9141,9143,9145,9147,9149,9151,9153,9155],{"class":4410,"line":4595},[4408,9140,4975],{"class":4974},[4408,9142,4978],{"class":4426},[4408,9144,5011],{"class":4981},[4408,9146,3550],{"class":4426},[4408,9148,5006],{"class":4981},[4408,9150,4984],{"class":4426},[4408,9152,4987],{"class":4974},[4408,9154,5018],{"class":4438},[4408,9156,4993],{"class":4426},[4408,9158,9159,9161,9164,9167,9170],{"class":4410,"line":4601},[4408,9160,4975],{"class":4974},[4408,9162,9163],{"class":4981}," Checkbox",[4408,9165,9166],{"class":4974}," from",[4408,9168,9169],{"class":4438}," '@react-native-community\u002Fcheckbox'",[4408,9171,4993],{"class":4426},[4408,9173,9174],{"class":4410,"line":4607},[4408,9175,4611],{"emptyLinePlaceholder":4610},[4408,9177,9178,9180,9182,9185],{"class":4410,"line":4614},[4408,9179,5029],{"class":4974},[4408,9181,5032],{"class":4422},[4408,9183,9184],{"class":4430}," TermsBox",[4408,9186,5038],{"class":4426},[4408,9188,9189,9191,9193,9196,9198,9201,9203,9205,9207,9209],{"class":4410,"line":4620},[4408,9190,5043],{"class":4422},[4408,9192,5046],{"class":4426},[4408,9194,9195],{"class":5049},"accepted",[4408,9197,3550],{"class":4426},[4408,9199,9200],{"class":5049},"setAccepted",[4408,9202,5058],{"class":4426},[4408,9204,4390],{"class":4430},[4408,9206,4435],{"class":4426},[4408,9208,5411],{"class":4422},[4408,9210,5068],{"class":4426},[4408,9212,9213],{"class":4410,"line":4626},[4408,9214,4611],{"emptyLinePlaceholder":4610},[4408,9216,9217,9219],{"class":4410,"line":4632},[4408,9218,5077],{"class":4974},[4408,9220,5080],{"class":4426},[4408,9222,9223,9225,9227,9229,9231,9233,9235,9237,9239,9241,9243,9245,9247,9249,9251,9253,9255],{"class":4410,"line":4638},[4408,9224,5085],{"class":4414},[4408,9226,5006],{"class":5088},[4408,9228,6112],{"class":5123},[4408,9230,5127],{"class":4426},[4408,9232,5130],{"class":4422},[4408,9234,6036],{"class":4434},[4408,9236,8122],{"class":4981},[4408,9238,8125],{"class":4438},[4408,9240,3550],{"class":4434},[4408,9242,7930],{"class":4981},[4408,9244,7904],{"class":4438},[4408,9246,3550],{"class":4434},[4408,9248,6078],{"class":4981},[4408,9250,6799],{"class":6042},[4408,9252,6053],{"class":4434},[4408,9254,4444],{"class":4422},[4408,9256,5091],{"class":4414},[4408,9258,9259,9261,9263,9265,9267,9269,9271,9273,9275,9277,9279,9281,9283],{"class":4410,"line":4644},[4408,9260,5096],{"class":4414},[4408,9262,3671],{"class":5088},[4408,9264,8185],{"class":5123},[4408,9266,5127],{"class":4426},[4408,9268,5130],{"class":4422},[4408,9270,9195],{"class":4981},[4408,9272,4444],{"class":4422},[4408,9274,8196],{"class":5123},[4408,9276,5127],{"class":4426},[4408,9278,5130],{"class":4422},[4408,9280,9200],{"class":4981},[4408,9282,4444],{"class":4422},[4408,9284,4447],{"class":4414},[4408,9286,9287,9289,9291,9293,9295,9297,9299,9301,9303,9305,9307,9309,9312,9314,9316],{"class":4410,"line":4649},[4408,9288,5096],{"class":4414},[4408,9290,5011],{"class":5088},[4408,9292,6112],{"class":5123},[4408,9294,5127],{"class":4426},[4408,9296,5130],{"class":4422},[4408,9298,6036],{"class":4434},[4408,9300,6039],{"class":4981},[4408,9302,6043],{"class":6042},[4408,9304,6053],{"class":4434},[4408,9306,4444],{"class":4422},[4408,9308,5101],{"class":4414},[4408,9310,9311],{"class":4426},"Погоджуюсь із збереженням даних на пристрої",[4408,9313,5107],{"class":4414},[4408,9315,5011],{"class":5088},[4408,9317,5091],{"class":4414},[4408,9319,9320,9322,9324],{"class":4410,"line":4655},[4408,9321,5177],{"class":4414},[4408,9323,5006],{"class":5088},[4408,9325,5091],{"class":4414},[4408,9327,9328],{"class":4410,"line":4661},[4408,9329,5186],{"class":4426},[4408,9331,9332],{"class":4410,"line":4667},[4408,9333,4641],{"class":4426},[3997,9335,9337],{"id":9336},"типові-props","Типові props",[5258,9339,9340,9367,9379,9382,9404,9437],{},[5261,9341,9342,9357],{"name":3641,"type":5405},[3512,9343,5633,9344,9347,9348,9350,9351,9353,9354,9356],{},[3516,9345,9346],{},"стоїть галочка"," зараз: ",[3540,9349,5651],{}," — позначено, ",[3540,9352,5411],{}," — порожній квадрат\u002Fколо. Це те саме «контрольоване boolean», що й у ",[3540,9355,3668],{},", лише інша візуальна метафора.",[3512,9358,9359,9360,9362,9363,9366],{},"У формі з обов’язковою згодою default майже завжди ",[3540,9361,5411],{},": людина має ",[3516,9364,9365],{},"свідомо"," поставити галочку, а не отримати «вже погоджено» з коробки.",[5261,9368,9369,9370,9372,9373,9375,9376,9378],{"name":4803,"type":8258},"Колбек після тапу по чекбоксу. Нове значення приходить аргументом. Підключайте до ",[3540,9371,5282],{}," або до ",[3540,9374,3553],{}," з RHF ",[3540,9377,3701],{}," — інакше галочка «не липне» або стрибає назад.",[5261,9380,9381],{"name":7005,"type":5405},"Забороняє зміну (наприклад, поки не прочитали текст угоди, або під час відправки). Зазвичай супроводжується приглушеним виглядом; точна відрисовка залежить від платформи й версії пакета.",[5261,9383,9386,9387,9390,9391,9393,9394,9396,9397,9399,9400,9403],{"name":9384,"type":9385},"tintColors","{ true?: color, false?: color }","Переважно ",[3516,9388,9389],{},"Android",": колір акценту, коли галочка стоїть (",[3540,9392,5651],{},"), і колір рамки\u002Fконтролу, коли порожньо (",[3540,9395,5411],{},"). Підтягніть ",[3540,9398,5651],{}," до ",[3540,9401,9402],{},"colors.primary"," теми, щоб чекбокс не виглядав «системно-зеленим» посеред синього бренду.",[5261,9405,9408,9414,9434],{"name":9406,"type":9407},"onCheckColor \u002F onFillColor \u002F onTintColor","color (iOS)",[3512,9409,9410,9411,9413],{},"Тонше фарбування на ",[3516,9412,8322],{}," (props community-пакета):",[3774,9415,9416,9422,9428],{},[3575,9417,9418,9421],{},[3516,9419,9420],{},"onCheckColor"," — колір самої «галочки» (ліній ✓);",[3575,9423,9424,9427],{},[3516,9425,9426],{},"onFillColor"," — заливка квадрата, коли обрано;",[3575,9429,9430,9433],{},[3516,9431,9432],{},"onTintColor"," — колір рамки в активному стані.",[3512,9435,9436],{},"Без них iOS візьме системні відтінки, які знову ж можуть розійтися з вашою палітрою light\u002Fdark.",[5261,9438,9441,9447],{"name":9439,"type":9440},"boxType","'circle' \\| 'square' (iOS)",[3512,9442,9443,9444,9446],{},"Форма контейнера на iOS: круглий або квадратний чекбокс. На Android форма зазвичай квадратна за гайдлайнами Material; ",[3540,9445,9439],{}," там не дає того самого ефекту.",[3512,9448,9449,9450,9453,9454,9457,9458,9460],{},"Обирайте ",[3540,9451,9452],{},"square"," для «згоди з умовами» (звичніше в формах) і ",[3540,9455,9456],{},"circle"," лише якщо дизайн свідомо хоче radio-like вигляд — але пам’ятайте: це все одно ",[3516,9459,3738],{}," radio group (один з багатьох).",[3997,9462,9464],{"id":9463},"обовязкова-згода-в-zod","Обов’язкова згода в Zod",[3512,9466,9467,9468,9473],{},"Часто треба не просто boolean, а ",[3516,9469,9470,9471],{},"саме ",[3540,9472,5651],{},":",[4399,9475,9479],{"className":9476,"code":9477,"language":9478,"meta":4404,"style":4404},"language-ts shiki shiki-themes light-plus dark-plus dark-plus","acceptedLocalSave: z.literal(true, {\n  error: 'Підтвердіть, що дані поки зберігаються лише на пристрої',\n});\n","ts",[3540,9480,9481,9504,9514],{"__ignoreMap":4404},[4408,9482,9483,9487,9489,9492,9494,9497,9499,9501],{"class":4410,"line":4411},[4408,9484,9486],{"class":9485},"s5IvJ","acceptedLocalSave",[4408,9488,4145],{"class":4426},[4408,9490,9491],{"class":4981},"z",[4408,9493,3646],{"class":4426},[4408,9495,9496],{"class":4430},"literal",[4408,9498,4435],{"class":4426},[4408,9500,5651],{"class":4422},[4408,9502,9503],{"class":4426},", {\n",[4408,9505,9506,9509,9512],{"class":4410,"line":4595},[4408,9507,9508],{"class":4981},"  error:",[4408,9510,9511],{"class":4438}," 'Підтвердіть, що дані поки зберігаються лише на пристрої'",[4408,9513,5737],{"class":4426},[4408,9515,9516],{"class":4410,"line":4601},[4408,9517,6913],{"class":4426},[3512,9519,9520],{},"Тут важлива відмінність між «будь-який boolean» і «саме true».",[3774,9522,9523,9535],{},[3575,9524,9525,9528,9529,9531,9532,9534],{},[3540,9526,9527],{},"z.boolean()"," приймає і ",[3540,9530,5651],{},", і ",[3540,9533,5411],{}," — підходить для опції «є план маршруту», де «ні» — нормальна відповідь.",[3575,9536,9537,9540,9541,3634,9543,9545,9546,9548,9549,9551],{},[3540,9538,9539],{},"z.literal(true)"," приймає ",[3516,9542,5626],{},[3540,9544,5651],{},". Якщо в формі ",[3540,9547,5411],{}," (галочку не поставили) — схема невалідна, у ",[3540,9550,4190],{}," з’являється ваше повідомлення під рядком згоди.",[3512,9553,4176,9554,9557,9558,9560],{},[3540,9555,9556],{},"defaultValues"," для такої згоди свідомо ставлять ",[3540,9559,5411],{}," (або «ще не true»), щоб галочка не була увімкнена «з коробки». Інакше юридично й UX-ом ви «підписали» за людину.",[3512,9562,9563],{},"У Nomad два checkbox поруч ілюструють обидва випадки:",[3572,9565,9566,9576],{},[3575,9567,9568,3600,9573,9575],{},[3516,9569,9570],{},[3540,9571,9572],{},"hasItinerary",[3540,9574,9527],{},", опційно, без обов’язку;",[3575,9577,9578,3600,9582,9584],{},[3516,9579,9580],{},[3540,9581,9486],{},[3540,9583,9539],{},", без галочки submit не пройде.",[3806,9586],{},[3507,9588,9590,9592,9593,4292],{"id":9589},"slider-число-з-діапазону-react-native-communityslider",[3540,9591,3674],{}," — число з діапазону (",[3540,9594,4302],{},[3512,9596,9597,9599,9600,9603,9604,9606],{},[3516,9598,3674],{}," (повзунок) — контроль для вибору ",[3516,9601,9602],{},"числа"," між мінімумом і максимумом ",[3516,9605,5644],{}," набору з клавіатури: палець тягне «ручку» вздовж лінії, значення змінюється.",[3512,9608,9609,9610,9612,9613,9617,9618,3693],{},"У самій бібліотеці ",[3540,9611,3759],{}," слайдера як стабільного core-API для курсу ми не використовуємо — ставлять пакет спільноти ",[3516,9614,9615],{},[3540,9616,4302],{}," (та сама історія, що з Picker\u002FCheckbox: окремий репозиторій, ",[3540,9619,9620],{},"npx expo install",[3997,9622,9624],{"id":9623},"коли-доречно","Коли доречно",[3512,9626,9627,9628,9631],{},"Слайдер хороший, коли важливий ",[3516,9629,9630],{},"порядок величини",", а не «довільний рядок цифр»:",[3774,9633,9634,9637,9640,9643],{},[3575,9635,9636],{},"орієнтовна кількість днів (1–14);",[3575,9638,9639],{},"гучність, яскравість у власних налаштуваннях;",[3575,9641,9642],{},"рейтинг 1–10;",[3575,9644,9645],{},"бюджет «приблизно» (інколи два слайдери «від–до»).",[3997,9647,9649],{"id":9648},"коли-не-доречно","Коли не доречно",[3774,9651,9652,9655,9664],{},[3575,9653,9654],{},"точний номер телефону, email — це не діапазон;",[3575,9656,9657,9658,3634,9660,9663],{},"сума з копійками для бухгалтерії — людина хоче ",[3516,9659,4942],{},[3540,9661,9662],{},"199.99",", а не влучити повзунком;",[3575,9665,9666],{},"будь-що, де помилка на одиницю критична й варіантів мало — інколи краще Picker з готовими числами.",[3512,9668,9669,9670,9673,9674,9677,9678,3642,9680,3646],{},"Правило: якщо на вебі ви б поставили ",[3540,9671,9672],{},"type=\"range\""," — думайте про Slider; якщо ",[3540,9675,9676],{},"type=\"number\""," з точним вводом — ",[3540,9679,3637],{},[3540,9681,4077],{},[3997,9683,9685],{"id":9684},"встановлення","Встановлення",[4399,9687,9689],{"className":9054,"code":9688,"language":9056,"meta":4404,"style":4404},"npx expo install @react-native-community\u002Fslider\n",[3540,9690,9691],{"__ignoreMap":4404},[4408,9692,9693,9695,9697,9699],{"class":4410,"line":4411},[4408,9694,9063],{"class":4430},[4408,9696,9066],{"class":4438},[4408,9698,9069],{"class":4438},[4408,9700,9701],{"class":4438}," @react-native-community\u002Fslider\n",[3997,9703,8011],{"id":9704},"базовий-приклад-2",[4399,9706,9708],{"className":4401,"code":9707,"language":4403,"meta":4404,"style":4404},"import { useState } from 'react';\nimport { Text, View } from 'react-native';\nimport Slider from '@react-native-community\u002Fslider';\n\nexport function DaysSlider() {\n  const [days, setDays] = useState(3);\n\n  return (\n    \u003CView>\n      \u003CText>Тривалість: {days} дн.\u003C\u002FText>\n      \u003CSlider\n        minimumValue={1}\n        maximumValue={14}\n        step={1}\n        value={days}\n        onValueChange={setDays}\n      \u002F>\n    \u003C\u002FView>\n  );\n}\n",[3540,9709,9710,9726,9746,9760,9764,9775,9800,9804,9810,9818,9844,9851,9865,9879,9892,9904,9917,9921,9929,9933],{"__ignoreMap":4404},[4408,9711,9712,9714,9716,9718,9720,9722,9724],{"class":4410,"line":4411},[4408,9713,4975],{"class":4974},[4408,9715,4978],{"class":4426},[4408,9717,4390],{"class":4981},[4408,9719,4984],{"class":4426},[4408,9721,4987],{"class":4974},[4408,9723,4990],{"class":4438},[4408,9725,4993],{"class":4426},[4408,9727,9728,9730,9732,9734,9736,9738,9740,9742,9744],{"class":4410,"line":4595},[4408,9729,4975],{"class":4974},[4408,9731,4978],{"class":4426},[4408,9733,5011],{"class":4981},[4408,9735,3550],{"class":4426},[4408,9737,5006],{"class":4981},[4408,9739,4984],{"class":4426},[4408,9741,4987],{"class":4974},[4408,9743,5018],{"class":4438},[4408,9745,4993],{"class":4426},[4408,9747,9748,9750,9753,9755,9758],{"class":4410,"line":4601},[4408,9749,4975],{"class":4974},[4408,9751,9752],{"class":4981}," Slider",[4408,9754,9166],{"class":4974},[4408,9756,9757],{"class":4438}," '@react-native-community\u002Fslider'",[4408,9759,4993],{"class":4426},[4408,9761,9762],{"class":4410,"line":4607},[4408,9763,4611],{"emptyLinePlaceholder":4610},[4408,9765,9766,9768,9770,9773],{"class":4410,"line":4614},[4408,9767,5029],{"class":4974},[4408,9769,5032],{"class":4422},[4408,9771,9772],{"class":4430}," DaysSlider",[4408,9774,5038],{"class":4426},[4408,9776,9777,9779,9781,9784,9786,9789,9791,9793,9795,9798],{"class":4410,"line":4620},[4408,9778,5043],{"class":4422},[4408,9780,5046],{"class":4426},[4408,9782,9783],{"class":5049},"days",[4408,9785,3550],{"class":4426},[4408,9787,9788],{"class":5049},"setDays",[4408,9790,5058],{"class":4426},[4408,9792,4390],{"class":4430},[4408,9794,4435],{"class":4426},[4408,9796,9797],{"class":6042},"3",[4408,9799,5068],{"class":4426},[4408,9801,9802],{"class":4410,"line":4626},[4408,9803,4611],{"emptyLinePlaceholder":4610},[4408,9805,9806,9808],{"class":4410,"line":4632},[4408,9807,5077],{"class":4974},[4408,9809,5080],{"class":4426},[4408,9811,9812,9814,9816],{"class":4410,"line":4638},[4408,9813,5085],{"class":4414},[4408,9815,5006],{"class":5088},[4408,9817,5091],{"class":4414},[4408,9819,9820,9822,9824,9826,9829,9831,9833,9835,9838,9840,9842],{"class":4410,"line":4644},[4408,9821,5096],{"class":4414},[4408,9823,5011],{"class":5088},[4408,9825,5101],{"class":4414},[4408,9827,9828],{"class":4426},"Тривалість: ",[4408,9830,5130],{"class":4422},[4408,9832,9783],{"class":4981},[4408,9834,4444],{"class":4422},[4408,9836,9837],{"class":4426}," дн.",[4408,9839,5107],{"class":4414},[4408,9841,5011],{"class":5088},[4408,9843,5091],{"class":4414},[4408,9845,9846,9848],{"class":4410,"line":4649},[4408,9847,5096],{"class":4414},[4408,9849,9850],{"class":5088},"Slider\n",[4408,9852,9853,9856,9858,9860,9863],{"class":4410,"line":4655},[4408,9854,9855],{"class":5123},"        minimumValue",[4408,9857,5127],{"class":4426},[4408,9859,5130],{"class":4422},[4408,9861,9862],{"class":6042},"1",[4408,9864,4641],{"class":4422},[4408,9866,9867,9870,9872,9874,9877],{"class":4410,"line":4661},[4408,9868,9869],{"class":5123},"        maximumValue",[4408,9871,5127],{"class":4426},[4408,9873,5130],{"class":4422},[4408,9875,9876],{"class":6042},"14",[4408,9878,4641],{"class":4422},[4408,9880,9881,9884,9886,9888,9890],{"class":4410,"line":4667},[4408,9882,9883],{"class":5123},"        step",[4408,9885,5127],{"class":4426},[4408,9887,5130],{"class":4422},[4408,9889,9862],{"class":6042},[4408,9891,4641],{"class":4422},[4408,9893,9894,9896,9898,9900,9902],{"class":4410,"line":4672},[4408,9895,5124],{"class":5123},[4408,9897,5127],{"class":4426},[4408,9899,5130],{"class":4422},[4408,9901,9783],{"class":4981},[4408,9903,4641],{"class":4422},[4408,9905,9906,9909,9911,9913,9915],{"class":4410,"line":4677},[4408,9907,9908],{"class":5123},"        onValueChange",[4408,9910,5127],{"class":4426},[4408,9912,5130],{"class":4422},[4408,9914,9788],{"class":4981},[4408,9916,4641],{"class":4422},[4408,9918,9919],{"class":4410,"line":4683},[4408,9920,5172],{"class":4414},[4408,9922,9923,9925,9927],{"class":4410,"line":4689},[4408,9924,5177],{"class":4414},[4408,9926,5006],{"class":5088},[4408,9928,5091],{"class":4414},[4408,9930,9931],{"class":4410,"line":4695},[4408,9932,5186],{"class":4426},[4408,9934,9935],{"class":4410,"line":4700},[4408,9936,4641],{"class":4426},[3997,9938,8226],{"id":9939},"props-1",[5258,9941,9942,9962,9985,10010,10025,10039,10075],{},[5261,9943,9944,9945,9948,9949,9951,9952,3558,9955,9958,9959,9961],{"name":3641,"type":5446},"Поточна позиція повзунка ",[3516,9946,9947],{},"числовим"," значенням (наприклад ",[3540,9950,9797],{}," дні). Має лежати між ",[3540,9953,9954],{},"minimumValue",[3540,9956,9957],{},"maximumValue",". Для контрольованого режиму тримайте число в state \u002F RHF і показуйте його текстом поряд («Тривалість: 3 дні») — сам Slider ",[3516,9960,3738],{}," малює підпис значення.",[5261,9963,9965,9979],{"name":4803,"type":9964},"(value: number) => void",[3512,9966,9967,9968,9971,9972,9975,9976,9978],{},"Викликається ",[3516,9969,9970],{},"багаторазово під час"," перетягування, щойно значення змінилось (з урахуванням ",[3540,9973,9974],{},"step","). Підходить, щоб ",[3516,9977,7991],{}," оновлювати підпис «3 дні → 4 дні» і писати в RHF.",[3512,9980,9981,9982,3646],{},"Мінус: якщо на кожну зміну ганяти важку логіку (мережа, важкий перерахунок) — буде зайве навантаження. Тоді дивіться ",[3540,9983,9984],{},"onSlidingComplete",[5261,9986,9987,9998],{"name":9984,"type":9964},[3512,9988,9989,9990,9993,9994,9997],{},"Спрацьовує ",[3516,9991,9992],{},"один раз",", коли палець ",[3516,9995,9996],{},"відпустили"," після жесту. Зручно для «дорогих» побічних ефектів: аналітика, запит, запис у storage.",[3512,9999,10000,10001,10003,10004,10006,10007,10009],{},"Частий патерн: у ",[3540,10002,4803],{}," оновлювати лише локальний UI-стан, а в ",[3540,10005,9984],{}," — комітити в форму \u002F бекенд. У простій формі Nomad достатньо ",[3540,10008,4803],{}," → RHF.",[5261,10011,10013,10014,3558,10016,10018,10019,10021,10022,3693],{"name":10012,"type":5446},"minimumValue \u002F maximumValue","Ліва й права межі діапазону. Наприклад ",[3540,10015,9862],{},[3540,10017,9876],{}," для «від одного до двох тижнів». Якщо ",[3540,10020,3641],{}," вийде за межі (через баг у коді), поведінка залежить від платформи — краще завжди клампити значення в схемі Zod (",[3540,10023,10024],{},"z.number().min(1).max(14)",[5261,10026,10027,10028,10031,10032,10035,10036,10038],{"name":9974,"type":5446},"Крок квантування. ",[3540,10029,10030],{},"step={1}"," — лише цілі числа (дні, кількість місць). ",[3540,10033,10034],{},"step={0.5}"," — половинки. Без ",[3540,10037,9974],{}," значення може бути «сирим» float з багатьма знаками після коми — для UI «дні» це зазвичай погано.",[5261,10040,10042,10045,10072],{"name":10041,"type":5382},"minimumTrackTintColor \u002F maximumTrackTintColor \u002F thumbTintColor",[3512,10043,10044],{},"Три кольори візуалу:",[3774,10046,10047,10056,10066],{},[3575,10048,10049,10052,10053,10055],{},[3516,10050,10051],{},"minimumTrackTintColor"," — уже «пройдена» частина треку (зліва від thumb), часто ",[3540,10054,7277],{},";",[3575,10057,10058,10061,10062,10065],{},[3516,10059,10060],{},"maximumTrackTintColor"," — ще «порожня» частина справа, часто ",[3540,10063,10064],{},"border"," \u002F сірий;",[3575,10067,10068,10071],{},[3516,10069,10070],{},"thumbTintColor"," — кружечок, яким тягнуть.",[3512,10073,10074],{},"Без них слайдер виглядає системно й може випадати з light\u002Fdark теми застосунку.",[5261,10076,10077],{"name":7005,"type":5405},"Повзунок не рухається. Корисно, коли діапазон залежить від іншої опції («спочатку оберіть тип поїздки») або йде submit.",[3512,10079,10080,10081,10086,10087,10090,10091,3918,10094,10097],{},"У формі Nomad слайдер відповідає полю ",[3516,10082,10083],{},[3540,10084,10085],{},"plannedDays",": «орієнтовно скільки днів триватиме поїздка» (1–14). Це ",[3516,10088,10089],{},"навчально відокремлено"," від точних ",[3540,10092,10093],{},"startDate",[3540,10095,10096],{},"endDate"," у date picker.",[3512,10099,10100,10101,10103,10104,10107],{},"Навіщо два механізми? Дати відповідають на «",[3516,10102,3626],{}," саме». Слайдер — на «",[3516,10105,10106],{},"як довго"," я зараз думаю в голові», навіть якщо календарний діапазон ще рухають. У реальному продукті їх часто синхронізують (змінив дати → перерахував дні). У курсі лишаємо незалежними, щоб ви побачили Slider як окремий тип контролю, а не «дубль календаря».",[3806,10109],{},[3507,10111,10113,10115,10116,4292],{"id":10112},"picker-вибір-зі-списку-react-native-pickerpicker",[3540,10114,3677],{}," — вибір зі списку (",[3540,10117,4278],{},[3512,10119,10120,10122,10123,10126],{},[3516,10121,3677],{}," — контроль «обери ",[3516,10124,10125],{},"один"," варіант із заздалегідь відомого списку».",[3512,10128,10129,10130,10132,10133,10135,10136,10138,10139,3646],{},"На вебі ту саму задачу вирішує ",[3540,10131,4241],{},": розкрив список → тапнув рядок → значення зафіксувалось. У React Native ",[3516,10134,3991],{}," вбудованого універсального ",[3540,10137,4241],{}," у core. Раніше picker жив ближче до самої бібліотеки; зараз у проєктах ставлять пакет спільноти ",[3516,10140,10141],{},[3540,10142,4278],{},[3512,10144,10145,10146,10149],{},"Що отримує користувач: не друкує «Карпати» вручну, а обирає з ",[3516,10147,10148],{},"вашого"," списку — менше помилок, однакові значення в даних.",[3997,10151,10153],{"id":10152},"коли-picker-а-не-textinput","Коли Picker, а не TextInput",[3512,10155,10156,10159,10160,10163],{},[3516,10157,10158],{},"Picker доречний",", коли варіанти ",[3516,10161,10162],{},"відомі наперед"," і їх небагато (орієнтир — до одного-двох десятків):",[3774,10165,10166,10169,10172],{},[3575,10167,10168],{},"регіон із фіксованого набору («Карпати», «Південь», …);",[3575,10170,10171],{},"валюта, мова інтерфейсу, статус заявки («чернетка \u002F опубліковано»);",[3575,10173,10174],{},"тип квитка, одиниця виміру.",[3512,10176,10177,10180],{},[3516,10178,10179],{},"TextInput доречніший",", коли варіантів тисячі (місто світу) або значення справді вільне (назва улюбленого місця своїми словами).",[3512,10182,10183,10184,10187,10188,10191],{},"Якщо варіантів ",[3516,10185,10186],{},"багато і потрібен пошук"," — часто роблять окремий екран «оберіть зі списку» з рядком пошуку (комбінація навігації + ",[3540,10189,10190],{},"FlatList","; природно ляже після модуля навігації). Для 5–15 пунктів без пошуку Picker — найпростіший шлях.",[3997,10193,9685],{"id":10194},"встановлення-1",[4399,10196,10198],{"className":9054,"code":10197,"language":9056,"meta":4404,"style":4404},"npx expo install @react-native-picker\u002Fpicker\n",[3540,10199,10200],{"__ignoreMap":4404},[4408,10201,10202,10204,10206,10208],{"class":4410,"line":4411},[4408,10203,9063],{"class":4430},[4408,10205,9066],{"class":4438},[4408,10207,9069],{"class":4438},[4408,10209,10210],{"class":4438}," @react-native-picker\u002Fpicker\n",[3997,10212,8011],{"id":10213},"базовий-приклад-3",[4399,10215,10217],{"className":4401,"code":10216,"language":4403,"meta":4404,"style":4404},"import { useState } from 'react';\nimport { View } from 'react-native';\nimport { Picker } from '@react-native-picker\u002Fpicker';\n\nconst REGIONS = ['Карпати', 'Захід', 'Південь', 'Центр', 'Схід', 'Інше'] as const;\n\nexport function RegionPicker() {\n  const [region, setRegion] = useState\u003C(typeof REGIONS)[number]>('Карпати');\n\n  return (\n    \u003CView>\n      \u003CPicker selectedValue={region} onValueChange={(v) => setRegion(v)}>\n        {REGIONS.map((r) => (\n          \u003CPicker.Item key={r} label={r} value={r} \u002F>\n        ))}\n      \u003C\u002FPicker>\n    \u003C\u002FView>\n  );\n}\n",[3540,10218,10219,10235,10251,10268,10272,10321,10325,10336,10374,10378,10384,10392,10437,10461,10502,10509,10517,10525,10529],{"__ignoreMap":4404},[4408,10220,10221,10223,10225,10227,10229,10231,10233],{"class":4410,"line":4411},[4408,10222,4975],{"class":4974},[4408,10224,4978],{"class":4426},[4408,10226,4390],{"class":4981},[4408,10228,4984],{"class":4426},[4408,10230,4987],{"class":4974},[4408,10232,4990],{"class":4438},[4408,10234,4993],{"class":4426},[4408,10236,10237,10239,10241,10243,10245,10247,10249],{"class":4410,"line":4595},[4408,10238,4975],{"class":4974},[4408,10240,4978],{"class":4426},[4408,10242,5006],{"class":4981},[4408,10244,4984],{"class":4426},[4408,10246,4987],{"class":4974},[4408,10248,5018],{"class":4438},[4408,10250,4993],{"class":4426},[4408,10252,10253,10255,10257,10259,10261,10263,10266],{"class":4410,"line":4601},[4408,10254,4975],{"class":4974},[4408,10256,4978],{"class":4426},[4408,10258,3677],{"class":4981},[4408,10260,4984],{"class":4426},[4408,10262,4987],{"class":4974},[4408,10264,10265],{"class":4438}," '@react-native-picker\u002Fpicker'",[4408,10267,4993],{"class":4426},[4408,10269,10270],{"class":4410,"line":4607},[4408,10271,4611],{"emptyLinePlaceholder":4610},[4408,10273,10274,10276,10279,10282,10285,10287,10290,10292,10295,10297,10300,10302,10305,10307,10310,10313,10316,10319],{"class":4410,"line":4614},[4408,10275,6770],{"class":4422},[4408,10277,10278],{"class":5049}," REGIONS",[4408,10280,10281],{"class":4426}," = [",[4408,10283,10284],{"class":4438},"'Карпати'",[4408,10286,3550],{"class":4426},[4408,10288,10289],{"class":4438},"'Захід'",[4408,10291,3550],{"class":4426},[4408,10293,10294],{"class":4438},"'Південь'",[4408,10296,3550],{"class":4426},[4408,10298,10299],{"class":4438},"'Центр'",[4408,10301,3550],{"class":4426},[4408,10303,10304],{"class":4438},"'Схід'",[4408,10306,3550],{"class":4426},[4408,10308,10309],{"class":4438},"'Інше'",[4408,10311,10312],{"class":4426},"] ",[4408,10314,10315],{"class":4974},"as",[4408,10317,10318],{"class":4422}," const",[4408,10320,4993],{"class":4426},[4408,10322,10323],{"class":4410,"line":4620},[4408,10324,4611],{"emptyLinePlaceholder":4610},[4408,10326,10327,10329,10331,10334],{"class":4410,"line":4626},[4408,10328,5029],{"class":4974},[4408,10330,5032],{"class":4422},[4408,10332,10333],{"class":4430}," RegionPicker",[4408,10335,5038],{"class":4426},[4408,10337,10338,10340,10342,10345,10347,10350,10352,10354,10357,10360,10362,10365,10367,10370,10372],{"class":4410,"line":4632},[4408,10339,5043],{"class":4422},[4408,10341,5046],{"class":4426},[4408,10343,10344],{"class":5049},"region",[4408,10346,3550],{"class":4426},[4408,10348,10349],{"class":5049},"setRegion",[4408,10351,5058],{"class":4426},[4408,10353,4390],{"class":4430},[4408,10355,10356],{"class":4426},"\u003C(",[4408,10358,10359],{"class":4422},"typeof",[4408,10361,10278],{"class":5049},[4408,10363,10364],{"class":4426},")[",[4408,10366,5446],{"class":5088},[4408,10368,10369],{"class":4426},"]>(",[4408,10371,10284],{"class":4438},[4408,10373,5068],{"class":4426},[4408,10375,10376],{"class":4410,"line":4638},[4408,10377,4611],{"emptyLinePlaceholder":4610},[4408,10379,10380,10382],{"class":4410,"line":4644},[4408,10381,5077],{"class":4974},[4408,10383,5080],{"class":4426},[4408,10385,10386,10388,10390],{"class":4410,"line":4649},[4408,10387,5085],{"class":4414},[4408,10389,5006],{"class":5088},[4408,10391,5091],{"class":4414},[4408,10393,10394,10396,10398,10401,10403,10405,10407,10409,10411,10413,10415,10417,10420,10422,10424,10427,10429,10431,10433,10435],{"class":4410,"line":4655},[4408,10395,5096],{"class":4414},[4408,10397,3677],{"class":5088},[4408,10399,10400],{"class":5123}," selectedValue",[4408,10402,5127],{"class":4426},[4408,10404,5130],{"class":4422},[4408,10406,10344],{"class":4981},[4408,10408,4444],{"class":4422},[4408,10410,8196],{"class":5123},[4408,10412,5127],{"class":4426},[4408,10414,5130],{"class":4422},[4408,10416,4435],{"class":4434},[4408,10418,10419],{"class":4981},"v",[4408,10421,7723],{"class":4434},[4408,10423,7089],{"class":4422},[4408,10425,10426],{"class":4430}," setRegion",[4408,10428,4435],{"class":4434},[4408,10430,10419],{"class":4981},[4408,10432,4292],{"class":4434},[4408,10434,4444],{"class":4422},[4408,10436,5091],{"class":4414},[4408,10438,10439,10442,10445,10447,10450,10452,10455,10457,10459],{"class":4410,"line":4661},[4408,10440,10441],{"class":4422},"        {",[4408,10443,10444],{"class":5049},"REGIONS",[4408,10446,3646],{"class":4434},[4408,10448,10449],{"class":4430},"map",[4408,10451,7717],{"class":4434},[4408,10453,10454],{"class":4981},"r",[4408,10456,7723],{"class":4434},[4408,10458,7089],{"class":4422},[4408,10460,5080],{"class":4434},[4408,10462,10463,10465,10468,10471,10473,10475,10477,10479,10482,10484,10486,10488,10490,10492,10494,10496,10498,10500],{"class":4410,"line":4667},[4408,10464,8681],{"class":4414},[4408,10466,10467],{"class":5088},"Picker.Item",[4408,10469,10470],{"class":5123}," key",[4408,10472,5127],{"class":4426},[4408,10474,5130],{"class":4422},[4408,10476,10454],{"class":4981},[4408,10478,4444],{"class":4422},[4408,10480,10481],{"class":5123}," label",[4408,10483,5127],{"class":4426},[4408,10485,5130],{"class":4422},[4408,10487,10454],{"class":4981},[4408,10489,4444],{"class":4422},[4408,10491,8185],{"class":5123},[4408,10493,5127],{"class":4426},[4408,10495,5130],{"class":4422},[4408,10497,10454],{"class":4981},[4408,10499,4444],{"class":4422},[4408,10501,4447],{"class":4414},[4408,10503,10504,10507],{"class":4410,"line":4672},[4408,10505,10506],{"class":4434},"        ))",[4408,10508,4641],{"class":4422},[4408,10510,10511,10513,10515],{"class":4410,"line":4677},[4408,10512,6198],{"class":4414},[4408,10514,3677],{"class":5088},[4408,10516,5091],{"class":4414},[4408,10518,10519,10521,10523],{"class":4410,"line":4683},[4408,10520,5177],{"class":4414},[4408,10522,5006],{"class":5088},[4408,10524,5091],{"class":4414},[4408,10526,10527],{"class":4410,"line":4689},[4408,10528,5186],{"class":4426},[4408,10530,10531],{"class":4410,"line":4695},[4408,10532,4641],{"class":4426},[3997,10534,8226],{"id":10535},"props-2",[5258,10537,10538,10572,10587,10602,10626],{},[5261,10539,10541,10558],{"name":4841,"type":10540},"string | number | …",[3512,10542,10543,10544,10547,10548,10551,10552,10554,10555,10557],{},"Який пункт ",[3516,10545,10546],{},"зараз обраний",". Значення має ",[3516,10549,10550],{},"точно збігатися"," з одним із ",[3540,10553,3641],{}," у дочірніх ",[3540,10556,10467],{},". Якщо в state лежить рядок, якого немає в списку (старі дані, опечатка, інша локаль) — UI може показати порожньо або перший пункт, а дані форми будуть «криві».",[3512,10559,10560,10561,9531,10564,10567,10568,10571],{},"Тому для регіонів у Nomad і список ",[3540,10562,10563],{},"TRIP_REGIONS",[3540,10565,10566],{},"z.enum(TRIP_REGIONS)"," будуються з ",[3516,10569,10570],{},"одного"," джерела констант.",[5261,10573,10575,10584],{"name":4803,"type":10574},"(itemValue, itemIndex) => void",[3512,10576,10577,10578,10580,10581,3646],{},"Колбек після вибору. Перший аргумент — ",[3540,10579,3641],{}," обраного item (те, що піде в state), другий — індекс у списку (рідше потрібен). У RHF зазвичай достатньо ",[3540,10582,10583],{},"onValueChange={onChange}",[3512,10585,10586],{},"На iOS колбек може спрацювати вже під час прокрутки барабана (залежно від версії \u002F UX) — перевіряйте на пристрої, якщо кожна зміна дорога.",[5261,10588,10590,10591,10593,10594,10598,10599,10601],{"name":10589,"type":5405},"enabled","Чи можна змінювати вибір. ",[3540,10592,5411],{}," — picker «заморожений» (наприклад, регіон фіксується після створення поїздки). Зверніть увагу: prop називається ",[3516,10595,10596],{},[3540,10597,10589],{},", а не ",[3540,10600,7005],{},", на відміну від багатьох інших контролів RN.",[5261,10603,10606,10620],{"name":10604,"type":10605},"mode","'dialog' \\| 'dropdown' (Android)",[3512,10607,10608,10609,10611,10612,10615,10616,10619],{},"Лише ",[3516,10610,9389],{},": як показати варіанти — у діалозі поверх екрана (",[3540,10613,10614],{},"dialog",") чи як випадаючий список біля поля (",[3540,10617,10618],{},"dropdown","). На iOS цей prop не перетворює wheel на HTML-select; там інша модель UI.",[3512,10621,10622,10623,10625],{},"Якщо дизайн «як combobox на Material» — дивіться ",[3540,10624,10618],{}," і тестуйте на реальних щільностях екрана.",[5261,10627,10629,10648],{"name":10467,"type":10628},"child component",[3512,10630,10631,10632,10636,10637,10641,10642,10644,10645,3693],{},"Один рядок списку. ",[3516,10633,10634],{},[3540,10635,5239],{}," — те, що читає людина («Карпати»). ",[3516,10638,10639],{},[3540,10640,3641],{}," — те, що потрапляє в ",[3540,10643,4841],{}," \u002F форму (може збігатися з label або бути кодом на кшталт ",[3540,10646,10647],{},"carpathians",[3512,10649,10650,10651,10653,10654,10656],{},"Додатково на частині платформ є ",[3540,10652,5382],{}," для тексту item — корисно в dark theme, щоб білий текст не зник на білому колесі. Не змішуйте в одному Picker items з різними типами ",[3540,10655,3641],{}," (string vs number) без потреби — ускладнює схему Zod.",[10658,10659,10660,10697],"tabs",{},[10661,10662,10664,10688],"tabs-item",{"icon":10663,"label":8322},"i-lucide-smartphone",[3512,10665,10666,10667,10669,10670,3588,10673,10676,10677,10680,10681,10683,10684,10687],{},"На iPhone ",[3540,10668,3677],{}," часто виглядає як ",[3516,10671,10672],{},"барабан",[3590,10674,10675],{},"wheel","): кілька рядків списку, поточний варіант по центру, сусідні — трохи блідіші. Такий UI ",[3516,10678,10679],{},"займає багато висоти"," (десятки пікселів), тому в формі його або кладуть у контейнер із явною ",[3540,10682,5441],{},", або відкривають у ",[3540,10685,10686],{},"Modal"," \u002F bottom sheet, а в рядку форми показують лише поточний label («Карпати ▾»).",[3512,10689,10690,10691,10693,10694,10696],{},"Якщо просто вставити ",[3540,10692,3677],{}," між двома ",[3540,10695,3637],{}," без запасу по висоті, сусідні поля «поїдуть», а на маленькому екрані частина барабана обріжеться. Перевіряйте на SE \u002F mini, не лише на Pro Max.",[10661,10698,10699,10708],{"icon":10663,"label":9389},[3512,10700,10701,10702,10704,10705,10707],{},"На Android типова поведінка ближча до вебового ",[3516,10703,10618],{}," або системного ",[3516,10706,10614],{},": спочатку видно поточне значення, після тапу — список варіантів поверх екрана. Висота в спокійному стані менша, ніж у iOS-барабана, тому Android-верстка часто «компактніша» без додаткового Modal.",[3512,10709,10710,10711,3588,10713,3918,10715,10717],{},"Prop ",[3540,10712,10604],{},[3540,10714,10614],{},[3540,10716,10618],{},") впливає саме на Android. Тестуйте обидва, якщо UX-дизайнер очікує конкретний вигляд; не припускайте, що «як на iOS у симуляторі» = «як у користувача з Pixel».",[3512,10719,10720,10721,10726,10727,10730,10731,10734],{},"У Zod для значень з Picker зручно ",[3516,10722,10723],{},[3540,10724,10725],{},"z.enum([...])"," (або ",[3540,10728,10729],{},"z.union"," літералів): схема приймає лише рядки з білого списку. Якщо колись у state потрапить ",[3540,10732,10733],{},"\"Карпатти\""," або старий код регіону, якого вже немає в UI, submit не пройде, і ви побачите помилку — замість тихого запису сміття в список поїздок.",[3512,10736,10737,10738,10740,10741,3600,10744,7336,10747,10749],{},"Ідеально, коли масив для ",[3540,10739,10467],{}," і аргумент ",[3540,10742,10743],{},"z.enum",[3516,10745,10746],{},"одна константа",[3540,10748,10563],{}," у Nomad). Тоді додати регіон = змінити одне місце.",[3806,10751],{},[3507,10753,10755],{"id":10754},"date-picker-системна-дата","Date picker — системна дата",[3512,10757,10758,10760,10761,10764,10765,3646],{},[3516,10759,3974],{}," — UI для вибору дати (і\u002Fабо часу) у ",[3516,10762,10763],{},"стилі операційної системи",". Пакет для Expo SDK 54: ",[3516,10766,10767],{},[3540,10768,4312],{},[4399,10770,10772],{"className":9054,"code":10771,"language":9056,"meta":4404,"style":4404},"npx expo install @react-native-community\u002Fdatetimepicker\n",[3540,10773,10774],{"__ignoreMap":4404},[4408,10775,10776,10778,10780,10782],{"class":4410,"line":4411},[4408,10777,9063],{"class":4430},[4408,10779,9066],{"class":4438},[4408,10781,9069],{"class":4438},[4408,10783,10784],{"class":4438}," @react-native-community\u002Fdatetimepicker\n",[3997,10786,10788],{"id":10787},"чому-не-textinput-12032026","Чому не TextInput «12.03.2026»",[3512,10790,10791],{},"Теоретично можна попросити людину набрати дату руками. На практиці це майже завжди гірший UX:",[3572,10793,10794,10812,10818,10828],{},[3575,10795,10796,10799,10800,10803,10804,10807,10808,10811],{},[3516,10797,10798],{},"Локалі."," Хтось звик до ",[3540,10801,10802],{},"ДД.ММ.РРРР",", хтось до ",[3540,10805,10806],{},"ММ\u002FДД\u002FРРРР",", хтось до ISO ",[3540,10809,10810],{},"РРРР-ММ-ДД",". Одна й та сама «03\u002F04\u002F2026» — березень чи квітень?",[3575,10813,10814,10817],{},[3516,10815,10816],{},"Помилки друку."," Зайва крапка, двозначний рік, «31 лютого» — ви витратите час на парсер і повідомлення, які системний календар уже розв’язав.",[3575,10819,10820,10823,10824,10827],{},[3516,10821,10822],{},"Timezone і «північ»."," Рядок без часу перетворюється на ",[3540,10825,10826],{},"Date"," по-різному в JS залежно від формату й середовища; легко отримати «день раніше» на сервері.",[3575,10829,10830,10833,10834,10837],{},[3516,10831,10832],{},"Звичка."," На телефоні люди роками обирають дату ",[3516,10835,10836],{},"барабаном \u002F календарем"," у налаштуваннях і інших застосунках. Ламати цей патерн у вашій формі — зайве тертя.",[3512,10839,10840,10841,10845],{},"Тому в state тримаємо об’єкт ",[3516,10842,10843],{},[3540,10844,10826],{}," (або ISO-рядок, який ви самі стабільно серіалізуєте), а на екрані — системний picker + окрема функція форматування для підпису («12–14 бер. 2026»).",[3997,10847,10849],{"id":10848},"ios-vs-android-поведінка","iOS vs Android (поведінка)",[10658,10851,10852,10917],{},[10661,10853,10854,10865,10883,10907],{"icon":10663,"label":9389},[3512,10855,10856,10857,10860,10861,10864],{},"На Android date picker зазвичай відкривається як ",[3516,10858,10859],{},"системний діалог"," поверх застосунку. Користувач обирає день у календарі (або крутить значення — залежить від версії \u002F ",[3540,10862,10863],{},"display",") і натискає OK або скасовує.",[3512,10866,10867,10868,10870,10871,10873,10874,10877,10878,9473],{},"У колбеку ",[3540,10869,3553],{}," приходить ",[3540,10872,4036],{}," і опційна ",[3540,10875,10876],{},"selectedDate",". Важливо дивитися ",[3516,10879,10880],{},[3540,10881,10882],{},"event.type",[3774,10884,10885,10896],{},[3575,10886,10887,10892,10893,10895],{},[3516,10888,10889],{},[3540,10890,10891],{},"set"," — людина підтвердила вибір; беріть ",[3540,10894,10876],{}," і записуйте в state \u002F RHF;",[3575,10897,10898,10903,10904,10906],{},[3516,10899,10900],{},[3540,10901,10902],{},"dismissed"," — закрила діалог без підтвердження; ",[3516,10905,3738],{}," перезаписуйте дату «на всяк випадок».",[3512,10908,10909,10910,10913,10914,10916],{},"Після будь-якої з цих подій діалог сам зникає, але ваш React-стан ",[3540,10911,10912],{},"open"," треба скинути в ",[3540,10915,5411],{},", інакше наступного разу picker може повестися дивно (подвійне відкриття \u002F «залипший» прапорець).",[10661,10918,10919,10933,10950],{"icon":10663,"label":8322},[3512,10920,10921,10922,10925,10926,10928,10929,10932],{},"На iOS часто показують ",[3516,10923,10924],{},"spinner"," (барабан дати) або compact-календар — залежно від ",[3540,10927,10863],{},". Spinner ",[3516,10930,10931],{},"не завжди"," є модальним діалогом: він може лишатися в дереві UI, поки ви самі його не сховаєте.",[3512,10934,10935,10936,10938,10939,3918,10942,10945,10946,10949],{},"Зручний UX: тап по рядку «12.03.2026» → ",[3540,10937,10686],{}," знизу з spinner + кнопки ",[3516,10940,10941],{},"«Готово»",[3516,10943,10944],{},"«Скасувати»",". Поки крутять барабан, тримайте ",[3516,10947,10948],{},"draft","-дату; у форму записуйте лише по «Готово». Так людина може передумати, не зіпсувавши вже збережене значення поля.",[3512,10951,10952,10953,10958,10959,3646],{},"Саме цей патерн у Nomad зібрано в обгортці ",[3516,10954,10955],{},[3540,10956,10957],{},"DateField",": один API для форми, всередині — гілки ",[3540,10960,10961],{},"Platform.OS",[3997,10963,10965],{"id":10964},"звязок-із-формою","Зв’язок із формою",[3512,10967,10968,10969,9473],{},"Розведіть ",[3516,10970,10971],{},"два шари",[3572,10973,10974,10995],{},[3575,10975,10976,10979,10980,10982,10983,3918,10985,10987,10988,3550,10991,10994],{},[3516,10977,10978],{},"Дані форми"," — тип ",[3540,10981,10826],{}," (або пара ",[3540,10984,10093],{},[3540,10986,10096],{},") у RHF. Саме їх валідує Zod (",[3540,10989,10990],{},"z.date()",[3540,10992,10993],{},"refine"," «кінець ≥ початок»).",[3575,10996,10997,11000,11001,11003,11004,11007,11008,11011,11012,11015],{},[3516,10998,10999],{},"Підпис для людини"," — рядок на кшталт «12–14 бер. 2026», який ",[3516,11002,3738],{}," є джерелом правди. Його будує окрема функція форматування ",[3590,11005,11006],{},"після"," успішного submit (у Nomad — ",[3540,11009,11010],{},"formatTripDateLabel","), коли збираєте об’єкт ",[3540,11013,11014],{},"Trip"," для списку.",[3512,11017,11018,11019,11021],{},"Якщо зберігати в формі вже відформатований рядок, ви знову повертаєтесь до парсингу й порівняння дат «як текстів». Тримайте ",[3540,11020,10826],{}," до останнього моменту, рядок — лише для UI картки.",[3806,11023],{},[3507,11025,11027],{"id":11026},"клавіатура-щоб-форма-лишалась-керованою","Клавіатура: щоб форма лишалась керованою",[3997,11029,11031],{"id":11030},"що-відбувається","Що відбувається",[3572,11033,11034,11039,11042,11045],{},[3575,11035,11036,11037,3646],{},"Людина тапає ",[3540,11038,3637],{},[3575,11040,11041],{},"ОС показує soft keyboard.",[3575,11043,11044],{},"Видима висота контенту зменшується.",[3575,11046,11047,11048,11051],{},"Нижні поля й Submit можуть опинитися ",[3516,11049,11050],{},"під"," клавіатурою.",[3997,11053,11055],{"id":11054},"інструменти","Інструменти",[5258,11057,11058,11104,11125,11162,11211,11238],{},[5261,11059,11061,11068,11096],{"name":3686,"type":11060},"component",[3512,11062,11063,11064,11067],{},"Контейнер, який ",[3516,11065,11066],{},"реагує на появу програмної клавіатури",": піднімає, стискає або додає відступ своєму вмісту, щоб нижні поля й кнопка Submit не опинились «під» клавіатурою.",[3512,11069,10710,11070,11075,11076,11078,11079,11082,11083,11085,11086,3554,11089,11091,11092,11095],{},[3516,11071,11072],{},[3540,11073,11074],{},"behavior"," задає стратегію. На ",[3516,11077,8322],{}," найчастіше ставлять ",[3540,11080,11081],{},"padding"," (знизу з’являється padding ≈ висоті клавіатури). На ",[3516,11084,9389],{}," інколи допомагає ",[3540,11087,11088],{},"height",[3540,11090,11081],{},", інколи система й так ресайзить window (залежить від ",[3540,11093,11094],{},"windowSoftInputMode"," \u002F edge-to-edge). Немає одного значення «на всі телефони світу» — перевіряйте на реальному пристрої.",[3512,11097,11098,11100,11101,11103],{},[3540,11099,3686],{}," має сенс, коли в дереві є ",[3540,11102,3637],{},". Для екрана лише зі Switch\u002FSlider він майже нічого не змінить.",[5261,11105,11107,11118],{"name":11106,"type":5446},"keyboardVerticalOffset",[3512,11108,11109,11110,11113,11114,11117],{},"Додаткові пікселі зсуву ",[3516,11111,11112],{},"понад"," те, що KAV порахував сам. Потрібні, коли над формою є ",[3516,11115,11116],{},"кастомний header",", sticky-шапка, відступ safe area, який KAV «не бачить» у своєму розрахунку.",[3512,11119,11120,11121,11124],{},"Симптом «майже дістало, але кнопка ще наполовину під клавіатурою» часто лікується саме offset (наприклад 8–64), а не новою бібліотекою. Підкручуйте на симуляторі з ",[3516,11122,11123],{},"різною"," висотою екрана.",[5261,11126,11127,11130,11146],{"name":3689,"type":11060},[3512,11128,11129],{},"Вертикальний скрол умісту форми. Потрібен з двох незалежних причин:",[3572,11131,11132,11139],{},[3575,11133,11134,11135,11138],{},"Форма ",[3516,11136,11137],{},"довша"," за екран (багато контролів) — без скролу нижні поля недосяжні навіть без клавіатури.",[3575,11140,11141,11142,11145],{},"З ",[3516,11143,11144],{},"клавіатурою"," видима область коротшає — скрол дає дістатись Submit, навіть якщо KAV не ідеальний.",[3512,11147,11148,11149,11151,11152,11154,11155,4324,11158,11161],{},"На ",[3540,11150,3689],{}," форми майже завжди ставлять ",[3540,11153,3692],{}," (див. нижче) і часто ",[3540,11156,11157],{},"contentContainerStyle",[3540,11159,11160],{},"paddingBottom",", щоб остання кнопка не липла до краю.",[5261,11163,11165,11171],{"name":3692,"type":11164},"'never' \\| 'always' \\| 'handled'",[3512,11166,11167,11168,11170],{},"Що робити, коли клавіатура відкрита, а людина тапає ",[3516,11169,3738],{}," по TextInput (наприклад, по кнопці «Створити»).",[3774,11172,11173,11191,11203],{},[3575,11174,11175,11180,11181,11184,11185,11187,11188,11190],{},[3516,11176,11177],{},[3540,11178,11179],{},"never"," (часто дефолт) — перший тап лише ",[3516,11182,11183],{},"ховає"," клавіатуру, ",[3540,11186,4179],{}," кнопки ",[3516,11189,3738],{}," викликається. Здається, що «кнопка зламана».",[3575,11192,11193,11198,11199,11202],{},[3516,11194,11195],{},[3540,11196,11197],{},"handled"," — якщо тап обробив дочірній touchable (кнопка), клавіатура може лишитись \u002F поведінка узгоджена, і ",[3516,11200,11201],{},"onPress спрацьовує з першого разу",". Це типовий вибір для форм.",[3575,11204,11205,11210],{},[3516,11206,11207],{},[3540,11208,11209],{},"always"," — тапи проходять ще агресивніше; використовуйте рідше, коли розумієте побічні ефекти.",[5261,11212,11215,11226],{"name":11213,"type":11214},"keyboardDismissMode","'none' \\| 'on-drag' \\| 'interactive'",[3512,11216,11217,11218,11221,11222,11225],{},"Чи ховати клавіатуру ",[3516,11219,11220],{},"жестом скролу",". ",[3540,11223,11224],{},"on-drag"," — почали тягнути список\u002Fформу пальцем вниз\u002Fвгору, клавіатура тікає. Зручно, коли хочете швидко побачити нижню частину екрана.",[3512,11227,11228,11231,11232,11234,11235,3693],{},[3540,11229,11230],{},"interactive"," (переважно iOS) дозволяє «прив’язати» ховання клавіатури до жесту більш плавно. ",[3540,11233,5542],{}," — скрол клавіатуру сам не чіпає (тоді лишаються Return, тап поза полем, ",[3540,11236,11237],{},"Keyboard.dismiss",[5261,11239,11242,11255],{"name":11240,"type":11241},"Keyboard.dismiss()","API з react-native",[3512,11243,11244,11245,4145,11248,11251,11252,11254],{},"Функція модуля ",[3540,11246,11247],{},"Keyboard",[3516,11249,11250],{},"програмно"," сховати soft keyboard. Викликають після успішного submit, по тапу на «порожній» фон (",[3540,11253,3654],{}," обгортка), інколи після переходу на наступний екран.",[3512,11256,11257,11258,11261],{},"Це не заміна KAV: dismiss лише ховає клавіатуру, а KAV + ScrollView відповідають за те, щоб ",[3516,11259,11260],{},"під час"," вводу все ще було видно.",[3997,11263,11265],{"id":11264},"типове-дерево-екрана-форми","Типове дерево екрана форми",[4399,11267,11272],{"className":11268,"code":11270,"language":11271,"meta":4404},[11269],"language-text","SafeArea \u002F Screen          ← не лізе під чубчик і home-індикатор\n  └── KeyboardAvoidingView (flex: 1)\n        └── ScrollView (flex: 1, keyboardShouldPersistTaps=\"handled\")\n              └── поля (TextInput, Switch, Picker, …)\n              └── кнопки Submit \u002F Скасувати\n","text",[3540,11273,11270],{"__ignoreMap":4404},[3512,11275,11276],{},"Чому саме так:",[3572,11278,11279,11288,11294],{},[3575,11280,11281,11287],{},[3516,11282,11283,11286],{},[3540,11284,11285],{},"flex: 1"," на KAV і ScrollView"," — щоб колонка зайняла всю висоту між safe area, а не стиснулась «по контенту» у верхівці екрана. Без цього скрол і уникнення клавіатури часто «не працюють».",[3575,11289,11290,11293],{},[3516,11291,11292],{},"Спочатку KAV, всередині ScrollView"," — KAV змінює доступну висоту, ScrollView дає прокрутити те, що лишилось.",[3575,11295,11296,11299,11300,11303,11304,3646],{},[3516,11297,11298],{},"Кнопки всередині скролу"," (або sticky footer з окремим продуманим offset) — на довгій формі Submit має бути досяжний. У Nomad кнопки внизу ",[3540,11301,11302],{},"CreateTripForm"," всередині ",[3540,11305,3689],{},[4498,11307,11308,11309,11311,11312,11314,11315,3646],{},"Прев’ю на сайті курсу ",[3516,11310,3738],{}," відтворює soft keyboard iPhone\u002FAndroid один в один. Остаточну перевірку «чи видно Submit» робіть у ",[3516,11313,3793],{}," або симуляторі, з фокусом у нижньому ",[3540,11316,3637],{},[3806,11318],{},[3507,11320,11322],{"id":11321},"валідація-навіщо-правила-окремо-від-ui","Валідація: навіщо правила окремо від UI",[3512,11324,11325,3588,11328,11331,11332,11335],{},[3516,11326,11327],{},"Валідація",[3590,11329,11330],{},"validation",") — відповідь на питання: «чи можна ",[3516,11333,11334],{},"вже зараз"," прийняти ці дані й іти далі?» Наприклад: назва не порожня, email схожий на email, дата кінця не раніше початку, галочка згоди стоїть.",[3997,11337,11339],{"id":11338},"навіщо-взагалі-перевіряти-на-телефоні","Навіщо взагалі перевіряти на телефоні",[3512,11341,11342,11343,11345],{},"Уявіть, що кнопки «Створити» ",[3516,11344,3991],{}," перевірки. Людина залишає порожню назву, тисне — і в списку з’являється картка без заголовка, або застосунок падає, або «нічого не відбувається». Усі три варіанти гірші за червоний текст «Назва має містити щонайменше 2 символи» прямо під полем.",[3512,11347,11348,11349,11352],{},"Перевірка на телефоні (",[3516,11350,11351],{},"клієнтська",") дає:",[3774,11354,11355,11358,11361],{},[3575,11356,11357],{},"миттєвий фідбек без мережі;",[3575,11359,11360],{},"менше випадкових порожніх записів у локальному стейті;",[3575,11362,11363,11364,11367],{},"зрозумілі повідомлення ",[3516,11365,11366],{},"вашою"," мовою UI.",[3512,11369,11370,11371,11374,11375,11377],{},"Коли з’явиться сервер (API), з’явиться ",[3516,11372,11373],{},"другий"," рівень: навіть якщо хтось обійде UI, сервер не прийме сміття. Клієнт ",[3516,11376,5377],{}," сервер — він допомагає чесній людині не помилитись.",[3833,11379,11380,11393],{},[3836,11381,11382],{},[3839,11383,11384,11387,11390],{},[3842,11385,11386],{},"Рівень",[3842,11388,11389],{},"Хто виконує",[3842,11391,11392],{},"Навіщо",[3849,11394,11395,11406],{},[3839,11396,11397,11400,11403],{},[3854,11398,11399],{},"Клієнт (телефон)",[3854,11401,11402],{},"Zod + React Hook Form у цій статті",[3854,11404,11405],{},"Швидкий фідбек, зручність",[3839,11407,11408,11411,11414],{},[3854,11409,11410],{},"Сервер",[3854,11412,11413],{},"API (пізніше в курсі)",[3854,11415,11416],{},"Справжній захист і бізнес-правила",[3512,11418,11419,11420,11423,11424,11427],{},"Сьогодні свідомо лишаємось на ",[3516,11421,11422],{},"клієнті",": зберігаємо поїздку в пам’яті застосунку (",[3540,11425,11426],{},"TripsProvider","), без HTTP.",[3512,11429,11430],{},[3930,11431],{"alt":11432,"className":11433,"src":11434},"Анатомія поля: label, input, error, hint",[3934],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F04.svg",[3997,11436,11438],{"id":11437},"як-показувати-помилку-ux","Як показувати помилку (UX)",[3512,11440,11441,11444,11445,11447,11448,11451],{},[3516,11442,11443],{},"Погано:"," один ",[3540,11446,4513],{}," на всі поля — неясно, ",[3590,11449,11450],{},"що"," виправити.",[3512,11453,11454],{},[3516,11455,11456],{},"Добре:",[3572,11458,11459,11462,11468,11478],{},[3575,11460,11461],{},"Підпис поля (label) лишається.",[3575,11463,11464,11465,3646],{},"Рамка поля може стати кольору ",[3540,11466,11467],{},"danger",[3575,11469,11470,11471,11474,11475,3693],{},"Під полем — ",[3516,11472,11473],{},"коротке українське"," речення з Zod (",[3540,11476,11477],{},"errors.title?.message",[3575,11479,11480,11481,3693],{},"Після першого невдалого submit подальші виправлення одразу прибирають помилку (",[3540,11482,11483],{},"reValidateMode: 'onChange'",[3512,11485,11486,11487,11490],{},"Опційний ",[3516,11488,11489],{},"hint"," («Мінімум 10 символів») показують, коли помилки ще немає — це підказка, не покарання.",[3806,11492],{},[3507,11494,11496],{"id":11495},"react-hook-form-zod","React Hook Form + Zod",[3512,11498,11499,11500,11503,11504,3558,11507,11510],{},"Цей розділ з’єднує ",[3516,11501,11502],{},"UI-контроли"," (все, що вище) з ",[3516,11505,11506],{},"правилами",[3516,11508,11509],{},"submit",". Якщо контролі — «руки й очі» форми, то RHF + Zod — її «пам’ять і суддя».",[3997,11512,11514],{"id":11513},"яку-біль-знімаємо","Яку біль знімаємо",[3512,11516,11517],{},"Без бібліотек типовий новачок пише:",[4399,11519,11521],{"className":4401,"code":11520,"language":4403,"meta":4404,"style":4404},"const [title, setTitle] = useState('');\nconst [region, setRegion] = useState('Карпати');\n\u002F\u002F … ще 8 useState\nconst [errorTitle, setErrorTitle] = useState('');\n\u002F\u002F … ще купа error-стейтів\n\nconst onPress = () => {\n  if (title.trim().length \u003C 2) {\n    setErrorTitle('…');\n    return;\n  }\n  \u002F\u002F ще if-и…\n};\n",[3540,11522,11523,11546,11568,11574,11598,11603,11607,11621,11650,11662,11669,11674,11679],{"__ignoreMap":4404},[4408,11524,11525,11527,11529,11531,11533,11536,11538,11540,11542,11544],{"class":4410,"line":4411},[4408,11526,6770],{"class":4422},[4408,11528,5046],{"class":4426},[4408,11530,7303],{"class":5049},[4408,11532,3550],{"class":4426},[4408,11534,11535],{"class":5049},"setTitle",[4408,11537,5058],{"class":4426},[4408,11539,4390],{"class":4430},[4408,11541,4435],{"class":4426},[4408,11543,5065],{"class":4438},[4408,11545,5068],{"class":4426},[4408,11547,11548,11550,11552,11554,11556,11558,11560,11562,11564,11566],{"class":4410,"line":4595},[4408,11549,6770],{"class":4422},[4408,11551,5046],{"class":4426},[4408,11553,10344],{"class":5049},[4408,11555,3550],{"class":4426},[4408,11557,10349],{"class":5049},[4408,11559,5058],{"class":4426},[4408,11561,4390],{"class":4430},[4408,11563,4435],{"class":4426},[4408,11565,10284],{"class":4438},[4408,11567,5068],{"class":4426},[4408,11569,11570],{"class":4410,"line":4601},[4408,11571,11573],{"class":11572},"spJ8K","\u002F\u002F … ще 8 useState\n",[4408,11575,11576,11578,11580,11583,11585,11588,11590,11592,11594,11596],{"class":4410,"line":4607},[4408,11577,6770],{"class":4422},[4408,11579,5046],{"class":4426},[4408,11581,11582],{"class":5049},"errorTitle",[4408,11584,3550],{"class":4426},[4408,11586,11587],{"class":5049},"setErrorTitle",[4408,11589,5058],{"class":4426},[4408,11591,4390],{"class":4430},[4408,11593,4435],{"class":4426},[4408,11595,5065],{"class":4438},[4408,11597,5068],{"class":4426},[4408,11599,11600],{"class":4410,"line":4614},[4408,11601,11602],{"class":11572},"\u002F\u002F … ще купа error-стейтів\n",[4408,11604,11605],{"class":4410,"line":4620},[4408,11606,4611],{"emptyLinePlaceholder":4610},[4408,11608,11609,11611,11614,11617,11619],{"class":4410,"line":4626},[4408,11610,6770],{"class":4422},[4408,11612,11613],{"class":4430}," onPress",[4408,11615,11616],{"class":4426}," = () ",[4408,11618,7089],{"class":4422},[4408,11620,5729],{"class":4426},[4408,11622,11623,11626,11628,11630,11632,11635,11638,11641,11644,11647],{"class":4410,"line":4632},[4408,11624,11625],{"class":4974},"  if",[4408,11627,3588],{"class":4426},[4408,11629,7303],{"class":4981},[4408,11631,3646],{"class":4426},[4408,11633,11634],{"class":4430},"trim",[4408,11636,11637],{"class":4426},"().",[4408,11639,11640],{"class":4981},"length",[4408,11642,11643],{"class":4426}," \u003C ",[4408,11645,11646],{"class":6042},"2",[4408,11648,11649],{"class":4426},") {\n",[4408,11651,11652,11655,11657,11660],{"class":4410,"line":4638},[4408,11653,11654],{"class":4430},"    setErrorTitle",[4408,11656,4435],{"class":4426},[4408,11658,11659],{"class":4438},"'…'",[4408,11661,5068],{"class":4426},[4408,11663,11664,11667],{"class":4410,"line":4644},[4408,11665,11666],{"class":4974},"    return",[4408,11668,4993],{"class":4426},[4408,11670,11671],{"class":4410,"line":4649},[4408,11672,11673],{"class":4426},"  }\n",[4408,11675,11676],{"class":4410,"line":4655},[4408,11677,11678],{"class":11572},"  \u002F\u002F ще if-и…\n",[4408,11680,11681],{"class":4410,"line":4661},[4408,11682,11683],{"class":4426},"};\n",[3512,11685,11686],{},"На п’яти полях це терпимо. На екрані з датами, слайдером, двома галочками й picker — легко заплутатись: десь забули скинути помилку, десь правило в UI і «на бекенді» роз’їхались, TypeScript не знає форми даних після submit.",[3512,11688,11689,11691,11692,11695,11697,11698,11701,11702,11704,11708],{},[3516,11690,3557],{}," забирає на себе values + errors + момент submit.",[11693,11694],"br",{},[3516,11696,3561],{}," описує правила ",[3516,11699,11700],{},"одним"," об’єктом-схемою і дає TypeScript-тип «безкоштовно».",[11693,11703],{},[3516,11705,11706],{},[3540,11707,3707],{}," зшиває їх: «на submit прожени values через цю схему».",[3997,11710,11712],{"id":11711},"react-hook-form-простими-словами","React Hook Form простими словами",[3512,11714,11715,4550,11717,11720],{},[3516,11716,3557],{},[3516,11718,11719],{},"RHF",") — бібліотека для React, яка:",[3572,11722,11723,11730,11737,11748],{},[3575,11724,11725,11726,11729],{},"Тримає поточні ",[3516,11727,11728],{},"значення"," всіх полів форми.",[3575,11731,11732,11733,11736],{},"Тримає ",[3516,11734,11735],{},"помилки"," після перевірки.",[3575,11738,11739,11740,11744,11745,11747],{},"Дає ",[3516,11741,11742],{},[3540,11743,5619],{},": «спочатку перевір, потім виклич мій ",[3540,11746,7050],{},"».",[3575,11749,11750,11751,11754,11755,11757],{},"Намагається ",[3516,11752,11753],{},"менше"," перемальовувати весь екран на кожну літеру, ніж наївний ",[3540,11756,4390],{}," на кожне поле (деталь оптимізації не обов’язково розуміти на старті — важливий API).",[3512,11759,11760,11761,11766,11767,3550,11770,3550,11772,3550,11775,4481],{},"Головний хук: ",[3516,11762,11763],{},[3540,11764,11765],{},"useForm",". З нього ви дістаєте ",[3540,11768,11769],{},"control",[3540,11771,5619],{},[3540,11773,11774],{},"formState: { errors }",[3540,11776,11777],{},"watch",[3997,11779,11781],{"id":11780},"zod-простими-словами","Zod простими словами",[3512,11783,11784,11786,11787,11790],{},[3516,11785,3561],{}," — бібліотека, де ви ",[3516,11788,11789],{},"описуєте форму даних"," як схему:",[4399,11792,11794],{"className":9476,"code":11793,"language":9478,"meta":4404,"style":4404},"const schema = z.object({\n  title: z.string().trim().min(2, 'Назва занадто коротка'),\n});\n",[3540,11795,11796,11814,11847],{"__ignoreMap":4404},[4408,11797,11798,11800,11803,11805,11807,11809,11812],{"class":4410,"line":4411},[4408,11799,6770],{"class":4422},[4408,11801,11802],{"class":5049}," schema",[4408,11804,5804],{"class":4426},[4408,11806,9491],{"class":4981},[4408,11808,3646],{"class":4426},[4408,11810,11811],{"class":4430},"object",[4408,11813,6786],{"class":4426},[4408,11815,11816,11819,11822,11824,11826,11828,11830,11832,11835,11837,11839,11841,11844],{"class":4410,"line":4595},[4408,11817,11818],{"class":4981},"  title:",[4408,11820,11821],{"class":4981}," z",[4408,11823,3646],{"class":4426},[4408,11825,5263],{"class":4430},[4408,11827,11637],{"class":4426},[4408,11829,11634],{"class":4430},[4408,11831,11637],{"class":4426},[4408,11833,11834],{"class":4430},"min",[4408,11836,4435],{"class":4426},[4408,11838,11646],{"class":6042},[4408,11840,3550],{"class":4426},[4408,11842,11843],{"class":4438},"'Назва занадто коротка'",[4408,11845,11846],{"class":4426},"),\n",[4408,11848,11849],{"class":4410,"line":4601},[4408,11850,6913],{"class":4426},[3512,11852,11148,11853,11856,11857,11860,11861,11863,11864,11867,11868,11871],{},[3516,11854,11855],{},"runtime"," (під час роботи застосунку) можна зробити ",[3540,11858,11859],{},"schema.safeParse(data)"," і дізнатись: ок чи список помилок.",[11693,11862],{},"\nНа ",[3516,11865,11866],{},"етапі TypeScript"," пишете ",[3540,11869,11870],{},"type FormValues = z.infer\u003Ctypeof schema>"," — і тип полів збігається зі схемою, без ручного дублювання інтерфейсу.",[3512,11873,11874,11875,11878,11879,3693],{},"Повідомлення в ",[3540,11876,11877],{},".min(2, '…')"," — ті самі рядки, які потім побачить користувач під полем (якщо ви їх показуєте з ",[3540,11880,4190],{},[3997,11882,11884,11886],{"id":11883},"zodresolver-місток-між-ними",[3540,11885,3707],{}," — місток між ними",[3512,11888,11889,11890,11892,11893,11898,11899,11904,11905,11908],{},"RHF ",[3516,11891,3738],{}," вміє «з коробки» читати Zod-схеми. Пакет ",[3516,11894,11895],{},[3540,11896,11897],{},"@hookform\u002Fresolvers"," дає функцію ",[3516,11900,11901],{},[3540,11902,11903],{},"zodResolver(schema)",". Ви передаєте її в ",[3540,11906,11907],{},"useForm({ resolver: … })",", і на submit RHF:",[3572,11910,11911,11914,11917,11920,11926],{},[3575,11912,11913],{},"збирає поточні values;",[3575,11915,11916],{},"віддає їх resolver;",[3575,11918,11919],{},"resolver ганяє Zod;",[3575,11921,11922,11923,10055],{},"при помилках заповнює ",[3540,11924,11925],{},"formState.errors",[3575,11927,11928,11929,3646],{},"при успіху викликає ваш ",[3540,11930,11931],{},"onValid(data)",[3512,11933,11934,11935,11938],{},"Без resolver довелось би вручну кликати ",[3540,11936,11937],{},"schema.safeParse"," у кнопці — можливо, але тоді ви самі дублюєте те, що RHF уже вміє з errors і focus.",[3512,11940,11941],{},[3930,11942],{"alt":11943,"className":11944,"src":11945},"Ланцюг: Submit → handleSubmit → zodResolver → OK \u002F errors",[3934],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F05.svg",[4579,11947,11948],{},[4399,11949,11951],{"className":4583,"code":11950,"language":4585,"meta":4404,"style":4404},"@startuml\nskinparam style plain\nskinparam backgroundColor #ffffff\n\nactor User\nparticipant \"Control UI\" as UI\nparticipant \"RHF Controller\" as C\nparticipant \"useForm\" as F\nparticipant \"zodResolver\" as R\nparticipant \"Zod schema\" as Z\n\nUser -> UI: змінює значення\nUI -> C: onChange \u002F onChangeText\nC -> F: field.onChange\nUser -> F: handleSubmit\nF -> R: values\nR -> Z: safeParse\nalt invalid\n  Z --> F: errors\n  F --> UI: error message\nelse valid\n  Z --> F: onValid(data)\nend\n\n@enduml\n",[3540,11952,11953,11957,11961,11965,11969,11974,11979,11984,11989,11994,11999,12003,12008,12013,12018,12023,12028,12033,12038,12043,12048,12053,12058,12063,12067],{"__ignoreMap":4404},[4408,11954,11955],{"class":4410,"line":4411},[4408,11956,4592],{},[4408,11958,11959],{"class":4410,"line":4595},[4408,11960,4598],{},[4408,11962,11963],{"class":4410,"line":4601},[4408,11964,4604],{},[4408,11966,11967],{"class":4410,"line":4607},[4408,11968,4611],{"emptyLinePlaceholder":4610},[4408,11970,11971],{"class":4410,"line":4614},[4408,11972,11973],{},"actor User\n",[4408,11975,11976],{"class":4410,"line":4620},[4408,11977,11978],{},"participant \"Control UI\" as UI\n",[4408,11980,11981],{"class":4410,"line":4626},[4408,11982,11983],{},"participant \"RHF Controller\" as C\n",[4408,11985,11986],{"class":4410,"line":4632},[4408,11987,11988],{},"participant \"useForm\" as F\n",[4408,11990,11991],{"class":4410,"line":4638},[4408,11992,11993],{},"participant \"zodResolver\" as R\n",[4408,11995,11996],{"class":4410,"line":4644},[4408,11997,11998],{},"participant \"Zod schema\" as Z\n",[4408,12000,12001],{"class":4410,"line":4649},[4408,12002,4611],{"emptyLinePlaceholder":4610},[4408,12004,12005],{"class":4410,"line":4655},[4408,12006,12007],{},"User -> UI: змінює значення\n",[4408,12009,12010],{"class":4410,"line":4661},[4408,12011,12012],{},"UI -> C: onChange \u002F onChangeText\n",[4408,12014,12015],{"class":4410,"line":4667},[4408,12016,12017],{},"C -> F: field.onChange\n",[4408,12019,12020],{"class":4410,"line":4672},[4408,12021,12022],{},"User -> F: handleSubmit\n",[4408,12024,12025],{"class":4410,"line":4677},[4408,12026,12027],{},"F -> R: values\n",[4408,12029,12030],{"class":4410,"line":4683},[4408,12031,12032],{},"R -> Z: safeParse\n",[4408,12034,12035],{"class":4410,"line":4689},[4408,12036,12037],{},"alt invalid\n",[4408,12039,12040],{"class":4410,"line":4695},[4408,12041,12042],{},"  Z --> F: errors\n",[4408,12044,12045],{"class":4410,"line":4700},[4408,12046,12047],{},"  F --> UI: error message\n",[4408,12049,12050],{"class":4410,"line":4706},[4408,12051,12052],{},"else valid\n",[4408,12054,12055],{"class":4410,"line":4712},[4408,12056,12057],{},"  Z --> F: onValid(data)\n",[4408,12059,12060],{"class":4410,"line":4717},[4408,12061,12062],{},"end\n",[4408,12064,12065],{"class":4410,"line":4722},[4408,12066,4611],{"emptyLinePlaceholder":4610},[4408,12068,12069],{"class":4410,"line":6058},[4408,12070,4725],{},[3997,12072,12074,12076],{"id":12073},"controller-як-підключити-будь-який-контроль",[3540,12075,3701],{}," — як підключити будь-який контроль",[3512,12078,12079,12083,12084,12087,12088,12090,12091,12093,12094,12096,12097,12099],{},[3516,12080,12081],{},[3540,12082,3701],{}," — компонент React Hook Form. Він каже: «я відповідаю за ",[3516,12085,12086],{},"одне"," поле форми з іменем ",[3540,12089,5050],{},"». Усередині ",[3540,12092,4467],{}," ви малюєте ",[3516,12095,7332],{}," UI і підставляєте з ",[3540,12098,5261],{}," три речі:",[3833,12101,12102,12112],{},[3836,12103,12104],{},[3839,12105,12106,12110],{},[3842,12107,11141,12108],{},[3540,12109,5261],{},[3842,12111,11392],{},[3849,12113,12114,12123,12132],{},[3839,12115,12116,12120],{},[3854,12117,12118],{},[3540,12119,3641],{},[3854,12121,12122],{},"що показати в контролі зараз",[3839,12124,12125,12129],{},[3854,12126,12127],{},[3540,12128,3553],{},[3854,12130,12131],{},"як повідомити RHF про нове значення",[3839,12133,12134,12138],{},[3854,12135,12136],{},[3540,12137,4475],{},[3854,12139,12140],{},"як повідомити, що поле втратило фокус",[3512,12142,10710,12143,12147,12148,12151,12152,12154],{},[3516,12144,12145],{},[3540,12146,11769],{}," — об’єкт з ",[3540,12149,12150],{},"useForm()",", «пульт» усієї форми. Без нього ",[3540,12153,3701],{}," не знає, до якої форми належить поле.",[3512,12156,10710,12157,12161,12162,3588,12164,3550,12167,12170,12171,12173],{},[3516,12158,12159],{},[3540,12160,5050],{}," — рядок-ключ у values і в ",[3540,12163,4190],{},[3540,12165,12166],{},"\"title\"",[3540,12168,12169],{},"\"isPrivate\"","). Той самий ключ має бути в ",[3540,12172,9556],{}," і в Zod-схемі.",[3512,12175,12176,12177,12180],{},"Різні контроли лише ",[3516,12178,12179],{},"по-різному"," називають props значення\u002Fзміни — ідея та сама:",[4399,12182,12184],{"className":4401,"code":12183,"language":4403,"meta":4404,"style":4404},"\u002F\u002F TextInput: value + onChangeText\n\u003CController\n  control={control}\n  name=\"title\"\n  render={({ field: { onChange, onBlur, value } }) => (\n    \u003CTextInput value={value} onChangeText={onChange} onBlur={onBlur} \u002F>\n  )}\n\u002F>\n\n\u002F\u002F Switch: value + onValueChange (boolean)\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\u002F Slider: value + onValueChange (number)\n\u003CController\n  control={control}\n  name=\"plannedDays\"\n  render={({ field: { onChange, value } }) => (\n    \u003CSlider\n      value={value}\n      onValueChange={onChange}\n      minimumValue={1}\n      maximumValue={14}\n      step={1}\n    \u002F>\n  )}\n\u002F>\n\n\u002F\u002F Picker: selectedValue + onValueChange\n\u003CController\n  control={control}\n  name=\"region\"\n  render={({ field: { onChange, value } }) => (\n    \u003CPicker selectedValue={value} onValueChange={onChange}>\n      {\u002F* Picker.Item … *\u002F}\n    \u003C\u002FPicker>\n  )}\n\u002F>\n",[3540,12185,12186,12191,12198,12211,12221,12254,12294,12301,12306,12310,12315,12321,12333,12342,12368,12396,12402,12406,12410,12415,12421,12433,12442,12468,12474,12487,12500,12513,12526,12539,12544,12550,12554,12558,12563,12569,12581,12590,12616,12644,12654,12662,12668],{"__ignoreMap":4404},[4408,12187,12188],{"class":4410,"line":4411},[4408,12189,12190],{"class":11572},"\u002F\u002F TextInput: value + onChangeText\n",[4408,12192,12193,12195],{"class":4410,"line":4595},[4408,12194,4415],{"class":4414},[4408,12196,12197],{"class":5088},"Controller\n",[4408,12199,12200,12203,12205,12207,12209],{"class":4410,"line":4601},[4408,12201,12202],{"class":5123},"  control",[4408,12204,5127],{"class":4426},[4408,12206,5130],{"class":4422},[4408,12208,11769],{"class":4981},[4408,12210,4641],{"class":4422},[4408,12212,12213,12216,12218],{"class":4410,"line":4607},[4408,12214,12215],{"class":5123},"  name",[4408,12217,5127],{"class":4426},[4408,12219,12220],{"class":4438},"\"title\"\n",[4408,12222,12223,12226,12228,12230,12232,12234,12237,12239,12241,12243,12245,12247,12250,12252],{"class":4410,"line":4614},[4408,12224,12225],{"class":5123},"  render",[4408,12227,5127],{"class":4426},[4408,12229,5130],{"class":4422},[4408,12231,7080],{"class":4434},[4408,12233,5261],{"class":4981},[4408,12235,12236],{"class":4434},": { ",[4408,12238,3553],{"class":4981},[4408,12240,3550],{"class":4434},[4408,12242,4475],{"class":4981},[4408,12244,3550],{"class":4434},[4408,12246,3641],{"class":4981},[4408,12248,12249],{"class":4434}," } }) ",[4408,12251,7089],{"class":4422},[4408,12253,5080],{"class":4434},[4408,12255,12256,12258,12260,12262,12264,12266,12268,12270,12273,12275,12277,12279,12281,12284,12286,12288,12290,12292],{"class":4410,"line":4620},[4408,12257,5085],{"class":4414},[4408,12259,3637],{"class":5088},[4408,12261,8185],{"class":5123},[4408,12263,5127],{"class":4426},[4408,12265,5130],{"class":4422},[4408,12267,3641],{"class":4981},[4408,12269,4444],{"class":4422},[4408,12271,12272],{"class":5123}," onChangeText",[4408,12274,5127],{"class":4426},[4408,12276,5130],{"class":4422},[4408,12278,3553],{"class":4981},[4408,12280,4444],{"class":4422},[4408,12282,12283],{"class":5123}," onBlur",[4408,12285,5127],{"class":4426},[4408,12287,5130],{"class":4422},[4408,12289,4475],{"class":4981},[4408,12291,4444],{"class":4422},[4408,12293,4447],{"class":4414},[4408,12295,12296,12299],{"class":4410,"line":4626},[4408,12297,12298],{"class":4434},"  )",[4408,12300,4641],{"class":4422},[4408,12302,12303],{"class":4410,"line":4632},[4408,12304,12305],{"class":4414},"\u002F>\n",[4408,12307,12308],{"class":4410,"line":4638},[4408,12309,4611],{"emptyLinePlaceholder":4610},[4408,12311,12312],{"class":4410,"line":4644},[4408,12313,12314],{"class":11572},"\u002F\u002F Switch: value + onValueChange (boolean)\n",[4408,12316,12317,12319],{"class":4410,"line":4649},[4408,12318,4415],{"class":4414},[4408,12320,12197],{"class":5088},[4408,12322,12323,12325,12327,12329,12331],{"class":4410,"line":4655},[4408,12324,12202],{"class":5123},[4408,12326,5127],{"class":4426},[4408,12328,5130],{"class":4422},[4408,12330,11769],{"class":4981},[4408,12332,4641],{"class":4422},[4408,12334,12335,12337,12339],{"class":4410,"line":4661},[4408,12336,12215],{"class":5123},[4408,12338,5127],{"class":4426},[4408,12340,12341],{"class":4438},"\"isPrivate\"\n",[4408,12343,12344,12346,12348,12350,12352,12354,12356,12358,12360,12362,12364,12366],{"class":4410,"line":4667},[4408,12345,12225],{"class":5123},[4408,12347,5127],{"class":4426},[4408,12349,5130],{"class":4422},[4408,12351,7080],{"class":4434},[4408,12353,5261],{"class":4981},[4408,12355,12236],{"class":4434},[4408,12357,3553],{"class":4981},[4408,12359,3550],{"class":4434},[4408,12361,3641],{"class":4981},[4408,12363,12249],{"class":4434},[4408,12365,7089],{"class":4422},[4408,12367,5080],{"class":4434},[4408,12369,12370,12372,12374,12376,12378,12380,12382,12384,12386,12388,12390,12392,12394],{"class":4410,"line":4672},[4408,12371,5085],{"class":4414},[4408,12373,3668],{"class":5088},[4408,12375,8185],{"class":5123},[4408,12377,5127],{"class":4426},[4408,12379,5130],{"class":4422},[4408,12381,3641],{"class":4981},[4408,12383,4444],{"class":4422},[4408,12385,8196],{"class":5123},[4408,12387,5127],{"class":4426},[4408,12389,5130],{"class":4422},[4408,12391,3553],{"class":4981},[4408,12393,4444],{"class":4422},[4408,12395,4447],{"class":4414},[4408,12397,12398,12400],{"class":4410,"line":4677},[4408,12399,12298],{"class":4434},[4408,12401,4641],{"class":4422},[4408,12403,12404],{"class":4410,"line":4683},[4408,12405,12305],{"class":4414},[4408,12407,12408],{"class":4410,"line":4689},[4408,12409,4611],{"emptyLinePlaceholder":4610},[4408,12411,12412],{"class":4410,"line":4695},[4408,12413,12414],{"class":11572},"\u002F\u002F Slider: value + onValueChange (number)\n",[4408,12416,12417,12419],{"class":4410,"line":4700},[4408,12418,4415],{"class":4414},[4408,12420,12197],{"class":5088},[4408,12422,12423,12425,12427,12429,12431],{"class":4410,"line":4706},[4408,12424,12202],{"class":5123},[4408,12426,5127],{"class":4426},[4408,12428,5130],{"class":4422},[4408,12430,11769],{"class":4981},[4408,12432,4641],{"class":4422},[4408,12434,12435,12437,12439],{"class":4410,"line":4712},[4408,12436,12215],{"class":5123},[4408,12438,5127],{"class":4426},[4408,12440,12441],{"class":4438},"\"plannedDays\"\n",[4408,12443,12444,12446,12448,12450,12452,12454,12456,12458,12460,12462,12464,12466],{"class":4410,"line":4717},[4408,12445,12225],{"class":5123},[4408,12447,5127],{"class":4426},[4408,12449,5130],{"class":4422},[4408,12451,7080],{"class":4434},[4408,12453,5261],{"class":4981},[4408,12455,12236],{"class":4434},[4408,12457,3553],{"class":4981},[4408,12459,3550],{"class":4434},[4408,12461,3641],{"class":4981},[4408,12463,12249],{"class":4434},[4408,12465,7089],{"class":4422},[4408,12467,5080],{"class":4434},[4408,12469,12470,12472],{"class":4410,"line":4722},[4408,12471,5085],{"class":4414},[4408,12473,9850],{"class":5088},[4408,12475,12476,12479,12481,12483,12485],{"class":4410,"line":6058},[4408,12477,12478],{"class":5123},"      value",[4408,12480,5127],{"class":4426},[4408,12482,5130],{"class":4422},[4408,12484,3641],{"class":4981},[4408,12486,4641],{"class":4422},[4408,12488,12489,12492,12494,12496,12498],{"class":4410,"line":6088},[4408,12490,12491],{"class":5123},"      onValueChange",[4408,12493,5127],{"class":4426},[4408,12495,5130],{"class":4422},[4408,12497,3553],{"class":4981},[4408,12499,4641],{"class":4422},[4408,12501,12502,12505,12507,12509,12511],{"class":4410,"line":6099},[4408,12503,12504],{"class":5123},"      minimumValue",[4408,12506,5127],{"class":4426},[4408,12508,5130],{"class":4422},[4408,12510,9862],{"class":6042},[4408,12512,4641],{"class":4422},[4408,12514,12515,12518,12520,12522,12524],{"class":4410,"line":6105},[4408,12516,12517],{"class":5123},"      maximumValue",[4408,12519,5127],{"class":4426},[4408,12521,5130],{"class":4422},[4408,12523,9876],{"class":6042},[4408,12525,4641],{"class":4422},[4408,12527,12528,12531,12533,12535,12537],{"class":4410,"line":6157},[4408,12529,12530],{"class":5123},"      step",[4408,12532,5127],{"class":4426},[4408,12534,5130],{"class":4422},[4408,12536,9862],{"class":6042},[4408,12538,4641],{"class":4422},[4408,12540,12541],{"class":4410,"line":6189},[4408,12542,12543],{"class":4414},"    \u002F>\n",[4408,12545,12546,12548],{"class":4410,"line":6195},[4408,12547,12298],{"class":4434},[4408,12549,4641],{"class":4422},[4408,12551,12552],{"class":4410,"line":6205},[4408,12553,12305],{"class":4414},[4408,12555,12556],{"class":4410,"line":6210},[4408,12557,4611],{"emptyLinePlaceholder":4610},[4408,12559,12560],{"class":4410,"line":6256},[4408,12561,12562],{"class":11572},"\u002F\u002F Picker: selectedValue + onValueChange\n",[4408,12564,12565,12567],{"class":4410,"line":6263},[4408,12566,4415],{"class":4414},[4408,12568,12197],{"class":5088},[4408,12570,12571,12573,12575,12577,12579],{"class":4410,"line":6276},[4408,12572,12202],{"class":5123},[4408,12574,5127],{"class":4426},[4408,12576,5130],{"class":4422},[4408,12578,11769],{"class":4981},[4408,12580,4641],{"class":4422},[4408,12582,12583,12585,12587],{"class":4410,"line":6289},[4408,12584,12215],{"class":5123},[4408,12586,5127],{"class":4426},[4408,12588,12589],{"class":4438},"\"region\"\n",[4408,12591,12592,12594,12596,12598,12600,12602,12604,12606,12608,12610,12612,12614],{"class":4410,"line":6299},[4408,12593,12225],{"class":5123},[4408,12595,5127],{"class":4426},[4408,12597,5130],{"class":4422},[4408,12599,7080],{"class":4434},[4408,12601,5261],{"class":4981},[4408,12603,12236],{"class":4434},[4408,12605,3553],{"class":4981},[4408,12607,3550],{"class":4434},[4408,12609,3641],{"class":4981},[4408,12611,12249],{"class":4434},[4408,12613,7089],{"class":4422},[4408,12615,5080],{"class":4434},[4408,12617,12618,12620,12622,12624,12626,12628,12630,12632,12634,12636,12638,12640,12642],{"class":4410,"line":6314},[4408,12619,5085],{"class":4414},[4408,12621,3677],{"class":5088},[4408,12623,10400],{"class":5123},[4408,12625,5127],{"class":4426},[4408,12627,5130],{"class":4422},[4408,12629,3641],{"class":4981},[4408,12631,4444],{"class":4422},[4408,12633,8196],{"class":5123},[4408,12635,5127],{"class":4426},[4408,12637,5130],{"class":4422},[4408,12639,3553],{"class":4981},[4408,12641,4444],{"class":4422},[4408,12643,5091],{"class":4414},[4408,12645,12646,12649,12652],{"class":4410,"line":6325},[4408,12647,12648],{"class":4422},"      {",[4408,12650,12651],{"class":11572},"\u002F* Picker.Item … *\u002F",[4408,12653,4641],{"class":4422},[4408,12655,12656,12658,12660],{"class":4410,"line":6335},[4408,12657,5177],{"class":4414},[4408,12659,3677],{"class":5088},[4408,12661,5091],{"class":4414},[4408,12663,12664,12666],{"class":4410,"line":6346},[4408,12665,12298],{"class":4434},[4408,12667,4641],{"class":4422},[4408,12669,12670],{"class":4410,"line":6387},[4408,12671,12305],{"class":4414},[3512,12673,12674,12675,12678,12679,12681],{},"Помилку під полем читаєте ",[3516,12676,12677],{},"поруч",", не всередині ",[3540,12680,3701],{}," обов’язково:",[4399,12683,12685],{"className":4401,"code":12684,"language":4403,"meta":4404,"style":4404},"{errors.title ? \u003CText>{errors.title.message}\u003C\u002FText> : null}\n",[3540,12686,12687],{"__ignoreMap":4404},[4408,12688,12689,12691,12693,12695,12697,12699,12701,12703,12705,12707,12709,12711,12713,12715,12718,12720,12722,12724,12726,12728,12731],{"class":4410,"line":4411},[4408,12690,5130],{"class":4426},[4408,12692,4190],{"class":4981},[4408,12694,3646],{"class":4426},[4408,12696,7303],{"class":4981},[4408,12698,5830],{"class":4426},[4408,12700,4415],{"class":4414},[4408,12702,5011],{"class":5088},[4408,12704,5101],{"class":4414},[4408,12706,5130],{"class":4422},[4408,12708,4190],{"class":4981},[4408,12710,3646],{"class":4434},[4408,12712,7303],{"class":4981},[4408,12714,3646],{"class":4434},[4408,12716,12717],{"class":4981},"message",[4408,12719,4444],{"class":4422},[4408,12721,5107],{"class":4414},[4408,12723,5011],{"class":5088},[4408,12725,5101],{"class":4414},[4408,12727,5836],{"class":4426},[4408,12729,12730],{"class":4422},"null",[4408,12732,4641],{"class":4426},[3512,12734,12735,12736,3918,12738,3588,12741,3693],{},"У Nomad це вже загорнуто в ",[3540,12737,5248],{},[3540,12739,12740],{},"FormRow",[3540,12742,12743],{},"error={errors.title?.message}",[3997,12745,12747,12749],{"id":12746},"useform-що-налаштовуємо",[3540,12748,11765],{}," — що налаштовуємо",[5258,12751,12752,12784,12822,12863,12877,12912,12938],{},[5261,12753,12755,12774],{"name":12754,"type":11903},"resolver",[3512,12756,12757,12760,12761,12763,12764,12766,12767,12770,12771,12773],{},[3516,12758,12759],{},"Хто"," перевіряє values перед успішним submit. ",[3540,12762,3707],{}," з пакета ",[3540,12765,11897],{}," бере вашу Zod-схему, ганяє ",[3540,12768,12769],{},"safeParse"," (внутрішньо) і перетворює помилки Zod на формат ",[3540,12772,11925],{},", зрозумілий RHF.",[3512,12775,12776,12777,12779,12780,12783],{},"Без resolver лишаються лише rules у кожному ",[3540,12778,3701],{}," — для великої форми це швидко роз’їжджається. З resolver ",[3516,12781,12782],{},"одне місце правди"," для правил: файл схеми.",[5261,12785,12786,12803],{"name":9556,"type":11811},[3512,12787,12788,12789,12792,12793,12795,12796,12798,12799,12802],{},"Початкові значення ",[3516,12790,12791],{},"кожного"," поля форми в момент ",[3540,12794,11765],{},". Для controlled-інпутів це критично: якщо ключа немає, ",[3540,12797,3641],{}," може бути ",[3540,12800,12801],{},"undefined",", і React видасть warning \u002F поле поводитиметься дивно.",[3512,12804,12805,12806,12808,12809,12811,12812,12815,12816,12818,12819,12821],{},"Приклади: порожні рядки ",[3540,12807,5065],{}," для TextInput, ",[3540,12810,5411],{}," для Switch\u002FCheckbox, число для Slider, перший елемент enum для Picker, ",[3540,12813,12814],{},"new Date()"," для дат. Для обов’язкової згоди ",[3540,12817,9539],{}," у default свідомо ставлять ",[3540,12820,5411],{},", щоб галочку поставили руками.",[5261,12823,12825,12831,12855],{"name":10604,"type":12824},"'onSubmit' \\| 'onChange' \\| 'onBlur' \\| 'onTouched' \\| 'all'",[3512,12826,12827,12830],{},[3516,12828,12829],{},"Коли вперше"," запускати валідацію.",[3774,12832,12833,12841,12848],{},[3575,12834,12835,12840],{},[3516,12836,12837],{},[3540,12838,12839],{},"onSubmit"," (часто найспокійніший UX): помилки з’являються після натискання «Створити», а не коли людина ще друкує першу літеру.",[3575,12842,12843,12847],{},[3516,12844,12845],{},[3540,12846,3553],{}," — перевірка на кожну зміну (агресивно, інколи втомлює).",[3575,12849,12850,12854],{},[3516,12851,12852],{},[3540,12853,4475],{}," — коли пішли з поля.",[3512,12856,12857,12858,3642,12860,12862],{},"У Nomad для створення поїздки обрано ",[3540,12859,12839],{},[3540,12861,11483],{},": спочатку не кричати, після першої спроби — допомагати виправляти одразу.",[5261,12864,12867,12870,12871,12873,12874,12876],{"name":12865,"type":12866},"reValidateMode","'onChange' \\| 'onBlur' \\| 'onSubmit'",[3516,12868,12869],{},"Після"," того, як форма вже була invalid (або вже сабмітилась), ",[3590,12872,3626],{}," перераховувати помилки знову. ",[3540,12875,3553],{}," означає: виправили текст — помилка під полем зникає без повторного натискання Submit. Це відчувається «живо» і зменшує роздратування.",[5261,12878,12881,12905],{"name":12879,"type":12880},"handleSubmit(onValid, onInvalid?)","function",[3512,12882,12883,12884,12887,12888,12892,12893,12896,12897,12899,12900,3634,12902,12904],{},"Функція-обгортка для кнопки: ",[3540,12885,12886],{},"onPress={handleSubmit(onValid)}",". Спочатку RHF (+ resolver) перевіряє всі поля. Якщо ок — викликає ",[3516,12889,12890],{},[3540,12891,11931],{}," уже з ",[3516,12894,12895],{},"провалідованими"," даними (і з типами з Zod). Якщо ні — заповнює ",[3540,12898,4190],{},", фокус на помилку (за налаштуваннями), ",[3540,12901,7050],{},[3516,12903,3738],{}," викликається.",[3512,12906,12907,12908,12911],{},"Опційний другий аргумент ",[3540,12909,12910],{},"onInvalid"," рідко потрібен у простих формах; інколи використовують для аналітики «скільки разів провалили submit».",[5261,12913,12914,12931],{"name":11925,"type":11811},[3512,12915,12916,12917,12919,12920,12922,12923,12926,12927,3918,12929,3646],{},"Словник помилок по іменах полів. Для поля ",[3540,12918,7303],{}," читаєте ",[3540,12921,11477],{}," — це рядок, який ви самі задали в Zod (",[3540,12924,12925],{},"'Назва має містити…'","). Саме його показують під ",[3540,12928,5248],{},[3540,12930,12740],{},[3512,12932,12933,12934,12937],{},"Поки поле валідне (або ще не валідували) — відповідного ключа немає або message порожній. Не плутайте з exceptions: невалідна форма — ",[3516,12935,12936],{},"нормальний"," UX-стан, не crash.",[5261,12939,12942,12960],{"name":12940,"type":12941},"watch(name?)","value | values",[3512,12943,12944,12945,12947,12948,12951,12952,12955,12956,12959],{},"Підписка на поточні values ",[3516,12946,5644],{}," submit. ",[3540,12949,12950],{},"watch('startDate')"," повертає дату початку, щоб передати її в ",[3540,12953,12954],{},"minimumDate"," для поля кінця. ",[3540,12957,12958],{},"watch()"," без аргументів — увесь об’єкт (обережно: більше ререндерів).",[3512,12961,12962,12964,12965,12968,12969,12971],{},[3540,12963,11777],{}," зручний для UI, що ",[3516,12966,12967],{},"залежить"," від інших полів (показати блок, обмежити slider, порахувати підсумок). Для submit-логіки все одно покладайтесь на ",[3540,12970,5619],{}," + схему.",[3997,12973,12975],{"id":12974},"демо-ux-помилок-без-rhf-у-preview-host","Демо UX помилок (без RHF у preview-host)",[5696,12977,12981],{"device":5698,"filename":12978,"height":12979,"title":12980},"FormErrorsDemo.tsx",700,"Форма · помилки під полями",[4399,12982,12984],{"className":4401,"code":12983,"language":4403,"meta":4404,"style":4404},"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",[3540,12985,12986,13002,13008,13015,13022,13029,13035,13041,13047,13053,13060,13067,13073,13083,13087,13125,13129,13141,13157,13177,13197,13217,13237,13257,13280,13300,13304,13326,13348,13371,13396,13419,13423,13436,13451,13488,13540,13563,13574,13604,13609,13613,13623,13629,13662,13707,13759,13765,13780,13791,13802,13813,13824,13831,13864,13869,13900,13908,13916,13921,13925,13929,13935,13942,13966,14001,14005,14045,14090,14120,14125,14133,14137,14177,14183,14195,14208,14218,14231,14241,14252,14288,14295,14299,14355,14360,14401,14408,14421,14434,14444,14454,14463,14476,14487,14498,14533,14540,14545,14600,14605,14628,14668,14720,14729,14784,14789,14832,14864,14873,14882,14891,14896,14901,14906,14923,14955,14987,14994,15003,15012,15021,15030,15039,15048,15053,15084,15115,15134],{"__ignoreMap":4404},[4408,12987,12988,12990,12992,12994,12996,12998,13000],{"class":4410,"line":4411},[4408,12989,4975],{"class":4974},[4408,12991,4978],{"class":4426},[4408,12993,4390],{"class":4981},[4408,12995,4984],{"class":4426},[4408,12997,4987],{"class":4974},[4408,12999,4990],{"class":4438},[4408,13001,4993],{"class":4426},[4408,13003,13004,13006],{"class":4410,"line":4595},[4408,13005,4975],{"class":4974},[4408,13007,5729],{"class":4426},[4408,13009,13010,13013],{"class":4410,"line":4601},[4408,13011,13012],{"class":4981},"  KeyboardAvoidingView",[4408,13014,5737],{"class":4426},[4408,13016,13017,13020],{"class":4410,"line":4607},[4408,13018,13019],{"class":4981},"  Platform",[4408,13021,5737],{"class":4426},[4408,13023,13024,13027],{"class":4410,"line":4614},[4408,13025,13026],{"class":4981},"  Pressable",[4408,13028,5737],{"class":4426},[4408,13030,13031,13033],{"class":4410,"line":4620},[4408,13032,5734],{"class":4981},[4408,13034,5737],{"class":4426},[4408,13036,13037,13039],{"class":4410,"line":4626},[4408,13038,5742],{"class":4981},[4408,13040,5737],{"class":4426},[4408,13042,13043,13045],{"class":4410,"line":4632},[4408,13044,5749],{"class":4981},[4408,13046,5737],{"class":4426},[4408,13048,13049,13051],{"class":4410,"line":4638},[4408,13050,5756],{"class":4981},[4408,13052,5737],{"class":4426},[4408,13054,13055,13058],{"class":4410,"line":4644},[4408,13056,13057],{"class":4981},"  Switch",[4408,13059,5737],{"class":4426},[4408,13061,13062,13065],{"class":4410,"line":4649},[4408,13063,13064],{"class":4981},"  View",[4408,13066,5737],{"class":4426},[4408,13068,13069,13071],{"class":4410,"line":4655},[4408,13070,5763],{"class":4981},[4408,13072,5737],{"class":4426},[4408,13074,13075,13077,13079,13081],{"class":4410,"line":4661},[4408,13076,5770],{"class":4426},[4408,13078,4987],{"class":4974},[4408,13080,5018],{"class":4438},[4408,13082,4993],{"class":4426},[4408,13084,13085],{"class":4410,"line":4667},[4408,13086,4611],{"emptyLinePlaceholder":4610},[4408,13088,13089,13091,13094,13097,13099,13102,13104,13107,13109,13111,13113,13115,13118,13120,13122],{"class":4410,"line":4672},[4408,13090,4065],{"class":4422},[4408,13092,13093],{"class":5088}," Errors",[4408,13095,13096],{"class":4426}," = { ",[4408,13098,5050],{"class":4981},[4408,13100,13101],{"class":4426},"?: ",[4408,13103,5263],{"class":5088},[4408,13105,13106],{"class":4426},"; ",[4408,13108,4463],{"class":4981},[4408,13110,13101],{"class":4426},[4408,13112,5263],{"class":5088},[4408,13114,13106],{"class":4426},[4408,13116,13117],{"class":4981},"terms",[4408,13119,13101],{"class":4426},[4408,13121,5263],{"class":5088},[4408,13123,13124],{"class":4426}," };\n",[4408,13126,13127],{"class":4410,"line":4677},[4408,13128,4611],{"emptyLinePlaceholder":4610},[4408,13130,13131,13133,13135,13137,13139],{"class":4410,"line":4683},[4408,13132,5029],{"class":4974},[4408,13134,5787],{"class":4974},[4408,13136,5032],{"class":4422},[4408,13138,5792],{"class":4430},[4408,13140,5038],{"class":4426},[4408,13142,13143,13145,13147,13149,13151,13153,13155],{"class":4410,"line":4689},[4408,13144,5043],{"class":4422},[4408,13146,5801],{"class":5049},[4408,13148,5804],{"class":4426},[4408,13150,5807],{"class":4430},[4408,13152,5810],{"class":4426},[4408,13154,5813],{"class":4438},[4408,13156,4993],{"class":4426},[4408,13158,13159,13161,13163,13165,13167,13169,13171,13173,13175],{"class":4410,"line":4695},[4408,13160,5043],{"class":4422},[4408,13162,5822],{"class":5049},[4408,13164,5804],{"class":4426},[4408,13166,5827],{"class":4981},[4408,13168,5830],{"class":4426},[4408,13170,5833],{"class":4438},[4408,13172,5836],{"class":4426},[4408,13174,5839],{"class":4438},[4408,13176,4993],{"class":4426},[4408,13178,13179,13181,13183,13185,13187,13189,13191,13193,13195],{"class":4410,"line":4700},[4408,13180,5043],{"class":4422},[4408,13182,5848],{"class":5049},[4408,13184,5804],{"class":4426},[4408,13186,5827],{"class":4981},[4408,13188,5830],{"class":4426},[4408,13190,5857],{"class":4438},[4408,13192,5836],{"class":4426},[4408,13194,5862],{"class":4438},[4408,13196,4993],{"class":4426},[4408,13198,13199,13201,13203,13205,13207,13209,13211,13213,13215],{"class":4410,"line":4706},[4408,13200,5043],{"class":4422},[4408,13202,5871],{"class":5049},[4408,13204,5804],{"class":4426},[4408,13206,5827],{"class":4981},[4408,13208,5830],{"class":4426},[4408,13210,5880],{"class":4438},[4408,13212,5836],{"class":4426},[4408,13214,5885],{"class":4438},[4408,13216,4993],{"class":4426},[4408,13218,13219,13221,13223,13225,13227,13229,13231,13233,13235],{"class":4410,"line":4712},[4408,13220,5043],{"class":4422},[4408,13222,5894],{"class":5049},[4408,13224,5804],{"class":4426},[4408,13226,5827],{"class":4981},[4408,13228,5830],{"class":4426},[4408,13230,5903],{"class":4438},[4408,13232,5836],{"class":4426},[4408,13234,5908],{"class":4438},[4408,13236,4993],{"class":4426},[4408,13238,13239,13241,13243,13245,13247,13249,13251,13253,13255],{"class":4410,"line":4717},[4408,13240,5043],{"class":4422},[4408,13242,5917],{"class":5049},[4408,13244,5804],{"class":4426},[4408,13246,5827],{"class":4981},[4408,13248,5830],{"class":4426},[4408,13250,5926],{"class":4438},[4408,13252,5836],{"class":4426},[4408,13254,5931],{"class":4438},[4408,13256,4993],{"class":4426},[4408,13258,13259,13261,13264,13266,13268,13270,13273,13275,13278],{"class":4410,"line":4722},[4408,13260,5043],{"class":4422},[4408,13262,13263],{"class":5049}," danger",[4408,13265,5804],{"class":4426},[4408,13267,5827],{"class":4981},[4408,13269,5830],{"class":4426},[4408,13271,13272],{"class":4438},"'#f87171'",[4408,13274,5836],{"class":4426},[4408,13276,13277],{"class":4438},"'#dc2626'",[4408,13279,4993],{"class":4426},[4408,13281,13282,13284,13286,13288,13290,13292,13294,13296,13298],{"class":4410,"line":6058},[4408,13283,5043],{"class":4422},[4408,13285,7515],{"class":5049},[4408,13287,5804],{"class":4426},[4408,13289,5827],{"class":4981},[4408,13291,5830],{"class":4426},[4408,13293,7524],{"class":4438},[4408,13295,5836],{"class":4426},[4408,13297,7529],{"class":4438},[4408,13299,4993],{"class":4426},[4408,13301,13302],{"class":4410,"line":6088},[4408,13303,4611],{"emptyLinePlaceholder":4610},[4408,13305,13306,13308,13310,13312,13314,13316,13318,13320,13322,13324],{"class":4410,"line":6099},[4408,13307,5043],{"class":4422},[4408,13309,5046],{"class":4426},[4408,13311,5050],{"class":5049},[4408,13313,3550],{"class":4426},[4408,13315,5055],{"class":5049},[4408,13317,5058],{"class":4426},[4408,13319,4390],{"class":4430},[4408,13321,4435],{"class":4426},[4408,13323,5065],{"class":4438},[4408,13325,5068],{"class":4426},[4408,13327,13328,13330,13332,13334,13336,13338,13340,13342,13344,13346],{"class":4410,"line":6105},[4408,13329,5043],{"class":4422},[4408,13331,5046],{"class":4426},[4408,13333,4463],{"class":5049},[4408,13335,3550],{"class":4426},[4408,13337,5950],{"class":5049},[4408,13339,5058],{"class":4426},[4408,13341,4390],{"class":4430},[4408,13343,4435],{"class":4426},[4408,13345,5065],{"class":4438},[4408,13347,5068],{"class":4426},[4408,13349,13350,13352,13354,13356,13358,13361,13363,13365,13367,13369],{"class":4410,"line":6157},[4408,13351,5043],{"class":4422},[4408,13353,5046],{"class":4426},[4408,13355,13117],{"class":5049},[4408,13357,3550],{"class":4426},[4408,13359,13360],{"class":5049},"setTerms",[4408,13362,5058],{"class":4426},[4408,13364,4390],{"class":4430},[4408,13366,4435],{"class":4426},[4408,13368,5411],{"class":4422},[4408,13370,5068],{"class":4426},[4408,13372,13373,13375,13377,13379,13381,13384,13386,13388,13390,13393],{"class":4410,"line":6189},[4408,13374,5043],{"class":4422},[4408,13376,5046],{"class":4426},[4408,13378,4190],{"class":5049},[4408,13380,3550],{"class":4426},[4408,13382,13383],{"class":5049},"setErrors",[4408,13385,5058],{"class":4426},[4408,13387,4390],{"class":4430},[4408,13389,4415],{"class":4426},[4408,13391,13392],{"class":5088},"Errors",[4408,13394,13395],{"class":4426},">({});\n",[4408,13397,13398,13400,13402,13404,13406,13409,13411,13413,13415,13417],{"class":4410,"line":6195},[4408,13399,5043],{"class":4422},[4408,13401,5046],{"class":4426},[4408,13403,5577],{"class":5049},[4408,13405,3550],{"class":4426},[4408,13407,13408],{"class":5049},"setDone",[4408,13410,5058],{"class":4426},[4408,13412,4390],{"class":4430},[4408,13414,4435],{"class":4426},[4408,13416,5411],{"class":4422},[4408,13418,5068],{"class":4426},[4408,13420,13421],{"class":4410,"line":6205},[4408,13422,4611],{"emptyLinePlaceholder":4610},[4408,13424,13425,13427,13430,13432,13434],{"class":4410,"line":6210},[4408,13426,5043],{"class":4422},[4408,13428,13429],{"class":4430}," onSubmit",[4408,13431,11616],{"class":4426},[4408,13433,7089],{"class":4422},[4408,13435,5729],{"class":4426},[4408,13437,13438,13441,13444,13446,13448],{"class":4410,"line":6256},[4408,13439,13440],{"class":4422},"    const",[4408,13442,13443],{"class":5049}," e",[4408,13445,4145],{"class":4426},[4408,13447,13392],{"class":5088},[4408,13449,13450],{"class":4426}," = {};\n",[4408,13452,13453,13456,13458,13460,13462,13464,13466,13468,13470,13472,13474,13477,13479,13481,13483,13486],{"class":4410,"line":6263},[4408,13454,13455],{"class":4974},"    if",[4408,13457,3588],{"class":4426},[4408,13459,5050],{"class":4981},[4408,13461,3646],{"class":4426},[4408,13463,11634],{"class":4430},[4408,13465,11637],{"class":4426},[4408,13467,11640],{"class":4981},[4408,13469,11643],{"class":4426},[4408,13471,11646],{"class":6042},[4408,13473,7723],{"class":4426},[4408,13475,13476],{"class":4981},"e",[4408,13478,3646],{"class":4426},[4408,13480,5050],{"class":4981},[4408,13482,5804],{"class":4426},[4408,13484,13485],{"class":4438},"'Ім’я — щонайменше 2 символи'",[4408,13487,4993],{"class":4426},[4408,13489,13490,13492,13495,13497,13499,13502,13504,13507,13510,13512,13514,13516,13518,13520,13522,13525,13527,13529,13531,13533,13535,13538],{"class":4410,"line":6276},[4408,13491,13455],{"class":4974},[4408,13493,13494],{"class":4426}," (!",[4408,13496,4463],{"class":4981},[4408,13498,3646],{"class":4426},[4408,13500,13501],{"class":4430},"includes",[4408,13503,4435],{"class":4426},[4408,13505,13506],{"class":4438},"'@'",[4408,13508,13509],{"class":4426},") || ",[4408,13511,4463],{"class":4981},[4408,13513,3646],{"class":4426},[4408,13515,11634],{"class":4430},[4408,13517,11637],{"class":4426},[4408,13519,11640],{"class":4981},[4408,13521,11643],{"class":4426},[4408,13523,13524],{"class":6042},"5",[4408,13526,7723],{"class":4426},[4408,13528,13476],{"class":4981},[4408,13530,3646],{"class":4426},[4408,13532,4463],{"class":4981},[4408,13534,5804],{"class":4426},[4408,13536,13537],{"class":4438},"'Схоже, це не email'",[4408,13539,4993],{"class":4426},[4408,13541,13542,13544,13546,13548,13550,13552,13554,13556,13558,13561],{"class":4410,"line":6289},[4408,13543,13455],{"class":4974},[4408,13545,13494],{"class":4426},[4408,13547,13117],{"class":4981},[4408,13549,7723],{"class":4426},[4408,13551,13476],{"class":4981},[4408,13553,3646],{"class":4426},[4408,13555,13117],{"class":4981},[4408,13557,5804],{"class":4426},[4408,13559,13560],{"class":4438},"'Потрібна згода'",[4408,13562,4993],{"class":4426},[4408,13564,13565,13568,13570,13572],{"class":4410,"line":6299},[4408,13566,13567],{"class":4430},"    setErrors",[4408,13569,4435],{"class":4426},[4408,13571,13476],{"class":4981},[4408,13573,5068],{"class":4426},[4408,13575,13576,13579,13581,13584,13586,13589,13591,13593,13595,13597,13600,13602],{"class":4410,"line":6314},[4408,13577,13578],{"class":4430},"    setDone",[4408,13580,4435],{"class":4426},[4408,13582,13583],{"class":4981},"Object",[4408,13585,3646],{"class":4426},[4408,13587,13588],{"class":4430},"keys",[4408,13590,4435],{"class":4426},[4408,13592,13476],{"class":4981},[4408,13594,3693],{"class":4426},[4408,13596,11640],{"class":4981},[4408,13598,13599],{"class":4426}," === ",[4408,13601,7554],{"class":6042},[4408,13603,5068],{"class":4426},[4408,13605,13606],{"class":4410,"line":6325},[4408,13607,13608],{"class":4426},"  };\n",[4408,13610,13611],{"class":4410,"line":6335},[4408,13612,4611],{"emptyLinePlaceholder":4610},[4408,13614,13615,13617,13619,13621],{"class":4410,"line":6346},[4408,13616,11625],{"class":4974},[4408,13618,3588],{"class":4426},[4408,13620,5577],{"class":4981},[4408,13622,11649],{"class":4426},[4408,13624,13625,13627],{"class":4410,"line":6387},[4408,13626,11666],{"class":4974},[4408,13628,5080],{"class":4426},[4408,13630,13631,13633,13635,13637,13639,13641,13643,13645,13647,13650,13652,13654,13656,13658,13660],{"class":4410,"line":6392},[4408,13632,5096],{"class":4414},[4408,13634,5006],{"class":5088},[4408,13636,6112],{"class":5123},[4408,13638,5127],{"class":4426},[4408,13640,5130],{"class":4422},[4408,13642,6223],{"class":4434},[4408,13644,6226],{"class":4981},[4408,13646,3646],{"class":4434},[4408,13648,13649],{"class":4981},"center",[4408,13651,6233],{"class":4434},[4408,13653,6048],{"class":4981},[4408,13655,5822],{"class":4981},[4408,13657,6240],{"class":4434},[4408,13659,4444],{"class":4422},[4408,13661,5091],{"class":4414},[4408,13663,13664,13666,13668,13670,13672,13674,13676,13678,13680,13682,13684,13686,13688,13690,13692,13694,13696,13698,13701,13703,13705],{"class":4410,"line":6397},[4408,13665,7808],{"class":4414},[4408,13667,5011],{"class":5088},[4408,13669,6112],{"class":5123},[4408,13671,5127],{"class":4426},[4408,13673,5130],{"class":4422},[4408,13675,6036],{"class":4434},[4408,13677,6121],{"class":4981},[4408,13679,5871],{"class":4981},[4408,13681,3550],{"class":4434},[4408,13683,6128],{"class":4981},[4408,13685,6131],{"class":4438},[4408,13687,3550],{"class":4434},[4408,13689,6136],{"class":4981},[4408,13691,6139],{"class":6042},[4408,13693,6053],{"class":4434},[4408,13695,4444],{"class":4422},[4408,13697,5101],{"class":4414},[4408,13699,13700],{"class":4426},"Готово",[4408,13702,5107],{"class":4414},[4408,13704,5011],{"class":5088},[4408,13706,5091],{"class":4414},[4408,13708,13709,13711,13713,13715,13717,13719,13721,13723,13725,13727,13729,13732,13734,13736,13738,13740,13742,13744,13747,13749,13751,13753,13755,13757],{"class":4410,"line":6439},[4408,13710,7808],{"class":4414},[4408,13712,5011],{"class":5088},[4408,13714,6112],{"class":5123},[4408,13716,5127],{"class":4426},[4408,13718,5130],{"class":4422},[4408,13720,6036],{"class":4434},[4408,13722,6121],{"class":4981},[4408,13724,5894],{"class":4981},[4408,13726,3550],{"class":4434},[4408,13728,8738],{"class":4981},[4408,13730,13731],{"class":6042}," 8",[4408,13733,6053],{"class":4434},[4408,13735,4444],{"class":4422},[4408,13737,5101],{"class":4414},[4408,13739,5130],{"class":4422},[4408,13741,5050],{"class":4981},[4408,13743,4444],{"class":4422},[4408,13745,13746],{"class":4426}," · ",[4408,13748,5130],{"class":4422},[4408,13750,4463],{"class":4981},[4408,13752,4444],{"class":4422},[4408,13754,5107],{"class":4414},[4408,13756,5011],{"class":5088},[4408,13758,5091],{"class":4414},[4408,13760,13761,13763],{"class":4410,"line":6446},[4408,13762,7808],{"class":4414},[4408,13764,7034],{"class":5088},[4408,13766,13767,13770,13772,13774,13776,13778],{"class":4410,"line":6459},[4408,13768,13769],{"class":5123},"          onPress",[4408,13771,5127],{"class":4426},[4408,13773,5130],{"class":4422},[4408,13775,7709],{"class":4434},[4408,13777,7089],{"class":4422},[4408,13779,5729],{"class":4434},[4408,13781,13782,13785,13787,13789],{"class":4410,"line":6472},[4408,13783,13784],{"class":4430},"            setDone",[4408,13786,4435],{"class":4434},[4408,13788,5411],{"class":4422},[4408,13790,5068],{"class":4434},[4408,13792,13793,13796,13798,13800],{"class":4410,"line":6482},[4408,13794,13795],{"class":4430},"            setName",[4408,13797,4435],{"class":4434},[4408,13799,5065],{"class":4438},[4408,13801,5068],{"class":4434},[4408,13803,13804,13807,13809,13811],{"class":4410,"line":6495},[4408,13805,13806],{"class":4430},"            setEmail",[4408,13808,4435],{"class":4434},[4408,13810,5065],{"class":4438},[4408,13812,5068],{"class":4434},[4408,13814,13815,13818,13820,13822],{"class":4410,"line":6505},[4408,13816,13817],{"class":4430},"            setTerms",[4408,13819,4435],{"class":4434},[4408,13821,5411],{"class":4422},[4408,13823,5068],{"class":4434},[4408,13825,13826,13829],{"class":4410,"line":6544},[4408,13827,13828],{"class":4434},"          }",[4408,13830,4641],{"class":4422},[4408,13832,13833,13836,13838,13840,13842,13844,13846,13848,13850,13852,13854,13856,13858,13860,13862],{"class":4410,"line":6549},[4408,13834,13835],{"class":5123},"          style",[4408,13837,5127],{"class":4426},[4408,13839,5130],{"class":4422},[4408,13841,6223],{"class":4434},[4408,13843,6226],{"class":4981},[4408,13845,3646],{"class":4434},[4408,13847,7102],{"class":4981},[4408,13849,6233],{"class":4434},[4408,13851,6048],{"class":4981},[4408,13853,7515],{"class":4981},[4408,13855,3550],{"class":4434},[4408,13857,8738],{"class":4981},[4408,13859,6073],{"class":6042},[4408,13861,6240],{"class":4434},[4408,13863,4641],{"class":4422},[4408,13865,13866],{"class":4410,"line":6554},[4408,13867,13868],{"class":4414},"        >\n",[4408,13870,13871,13873,13875,13877,13879,13881,13883,13885,13887,13889,13891,13894,13896,13898],{"class":4410,"line":6596},[4408,13872,8681],{"class":4414},[4408,13874,5011],{"class":5088},[4408,13876,6112],{"class":5123},[4408,13878,5127],{"class":4426},[4408,13880,5130],{"class":4422},[4408,13882,6226],{"class":4981},[4408,13884,3646],{"class":4434},[4408,13886,7175],{"class":4981},[4408,13888,4444],{"class":4422},[4408,13890,5101],{"class":4414},[4408,13892,13893],{"class":4426},"Ще раз",[4408,13895,5107],{"class":4414},[4408,13897,5011],{"class":5088},[4408,13899,5091],{"class":4414},[4408,13901,13902,13904,13906],{"class":4410,"line":6603},[4408,13903,8786],{"class":4414},[4408,13905,3654],{"class":5088},[4408,13907,5091],{"class":4414},[4408,13909,13910,13912,13914],{"class":4410,"line":6616},[4408,13911,6198],{"class":4414},[4408,13913,5006],{"class":5088},[4408,13915,5091],{"class":4414},[4408,13917,13918],{"class":4410,"line":6629},[4408,13919,13920],{"class":4426},"    );\n",[4408,13922,13923],{"class":4410,"line":6639},[4408,13924,11673],{"class":4426},[4408,13926,13927],{"class":4410,"line":6652},[4408,13928,4611],{"emptyLinePlaceholder":4610},[4408,13930,13931,13933],{"class":4410,"line":6658},[4408,13932,5077],{"class":4974},[4408,13934,5080],{"class":4426},[4408,13936,13937,13939],{"class":4410,"line":6669},[4408,13938,5085],{"class":4414},[4408,13940,13941],{"class":5088},"KeyboardAvoidingView\n",[4408,13943,13944,13946,13948,13950,13952,13954,13956,13958,13960,13962,13964],{"class":4410,"line":6681},[4408,13945,6029],{"class":5123},[4408,13947,5127],{"class":4426},[4408,13949,5130],{"class":4422},[4408,13951,6036],{"class":4434},[4408,13953,6039],{"class":4981},[4408,13955,6043],{"class":6042},[4408,13957,3550],{"class":4434},[4408,13959,6048],{"class":4981},[4408,13961,5822],{"class":4981},[4408,13963,6053],{"class":4434},[4408,13965,4641],{"class":4422},[4408,13967,13968,13971,13973,13975,13978,13980,13983,13986,13989,13991,13994,13996,13999],{"class":4410,"line":6693},[4408,13969,13970],{"class":5123},"      behavior",[4408,13972,5127],{"class":4426},[4408,13974,5130],{"class":4422},[4408,13976,13977],{"class":4981},"Platform",[4408,13979,3646],{"class":4434},[4408,13981,13982],{"class":5049},"OS",[4408,13984,13985],{"class":4426}," ===",[4408,13987,13988],{"class":4438}," 'ios'",[4408,13990,7189],{"class":4426},[4408,13992,13993],{"class":4438}," 'padding'",[4408,13995,7195],{"class":4426},[4408,13997,13998],{"class":4438}," 'height'",[4408,14000,4641],{"class":4422},[4408,14002,14003],{"class":4410,"line":6705},[4408,14004,6102],{"class":4414},[4408,14006,14007,14009,14011,14014,14016,14018,14020,14022,14024,14026,14028,14031,14033,14035,14038,14040,14043],{"class":4410,"line":6730},[4408,14008,5096],{"class":4414},[4408,14010,3689],{"class":5088},[4408,14012,14013],{"class":5123}," contentContainerStyle",[4408,14015,5127],{"class":4426},[4408,14017,5130],{"class":4422},[4408,14019,6036],{"class":4434},[4408,14021,6070],{"class":4981},[4408,14023,6073],{"class":6042},[4408,14025,3550],{"class":4434},[4408,14027,6078],{"class":4981},[4408,14029,14030],{"class":6042}," 10",[4408,14032,6053],{"class":4434},[4408,14034,4444],{"class":4422},[4408,14036,14037],{"class":5123}," keyboardShouldPersistTaps",[4408,14039,5127],{"class":4426},[4408,14041,14042],{"class":4438},"\"handled\"",[4408,14044,5091],{"class":4414},[4408,14046,14047,14049,14051,14053,14055,14057,14059,14061,14063,14065,14067,14069,14071,14073,14075,14077,14079,14081,14084,14086,14088],{"class":4410,"line":6738},[4408,14048,7808],{"class":4414},[4408,14050,5011],{"class":5088},[4408,14052,6112],{"class":5123},[4408,14054,5127],{"class":4426},[4408,14056,5130],{"class":4422},[4408,14058,6036],{"class":4434},[4408,14060,6121],{"class":4981},[4408,14062,5871],{"class":4981},[4408,14064,3550],{"class":4434},[4408,14066,6128],{"class":4981},[4408,14068,6131],{"class":4438},[4408,14070,3550],{"class":4434},[4408,14072,6136],{"class":4981},[4408,14074,6139],{"class":6042},[4408,14076,6053],{"class":4434},[4408,14078,4444],{"class":4422},[4408,14080,5101],{"class":4414},[4408,14082,14083],{"class":4426},"Реєстрація",[4408,14085,5107],{"class":4414},[4408,14087,5011],{"class":5088},[4408,14089,5091],{"class":4414},[4408,14091,14092,14094,14096,14098,14100,14102,14104,14106,14108,14110,14112,14114,14116,14118],{"class":4410,"line":6743},[4408,14093,7808],{"class":4414},[4408,14095,5011],{"class":5088},[4408,14097,6112],{"class":5123},[4408,14099,5127],{"class":4426},[4408,14101,5130],{"class":4422},[4408,14103,6036],{"class":4434},[4408,14105,6121],{"class":4981},[4408,14107,5894],{"class":4981},[4408,14109,3550],{"class":4434},[4408,14111,6136],{"class":4981},[4408,14113,6180],{"class":6042},[4408,14115,6053],{"class":4434},[4408,14117,4444],{"class":4422},[4408,14119,5091],{"class":4414},[4408,14121,14122],{"class":4410,"line":6752},[4408,14123,14124],{"class":4426},"          Текст + Switch-згода. Натисніть «Далі» з порожніми полями.\n",[4408,14126,14127,14129,14131],{"class":4410,"line":6757},[4408,14128,8786],{"class":4414},[4408,14130,5011],{"class":5088},[4408,14132,5091],{"class":4414},[4408,14134,14135],{"class":4410,"line":6762},[4408,14136,4611],{"emptyLinePlaceholder":4610},[4408,14138,14139,14141,14143,14145,14147,14149,14151,14153,14155,14157,14159,14161,14163,14165,14167,14169,14171,14173,14175],{"class":4410,"line":6767},[4408,14140,7808],{"class":4414},[4408,14142,5011],{"class":5088},[4408,14144,6112],{"class":5123},[4408,14146,5127],{"class":4426},[4408,14148,5130],{"class":4422},[4408,14150,6223],{"class":4434},[4408,14152,6226],{"class":4981},[4408,14154,3646],{"class":4434},[4408,14156,5239],{"class":4981},[4408,14158,6233],{"class":4434},[4408,14160,6121],{"class":4981},[4408,14162,5894],{"class":4981},[4408,14164,6240],{"class":4434},[4408,14166,4444],{"class":4422},[4408,14168,5101],{"class":4414},[4408,14170,5104],{"class":4426},[4408,14172,5107],{"class":4414},[4408,14174,5011],{"class":5088},[4408,14176,5091],{"class":4414},[4408,14178,14179,14181],{"class":4410,"line":6789},[4408,14180,7808],{"class":4414},[4408,14182,5118],{"class":5088},[4408,14184,14185,14187,14189,14191,14193],{"class":4410,"line":6819},[4408,14186,8802],{"class":5123},[4408,14188,5127],{"class":4426},[4408,14190,5130],{"class":4422},[4408,14192,5050],{"class":4981},[4408,14194,4641],{"class":4422},[4408,14196,14197,14200,14202,14204,14206],{"class":4410,"line":6827},[4408,14198,14199],{"class":5123},"          onChangeText",[4408,14201,5127],{"class":4426},[4408,14203,5130],{"class":4422},[4408,14205,5055],{"class":4981},[4408,14207,4641],{"class":4422},[4408,14209,14210,14213,14215],{"class":4410,"line":6837},[4408,14211,14212],{"class":5123},"          placeholder",[4408,14214,5127],{"class":4426},[4408,14216,14217],{"class":4438},"\"Олена\"\n",[4408,14219,14220,14223,14225,14227,14229],{"class":4410,"line":6847},[4408,14221,14222],{"class":5123},"          placeholderTextColor",[4408,14224,5127],{"class":4426},[4408,14226,5130],{"class":4422},[4408,14228,6309],{"class":4981},[4408,14230,4641],{"class":4422},[4408,14232,14233,14235,14237,14239],{"class":4410,"line":6857},[4408,14234,13835],{"class":5123},[4408,14236,5127],{"class":4426},[4408,14238,5130],{"class":4422},[4408,14240,6678],{"class":4434},[4408,14242,14243,14246,14248,14250],{"class":4410,"line":6867},[4408,14244,14245],{"class":4981},"            styles",[4408,14247,3646],{"class":4434},[4408,14249,4419],{"class":4981},[4408,14251,5737],{"class":4434},[4408,14253,14254,14257,14259,14261,14263,14265,14268,14270,14272,14274,14276,14278,14280,14282,14284,14286],{"class":4410,"line":6877},[4408,14255,14256],{"class":4434},"            { ",[4408,14258,6048],{"class":4981},[4408,14260,5848],{"class":4981},[4408,14262,3550],{"class":4434},[4408,14264,6372],{"class":4981},[4408,14266,14267],{"class":4981}," errors",[4408,14269,3646],{"class":4434},[4408,14271,5050],{"class":4981},[4408,14273,7189],{"class":4426},[4408,14275,13263],{"class":4981},[4408,14277,7195],{"class":4426},[4408,14279,5917],{"class":4981},[4408,14281,3550],{"class":4434},[4408,14283,6121],{"class":4981},[4408,14285,5871],{"class":4981},[4408,14287,6727],{"class":4434},[4408,14289,14290,14293],{"class":4410,"line":6888},[4408,14291,14292],{"class":4434},"          ]",[4408,14294,4641],{"class":4422},[4408,14296,14297],{"class":4410,"line":6894},[4408,14298,8865],{"class":4414},[4408,14300,14301,14303,14305,14307,14309,14311,14314,14316,14318,14320,14322,14324,14326,14328,14330,14332,14334,14336,14338,14340,14342,14344,14346,14348,14350,14352],{"class":4410,"line":6910},[4408,14302,10441],{"class":4422},[4408,14304,4190],{"class":4981},[4408,14306,3646],{"class":4434},[4408,14308,5050],{"class":4981},[4408,14310,7189],{"class":4426},[4408,14312,14313],{"class":4414}," \u003C",[4408,14315,5011],{"class":5088},[4408,14317,6112],{"class":5123},[4408,14319,5127],{"class":4426},[4408,14321,5130],{"class":4422},[4408,14323,6036],{"class":4434},[4408,14325,6121],{"class":4981},[4408,14327,13263],{"class":4981},[4408,14329,6053],{"class":4434},[4408,14331,4444],{"class":4422},[4408,14333,5101],{"class":4414},[4408,14335,5130],{"class":4422},[4408,14337,4190],{"class":4981},[4408,14339,3646],{"class":4434},[4408,14341,5050],{"class":4981},[4408,14343,4444],{"class":4422},[4408,14345,5107],{"class":4414},[4408,14347,5011],{"class":5088},[4408,14349,5101],{"class":4414},[4408,14351,7195],{"class":4426},[4408,14353,14354],{"class":4422}," null}\n",[4408,14356,14358],{"class":4410,"line":14357},85,[4408,14359,4611],{"emptyLinePlaceholder":4610},[4408,14361,14363,14365,14367,14369,14371,14373,14375,14377,14379,14381,14383,14385,14387,14389,14391,14393,14395,14397,14399],{"class":4410,"line":14362},86,[4408,14364,7808],{"class":4414},[4408,14366,5011],{"class":5088},[4408,14368,6112],{"class":5123},[4408,14370,5127],{"class":4426},[4408,14372,5130],{"class":4422},[4408,14374,6223],{"class":4434},[4408,14376,6226],{"class":4981},[4408,14378,3646],{"class":4434},[4408,14380,5239],{"class":4981},[4408,14382,6233],{"class":4434},[4408,14384,6121],{"class":4981},[4408,14386,5894],{"class":4981},[4408,14388,6240],{"class":4434},[4408,14390,4444],{"class":4422},[4408,14392,5101],{"class":4414},[4408,14394,6247],{"class":4426},[4408,14396,5107],{"class":4414},[4408,14398,5011],{"class":5088},[4408,14400,5091],{"class":4414},[4408,14402,14404,14406],{"class":4410,"line":14403},87,[4408,14405,7808],{"class":4414},[4408,14407,5118],{"class":5088},[4408,14409,14411,14413,14415,14417,14419],{"class":4410,"line":14410},88,[4408,14412,8802],{"class":5123},[4408,14414,5127],{"class":4426},[4408,14416,5130],{"class":4422},[4408,14418,4463],{"class":4981},[4408,14420,4641],{"class":4422},[4408,14422,14424,14426,14428,14430,14432],{"class":4410,"line":14423},89,[4408,14425,14199],{"class":5123},[4408,14427,5127],{"class":4426},[4408,14429,5130],{"class":4422},[4408,14431,5950],{"class":4981},[4408,14433,4641],{"class":4422},[4408,14435,14437,14440,14442],{"class":4410,"line":14436},90,[4408,14438,14439],{"class":5123},"          keyboardType",[4408,14441,5127],{"class":4426},[4408,14443,6322],{"class":4438},[4408,14445,14447,14450,14452],{"class":4410,"line":14446},91,[4408,14448,14449],{"class":5123},"          autoCapitalize",[4408,14451,5127],{"class":4426},[4408,14453,6332],{"class":4438},[4408,14455,14457,14459,14461],{"class":4410,"line":14456},92,[4408,14458,14212],{"class":5123},[4408,14460,5127],{"class":4426},[4408,14462,6296],{"class":4438},[4408,14464,14466,14468,14470,14472,14474],{"class":4410,"line":14465},93,[4408,14467,14222],{"class":5123},[4408,14469,5127],{"class":4426},[4408,14471,5130],{"class":4422},[4408,14473,6309],{"class":4981},[4408,14475,4641],{"class":4422},[4408,14477,14479,14481,14483,14485],{"class":4410,"line":14478},94,[4408,14480,13835],{"class":5123},[4408,14482,5127],{"class":4426},[4408,14484,5130],{"class":4422},[4408,14486,6678],{"class":4434},[4408,14488,14490,14492,14494,14496],{"class":4410,"line":14489},95,[4408,14491,14245],{"class":4981},[4408,14493,3646],{"class":4434},[4408,14495,4419],{"class":4981},[4408,14497,5737],{"class":4434},[4408,14499,14501,14503,14505,14507,14509,14511,14513,14515,14517,14519,14521,14523,14525,14527,14529,14531],{"class":4410,"line":14500},96,[4408,14502,14256],{"class":4434},[4408,14504,6048],{"class":4981},[4408,14506,5848],{"class":4981},[4408,14508,3550],{"class":4434},[4408,14510,6372],{"class":4981},[4408,14512,14267],{"class":4981},[4408,14514,3646],{"class":4434},[4408,14516,4463],{"class":4981},[4408,14518,7189],{"class":4426},[4408,14520,13263],{"class":4981},[4408,14522,7195],{"class":4426},[4408,14524,5917],{"class":4981},[4408,14526,3550],{"class":4434},[4408,14528,6121],{"class":4981},[4408,14530,5871],{"class":4981},[4408,14532,6727],{"class":4434},[4408,14534,14536,14538],{"class":4410,"line":14535},97,[4408,14537,14292],{"class":4434},[4408,14539,4641],{"class":4422},[4408,14541,14543],{"class":4410,"line":14542},98,[4408,14544,8865],{"class":4414},[4408,14546,14548,14550,14552,14554,14556,14558,14560,14562,14564,14566,14568,14570,14572,14574,14576,14578,14580,14582,14584,14586,14588,14590,14592,14594,14596,14598],{"class":4410,"line":14547},99,[4408,14549,10441],{"class":4422},[4408,14551,4190],{"class":4981},[4408,14553,3646],{"class":4434},[4408,14555,4463],{"class":4981},[4408,14557,7189],{"class":4426},[4408,14559,14313],{"class":4414},[4408,14561,5011],{"class":5088},[4408,14563,6112],{"class":5123},[4408,14565,5127],{"class":4426},[4408,14567,5130],{"class":4422},[4408,14569,6036],{"class":4434},[4408,14571,6121],{"class":4981},[4408,14573,13263],{"class":4981},[4408,14575,6053],{"class":4434},[4408,14577,4444],{"class":4422},[4408,14579,5101],{"class":4414},[4408,14581,5130],{"class":4422},[4408,14583,4190],{"class":4981},[4408,14585,3646],{"class":4434},[4408,14587,4463],{"class":4981},[4408,14589,4444],{"class":4422},[4408,14591,5107],{"class":4414},[4408,14593,5011],{"class":5088},[4408,14595,5101],{"class":4414},[4408,14597,7195],{"class":4426},[4408,14599,14354],{"class":4422},[4408,14601,14603],{"class":4410,"line":14602},100,[4408,14604,4611],{"emptyLinePlaceholder":4610},[4408,14606,14608,14610,14612,14614,14616,14618,14620,14622,14624,14626],{"class":4410,"line":14607},101,[4408,14609,7808],{"class":4414},[4408,14611,5006],{"class":5088},[4408,14613,6112],{"class":5123},[4408,14615,5127],{"class":4426},[4408,14617,5130],{"class":4422},[4408,14619,6226],{"class":4981},[4408,14621,3646],{"class":4434},[4408,14623,8634],{"class":4981},[4408,14625,4444],{"class":4422},[4408,14627,5091],{"class":4414},[4408,14629,14631,14633,14635,14637,14639,14641,14643,14645,14647,14649,14651,14653,14655,14657,14659,14662,14664,14666],{"class":4410,"line":14630},102,[4408,14632,8681],{"class":4414},[4408,14634,5011],{"class":5088},[4408,14636,6112],{"class":5123},[4408,14638,5127],{"class":4426},[4408,14640,5130],{"class":4422},[4408,14642,6036],{"class":4434},[4408,14644,6121],{"class":4981},[4408,14646,5871],{"class":4981},[4408,14648,3550],{"class":4434},[4408,14650,6039],{"class":4981},[4408,14652,6043],{"class":6042},[4408,14654,6053],{"class":4434},[4408,14656,4444],{"class":4422},[4408,14658,5101],{"class":4414},[4408,14660,14661],{"class":4426},"Погоджуюсь на обробку",[4408,14663,5107],{"class":4414},[4408,14665,5011],{"class":5088},[4408,14667,5091],{"class":4414},[4408,14669,14671,14673,14675,14677,14679,14681,14683,14685,14687,14689,14691,14693,14695,14698,14700,14702,14704,14706,14708,14710,14712,14714,14716,14718],{"class":4410,"line":14670},103,[4408,14672,8681],{"class":4414},[4408,14674,3668],{"class":5088},[4408,14676,8185],{"class":5123},[4408,14678,5127],{"class":4426},[4408,14680,5130],{"class":4422},[4408,14682,13117],{"class":4981},[4408,14684,4444],{"class":4422},[4408,14686,8196],{"class":5123},[4408,14688,5127],{"class":4426},[4408,14690,5130],{"class":4422},[4408,14692,13360],{"class":4981},[4408,14694,4444],{"class":4422},[4408,14696,14697],{"class":5123}," trackColor",[4408,14699,5127],{"class":4426},[4408,14701,5130],{"class":4422},[4408,14703,6036],{"class":4434},[4408,14705,8844],{"class":4981},[4408,14707,7515],{"class":4981},[4408,14709,3550],{"class":4434},[4408,14711,8837],{"class":4981},[4408,14713,5917],{"class":4981},[4408,14715,6053],{"class":4434},[4408,14717,4444],{"class":4422},[4408,14719,4447],{"class":4414},[4408,14721,14723,14725,14727],{"class":4410,"line":14722},104,[4408,14724,8786],{"class":4414},[4408,14726,5006],{"class":5088},[4408,14728,5091],{"class":4414},[4408,14730,14732,14734,14736,14738,14740,14742,14744,14746,14748,14750,14752,14754,14756,14758,14760,14762,14764,14766,14768,14770,14772,14774,14776,14778,14780,14782],{"class":4410,"line":14731},105,[4408,14733,10441],{"class":4422},[4408,14735,4190],{"class":4981},[4408,14737,3646],{"class":4434},[4408,14739,13117],{"class":4981},[4408,14741,7189],{"class":4426},[4408,14743,14313],{"class":4414},[4408,14745,5011],{"class":5088},[4408,14747,6112],{"class":5123},[4408,14749,5127],{"class":4426},[4408,14751,5130],{"class":4422},[4408,14753,6036],{"class":4434},[4408,14755,6121],{"class":4981},[4408,14757,13263],{"class":4981},[4408,14759,6053],{"class":4434},[4408,14761,4444],{"class":4422},[4408,14763,5101],{"class":4414},[4408,14765,5130],{"class":4422},[4408,14767,4190],{"class":4981},[4408,14769,3646],{"class":4434},[4408,14771,13117],{"class":4981},[4408,14773,4444],{"class":4422},[4408,14775,5107],{"class":4414},[4408,14777,5011],{"class":5088},[4408,14779,5101],{"class":4414},[4408,14781,7195],{"class":4426},[4408,14783,14354],{"class":4422},[4408,14785,14787],{"class":4410,"line":14786},106,[4408,14788,4611],{"emptyLinePlaceholder":4610},[4408,14790,14792,14794,14796,14798,14800,14802,14804,14806,14808,14810,14812,14814,14816,14818,14820,14822,14824,14826,14828,14830],{"class":4410,"line":14791},107,[4408,14793,7808],{"class":4414},[4408,14795,3654],{"class":5088},[4408,14797,11613],{"class":5123},[4408,14799,5127],{"class":4426},[4408,14801,5130],{"class":4422},[4408,14803,12839],{"class":4981},[4408,14805,4444],{"class":4422},[4408,14807,6112],{"class":5123},[4408,14809,5127],{"class":4426},[4408,14811,5130],{"class":4422},[4408,14813,6223],{"class":4434},[4408,14815,6226],{"class":4981},[4408,14817,3646],{"class":4434},[4408,14819,7102],{"class":4981},[4408,14821,6233],{"class":4434},[4408,14823,6048],{"class":4981},[4408,14825,7515],{"class":4981},[4408,14827,6240],{"class":4434},[4408,14829,4444],{"class":4422},[4408,14831,5091],{"class":4414},[4408,14833,14835,14837,14839,14841,14843,14845,14847,14849,14851,14853,14855,14858,14860,14862],{"class":4410,"line":14834},108,[4408,14836,8681],{"class":4414},[4408,14838,5011],{"class":5088},[4408,14840,6112],{"class":5123},[4408,14842,5127],{"class":4426},[4408,14844,5130],{"class":4422},[4408,14846,6226],{"class":4981},[4408,14848,3646],{"class":4434},[4408,14850,7175],{"class":4981},[4408,14852,4444],{"class":4422},[4408,14854,5101],{"class":4414},[4408,14856,14857],{"class":4426},"Далі",[4408,14859,5107],{"class":4414},[4408,14861,5011],{"class":5088},[4408,14863,5091],{"class":4414},[4408,14865,14867,14869,14871],{"class":4410,"line":14866},109,[4408,14868,8786],{"class":4414},[4408,14870,3654],{"class":5088},[4408,14872,5091],{"class":4414},[4408,14874,14876,14878,14880],{"class":4410,"line":14875},110,[4408,14877,6198],{"class":4414},[4408,14879,3689],{"class":5088},[4408,14881,5091],{"class":4414},[4408,14883,14885,14887,14889],{"class":4410,"line":14884},111,[4408,14886,5177],{"class":4414},[4408,14888,3686],{"class":5088},[4408,14890,5091],{"class":4414},[4408,14892,14894],{"class":4410,"line":14893},112,[4408,14895,5186],{"class":4426},[4408,14897,14899],{"class":4410,"line":14898},113,[4408,14900,4641],{"class":4426},[4408,14902,14904],{"class":4410,"line":14903},114,[4408,14905,4611],{"emptyLinePlaceholder":4610},[4408,14907,14909,14911,14913,14915,14917,14919,14921],{"class":4410,"line":14908},115,[4408,14910,6770],{"class":4422},[4408,14912,6773],{"class":5049},[4408,14914,5804],{"class":4426},[4408,14916,6778],{"class":4981},[4408,14918,3646],{"class":4426},[4408,14920,6783],{"class":4430},[4408,14922,6786],{"class":4426},[4408,14924,14926,14929,14931,14933,14935,14937,14939,14941,14943,14945,14947,14949,14951,14953],{"class":4410,"line":14925},116,[4408,14927,14928],{"class":4981},"  center:",[4408,14930,4978],{"class":4426},[4408,14932,6039],{"class":4981},[4408,14934,6043],{"class":6042},[4408,14936,3550],{"class":4426},[4408,14938,7930],{"class":4981},[4408,14940,7904],{"class":4438},[4408,14942,3550],{"class":4426},[4408,14944,7901],{"class":4981},[4408,14946,7904],{"class":4438},[4408,14948,3550],{"class":4426},[4408,14950,6070],{"class":4981},[4408,14952,6073],{"class":6042},[4408,14954,6727],{"class":4426},[4408,14956,14958,14960,14962,14964,14966,14968,14970,14972,14974,14976,14978,14980,14982,14985],{"class":4410,"line":14957},117,[4408,14959,6792],{"class":4981},[4408,14961,4978],{"class":4426},[4408,14963,6136],{"class":4981},[4408,14965,6799],{"class":6042},[4408,14967,3550],{"class":4426},[4408,14969,6128],{"class":4981},[4408,14971,6806],{"class":4438},[4408,14973,3550],{"class":4426},[4408,14975,6811],{"class":4981},[4408,14977,6814],{"class":4438},[4408,14979,3550],{"class":4426},[4408,14981,8738],{"class":4981},[4408,14983,14984],{"class":6042}," 6",[4408,14986,6727],{"class":4426},[4408,14988,14990,14992],{"class":4410,"line":14989},118,[4408,14991,6822],{"class":4981},[4408,14993,5729],{"class":4426},[4408,14995,14997,14999,15001],{"class":4410,"line":14996},119,[4408,14998,6830],{"class":4981},[4408,15000,6043],{"class":6042},[4408,15002,5737],{"class":4426},[4408,15004,15006,15008,15010],{"class":4410,"line":15005},120,[4408,15007,6840],{"class":4981},[4408,15009,6799],{"class":6042},[4408,15011,5737],{"class":4426},[4408,15013,15015,15017,15019],{"class":4410,"line":15014},121,[4408,15016,6850],{"class":4981},[4408,15018,6081],{"class":6042},[4408,15020,5737],{"class":4426},[4408,15022,15024,15026,15028],{"class":4410,"line":15023},122,[4408,15025,6860],{"class":4981},[4408,15027,6799],{"class":6042},[4408,15029,5737],{"class":4426},[4408,15031,15033,15035,15037],{"class":4410,"line":15032},123,[4408,15034,6870],{"class":4981},[4408,15036,6073],{"class":6042},[4408,15038,5737],{"class":4426},[4408,15040,15042,15044,15046],{"class":4410,"line":15041},124,[4408,15043,6880],{"class":4981},[4408,15045,6883],{"class":6042},[4408,15047,5737],{"class":4426},[4408,15049,15051],{"class":4410,"line":15050},125,[4408,15052,6891],{"class":4426},[4408,15054,15056,15058,15060,15062,15064,15066,15068,15070,15072,15074,15076,15078,15080,15082],{"class":4410,"line":15055},126,[4408,15057,8938],{"class":4981},[4408,15059,4978],{"class":4426},[4408,15061,8122],{"class":4981},[4408,15063,8125],{"class":4438},[4408,15065,3550],{"class":4426},[4408,15067,7930],{"class":4981},[4408,15069,7904],{"class":4438},[4408,15071,3550],{"class":4426},[4408,15073,6078],{"class":4981},[4408,15075,6799],{"class":6042},[4408,15077,3550],{"class":4426},[4408,15079,8738],{"class":4981},[4408,15081,13731],{"class":6042},[4408,15083,6727],{"class":4426},[4408,15085,15087,15089,15091,15093,15095,15097,15099,15101,15103,15105,15107,15109,15111,15113],{"class":4410,"line":15086},127,[4408,15088,7911],{"class":4981},[4408,15090,4978],{"class":4426},[4408,15092,8738],{"class":4981},[4408,15094,6799],{"class":6042},[4408,15096,3550],{"class":4426},[4408,15098,7916],{"class":4981},[4408,15100,6081],{"class":6042},[4408,15102,3550],{"class":4426},[4408,15104,7923],{"class":4981},[4408,15106,6799],{"class":6042},[4408,15108,3550],{"class":4426},[4408,15110,7930],{"class":4981},[4408,15112,7904],{"class":4438},[4408,15114,6727],{"class":4426},[4408,15116,15118,15120,15122,15124,15126,15128,15130,15132],{"class":4410,"line":15117},128,[4408,15119,7939],{"class":4981},[4408,15121,4978],{"class":4426},[4408,15123,6121],{"class":4981},[4408,15125,7946],{"class":4438},[4408,15127,3550],{"class":4426},[4408,15129,6128],{"class":4981},[4408,15131,6131],{"class":4438},[4408,15133,6727],{"class":4426},[4408,15135,15137],{"class":4410,"line":15136},129,[4408,15138,6913],{"class":4426},[3806,15140],{},[3507,15142,15144],{"id":15143},"антипатерни-і-чому-вони-болять","Антипатерни (і чому вони болять)",[3997,15146,15148,15149],{"id":15147},"_1-усе-через-textinput","1. Усе через ",[3540,15150,3637],{},[3512,15152,15153,15154,3646],{},"Регіон набирають руками, «так\u002Fні» пишуть словами «так». Наслідки: помилки друку, різний регістр, неможливість нормально агрегувати дані («Карпати» vs «карпати»). Обирайте контроль під ",[3516,15155,15156],{},"тип відповіді",[3997,15158,15160,15161,15163],{"id":15159},"_2-лише-alert-для-помилок","2. Лише ",[3540,15162,3542],{}," для помилок",[3512,15165,15166,15167,15170],{},"Один діалог «Щось не так» змушує людину згадувати всю форму. Правило: помилка ",[3516,15168,15169],{},"біля поля",", яке її викликало; Alert — лише для рідкісних глобальних збоїв (немає місця на диску тощо).",[3997,15172,15174,15175,15177],{"id":15173},"_3-правила-тільки-в-onpress-без-схеми","3. Правила тільки в ",[3540,15176,4179],{}," без схеми",[3512,15179,15180,15181,15184],{},"Купка ",[3540,15182,15183],{},"if"," у кнопці дублюється, коли з’явиться другий екран редагування. Схема Zod — одне місце; її ж можна ганяти в тестах без UI.",[3997,15186,15188,15189],{"id":15187},"_4-форма-без-scrollview","4. Форма без ",[3540,15190,3689],{},[3512,15192,15193],{},"На SE \u002F маленькому Android з відкритою клавіатурою нижня кнопка недосяжна. Навіть «коротка» форма з п’ятьма полями часто потребує скролу.",[3997,15195,15197,15198],{"id":15196},"_5-забутий-keyboardshouldpersisttapshandled","5. Забутий ",[3540,15199,15200],{},"keyboardShouldPersistTaps=\"handled\"",[3512,15202,15203],{},"Симптом: «перший тап по Submit нічого не робить». Насправді перший тап лише ховає клавіатуру. Користувач думає, що застосунок глючить.",[3997,15205,15207,15208],{"id":15206},"_6-email-з-autocapitalizesentences","6. Email з ",[3540,15209,15210],{},"autoCapitalize=\"sentences\"",[3512,15212,15213,15214,15217,15218,3646],{},"Система робить велику літеру на початку — і раптом «Email вже зайнятий» \u002F «невірний логін» через регістр. Для email, пароля, кодів — ",[3540,15215,15216],{},"autoCapitalize=\"none\""," і зазвичай ",[3540,15219,15220],{},"autoCorrect={false}",[3997,15222,15224],{"id":15223},"_7-дата-як-вільний-текст","7. Дата як вільний текст",[3512,15226,15227],{},"Парсери, локалі, timezone — див. розділ про date picker. Не відтворюйте цей біль без вагомої причини.",[3997,15229,15231],{"id":15230},"_8-у-нас-zod-отже-безпечно","8. «У нас Zod, отже безпечно»",[3512,15233,15234,15235,15238],{},"Zod на телефоні бачить лише те, що пройшло через ",[3516,15236,15237],{},"ваш"," UI. Зловмисник може надіслати запит на API в обхід застосунку. Клієнтська схема — для UX; серверна перевірка — для безпеки (коли з’явиться API).",[3806,15240],{},[3507,15242,15244],{"id":15243},"міні-проєкт-реєстрація-на-подію","Міні-проєкт: «Реєстрація на подію»",[3997,15246,15248],{"id":15247},"мета","Мета",[3512,15250,15251,15252,15255,15256,15259,15260,15263],{},"Окремий застосунок ",[3516,15253,15254],{},"поза"," Nomad. Нижче — шлях ",[3516,15257,15258],{},"від А до Я",": команди, структура, ",[3516,15261,15262],{},"повний код"," файлів. Можна копіювати й запускати без «домалюйте самі».",[3512,15265,15266],{},"Сюжет: реєстрація на умовну подію. Два стани без Router:",[3572,15268,15269,15274],{},[3575,15270,15271,15273],{},[3516,15272,3816],{}," (усі типи контролів + RHF + Zod).",[3575,15275,15276,15279],{},[3516,15277,15278],{},"Успіх"," (підсумок + «Ще раз»).",[3997,15281,15283],{"id":15282},"що-має-вийти","Що має вийти",[3833,15285,15286,15295],{},[3836,15287,15288],{},[3839,15289,15290,15293],{},[3842,15291,15292],{},"Поле",[3842,15294,4764],{},[3849,15296,15297,15305,15315,15324,15333,15342,15352,15362],{},[3839,15298,15299,15301],{},[3854,15300,5104],{},[3854,15302,15303],{},[3540,15304,3637],{},[3839,15306,15307,15309],{},[3854,15308,6247],{},[3854,15310,15311,3642,15313],{},[3540,15312,3637],{},[3540,15314,4125],{},[3839,15316,15317,15320],{},[3854,15318,15319],{},"Місць 1–5",[3854,15321,15322],{},[3540,15323,3674],{},[3839,15325,15326,15329],{},[3854,15327,15328],{},"Тип квитка",[3854,15330,15331],{},[3540,15332,3677],{},[3839,15334,15335,15338],{},[3854,15336,15337],{},"Нагадування",[3854,15339,15340],{},[3540,15341,3668],{},[3839,15343,15344,15347],{},[3854,15345,15346],{},"Згода з правилами",[3854,15348,15349,15350],{},"Checkbox + ",[3540,15351,9539],{},[3839,15353,15354,15357],{},[3854,15355,15356],{},"Коментар",[3854,15358,15359,15361],{},[3540,15360,3637],{}," multiline",[3839,15363,15364,15367],{},[3854,15365,15366],{},"Submit",[3854,15368,15369,3642,15371],{},[3540,15370,3654],{},[3540,15372,5619],{},[3512,15374,15375,15376,15379,15380,15379,15382,3642,15384,3646],{},"Обов’язково: ",[3540,15377,15378],{},"SafeAreaProvider"," → ",[3540,15381,3686],{},[3540,15383,3689],{},[3540,15385,15200],{},[3997,15387,15389],{"id":15388},"структура","Структура",[4399,15391,15394],{"className":15392,"code":15393,"language":11271,"meta":4404},[11269],"event-signup\u002F\n  App.tsx          ← увесь застосунок (повний код нижче)\n  package.json\n  app.json\n  index.ts\n  …\n",[3540,15395,15393],{"__ignoreMap":4404},[3997,15397,15399],{"id":15398},"крок-1-створити-проєкт-і-поставити-пакети","Крок 1. Створити проєкт і поставити пакети",[15401,15402,15403,15407,15436,15440,15480,15483,15504,15508,15522],"steps",{},[3997,15404,15406],{"id":15405},"_1-скарфолд","1. Скарфолд",[4399,15408,15410],{"className":9054,"code":15409,"language":9056,"meta":4404,"style":4404},"npx create-expo-app@latest event-signup -t blank-typescript\ncd event-signup\n",[3540,15411,15412,15428],{"__ignoreMap":4404},[4408,15413,15414,15416,15419,15422,15425],{"class":4410,"line":4411},[4408,15415,9063],{"class":4430},[4408,15417,15418],{"class":4438}," create-expo-app@latest",[4408,15420,15421],{"class":4438}," event-signup",[4408,15423,15424],{"class":4422}," -t",[4408,15426,15427],{"class":4438}," blank-typescript\n",[4408,15429,15430,15433],{"class":4410,"line":4595},[4408,15431,15432],{"class":4430},"cd",[4408,15434,15435],{"class":4438}," event-signup\n",[3997,15437,15439],{"id":15438},"_2-залежності","2. Залежності",[4399,15441,15443],{"className":9054,"code":15442,"language":9056,"meta":4404,"style":4404},"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",[3540,15444,15445,15464],{"__ignoreMap":4404},[4408,15446,15447,15449,15451,15453,15456,15459,15462],{"class":4410,"line":4411},[4408,15448,9063],{"class":4430},[4408,15450,9066],{"class":4438},[4408,15452,9069],{"class":4438},[4408,15454,15455],{"class":4438}," react-native-safe-area-context",[4408,15457,15458],{"class":4438}," @react-native-community\u002Fslider",[4408,15460,15461],{"class":4438}," @react-native-community\u002Fcheckbox",[4408,15463,10210],{"class":4438},[4408,15465,15466,15469,15471,15474,15477],{"class":4410,"line":4595},[4408,15467,15468],{"class":4430},"npm",[4408,15470,9069],{"class":4438},[4408,15472,15473],{"class":4438}," react-hook-form",[4408,15475,15476],{"class":4438}," @hookform\u002Fresolvers",[4408,15478,15479],{"class":4438}," zod\n",[3512,15481,15482],{},"Якщо npm свариться на peers:",[4399,15484,15486],{"className":9054,"code":15485,"language":9056,"meta":4404,"style":4404},"npm install react-hook-form @hookform\u002Fresolvers zod --legacy-peer-deps\n",[3540,15487,15488],{"__ignoreMap":4404},[4408,15489,15490,15492,15494,15496,15498,15501],{"class":4410,"line":4411},[4408,15491,15468],{"class":4430},[4408,15493,9069],{"class":4438},[4408,15495,15473],{"class":4438},[4408,15497,15476],{"class":4438},[4408,15499,15500],{"class":4438}," zod",[4408,15502,15503],{"class":4422}," --legacy-peer-deps\n",[3997,15505,15507],{"id":15506},"_3-запуск-після-підстановки-apptsx","3. Запуск після підстановки App.tsx",[4399,15509,15511],{"className":9054,"code":15510,"language":9056,"meta":4404,"style":4404},"npx expo start\n",[3540,15512,15513],{"__ignoreMap":4404},[4408,15514,15515,15517,15519],{"class":4410,"line":4411},[4408,15516,9063],{"class":4430},[4408,15518,9066],{"class":4438},[4408,15520,15521],{"class":4438}," start\n",[3512,15523,15524],{},"Відкрийте в Expo Go.",[3997,15526,15528,15529],{"id":15527},"крок-2-повний-код-apptsx","Крок 2. Повний код ",[3540,15530,15531],{},"App.tsx",[3512,15533,15534,15537,15538,15540],{},[3516,15535,15536],{},"Повністю замініть"," файл ",[3540,15539,15531],{}," на код нижче (розгорніть collapsible і скопіюйте цілком).",[15542,15543,15545],"collapsible",{"title":15544},"Повний App.tsx — розгорнути й скопіювати",[4399,15546,15548],{"className":4401,"code":15547,"language":4403,"meta":4404,"style":4404},"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",[3540,15549,15550,15566,15572,15578,15584,15590,15596,15602,15608,15614,15620,15626,15636,15658,15679,15696,15713,15729,15741,15753,15757,15767,15793,15815,15837,15842,15846,15863,15893,15919,15959,15989,16003,16020,16030,16035,16043,16053,16061,16080,16089,16111,16115,16119,16144,16148,16178,16187,16196,16205,16209,16213,16237,16275,16279,16283,16304,16322,16361,16365,16369,16404,16410,16417,16424,16431,16442,16456,16471,16478,16488,16497,16506,16515,16525,16544,16553,16558,16568,16578,16583,16587,16605,16609,16615,16621,16638,16666,16670,16676,16692,16709,16718,16728,16732,16763,16785,16790,16795,16803,16807,16824,16830,16843,16853,16884,16891,16930,16943,16956,16969,16979,16988,16998,17003,17010,17014,17043,17047,17063,17069,17081,17090,17120,17126,17162,17174,17186,17198,17206,17216,17225,17235,17244,17249,17256,17261,17288,17293,17310,17317,17330,17340,17367,17412,17442,17466,17518,17526,17536,17546,17553,17558,17585,17590,17615,17622,17635,17645,17672,17679,17693,17707,17721,17734,17748,17759,17770,17780,17785,17792,17797,17824,17829,17836,17849,17859,17886,17909,17933,17966,17989,17995,18005,18014,18021,18035,18049,18077,18088,18094,18103,18110,18115,18120,18127,18140,18150,18177,18200,18223,18254,18277,18283,18292,18301,18309,18329,18342,18369,18379,18389,18399,18410,18415,18424,18431,18436,18464,18469,18487,18494,18507,18517,18548,18555,18600,18613,18626,18639,18649,18655,18665,18679,18684,18691,18696,18723,18728,18767,18799,18808,18817,18826,18831,18836,18841,18851,18859,18867,18873,18884,18898,18904,18911,18934,18966,19005,19044,19068,19104,19113,19136,19163,19172,19187,19236,19246,19291,19322,19331,19340,19345,19350,19355,19368,19401,19406,19413,19422,19446,19457,19500,19510,19545,19553,19562,19571,19576,19581,19586,19603,19624,19638,19666,19673,19683,19692,19702,19711,19716,19723,19732,19742,19753,19763,19768,19796,19803,19813,19822,19831,19840,19850,19855,19862,19871,19881,19892,19901,19910,19919,19928,19937,19946,19951,19965,19980,20005,20013,20022,20031,20040,20049,20060,20065,20072,20081,20090,20099,20108,20113,20134,20154,20161,20170,20179,20188,20197,20206,20211,20236,20263],{"__ignoreMap":4404},[4408,15551,15552,15554,15556,15558,15560,15562,15564],{"class":4410,"line":4411},[4408,15553,4975],{"class":4974},[4408,15555,4978],{"class":4426},[4408,15557,4390],{"class":4981},[4408,15559,4984],{"class":4426},[4408,15561,4987],{"class":4974},[4408,15563,4990],{"class":4438},[4408,15565,4993],{"class":4426},[4408,15567,15568,15570],{"class":4410,"line":4595},[4408,15569,4975],{"class":4974},[4408,15571,5729],{"class":4426},[4408,15573,15574,15576],{"class":4410,"line":4601},[4408,15575,13012],{"class":4981},[4408,15577,5737],{"class":4426},[4408,15579,15580,15582],{"class":4410,"line":4607},[4408,15581,13019],{"class":4981},[4408,15583,5737],{"class":4426},[4408,15585,15586,15588],{"class":4410,"line":4614},[4408,15587,13026],{"class":4981},[4408,15589,5737],{"class":4426},[4408,15591,15592,15594],{"class":4410,"line":4620},[4408,15593,5734],{"class":4981},[4408,15595,5737],{"class":4426},[4408,15597,15598,15600],{"class":4410,"line":4626},[4408,15599,5742],{"class":4981},[4408,15601,5737],{"class":4426},[4408,15603,15604,15606],{"class":4410,"line":4632},[4408,15605,13057],{"class":4981},[4408,15607,5737],{"class":4426},[4408,15609,15610,15612],{"class":4410,"line":4638},[4408,15611,5749],{"class":4981},[4408,15613,5737],{"class":4426},[4408,15615,15616,15618],{"class":4410,"line":4644},[4408,15617,5756],{"class":4981},[4408,15619,5737],{"class":4426},[4408,15621,15622,15624],{"class":4410,"line":4649},[4408,15623,13064],{"class":4981},[4408,15625,5737],{"class":4426},[4408,15627,15628,15630,15632,15634],{"class":4410,"line":4655},[4408,15629,5770],{"class":4426},[4408,15631,4987],{"class":4974},[4408,15633,5018],{"class":4438},[4408,15635,4993],{"class":4426},[4408,15637,15638,15640,15642,15644,15646,15649,15651,15653,15656],{"class":4410,"line":4661},[4408,15639,4975],{"class":4974},[4408,15641,4978],{"class":4426},[4408,15643,15378],{"class":4981},[4408,15645,3550],{"class":4426},[4408,15647,15648],{"class":4981},"SafeAreaView",[4408,15650,4984],{"class":4426},[4408,15652,4987],{"class":4974},[4408,15654,15655],{"class":4438}," 'react-native-safe-area-context'",[4408,15657,4993],{"class":4426},[4408,15659,15660,15662,15664,15666,15668,15670,15672,15674,15677],{"class":4410,"line":4667},[4408,15661,4975],{"class":4974},[4408,15663,4978],{"class":4426},[4408,15665,3701],{"class":4981},[4408,15667,3550],{"class":4426},[4408,15669,11765],{"class":4981},[4408,15671,4984],{"class":4426},[4408,15673,4987],{"class":4974},[4408,15675,15676],{"class":4438}," 'react-hook-form'",[4408,15678,4993],{"class":4426},[4408,15680,15681,15683,15685,15687,15689,15691,15694],{"class":4410,"line":4672},[4408,15682,4975],{"class":4974},[4408,15684,4978],{"class":4426},[4408,15686,3707],{"class":4981},[4408,15688,4984],{"class":4426},[4408,15690,4987],{"class":4974},[4408,15692,15693],{"class":4438}," '@hookform\u002Fresolvers\u002Fzod'",[4408,15695,4993],{"class":4426},[4408,15697,15698,15700,15702,15704,15706,15708,15711],{"class":4410,"line":4677},[4408,15699,4975],{"class":4974},[4408,15701,4978],{"class":4426},[4408,15703,9491],{"class":4981},[4408,15705,4984],{"class":4426},[4408,15707,4987],{"class":4974},[4408,15709,15710],{"class":4438}," 'zod'",[4408,15712,4993],{"class":4426},[4408,15714,15715,15717,15719,15721,15723,15725,15727],{"class":4410,"line":4683},[4408,15716,4975],{"class":4974},[4408,15718,4978],{"class":4426},[4408,15720,3677],{"class":4981},[4408,15722,4984],{"class":4426},[4408,15724,4987],{"class":4974},[4408,15726,10265],{"class":4438},[4408,15728,4993],{"class":4426},[4408,15730,15731,15733,15735,15737,15739],{"class":4410,"line":4689},[4408,15732,4975],{"class":4974},[4408,15734,9163],{"class":4981},[4408,15736,9166],{"class":4974},[4408,15738,9169],{"class":4438},[4408,15740,4993],{"class":4426},[4408,15742,15743,15745,15747,15749,15751],{"class":4410,"line":4695},[4408,15744,4975],{"class":4974},[4408,15746,9752],{"class":4981},[4408,15748,9166],{"class":4974},[4408,15750,9757],{"class":4438},[4408,15752,4993],{"class":4426},[4408,15754,15755],{"class":4410,"line":4700},[4408,15756,4611],{"emptyLinePlaceholder":4610},[4408,15758,15759,15761,15764],{"class":4410,"line":4706},[4408,15760,6770],{"class":4422},[4408,15762,15763],{"class":5049}," TICKETS",[4408,15765,15766],{"class":4426}," = [\n",[4408,15768,15769,15772,15775,15778,15781,15783,15785,15788,15791],{"class":4410,"line":4712},[4408,15770,15771],{"class":4426},"  { ",[4408,15773,15774],{"class":4981},"value:",[4408,15776,15777],{"class":4438}," 'standard'",[4408,15779,15780],{"class":4974}," as",[4408,15782,10318],{"class":4422},[4408,15784,3550],{"class":4426},[4408,15786,15787],{"class":4981},"label:",[4408,15789,15790],{"class":4438}," 'Звичайний'",[4408,15792,6727],{"class":4426},[4408,15794,15795,15797,15799,15802,15804,15806,15808,15810,15813],{"class":4410,"line":4717},[4408,15796,15771],{"class":4426},[4408,15798,15774],{"class":4981},[4408,15800,15801],{"class":4438}," 'student'",[4408,15803,15780],{"class":4974},[4408,15805,10318],{"class":4422},[4408,15807,3550],{"class":4426},[4408,15809,15787],{"class":4981},[4408,15811,15812],{"class":4438}," 'Студентський'",[4408,15814,6727],{"class":4426},[4408,15816,15817,15819,15821,15824,15826,15828,15830,15832,15835],{"class":4410,"line":4722},[4408,15818,15771],{"class":4426},[4408,15820,15774],{"class":4981},[4408,15822,15823],{"class":4438}," 'child'",[4408,15825,15780],{"class":4974},[4408,15827,10318],{"class":4422},[4408,15829,3550],{"class":4426},[4408,15831,15787],{"class":4981},[4408,15833,15834],{"class":4438}," 'Дитячий'",[4408,15836,6727],{"class":4426},[4408,15838,15839],{"class":4410,"line":6058},[4408,15840,15841],{"class":4426},"];\n",[4408,15843,15844],{"class":4410,"line":6088},[4408,15845,4611],{"emptyLinePlaceholder":4610},[4408,15847,15848,15850,15853,15855,15857,15859,15861],{"class":4410,"line":6099},[4408,15849,6770],{"class":4422},[4408,15851,15852],{"class":5049}," signupSchema",[4408,15854,5804],{"class":4426},[4408,15856,9491],{"class":4981},[4408,15858,3646],{"class":4426},[4408,15860,11811],{"class":4430},[4408,15862,6786],{"class":4426},[4408,15864,15865,15868,15870,15872,15874,15876,15878,15880,15882,15884,15886,15888,15891],{"class":4410,"line":6105},[4408,15866,15867],{"class":4981},"  name:",[4408,15869,11821],{"class":4981},[4408,15871,3646],{"class":4426},[4408,15873,5263],{"class":4430},[4408,15875,11637],{"class":4426},[4408,15877,11634],{"class":4430},[4408,15879,11637],{"class":4426},[4408,15881,11834],{"class":4430},[4408,15883,4435],{"class":4426},[4408,15885,11646],{"class":6042},[4408,15887,3550],{"class":4426},[4408,15889,15890],{"class":4438},"'Вкажіть ім’я (мін. 2 символи)'",[4408,15892,11846],{"class":4426},[4408,15894,15895,15898,15900,15902,15904,15906,15908,15910,15912,15914,15917],{"class":4410,"line":6157},[4408,15896,15897],{"class":4981},"  email:",[4408,15899,11821],{"class":4981},[4408,15901,3646],{"class":4426},[4408,15903,5263],{"class":4430},[4408,15905,11637],{"class":4426},[4408,15907,11634],{"class":4430},[4408,15909,11637],{"class":4426},[4408,15911,4463],{"class":4430},[4408,15913,4435],{"class":4426},[4408,15915,15916],{"class":4438},"'Некоректний email'",[4408,15918,11846],{"class":4426},[4408,15920,15921,15924,15926,15928,15930,15932,15934,15936,15938,15940,15943,15945,15948,15950,15952,15954,15957],{"class":4410,"line":6189},[4408,15922,15923],{"class":4981},"  seats:",[4408,15925,11821],{"class":4981},[4408,15927,3646],{"class":4426},[4408,15929,5446],{"class":4430},[4408,15931,11637],{"class":4426},[4408,15933,11834],{"class":4430},[4408,15935,4435],{"class":4426},[4408,15937,9862],{"class":6042},[4408,15939,3550],{"class":4426},[4408,15941,15942],{"class":4438},"'Мін. 1 місце'",[4408,15944,3693],{"class":4426},[4408,15946,15947],{"class":4430},"max",[4408,15949,4435],{"class":4426},[4408,15951,13524],{"class":6042},[4408,15953,3550],{"class":4426},[4408,15955,15956],{"class":4438},"'Макс. 5 місць'",[4408,15958,11846],{"class":4426},[4408,15960,15961,15964,15966,15968,15970,15973,15976,15978,15981,15983,15986],{"class":4410,"line":6195},[4408,15962,15963],{"class":4981},"  ticketType:",[4408,15965,11821],{"class":4981},[4408,15967,3646],{"class":4426},[4408,15969,5491],{"class":4430},[4408,15971,15972],{"class":4426},"([",[4408,15974,15975],{"class":4438},"'standard'",[4408,15977,3550],{"class":4426},[4408,15979,15980],{"class":4438},"'student'",[4408,15982,3550],{"class":4426},[4408,15984,15985],{"class":4438},"'child'",[4408,15987,15988],{"class":4426},"]),\n",[4408,15990,15991,15994,15996,15998,16000],{"class":4410,"line":6205},[4408,15992,15993],{"class":4981},"  remindMe:",[4408,15995,11821],{"class":4981},[4408,15997,3646],{"class":4426},[4408,15999,5405],{"class":4430},[4408,16001,16002],{"class":4426},"(),\n",[4408,16004,16005,16008,16010,16012,16014,16016,16018],{"class":4410,"line":6210},[4408,16006,16007],{"class":4981},"  acceptedRules:",[4408,16009,11821],{"class":4981},[4408,16011,3646],{"class":4426},[4408,16013,9496],{"class":4430},[4408,16015,4435],{"class":4426},[4408,16017,5651],{"class":4422},[4408,16019,9503],{"class":4426},[4408,16021,16022,16025,16028],{"class":4410,"line":6256},[4408,16023,16024],{"class":4981},"    error:",[4408,16026,16027],{"class":4438}," 'Потрібно прийняти правила події'",[4408,16029,5737],{"class":4426},[4408,16031,16032],{"class":4410,"line":6263},[4408,16033,16034],{"class":4426},"  }),\n",[4408,16036,16037,16040],{"class":4410,"line":6276},[4408,16038,16039],{"class":4981},"  note:",[4408,16041,16042],{"class":4981}," z\n",[4408,16044,16045,16048,16050],{"class":4410,"line":6289},[4408,16046,16047],{"class":4426},"    .",[4408,16049,5263],{"class":4430},[4408,16051,16052],{"class":4426},"()\n",[4408,16054,16055,16057,16059],{"class":4410,"line":6299},[4408,16056,16047],{"class":4426},[4408,16058,11634],{"class":4430},[4408,16060,16052],{"class":4426},[4408,16062,16063,16065,16067,16069,16072,16074,16077],{"class":4410,"line":6314},[4408,16064,16047],{"class":4426},[4408,16066,15947],{"class":4430},[4408,16068,4435],{"class":4426},[4408,16070,16071],{"class":6042},"200",[4408,16073,3550],{"class":4426},[4408,16075,16076],{"class":4438},"'Коментар — макс. 200 символів'",[4408,16078,16079],{"class":4426},")\n",[4408,16081,16082,16084,16087],{"class":4410,"line":6325},[4408,16083,16047],{"class":4426},[4408,16085,16086],{"class":4430},"optional",[4408,16088,16052],{"class":4426},[4408,16090,16091,16093,16096,16098,16100,16102,16104,16106,16108],{"class":4410,"line":6335},[4408,16092,16047],{"class":4426},[4408,16094,16095],{"class":4430},"or",[4408,16097,4435],{"class":4426},[4408,16099,9491],{"class":4981},[4408,16101,3646],{"class":4426},[4408,16103,9496],{"class":4430},[4408,16105,4435],{"class":4426},[4408,16107,5065],{"class":4438},[4408,16109,16110],{"class":4426},")),\n",[4408,16112,16113],{"class":4410,"line":6346},[4408,16114,6913],{"class":4426},[4408,16116,16117],{"class":4410,"line":6387},[4408,16118,4611],{"emptyLinePlaceholder":4610},[4408,16120,16121,16123,16126,16128,16130,16132,16135,16137,16139,16141],{"class":4410,"line":6392},[4408,16122,4065],{"class":4422},[4408,16124,16125],{"class":5088}," SignupValues",[4408,16127,5804],{"class":4426},[4408,16129,9491],{"class":5088},[4408,16131,3646],{"class":4426},[4408,16133,16134],{"class":5088},"infer",[4408,16136,4415],{"class":4426},[4408,16138,10359],{"class":4422},[4408,16140,15852],{"class":4981},[4408,16142,16143],{"class":4426},">;\n",[4408,16145,16146],{"class":4410,"line":6397},[4408,16147,4611],{"emptyLinePlaceholder":4610},[4408,16149,16150,16152,16155,16157,16160,16162,16165,16167,16170,16173,16175],{"class":4410,"line":6439},[4408,16151,6770],{"class":4422},[4408,16153,16154],{"class":5049}," ticketLabel",[4408,16156,4145],{"class":4426},[4408,16158,16159],{"class":5088},"Record",[4408,16161,4415],{"class":4426},[4408,16163,16164],{"class":5088},"SignupValues",[4408,16166,6223],{"class":4426},[4408,16168,16169],{"class":4438},"'ticketType'",[4408,16171,16172],{"class":4426},"], ",[4408,16174,5263],{"class":5088},[4408,16176,16177],{"class":4426},"> = {\n",[4408,16179,16180,16183,16185],{"class":4410,"line":6446},[4408,16181,16182],{"class":4981},"  standard:",[4408,16184,15790],{"class":4438},[4408,16186,5737],{"class":4426},[4408,16188,16189,16192,16194],{"class":4410,"line":6459},[4408,16190,16191],{"class":4981},"  student:",[4408,16193,15812],{"class":4438},[4408,16195,5737],{"class":4426},[4408,16197,16198,16201,16203],{"class":4410,"line":6472},[4408,16199,16200],{"class":4981},"  child:",[4408,16202,15834],{"class":4438},[4408,16204,5737],{"class":4426},[4408,16206,16207],{"class":4410,"line":6482},[4408,16208,11683],{"class":4426},[4408,16210,16211],{"class":4410,"line":6495},[4408,16212,4611],{"emptyLinePlaceholder":4610},[4408,16214,16215,16217,16220,16222,16225,16228,16230,16232,16234],{"class":4410,"line":6505},[4408,16216,12880],{"class":4422},[4408,16218,16219],{"class":4430}," FieldLabel",[4408,16221,7080],{"class":4426},[4408,16223,16224],{"class":4981},"children",[4408,16226,16227],{"class":4426}," }: { ",[4408,16229,16224],{"class":4981},[4408,16231,4145],{"class":4426},[4408,16233,5263],{"class":5088},[4408,16235,16236],{"class":4426}," }) {\n",[4408,16238,16239,16241,16243,16245,16247,16249,16251,16253,16255,16257,16259,16261,16263,16265,16267,16269,16271,16273],{"class":4410,"line":6544},[4408,16240,5077],{"class":4974},[4408,16242,14313],{"class":4414},[4408,16244,5011],{"class":5088},[4408,16246,6112],{"class":5123},[4408,16248,5127],{"class":4426},[4408,16250,5130],{"class":4422},[4408,16252,6226],{"class":4981},[4408,16254,3646],{"class":4434},[4408,16256,5239],{"class":4981},[4408,16258,4444],{"class":4422},[4408,16260,5101],{"class":4414},[4408,16262,5130],{"class":4422},[4408,16264,16224],{"class":4981},[4408,16266,4444],{"class":4422},[4408,16268,5107],{"class":4414},[4408,16270,5011],{"class":5088},[4408,16272,5101],{"class":4414},[4408,16274,4993],{"class":4426},[4408,16276,16277],{"class":4410,"line":6549},[4408,16278,4641],{"class":4426},[4408,16280,16281],{"class":4410,"line":6554},[4408,16282,4611],{"emptyLinePlaceholder":4610},[4408,16284,16285,16287,16290,16292,16294,16296,16298,16300,16302],{"class":4410,"line":6596},[4408,16286,12880],{"class":4422},[4408,16288,16289],{"class":4430}," FieldError",[4408,16291,7080],{"class":4426},[4408,16293,12717],{"class":4981},[4408,16295,16227],{"class":4426},[4408,16297,12717],{"class":4981},[4408,16299,13101],{"class":4426},[4408,16301,5263],{"class":5088},[4408,16303,16236],{"class":4426},[4408,16305,16306,16308,16310,16312,16314,16317,16320],{"class":4410,"line":6603},[4408,16307,11625],{"class":4974},[4408,16309,13494],{"class":4426},[4408,16311,12717],{"class":4981},[4408,16313,7723],{"class":4426},[4408,16315,16316],{"class":4974},"return",[4408,16318,16319],{"class":4422}," null",[4408,16321,4993],{"class":4426},[4408,16323,16324,16326,16328,16330,16332,16334,16336,16338,16340,16343,16345,16347,16349,16351,16353,16355,16357,16359],{"class":4410,"line":6616},[4408,16325,5077],{"class":4974},[4408,16327,14313],{"class":4414},[4408,16329,5011],{"class":5088},[4408,16331,6112],{"class":5123},[4408,16333,5127],{"class":4426},[4408,16335,5130],{"class":4422},[4408,16337,6226],{"class":4981},[4408,16339,3646],{"class":4434},[4408,16341,16342],{"class":4981},"error",[4408,16344,4444],{"class":4422},[4408,16346,5101],{"class":4414},[4408,16348,5130],{"class":4422},[4408,16350,12717],{"class":4981},[4408,16352,4444],{"class":4422},[4408,16354,5107],{"class":4414},[4408,16356,5011],{"class":5088},[4408,16358,5101],{"class":4414},[4408,16360,4993],{"class":4426},[4408,16362,16363],{"class":4410,"line":6629},[4408,16364,4641],{"class":4426},[4408,16366,16367],{"class":4410,"line":6639},[4408,16368,4611],{"emptyLinePlaceholder":4610},[4408,16370,16371,16373,16376,16378,16381,16383,16385,16388,16391,16393,16395,16397,16399,16402],{"class":4410,"line":6652},[4408,16372,12880],{"class":4422},[4408,16374,16375],{"class":4430}," SignupForm",[4408,16377,7080],{"class":4426},[4408,16379,16380],{"class":4981},"onSuccess",[4408,16382,16227],{"class":4426},[4408,16384,16380],{"class":4430},[4408,16386,16387],{"class":4426},": (",[4408,16389,16390],{"class":4981},"data",[4408,16392,4145],{"class":4426},[4408,16394,16164],{"class":5088},[4408,16396,7723],{"class":4426},[4408,16398,7089],{"class":4422},[4408,16400,16401],{"class":5088}," void",[4408,16403,16236],{"class":4426},[4408,16405,16406,16408],{"class":4410,"line":6658},[4408,16407,5043],{"class":4422},[4408,16409,5729],{"class":4426},[4408,16411,16412,16415],{"class":4410,"line":6669},[4408,16413,16414],{"class":5049},"    control",[4408,16416,5737],{"class":4426},[4408,16418,16419,16422],{"class":4410,"line":6681},[4408,16420,16421],{"class":5049},"    handleSubmit",[4408,16423,5737],{"class":4426},[4408,16425,16426,16429],{"class":4410,"line":6693},[4408,16427,16428],{"class":5049},"    watch",[4408,16430,5737],{"class":4426},[4408,16432,16433,16436,16438,16440],{"class":4410,"line":6705},[4408,16434,16435],{"class":4981},"    formState",[4408,16437,12236],{"class":4426},[4408,16439,4190],{"class":5049},[4408,16441,6727],{"class":4426},[4408,16443,16444,16447,16449,16451,16453],{"class":4410,"line":6730},[4408,16445,16446],{"class":4426},"  } = ",[4408,16448,11765],{"class":4430},[4408,16450,4415],{"class":4426},[4408,16452,16164],{"class":5088},[4408,16454,16455],{"class":4426},">({\n",[4408,16457,16458,16461,16464,16466,16469],{"class":4410,"line":6738},[4408,16459,16460],{"class":4981},"    resolver:",[4408,16462,16463],{"class":4430}," zodResolver",[4408,16465,4435],{"class":4426},[4408,16467,16468],{"class":4981},"signupSchema",[4408,16470,11846],{"class":4426},[4408,16472,16473,16476],{"class":4410,"line":6743},[4408,16474,16475],{"class":4981},"    defaultValues:",[4408,16477,5729],{"class":4426},[4408,16479,16480,16483,16486],{"class":4410,"line":6752},[4408,16481,16482],{"class":4981},"      name:",[4408,16484,16485],{"class":4438}," ''",[4408,16487,5737],{"class":4426},[4408,16489,16490,16493,16495],{"class":4410,"line":6757},[4408,16491,16492],{"class":4981},"      email:",[4408,16494,16485],{"class":4438},[4408,16496,5737],{"class":4426},[4408,16498,16499,16502,16504],{"class":4410,"line":6762},[4408,16500,16501],{"class":4981},"      seats:",[4408,16503,6043],{"class":6042},[4408,16505,5737],{"class":4426},[4408,16507,16508,16511,16513],{"class":4410,"line":6767},[4408,16509,16510],{"class":4981},"      ticketType:",[4408,16512,15777],{"class":4438},[4408,16514,5737],{"class":4426},[4408,16516,16517,16520,16523],{"class":4410,"line":6789},[4408,16518,16519],{"class":4981},"      remindMe:",[4408,16521,16522],{"class":4422}," true",[4408,16524,5737],{"class":4426},[4408,16526,16527,16530,16533,16535,16538,16540,16542],{"class":4410,"line":6819},[4408,16528,16529],{"class":4981},"      acceptedRules:",[4408,16531,16532],{"class":4422}," false",[4408,16534,15780],{"class":4974},[4408,16536,16537],{"class":5088}," unknown",[4408,16539,15780],{"class":4974},[4408,16541,16522],{"class":5088},[4408,16543,5737],{"class":4426},[4408,16545,16546,16549,16551],{"class":4410,"line":6827},[4408,16547,16548],{"class":4981},"      note:",[4408,16550,16485],{"class":4438},[4408,16552,5737],{"class":4426},[4408,16554,16555],{"class":4410,"line":6837},[4408,16556,16557],{"class":4426},"    },\n",[4408,16559,16560,16563,16566],{"class":4410,"line":6847},[4408,16561,16562],{"class":4981},"    mode:",[4408,16564,16565],{"class":4438}," 'onSubmit'",[4408,16567,5737],{"class":4426},[4408,16569,16570,16573,16576],{"class":4410,"line":6857},[4408,16571,16572],{"class":4981},"    reValidateMode:",[4408,16574,16575],{"class":4438}," 'onChange'",[4408,16577,5737],{"class":4426},[4408,16579,16580],{"class":4410,"line":6867},[4408,16581,16582],{"class":4426},"  });\n",[4408,16584,16585],{"class":4410,"line":6877},[4408,16586,4611],{"emptyLinePlaceholder":4610},[4408,16588,16589,16591,16594,16596,16598,16600,16603],{"class":4410,"line":6888},[4408,16590,5043],{"class":4422},[4408,16592,16593],{"class":5049}," seats",[4408,16595,5804],{"class":4426},[4408,16597,11777],{"class":4430},[4408,16599,4435],{"class":4426},[4408,16601,16602],{"class":4438},"'seats'",[4408,16604,5068],{"class":4426},[4408,16606,16607],{"class":4410,"line":6894},[4408,16608,4611],{"emptyLinePlaceholder":4610},[4408,16610,16611,16613],{"class":4410,"line":6910},[4408,16612,5077],{"class":4974},[4408,16614,5080],{"class":4426},[4408,16616,16617,16619],{"class":4410,"line":14357},[4408,16618,5085],{"class":4414},[4408,16620,13941],{"class":5088},[4408,16622,16623,16625,16627,16629,16631,16633,16636],{"class":4410,"line":14362},[4408,16624,6029],{"class":5123},[4408,16626,5127],{"class":4426},[4408,16628,5130],{"class":4422},[4408,16630,6226],{"class":4981},[4408,16632,3646],{"class":4434},[4408,16634,16635],{"class":4981},"flex",[4408,16637,4641],{"class":4422},[4408,16639,16640,16642,16644,16646,16648,16650,16652,16654,16656,16658,16660,16662,16664],{"class":4410,"line":14403},[4408,16641,13970],{"class":5123},[4408,16643,5127],{"class":4426},[4408,16645,5130],{"class":4422},[4408,16647,13977],{"class":4981},[4408,16649,3646],{"class":4434},[4408,16651,13982],{"class":5049},[4408,16653,13985],{"class":4426},[4408,16655,13988],{"class":4438},[4408,16657,7189],{"class":4426},[4408,16659,13993],{"class":4438},[4408,16661,7195],{"class":4426},[4408,16663,13998],{"class":4438},[4408,16665,4641],{"class":4422},[4408,16667,16668],{"class":4410,"line":14410},[4408,16669,6102],{"class":4414},[4408,16671,16672,16674],{"class":4410,"line":14423},[4408,16673,5096],{"class":4414},[4408,16675,6024],{"class":5088},[4408,16677,16678,16680,16682,16684,16686,16688,16690],{"class":4410,"line":14436},[4408,16679,6349],{"class":5123},[4408,16681,5127],{"class":4426},[4408,16683,5130],{"class":4422},[4408,16685,6226],{"class":4981},[4408,16687,3646],{"class":4434},[4408,16689,16635],{"class":4981},[4408,16691,4641],{"class":4422},[4408,16693,16694,16697,16699,16701,16703,16705,16707],{"class":4410,"line":14446},[4408,16695,16696],{"class":5123},"        contentContainerStyle",[4408,16698,5127],{"class":4426},[4408,16700,5130],{"class":4422},[4408,16702,6226],{"class":4981},[4408,16704,3646],{"class":4434},[4408,16706,3819],{"class":4981},[4408,16708,4641],{"class":4422},[4408,16710,16711,16714,16716],{"class":4410,"line":14456},[4408,16712,16713],{"class":5123},"        keyboardShouldPersistTaps",[4408,16715,5127],{"class":4426},[4408,16717,6096],{"class":4438},[4408,16719,16720,16723,16725],{"class":4410,"line":14465},[4408,16721,16722],{"class":5123},"        keyboardDismissMode",[4408,16724,5127],{"class":4426},[4408,16726,16727],{"class":4438},"\"on-drag\"\n",[4408,16729,16730],{"class":4410,"line":14478},[4408,16731,7803],{"class":4414},[4408,16733,16734,16736,16738,16740,16742,16744,16746,16748,16750,16752,16754,16757,16759,16761],{"class":4410,"line":14489},[4408,16735,7808],{"class":4414},[4408,16737,5011],{"class":5088},[4408,16739,6112],{"class":5123},[4408,16741,5127],{"class":4426},[4408,16743,5130],{"class":4422},[4408,16745,6226],{"class":4981},[4408,16747,3646],{"class":4434},[4408,16749,7303],{"class":4981},[4408,16751,4444],{"class":4422},[4408,16753,5101],{"class":4414},[4408,16755,16756],{"class":4426},"Реєстрація на подію",[4408,16758,5107],{"class":4414},[4408,16760,5011],{"class":5088},[4408,16762,5091],{"class":4414},[4408,16764,16765,16767,16769,16771,16773,16775,16777,16779,16781,16783],{"class":4410,"line":14500},[4408,16766,7808],{"class":4414},[4408,16768,5011],{"class":5088},[4408,16770,6112],{"class":5123},[4408,16772,5127],{"class":4426},[4408,16774,5130],{"class":4422},[4408,16776,6226],{"class":4981},[4408,16778,3646],{"class":4434},[4408,16780,6309],{"class":4981},[4408,16782,4444],{"class":4422},[4408,16784,5091],{"class":4414},[4408,16786,16787],{"class":4410,"line":14535},[4408,16788,16789],{"class":4426},"          Заповніть поля. Помилки з’являться після «Зареєструватись», якщо щось\n",[4408,16791,16792],{"class":4410,"line":14542},[4408,16793,16794],{"class":4426},"          не так.\n",[4408,16796,16797,16799,16801],{"class":4410,"line":14547},[4408,16798,8786],{"class":4414},[4408,16800,5011],{"class":5088},[4408,16802,5091],{"class":4414},[4408,16804,16805],{"class":4410,"line":14602},[4408,16806,4611],{"emptyLinePlaceholder":4610},[4408,16808,16809,16811,16814,16816,16818,16820,16822],{"class":4410,"line":14607},[4408,16810,7808],{"class":4414},[4408,16812,16813],{"class":5088},"FieldLabel",[4408,16815,5101],{"class":4414},[4408,16817,5104],{"class":4426},[4408,16819,5107],{"class":4414},[4408,16821,16813],{"class":5088},[4408,16823,5091],{"class":4414},[4408,16825,16826,16828],{"class":4410,"line":14630},[4408,16827,7808],{"class":4414},[4408,16829,12197],{"class":5088},[4408,16831,16832,16835,16837,16839,16841],{"class":4410,"line":14670},[4408,16833,16834],{"class":5123},"          control",[4408,16836,5127],{"class":4426},[4408,16838,5130],{"class":4422},[4408,16840,11769],{"class":4981},[4408,16842,4641],{"class":4422},[4408,16844,16845,16848,16850],{"class":4410,"line":14722},[4408,16846,16847],{"class":5123},"          name",[4408,16849,5127],{"class":4426},[4408,16851,16852],{"class":4438},"\"name\"\n",[4408,16854,16855,16858,16860,16862,16864,16866,16868,16870,16872,16874,16876,16878,16880,16882],{"class":4410,"line":14731},[4408,16856,16857],{"class":5123},"          render",[4408,16859,5127],{"class":4426},[4408,16861,5130],{"class":4422},[4408,16863,7080],{"class":4434},[4408,16865,5261],{"class":4981},[4408,16867,12236],{"class":4434},[4408,16869,3553],{"class":4981},[4408,16871,3550],{"class":4434},[4408,16873,4475],{"class":4981},[4408,16875,3550],{"class":4434},[4408,16877,3641],{"class":4981},[4408,16879,12249],{"class":4434},[4408,16881,7089],{"class":4422},[4408,16883,5080],{"class":4434},[4408,16885,16886,16889],{"class":4410,"line":14786},[4408,16887,16888],{"class":4414},"            \u003C",[4408,16890,5118],{"class":5088},[4408,16892,16893,16896,16898,16900,16902,16904,16906,16908,16910,16912,16914,16916,16918,16920,16922,16925,16928],{"class":4410,"line":14791},[4408,16894,16895],{"class":5123},"              style",[4408,16897,5127],{"class":4426},[4408,16899,5130],{"class":4422},[4408,16901,6223],{"class":4434},[4408,16903,6226],{"class":4981},[4408,16905,3646],{"class":4434},[4408,16907,4419],{"class":4981},[4408,16909,3550],{"class":4434},[4408,16911,4190],{"class":4981},[4408,16913,3646],{"class":4434},[4408,16915,5050],{"class":4981},[4408,16917,7112],{"class":4426},[4408,16919,6773],{"class":4981},[4408,16921,3646],{"class":4434},[4408,16923,16924],{"class":4981},"inputErr",[4408,16926,16927],{"class":4434},"]",[4408,16929,4641],{"class":4422},[4408,16931,16932,16935,16937,16939,16941],{"class":4410,"line":14834},[4408,16933,16934],{"class":5123},"              value",[4408,16936,5127],{"class":4426},[4408,16938,5130],{"class":4422},[4408,16940,3641],{"class":4981},[4408,16942,4641],{"class":4422},[4408,16944,16945,16948,16950,16952,16954],{"class":4410,"line":14866},[4408,16946,16947],{"class":5123},"              onChangeText",[4408,16949,5127],{"class":4426},[4408,16951,5130],{"class":4422},[4408,16953,3553],{"class":4981},[4408,16955,4641],{"class":4422},[4408,16957,16958,16961,16963,16965,16967],{"class":4410,"line":14875},[4408,16959,16960],{"class":5123},"              onBlur",[4408,16962,5127],{"class":4426},[4408,16964,5130],{"class":4422},[4408,16966,4475],{"class":4981},[4408,16968,4641],{"class":4422},[4408,16970,16971,16974,16976],{"class":4410,"line":14884},[4408,16972,16973],{"class":5123},"              placeholder",[4408,16975,5127],{"class":4426},[4408,16977,16978],{"class":4438},"\"Олена Коваленко\"\n",[4408,16980,16981,16984,16986],{"class":4410,"line":14893},[4408,16982,16983],{"class":5123},"              autoCapitalize",[4408,16985,5127],{"class":4426},[4408,16987,5167],{"class":4438},[4408,16989,16990,16993,16995],{"class":4410,"line":14898},[4408,16991,16992],{"class":5123},"              returnKeyType",[4408,16994,5127],{"class":4426},[4408,16996,16997],{"class":4438},"\"next\"\n",[4408,16999,17000],{"class":4410,"line":14903},[4408,17001,17002],{"class":4414},"            \u002F>\n",[4408,17004,17005,17008],{"class":4410,"line":14908},[4408,17006,17007],{"class":4434},"          )",[4408,17009,4641],{"class":4422},[4408,17011,17012],{"class":4410,"line":14925},[4408,17013,8865],{"class":4414},[4408,17015,17016,17018,17021,17024,17026,17028,17030,17032,17034,17037,17039,17041],{"class":4410,"line":14957},[4408,17017,7808],{"class":4414},[4408,17019,17020],{"class":5088},"FieldError",[4408,17022,17023],{"class":5123}," message",[4408,17025,5127],{"class":4426},[4408,17027,5130],{"class":4422},[4408,17029,4190],{"class":4981},[4408,17031,3646],{"class":4434},[4408,17033,5050],{"class":4981},[4408,17035,17036],{"class":4434},"?.",[4408,17038,12717],{"class":4981},[4408,17040,4444],{"class":4422},[4408,17042,4447],{"class":4414},[4408,17044,17045],{"class":4410,"line":14989},[4408,17046,4611],{"emptyLinePlaceholder":4610},[4408,17048,17049,17051,17053,17055,17057,17059,17061],{"class":4410,"line":14996},[4408,17050,7808],{"class":4414},[4408,17052,16813],{"class":5088},[4408,17054,5101],{"class":4414},[4408,17056,6247],{"class":4426},[4408,17058,5107],{"class":4414},[4408,17060,16813],{"class":5088},[4408,17062,5091],{"class":4414},[4408,17064,17065,17067],{"class":4410,"line":15005},[4408,17066,7808],{"class":4414},[4408,17068,12197],{"class":5088},[4408,17070,17071,17073,17075,17077,17079],{"class":4410,"line":15014},[4408,17072,16834],{"class":5123},[4408,17074,5127],{"class":4426},[4408,17076,5130],{"class":4422},[4408,17078,11769],{"class":4981},[4408,17080,4641],{"class":4422},[4408,17082,17083,17085,17087],{"class":4410,"line":15023},[4408,17084,16847],{"class":5123},[4408,17086,5127],{"class":4426},[4408,17088,17089],{"class":4438},"\"email\"\n",[4408,17091,17092,17094,17096,17098,17100,17102,17104,17106,17108,17110,17112,17114,17116,17118],{"class":4410,"line":15032},[4408,17093,16857],{"class":5123},[4408,17095,5127],{"class":4426},[4408,17097,5130],{"class":4422},[4408,17099,7080],{"class":4434},[4408,17101,5261],{"class":4981},[4408,17103,12236],{"class":4434},[4408,17105,3553],{"class":4981},[4408,17107,3550],{"class":4434},[4408,17109,4475],{"class":4981},[4408,17111,3550],{"class":4434},[4408,17113,3641],{"class":4981},[4408,17115,12249],{"class":4434},[4408,17117,7089],{"class":4422},[4408,17119,5080],{"class":4434},[4408,17121,17122,17124],{"class":4410,"line":15041},[4408,17123,16888],{"class":4414},[4408,17125,5118],{"class":5088},[4408,17127,17128,17130,17132,17134,17136,17138,17140,17142,17144,17146,17148,17150,17152,17154,17156,17158,17160],{"class":4410,"line":15050},[4408,17129,16895],{"class":5123},[4408,17131,5127],{"class":4426},[4408,17133,5130],{"class":4422},[4408,17135,6223],{"class":4434},[4408,17137,6226],{"class":4981},[4408,17139,3646],{"class":4434},[4408,17141,4419],{"class":4981},[4408,17143,3550],{"class":4434},[4408,17145,4190],{"class":4981},[4408,17147,3646],{"class":4434},[4408,17149,4463],{"class":4981},[4408,17151,7112],{"class":4426},[4408,17153,6773],{"class":4981},[4408,17155,3646],{"class":4434},[4408,17157,16924],{"class":4981},[4408,17159,16927],{"class":4434},[4408,17161,4641],{"class":4422},[4408,17163,17164,17166,17168,17170,17172],{"class":4410,"line":15055},[4408,17165,16934],{"class":5123},[4408,17167,5127],{"class":4426},[4408,17169,5130],{"class":4422},[4408,17171,3641],{"class":4981},[4408,17173,4641],{"class":4422},[4408,17175,17176,17178,17180,17182,17184],{"class":4410,"line":15086},[4408,17177,16947],{"class":5123},[4408,17179,5127],{"class":4426},[4408,17181,5130],{"class":4422},[4408,17183,3553],{"class":4981},[4408,17185,4641],{"class":4422},[4408,17187,17188,17190,17192,17194,17196],{"class":4410,"line":15117},[4408,17189,16960],{"class":5123},[4408,17191,5127],{"class":4426},[4408,17193,5130],{"class":4422},[4408,17195,4475],{"class":4981},[4408,17197,4641],{"class":4422},[4408,17199,17200,17202,17204],{"class":4410,"line":15136},[4408,17201,16973],{"class":5123},[4408,17203,5127],{"class":4426},[4408,17205,6296],{"class":4438},[4408,17207,17209,17212,17214],{"class":4410,"line":17208},130,[4408,17210,17211],{"class":5123},"              keyboardType",[4408,17213,5127],{"class":4426},[4408,17215,6322],{"class":4438},[4408,17217,17219,17221,17223],{"class":4410,"line":17218},131,[4408,17220,16983],{"class":5123},[4408,17222,5127],{"class":4426},[4408,17224,6332],{"class":4438},[4408,17226,17228,17231,17233],{"class":4410,"line":17227},132,[4408,17229,17230],{"class":5123},"              autoCorrect",[4408,17232,5127],{"class":4426},[4408,17234,6343],{"class":4422},[4408,17236,17238,17240,17242],{"class":4410,"line":17237},133,[4408,17239,16992],{"class":5123},[4408,17241,5127],{"class":4426},[4408,17243,16997],{"class":4438},[4408,17245,17247],{"class":4410,"line":17246},134,[4408,17248,17002],{"class":4414},[4408,17250,17252,17254],{"class":4410,"line":17251},135,[4408,17253,17007],{"class":4434},[4408,17255,4641],{"class":4422},[4408,17257,17259],{"class":4410,"line":17258},136,[4408,17260,8865],{"class":4414},[4408,17262,17264,17266,17268,17270,17272,17274,17276,17278,17280,17282,17284,17286],{"class":4410,"line":17263},137,[4408,17265,7808],{"class":4414},[4408,17267,17020],{"class":5088},[4408,17269,17023],{"class":5123},[4408,17271,5127],{"class":4426},[4408,17273,5130],{"class":4422},[4408,17275,4190],{"class":4981},[4408,17277,3646],{"class":4434},[4408,17279,4463],{"class":4981},[4408,17281,17036],{"class":4434},[4408,17283,12717],{"class":4981},[4408,17285,4444],{"class":4422},[4408,17287,4447],{"class":4414},[4408,17289,17291],{"class":4410,"line":17290},138,[4408,17292,4611],{"emptyLinePlaceholder":4610},[4408,17294,17296,17298,17300,17302,17304,17306,17308],{"class":4410,"line":17295},139,[4408,17297,7808],{"class":4414},[4408,17299,16813],{"class":5088},[4408,17301,5101],{"class":4414},[4408,17303,15328],{"class":4426},[4408,17305,5107],{"class":4414},[4408,17307,16813],{"class":5088},[4408,17309,5091],{"class":4414},[4408,17311,17313,17315],{"class":4410,"line":17312},140,[4408,17314,7808],{"class":4414},[4408,17316,12197],{"class":5088},[4408,17318,17320,17322,17324,17326,17328],{"class":4410,"line":17319},141,[4408,17321,16834],{"class":5123},[4408,17323,5127],{"class":4426},[4408,17325,5130],{"class":4422},[4408,17327,11769],{"class":4981},[4408,17329,4641],{"class":4422},[4408,17331,17333,17335,17337],{"class":4410,"line":17332},142,[4408,17334,16847],{"class":5123},[4408,17336,5127],{"class":4426},[4408,17338,17339],{"class":4438},"\"ticketType\"\n",[4408,17341,17343,17345,17347,17349,17351,17353,17355,17357,17359,17361,17363,17365],{"class":4410,"line":17342},143,[4408,17344,16857],{"class":5123},[4408,17346,5127],{"class":4426},[4408,17348,5130],{"class":4422},[4408,17350,7080],{"class":4434},[4408,17352,5261],{"class":4981},[4408,17354,12236],{"class":4434},[4408,17356,3553],{"class":4981},[4408,17358,3550],{"class":4434},[4408,17360,3641],{"class":4981},[4408,17362,12249],{"class":4434},[4408,17364,7089],{"class":4422},[4408,17366,5080],{"class":4434},[4408,17368,17370,17372,17374,17376,17378,17380,17382,17384,17386,17389,17391,17393,17395,17398,17400,17402,17404,17406,17408,17410],{"class":4410,"line":17369},144,[4408,17371,16888],{"class":4414},[4408,17373,5006],{"class":5088},[4408,17375,6112],{"class":5123},[4408,17377,5127],{"class":4426},[4408,17379,5130],{"class":4422},[4408,17381,6223],{"class":4434},[4408,17383,6226],{"class":4981},[4408,17385,3646],{"class":4434},[4408,17387,17388],{"class":4981},"pickerWrap",[4408,17390,3550],{"class":4434},[4408,17392,4190],{"class":4981},[4408,17394,3646],{"class":4434},[4408,17396,17397],{"class":4981},"ticketType",[4408,17399,7112],{"class":4426},[4408,17401,6773],{"class":4981},[4408,17403,3646],{"class":4434},[4408,17405,16924],{"class":4981},[4408,17407,16927],{"class":4434},[4408,17409,4444],{"class":4422},[4408,17411,5091],{"class":4414},[4408,17413,17415,17418,17420,17422,17424,17426,17428,17430,17432,17434,17436,17438,17440],{"class":4410,"line":17414},145,[4408,17416,17417],{"class":4414},"              \u003C",[4408,17419,3677],{"class":5088},[4408,17421,10400],{"class":5123},[4408,17423,5127],{"class":4426},[4408,17425,5130],{"class":4422},[4408,17427,3641],{"class":4981},[4408,17429,4444],{"class":4422},[4408,17431,8196],{"class":5123},[4408,17433,5127],{"class":4426},[4408,17435,5130],{"class":4422},[4408,17437,3553],{"class":4981},[4408,17439,4444],{"class":4422},[4408,17441,5091],{"class":4414},[4408,17443,17445,17448,17451,17453,17455,17457,17460,17462,17464],{"class":4410,"line":17444},146,[4408,17446,17447],{"class":4422},"                {",[4408,17449,17450],{"class":5049},"TICKETS",[4408,17452,3646],{"class":4434},[4408,17454,10449],{"class":4430},[4408,17456,7717],{"class":4434},[4408,17458,17459],{"class":4981},"t",[4408,17461,7723],{"class":4434},[4408,17463,7089],{"class":4422},[4408,17465,5080],{"class":4434},[4408,17467,17469,17472,17474,17476,17478,17480,17482,17484,17486,17488,17490,17492,17494,17496,17498,17500,17502,17504,17506,17508,17510,17512,17514,17516],{"class":4410,"line":17468},147,[4408,17470,17471],{"class":4414},"                  \u003C",[4408,17473,10467],{"class":5088},[4408,17475,10470],{"class":5123},[4408,17477,5127],{"class":4426},[4408,17479,5130],{"class":4422},[4408,17481,17459],{"class":4981},[4408,17483,3646],{"class":4434},[4408,17485,3641],{"class":4981},[4408,17487,4444],{"class":4422},[4408,17489,10481],{"class":5123},[4408,17491,5127],{"class":4426},[4408,17493,5130],{"class":4422},[4408,17495,17459],{"class":4981},[4408,17497,3646],{"class":4434},[4408,17499,5239],{"class":4981},[4408,17501,4444],{"class":4422},[4408,17503,8185],{"class":5123},[4408,17505,5127],{"class":4426},[4408,17507,5130],{"class":4422},[4408,17509,17459],{"class":4981},[4408,17511,3646],{"class":4434},[4408,17513,3641],{"class":4981},[4408,17515,4444],{"class":4422},[4408,17517,4447],{"class":4414},[4408,17519,17521,17524],{"class":4410,"line":17520},148,[4408,17522,17523],{"class":4434},"                ))",[4408,17525,4641],{"class":4422},[4408,17527,17529,17532,17534],{"class":4410,"line":17528},149,[4408,17530,17531],{"class":4414},"              \u003C\u002F",[4408,17533,3677],{"class":5088},[4408,17535,5091],{"class":4414},[4408,17537,17539,17542,17544],{"class":4410,"line":17538},150,[4408,17540,17541],{"class":4414},"            \u003C\u002F",[4408,17543,5006],{"class":5088},[4408,17545,5091],{"class":4414},[4408,17547,17549,17551],{"class":4410,"line":17548},151,[4408,17550,17007],{"class":4434},[4408,17552,4641],{"class":4422},[4408,17554,17556],{"class":4410,"line":17555},152,[4408,17557,8865],{"class":4414},[4408,17559,17561,17563,17565,17567,17569,17571,17573,17575,17577,17579,17581,17583],{"class":4410,"line":17560},153,[4408,17562,7808],{"class":4414},[4408,17564,17020],{"class":5088},[4408,17566,17023],{"class":5123},[4408,17568,5127],{"class":4426},[4408,17570,5130],{"class":4422},[4408,17572,4190],{"class":4981},[4408,17574,3646],{"class":4434},[4408,17576,17397],{"class":4981},[4408,17578,17036],{"class":4434},[4408,17580,12717],{"class":4981},[4408,17582,4444],{"class":4422},[4408,17584,4447],{"class":4414},[4408,17586,17588],{"class":4410,"line":17587},154,[4408,17589,4611],{"emptyLinePlaceholder":4610},[4408,17591,17593,17595,17597,17599,17602,17604,17607,17609,17611,17613],{"class":4410,"line":17592},155,[4408,17594,7808],{"class":4414},[4408,17596,16813],{"class":5088},[4408,17598,5101],{"class":4414},[4408,17600,17601],{"class":4426},"Кількість місць: ",[4408,17603,5130],{"class":4422},[4408,17605,17606],{"class":4981},"seats",[4408,17608,4444],{"class":4422},[4408,17610,5107],{"class":4414},[4408,17612,16813],{"class":5088},[4408,17614,5091],{"class":4414},[4408,17616,17618,17620],{"class":4410,"line":17617},156,[4408,17619,7808],{"class":4414},[4408,17621,12197],{"class":5088},[4408,17623,17625,17627,17629,17631,17633],{"class":4410,"line":17624},157,[4408,17626,16834],{"class":5123},[4408,17628,5127],{"class":4426},[4408,17630,5130],{"class":4422},[4408,17632,11769],{"class":4981},[4408,17634,4641],{"class":4422},[4408,17636,17638,17640,17642],{"class":4410,"line":17637},158,[4408,17639,16847],{"class":5123},[4408,17641,5127],{"class":4426},[4408,17643,17644],{"class":4438},"\"seats\"\n",[4408,17646,17648,17650,17652,17654,17656,17658,17660,17662,17664,17666,17668,17670],{"class":4410,"line":17647},159,[4408,17649,16857],{"class":5123},[4408,17651,5127],{"class":4426},[4408,17653,5130],{"class":4422},[4408,17655,7080],{"class":4434},[4408,17657,5261],{"class":4981},[4408,17659,12236],{"class":4434},[4408,17661,3553],{"class":4981},[4408,17663,3550],{"class":4434},[4408,17665,3641],{"class":4981},[4408,17667,12249],{"class":4434},[4408,17669,7089],{"class":4422},[4408,17671,5080],{"class":4434},[4408,17673,17675,17677],{"class":4410,"line":17674},160,[4408,17676,16888],{"class":4414},[4408,17678,9850],{"class":5088},[4408,17680,17682,17685,17687,17689,17691],{"class":4410,"line":17681},161,[4408,17683,17684],{"class":5123},"              minimumValue",[4408,17686,5127],{"class":4426},[4408,17688,5130],{"class":4422},[4408,17690,9862],{"class":6042},[4408,17692,4641],{"class":4422},[4408,17694,17696,17699,17701,17703,17705],{"class":4410,"line":17695},162,[4408,17697,17698],{"class":5123},"              maximumValue",[4408,17700,5127],{"class":4426},[4408,17702,5130],{"class":4422},[4408,17704,13524],{"class":6042},[4408,17706,4641],{"class":4422},[4408,17708,17710,17713,17715,17717,17719],{"class":4410,"line":17709},163,[4408,17711,17712],{"class":5123},"              step",[4408,17714,5127],{"class":4426},[4408,17716,5130],{"class":4422},[4408,17718,9862],{"class":6042},[4408,17720,4641],{"class":4422},[4408,17722,17724,17726,17728,17730,17732],{"class":4410,"line":17723},164,[4408,17725,16934],{"class":5123},[4408,17727,5127],{"class":4426},[4408,17729,5130],{"class":4422},[4408,17731,3641],{"class":4981},[4408,17733,4641],{"class":4422},[4408,17735,17737,17740,17742,17744,17746],{"class":4410,"line":17736},165,[4408,17738,17739],{"class":5123},"              onValueChange",[4408,17741,5127],{"class":4426},[4408,17743,5130],{"class":4422},[4408,17745,3553],{"class":4981},[4408,17747,4641],{"class":4422},[4408,17749,17751,17754,17756],{"class":4410,"line":17750},166,[4408,17752,17753],{"class":5123},"              minimumTrackTintColor",[4408,17755,5127],{"class":4426},[4408,17757,17758],{"class":4438},"\"#2563EB\"\n",[4408,17760,17762,17765,17767],{"class":4410,"line":17761},167,[4408,17763,17764],{"class":5123},"              maximumTrackTintColor",[4408,17766,5127],{"class":4426},[4408,17768,17769],{"class":4438},"\"#E2E8F0\"\n",[4408,17771,17773,17776,17778],{"class":4410,"line":17772},168,[4408,17774,17775],{"class":5123},"              thumbTintColor",[4408,17777,5127],{"class":4426},[4408,17779,17758],{"class":4438},[4408,17781,17783],{"class":4410,"line":17782},169,[4408,17784,17002],{"class":4414},[4408,17786,17788,17790],{"class":4410,"line":17787},170,[4408,17789,17007],{"class":4434},[4408,17791,4641],{"class":4422},[4408,17793,17795],{"class":4410,"line":17794},171,[4408,17796,8865],{"class":4414},[4408,17798,17800,17802,17804,17806,17808,17810,17812,17814,17816,17818,17820,17822],{"class":4410,"line":17799},172,[4408,17801,7808],{"class":4414},[4408,17803,17020],{"class":5088},[4408,17805,17023],{"class":5123},[4408,17807,5127],{"class":4426},[4408,17809,5130],{"class":4422},[4408,17811,4190],{"class":4981},[4408,17813,3646],{"class":4434},[4408,17815,17606],{"class":4981},[4408,17817,17036],{"class":4434},[4408,17819,12717],{"class":4981},[4408,17821,4444],{"class":4422},[4408,17823,4447],{"class":4414},[4408,17825,17827],{"class":4410,"line":17826},173,[4408,17828,4611],{"emptyLinePlaceholder":4610},[4408,17830,17832,17834],{"class":4410,"line":17831},174,[4408,17833,7808],{"class":4414},[4408,17835,12197],{"class":5088},[4408,17837,17839,17841,17843,17845,17847],{"class":4410,"line":17838},175,[4408,17840,16834],{"class":5123},[4408,17842,5127],{"class":4426},[4408,17844,5130],{"class":4422},[4408,17846,11769],{"class":4981},[4408,17848,4641],{"class":4422},[4408,17850,17852,17854,17856],{"class":4410,"line":17851},176,[4408,17853,16847],{"class":5123},[4408,17855,5127],{"class":4426},[4408,17857,17858],{"class":4438},"\"remindMe\"\n",[4408,17860,17862,17864,17866,17868,17870,17872,17874,17876,17878,17880,17882,17884],{"class":4410,"line":17861},177,[4408,17863,16857],{"class":5123},[4408,17865,5127],{"class":4426},[4408,17867,5130],{"class":4422},[4408,17869,7080],{"class":4434},[4408,17871,5261],{"class":4981},[4408,17873,12236],{"class":4434},[4408,17875,3553],{"class":4981},[4408,17877,3550],{"class":4434},[4408,17879,3641],{"class":4981},[4408,17881,12249],{"class":4434},[4408,17883,7089],{"class":4422},[4408,17885,5080],{"class":4434},[4408,17887,17889,17891,17893,17895,17897,17899,17901,17903,17905,17907],{"class":4410,"line":17888},178,[4408,17890,16888],{"class":4414},[4408,17892,5006],{"class":5088},[4408,17894,6112],{"class":5123},[4408,17896,5127],{"class":4426},[4408,17898,5130],{"class":4422},[4408,17900,6226],{"class":4981},[4408,17902,3646],{"class":4434},[4408,17904,8634],{"class":4981},[4408,17906,4444],{"class":4422},[4408,17908,5091],{"class":4414},[4408,17910,17912,17914,17916,17918,17920,17922,17924,17926,17929,17931],{"class":4410,"line":17911},179,[4408,17913,17417],{"class":4414},[4408,17915,5006],{"class":5088},[4408,17917,6112],{"class":5123},[4408,17919,5127],{"class":4426},[4408,17921,5130],{"class":4422},[4408,17923,6226],{"class":4981},[4408,17925,3646],{"class":4434},[4408,17927,17928],{"class":4981},"rowText",[4408,17930,4444],{"class":4422},[4408,17932,5091],{"class":4414},[4408,17934,17936,17939,17941,17943,17945,17947,17949,17951,17954,17956,17958,17960,17962,17964],{"class":4410,"line":17935},180,[4408,17937,17938],{"class":4414},"                \u003C",[4408,17940,5011],{"class":5088},[4408,17942,6112],{"class":5123},[4408,17944,5127],{"class":4426},[4408,17946,5130],{"class":4422},[4408,17948,6226],{"class":4981},[4408,17950,3646],{"class":4434},[4408,17952,17953],{"class":4981},"rowTitle",[4408,17955,4444],{"class":4422},[4408,17957,5101],{"class":4414},[4408,17959,15337],{"class":4434},[4408,17961,5107],{"class":4414},[4408,17963,5011],{"class":5088},[4408,17965,5091],{"class":4414},[4408,17967,17969,17971,17973,17975,17977,17979,17981,17983,17985,17987],{"class":4410,"line":17968},181,[4408,17970,17938],{"class":4414},[4408,17972,5011],{"class":5088},[4408,17974,6112],{"class":5123},[4408,17976,5127],{"class":4426},[4408,17978,5130],{"class":4422},[4408,17980,6226],{"class":4981},[4408,17982,3646],{"class":4434},[4408,17984,6309],{"class":4981},[4408,17986,4444],{"class":4422},[4408,17988,5091],{"class":4414},[4408,17990,17992],{"class":4410,"line":17991},182,[4408,17993,17994],{"class":4434},"                  Switch: надіслати нагадування перед подією\n",[4408,17996,17998,18001,18003],{"class":4410,"line":17997},183,[4408,17999,18000],{"class":4414},"                \u003C\u002F",[4408,18002,5011],{"class":5088},[4408,18004,5091],{"class":4414},[4408,18006,18008,18010,18012],{"class":4410,"line":18007},184,[4408,18009,17531],{"class":4414},[4408,18011,5006],{"class":5088},[4408,18013,5091],{"class":4414},[4408,18015,18017,18019],{"class":4410,"line":18016},185,[4408,18018,17417],{"class":4414},[4408,18020,8797],{"class":5088},[4408,18022,18024,18027,18029,18031,18033],{"class":4410,"line":18023},186,[4408,18025,18026],{"class":5123},"                value",[4408,18028,5127],{"class":4426},[4408,18030,5130],{"class":4422},[4408,18032,3641],{"class":4981},[4408,18034,4641],{"class":4422},[4408,18036,18038,18041,18043,18045,18047],{"class":4410,"line":18037},187,[4408,18039,18040],{"class":5123},"                onValueChange",[4408,18042,5127],{"class":4426},[4408,18044,5130],{"class":4422},[4408,18046,3553],{"class":4981},[4408,18048,4641],{"class":4422},[4408,18050,18052,18055,18057,18059,18061,18063,18066,18068,18070,18073,18075],{"class":4410,"line":18051},188,[4408,18053,18054],{"class":5123},"                trackColor",[4408,18056,5127],{"class":4426},[4408,18058,5130],{"class":4422},[4408,18060,6036],{"class":4434},[4408,18062,8837],{"class":4981},[4408,18064,18065],{"class":4438}," '#E2E8F0'",[4408,18067,3550],{"class":4434},[4408,18069,8844],{"class":4981},[4408,18071,18072],{"class":4438}," '#2563EB'",[4408,18074,6053],{"class":4434},[4408,18076,4641],{"class":4422},[4408,18078,18080,18083,18085],{"class":4410,"line":18079},189,[4408,18081,18082],{"class":5123},"                thumbColor",[4408,18084,5127],{"class":4426},[4408,18086,18087],{"class":4438},"\"#FFFFFF\"\n",[4408,18089,18091],{"class":4410,"line":18090},190,[4408,18092,18093],{"class":4414},"              \u002F>\n",[4408,18095,18097,18099,18101],{"class":4410,"line":18096},191,[4408,18098,17541],{"class":4414},[4408,18100,5006],{"class":5088},[4408,18102,5091],{"class":4414},[4408,18104,18106,18108],{"class":4410,"line":18105},192,[4408,18107,17007],{"class":4434},[4408,18109,4641],{"class":4422},[4408,18111,18113],{"class":4410,"line":18112},193,[4408,18114,8865],{"class":4414},[4408,18116,18118],{"class":4410,"line":18117},194,[4408,18119,4611],{"emptyLinePlaceholder":4610},[4408,18121,18123,18125],{"class":4410,"line":18122},195,[4408,18124,7808],{"class":4414},[4408,18126,12197],{"class":5088},[4408,18128,18130,18132,18134,18136,18138],{"class":4410,"line":18129},196,[4408,18131,16834],{"class":5123},[4408,18133,5127],{"class":4426},[4408,18135,5130],{"class":4422},[4408,18137,11769],{"class":4981},[4408,18139,4641],{"class":4422},[4408,18141,18143,18145,18147],{"class":4410,"line":18142},197,[4408,18144,16847],{"class":5123},[4408,18146,5127],{"class":4426},[4408,18148,18149],{"class":4438},"\"acceptedRules\"\n",[4408,18151,18153,18155,18157,18159,18161,18163,18165,18167,18169,18171,18173,18175],{"class":4410,"line":18152},198,[4408,18154,16857],{"class":5123},[4408,18156,5127],{"class":4426},[4408,18158,5130],{"class":4422},[4408,18160,7080],{"class":4434},[4408,18162,5261],{"class":4981},[4408,18164,12236],{"class":4434},[4408,18166,3553],{"class":4981},[4408,18168,3550],{"class":4434},[4408,18170,3641],{"class":4981},[4408,18172,12249],{"class":4434},[4408,18174,7089],{"class":4422},[4408,18176,5080],{"class":4434},[4408,18178,18180,18182,18184,18186,18188,18190,18192,18194,18196,18198],{"class":4410,"line":18179},199,[4408,18181,16888],{"class":4414},[4408,18183,5006],{"class":5088},[4408,18185,6112],{"class":5123},[4408,18187,5127],{"class":4426},[4408,18189,5130],{"class":4422},[4408,18191,6226],{"class":4981},[4408,18193,3646],{"class":4434},[4408,18195,8634],{"class":4981},[4408,18197,4444],{"class":4422},[4408,18199,5091],{"class":4414},[4408,18201,18203,18205,18207,18209,18211,18213,18215,18217,18219,18221],{"class":4410,"line":18202},200,[4408,18204,17417],{"class":4414},[4408,18206,5006],{"class":5088},[4408,18208,6112],{"class":5123},[4408,18210,5127],{"class":4426},[4408,18212,5130],{"class":4422},[4408,18214,6226],{"class":4981},[4408,18216,3646],{"class":4434},[4408,18218,17928],{"class":4981},[4408,18220,4444],{"class":4422},[4408,18222,5091],{"class":4414},[4408,18224,18226,18228,18230,18232,18234,18236,18238,18240,18242,18244,18246,18248,18250,18252],{"class":4410,"line":18225},201,[4408,18227,17938],{"class":4414},[4408,18229,5011],{"class":5088},[4408,18231,6112],{"class":5123},[4408,18233,5127],{"class":4426},[4408,18235,5130],{"class":4422},[4408,18237,6226],{"class":4981},[4408,18239,3646],{"class":4434},[4408,18241,17953],{"class":4981},[4408,18243,4444],{"class":4422},[4408,18245,5101],{"class":4414},[4408,18247,15346],{"class":4434},[4408,18249,5107],{"class":4414},[4408,18251,5011],{"class":5088},[4408,18253,5091],{"class":4414},[4408,18255,18257,18259,18261,18263,18265,18267,18269,18271,18273,18275],{"class":4410,"line":18256},202,[4408,18258,17938],{"class":4414},[4408,18260,5011],{"class":5088},[4408,18262,6112],{"class":5123},[4408,18264,5127],{"class":4426},[4408,18266,5130],{"class":4422},[4408,18268,6226],{"class":4981},[4408,18270,3646],{"class":4434},[4408,18272,6309],{"class":4981},[4408,18274,4444],{"class":4422},[4408,18276,5091],{"class":4414},[4408,18278,18280],{"class":4410,"line":18279},203,[4408,18281,18282],{"class":4434},"                  Обов’язкова галочка (без неї submit не пройде)\n",[4408,18284,18286,18288,18290],{"class":4410,"line":18285},204,[4408,18287,18000],{"class":4414},[4408,18289,5011],{"class":5088},[4408,18291,5091],{"class":4414},[4408,18293,18295,18297,18299],{"class":4410,"line":18294},205,[4408,18296,17531],{"class":4414},[4408,18298,5006],{"class":5088},[4408,18300,5091],{"class":4414},[4408,18302,18304,18306],{"class":4410,"line":18303},206,[4408,18305,17417],{"class":4414},[4408,18307,18308],{"class":5088},"Checkbox\n",[4408,18310,18312,18314,18316,18318,18321,18323,18325,18327],{"class":4410,"line":18311},207,[4408,18313,18026],{"class":5123},[4408,18315,5127],{"class":4426},[4408,18317,5130],{"class":4422},[4408,18319,18320],{"class":4430},"Boolean",[4408,18322,4435],{"class":4434},[4408,18324,3641],{"class":4981},[4408,18326,4292],{"class":4434},[4408,18328,4641],{"class":4422},[4408,18330,18332,18334,18336,18338,18340],{"class":4410,"line":18331},208,[4408,18333,18040],{"class":5123},[4408,18335,5127],{"class":4426},[4408,18337,5130],{"class":4422},[4408,18339,3553],{"class":4981},[4408,18341,4641],{"class":4422},[4408,18343,18345,18348,18350,18352,18354,18356,18358,18360,18362,18365,18367],{"class":4410,"line":18344},209,[4408,18346,18347],{"class":5123},"                tintColors",[4408,18349,5127],{"class":4426},[4408,18351,5130],{"class":4422},[4408,18353,6036],{"class":4434},[4408,18355,8844],{"class":4981},[4408,18357,18072],{"class":4438},[4408,18359,3550],{"class":4434},[4408,18361,8837],{"class":4981},[4408,18363,18364],{"class":4438}," '#94A3B8'",[4408,18366,6053],{"class":4434},[4408,18368,4641],{"class":4422},[4408,18370,18372,18375,18377],{"class":4410,"line":18371},210,[4408,18373,18374],{"class":5123},"                onCheckColor",[4408,18376,5127],{"class":4426},[4408,18378,18087],{"class":4438},[4408,18380,18382,18385,18387],{"class":4410,"line":18381},211,[4408,18383,18384],{"class":5123},"                onFillColor",[4408,18386,5127],{"class":4426},[4408,18388,17758],{"class":4438},[4408,18390,18392,18395,18397],{"class":4410,"line":18391},212,[4408,18393,18394],{"class":5123},"                onTintColor",[4408,18396,5127],{"class":4426},[4408,18398,17758],{"class":4438},[4408,18400,18402,18405,18407],{"class":4410,"line":18401},213,[4408,18403,18404],{"class":5123},"                boxType",[4408,18406,5127],{"class":4426},[4408,18408,18409],{"class":4438},"\"square\"\n",[4408,18411,18413],{"class":4410,"line":18412},214,[4408,18414,18093],{"class":4414},[4408,18416,18418,18420,18422],{"class":4410,"line":18417},215,[4408,18419,17541],{"class":4414},[4408,18421,5006],{"class":5088},[4408,18423,5091],{"class":4414},[4408,18425,18427,18429],{"class":4410,"line":18426},216,[4408,18428,17007],{"class":4434},[4408,18430,4641],{"class":4422},[4408,18432,18434],{"class":4410,"line":18433},217,[4408,18435,8865],{"class":4414},[4408,18437,18439,18441,18443,18445,18447,18449,18451,18453,18456,18458,18460,18462],{"class":4410,"line":18438},218,[4408,18440,7808],{"class":4414},[4408,18442,17020],{"class":5088},[4408,18444,17023],{"class":5123},[4408,18446,5127],{"class":4426},[4408,18448,5130],{"class":4422},[4408,18450,4190],{"class":4981},[4408,18452,3646],{"class":4434},[4408,18454,18455],{"class":4981},"acceptedRules",[4408,18457,17036],{"class":4434},[4408,18459,12717],{"class":4981},[4408,18461,4444],{"class":4422},[4408,18463,4447],{"class":4414},[4408,18465,18467],{"class":4410,"line":18466},219,[4408,18468,4611],{"emptyLinePlaceholder":4610},[4408,18470,18472,18474,18476,18478,18481,18483,18485],{"class":4410,"line":18471},220,[4408,18473,7808],{"class":4414},[4408,18475,16813],{"class":5088},[4408,18477,5101],{"class":4414},[4408,18479,18480],{"class":4426},"Коментар (необов’язково)",[4408,18482,5107],{"class":4414},[4408,18484,16813],{"class":5088},[4408,18486,5091],{"class":4414},[4408,18488,18490,18492],{"class":4410,"line":18489},221,[4408,18491,7808],{"class":4414},[4408,18493,12197],{"class":5088},[4408,18495,18497,18499,18501,18503,18505],{"class":4410,"line":18496},222,[4408,18498,16834],{"class":5123},[4408,18500,5127],{"class":4426},[4408,18502,5130],{"class":4422},[4408,18504,11769],{"class":4981},[4408,18506,4641],{"class":4422},[4408,18508,18510,18512,18514],{"class":4410,"line":18509},223,[4408,18511,16847],{"class":5123},[4408,18513,5127],{"class":4426},[4408,18515,18516],{"class":4438},"\"note\"\n",[4408,18518,18520,18522,18524,18526,18528,18530,18532,18534,18536,18538,18540,18542,18544,18546],{"class":4410,"line":18519},224,[4408,18521,16857],{"class":5123},[4408,18523,5127],{"class":4426},[4408,18525,5130],{"class":4422},[4408,18527,7080],{"class":4434},[4408,18529,5261],{"class":4981},[4408,18531,12236],{"class":4434},[4408,18533,3553],{"class":4981},[4408,18535,3550],{"class":4434},[4408,18537,4475],{"class":4981},[4408,18539,3550],{"class":4434},[4408,18541,3641],{"class":4981},[4408,18543,12249],{"class":4434},[4408,18545,7089],{"class":4422},[4408,18547,5080],{"class":4434},[4408,18549,18551,18553],{"class":4410,"line":18550},225,[4408,18552,16888],{"class":4414},[4408,18554,5118],{"class":5088},[4408,18556,18558,18560,18562,18564,18566,18568,18570,18572,18574,18576,18578,18580,18582,18584,18586,18588,18590,18592,18594,18596,18598],{"class":4410,"line":18557},226,[4408,18559,16895],{"class":5123},[4408,18561,5127],{"class":4426},[4408,18563,5130],{"class":4422},[4408,18565,6223],{"class":4434},[4408,18567,6226],{"class":4981},[4408,18569,3646],{"class":4434},[4408,18571,4419],{"class":4981},[4408,18573,3550],{"class":4434},[4408,18575,6226],{"class":4981},[4408,18577,3646],{"class":4434},[4408,18579,6700],{"class":4981},[4408,18581,3550],{"class":4434},[4408,18583,4190],{"class":4981},[4408,18585,3646],{"class":4434},[4408,18587,3715],{"class":4981},[4408,18589,7112],{"class":4426},[4408,18591,6773],{"class":4981},[4408,18593,3646],{"class":4434},[4408,18595,16924],{"class":4981},[4408,18597,16927],{"class":4434},[4408,18599,4641],{"class":4422},[4408,18601,18603,18605,18607,18609,18611],{"class":4410,"line":18602},227,[4408,18604,16934],{"class":5123},[4408,18606,5127],{"class":4426},[4408,18608,5130],{"class":4422},[4408,18610,3641],{"class":4981},[4408,18612,4641],{"class":4422},[4408,18614,18616,18618,18620,18622,18624],{"class":4410,"line":18615},228,[4408,18617,16947],{"class":5123},[4408,18619,5127],{"class":4426},[4408,18621,5130],{"class":4422},[4408,18623,3553],{"class":4981},[4408,18625,4641],{"class":4422},[4408,18627,18629,18631,18633,18635,18637],{"class":4410,"line":18628},229,[4408,18630,16960],{"class":5123},[4408,18632,5127],{"class":4426},[4408,18634,5130],{"class":4422},[4408,18636,4475],{"class":4981},[4408,18638,4641],{"class":4422},[4408,18640,18642,18644,18646],{"class":4410,"line":18641},230,[4408,18643,16973],{"class":5123},[4408,18645,5127],{"class":4426},[4408,18647,18648],{"class":4438},"\"Алергії, побажання до місця…\"\n",[4408,18650,18652],{"class":4410,"line":18651},231,[4408,18653,18654],{"class":5123},"              multiline\n",[4408,18656,18658,18661,18663],{"class":4410,"line":18657},232,[4408,18659,18660],{"class":5123},"              textAlignVertical",[4408,18662,5127],{"class":4426},[4408,18664,6666],{"class":4438},[4408,18666,18668,18671,18673,18675,18677],{"class":4410,"line":18667},233,[4408,18669,18670],{"class":5123},"              maxLength",[4408,18672,5127],{"class":4426},[4408,18674,5130],{"class":4422},[4408,18676,16071],{"class":6042},[4408,18678,4641],{"class":4422},[4408,18680,18682],{"class":4410,"line":18681},234,[4408,18683,17002],{"class":4414},[4408,18685,18687,18689],{"class":4410,"line":18686},235,[4408,18688,17007],{"class":4434},[4408,18690,4641],{"class":4422},[4408,18692,18694],{"class":4410,"line":18693},236,[4408,18695,8865],{"class":4414},[4408,18697,18699,18701,18703,18705,18707,18709,18711,18713,18715,18717,18719,18721],{"class":4410,"line":18698},237,[4408,18700,7808],{"class":4414},[4408,18702,17020],{"class":5088},[4408,18704,17023],{"class":5123},[4408,18706,5127],{"class":4426},[4408,18708,5130],{"class":4422},[4408,18710,4190],{"class":4981},[4408,18712,3646],{"class":4434},[4408,18714,3715],{"class":4981},[4408,18716,17036],{"class":4434},[4408,18718,12717],{"class":4981},[4408,18720,4444],{"class":4422},[4408,18722,4447],{"class":4414},[4408,18724,18726],{"class":4410,"line":18725},238,[4408,18727,4611],{"emptyLinePlaceholder":4610},[4408,18729,18731,18733,18735,18737,18739,18741,18743,18745,18747,18749,18751,18753,18755,18757,18759,18761,18763,18765],{"class":4410,"line":18730},239,[4408,18732,7808],{"class":4414},[4408,18734,3654],{"class":5088},[4408,18736,6112],{"class":5123},[4408,18738,5127],{"class":4426},[4408,18740,5130],{"class":4422},[4408,18742,6226],{"class":4981},[4408,18744,3646],{"class":4434},[4408,18746,7102],{"class":4981},[4408,18748,4444],{"class":4422},[4408,18750,11613],{"class":5123},[4408,18752,5127],{"class":4426},[4408,18754,5130],{"class":4422},[4408,18756,5619],{"class":4430},[4408,18758,4435],{"class":4434},[4408,18760,16380],{"class":4981},[4408,18762,4292],{"class":4434},[4408,18764,4444],{"class":4422},[4408,18766,5091],{"class":4414},[4408,18768,18770,18772,18774,18776,18778,18780,18782,18784,18786,18788,18790,18793,18795,18797],{"class":4410,"line":18769},240,[4408,18771,8681],{"class":4414},[4408,18773,5011],{"class":5088},[4408,18775,6112],{"class":5123},[4408,18777,5127],{"class":4426},[4408,18779,5130],{"class":4422},[4408,18781,6226],{"class":4981},[4408,18783,3646],{"class":4434},[4408,18785,7175],{"class":4981},[4408,18787,4444],{"class":4422},[4408,18789,5101],{"class":4414},[4408,18791,18792],{"class":4426},"Зареєструватись",[4408,18794,5107],{"class":4414},[4408,18796,5011],{"class":5088},[4408,18798,5091],{"class":4414},[4408,18800,18802,18804,18806],{"class":4410,"line":18801},241,[4408,18803,8786],{"class":4414},[4408,18805,3654],{"class":5088},[4408,18807,5091],{"class":4414},[4408,18809,18811,18813,18815],{"class":4410,"line":18810},242,[4408,18812,6198],{"class":4414},[4408,18814,3689],{"class":5088},[4408,18816,5091],{"class":4414},[4408,18818,18820,18822,18824],{"class":4410,"line":18819},243,[4408,18821,5177],{"class":4414},[4408,18823,3686],{"class":5088},[4408,18825,5091],{"class":4414},[4408,18827,18829],{"class":4410,"line":18828},244,[4408,18830,5186],{"class":4426},[4408,18832,18834],{"class":4410,"line":18833},245,[4408,18835,4641],{"class":4426},[4408,18837,18839],{"class":4410,"line":18838},246,[4408,18840,4611],{"emptyLinePlaceholder":4610},[4408,18842,18844,18846,18849],{"class":4410,"line":18843},247,[4408,18845,12880],{"class":4422},[4408,18847,18848],{"class":4430}," SuccessScreen",[4408,18850,6786],{"class":4426},[4408,18852,18854,18857],{"class":4410,"line":18853},248,[4408,18855,18856],{"class":4981},"  data",[4408,18858,5737],{"class":4426},[4408,18860,18862,18865],{"class":4410,"line":18861},249,[4408,18863,18864],{"class":4981},"  onAgain",[4408,18866,5737],{"class":4426},[4408,18868,18870],{"class":4410,"line":18869},250,[4408,18871,18872],{"class":4426},"}: {\n",[4408,18874,18876,18878,18880,18882],{"class":4410,"line":18875},251,[4408,18877,18856],{"class":4981},[4408,18879,4145],{"class":4426},[4408,18881,16164],{"class":5088},[4408,18883,4993],{"class":4426},[4408,18885,18887,18889,18892,18894,18896],{"class":4410,"line":18886},252,[4408,18888,18864],{"class":4430},[4408,18890,18891],{"class":4426},": () ",[4408,18893,7089],{"class":4422},[4408,18895,16401],{"class":5088},[4408,18897,4993],{"class":4426},[4408,18899,18901],{"class":4410,"line":18900},253,[4408,18902,18903],{"class":4426},"}) {\n",[4408,18905,18907,18909],{"class":4410,"line":18906},254,[4408,18908,5077],{"class":4974},[4408,18910,5080],{"class":4426},[4408,18912,18914,18916,18918,18920,18922,18924,18926,18928,18930,18932],{"class":4410,"line":18913},255,[4408,18915,5085],{"class":4414},[4408,18917,5006],{"class":5088},[4408,18919,6112],{"class":5123},[4408,18921,5127],{"class":4426},[4408,18923,5130],{"class":4422},[4408,18925,6226],{"class":4981},[4408,18927,3646],{"class":4434},[4408,18929,13649],{"class":4981},[4408,18931,4444],{"class":4422},[4408,18933,5091],{"class":4414},[4408,18935,18937,18939,18941,18943,18945,18947,18949,18951,18953,18955,18957,18960,18962,18964],{"class":4410,"line":18936},256,[4408,18938,5096],{"class":4414},[4408,18940,5011],{"class":5088},[4408,18942,6112],{"class":5123},[4408,18944,5127],{"class":4426},[4408,18946,5130],{"class":4422},[4408,18948,6226],{"class":4981},[4408,18950,3646],{"class":4434},[4408,18952,7303],{"class":4981},[4408,18954,4444],{"class":4422},[4408,18956,5101],{"class":4414},[4408,18958,18959],{"class":4426},"Ви зареєстровані",[4408,18961,5107],{"class":4414},[4408,18963,5011],{"class":5088},[4408,18965,5091],{"class":4414},[4408,18967,18969,18971,18973,18975,18977,18979,18981,18983,18985,18987,18989,18991,18993,18995,18997,18999,19001,19003],{"class":4410,"line":18968},257,[4408,18970,5096],{"class":4414},[4408,18972,5011],{"class":5088},[4408,18974,6112],{"class":5123},[4408,18976,5127],{"class":4426},[4408,18978,5130],{"class":4422},[4408,18980,6226],{"class":4981},[4408,18982,3646],{"class":4434},[4408,18984,6309],{"class":4981},[4408,18986,4444],{"class":4422},[4408,18988,5101],{"class":4414},[4408,18990,5130],{"class":4422},[4408,18992,16390],{"class":4981},[4408,18994,3646],{"class":4434},[4408,18996,5050],{"class":4981},[4408,18998,4444],{"class":4422},[4408,19000,5107],{"class":4414},[4408,19002,5011],{"class":5088},[4408,19004,5091],{"class":4414},[4408,19006,19008,19010,19012,19014,19016,19018,19020,19022,19024,19026,19028,19030,19032,19034,19036,19038,19040,19042],{"class":4410,"line":19007},258,[4408,19009,5096],{"class":4414},[4408,19011,5011],{"class":5088},[4408,19013,6112],{"class":5123},[4408,19015,5127],{"class":4426},[4408,19017,5130],{"class":4422},[4408,19019,6226],{"class":4981},[4408,19021,3646],{"class":4434},[4408,19023,6309],{"class":4981},[4408,19025,4444],{"class":4422},[4408,19027,5101],{"class":4414},[4408,19029,5130],{"class":4422},[4408,19031,16390],{"class":4981},[4408,19033,3646],{"class":4434},[4408,19035,4463],{"class":4981},[4408,19037,4444],{"class":4422},[4408,19039,5107],{"class":4414},[4408,19041,5011],{"class":5088},[4408,19043,5091],{"class":4414},[4408,19045,19047,19049,19051,19053,19055,19057,19059,19061,19064,19066],{"class":4410,"line":19046},259,[4408,19048,5096],{"class":4414},[4408,19050,5011],{"class":5088},[4408,19052,6112],{"class":5123},[4408,19054,5127],{"class":4426},[4408,19056,5130],{"class":4422},[4408,19058,6226],{"class":4981},[4408,19060,3646],{"class":4434},[4408,19062,19063],{"class":4981},"summary",[4408,19065,4444],{"class":4422},[4408,19067,5091],{"class":4414},[4408,19069,19071,19074,19076,19079,19081,19083,19085,19087,19089,19091,19094,19096,19098,19100,19102],{"class":4410,"line":19070},260,[4408,19072,19073],{"class":4426},"        Квиток: ",[4408,19075,5130],{"class":4422},[4408,19077,19078],{"class":4981},"ticketLabel",[4408,19080,6223],{"class":4434},[4408,19082,16390],{"class":4981},[4408,19084,3646],{"class":4434},[4408,19086,17397],{"class":4981},[4408,19088,16927],{"class":4434},[4408,19090,4444],{"class":4422},[4408,19092,19093],{"class":4426}," · місць: ",[4408,19095,5130],{"class":4422},[4408,19097,16390],{"class":4981},[4408,19099,3646],{"class":4434},[4408,19101,17606],{"class":4981},[4408,19103,4641],{"class":4422},[4408,19105,19107,19109,19111],{"class":4410,"line":19106},261,[4408,19108,6198],{"class":4414},[4408,19110,5011],{"class":5088},[4408,19112,5091],{"class":4414},[4408,19114,19116,19118,19120,19122,19124,19126,19128,19130,19132,19134],{"class":4410,"line":19115},262,[4408,19117,5096],{"class":4414},[4408,19119,5011],{"class":5088},[4408,19121,6112],{"class":5123},[4408,19123,5127],{"class":4426},[4408,19125,5130],{"class":4422},[4408,19127,6226],{"class":4981},[4408,19129,3646],{"class":4434},[4408,19131,19063],{"class":4981},[4408,19133,4444],{"class":4422},[4408,19135,5091],{"class":4414},[4408,19137,19139,19142,19144,19146,19148,19151,19153,19156,19158,19161],{"class":4410,"line":19138},263,[4408,19140,19141],{"class":4426},"        Нагадування: ",[4408,19143,5130],{"class":4422},[4408,19145,16390],{"class":4981},[4408,19147,3646],{"class":4434},[4408,19149,19150],{"class":4981},"remindMe",[4408,19152,7189],{"class":4426},[4408,19154,19155],{"class":4438}," 'так'",[4408,19157,7195],{"class":4426},[4408,19159,19160],{"class":4438}," 'ні'",[4408,19162,4641],{"class":4422},[4408,19164,19166,19168,19170],{"class":4410,"line":19165},264,[4408,19167,6198],{"class":4414},[4408,19169,5011],{"class":5088},[4408,19171,5091],{"class":4414},[4408,19173,19175,19177,19179,19181,19183,19185],{"class":4410,"line":19174},265,[4408,19176,12648],{"class":4422},[4408,19178,16390],{"class":4981},[4408,19180,3646],{"class":4434},[4408,19182,3715],{"class":4981},[4408,19184,7189],{"class":4426},[4408,19186,5080],{"class":4434},[4408,19188,19190,19192,19194,19196,19198,19200,19202,19204,19206,19208,19210,19212,19214,19216,19218,19220,19222,19224,19226,19228,19230,19232,19234],{"class":4410,"line":19189},266,[4408,19191,7808],{"class":4414},[4408,19193,5011],{"class":5088},[4408,19195,6112],{"class":5123},[4408,19197,5127],{"class":4426},[4408,19199,5130],{"class":4422},[4408,19201,6223],{"class":4434},[4408,19203,6226],{"class":4981},[4408,19205,3646],{"class":4434},[4408,19207,6309],{"class":4981},[4408,19209,6233],{"class":4434},[4408,19211,8738],{"class":4981},[4408,19213,13731],{"class":6042},[4408,19215,6240],{"class":4434},[4408,19217,4444],{"class":4422},[4408,19219,5101],{"class":4414},[4408,19221,5130],{"class":4422},[4408,19223,16390],{"class":4981},[4408,19225,3646],{"class":4434},[4408,19227,3715],{"class":4981},[4408,19229,4444],{"class":4422},[4408,19231,5107],{"class":4414},[4408,19233,5011],{"class":5088},[4408,19235,5091],{"class":4414},[4408,19237,19239,19242,19244],{"class":4410,"line":19238},267,[4408,19240,19241],{"class":4434},"      ) ",[4408,19243,9473],{"class":4426},[4408,19245,14354],{"class":4422},[4408,19247,19249,19251,19253,19255,19257,19259,19261,19263,19265,19267,19269,19271,19274,19276,19278,19280,19282,19284,19287,19289],{"class":4410,"line":19248},268,[4408,19250,5096],{"class":4414},[4408,19252,3654],{"class":5088},[4408,19254,6112],{"class":5123},[4408,19256,5127],{"class":4426},[4408,19258,5130],{"class":4422},[4408,19260,6223],{"class":4434},[4408,19262,6226],{"class":4981},[4408,19264,3646],{"class":4434},[4408,19266,7102],{"class":4981},[4408,19268,6233],{"class":4434},[4408,19270,8738],{"class":4981},[4408,19272,19273],{"class":6042}," 24",[4408,19275,6240],{"class":4434},[4408,19277,4444],{"class":4422},[4408,19279,11613],{"class":5123},[4408,19281,5127],{"class":4426},[4408,19283,5130],{"class":4422},[4408,19285,19286],{"class":4981},"onAgain",[4408,19288,4444],{"class":4422},[4408,19290,5091],{"class":4414},[4408,19292,19294,19296,19298,19300,19302,19304,19306,19308,19310,19312,19314,19316,19318,19320],{"class":4410,"line":19293},269,[4408,19295,7808],{"class":4414},[4408,19297,5011],{"class":5088},[4408,19299,6112],{"class":5123},[4408,19301,5127],{"class":4426},[4408,19303,5130],{"class":4422},[4408,19305,6226],{"class":4981},[4408,19307,3646],{"class":4434},[4408,19309,7175],{"class":4981},[4408,19311,4444],{"class":4422},[4408,19313,5101],{"class":4414},[4408,19315,13893],{"class":4426},[4408,19317,5107],{"class":4414},[4408,19319,5011],{"class":5088},[4408,19321,5091],{"class":4414},[4408,19323,19325,19327,19329],{"class":4410,"line":19324},270,[4408,19326,6198],{"class":4414},[4408,19328,3654],{"class":5088},[4408,19330,5091],{"class":4414},[4408,19332,19334,19336,19338],{"class":4410,"line":19333},271,[4408,19335,5177],{"class":4414},[4408,19337,5006],{"class":5088},[4408,19339,5091],{"class":4414},[4408,19341,19343],{"class":4410,"line":19342},272,[4408,19344,5186],{"class":4426},[4408,19346,19348],{"class":4410,"line":19347},273,[4408,19349,4641],{"class":4426},[4408,19351,19353],{"class":4410,"line":19352},274,[4408,19354,4611],{"emptyLinePlaceholder":4610},[4408,19356,19358,19360,19362,19364,19366],{"class":4410,"line":19357},275,[4408,19359,5029],{"class":4974},[4408,19361,5787],{"class":4974},[4408,19363,5032],{"class":4422},[4408,19365,5792],{"class":4430},[4408,19367,5038],{"class":4426},[4408,19369,19371,19373,19375,19377,19379,19381,19383,19385,19387,19389,19392,19394,19397,19399],{"class":4410,"line":19370},276,[4408,19372,5043],{"class":4422},[4408,19374,5046],{"class":4426},[4408,19376,5577],{"class":5049},[4408,19378,3550],{"class":4426},[4408,19380,13408],{"class":5049},[4408,19382,5058],{"class":4426},[4408,19384,4390],{"class":4430},[4408,19386,4415],{"class":4426},[4408,19388,16164],{"class":5088},[4408,19390,19391],{"class":4426}," | ",[4408,19393,12730],{"class":5088},[4408,19395,19396],{"class":4426},">(",[4408,19398,12730],{"class":4422},[4408,19400,5068],{"class":4426},[4408,19402,19404],{"class":4410,"line":19403},277,[4408,19405,4611],{"emptyLinePlaceholder":4610},[4408,19407,19409,19411],{"class":4410,"line":19408},278,[4408,19410,5077],{"class":4974},[4408,19412,5080],{"class":4426},[4408,19414,19416,19418,19420],{"class":4410,"line":19415},279,[4408,19417,5085],{"class":4414},[4408,19419,15378],{"class":5088},[4408,19421,5091],{"class":4414},[4408,19423,19425,19427,19429,19431,19433,19435,19437,19439,19442,19444],{"class":4410,"line":19424},280,[4408,19426,5096],{"class":4414},[4408,19428,15648],{"class":5088},[4408,19430,6112],{"class":5123},[4408,19432,5127],{"class":4426},[4408,19434,5130],{"class":4422},[4408,19436,6226],{"class":4981},[4408,19438,3646],{"class":4434},[4408,19440,19441],{"class":4981},"safe",[4408,19443,4444],{"class":4422},[4408,19445,5091],{"class":4414},[4408,19447,19449,19451,19453,19455],{"class":4410,"line":19448},281,[4408,19450,10441],{"class":4422},[4408,19452,5577],{"class":4981},[4408,19454,7189],{"class":4426},[4408,19456,5080],{"class":4434},[4408,19458,19460,19462,19465,19468,19470,19472,19474,19476,19479,19481,19483,19485,19487,19490,19492,19494,19496,19498],{"class":4410,"line":19459},282,[4408,19461,8681],{"class":4414},[4408,19463,19464],{"class":5088},"SuccessScreen",[4408,19466,19467],{"class":5123}," data",[4408,19469,5127],{"class":4426},[4408,19471,5130],{"class":4422},[4408,19473,5577],{"class":4981},[4408,19475,4444],{"class":4422},[4408,19477,19478],{"class":5123}," onAgain",[4408,19480,5127],{"class":4426},[4408,19482,5130],{"class":4422},[4408,19484,7709],{"class":4434},[4408,19486,7089],{"class":4422},[4408,19488,19489],{"class":4430}," setDone",[4408,19491,4435],{"class":4434},[4408,19493,12730],{"class":4422},[4408,19495,4292],{"class":4434},[4408,19497,4444],{"class":4422},[4408,19499,4447],{"class":4414},[4408,19501,19503,19506,19508],{"class":4410,"line":19502},283,[4408,19504,19505],{"class":4434},"        ) ",[4408,19507,9473],{"class":4426},[4408,19509,5080],{"class":4434},[4408,19511,19513,19515,19518,19521,19523,19525,19527,19529,19531,19533,19535,19537,19539,19541,19543],{"class":4410,"line":19512},284,[4408,19514,8681],{"class":4414},[4408,19516,19517],{"class":5088},"SignupForm",[4408,19519,19520],{"class":5123}," onSuccess",[4408,19522,5127],{"class":4426},[4408,19524,5130],{"class":4422},[4408,19526,4435],{"class":4434},[4408,19528,16390],{"class":4981},[4408,19530,7723],{"class":4434},[4408,19532,7089],{"class":4422},[4408,19534,19489],{"class":4430},[4408,19536,4435],{"class":4434},[4408,19538,16390],{"class":4981},[4408,19540,4292],{"class":4434},[4408,19542,4444],{"class":4422},[4408,19544,4447],{"class":4414},[4408,19546,19548,19551],{"class":4410,"line":19547},285,[4408,19549,19550],{"class":4434},"        )",[4408,19552,4641],{"class":4422},[4408,19554,19556,19558,19560],{"class":4410,"line":19555},286,[4408,19557,6198],{"class":4414},[4408,19559,15648],{"class":5088},[4408,19561,5091],{"class":4414},[4408,19563,19565,19567,19569],{"class":4410,"line":19564},287,[4408,19566,5177],{"class":4414},[4408,19568,15378],{"class":5088},[4408,19570,5091],{"class":4414},[4408,19572,19574],{"class":4410,"line":19573},288,[4408,19575,5186],{"class":4426},[4408,19577,19579],{"class":4410,"line":19578},289,[4408,19580,4641],{"class":4426},[4408,19582,19584],{"class":4410,"line":19583},290,[4408,19585,4611],{"emptyLinePlaceholder":4610},[4408,19587,19589,19591,19593,19595,19597,19599,19601],{"class":4410,"line":19588},291,[4408,19590,6770],{"class":4422},[4408,19592,6773],{"class":5049},[4408,19594,5804],{"class":4426},[4408,19596,6778],{"class":4981},[4408,19598,3646],{"class":4426},[4408,19600,6783],{"class":4430},[4408,19602,6786],{"class":4426},[4408,19604,19606,19609,19611,19613,19615,19617,19619,19622],{"class":4410,"line":19605},292,[4408,19607,19608],{"class":4981},"  safe:",[4408,19610,4978],{"class":4426},[4408,19612,6039],{"class":4981},[4408,19614,6043],{"class":6042},[4408,19616,3550],{"class":4426},[4408,19618,6048],{"class":4981},[4408,19620,19621],{"class":4438}," '#F8FAFC'",[4408,19623,6727],{"class":4426},[4408,19625,19627,19630,19632,19634,19636],{"class":4410,"line":19626},293,[4408,19628,19629],{"class":4981},"  flex:",[4408,19631,4978],{"class":4426},[4408,19633,6039],{"class":4981},[4408,19635,6043],{"class":6042},[4408,19637,6727],{"class":4426},[4408,19639,19641,19644,19646,19648,19650,19652,19654,19656,19658,19661,19664],{"class":4410,"line":19640},294,[4408,19642,19643],{"class":4981},"  form:",[4408,19645,4978],{"class":4426},[4408,19647,6070],{"class":4981},[4408,19649,6073],{"class":6042},[4408,19651,3550],{"class":4426},[4408,19653,6078],{"class":4981},[4408,19655,14984],{"class":6042},[4408,19657,3550],{"class":4426},[4408,19659,19660],{"class":4981},"paddingBottom:",[4408,19662,19663],{"class":6042}," 40",[4408,19665,6727],{"class":4426},[4408,19667,19669,19671],{"class":4410,"line":19668},295,[4408,19670,14928],{"class":4981},[4408,19672,5729],{"class":4426},[4408,19674,19676,19679,19681],{"class":4410,"line":19675},296,[4408,19677,19678],{"class":4981},"    flex:",[4408,19680,6043],{"class":6042},[4408,19682,5737],{"class":4426},[4408,19684,19686,19688,19690],{"class":4410,"line":19685},297,[4408,19687,8972],{"class":4981},[4408,19689,19273],{"class":6042},[4408,19691,5737],{"class":4426},[4408,19693,19695,19698,19700],{"class":4410,"line":19694},298,[4408,19696,19697],{"class":4981},"    justifyContent:",[4408,19699,7904],{"class":4438},[4408,19701,5737],{"class":4426},[4408,19703,19705,19707,19709],{"class":4410,"line":19704},299,[4408,19706,8954],{"class":4981},[4408,19708,7904],{"class":4438},[4408,19710,5737],{"class":4426},[4408,19712,19714],{"class":4410,"line":19713},300,[4408,19715,6891],{"class":4426},[4408,19717,19719,19721],{"class":4410,"line":19718},301,[4408,19720,11818],{"class":4981},[4408,19722,5729],{"class":4426},[4408,19724,19726,19728,19730],{"class":4410,"line":19725},302,[4408,19727,6870],{"class":4981},[4408,19729,19273],{"class":6042},[4408,19731,5737],{"class":4426},[4408,19733,19735,19738,19740],{"class":4410,"line":19734},303,[4408,19736,19737],{"class":4981},"    fontWeight:",[4408,19739,6131],{"class":4438},[4408,19741,5737],{"class":4426},[4408,19743,19745,19748,19751],{"class":4410,"line":19744},304,[4408,19746,19747],{"class":4981},"    color:",[4408,19749,19750],{"class":4438}," '#0F172A'",[4408,19752,5737],{"class":4426},[4408,19754,19756,19759,19761],{"class":4410,"line":19755},305,[4408,19757,19758],{"class":4981},"    marginBottom:",[4408,19760,8741],{"class":6042},[4408,19762,5737],{"class":4426},[4408,19764,19766],{"class":4410,"line":19765},306,[4408,19767,6891],{"class":4426},[4408,19769,19771,19774,19776,19778,19781,19783,19785,19787,19789,19792,19794],{"class":4410,"line":19770},307,[4408,19772,19773],{"class":4981},"  muted:",[4408,19775,4978],{"class":4426},[4408,19777,6121],{"class":4981},[4408,19779,19780],{"class":4438}," '#64748B'",[4408,19782,3550],{"class":4426},[4408,19784,6136],{"class":4981},[4408,19786,6180],{"class":6042},[4408,19788,3550],{"class":4426},[4408,19790,19791],{"class":4981},"marginBottom:",[4408,19793,13731],{"class":6042},[4408,19795,6727],{"class":4426},[4408,19797,19799,19801],{"class":4410,"line":19798},308,[4408,19800,6792],{"class":4981},[4408,19802,5729],{"class":4426},[4408,19804,19806,19809,19811],{"class":4410,"line":19805},309,[4408,19807,19808],{"class":4981},"    marginTop:",[4408,19810,14030],{"class":6042},[4408,19812,5737],{"class":4426},[4408,19814,19816,19818,19820],{"class":4410,"line":19815},310,[4408,19817,6870],{"class":4981},[4408,19819,6799],{"class":6042},[4408,19821,5737],{"class":4426},[4408,19823,19825,19827,19829],{"class":4410,"line":19824},311,[4408,19826,19737],{"class":4981},[4408,19828,6806],{"class":4438},[4408,19830,5737],{"class":4426},[4408,19832,19834,19836,19838],{"class":4410,"line":19833},312,[4408,19835,19747],{"class":4981},[4408,19837,19780],{"class":4438},[4408,19839,5737],{"class":4426},[4408,19841,19843,19846,19848],{"class":4410,"line":19842},313,[4408,19844,19845],{"class":4981},"    textTransform:",[4408,19847,6814],{"class":4438},[4408,19849,5737],{"class":4426},[4408,19851,19853],{"class":4410,"line":19852},314,[4408,19854,6891],{"class":4426},[4408,19856,19858,19860],{"class":4410,"line":19857},315,[4408,19859,6822],{"class":4981},[4408,19861,5729],{"class":4426},[4408,19863,19865,19867,19869],{"class":4410,"line":19864},316,[4408,19866,6830],{"class":4981},[4408,19868,6043],{"class":6042},[4408,19870,5737],{"class":4426},[4408,19872,19874,19877,19879],{"class":4410,"line":19873},317,[4408,19875,19876],{"class":4981},"    borderColor:",[4408,19878,18065],{"class":4438},[4408,19880,5737],{"class":4426},[4408,19882,19884,19887,19890],{"class":4410,"line":19883},318,[4408,19885,19886],{"class":4981},"    backgroundColor:",[4408,19888,19889],{"class":4438}," '#FFFFFF'",[4408,19891,5737],{"class":4426},[4408,19893,19895,19897,19899],{"class":4410,"line":19894},319,[4408,19896,6840],{"class":4981},[4408,19898,6799],{"class":6042},[4408,19900,5737],{"class":4426},[4408,19902,19904,19906,19908],{"class":4410,"line":19903},320,[4408,19905,6850],{"class":4981},[4408,19907,6081],{"class":6042},[4408,19909,5737],{"class":4426},[4408,19911,19913,19915,19917],{"class":4410,"line":19912},321,[4408,19914,6860],{"class":4981},[4408,19916,6799],{"class":6042},[4408,19918,5737],{"class":4426},[4408,19920,19922,19924,19926],{"class":4410,"line":19921},322,[4408,19923,6870],{"class":4981},[4408,19925,6073],{"class":6042},[4408,19927,5737],{"class":4426},[4408,19929,19931,19933,19935],{"class":4410,"line":19930},323,[4408,19932,6880],{"class":4981},[4408,19934,6883],{"class":6042},[4408,19936,5737],{"class":4426},[4408,19938,19940,19942,19944],{"class":4410,"line":19939},324,[4408,19941,19747],{"class":4981},[4408,19943,19750],{"class":4438},[4408,19945,5737],{"class":4426},[4408,19947,19949],{"class":4410,"line":19948},325,[4408,19950,6891],{"class":4426},[4408,19952,19954,19956,19958,19960,19963],{"class":4410,"line":19953},326,[4408,19955,6897],{"class":4981},[4408,19957,4978],{"class":4426},[4408,19959,6902],{"class":4981},[4408,19961,19962],{"class":6042}," 96",[4408,19964,6727],{"class":4426},[4408,19966,19968,19971,19973,19975,19978],{"class":4410,"line":19967},327,[4408,19969,19970],{"class":4981},"  inputErr:",[4408,19972,4978],{"class":4426},[4408,19974,6372],{"class":4981},[4408,19976,19977],{"class":4438}," '#DC2626'",[4408,19979,6727],{"class":4426},[4408,19981,19983,19985,19987,19989,19991,19993,19995,19997,19999,20001,20003],{"class":4410,"line":19982},328,[4408,19984,9508],{"class":4981},[4408,19986,4978],{"class":4426},[4408,19988,6121],{"class":4981},[4408,19990,19977],{"class":4438},[4408,19992,3550],{"class":4426},[4408,19994,6136],{"class":4981},[4408,19996,6180],{"class":6042},[4408,19998,3550],{"class":4426},[4408,20000,8738],{"class":4981},[4408,20002,8741],{"class":6042},[4408,20004,6727],{"class":4426},[4408,20006,20008,20011],{"class":4410,"line":20007},329,[4408,20009,20010],{"class":4981},"  pickerWrap:",[4408,20012,5729],{"class":4426},[4408,20014,20016,20018,20020],{"class":4410,"line":20015},330,[4408,20017,6830],{"class":4981},[4408,20019,6043],{"class":6042},[4408,20021,5737],{"class":4426},[4408,20023,20025,20027,20029],{"class":4410,"line":20024},331,[4408,20026,19876],{"class":4981},[4408,20028,18065],{"class":4438},[4408,20030,5737],{"class":4426},[4408,20032,20034,20036,20038],{"class":4410,"line":20033},332,[4408,20035,6840],{"class":4981},[4408,20037,6799],{"class":6042},[4408,20039,5737],{"class":4426},[4408,20041,20043,20045,20047],{"class":4410,"line":20042},333,[4408,20044,19886],{"class":4981},[4408,20046,19889],{"class":4438},[4408,20048,5737],{"class":4426},[4408,20050,20052,20055,20058],{"class":4410,"line":20051},334,[4408,20053,20054],{"class":4981},"    overflow:",[4408,20056,20057],{"class":4438}," 'hidden'",[4408,20059,5737],{"class":4426},[4408,20061,20063],{"class":4410,"line":20062},335,[4408,20064,6891],{"class":4426},[4408,20066,20068,20070],{"class":4410,"line":20067},336,[4408,20069,8938],{"class":4981},[4408,20071,5729],{"class":4426},[4408,20073,20075,20077,20079],{"class":4410,"line":20074},337,[4408,20076,8945],{"class":4981},[4408,20078,8125],{"class":4438},[4408,20080,5737],{"class":4426},[4408,20082,20084,20086,20088],{"class":4410,"line":20083},338,[4408,20085,8954],{"class":4981},[4408,20087,7904],{"class":4438},[4408,20089,5737],{"class":4426},[4408,20091,20093,20095,20097],{"class":4410,"line":20092},339,[4408,20094,8963],{"class":4981},[4408,20096,6799],{"class":6042},[4408,20098,5737],{"class":4426},[4408,20100,20102,20104,20106],{"class":4410,"line":20101},340,[4408,20103,19808],{"class":4981},[4408,20105,6799],{"class":6042},[4408,20107,5737],{"class":4426},[4408,20109,20111],{"class":4410,"line":20110},341,[4408,20112,6891],{"class":4426},[4408,20114,20116,20119,20121,20123,20125,20127,20129,20132],{"class":4410,"line":20115},342,[4408,20117,20118],{"class":4981},"  rowText:",[4408,20120,4978],{"class":4426},[4408,20122,6039],{"class":4981},[4408,20124,6043],{"class":6042},[4408,20126,3550],{"class":4426},[4408,20128,6078],{"class":4981},[4408,20130,20131],{"class":6042}," 2",[4408,20133,6727],{"class":4426},[4408,20135,20137,20140,20142,20144,20146,20148,20150,20152],{"class":4410,"line":20136},343,[4408,20138,20139],{"class":4981},"  rowTitle:",[4408,20141,4978],{"class":4426},[4408,20143,6128],{"class":4981},[4408,20145,6806],{"class":4438},[4408,20147,3550],{"class":4426},[4408,20149,6121],{"class":4981},[4408,20151,19750],{"class":4438},[4408,20153,6727],{"class":4426},[4408,20155,20157,20159],{"class":4410,"line":20156},344,[4408,20158,7911],{"class":4981},[4408,20160,5729],{"class":4426},[4408,20162,20164,20166,20168],{"class":4410,"line":20163},345,[4408,20165,19808],{"class":4981},[4408,20167,7630],{"class":6042},[4408,20169,5737],{"class":4426},[4408,20171,20173,20175,20177],{"class":4410,"line":20172},346,[4408,20174,19886],{"class":4981},[4408,20176,18072],{"class":4438},[4408,20178,5737],{"class":4426},[4408,20180,20182,20184,20186],{"class":4410,"line":20181},347,[4408,20183,6860],{"class":4981},[4408,20185,6081],{"class":6042},[4408,20187,5737],{"class":4426},[4408,20189,20191,20193,20195],{"class":4410,"line":20190},348,[4408,20192,6840],{"class":4981},[4408,20194,6799],{"class":6042},[4408,20196,5737],{"class":4426},[4408,20198,20200,20202,20204],{"class":4410,"line":20199},349,[4408,20201,8954],{"class":4981},[4408,20203,7904],{"class":4438},[4408,20205,5737],{"class":4426},[4408,20207,20209],{"class":4410,"line":20208},350,[4408,20210,6891],{"class":4426},[4408,20212,20214,20216,20218,20220,20222,20224,20226,20228,20230,20232,20234],{"class":4410,"line":20213},351,[4408,20215,7939],{"class":4981},[4408,20217,4978],{"class":4426},[4408,20219,6121],{"class":4981},[4408,20221,19889],{"class":4438},[4408,20223,3550],{"class":4426},[4408,20225,6128],{"class":4981},[4408,20227,6131],{"class":4438},[4408,20229,3550],{"class":4426},[4408,20231,6136],{"class":4981},[4408,20233,6073],{"class":6042},[4408,20235,6727],{"class":4426},[4408,20237,20239,20242,20244,20246,20248,20250,20252,20254,20256,20258,20261],{"class":4410,"line":20238},352,[4408,20240,20241],{"class":4981},"  summary:",[4408,20243,4978],{"class":4426},[4408,20245,6121],{"class":4981},[4408,20247,19750],{"class":4438},[4408,20249,3550],{"class":4426},[4408,20251,8738],{"class":4981},[4408,20253,14984],{"class":6042},[4408,20255,3550],{"class":4426},[4408,20257,6128],{"class":4981},[4408,20259,20260],{"class":4438}," '600'",[4408,20262,6727],{"class":4426},[4408,20264,20266],{"class":4410,"line":20265},353,[4408,20267,6913],{"class":4426},[3997,20269,20271],{"id":20270},"крок-3-що-всередині-короткий-розбір","Крок 3. Що всередині (короткий розбір)",[15401,20273,20274,20278,20292,20295,20310,20313,20326,20330],{},[3997,20275,20277],{"id":20276},"схема","Схема",[3512,20279,20280,20282,20283,20286,20287,20289,20290,3646],{},[3540,20281,16468],{}," — одне місце правил. ",[3540,20284,20285],{},"acceptedRules: z.literal(true)"," вимагає галочку. ",[3540,20288,17397],{}," збігається з ",[3540,20291,3677],{},[3997,20293,11765],{"id":20294},"useform",[3512,20296,20297,3550,20300,20302,20303,20305,20306,3550,20308,3646],{},[3540,20298,20299],{},"resolver: zodResolver(signupSchema)",[3540,20301,9556],{}," (згода спочатку ",[3540,20304,5411],{},"), ",[3540,20307,5686],{},[3540,20309,11483],{},[3997,20311,3701],{"id":20312},"controller",[3512,20314,20315,20316,20318,20319,20321,20322,3918,20324,3646],{},"Кожне поле підключене явно: TextInput → ",[3540,20317,3645],{},"; Switch\u002FCheckbox\u002FSlider → ",[3540,20320,4803],{},"; Picker → ",[3540,20323,4841],{},[3540,20325,4803],{},[3997,20327,20329],{"id":20328},"два-екрани","Два екрани",[3512,20331,20332,20335,20336,4364,20338,3646],{},[3540,20333,20334],{},"done === null"," — форма; інакше — успіх. «Ще раз» скидає ",[3540,20337,5577],{},[3540,20339,12730],{},[3997,20341,20343],{"id":20342},"крок-4-ручна-перевірка","Крок 4. Ручна перевірка",[3572,20345,20346,20352,20355,20358,20361],{},[3575,20347,20348,20351],{},[3540,20349,20350],{},"npx expo start"," → Expo Go.",[3575,20353,20354],{},"Одразу «Зареєструватись» → помилки під полями.",[3575,20356,20357],{},"Коректні дані + галочка → екран успіху.",[3575,20359,20360],{},"«Ще раз» → порожня форма.",[3575,20362,20363],{},"Фокус у коментарі на малому екрані — кнопка доступна скролом.",[3997,20365,20367],{"id":20366},"критерій-готово","Критерій «готово»",[3774,20369,20372,20379,20390,20396,20402,20408],{"className":20370},[20371],"contains-task-list",[3575,20373,20376,20378],{"className":20374},[20375],"task-list-item",[4419,20377],{"disabled":4610,"type":4283}," Проєкт створено командами кроку 1",[3575,20380,20382,3634,20384,3600,20386,20389],{"className":20381},[20375],[4419,20383],{"disabled":4610,"type":4283},[3540,20385,15531],{},[3516,20387,20388],{},"повний"," код з collapsible (усі контроли)",[3575,20391,20393,20395],{"className":20392},[20375],[4419,20394],{"disabled":4610,"type":4283}," Порожній submit показує помилки під полями",[3575,20397,20399,20401],{"className":20398},[20375],[4419,20400],{"disabled":4610,"type":4283}," Без згоди немає екрана успіху",[3575,20403,20405,20407],{"className":20404},[20375],[4419,20406],{"disabled":4610,"type":4283}," Успіх + «Ще раз»",[3575,20409,20411,20413,20414],{"className":20410},[20375],[4419,20412],{"disabled":4610,"type":4283}," KAV + ScrollView + ",[3540,20415,3692],{},[3715,20417,20418,20421,20422,4364,20424,20426],{},[3516,20419,20420],{},"Zod 3 vs 4."," У прикладі синтаксис ближчий до Zod 4 (",[3540,20423,16342],{},[3540,20425,9496],{},"). На Zod 3 підставте API повідомлень з docs вашої major-версії — ідея схеми та сама.",[3806,20428],{},[3507,20430,20432],{"id":20431},"nomad-форма-створення-поїздки","Nomad: форма створення поїздки",[3512,20434,20435],{},[3930,20436],{"alt":20437,"className":20438,"src":20439},"Потік: Home → форма → валідація → addTrip → список",[3934],"\u002Fimages\u002Freact-native\u002Fforms-input-validation\u002F06.svg",[3997,20441,20443],{"id":20442},"навіщо-користувачу","Навіщо користувачу",[3512,20445,20446,20447,20450,20451,20454,20455,3646],{},"До цієї статті кнопка «Нова поїздка» або нічого не робила, або лише логувала в консоль. Тепер вона ",[3516,20448,20449],{},"відкриває екран форми",". Людина заповнює назву, регіон зі списку, дати, опис, тривалість повзунком, за бажанням позначає «приватна» \u002F «є план», підтверджує локальне збереження — і після успіху ",[3516,20452,20453],{},"повертається"," на стрічку, де нова картка лежить ",[3516,20456,20457],{},"зверху",[3512,20459,20460,20461,3646],{},"На картці видно не лише title: мітки «приватна», «є план», орієнтовну кількість днів — щоб було видно, що boolean\u002Fslider реально потрапили в модель ",[3540,20462,11014],{},[3997,20464,20466],{"id":20465},"нитка-проєкту","Нитка проєкту",[3512,20468,20469],{},[3516,20470,20471],{},"Уже є з попередніх статей (і це не зникає):",[3774,20473,20474,20480,20491,20494,20497],{},[3575,20475,20476,20479],{},[3540,20477,20478],{},"ThemeProvider",", чіпи light\u002Fdark\u002Fsystem;",[3575,20481,20482,3550,20485,20488,20489,10055],{},[3540,20483,20484],{},"Screen",[3540,20486,20487],{},"AppText",", shared ",[3540,20490,3660],{},[3575,20492,20493],{},"домашня стрічка на FlashList + горизонтальні місця;",[3575,20495,20496],{},"pull-to-refresh, sticky CTA «Нова поїздка»;",[3575,20498,20499],{},"mock-поїздки й mock-місця.",[3512,20501,20502],{},[3516,20503,20504],{},"Що з’являється саме в цій статті:",[3833,20506,20507,20517],{},[3836,20508,20509],{},[3839,20510,20511,20514],{},[3842,20512,20513],{},"Шматок",[3842,20515,20516],{},"Роль",[3849,20518,20519,20527,20537,20549,20562,20571,20581],{},[3839,20520,20521,20524],{},[3854,20522,20523],{},"Пакети RHF, Zod, picker, slider, checkbox, datetimepicker",[3854,20525,20526],{},"залежності форми",[3839,20528,20529,20534],{},[3854,20530,20531],{},[3540,20532,20533],{},"createTripSchema",[3854,20535,20536],{},"правила Zod",[3839,20538,20539,20546],{},[3854,20540,20541,3918,20543],{},[3540,20542,11426],{},[3540,20544,20545],{},"useTrips",[3854,20547,20548],{},"спільний список між home і формою",[3839,20550,20551,20559],{},[3854,20552,20553,3550,20555,3550,20557],{},[3540,20554,5248],{},[3540,20556,12740],{},[3540,20558,10957],{},[3854,20560,20561],{},"UI-обгортки контролів",[3839,20563,20564,20568],{},[3854,20565,20566],{},[3540,20567,11302],{},[3854,20569,20570],{},"уся форма + Controller",[3839,20572,20573,20578],{},[3854,20574,20575],{},[3540,20576,20577],{},"app\u002Fcreate-trip.tsx",[3854,20579,20580],{},"екран-маршрут",[3839,20582,20583,20588],{},[3854,20584,20585,20586],{},"розширення типу ",[3540,20587,11014],{},[3854,20589,20590,3550,20592,3550,20594],{},[3540,20591,8080],{},[3540,20593,10085],{},[3540,20595,9572],{},[3512,20597,20598,20599,3588,20602,20604,20605,20608,20609,20612],{},"Стан поїздок піднято в ",[3516,20600,20601],{},"Context",[3540,20603,11426],{},"), бо форма на ",[3516,20606,20607],{},"іншому екрані",", ніж список. Без спільного стейту ",[3540,20610,20611],{},"router.back()"," не знав би, куди ділась щойно створена поїздка. Пізніше в курсі Context замінять \u002F доповнять RTK — ідея «одне джерело списку» лишиться.",[3741,20614,20615,3634,20618,3558,20621,20623,20624,20627,20628,20630,20631,3646],{},[3516,20616,20617],{},"Навігація навмисно тонка.",[3540,20619,20620],{},"router.push('\u002Fcreate-trip')",[3540,20622,20611],{}," — мінімум Expo Router, щоб форма жила на окремому екрані. Як влаштовані layouts, tabs, typed routes — ",[3516,20625,20626],{},"наступні статті"," модуля навігації. Зараз достатньо: файл ",[3540,20629,20577],{}," ↔ адреса ",[3540,20632,20633],{},"\u002Fcreate-trip",[3997,20635,9685],{"id":20636},"встановлення-2",[4399,20638,20640],{"className":9054,"code":20639,"language":9056,"meta":4404,"style":4404},"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",[3540,20641,20642,20649,20667],{"__ignoreMap":4404},[4408,20643,20644,20646],{"class":4410,"line":4411},[4408,20645,15432],{"class":4430},[4408,20647,20648],{"class":4438}," \u002Fpath\u002Fto\u002Fnomad\n",[4408,20650,20651,20653,20655,20657,20660,20663,20665],{"class":4410,"line":4595},[4408,20652,9063],{"class":4430},[4408,20654,9066],{"class":4438},[4408,20656,9069],{"class":4438},[4408,20658,20659],{"class":4438}," @react-native-community\u002Fdatetimepicker",[4408,20661,20662],{"class":4438}," @react-native-picker\u002Fpicker",[4408,20664,15458],{"class":4438},[4408,20666,9072],{"class":4438},[4408,20668,20669,20671,20673,20675,20677],{"class":4410,"line":4601},[4408,20670,15468],{"class":4430},[4408,20672,9069],{"class":4438},[4408,20674,15473],{"class":4438},[4408,20676,15476],{"class":4438},[4408,20678,15479],{"class":4438},[3997,20680,20682],{"id":20681},"повний-знімок-проєкту","Повний знімок проєкту",[20684,20685,20687,21067,21356,21457,21766,24729,25451,25693,26002,26556,27146,27726,28557,29129,33352,35527,36377,38008,38738,39100,39483,40374,40514,41109,41826,42124,43045],"code-tree",{"title":20686},"Nomad після форми створення поїздки (усі контроли)",[4399,20688,20693],{"className":20689,"code":20690,"filename":20691,"language":20692,"meta":4404,"style":4404},"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",[3540,20694,20695,20700,20713,20725,20737,20745,20757,20769,20781,20791,20795,20802,20814,20826,20838,20850,20862,20874,20886,20898,20910,20922,20934,20946,20958,20970,20982,20994,21004,21008,21015,21027,21039,21049,21053,21063],{"__ignoreMap":4404},[4408,20696,20697],{"class":4410,"line":4411},[4408,20698,20699],{"class":4426},"{\n",[4408,20701,20702,20706,20708,20711],{"class":4410,"line":4595},[4408,20703,20705],{"class":20704},"sLwNe","  \"name\"",[4408,20707,4145],{"class":4426},[4408,20709,20710],{"class":4438},"\"nomad\"",[4408,20712,5737],{"class":4426},[4408,20714,20715,20718,20720,20723],{"class":4410,"line":4601},[4408,20716,20717],{"class":20704},"  \"version\"",[4408,20719,4145],{"class":4426},[4408,20721,20722],{"class":4438},"\"1.0.0\"",[4408,20724,5737],{"class":4426},[4408,20726,20727,20730,20732,20735],{"class":4410,"line":4607},[4408,20728,20729],{"class":20704},"  \"main\"",[4408,20731,4145],{"class":4426},[4408,20733,20734],{"class":4438},"\"expo-router\u002Fentry\"",[4408,20736,5737],{"class":4426},[4408,20738,20739,20742],{"class":4410,"line":4614},[4408,20740,20741],{"class":20704},"  \"scripts\"",[4408,20743,20744],{"class":4426},": {\n",[4408,20746,20747,20750,20752,20755],{"class":4410,"line":4620},[4408,20748,20749],{"class":20704},"    \"start\"",[4408,20751,4145],{"class":4426},[4408,20753,20754],{"class":4438},"\"expo start\"",[4408,20756,5737],{"class":4426},[4408,20758,20759,20762,20764,20767],{"class":4410,"line":4626},[4408,20760,20761],{"class":20704},"    \"android\"",[4408,20763,4145],{"class":4426},[4408,20765,20766],{"class":4438},"\"expo start --android\"",[4408,20768,5737],{"class":4426},[4408,20770,20771,20774,20776,20779],{"class":4410,"line":4632},[4408,20772,20773],{"class":20704},"    \"ios\"",[4408,20775,4145],{"class":4426},[4408,20777,20778],{"class":4438},"\"expo start --ios\"",[4408,20780,5737],{"class":4426},[4408,20782,20783,20786,20788],{"class":4410,"line":4638},[4408,20784,20785],{"class":20704},"    \"web\"",[4408,20787,4145],{"class":4426},[4408,20789,20790],{"class":4438},"\"expo start --web\"\n",[4408,20792,20793],{"class":4410,"line":4644},[4408,20794,6891],{"class":4426},[4408,20796,20797,20800],{"class":4410,"line":4649},[4408,20798,20799],{"class":20704},"  \"dependencies\"",[4408,20801,20744],{"class":4426},[4408,20803,20804,20807,20809,20812],{"class":4410,"line":4655},[4408,20805,20806],{"class":20704},"    \"@hookform\u002Fresolvers\"",[4408,20808,4145],{"class":4426},[4408,20810,20811],{"class":4438},"\"^5.7.1\"",[4408,20813,5737],{"class":4426},[4408,20815,20816,20819,20821,20824],{"class":4410,"line":4661},[4408,20817,20818],{"class":20704},"    \"@react-native-community\u002Fcheckbox\"",[4408,20820,4145],{"class":4426},[4408,20822,20823],{"class":4438},"\"^0.6.0\"",[4408,20825,5737],{"class":4426},[4408,20827,20828,20831,20833,20836],{"class":4410,"line":4667},[4408,20829,20830],{"class":20704},"    \"@react-native-community\u002Fdatetimepicker\"",[4408,20832,4145],{"class":4426},[4408,20834,20835],{"class":4438},"\"8.4.4\"",[4408,20837,5737],{"class":4426},[4408,20839,20840,20843,20845,20848],{"class":4410,"line":4672},[4408,20841,20842],{"class":20704},"    \"@react-native-community\u002Fslider\"",[4408,20844,4145],{"class":4426},[4408,20846,20847],{"class":4438},"\"5.0.1\"",[4408,20849,5737],{"class":4426},[4408,20851,20852,20855,20857,20860],{"class":4410,"line":4677},[4408,20853,20854],{"class":20704},"    \"@react-native-picker\u002Fpicker\"",[4408,20856,4145],{"class":4426},[4408,20858,20859],{"class":4438},"\"2.11.1\"",[4408,20861,5737],{"class":4426},[4408,20863,20864,20867,20869,20872],{"class":4410,"line":4683},[4408,20865,20866],{"class":20704},"    \"@shopify\u002Fflash-list\"",[4408,20868,4145],{"class":4426},[4408,20870,20871],{"class":4438},"\"^2.3.2\"",[4408,20873,5737],{"class":4426},[4408,20875,20876,20879,20881,20884],{"class":4410,"line":4689},[4408,20877,20878],{"class":20704},"    \"expo\"",[4408,20880,4145],{"class":4426},[4408,20882,20883],{"class":4438},"\"~54.0.35\"",[4408,20885,5737],{"class":4426},[4408,20887,20888,20891,20893,20896],{"class":4410,"line":4695},[4408,20889,20890],{"class":20704},"    \"expo-constants\"",[4408,20892,4145],{"class":4426},[4408,20894,20895],{"class":4438},"\"~18.0.13\"",[4408,20897,5737],{"class":4426},[4408,20899,20900,20903,20905,20908],{"class":4410,"line":4700},[4408,20901,20902],{"class":20704},"    \"expo-linking\"",[4408,20904,4145],{"class":4426},[4408,20906,20907],{"class":4438},"\"~8.0.12\"",[4408,20909,5737],{"class":4426},[4408,20911,20912,20915,20917,20920],{"class":4410,"line":4706},[4408,20913,20914],{"class":20704},"    \"expo-router\"",[4408,20916,4145],{"class":4426},[4408,20918,20919],{"class":4438},"\"~6.0.24\"",[4408,20921,5737],{"class":4426},[4408,20923,20924,20927,20929,20932],{"class":4410,"line":4712},[4408,20925,20926],{"class":20704},"    \"expo-status-bar\"",[4408,20928,4145],{"class":4426},[4408,20930,20931],{"class":4438},"\"~3.0.9\"",[4408,20933,5737],{"class":4426},[4408,20935,20936,20939,20941,20944],{"class":4410,"line":4717},[4408,20937,20938],{"class":20704},"    \"react\"",[4408,20940,4145],{"class":4426},[4408,20942,20943],{"class":4438},"\"19.1.0\"",[4408,20945,5737],{"class":4426},[4408,20947,20948,20951,20953,20956],{"class":4410,"line":4722},[4408,20949,20950],{"class":20704},"    \"react-hook-form\"",[4408,20952,4145],{"class":4426},[4408,20954,20955],{"class":4438},"\"^7.84.0\"",[4408,20957,5737],{"class":4426},[4408,20959,20960,20963,20965,20968],{"class":4410,"line":6058},[4408,20961,20962],{"class":20704},"    \"react-native\"",[4408,20964,4145],{"class":4426},[4408,20966,20967],{"class":4438},"\"0.81.5\"",[4408,20969,5737],{"class":4426},[4408,20971,20972,20975,20977,20980],{"class":4410,"line":6088},[4408,20973,20974],{"class":20704},"    \"react-native-safe-area-context\"",[4408,20976,4145],{"class":4426},[4408,20978,20979],{"class":4438},"\"~5.6.0\"",[4408,20981,5737],{"class":4426},[4408,20983,20984,20987,20989,20992],{"class":4410,"line":6099},[4408,20985,20986],{"class":20704},"    \"react-native-screens\"",[4408,20988,4145],{"class":4426},[4408,20990,20991],{"class":4438},"\"~4.16.0\"",[4408,20993,5737],{"class":4426},[4408,20995,20996,20999,21001],{"class":4410,"line":6105},[4408,20997,20998],{"class":20704},"    \"zod\"",[4408,21000,4145],{"class":4426},[4408,21002,21003],{"class":4438},"\"^4.4.3\"\n",[4408,21005,21006],{"class":4410,"line":6157},[4408,21007,6891],{"class":4426},[4408,21009,21010,21013],{"class":4410,"line":6189},[4408,21011,21012],{"class":20704},"  \"devDependencies\"",[4408,21014,20744],{"class":4426},[4408,21016,21017,21020,21022,21025],{"class":4410,"line":6195},[4408,21018,21019],{"class":20704},"    \"@expo\u002Fngrok\"",[4408,21021,4145],{"class":4426},[4408,21023,21024],{"class":4438},"\"^4.1.3\"",[4408,21026,5737],{"class":4426},[4408,21028,21029,21032,21034,21037],{"class":4410,"line":6205},[4408,21030,21031],{"class":20704},"    \"@types\u002Freact\"",[4408,21033,4145],{"class":4426},[4408,21035,21036],{"class":4438},"\"~19.1.0\"",[4408,21038,5737],{"class":4426},[4408,21040,21041,21044,21046],{"class":4410,"line":6210},[4408,21042,21043],{"class":20704},"    \"typescript\"",[4408,21045,4145],{"class":4426},[4408,21047,21048],{"class":4438},"\"~5.9.2\"\n",[4408,21050,21051],{"class":4410,"line":6256},[4408,21052,6891],{"class":4426},[4408,21054,21055,21058,21060],{"class":4410,"line":6263},[4408,21056,21057],{"class":20704},"  \"private\"",[4408,21059,4145],{"class":4426},[4408,21061,21062],{"class":4422},"true\n",[4408,21064,21065],{"class":4410,"line":6276},[4408,21066,4641],{"class":4426},[4399,21068,21070],{"className":20689,"code":21069,"filename":4367,"language":20692,"meta":4404,"style":4404},"{\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",[3540,21071,21072,21076,21083,21095,21106,21117,21129,21141,21153,21164,21175,21182,21194,21206,21216,21220,21226,21235,21239,21245,21252,21264,21273,21278,21289,21299,21303,21309,21319,21323,21331,21338,21343,21348,21352],{"__ignoreMap":4404},[4408,21073,21074],{"class":4410,"line":4411},[4408,21075,20699],{"class":4426},[4408,21077,21078,21081],{"class":4410,"line":4595},[4408,21079,21080],{"class":20704},"  \"expo\"",[4408,21082,20744],{"class":4426},[4408,21084,21085,21088,21090,21093],{"class":4410,"line":4601},[4408,21086,21087],{"class":20704},"    \"name\"",[4408,21089,4145],{"class":4426},[4408,21091,21092],{"class":4438},"\"Nomad\"",[4408,21094,5737],{"class":4426},[4408,21096,21097,21100,21102,21104],{"class":4410,"line":4607},[4408,21098,21099],{"class":20704},"    \"slug\"",[4408,21101,4145],{"class":4426},[4408,21103,20710],{"class":4438},[4408,21105,5737],{"class":4426},[4408,21107,21108,21111,21113,21115],{"class":4410,"line":4614},[4408,21109,21110],{"class":20704},"    \"version\"",[4408,21112,4145],{"class":4426},[4408,21114,20722],{"class":4438},[4408,21116,5737],{"class":4426},[4408,21118,21119,21122,21124,21127],{"class":4410,"line":4620},[4408,21120,21121],{"class":20704},"    \"orientation\"",[4408,21123,4145],{"class":4426},[4408,21125,21126],{"class":4438},"\"portrait\"",[4408,21128,5737],{"class":4426},[4408,21130,21131,21134,21136,21139],{"class":4410,"line":4626},[4408,21132,21133],{"class":20704},"    \"icon\"",[4408,21135,4145],{"class":4426},[4408,21137,21138],{"class":4438},"\".\u002Fassets\u002Ficon.png\"",[4408,21140,5737],{"class":4426},[4408,21142,21143,21146,21148,21151],{"class":4410,"line":4632},[4408,21144,21145],{"class":20704},"    \"userInterfaceStyle\"",[4408,21147,4145],{"class":4426},[4408,21149,21150],{"class":4438},"\"light\"",[4408,21152,5737],{"class":4426},[4408,21154,21155,21158,21160,21162],{"class":4410,"line":4638},[4408,21156,21157],{"class":20704},"    \"scheme\"",[4408,21159,4145],{"class":4426},[4408,21161,20710],{"class":4438},[4408,21163,5737],{"class":4426},[4408,21165,21166,21169,21171,21173],{"class":4410,"line":4644},[4408,21167,21168],{"class":20704},"    \"newArchEnabled\"",[4408,21170,4145],{"class":4426},[4408,21172,5651],{"class":4422},[4408,21174,5737],{"class":4426},[4408,21176,21177,21180],{"class":4410,"line":4649},[4408,21178,21179],{"class":20704},"    \"splash\"",[4408,21181,20744],{"class":4426},[4408,21183,21184,21187,21189,21192],{"class":4410,"line":4655},[4408,21185,21186],{"class":20704},"      \"image\"",[4408,21188,4145],{"class":4426},[4408,21190,21191],{"class":4438},"\".\u002Fassets\u002Fsplash-icon.png\"",[4408,21193,5737],{"class":4426},[4408,21195,21196,21199,21201,21204],{"class":4410,"line":4661},[4408,21197,21198],{"class":20704},"      \"resizeMode\"",[4408,21200,4145],{"class":4426},[4408,21202,21203],{"class":4438},"\"contain\"",[4408,21205,5737],{"class":4426},[4408,21207,21208,21211,21213],{"class":4410,"line":4667},[4408,21209,21210],{"class":20704},"      \"backgroundColor\"",[4408,21212,4145],{"class":4426},[4408,21214,21215],{"class":4438},"\"#ffffff\"\n",[4408,21217,21218],{"class":4410,"line":4672},[4408,21219,16557],{"class":4426},[4408,21221,21222,21224],{"class":4410,"line":4677},[4408,21223,20773],{"class":20704},[4408,21225,20744],{"class":4426},[4408,21227,21228,21231,21233],{"class":4410,"line":4683},[4408,21229,21230],{"class":20704},"      \"supportsTablet\"",[4408,21232,4145],{"class":4426},[4408,21234,21062],{"class":4422},[4408,21236,21237],{"class":4410,"line":4689},[4408,21238,16557],{"class":4426},[4408,21240,21241,21243],{"class":4410,"line":4695},[4408,21242,20761],{"class":20704},[4408,21244,20744],{"class":4426},[4408,21246,21247,21250],{"class":4410,"line":4700},[4408,21248,21249],{"class":20704},"      \"adaptiveIcon\"",[4408,21251,20744],{"class":4426},[4408,21253,21254,21257,21259,21262],{"class":4410,"line":4706},[4408,21255,21256],{"class":20704},"        \"foregroundImage\"",[4408,21258,4145],{"class":4426},[4408,21260,21261],{"class":4438},"\".\u002Fassets\u002Fadaptive-icon.png\"",[4408,21263,5737],{"class":4426},[4408,21265,21266,21269,21271],{"class":4410,"line":4712},[4408,21267,21268],{"class":20704},"        \"backgroundColor\"",[4408,21270,4145],{"class":4426},[4408,21272,21215],{"class":4438},[4408,21274,21275],{"class":4410,"line":4717},[4408,21276,21277],{"class":4426},"      },\n",[4408,21279,21280,21283,21285,21287],{"class":4410,"line":4722},[4408,21281,21282],{"class":20704},"      \"edgeToEdgeEnabled\"",[4408,21284,4145],{"class":4426},[4408,21286,5651],{"class":4422},[4408,21288,5737],{"class":4426},[4408,21290,21291,21294,21296],{"class":4410,"line":6058},[4408,21292,21293],{"class":20704},"      \"predictiveBackGestureEnabled\"",[4408,21295,4145],{"class":4426},[4408,21297,21298],{"class":4422},"false\n",[4408,21300,21301],{"class":4410,"line":6088},[4408,21302,16557],{"class":4426},[4408,21304,21305,21307],{"class":4410,"line":6099},[4408,21306,20785],{"class":20704},[4408,21308,20744],{"class":4426},[4408,21310,21311,21314,21316],{"class":4410,"line":6105},[4408,21312,21313],{"class":20704},"      \"favicon\"",[4408,21315,4145],{"class":4426},[4408,21317,21318],{"class":4438},"\".\u002Fassets\u002Ffavicon.png\"\n",[4408,21320,21321],{"class":4410,"line":6157},[4408,21322,16557],{"class":4426},[4408,21324,21325,21328],{"class":4410,"line":6189},[4408,21326,21327],{"class":20704},"    \"plugins\"",[4408,21329,21330],{"class":4426},": [\n",[4408,21332,21333,21336],{"class":4410,"line":6195},[4408,21334,21335],{"class":4438},"      \"expo-router\"",[4408,21337,5737],{"class":4426},[4408,21339,21340],{"class":4410,"line":6205},[4408,21341,21342],{"class":4438},"      \"@react-native-community\u002Fdatetimepicker\"\n",[4408,21344,21345],{"class":4410,"line":6210},[4408,21346,21347],{"class":4426},"    ]\n",[4408,21349,21350],{"class":4410,"line":6256},[4408,21351,11673],{"class":4426},[4408,21353,21354],{"class":4410,"line":6263},[4408,21355,4641],{"class":4426},[4399,21357,21360],{"className":20689,"code":21358,"filename":21359,"language":20692,"meta":4404,"style":4404},"{\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",[3540,21361,21362,21366,21378,21385,21396,21403,21410,21415,21420,21425,21429,21436,21443,21448,21453],{"__ignoreMap":4404},[4408,21363,21364],{"class":4410,"line":4411},[4408,21365,20699],{"class":4426},[4408,21367,21368,21371,21373,21376],{"class":4410,"line":4595},[4408,21369,21370],{"class":20704},"  \"extends\"",[4408,21372,4145],{"class":4426},[4408,21374,21375],{"class":4438},"\"expo\u002Ftsconfig.base\"",[4408,21377,5737],{"class":4426},[4408,21379,21380,21383],{"class":4410,"line":4601},[4408,21381,21382],{"class":20704},"  \"compilerOptions\"",[4408,21384,20744],{"class":4426},[4408,21386,21387,21390,21392,21394],{"class":4410,"line":4607},[4408,21388,21389],{"class":20704},"    \"strict\"",[4408,21391,4145],{"class":4426},[4408,21393,5651],{"class":4422},[4408,21395,5737],{"class":4426},[4408,21397,21398,21401],{"class":4410,"line":4614},[4408,21399,21400],{"class":20704},"    \"paths\"",[4408,21402,20744],{"class":4426},[4408,21404,21405,21408],{"class":4410,"line":4620},[4408,21406,21407],{"class":20704},"      \"@\u002F*\"",[4408,21409,21330],{"class":4426},[4408,21411,21412],{"class":4410,"line":4626},[4408,21413,21414],{"class":4438},"        \".\u002Fsrc\u002F*\"\n",[4408,21416,21417],{"class":4410,"line":4632},[4408,21418,21419],{"class":4426},"      ]\n",[4408,21421,21422],{"class":4410,"line":4638},[4408,21423,21424],{"class":4426},"    }\n",[4408,21426,21427],{"class":4410,"line":4644},[4408,21428,6891],{"class":4426},[4408,21430,21431,21434],{"class":4410,"line":4649},[4408,21432,21433],{"class":20704},"  \"include\"",[4408,21435,21330],{"class":4426},[4408,21437,21438,21441],{"class":4410,"line":4655},[4408,21439,21440],{"class":4438},"    \"**\u002F*.ts\"",[4408,21442,5737],{"class":4426},[4408,21444,21445],{"class":4410,"line":4661},[4408,21446,21447],{"class":4438},"    \"**\u002F*.tsx\"\n",[4408,21449,21450],{"class":4410,"line":4667},[4408,21451,21452],{"class":4426},"  ]\n",[4408,21454,21455],{"class":4410,"line":4672},[4408,21456,4641],{"class":4426},[4399,21458,21461],{"className":4401,"code":21459,"filename":21460,"language":4403,"meta":4404,"style":4404},"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",[3540,21462,21463,21481,21499,21503,21520,21542,21546,21555,21577,21581,21587,21592,21624,21631,21642,21651,21670,21677,21681,21686,21690,21694,21698,21711,21717,21725,21733,21742,21750,21758,21762],{"__ignoreMap":4404},[4408,21464,21465,21467,21469,21472,21474,21476,21479],{"class":4410,"line":4411},[4408,21466,4975],{"class":4974},[4408,21468,4978],{"class":4426},[4408,21470,21471],{"class":4981},"Stack",[4408,21473,4984],{"class":4426},[4408,21475,4987],{"class":4974},[4408,21477,21478],{"class":4438}," 'expo-router'",[4408,21480,4993],{"class":4426},[4408,21482,21483,21485,21487,21490,21492,21494,21497],{"class":4410,"line":4595},[4408,21484,4975],{"class":4974},[4408,21486,4978],{"class":4426},[4408,21488,21489],{"class":4981},"StatusBar",[4408,21491,4984],{"class":4426},[4408,21493,4987],{"class":4974},[4408,21495,21496],{"class":4438}," 'expo-status-bar'",[4408,21498,4993],{"class":4426},[4408,21500,21501],{"class":4410,"line":4601},[4408,21502,4611],{"emptyLinePlaceholder":4610},[4408,21504,21505,21507,21509,21511,21513,21515,21518],{"class":4410,"line":4607},[4408,21506,4975],{"class":4974},[4408,21508,4978],{"class":4426},[4408,21510,11426],{"class":4981},[4408,21512,4984],{"class":4426},[4408,21514,4987],{"class":4974},[4408,21516,21517],{"class":4438}," '@\u002Ffeatures\u002Ftrips'",[4408,21519,4993],{"class":4426},[4408,21521,21522,21524,21526,21528,21530,21533,21535,21537,21540],{"class":4410,"line":4614},[4408,21523,4975],{"class":4974},[4408,21525,4978],{"class":4426},[4408,21527,20478],{"class":4981},[4408,21529,3550],{"class":4426},[4408,21531,21532],{"class":4981},"useTheme",[4408,21534,4984],{"class":4426},[4408,21536,4987],{"class":4974},[4408,21538,21539],{"class":4438}," '@\u002Fshared\u002Ftheme'",[4408,21541,4993],{"class":4426},[4408,21543,21544],{"class":4410,"line":4620},[4408,21545,4611],{"emptyLinePlaceholder":4610},[4408,21547,21548,21550,21553],{"class":4410,"line":4626},[4408,21549,12880],{"class":4422},[4408,21551,21552],{"class":4430}," RootNavigator",[4408,21554,5038],{"class":4426},[4408,21556,21557,21559,21561,21564,21566,21569,21572,21574],{"class":4410,"line":4632},[4408,21558,5043],{"class":4422},[4408,21560,4978],{"class":4426},[4408,21562,21563],{"class":5049},"colors",[4408,21565,3550],{"class":4426},[4408,21567,21568],{"class":5049},"scheme",[4408,21570,21571],{"class":4426}," } = ",[4408,21573,21532],{"class":4430},[4408,21575,21576],{"class":4426},"();\n",[4408,21578,21579],{"class":4410,"line":4638},[4408,21580,4611],{"emptyLinePlaceholder":4610},[4408,21582,21583,21585],{"class":4410,"line":4644},[4408,21584,5077],{"class":4974},[4408,21586,5080],{"class":4426},[4408,21588,21589],{"class":4410,"line":4649},[4408,21590,21591],{"class":4414},"    \u003C>\n",[4408,21593,21594,21596,21598,21600,21602,21604,21606,21608,21611,21613,21616,21618,21620,21622],{"class":4410,"line":4655},[4408,21595,5096],{"class":4414},[4408,21597,21489],{"class":5088},[4408,21599,6112],{"class":5123},[4408,21601,5127],{"class":4426},[4408,21603,5130],{"class":4422},[4408,21605,21568],{"class":4981},[4408,21607,13985],{"class":4426},[4408,21609,21610],{"class":4438}," 'dark'",[4408,21612,7189],{"class":4426},[4408,21614,21615],{"class":4438}," 'light'",[4408,21617,7195],{"class":4426},[4408,21619,21610],{"class":4438},[4408,21621,4444],{"class":4422},[4408,21623,4447],{"class":4414},[4408,21625,21626,21628],{"class":4410,"line":4661},[4408,21627,5096],{"class":4414},[4408,21629,21630],{"class":5088},"Stack\n",[4408,21632,21633,21636,21638,21640],{"class":4410,"line":4667},[4408,21634,21635],{"class":5123},"        screenOptions",[4408,21637,5127],{"class":4426},[4408,21639,5130],{"class":4422},[4408,21641,20699],{"class":4434},[4408,21643,21644,21647,21649],{"class":4410,"line":4672},[4408,21645,21646],{"class":4981},"          headerShown:",[4408,21648,16532],{"class":4422},[4408,21650,5737],{"class":4434},[4408,21652,21653,21656,21658,21660,21663,21665,21668],{"class":4410,"line":4677},[4408,21654,21655],{"class":4981},"          contentStyle:",[4408,21657,4978],{"class":4434},[4408,21659,6048],{"class":4981},[4408,21661,21662],{"class":4981}," colors",[4408,21664,3646],{"class":4434},[4408,21666,21667],{"class":4981},"background",[4408,21669,6727],{"class":4434},[4408,21671,21672,21675],{"class":4410,"line":4683},[4408,21673,21674],{"class":4434},"        }",[4408,21676,4641],{"class":4422},[4408,21678,21679],{"class":4410,"line":4689},[4408,21680,5172],{"class":4414},[4408,21682,21683],{"class":4410,"line":4695},[4408,21684,21685],{"class":4414},"    \u003C\u002F>\n",[4408,21687,21688],{"class":4410,"line":4700},[4408,21689,5186],{"class":4426},[4408,21691,21692],{"class":4410,"line":4706},[4408,21693,4641],{"class":4426},[4408,21695,21696],{"class":4410,"line":4712},[4408,21697,4611],{"emptyLinePlaceholder":4610},[4408,21699,21700,21702,21704,21706,21709],{"class":4410,"line":4717},[4408,21701,5029],{"class":4974},[4408,21703,5787],{"class":4974},[4408,21705,5032],{"class":4422},[4408,21707,21708],{"class":4430}," RootLayout",[4408,21710,5038],{"class":4426},[4408,21712,21713,21715],{"class":4410,"line":4722},[4408,21714,5077],{"class":4974},[4408,21716,5080],{"class":4426},[4408,21718,21719,21721,21723],{"class":4410,"line":6058},[4408,21720,5085],{"class":4414},[4408,21722,20478],{"class":5088},[4408,21724,5091],{"class":4414},[4408,21726,21727,21729,21731],{"class":4410,"line":6088},[4408,21728,5096],{"class":4414},[4408,21730,11426],{"class":5088},[4408,21732,5091],{"class":4414},[4408,21734,21735,21737,21740],{"class":4410,"line":6099},[4408,21736,7808],{"class":4414},[4408,21738,21739],{"class":5088},"RootNavigator",[4408,21741,4447],{"class":4414},[4408,21743,21744,21746,21748],{"class":4410,"line":6105},[4408,21745,6198],{"class":4414},[4408,21747,11426],{"class":5088},[4408,21749,5091],{"class":4414},[4408,21751,21752,21754,21756],{"class":4410,"line":6157},[4408,21753,5177],{"class":4414},[4408,21755,20478],{"class":5088},[4408,21757,5091],{"class":4414},[4408,21759,21760],{"class":4410,"line":6189},[4408,21761,5186],{"class":4426},[4408,21763,21764],{"class":4410,"line":6195},[4408,21765,4641],{"class":4426},[4399,21767,21770],{"className":4401,"code":21768,"filename":21769,"language":4403,"meta":4404,"style":4404},"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",[3540,21771,21772,21793,21799,21806,21812,21819,21825,21831,21841,21859,21876,21880,21886,21893,21900,21907,21914,21924,21933,21943,21966,21991,21995,22023,22042,22059,22076,22080,22084,22097,22110,22130,22163,22189,22213,22217,22243,22276,22281,22285,22311,22342,22346,22350,22368,22379,22384,22395,22402,22413,22423,22433,22437,22451,22473,22504,22509,22519,22523,22527,22560,22564,22574,22614,22634,22663,22696,22703,22708,22721,22746,22765,22796,22803,22812,22855,22874,22879,22887,22895,22899,22932,22940,22944,22948,22957,22964,22974,22986,22991,23004,23018,23031,23036,23043,23047,23078,23083,23091,23098,23108,23126,23143,23147,23152,23160,23168,23172,23176,23182,23204,23210,23220,23231,23236,23249,23262,23275,23289,23302,23307,23313,23317,23340,23375,23400,23408,23414,23423,23433,23446,23459,23468,23474,23478,23494,23529,23539,23547,23551,23598,23619,23644,23651,23657,23674,23702,23713,23725,23730,23756,23769,23774,23781,23791,23811,23838,23843,23849,23858,23889,23907,23912,23925,23933,23941,23946,23953,23961,23969,23973,23996,24003,24016,24030,24044,24058,24072,24083,24095,24107,24119,24125,24167,24176,24183,24196,24210,24227,24248,24252,24257,24266,24270,24278,24282,24288,24298,24309,24313,24325,24337,24349,24362,24375,24379,24385,24389,24396,24406,24420,24437,24443,24447,24455,24463,24467,24471,24475,24491,24497,24505,24509,24516,24525,24529,24536,24544,24554,24558,24565,24573,24581,24589,24597,24601,24608,24616,24620,24627,24635,24639,24646,24654,24662,24666,24673,24682,24686,24693,24701,24705,24712,24721,24725],{"__ignoreMap":4404},[4408,21773,21774,21776,21778,21781,21783,21785,21787,21789,21791],{"class":4410,"line":4411},[4408,21775,4975],{"class":4974},[4408,21777,4978],{"class":4426},[4408,21779,21780],{"class":4981},"useCallback",[4408,21782,3550],{"class":4426},[4408,21784,4390],{"class":4981},[4408,21786,4984],{"class":4426},[4408,21788,4987],{"class":4974},[4408,21790,4990],{"class":4438},[4408,21792,4993],{"class":4426},[4408,21794,21795,21797],{"class":4410,"line":4595},[4408,21796,4975],{"class":4974},[4408,21798,5729],{"class":4426},[4408,21800,21801,21804],{"class":4410,"line":4601},[4408,21802,21803],{"class":4981},"  FlatList",[4408,21805,5737],{"class":4426},[4408,21807,21808,21810],{"class":4410,"line":4607},[4408,21809,13026],{"class":4981},[4408,21811,5737],{"class":4426},[4408,21813,21814,21817],{"class":4410,"line":4614},[4408,21815,21816],{"class":4981},"  RefreshControl",[4408,21818,5737],{"class":4426},[4408,21820,21821,21823],{"class":4410,"line":4620},[4408,21822,5742],{"class":4981},[4408,21824,5737],{"class":4426},[4408,21826,21827,21829],{"class":4410,"line":4626},[4408,21828,13064],{"class":4981},[4408,21830,5737],{"class":4426},[4408,21832,21833,21835,21837,21839],{"class":4410,"line":4632},[4408,21834,5770],{"class":4426},[4408,21836,4987],{"class":4974},[4408,21838,5018],{"class":4438},[4408,21840,4993],{"class":4426},[4408,21842,21843,21845,21847,21850,21852,21854,21857],{"class":4410,"line":4638},[4408,21844,4975],{"class":4974},[4408,21846,4978],{"class":4426},[4408,21848,21849],{"class":4981},"FlashList",[4408,21851,4984],{"class":4426},[4408,21853,4987],{"class":4974},[4408,21855,21856],{"class":4438}," '@shopify\u002Fflash-list'",[4408,21858,4993],{"class":4426},[4408,21860,21861,21863,21865,21868,21870,21872,21874],{"class":4410,"line":4644},[4408,21862,4975],{"class":4974},[4408,21864,4978],{"class":4426},[4408,21866,21867],{"class":4981},"useRouter",[4408,21869,4984],{"class":4426},[4408,21871,4987],{"class":4974},[4408,21873,21478],{"class":4438},[4408,21875,4993],{"class":4426},[4408,21877,21878],{"class":4410,"line":4649},[4408,21879,4611],{"emptyLinePlaceholder":4610},[4408,21881,21882,21884],{"class":4410,"line":4655},[4408,21883,4975],{"class":4974},[4408,21885,5729],{"class":4426},[4408,21887,21888,21891],{"class":4410,"line":4661},[4408,21889,21890],{"class":4981},"  mockPlaces",[4408,21892,5737],{"class":4426},[4408,21894,21895,21898],{"class":4410,"line":4667},[4408,21896,21897],{"class":4981},"  PlaceChip",[4408,21899,5737],{"class":4426},[4408,21901,21902,21905],{"class":4410,"line":4672},[4408,21903,21904],{"class":4981},"  TripCard",[4408,21906,5737],{"class":4426},[4408,21908,21909,21912],{"class":4410,"line":4677},[4408,21910,21911],{"class":4981},"  useTrips",[4408,21913,5737],{"class":4426},[4408,21915,21916,21919,21922],{"class":4410,"line":4683},[4408,21917,21918],{"class":4974},"  type",[4408,21920,21921],{"class":4981}," Place",[4408,21923,5737],{"class":4426},[4408,21925,21926,21928,21931],{"class":4410,"line":4689},[4408,21927,21918],{"class":4974},[4408,21929,21930],{"class":4981}," Trip",[4408,21932,5737],{"class":4426},[4408,21934,21935,21937,21939,21941],{"class":4410,"line":4695},[4408,21936,5770],{"class":4426},[4408,21938,4987],{"class":4974},[4408,21940,21517],{"class":4438},[4408,21942,4993],{"class":4426},[4408,21944,21945,21947,21949,21951,21953,21955,21958,21960,21962,21964],{"class":4410,"line":4700},[4408,21946,4975],{"class":4974},[4408,21948,4978],{"class":4426},[4408,21950,21532],{"class":4981},[4408,21952,3550],{"class":4426},[4408,21954,4065],{"class":4974},[4408,21956,21957],{"class":4981}," ThemePreference",[4408,21959,4984],{"class":4426},[4408,21961,4987],{"class":4974},[4408,21963,21539],{"class":4438},[4408,21965,4993],{"class":4426},[4408,21967,21968,21970,21972,21974,21976,21978,21980,21982,21984,21986,21989],{"class":4410,"line":4706},[4408,21969,4975],{"class":4974},[4408,21971,4978],{"class":4426},[4408,21973,20487],{"class":4981},[4408,21975,3550],{"class":4426},[4408,21977,3660],{"class":4981},[4408,21979,3550],{"class":4426},[4408,21981,20484],{"class":4981},[4408,21983,4984],{"class":4426},[4408,21985,4987],{"class":4974},[4408,21987,21988],{"class":4438}," '@\u002Fshared\u002Fui'",[4408,21990,4993],{"class":4426},[4408,21992,21993],{"class":4410,"line":4712},[4408,21994,4611],{"emptyLinePlaceholder":4610},[4408,21996,21997,21999,22002,22004,22007,22009,22012,22014,22016,22018,22020],{"class":4410,"line":4717},[4408,21998,6770],{"class":4422},[4408,22000,22001],{"class":5049}," PREFS",[4408,22003,12236],{"class":4426},[4408,22005,22006],{"class":4981},"id",[4408,22008,4145],{"class":4426},[4408,22010,22011],{"class":5088},"ThemePreference",[4408,22013,13106],{"class":4426},[4408,22015,5239],{"class":4981},[4408,22017,4145],{"class":4426},[4408,22019,5263],{"class":5088},[4408,22021,22022],{"class":4426}," }[] = [\n",[4408,22024,22025,22027,22030,22033,22035,22037,22040],{"class":4410,"line":4722},[4408,22026,15771],{"class":4426},[4408,22028,22029],{"class":4981},"id:",[4408,22031,22032],{"class":4438}," 'system'",[4408,22034,3550],{"class":4426},[4408,22036,15787],{"class":4981},[4408,22038,22039],{"class":4438}," 'Система'",[4408,22041,6727],{"class":4426},[4408,22043,22044,22046,22048,22050,22052,22054,22057],{"class":4410,"line":6058},[4408,22045,15771],{"class":4426},[4408,22047,22029],{"class":4981},[4408,22049,21615],{"class":4438},[4408,22051,3550],{"class":4426},[4408,22053,15787],{"class":4981},[4408,22055,22056],{"class":4438}," 'Світла'",[4408,22058,6727],{"class":4426},[4408,22060,22061,22063,22065,22067,22069,22071,22074],{"class":4410,"line":6088},[4408,22062,15771],{"class":4426},[4408,22064,22029],{"class":4981},[4408,22066,21610],{"class":4438},[4408,22068,3550],{"class":4426},[4408,22070,15787],{"class":4981},[4408,22072,22073],{"class":4438}," 'Темна'",[4408,22075,6727],{"class":4426},[4408,22077,22078],{"class":4410,"line":6099},[4408,22079,15841],{"class":4426},[4408,22081,22082],{"class":4410,"line":6105},[4408,22083,4611],{"emptyLinePlaceholder":4610},[4408,22085,22086,22088,22090,22092,22095],{"class":4410,"line":6157},[4408,22087,5029],{"class":4974},[4408,22089,5787],{"class":4974},[4408,22091,5032],{"class":4422},[4408,22093,22094],{"class":4430}," HomeScreen",[4408,22096,5038],{"class":4426},[4408,22098,22099,22101,22104,22106,22108],{"class":4410,"line":6189},[4408,22100,5043],{"class":4422},[4408,22102,22103],{"class":5049}," router",[4408,22105,5804],{"class":4426},[4408,22107,21867],{"class":4430},[4408,22109,21576],{"class":4426},[4408,22111,22112,22114,22116,22119,22121,22124,22126,22128],{"class":4410,"line":6195},[4408,22113,5043],{"class":4422},[4408,22115,4978],{"class":4426},[4408,22117,22118],{"class":5049},"trips",[4408,22120,3550],{"class":4426},[4408,22122,22123],{"class":5049},"resetToMock",[4408,22125,21571],{"class":4426},[4408,22127,20545],{"class":4430},[4408,22129,21576],{"class":4426},[4408,22131,22132,22134,22136,22138,22140,22143,22145,22148,22150,22153,22155,22157,22159,22161],{"class":4410,"line":6205},[4408,22133,5043],{"class":4422},[4408,22135,4978],{"class":4426},[4408,22137,21563],{"class":5049},[4408,22139,3550],{"class":4426},[4408,22141,22142],{"class":5049},"spacing",[4408,22144,3550],{"class":4426},[4408,22146,22147],{"class":5049},"preference",[4408,22149,3550],{"class":4426},[4408,22151,22152],{"class":5049},"setPreference",[4408,22154,3550],{"class":4426},[4408,22156,21568],{"class":5049},[4408,22158,21571],{"class":4426},[4408,22160,21532],{"class":4430},[4408,22162,21576],{"class":4426},[4408,22164,22165,22167,22169,22172,22174,22176,22178,22181,22184,22187],{"class":4410,"line":6210},[4408,22166,5043],{"class":4422},[4408,22168,5046],{"class":4426},[4408,22170,22171],{"class":5049},"places",[4408,22173,5058],{"class":4426},[4408,22175,4390],{"class":4430},[4408,22177,4415],{"class":4426},[4408,22179,22180],{"class":5088},"Place",[4408,22182,22183],{"class":4426},"[]>(",[4408,22185,22186],{"class":4981},"mockPlaces",[4408,22188,5068],{"class":4426},[4408,22190,22191,22193,22195,22198,22200,22203,22205,22207,22209,22211],{"class":4410,"line":6256},[4408,22192,5043],{"class":4422},[4408,22194,5046],{"class":4426},[4408,22196,22197],{"class":5049},"refreshing",[4408,22199,3550],{"class":4426},[4408,22201,22202],{"class":5049},"setRefreshing",[4408,22204,5058],{"class":4426},[4408,22206,4390],{"class":4430},[4408,22208,4435],{"class":4426},[4408,22210,5411],{"class":4422},[4408,22212,5068],{"class":4426},[4408,22214,22215],{"class":4410,"line":6263},[4408,22216,4611],{"emptyLinePlaceholder":4610},[4408,22218,22219,22221,22224,22226,22228,22230,22233,22235,22237,22239,22241],{"class":4410,"line":6276},[4408,22220,5043],{"class":4422},[4408,22222,22223],{"class":5049}," handleOpenTrip",[4408,22225,5804],{"class":4426},[4408,22227,21780],{"class":4430},[4408,22229,7717],{"class":4426},[4408,22231,22232],{"class":4981},"trip",[4408,22234,4145],{"class":4426},[4408,22236,11014],{"class":5088},[4408,22238,7723],{"class":4426},[4408,22240,7089],{"class":4422},[4408,22242,5729],{"class":4426},[4408,22244,22245,22248,22250,22253,22255,22258,22260,22262,22264,22266,22268,22270,22272,22274],{"class":4410,"line":6289},[4408,22246,22247],{"class":4981},"    console",[4408,22249,3646],{"class":4426},[4408,22251,22252],{"class":4430},"log",[4408,22254,4435],{"class":4426},[4408,22256,22257],{"class":4438},"'TODO: відкрити поїздку'",[4408,22259,3550],{"class":4426},[4408,22261,22232],{"class":4981},[4408,22263,3646],{"class":4426},[4408,22265,22006],{"class":4981},[4408,22267,3550],{"class":4426},[4408,22269,22232],{"class":4981},[4408,22271,3646],{"class":4426},[4408,22273,7303],{"class":4981},[4408,22275,5068],{"class":4426},[4408,22277,22278],{"class":4410,"line":6299},[4408,22279,22280],{"class":4426},"  }, []);\n",[4408,22282,22283],{"class":4410,"line":6314},[4408,22284,4611],{"emptyLinePlaceholder":4610},[4408,22286,22287,22289,22292,22294,22296,22298,22301,22303,22305,22307,22309],{"class":4410,"line":6325},[4408,22288,5043],{"class":4422},[4408,22290,22291],{"class":5049}," handleOpenPlace",[4408,22293,5804],{"class":4426},[4408,22295,21780],{"class":4430},[4408,22297,7717],{"class":4426},[4408,22299,22300],{"class":4981},"place",[4408,22302,4145],{"class":4426},[4408,22304,22180],{"class":5088},[4408,22306,7723],{"class":4426},[4408,22308,7089],{"class":4422},[4408,22310,5729],{"class":4426},[4408,22312,22313,22315,22317,22319,22321,22324,22326,22328,22330,22332,22334,22336,22338,22340],{"class":4410,"line":6335},[4408,22314,22247],{"class":4981},[4408,22316,3646],{"class":4426},[4408,22318,22252],{"class":4430},[4408,22320,4435],{"class":4426},[4408,22322,22323],{"class":4438},"'TODO: відкрити місце'",[4408,22325,3550],{"class":4426},[4408,22327,22300],{"class":4981},[4408,22329,3646],{"class":4426},[4408,22331,22006],{"class":4981},[4408,22333,3550],{"class":4426},[4408,22335,22300],{"class":4981},[4408,22337,3646],{"class":4426},[4408,22339,5050],{"class":4981},[4408,22341,5068],{"class":4426},[4408,22343,22344],{"class":4410,"line":6346},[4408,22345,22280],{"class":4426},[4408,22347,22348],{"class":4410,"line":6387},[4408,22349,4611],{"emptyLinePlaceholder":4610},[4408,22351,22352,22354,22357,22359,22361,22364,22366],{"class":4410,"line":6392},[4408,22353,5043],{"class":4422},[4408,22355,22356],{"class":5049}," onRefresh",[4408,22358,5804],{"class":4426},[4408,22360,21780],{"class":4430},[4408,22362,22363],{"class":4426},"(() ",[4408,22365,7089],{"class":4422},[4408,22367,5729],{"class":4426},[4408,22369,22370,22373,22375,22377],{"class":4410,"line":6397},[4408,22371,22372],{"class":4430},"    setRefreshing",[4408,22374,4435],{"class":4426},[4408,22376,5651],{"class":4422},[4408,22378,5068],{"class":4426},[4408,22380,22381],{"class":4410,"line":6439},[4408,22382,22383],{"class":11572},"    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n",[4408,22385,22386,22389,22391,22393],{"class":4410,"line":6446},[4408,22387,22388],{"class":4430},"    setTimeout",[4408,22390,22363],{"class":4426},[4408,22392,7089],{"class":4422},[4408,22394,5729],{"class":4426},[4408,22396,22397,22400],{"class":4410,"line":6459},[4408,22398,22399],{"class":4430},"      resetToMock",[4408,22401,21576],{"class":4426},[4408,22403,22404,22407,22409,22411],{"class":4410,"line":6472},[4408,22405,22406],{"class":4430},"      setRefreshing",[4408,22408,4435],{"class":4426},[4408,22410,5411],{"class":4422},[4408,22412,5068],{"class":4426},[4408,22414,22415,22418,22421],{"class":4410,"line":6482},[4408,22416,22417],{"class":4426},"    }, ",[4408,22419,22420],{"class":6042},"900",[4408,22422,5068],{"class":4426},[4408,22424,22425,22428,22430],{"class":4410,"line":6495},[4408,22426,22427],{"class":4426},"  }, [",[4408,22429,22123],{"class":4981},[4408,22431,22432],{"class":4426},"]);\n",[4408,22434,22435],{"class":4410,"line":6505},[4408,22436,4611],{"emptyLinePlaceholder":4610},[4408,22438,22439,22441,22444,22446,22448],{"class":4410,"line":6544},[4408,22440,5043],{"class":4422},[4408,22442,22443],{"class":5049}," renderTrip",[4408,22445,5804],{"class":4426},[4408,22447,21780],{"class":4430},[4408,22449,22450],{"class":4426},"(\n",[4408,22452,22453,22456,22459,22461,22463,22465,22467,22469,22471],{"class":4410,"line":6549},[4408,22454,22455],{"class":4426},"    ({ ",[4408,22457,22458],{"class":4981},"item",[4408,22460,16227],{"class":4426},[4408,22462,22458],{"class":4981},[4408,22464,4145],{"class":4426},[4408,22466,11014],{"class":5088},[4408,22468,7086],{"class":4426},[4408,22470,7089],{"class":4422},[4408,22472,5080],{"class":4426},[4408,22474,22475,22477,22480,22483,22485,22487,22489,22491,22493,22495,22497,22500,22502],{"class":4410,"line":6554},[4408,22476,5096],{"class":4414},[4408,22478,22479],{"class":5088},"TripCard",[4408,22481,22482],{"class":5123}," trip",[4408,22484,5127],{"class":4426},[4408,22486,5130],{"class":4422},[4408,22488,22458],{"class":4981},[4408,22490,4444],{"class":4422},[4408,22492,11613],{"class":5123},[4408,22494,5127],{"class":4426},[4408,22496,5130],{"class":4422},[4408,22498,22499],{"class":4981},"handleOpenTrip",[4408,22501,4444],{"class":4422},[4408,22503,4447],{"class":4414},[4408,22505,22506],{"class":4410,"line":6596},[4408,22507,22508],{"class":4426},"    ),\n",[4408,22510,22511,22514,22516],{"class":4410,"line":6603},[4408,22512,22513],{"class":4426},"    [",[4408,22515,22499],{"class":4981},[4408,22517,22518],{"class":4426},"],\n",[4408,22520,22521],{"class":4410,"line":6616},[4408,22522,5186],{"class":4426},[4408,22524,22525],{"class":4410,"line":6629},[4408,22526,4611],{"emptyLinePlaceholder":4610},[4408,22528,22529,22531,22534,22536,22538,22540,22542,22544,22546,22548,22550,22553,22555,22557],{"class":4410,"line":6639},[4408,22530,5043],{"class":4422},[4408,22532,22533],{"class":5049}," keyExtractor",[4408,22535,5804],{"class":4426},[4408,22537,21780],{"class":4430},[4408,22539,7717],{"class":4426},[4408,22541,22458],{"class":4981},[4408,22543,4145],{"class":4426},[4408,22545,11014],{"class":5088},[4408,22547,7723],{"class":4426},[4408,22549,7089],{"class":4422},[4408,22551,22552],{"class":4981}," item",[4408,22554,3646],{"class":4426},[4408,22556,22006],{"class":4981},[4408,22558,22559],{"class":4426},", []);\n",[4408,22561,22562],{"class":4410,"line":6652},[4408,22563,4611],{"emptyLinePlaceholder":4610},[4408,22565,22566,22568,22571],{"class":4410,"line":6658},[4408,22567,5043],{"class":4422},[4408,22569,22570],{"class":4430}," listHeader",[4408,22572,22573],{"class":4426}," = (\n",[4408,22575,22576,22578,22580,22582,22584,22586,22588,22590,22593,22595,22598,22600,22602,22604,22606,22608,22610,22612],{"class":4410,"line":6669},[4408,22577,5085],{"class":4414},[4408,22579,5006],{"class":5088},[4408,22581,6112],{"class":5123},[4408,22583,5127],{"class":4426},[4408,22585,5130],{"class":4422},[4408,22587,6036],{"class":4434},[4408,22589,6078],{"class":4981},[4408,22591,22592],{"class":4981}," spacing",[4408,22594,3646],{"class":4434},[4408,22596,22597],{"class":4981},"md",[4408,22599,3550],{"class":4434},[4408,22601,19791],{"class":4981},[4408,22603,22592],{"class":4981},[4408,22605,3646],{"class":4434},[4408,22607,22597],{"class":4981},[4408,22609,6053],{"class":4434},[4408,22611,4444],{"class":4422},[4408,22613,5091],{"class":4414},[4408,22615,22616,22618,22620,22622,22624,22627,22630,22632],{"class":4410,"line":6681},[4408,22617,12648],{"class":4422},[4408,22619,22171],{"class":4981},[4408,22621,3646],{"class":4434},[4408,22623,11640],{"class":4981},[4408,22625,22626],{"class":4426}," >",[4408,22628,22629],{"class":6042}," 0",[4408,22631,7189],{"class":4426},[4408,22633,5080],{"class":4434},[4408,22635,22636,22638,22640,22642,22644,22646,22648,22650,22652,22654,22657,22659,22661],{"class":4410,"line":6693},[4408,22637,7808],{"class":4414},[4408,22639,5006],{"class":5088},[4408,22641,6112],{"class":5123},[4408,22643,5127],{"class":4426},[4408,22645,5130],{"class":4422},[4408,22647,6036],{"class":4434},[4408,22649,6078],{"class":4981},[4408,22651,22592],{"class":4981},[4408,22653,3646],{"class":4434},[4408,22655,22656],{"class":4981},"sm",[4408,22658,6053],{"class":4434},[4408,22660,4444],{"class":4422},[4408,22662,5091],{"class":4414},[4408,22664,22665,22667,22669,22671,22673,22675,22677,22679,22681,22683,22685,22687,22690,22692,22694],{"class":4410,"line":6705},[4408,22666,8681],{"class":4414},[4408,22668,20487],{"class":5088},[4408,22670,6112],{"class":5123},[4408,22672,5127],{"class":4426},[4408,22674,5130],{"class":4422},[4408,22676,6036],{"class":4434},[4408,22678,6128],{"class":4981},[4408,22680,20260],{"class":4438},[4408,22682,6053],{"class":4434},[4408,22684,4444],{"class":4422},[4408,22686,5101],{"class":4414},[4408,22688,22689],{"class":4434},"Останні місця",[4408,22691,5107],{"class":4414},[4408,22693,20487],{"class":5088},[4408,22695,5091],{"class":4414},[4408,22697,22698,22700],{"class":4410,"line":6730},[4408,22699,8681],{"class":4414},[4408,22701,22702],{"class":5088},"FlatList\n",[4408,22704,22705],{"class":4410,"line":6738},[4408,22706,22707],{"class":5123},"            horizontal\n",[4408,22709,22710,22713,22715,22717,22719],{"class":4410,"line":6743},[4408,22711,22712],{"class":5123},"            data",[4408,22714,5127],{"class":4426},[4408,22716,5130],{"class":4422},[4408,22718,22171],{"class":4981},[4408,22720,4641],{"class":4422},[4408,22722,22723,22726,22728,22730,22732,22734,22736,22738,22740,22742,22744],{"class":4410,"line":6752},[4408,22724,22725],{"class":5123},"            keyExtractor",[4408,22727,5127],{"class":4426},[4408,22729,5130],{"class":4422},[4408,22731,4435],{"class":4434},[4408,22733,22458],{"class":4981},[4408,22735,7723],{"class":4434},[4408,22737,7089],{"class":4422},[4408,22739,22552],{"class":4981},[4408,22741,3646],{"class":4434},[4408,22743,22006],{"class":4981},[4408,22745,4641],{"class":4422},[4408,22747,22748,22751,22753,22755,22757,22759,22761,22763],{"class":4410,"line":6757},[4408,22749,22750],{"class":5123},"            renderItem",[4408,22752,5127],{"class":4426},[4408,22754,5130],{"class":4422},[4408,22756,7080],{"class":4434},[4408,22758,22458],{"class":4981},[4408,22760,7086],{"class":4434},[4408,22762,7089],{"class":4422},[4408,22764,5080],{"class":4434},[4408,22766,22767,22769,22772,22775,22777,22779,22781,22783,22785,22787,22789,22792,22794],{"class":4410,"line":6762},[4408,22768,17417],{"class":4414},[4408,22770,22771],{"class":5088},"PlaceChip",[4408,22773,22774],{"class":5123}," place",[4408,22776,5127],{"class":4426},[4408,22778,5130],{"class":4422},[4408,22780,22458],{"class":4981},[4408,22782,4444],{"class":4422},[4408,22784,11613],{"class":5123},[4408,22786,5127],{"class":4426},[4408,22788,5130],{"class":4422},[4408,22790,22791],{"class":4981},"handleOpenPlace",[4408,22793,4444],{"class":4422},[4408,22795,4447],{"class":4414},[4408,22797,22798,22801],{"class":4410,"line":6767},[4408,22799,22800],{"class":4434},"            )",[4408,22802,4641],{"class":4422},[4408,22804,22805,22808,22810],{"class":4410,"line":6789},[4408,22806,22807],{"class":5123},"            showsHorizontalScrollIndicator",[4408,22809,5127],{"class":4426},[4408,22811,6343],{"class":4422},[4408,22813,22814,22817,22819,22821,22823,22825,22827,22829,22831,22833,22835,22837,22840,22842,22844,22846,22848,22850,22853],{"class":4410,"line":6819},[4408,22815,22816],{"class":5123},"            ItemSeparatorComponent",[4408,22818,5127],{"class":4426},[4408,22820,5130],{"class":4422},[4408,22822,7709],{"class":4434},[4408,22824,7089],{"class":4422},[4408,22826,14313],{"class":4414},[4408,22828,5006],{"class":5088},[4408,22830,6112],{"class":5123},[4408,22832,5127],{"class":4426},[4408,22834,5130],{"class":4422},[4408,22836,6036],{"class":4434},[4408,22838,22839],{"class":4981},"width:",[4408,22841,22592],{"class":4981},[4408,22843,3646],{"class":4434},[4408,22845,22656],{"class":4981},[4408,22847,6053],{"class":4434},[4408,22849,4444],{"class":4422},[4408,22851,22852],{"class":4414}," \u002F>",[4408,22854,4641],{"class":4422},[4408,22856,22857,22860,22862,22864,22866,22868,22870,22872],{"class":4410,"line":6827},[4408,22858,22859],{"class":5123},"            contentContainerStyle",[4408,22861,5127],{"class":4426},[4408,22863,5130],{"class":4422},[4408,22865,6036],{"class":4434},[4408,22867,7916],{"class":4981},[4408,22869,20131],{"class":6042},[4408,22871,6053],{"class":4434},[4408,22873,4641],{"class":4422},[4408,22875,22876],{"class":4410,"line":6837},[4408,22877,22878],{"class":4414},"          \u002F>\n",[4408,22880,22881,22883,22885],{"class":4410,"line":6847},[4408,22882,8786],{"class":4414},[4408,22884,5006],{"class":5088},[4408,22886,5091],{"class":4414},[4408,22888,22889,22891,22893],{"class":4410,"line":6857},[4408,22890,19241],{"class":4434},[4408,22892,9473],{"class":4426},[4408,22894,14354],{"class":4422},[4408,22896,22897],{"class":4410,"line":6867},[4408,22898,4611],{"emptyLinePlaceholder":4610},[4408,22900,22901,22903,22905,22907,22909,22911,22913,22915,22917,22919,22921,22923,22926,22928,22930],{"class":4410,"line":6877},[4408,22902,5096],{"class":4414},[4408,22904,20487],{"class":5088},[4408,22906,6112],{"class":5123},[4408,22908,5127],{"class":4426},[4408,22910,5130],{"class":4422},[4408,22912,6036],{"class":4434},[4408,22914,6128],{"class":4981},[4408,22916,20260],{"class":4438},[4408,22918,6053],{"class":4434},[4408,22920,4444],{"class":4422},[4408,22922,5101],{"class":4414},[4408,22924,22925],{"class":4426},"Ваші поїздки",[4408,22927,5107],{"class":4414},[4408,22929,20487],{"class":5088},[4408,22931,5091],{"class":4414},[4408,22933,22934,22936,22938],{"class":4410,"line":6888},[4408,22935,5177],{"class":4414},[4408,22937,5006],{"class":5088},[4408,22939,5091],{"class":4414},[4408,22941,22942],{"class":4410,"line":6894},[4408,22943,5186],{"class":4426},[4408,22945,22946],{"class":4410,"line":6910},[4408,22947,4611],{"emptyLinePlaceholder":4610},[4408,22949,22950,22952,22955],{"class":4410,"line":14357},[4408,22951,5043],{"class":4422},[4408,22953,22954],{"class":4430}," listEmpty",[4408,22956,22573],{"class":4426},[4408,22958,22959,22961],{"class":4410,"line":14362},[4408,22960,5085],{"class":4414},[4408,22962,22963],{"class":5088},"View\n",[4408,22965,22966,22968,22970,22972],{"class":4410,"line":14403},[4408,22967,6029],{"class":5123},[4408,22969,5127],{"class":4426},[4408,22971,5130],{"class":4422},[4408,22973,6678],{"class":4434},[4408,22975,22976,22979,22981,22984],{"class":4410,"line":14410},[4408,22977,22978],{"class":4981},"        styles",[4408,22980,3646],{"class":4434},[4408,22982,22983],{"class":4981},"empty",[4408,22985,5737],{"class":4434},[4408,22987,22988],{"class":4410,"line":14423},[4408,22989,22990],{"class":4434},"        {\n",[4408,22992,22993,22996,22998,23000,23002],{"class":4410,"line":14436},[4408,22994,22995],{"class":4981},"          paddingHorizontal:",[4408,22997,22592],{"class":4981},[4408,22999,3646],{"class":4434},[4408,23001,22656],{"class":4981},[4408,23003,5737],{"class":4434},[4408,23005,23006,23009,23011,23013,23016],{"class":4410,"line":14446},[4408,23007,23008],{"class":4981},"          paddingVertical:",[4408,23010,22592],{"class":4981},[4408,23012,3646],{"class":4434},[4408,23014,23015],{"class":4981},"xl",[4408,23017,5737],{"class":4434},[4408,23019,23020,23023,23025,23027,23029],{"class":4410,"line":14456},[4408,23021,23022],{"class":4981},"          gap:",[4408,23024,22592],{"class":4981},[4408,23026,3646],{"class":4434},[4408,23028,22656],{"class":4981},[4408,23030,5737],{"class":4434},[4408,23032,23033],{"class":4410,"line":14465},[4408,23034,23035],{"class":4434},"        },\n",[4408,23037,23038,23041],{"class":4410,"line":14478},[4408,23039,23040],{"class":4434},"      ]",[4408,23042,4641],{"class":4422},[4408,23044,23045],{"class":4410,"line":14489},[4408,23046,6102],{"class":4414},[4408,23048,23049,23051,23053,23056,23058,23061,23063,23065,23067,23069,23071,23074,23076],{"class":4410,"line":14500},[4408,23050,5096],{"class":4414},[4408,23052,20487],{"class":5088},[4408,23054,23055],{"class":5123}," variant",[4408,23057,5127],{"class":4426},[4408,23059,23060],{"class":4438},"\"subtitle\"",[4408,23062,6112],{"class":5123},[4408,23064,5127],{"class":4426},[4408,23066,5130],{"class":4422},[4408,23068,6226],{"class":4981},[4408,23070,3646],{"class":4434},[4408,23072,23073],{"class":4981},"emptyTitle",[4408,23075,4444],{"class":4422},[4408,23077,5091],{"class":4414},[4408,23079,23080],{"class":4410,"line":14535},[4408,23081,23082],{"class":4426},"        Поки немає поїздок\n",[4408,23084,23085,23087,23089],{"class":4410,"line":14542},[4408,23086,6198],{"class":4414},[4408,23088,20487],{"class":5088},[4408,23090,5091],{"class":4414},[4408,23092,23093,23095],{"class":4410,"line":14547},[4408,23094,5096],{"class":4414},[4408,23096,23097],{"class":5088},"AppText\n",[4408,23099,23100,23103,23105],{"class":4410,"line":14602},[4408,23101,23102],{"class":5123},"        variant",[4408,23104,5127],{"class":4426},[4408,23106,23107],{"class":4438},"\"caption\"\n",[4408,23109,23110,23113,23115,23117,23119,23121,23124],{"class":4410,"line":14607},[4408,23111,23112],{"class":5123},"        color",[4408,23114,5127],{"class":4426},[4408,23116,5130],{"class":4422},[4408,23118,21563],{"class":4981},[4408,23120,3646],{"class":4434},[4408,23122,23123],{"class":4981},"textSecondary",[4408,23125,4641],{"class":4422},[4408,23127,23128,23130,23132,23134,23136,23138,23141],{"class":4410,"line":14630},[4408,23129,6349],{"class":5123},[4408,23131,5127],{"class":4426},[4408,23133,5130],{"class":4422},[4408,23135,6226],{"class":4981},[4408,23137,3646],{"class":4434},[4408,23139,23140],{"class":4981},"emptyDesc",[4408,23142,4641],{"class":4422},[4408,23144,23145],{"class":4410,"line":14670},[4408,23146,7803],{"class":4414},[4408,23148,23149],{"class":4410,"line":14722},[4408,23150,23151],{"class":4426},"        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n",[4408,23153,23154,23156,23158],{"class":4410,"line":14731},[4408,23155,6198],{"class":4414},[4408,23157,20487],{"class":5088},[4408,23159,5091],{"class":4414},[4408,23161,23162,23164,23166],{"class":4410,"line":14786},[4408,23163,5177],{"class":4414},[4408,23165,5006],{"class":5088},[4408,23167,5091],{"class":4414},[4408,23169,23170],{"class":4410,"line":14791},[4408,23171,5186],{"class":4426},[4408,23173,23174],{"class":4410,"line":14834},[4408,23175,4611],{"emptyLinePlaceholder":4610},[4408,23177,23178,23180],{"class":4410,"line":14866},[4408,23179,5077],{"class":4974},[4408,23181,5080],{"class":4426},[4408,23183,23184,23186,23188,23190,23192,23194,23196,23198,23200,23202],{"class":4410,"line":14875},[4408,23185,5085],{"class":4414},[4408,23187,20484],{"class":5088},[4408,23189,6112],{"class":5123},[4408,23191,5127],{"class":4426},[4408,23193,5130],{"class":4422},[4408,23195,6226],{"class":4981},[4408,23197,3646],{"class":4434},[4408,23199,7587],{"class":4981},[4408,23201,4444],{"class":4422},[4408,23203,5091],{"class":4414},[4408,23205,23206,23208],{"class":4410,"line":14884},[4408,23207,5096],{"class":4414},[4408,23209,22963],{"class":5088},[4408,23211,23212,23214,23216,23218],{"class":4410,"line":14893},[4408,23213,6349],{"class":5123},[4408,23215,5127],{"class":4426},[4408,23217,5130],{"class":4422},[4408,23219,6678],{"class":4434},[4408,23221,23222,23224,23226,23229],{"class":4410,"line":14898},[4408,23223,6684],{"class":4981},[4408,23225,3646],{"class":4434},[4408,23227,23228],{"class":4981},"header",[4408,23230,5737],{"class":4434},[4408,23232,23233],{"class":4410,"line":14903},[4408,23234,23235],{"class":4434},"          {\n",[4408,23237,23238,23241,23243,23245,23247],{"class":4410,"line":14908},[4408,23239,23240],{"class":4981},"            paddingHorizontal:",[4408,23242,22592],{"class":4981},[4408,23244,3646],{"class":4434},[4408,23246,22597],{"class":4981},[4408,23248,5737],{"class":4434},[4408,23250,23251,23254,23256,23258,23260],{"class":4410,"line":14925},[4408,23252,23253],{"class":4981},"            paddingTop:",[4408,23255,22592],{"class":4981},[4408,23257,3646],{"class":4434},[4408,23259,22656],{"class":4981},[4408,23261,5737],{"class":4434},[4408,23263,23264,23267,23269,23271,23273],{"class":4410,"line":14957},[4408,23265,23266],{"class":4981},"            paddingBottom:",[4408,23268,22592],{"class":4981},[4408,23270,3646],{"class":4434},[4408,23272,22597],{"class":4981},[4408,23274,5737],{"class":4434},[4408,23276,23277,23280,23282,23284,23287],{"class":4410,"line":14989},[4408,23278,23279],{"class":4981},"            gap:",[4408,23281,22592],{"class":4981},[4408,23283,3646],{"class":4434},[4408,23285,23286],{"class":4981},"xs",[4408,23288,5737],{"class":4434},[4408,23290,23291,23294,23296,23298,23300],{"class":4410,"line":14996},[4408,23292,23293],{"class":4981},"            borderBottomColor:",[4408,23295,21662],{"class":4981},[4408,23297,3646],{"class":4434},[4408,23299,10064],{"class":4981},[4408,23301,5737],{"class":4434},[4408,23303,23304],{"class":4410,"line":15005},[4408,23305,23306],{"class":4434},"          },\n",[4408,23308,23309,23311],{"class":4410,"line":15014},[4408,23310,6733],{"class":4434},[4408,23312,4641],{"class":4422},[4408,23314,23315],{"class":4410,"line":15023},[4408,23316,7803],{"class":4414},[4408,23318,23319,23321,23323,23325,23327,23329,23331,23334,23336,23338],{"class":4410,"line":15032},[4408,23320,7808],{"class":4414},[4408,23322,20487],{"class":5088},[4408,23324,23055],{"class":5123},[4408,23326,5127],{"class":4426},[4408,23328,12166],{"class":4438},[4408,23330,5101],{"class":4414},[4408,23332,23333],{"class":4426},"Мандрівник",[4408,23335,5107],{"class":4414},[4408,23337,20487],{"class":5088},[4408,23339,5091],{"class":4414},[4408,23341,23342,23344,23346,23348,23350,23353,23355,23357,23359,23361,23363,23365,23367,23369,23371,23373],{"class":4410,"line":15041},[4408,23343,7808],{"class":4414},[4408,23345,20487],{"class":5088},[4408,23347,23055],{"class":5123},[4408,23349,5127],{"class":4426},[4408,23351,23352],{"class":4438},"\"caption\"",[4408,23354,6112],{"class":5123},[4408,23356,5127],{"class":4426},[4408,23358,5130],{"class":4422},[4408,23360,6036],{"class":4434},[4408,23362,8738],{"class":4981},[4408,23364,22592],{"class":4981},[4408,23366,3646],{"class":4434},[4408,23368,23286],{"class":4981},[4408,23370,6053],{"class":4434},[4408,23372,4444],{"class":4422},[4408,23374,5091],{"class":4414},[4408,23376,23377,23380,23382,23384,23386,23388,23390,23393,23395,23398],{"class":4410,"line":15050},[4408,23378,23379],{"class":4426},"          Щоденник подорожей · тема: ",[4408,23381,5130],{"class":4422},[4408,23383,21568],{"class":4981},[4408,23385,13985],{"class":4426},[4408,23387,21610],{"class":4438},[4408,23389,7189],{"class":4426},[4408,23391,23392],{"class":4438}," 'темна'",[4408,23394,7195],{"class":4426},[4408,23396,23397],{"class":4438}," 'світла'",[4408,23399,4641],{"class":4422},[4408,23401,23402,23404,23406],{"class":4410,"line":15055},[4408,23403,8786],{"class":4414},[4408,23405,20487],{"class":5088},[4408,23407,5091],{"class":4414},[4408,23409,23410,23412],{"class":4410,"line":15086},[4408,23411,7808],{"class":4414},[4408,23413,23097],{"class":5088},[4408,23415,23416,23419,23421],{"class":4410,"line":15117},[4408,23417,23418],{"class":5123},"          variant",[4408,23420,5127],{"class":4426},[4408,23422,23107],{"class":4438},[4408,23424,23425,23427,23429,23431],{"class":4410,"line":15136},[4408,23426,13835],{"class":5123},[4408,23428,5127],{"class":4426},[4408,23430,5130],{"class":4422},[4408,23432,20699],{"class":4434},[4408,23434,23435,23438,23440,23442,23444],{"class":4410,"line":17208},[4408,23436,23437],{"class":4981},"            marginTop:",[4408,23439,22592],{"class":4981},[4408,23441,3646],{"class":4434},[4408,23443,23286],{"class":4981},[4408,23445,5737],{"class":4434},[4408,23447,23448,23451,23453,23455,23457],{"class":4410,"line":17218},[4408,23449,23450],{"class":4981},"            color:",[4408,23452,21662],{"class":4981},[4408,23454,3646],{"class":4434},[4408,23456,7277],{"class":4981},[4408,23458,5737],{"class":4434},[4408,23460,23461,23464,23466],{"class":4410,"line":17227},[4408,23462,23463],{"class":4981},"            fontWeight:",[4408,23465,20260],{"class":4438},[4408,23467,5737],{"class":4434},[4408,23469,23470,23472],{"class":4410,"line":17237},[4408,23471,13828],{"class":4434},[4408,23473,4641],{"class":4422},[4408,23475,23476],{"class":4410,"line":17246},[4408,23477,13868],{"class":4414},[4408,23479,23480,23483,23485,23487,23489,23491],{"class":4410,"line":17251},[4408,23481,23482],{"class":4422},"          {",[4408,23484,22118],{"class":4981},[4408,23486,3646],{"class":4434},[4408,23488,11640],{"class":4981},[4408,23490,22626],{"class":4426},[4408,23492,23493],{"class":6042}," 0\n",[4408,23495,23496,23499,23502,23505,23507,23509,23511,23513,23516,23518,23520,23522,23524,23526],{"class":4410,"line":17258},[4408,23497,23498],{"class":4426},"            ?",[4408,23500,23501],{"class":4438}," `",[4408,23503,23504],{"class":4422},"${",[4408,23506,22118],{"class":4981},[4408,23508,3646],{"class":4434},[4408,23510,11640],{"class":4981},[4408,23512,4444],{"class":4422},[4408,23514,23515],{"class":4438}," поїздок · ",[4408,23517,23504],{"class":4422},[4408,23519,22171],{"class":4981},[4408,23521,3646],{"class":4434},[4408,23523,11640],{"class":4981},[4408,23525,4444],{"class":4422},[4408,23527,23528],{"class":4438}," місць`\n",[4408,23530,23531,23534,23537],{"class":4410,"line":17263},[4408,23532,23533],{"class":4426},"            :",[4408,23535,23536],{"class":4438}," 'Список порожній'",[4408,23538,4641],{"class":4422},[4408,23540,23541,23543,23545],{"class":4410,"line":17290},[4408,23542,8786],{"class":4414},[4408,23544,20487],{"class":5088},[4408,23546,5091],{"class":4414},[4408,23548,23549],{"class":4410,"line":17295},[4408,23550,4611],{"emptyLinePlaceholder":4610},[4408,23552,23553,23555,23557,23559,23561,23563,23565,23567,23569,23572,23574,23576,23578,23580,23582,23584,23586,23588,23590,23592,23594,23596],{"class":4410,"line":17312},[4408,23554,7808],{"class":4414},[4408,23556,5006],{"class":5088},[4408,23558,6112],{"class":5123},[4408,23560,5127],{"class":4426},[4408,23562,5130],{"class":4422},[4408,23564,6223],{"class":4434},[4408,23566,6226],{"class":4981},[4408,23568,3646],{"class":4434},[4408,23570,23571],{"class":4981},"themeRow",[4408,23573,6233],{"class":4434},[4408,23575,6078],{"class":4981},[4408,23577,22592],{"class":4981},[4408,23579,3646],{"class":4434},[4408,23581,22656],{"class":4981},[4408,23583,3550],{"class":4434},[4408,23585,8738],{"class":4981},[4408,23587,22592],{"class":4981},[4408,23589,3646],{"class":4434},[4408,23591,22656],{"class":4981},[4408,23593,6240],{"class":4434},[4408,23595,4444],{"class":4422},[4408,23597,5091],{"class":4414},[4408,23599,23600,23602,23605,23607,23609,23611,23613,23615,23617],{"class":4410,"line":17319},[4408,23601,23482],{"class":4422},[4408,23603,23604],{"class":5049},"PREFS",[4408,23606,3646],{"class":4434},[4408,23608,10449],{"class":4430},[4408,23610,7717],{"class":4434},[4408,23612,3512],{"class":4981},[4408,23614,7723],{"class":4434},[4408,23616,7089],{"class":4422},[4408,23618,5729],{"class":4434},[4408,23620,23621,23624,23627,23630,23633,23635,23638,23640,23642],{"class":4410,"line":17332},[4408,23622,23623],{"class":4422},"            const",[4408,23625,23626],{"class":5049}," active",[4408,23628,23629],{"class":4426}," =",[4408,23631,23632],{"class":4981}," preference",[4408,23634,13985],{"class":4426},[4408,23636,23637],{"class":4981}," p",[4408,23639,3646],{"class":4434},[4408,23641,22006],{"class":4981},[4408,23643,4993],{"class":4434},[4408,23645,23646,23649],{"class":4410,"line":17342},[4408,23647,23648],{"class":4974},"            return",[4408,23650,5080],{"class":4434},[4408,23652,23653,23655],{"class":4410,"line":17369},[4408,23654,17417],{"class":4414},[4408,23656,7034],{"class":5088},[4408,23658,23659,23662,23664,23666,23668,23670,23672],{"class":4410,"line":17414},[4408,23660,23661],{"class":5123},"                key",[4408,23663,5127],{"class":4426},[4408,23665,5130],{"class":4422},[4408,23667,3512],{"class":4981},[4408,23669,3646],{"class":4434},[4408,23671,22006],{"class":4981},[4408,23673,4641],{"class":4422},[4408,23675,23676,23679,23681,23683,23685,23687,23690,23692,23694,23696,23698,23700],{"class":4410,"line":17444},[4408,23677,23678],{"class":5123},"                onPress",[4408,23680,5127],{"class":4426},[4408,23682,5130],{"class":4422},[4408,23684,7709],{"class":4434},[4408,23686,7089],{"class":4422},[4408,23688,23689],{"class":4430}," setPreference",[4408,23691,4435],{"class":4434},[4408,23693,3512],{"class":4981},[4408,23695,3646],{"class":4434},[4408,23697,22006],{"class":4981},[4408,23699,4292],{"class":4434},[4408,23701,4641],{"class":4422},[4408,23703,23704,23707,23709,23711],{"class":4410,"line":17468},[4408,23705,23706],{"class":5123},"                style",[4408,23708,5127],{"class":4426},[4408,23710,5130],{"class":4422},[4408,23712,6678],{"class":4434},[4408,23714,23715,23718,23720,23723],{"class":4410,"line":17520},[4408,23716,23717],{"class":4981},"                  styles",[4408,23719,3646],{"class":4434},[4408,23721,23722],{"class":4981},"themeChip",[4408,23724,5737],{"class":4434},[4408,23726,23727],{"class":4410,"line":17528},[4408,23728,23729],{"class":4434},"                  {\n",[4408,23731,23732,23735,23737,23739,23741,23743,23745,23747,23749,23751,23754],{"class":4410,"line":17538},[4408,23733,23734],{"class":4981},"                    backgroundColor:",[4408,23736,23626],{"class":4981},[4408,23738,7189],{"class":4426},[4408,23740,21662],{"class":4981},[4408,23742,3646],{"class":4434},[4408,23744,7277],{"class":4981},[4408,23746,7195],{"class":4426},[4408,23748,21662],{"class":4981},[4408,23750,3646],{"class":4434},[4408,23752,23753],{"class":4981},"surface",[4408,23755,5737],{"class":4434},[4408,23757,23758,23761,23763,23765,23767],{"class":4410,"line":17548},[4408,23759,23760],{"class":4981},"                    borderColor:",[4408,23762,21662],{"class":4981},[4408,23764,3646],{"class":4434},[4408,23766,10064],{"class":4981},[4408,23768,5737],{"class":4434},[4408,23770,23771],{"class":4410,"line":17555},[4408,23772,23773],{"class":4434},"                  },\n",[4408,23775,23776,23779],{"class":4410,"line":17560},[4408,23777,23778],{"class":4434},"                ]",[4408,23780,4641],{"class":4422},[4408,23782,23783,23786,23788],{"class":4410,"line":17587},[4408,23784,23785],{"class":5123},"                accessibilityRole",[4408,23787,5127],{"class":4426},[4408,23789,23790],{"class":4438},"\"button\"\n",[4408,23792,23793,23796,23798,23800,23802,23805,23807,23809],{"class":4410,"line":17592},[4408,23794,23795],{"class":5123},"                accessibilityState",[4408,23797,5127],{"class":4426},[4408,23799,5130],{"class":4422},[4408,23801,6036],{"class":4434},[4408,23803,23804],{"class":4981},"selected:",[4408,23806,23626],{"class":4981},[4408,23808,6053],{"class":4434},[4408,23810,4641],{"class":4422},[4408,23812,23813,23816,23818,23820,23823,23825,23827,23829,23831,23833,23836],{"class":4410,"line":17617},[4408,23814,23815],{"class":5123},"                accessibilityLabel",[4408,23817,5127],{"class":4426},[4408,23819,5130],{"class":4422},[4408,23821,23822],{"class":4438},"`Тема: ",[4408,23824,23504],{"class":4422},[4408,23826,3512],{"class":4981},[4408,23828,3646],{"class":4434},[4408,23830,5239],{"class":4981},[4408,23832,4444],{"class":4422},[4408,23834,23835],{"class":4438},"`",[4408,23837,4641],{"class":4422},[4408,23839,23840],{"class":4410,"line":17624},[4408,23841,23842],{"class":4414},"              >\n",[4408,23844,23845,23847],{"class":4410,"line":17637},[4408,23846,17938],{"class":4414},[4408,23848,23097],{"class":5088},[4408,23850,23851,23854,23856],{"class":4410,"line":17647},[4408,23852,23853],{"class":5123},"                  variant",[4408,23855,5127],{"class":4426},[4408,23857,23107],{"class":4438},[4408,23859,23860,23863,23865,23867,23870,23872,23874,23876,23879,23881,23883,23885,23887],{"class":4410,"line":17674},[4408,23861,23862],{"class":5123},"                  color",[4408,23864,5127],{"class":4426},[4408,23866,5130],{"class":4422},[4408,23868,23869],{"class":4981},"active",[4408,23871,7189],{"class":4426},[4408,23873,21662],{"class":4981},[4408,23875,3646],{"class":4434},[4408,23877,23878],{"class":4981},"onPrimary",[4408,23880,7195],{"class":4426},[4408,23882,21662],{"class":4981},[4408,23884,3646],{"class":4434},[4408,23886,11271],{"class":4981},[4408,23888,4641],{"class":4422},[4408,23890,23891,23894,23896,23898,23900,23902,23905],{"class":4410,"line":17681},[4408,23892,23893],{"class":5123},"                  style",[4408,23895,5127],{"class":4426},[4408,23897,5130],{"class":4422},[4408,23899,6226],{"class":4981},[4408,23901,3646],{"class":4434},[4408,23903,23904],{"class":4981},"themeChipText",[4408,23906,4641],{"class":4422},[4408,23908,23909],{"class":4410,"line":17695},[4408,23910,23911],{"class":4414},"                >\n",[4408,23913,23914,23917,23919,23921,23923],{"class":4410,"line":17709},[4408,23915,23916],{"class":4422},"                  {",[4408,23918,3512],{"class":4981},[4408,23920,3646],{"class":4434},[4408,23922,5239],{"class":4981},[4408,23924,4641],{"class":4422},[4408,23926,23927,23929,23931],{"class":4410,"line":17723},[4408,23928,18000],{"class":4414},[4408,23930,20487],{"class":5088},[4408,23932,5091],{"class":4414},[4408,23934,23935,23937,23939],{"class":4410,"line":17736},[4408,23936,17531],{"class":4414},[4408,23938,3654],{"class":5088},[4408,23940,5091],{"class":4414},[4408,23942,23943],{"class":4410,"line":17750},[4408,23944,23945],{"class":4434},"            );\n",[4408,23947,23948,23951],{"class":4410,"line":17761},[4408,23949,23950],{"class":4434},"          })",[4408,23952,4641],{"class":4422},[4408,23954,23955,23957,23959],{"class":4410,"line":17772},[4408,23956,8786],{"class":4414},[4408,23958,5006],{"class":5088},[4408,23960,5091],{"class":4414},[4408,23962,23963,23965,23967],{"class":4410,"line":17782},[4408,23964,6198],{"class":4414},[4408,23966,5006],{"class":5088},[4408,23968,5091],{"class":4414},[4408,23970,23971],{"class":4410,"line":17787},[4408,23972,4611],{"emptyLinePlaceholder":4610},[4408,23974,23975,23977,23979,23981,23983,23985,23987,23989,23992,23994],{"class":4410,"line":17794},[4408,23976,5096],{"class":4414},[4408,23978,5006],{"class":5088},[4408,23980,6112],{"class":5123},[4408,23982,5127],{"class":4426},[4408,23984,5130],{"class":4422},[4408,23986,6226],{"class":4981},[4408,23988,3646],{"class":4434},[4408,23990,23991],{"class":4981},"listWrap",[4408,23993,4444],{"class":4422},[4408,23995,5091],{"class":4414},[4408,23997,23998,24000],{"class":4410,"line":17799},[4408,23999,7808],{"class":4414},[4408,24001,24002],{"class":5088},"FlashList\n",[4408,24004,24005,24008,24010,24012,24014],{"class":4410,"line":17826},[4408,24006,24007],{"class":5123},"          data",[4408,24009,5127],{"class":4426},[4408,24011,5130],{"class":4422},[4408,24013,22118],{"class":4981},[4408,24015,4641],{"class":4422},[4408,24017,24018,24021,24023,24025,24028],{"class":4410,"line":17831},[4408,24019,24020],{"class":5123},"          renderItem",[4408,24022,5127],{"class":4426},[4408,24024,5130],{"class":4422},[4408,24026,24027],{"class":4981},"renderTrip",[4408,24029,4641],{"class":4422},[4408,24031,24032,24035,24037,24039,24042],{"class":4410,"line":17838},[4408,24033,24034],{"class":5123},"          keyExtractor",[4408,24036,5127],{"class":4426},[4408,24038,5130],{"class":4422},[4408,24040,24041],{"class":4981},"keyExtractor",[4408,24043,4641],{"class":4422},[4408,24045,24046,24049,24051,24053,24056],{"class":4410,"line":17851},[4408,24047,24048],{"class":5123},"          ListHeaderComponent",[4408,24050,5127],{"class":4426},[4408,24052,5130],{"class":4422},[4408,24054,24055],{"class":4981},"listHeader",[4408,24057,4641],{"class":4422},[4408,24059,24060,24063,24065,24067,24070],{"class":4410,"line":17861},[4408,24061,24062],{"class":5123},"          ListEmptyComponent",[4408,24064,5127],{"class":4426},[4408,24066,5130],{"class":4422},[4408,24068,24069],{"class":4981},"listEmpty",[4408,24071,4641],{"class":4422},[4408,24073,24074,24077,24079,24081],{"class":4410,"line":17888},[4408,24075,24076],{"class":5123},"          contentContainerStyle",[4408,24078,5127],{"class":4426},[4408,24080,5130],{"class":4422},[4408,24082,20699],{"class":4434},[4408,24084,24085,24087,24089,24091,24093],{"class":4410,"line":17911},[4408,24086,23240],{"class":4981},[4408,24088,22592],{"class":4981},[4408,24090,3646],{"class":4434},[4408,24092,22597],{"class":4981},[4408,24094,5737],{"class":4434},[4408,24096,24097,24099,24101,24103,24105],{"class":4410,"line":17935},[4408,24098,23253],{"class":4981},[4408,24100,22592],{"class":4981},[4408,24102,3646],{"class":4434},[4408,24104,22597],{"class":4981},[4408,24106,5737],{"class":4434},[4408,24108,24109,24111,24113,24115,24117],{"class":4410,"line":17968},[4408,24110,23266],{"class":4981},[4408,24112,22592],{"class":4981},[4408,24114,3646],{"class":4434},[4408,24116,22597],{"class":4981},[4408,24118,5737],{"class":4434},[4408,24120,24121,24123],{"class":4410,"line":17991},[4408,24122,13828],{"class":4434},[4408,24124,4641],{"class":4422},[4408,24126,24127,24130,24132,24134,24136,24138,24140,24142,24144,24146,24148,24150,24153,24155,24157,24159,24161,24163,24165],{"class":4410,"line":17997},[4408,24128,24129],{"class":5123},"          ItemSeparatorComponent",[4408,24131,5127],{"class":4426},[4408,24133,5130],{"class":4422},[4408,24135,7709],{"class":4434},[4408,24137,7089],{"class":4422},[4408,24139,14313],{"class":4414},[4408,24141,5006],{"class":5088},[4408,24143,6112],{"class":5123},[4408,24145,5127],{"class":4426},[4408,24147,5130],{"class":4422},[4408,24149,6036],{"class":4434},[4408,24151,24152],{"class":4981},"height:",[4408,24154,22592],{"class":4981},[4408,24156,3646],{"class":4434},[4408,24158,22597],{"class":4981},[4408,24160,6053],{"class":4434},[4408,24162,4444],{"class":4422},[4408,24164,22852],{"class":4414},[4408,24166,4641],{"class":4422},[4408,24168,24169,24172,24174],{"class":4410,"line":18007},[4408,24170,24171],{"class":5123},"          refreshControl",[4408,24173,5127],{"class":4426},[4408,24175,20699],{"class":4422},[4408,24177,24178,24180],{"class":4410,"line":18016},[4408,24179,16888],{"class":4414},[4408,24181,24182],{"class":5088},"RefreshControl\n",[4408,24184,24185,24188,24190,24192,24194],{"class":4410,"line":18023},[4408,24186,24187],{"class":5123},"              refreshing",[4408,24189,5127],{"class":4426},[4408,24191,5130],{"class":4422},[4408,24193,22197],{"class":4981},[4408,24195,4641],{"class":4422},[4408,24197,24198,24201,24203,24205,24208],{"class":4410,"line":18037},[4408,24199,24200],{"class":5123},"              onRefresh",[4408,24202,5127],{"class":4426},[4408,24204,5130],{"class":4422},[4408,24206,24207],{"class":4981},"onRefresh",[4408,24209,4641],{"class":4422},[4408,24211,24212,24215,24217,24219,24221,24223,24225],{"class":4410,"line":18051},[4408,24213,24214],{"class":5123},"              tintColor",[4408,24216,5127],{"class":4426},[4408,24218,5130],{"class":4422},[4408,24220,21563],{"class":4981},[4408,24222,3646],{"class":4434},[4408,24224,7277],{"class":4981},[4408,24226,4641],{"class":4422},[4408,24228,24229,24232,24234,24236,24238,24240,24242,24244,24246],{"class":4410,"line":18079},[4408,24230,24231],{"class":5123},"              colors",[4408,24233,5127],{"class":4426},[4408,24235,5130],{"class":4422},[4408,24237,6223],{"class":4434},[4408,24239,21563],{"class":4981},[4408,24241,3646],{"class":4434},[4408,24243,7277],{"class":4981},[4408,24245,16927],{"class":4434},[4408,24247,4641],{"class":4422},[4408,24249,24250],{"class":4410,"line":18090},[4408,24251,17002],{"class":4414},[4408,24253,24254],{"class":4410,"line":18096},[4408,24255,24256],{"class":4422},"          }\n",[4408,24258,24259,24262,24264],{"class":4410,"line":18105},[4408,24260,24261],{"class":5123},"          showsVerticalScrollIndicator",[4408,24263,5127],{"class":4426},[4408,24265,6343],{"class":4422},[4408,24267,24268],{"class":4410,"line":18112},[4408,24269,8865],{"class":4414},[4408,24271,24272,24274,24276],{"class":4410,"line":18117},[4408,24273,6198],{"class":4414},[4408,24275,5006],{"class":5088},[4408,24277,5091],{"class":4414},[4408,24279,24280],{"class":4410,"line":18122},[4408,24281,4611],{"emptyLinePlaceholder":4610},[4408,24283,24284,24286],{"class":4410,"line":18129},[4408,24285,5096],{"class":4414},[4408,24287,22963],{"class":5088},[4408,24289,24290,24292,24294,24296],{"class":4410,"line":18142},[4408,24291,6349],{"class":5123},[4408,24293,5127],{"class":4426},[4408,24295,5130],{"class":4422},[4408,24297,6678],{"class":4434},[4408,24299,24300,24302,24304,24307],{"class":4410,"line":18152},[4408,24301,6684],{"class":4981},[4408,24303,3646],{"class":4434},[4408,24305,24306],{"class":4981},"footer",[4408,24308,5737],{"class":4434},[4408,24310,24311],{"class":4410,"line":18179},[4408,24312,23235],{"class":4434},[4408,24314,24315,24317,24319,24321,24323],{"class":4410,"line":18202},[4408,24316,23240],{"class":4981},[4408,24318,22592],{"class":4981},[4408,24320,3646],{"class":4434},[4408,24322,22597],{"class":4981},[4408,24324,5737],{"class":4434},[4408,24326,24327,24329,24331,24333,24335],{"class":4410,"line":18225},[4408,24328,23253],{"class":4981},[4408,24330,22592],{"class":4981},[4408,24332,3646],{"class":4434},[4408,24334,22656],{"class":4981},[4408,24336,5737],{"class":4434},[4408,24338,24339,24341,24343,24345,24347],{"class":4410,"line":18256},[4408,24340,23266],{"class":4981},[4408,24342,22592],{"class":4981},[4408,24344,3646],{"class":4434},[4408,24346,22597],{"class":4981},[4408,24348,5737],{"class":4434},[4408,24350,24351,24354,24356,24358,24360],{"class":4410,"line":18279},[4408,24352,24353],{"class":4981},"            borderTopColor:",[4408,24355,21662],{"class":4981},[4408,24357,3646],{"class":4434},[4408,24359,10064],{"class":4981},[4408,24361,5737],{"class":4434},[4408,24363,24364,24367,24369,24371,24373],{"class":4410,"line":18285},[4408,24365,24366],{"class":4981},"            backgroundColor:",[4408,24368,21662],{"class":4981},[4408,24370,3646],{"class":4434},[4408,24372,21667],{"class":4981},[4408,24374,5737],{"class":4434},[4408,24376,24377],{"class":4410,"line":18294},[4408,24378,23306],{"class":4434},[4408,24380,24381,24383],{"class":4410,"line":18303},[4408,24382,6733],{"class":4434},[4408,24384,4641],{"class":4422},[4408,24386,24387],{"class":4410,"line":18311},[4408,24388,7803],{"class":4414},[4408,24390,24391,24393],{"class":4410,"line":18331},[4408,24392,7808],{"class":4414},[4408,24394,24395],{"class":5088},"Button\n",[4408,24397,24398,24401,24403],{"class":4410,"line":18344},[4408,24399,24400],{"class":5123},"          label",[4408,24402,5127],{"class":4426},[4408,24404,24405],{"class":4438},"\"Нова поїздка\"\n",[4408,24407,24408,24410,24412,24414,24416,24418],{"class":4410,"line":18371},[4408,24409,13769],{"class":5123},[4408,24411,5127],{"class":4426},[4408,24413,5130],{"class":4422},[4408,24415,7709],{"class":4434},[4408,24417,7089],{"class":4422},[4408,24419,5729],{"class":4434},[4408,24421,24422,24425,24427,24430,24432,24435],{"class":4410,"line":18381},[4408,24423,24424],{"class":4981},"            router",[4408,24426,3646],{"class":4434},[4408,24428,24429],{"class":4430},"push",[4408,24431,4435],{"class":4434},[4408,24433,24434],{"class":4438},"'\u002Fcreate-trip'",[4408,24436,5068],{"class":4434},[4408,24438,24439,24441],{"class":4410,"line":18391},[4408,24440,13828],{"class":4434},[4408,24442,4641],{"class":4422},[4408,24444,24445],{"class":4410,"line":18401},[4408,24446,8865],{"class":4414},[4408,24448,24449,24451,24453],{"class":4410,"line":18412},[4408,24450,6198],{"class":4414},[4408,24452,5006],{"class":5088},[4408,24454,5091],{"class":4414},[4408,24456,24457,24459,24461],{"class":4410,"line":18417},[4408,24458,5177],{"class":4414},[4408,24460,20484],{"class":5088},[4408,24462,5091],{"class":4414},[4408,24464,24465],{"class":4410,"line":18426},[4408,24466,5186],{"class":4426},[4408,24468,24469],{"class":4410,"line":18433},[4408,24470,4641],{"class":4426},[4408,24472,24473],{"class":4410,"line":18438},[4408,24474,4611],{"emptyLinePlaceholder":4610},[4408,24476,24477,24479,24481,24483,24485,24487,24489],{"class":4410,"line":18466},[4408,24478,6770],{"class":4422},[4408,24480,6773],{"class":5049},[4408,24482,5804],{"class":4426},[4408,24484,6778],{"class":4981},[4408,24486,3646],{"class":4426},[4408,24488,6783],{"class":4430},[4408,24490,6786],{"class":4426},[4408,24492,24493,24495],{"class":4410,"line":18471},[4408,24494,7884],{"class":4981},[4408,24496,5729],{"class":4426},[4408,24498,24499,24501,24503],{"class":4410,"line":18489},[4408,24500,6850],{"class":4981},[4408,24502,22629],{"class":6042},[4408,24504,5737],{"class":4426},[4408,24506,24507],{"class":4410,"line":18496},[4408,24508,6891],{"class":4426},[4408,24510,24511,24514],{"class":4410,"line":18509},[4408,24512,24513],{"class":4981},"  header:",[4408,24515,5729],{"class":4426},[4408,24517,24518,24521,24523],{"class":4410,"line":18519},[4408,24519,24520],{"class":4981},"    borderBottomWidth:",[4408,24522,6043],{"class":6042},[4408,24524,5737],{"class":4426},[4408,24526,24527],{"class":4410,"line":18550},[4408,24528,6891],{"class":4426},[4408,24530,24531,24534],{"class":4410,"line":18557},[4408,24532,24533],{"class":4981},"  themeRow:",[4408,24535,5729],{"class":4426},[4408,24537,24538,24540,24542],{"class":4410,"line":18602},[4408,24539,8945],{"class":4981},[4408,24541,8125],{"class":4438},[4408,24543,5737],{"class":4426},[4408,24545,24546,24549,24552],{"class":4410,"line":18615},[4408,24547,24548],{"class":4981},"    flexWrap:",[4408,24550,24551],{"class":4438}," 'wrap'",[4408,24553,5737],{"class":4426},[4408,24555,24556],{"class":4410,"line":18628},[4408,24557,6891],{"class":4426},[4408,24559,24560,24563],{"class":4410,"line":18641},[4408,24561,24562],{"class":4981},"  themeChip:",[4408,24564,5729],{"class":4426},[4408,24566,24567,24569,24571],{"class":4410,"line":18651},[4408,24568,6850],{"class":4981},[4408,24570,6799],{"class":6042},[4408,24572,5737],{"class":4426},[4408,24574,24575,24577,24579],{"class":4410,"line":18657},[4408,24576,6860],{"class":4981},[4408,24578,13731],{"class":6042},[4408,24580,5737],{"class":4426},[4408,24582,24583,24585,24587],{"class":4410,"line":18667},[4408,24584,6840],{"class":4981},[4408,24586,13731],{"class":6042},[4408,24588,5737],{"class":4426},[4408,24590,24591,24593,24595],{"class":4410,"line":18681},[4408,24592,6830],{"class":4981},[4408,24594,6043],{"class":6042},[4408,24596,5737],{"class":4426},[4408,24598,24599],{"class":4410,"line":18686},[4408,24600,6891],{"class":4426},[4408,24602,24603,24606],{"class":4410,"line":18693},[4408,24604,24605],{"class":4981},"  themeChipText:",[4408,24607,5729],{"class":4426},[4408,24609,24610,24612,24614],{"class":4410,"line":18698},[4408,24611,19737],{"class":4981},[4408,24613,20260],{"class":4438},[4408,24615,5737],{"class":4426},[4408,24617,24618],{"class":4410,"line":18725},[4408,24619,6891],{"class":4426},[4408,24621,24622,24625],{"class":4410,"line":18730},[4408,24623,24624],{"class":4981},"  listWrap:",[4408,24626,5729],{"class":4426},[4408,24628,24629,24631,24633],{"class":4410,"line":18769},[4408,24630,19678],{"class":4981},[4408,24632,6043],{"class":6042},[4408,24634,5737],{"class":4426},[4408,24636,24637],{"class":4410,"line":18801},[4408,24638,6891],{"class":4426},[4408,24640,24641,24644],{"class":4410,"line":18810},[4408,24642,24643],{"class":4981},"  empty:",[4408,24645,5729],{"class":4426},[4408,24647,24648,24650,24652],{"class":4410,"line":18819},[4408,24649,8954],{"class":4981},[4408,24651,7904],{"class":4438},[4408,24653,5737],{"class":4426},[4408,24655,24656,24658,24660],{"class":4410,"line":18828},[4408,24657,19697],{"class":4981},[4408,24659,7904],{"class":4438},[4408,24661,5737],{"class":4426},[4408,24663,24664],{"class":4410,"line":18833},[4408,24665,6891],{"class":4426},[4408,24667,24668,24671],{"class":4410,"line":18838},[4408,24669,24670],{"class":4981},"  emptyTitle:",[4408,24672,5729],{"class":4426},[4408,24674,24675,24678,24680],{"class":4410,"line":18843},[4408,24676,24677],{"class":4981},"    textAlign:",[4408,24679,7904],{"class":4438},[4408,24681,5737],{"class":4426},[4408,24683,24684],{"class":4410,"line":18853},[4408,24685,6891],{"class":4426},[4408,24687,24688,24691],{"class":4410,"line":18861},[4408,24689,24690],{"class":4981},"  emptyDesc:",[4408,24692,5729],{"class":4426},[4408,24694,24695,24697,24699],{"class":4410,"line":18869},[4408,24696,24677],{"class":4981},[4408,24698,7904],{"class":4438},[4408,24700,5737],{"class":4426},[4408,24702,24703],{"class":4410,"line":18875},[4408,24704,6891],{"class":4426},[4408,24706,24707,24710],{"class":4410,"line":18886},[4408,24708,24709],{"class":4981},"  footer:",[4408,24711,5729],{"class":4426},[4408,24713,24714,24717,24719],{"class":4410,"line":18900},[4408,24715,24716],{"class":4981},"    borderTopWidth:",[4408,24718,6043],{"class":6042},[4408,24720,5737],{"class":4426},[4408,24722,24723],{"class":4410,"line":18906},[4408,24724,6891],{"class":4426},[4408,24726,24727],{"class":4410,"line":18913},[4408,24728,6913],{"class":4426},[4399,24730,24732],{"className":4401,"code":24731,"filename":20577,"language":4403,"meta":4404,"style":4404},"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",[3540,24733,24734,24758,24774,24778,24798,24814,24834,24838,24843,24848,24853,24858,24863,24876,24888,24902,24920,24924,24930,24952,24958,24968,24978,24982,24994,25006,25018,25030,25034,25040,25044,25050,25059,25069,25093,25107,25111,25148,25153,25161,25169,25203,25208,25216,25250,25255,25263,25271,25275,25282,25301,25312,25323,25329,25352,25356,25364,25368,25372,25376,25392,25398,25406,25410,25416,25424,25428,25435,25443,25447],{"__ignoreMap":4404},[4408,24735,24736,24738,24740,24742,24744,24746,24748,24750,24752,24754,24756],{"class":4410,"line":4411},[4408,24737,4975],{"class":4974},[4408,24739,4978],{"class":4426},[4408,24741,3654],{"class":4981},[4408,24743,3550],{"class":4426},[4408,24745,6778],{"class":4981},[4408,24747,3550],{"class":4426},[4408,24749,5006],{"class":4981},[4408,24751,4984],{"class":4426},[4408,24753,4987],{"class":4974},[4408,24755,5018],{"class":4438},[4408,24757,4993],{"class":4426},[4408,24759,24760,24762,24764,24766,24768,24770,24772],{"class":4410,"line":4595},[4408,24761,4975],{"class":4974},[4408,24763,4978],{"class":4426},[4408,24765,21867],{"class":4981},[4408,24767,4984],{"class":4426},[4408,24769,4987],{"class":4974},[4408,24771,21478],{"class":4438},[4408,24773,4993],{"class":4426},[4408,24775,24776],{"class":4410,"line":4601},[4408,24777,4611],{"emptyLinePlaceholder":4610},[4408,24779,24780,24782,24784,24786,24788,24790,24792,24794,24796],{"class":4410,"line":4607},[4408,24781,4975],{"class":4974},[4408,24783,4978],{"class":4426},[4408,24785,11302],{"class":4981},[4408,24787,3550],{"class":4426},[4408,24789,20545],{"class":4981},[4408,24791,4984],{"class":4426},[4408,24793,4987],{"class":4974},[4408,24795,21517],{"class":4438},[4408,24797,4993],{"class":4426},[4408,24799,24800,24802,24804,24806,24808,24810,24812],{"class":4410,"line":4614},[4408,24801,4975],{"class":4974},[4408,24803,4978],{"class":4426},[4408,24805,21532],{"class":4981},[4408,24807,4984],{"class":4426},[4408,24809,4987],{"class":4974},[4408,24811,21539],{"class":4438},[4408,24813,4993],{"class":4426},[4408,24815,24816,24818,24820,24822,24824,24826,24828,24830,24832],{"class":4410,"line":4620},[4408,24817,4975],{"class":4974},[4408,24819,4978],{"class":4426},[4408,24821,20487],{"class":4981},[4408,24823,3550],{"class":4426},[4408,24825,20484],{"class":4981},[4408,24827,4984],{"class":4426},[4408,24829,4987],{"class":4974},[4408,24831,21988],{"class":4438},[4408,24833,4993],{"class":4426},[4408,24835,24836],{"class":4410,"line":4626},[4408,24837,4611],{"emptyLinePlaceholder":4610},[4408,24839,24840],{"class":4410,"line":4632},[4408,24841,24842],{"class":11572},"\u002F**\n",[4408,24844,24845],{"class":4410,"line":4638},[4408,24846,24847],{"class":11572}," * Екран створення поїздки.\n",[4408,24849,24850],{"class":4410,"line":4644},[4408,24851,24852],{"class":11572}," * Навігацію (Stack, back) детальніше розберемо в статті про Expo Router;\n",[4408,24854,24855],{"class":4410,"line":4649},[4408,24856,24857],{"class":11572}," * тут — мінімальний router.push \u002F router.back.\n",[4408,24859,24860],{"class":4410,"line":4655},[4408,24861,24862],{"class":11572}," *\u002F\n",[4408,24864,24865,24867,24869,24871,24874],{"class":4410,"line":4661},[4408,24866,5029],{"class":4974},[4408,24868,5787],{"class":4974},[4408,24870,5032],{"class":4422},[4408,24872,24873],{"class":4430}," CreateTripScreen",[4408,24875,5038],{"class":4426},[4408,24877,24878,24880,24882,24884,24886],{"class":4410,"line":4667},[4408,24879,5043],{"class":4422},[4408,24881,22103],{"class":5049},[4408,24883,5804],{"class":4426},[4408,24885,21867],{"class":4430},[4408,24887,21576],{"class":4426},[4408,24889,24890,24892,24894,24896,24898,24900],{"class":4410,"line":4672},[4408,24891,5043],{"class":4422},[4408,24893,4978],{"class":4426},[4408,24895,7246],{"class":5049},[4408,24897,21571],{"class":4426},[4408,24899,20545],{"class":4430},[4408,24901,21576],{"class":4426},[4408,24903,24904,24906,24908,24910,24912,24914,24916,24918],{"class":4410,"line":4677},[4408,24905,5043],{"class":4422},[4408,24907,4978],{"class":4426},[4408,24909,21563],{"class":5049},[4408,24911,3550],{"class":4426},[4408,24913,22142],{"class":5049},[4408,24915,21571],{"class":4426},[4408,24917,21532],{"class":4430},[4408,24919,21576],{"class":4426},[4408,24921,24922],{"class":4410,"line":4683},[4408,24923,4611],{"emptyLinePlaceholder":4610},[4408,24925,24926,24928],{"class":4410,"line":4689},[4408,24927,5077],{"class":4974},[4408,24929,5080],{"class":4426},[4408,24931,24932,24934,24936,24938,24940,24942,24944,24946,24948,24950],{"class":4410,"line":4695},[4408,24933,5085],{"class":4414},[4408,24935,20484],{"class":5088},[4408,24937,6112],{"class":5123},[4408,24939,5127],{"class":4426},[4408,24941,5130],{"class":4422},[4408,24943,6226],{"class":4981},[4408,24945,3646],{"class":4434},[4408,24947,7587],{"class":4981},[4408,24949,4444],{"class":4422},[4408,24951,5091],{"class":4414},[4408,24953,24954,24956],{"class":4410,"line":4700},[4408,24955,5096],{"class":4414},[4408,24957,22963],{"class":5088},[4408,24959,24960,24962,24964,24966],{"class":4410,"line":4706},[4408,24961,6349],{"class":5123},[4408,24963,5127],{"class":4426},[4408,24965,5130],{"class":4422},[4408,24967,6678],{"class":4434},[4408,24969,24970,24972,24974,24976],{"class":4410,"line":4712},[4408,24971,6684],{"class":4981},[4408,24973,3646],{"class":4434},[4408,24975,23228],{"class":4981},[4408,24977,5737],{"class":4434},[4408,24979,24980],{"class":4410,"line":4717},[4408,24981,23235],{"class":4434},[4408,24983,24984,24986,24988,24990,24992],{"class":4410,"line":4722},[4408,24985,23240],{"class":4981},[4408,24987,22592],{"class":4981},[4408,24989,3646],{"class":4434},[4408,24991,22597],{"class":4981},[4408,24993,5737],{"class":4434},[4408,24995,24996,24998,25000,25002,25004],{"class":4410,"line":6058},[4408,24997,23253],{"class":4981},[4408,24999,22592],{"class":4981},[4408,25001,3646],{"class":4434},[4408,25003,22656],{"class":4981},[4408,25005,5737],{"class":4434},[4408,25007,25008,25010,25012,25014,25016],{"class":4410,"line":6088},[4408,25009,23266],{"class":4981},[4408,25011,22592],{"class":4981},[4408,25013,3646],{"class":4434},[4408,25015,22597],{"class":4981},[4408,25017,5737],{"class":4434},[4408,25019,25020,25022,25024,25026,25028],{"class":4410,"line":6099},[4408,25021,23293],{"class":4981},[4408,25023,21662],{"class":4981},[4408,25025,3646],{"class":4434},[4408,25027,10064],{"class":4981},[4408,25029,5737],{"class":4434},[4408,25031,25032],{"class":4410,"line":6105},[4408,25033,23306],{"class":4434},[4408,25035,25036,25038],{"class":4410,"line":6157},[4408,25037,6733],{"class":4434},[4408,25039,4641],{"class":4422},[4408,25041,25042],{"class":4410,"line":6189},[4408,25043,7803],{"class":4414},[4408,25045,25046,25048],{"class":4410,"line":6195},[4408,25047,7808],{"class":4414},[4408,25049,7034],{"class":5088},[4408,25051,25052,25055,25057],{"class":4410,"line":6205},[4408,25053,25054],{"class":5123},"          accessibilityRole",[4408,25056,5127],{"class":4426},[4408,25058,23790],{"class":4438},[4408,25060,25061,25064,25066],{"class":4410,"line":6210},[4408,25062,25063],{"class":5123},"          accessibilityLabel",[4408,25065,5127],{"class":4426},[4408,25067,25068],{"class":4438},"\"Назад\"\n",[4408,25070,25071,25073,25075,25077,25079,25081,25083,25085,25088,25091],{"class":4410,"line":6256},[4408,25072,13769],{"class":5123},[4408,25074,5127],{"class":4426},[4408,25076,5130],{"class":4422},[4408,25078,7709],{"class":4434},[4408,25080,7089],{"class":4422},[4408,25082,22103],{"class":4981},[4408,25084,3646],{"class":4434},[4408,25086,25087],{"class":4430},"back",[4408,25089,25090],{"class":4434},"()",[4408,25092,4641],{"class":4422},[4408,25094,25095,25098,25100,25102,25105],{"class":4410,"line":6263},[4408,25096,25097],{"class":5123},"          hitSlop",[4408,25099,5127],{"class":4426},[4408,25101,5130],{"class":4422},[4408,25103,25104],{"class":6042},"12",[4408,25106,4641],{"class":4422},[4408,25108,25109],{"class":4410,"line":6276},[4408,25110,13868],{"class":4414},[4408,25112,25113,25115,25117,25120,25122,25124,25126,25128,25130,25132,25134,25136,25138,25140,25142,25144,25146],{"class":4410,"line":6289},[4408,25114,8681],{"class":4414},[4408,25116,20487],{"class":5088},[4408,25118,25119],{"class":5123}," color",[4408,25121,5127],{"class":4426},[4408,25123,5130],{"class":4422},[4408,25125,21563],{"class":4981},[4408,25127,3646],{"class":4434},[4408,25129,7277],{"class":4981},[4408,25131,4444],{"class":4422},[4408,25133,6112],{"class":5123},[4408,25135,5127],{"class":4426},[4408,25137,5130],{"class":4422},[4408,25139,6226],{"class":4981},[4408,25141,3646],{"class":4434},[4408,25143,25087],{"class":4981},[4408,25145,4444],{"class":4422},[4408,25147,5091],{"class":4414},[4408,25149,25150],{"class":4410,"line":6299},[4408,25151,25152],{"class":4426},"            ← Назад\n",[4408,25154,25155,25157,25159],{"class":4410,"line":6314},[4408,25156,8777],{"class":4414},[4408,25158,20487],{"class":5088},[4408,25160,5091],{"class":4414},[4408,25162,25163,25165,25167],{"class":4410,"line":6325},[4408,25164,8786],{"class":4414},[4408,25166,3654],{"class":5088},[4408,25168,5091],{"class":4414},[4408,25170,25171,25173,25175,25177,25179,25181,25183,25185,25187,25189,25191,25193,25195,25197,25199,25201],{"class":4410,"line":6335},[4408,25172,7808],{"class":4414},[4408,25174,20487],{"class":5088},[4408,25176,23055],{"class":5123},[4408,25178,5127],{"class":4426},[4408,25180,12166],{"class":4438},[4408,25182,6112],{"class":5123},[4408,25184,5127],{"class":4426},[4408,25186,5130],{"class":4422},[4408,25188,6036],{"class":4434},[4408,25190,8738],{"class":4981},[4408,25192,22592],{"class":4981},[4408,25194,3646],{"class":4434},[4408,25196,22656],{"class":4981},[4408,25198,6053],{"class":4434},[4408,25200,4444],{"class":4422},[4408,25202,5091],{"class":4414},[4408,25204,25205],{"class":4410,"line":6346},[4408,25206,25207],{"class":4426},"          Нова поїздка\n",[4408,25209,25210,25212,25214],{"class":4410,"line":6387},[4408,25211,8786],{"class":4414},[4408,25213,20487],{"class":5088},[4408,25215,5091],{"class":4414},[4408,25217,25218,25220,25222,25224,25226,25228,25230,25232,25234,25236,25238,25240,25242,25244,25246,25248],{"class":4410,"line":6392},[4408,25219,7808],{"class":4414},[4408,25221,20487],{"class":5088},[4408,25223,23055],{"class":5123},[4408,25225,5127],{"class":4426},[4408,25227,23352],{"class":4438},[4408,25229,6112],{"class":5123},[4408,25231,5127],{"class":4426},[4408,25233,5130],{"class":4422},[4408,25235,6036],{"class":4434},[4408,25237,8738],{"class":4981},[4408,25239,22592],{"class":4981},[4408,25241,3646],{"class":4434},[4408,25243,23286],{"class":4981},[4408,25245,6053],{"class":4434},[4408,25247,4444],{"class":4422},[4408,25249,5091],{"class":4414},[4408,25251,25252],{"class":4410,"line":6397},[4408,25253,25254],{"class":4426},"          Форма з валідацією · RHF + Zod\n",[4408,25256,25257,25259,25261],{"class":4410,"line":6439},[4408,25258,8786],{"class":4414},[4408,25260,20487],{"class":5088},[4408,25262,5091],{"class":4414},[4408,25264,25265,25267,25269],{"class":4410,"line":6446},[4408,25266,6198],{"class":4414},[4408,25268,5006],{"class":5088},[4408,25270,5091],{"class":4414},[4408,25272,25273],{"class":4410,"line":6459},[4408,25274,4611],{"emptyLinePlaceholder":4610},[4408,25276,25277,25279],{"class":4410,"line":6472},[4408,25278,5096],{"class":4414},[4408,25280,25281],{"class":5088},"CreateTripForm\n",[4408,25283,25284,25287,25289,25291,25293,25295,25297,25299],{"class":4410,"line":6482},[4408,25285,25286],{"class":5123},"        onSubmitSuccess",[4408,25288,5127],{"class":4426},[4408,25290,5130],{"class":4422},[4408,25292,4435],{"class":4434},[4408,25294,22232],{"class":4981},[4408,25296,7723],{"class":4434},[4408,25298,7089],{"class":4422},[4408,25300,5729],{"class":4434},[4408,25302,25303,25306,25308,25310],{"class":4410,"line":6495},[4408,25304,25305],{"class":4430},"          addTrip",[4408,25307,4435],{"class":4434},[4408,25309,22232],{"class":4981},[4408,25311,5068],{"class":4434},[4408,25313,25314,25317,25319,25321],{"class":4410,"line":6505},[4408,25315,25316],{"class":4981},"          router",[4408,25318,3646],{"class":4434},[4408,25320,25087],{"class":4430},[4408,25322,21576],{"class":4434},[4408,25324,25325,25327],{"class":4410,"line":6544},[4408,25326,21674],{"class":4434},[4408,25328,4641],{"class":4422},[4408,25330,25331,25334,25336,25338,25340,25342,25344,25346,25348,25350],{"class":4410,"line":6549},[4408,25332,25333],{"class":5123},"        onCancel",[4408,25335,5127],{"class":4426},[4408,25337,5130],{"class":4422},[4408,25339,7709],{"class":4434},[4408,25341,7089],{"class":4422},[4408,25343,22103],{"class":4981},[4408,25345,3646],{"class":4434},[4408,25347,25087],{"class":4430},[4408,25349,25090],{"class":4434},[4408,25351,4641],{"class":4422},[4408,25353,25354],{"class":4410,"line":6554},[4408,25355,5172],{"class":4414},[4408,25357,25358,25360,25362],{"class":4410,"line":6596},[4408,25359,5177],{"class":4414},[4408,25361,20484],{"class":5088},[4408,25363,5091],{"class":4414},[4408,25365,25366],{"class":4410,"line":6603},[4408,25367,5186],{"class":4426},[4408,25369,25370],{"class":4410,"line":6616},[4408,25371,4641],{"class":4426},[4408,25373,25374],{"class":4410,"line":6629},[4408,25375,4611],{"emptyLinePlaceholder":4610},[4408,25377,25378,25380,25382,25384,25386,25388,25390],{"class":4410,"line":6639},[4408,25379,6770],{"class":4422},[4408,25381,6773],{"class":5049},[4408,25383,5804],{"class":4426},[4408,25385,6778],{"class":4981},[4408,25387,3646],{"class":4426},[4408,25389,6783],{"class":4430},[4408,25391,6786],{"class":4426},[4408,25393,25394,25396],{"class":4410,"line":6652},[4408,25395,7884],{"class":4981},[4408,25397,5729],{"class":4426},[4408,25399,25400,25402,25404],{"class":4410,"line":6658},[4408,25401,6850],{"class":4981},[4408,25403,22629],{"class":6042},[4408,25405,5737],{"class":4426},[4408,25407,25408],{"class":4410,"line":6669},[4408,25409,6891],{"class":4426},[4408,25411,25412,25414],{"class":4410,"line":6681},[4408,25413,24513],{"class":4981},[4408,25415,5729],{"class":4426},[4408,25417,25418,25420,25422],{"class":4410,"line":6693},[4408,25419,24520],{"class":4981},[4408,25421,6043],{"class":6042},[4408,25423,5737],{"class":4426},[4408,25425,25426],{"class":4410,"line":6705},[4408,25427,6891],{"class":4426},[4408,25429,25430,25433],{"class":4410,"line":6730},[4408,25431,25432],{"class":4981},"  back:",[4408,25434,5729],{"class":4426},[4408,25436,25437,25439,25441],{"class":4410,"line":6738},[4408,25438,19737],{"class":4981},[4408,25440,20260],{"class":4438},[4408,25442,5737],{"class":4426},[4408,25444,25445],{"class":4410,"line":6743},[4408,25446,6891],{"class":4426},[4408,25448,25449],{"class":4410,"line":6752},[4408,25450,6913],{"class":4426},[4399,25452,25455],{"className":9476,"code":25453,"filename":25454,"language":9478,"meta":4404,"style":4404},"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",[3540,25456,25457,25475,25492,25521,25537,25554,25571,25588,25605,25622,25643,25649,25656,25665,25676],{"__ignoreMap":4404},[4408,25458,25459,25461,25463,25466,25468,25470,25473],{"class":4410,"line":4411},[4408,25460,5029],{"class":4974},[4408,25462,4978],{"class":4426},[4408,25464,25465],{"class":4981},"mockTrips",[4408,25467,4984],{"class":4426},[4408,25469,4987],{"class":4974},[4408,25471,25472],{"class":4438}," '.\u002Fmodel\u002FmockTrips'",[4408,25474,4993],{"class":4426},[4408,25476,25477,25479,25481,25483,25485,25487,25490],{"class":4410,"line":4595},[4408,25478,5029],{"class":4974},[4408,25480,4978],{"class":4426},[4408,25482,22186],{"class":4981},[4408,25484,4984],{"class":4426},[4408,25486,4987],{"class":4974},[4408,25488,25489],{"class":4438}," '.\u002Fmodel\u002FmockPlaces'",[4408,25491,4993],{"class":4426},[4408,25493,25494,25496,25499,25501,25503,25505,25507,25509,25512,25514,25516,25519],{"class":4410,"line":4601},[4408,25495,5029],{"class":4974},[4408,25497,25498],{"class":4974}," type",[4408,25500,4978],{"class":4426},[4408,25502,11014],{"class":4981},[4408,25504,3550],{"class":4426},[4408,25506,22180],{"class":4981},[4408,25508,3550],{"class":4426},[4408,25510,25511],{"class":4981},"TripRegion",[4408,25513,4984],{"class":4426},[4408,25515,4987],{"class":4974},[4408,25517,25518],{"class":4438}," '.\u002Fmodel\u002Ftypes'",[4408,25520,4993],{"class":4426},[4408,25522,25523,25525,25527,25529,25531,25533,25535],{"class":4410,"line":4607},[4408,25524,5029],{"class":4974},[4408,25526,4978],{"class":4426},[4408,25528,10563],{"class":4981},[4408,25530,4984],{"class":4426},[4408,25532,4987],{"class":4974},[4408,25534,25518],{"class":4438},[4408,25536,4993],{"class":4426},[4408,25538,25539,25541,25543,25545,25547,25549,25552],{"class":4410,"line":4614},[4408,25540,5029],{"class":4974},[4408,25542,4978],{"class":4426},[4408,25544,22479],{"class":4981},[4408,25546,4984],{"class":4426},[4408,25548,4987],{"class":4974},[4408,25550,25551],{"class":4438}," '.\u002Fui\u002FTripCard'",[4408,25553,4993],{"class":4426},[4408,25555,25556,25558,25560,25562,25564,25566,25569],{"class":4410,"line":4620},[4408,25557,5029],{"class":4974},[4408,25559,4978],{"class":4426},[4408,25561,22771],{"class":4981},[4408,25563,4984],{"class":4426},[4408,25565,4987],{"class":4974},[4408,25567,25568],{"class":4438}," '.\u002Fui\u002FPlaceChip'",[4408,25570,4993],{"class":4426},[4408,25572,25573,25575,25577,25579,25581,25583,25586],{"class":4410,"line":4626},[4408,25574,5029],{"class":4974},[4408,25576,4978],{"class":4426},[4408,25578,11302],{"class":4981},[4408,25580,4984],{"class":4426},[4408,25582,4987],{"class":4974},[4408,25584,25585],{"class":4438}," '.\u002Fui\u002FCreateTripForm'",[4408,25587,4993],{"class":4426},[4408,25589,25590,25592,25594,25596,25598,25600,25603],{"class":4410,"line":4632},[4408,25591,5029],{"class":4974},[4408,25593,4978],{"class":4426},[4408,25595,10957],{"class":4981},[4408,25597,4984],{"class":4426},[4408,25599,4987],{"class":4974},[4408,25601,25602],{"class":4438}," '.\u002Fui\u002FDateField'",[4408,25604,4993],{"class":4426},[4408,25606,25607,25609,25611,25613,25615,25617,25620],{"class":4410,"line":4638},[4408,25608,5029],{"class":4974},[4408,25610,4978],{"class":4426},[4408,25612,12740],{"class":4981},[4408,25614,4984],{"class":4426},[4408,25616,4987],{"class":4974},[4408,25618,25619],{"class":4438}," '.\u002Fui\u002FFormRow'",[4408,25621,4993],{"class":4426},[4408,25623,25624,25626,25628,25630,25632,25634,25636,25638,25641],{"class":4410,"line":4644},[4408,25625,5029],{"class":4974},[4408,25627,4978],{"class":4426},[4408,25629,11426],{"class":4981},[4408,25631,3550],{"class":4426},[4408,25633,20545],{"class":4981},[4408,25635,4984],{"class":4426},[4408,25637,4987],{"class":4974},[4408,25639,25640],{"class":4438}," '.\u002Fmodel\u002FTripsProvider'",[4408,25642,4993],{"class":4426},[4408,25644,25645,25647],{"class":4410,"line":4649},[4408,25646,5029],{"class":4974},[4408,25648,5729],{"class":4426},[4408,25650,25651,25654],{"class":4410,"line":4655},[4408,25652,25653],{"class":4981},"  createTripSchema",[4408,25655,5737],{"class":4426},[4408,25657,25658,25660,25663],{"class":4410,"line":4661},[4408,25659,21918],{"class":4974},[4408,25661,25662],{"class":4981}," CreateTripFormValues",[4408,25664,5737],{"class":4426},[4408,25666,25667,25669,25671,25674],{"class":4410,"line":4667},[4408,25668,5770],{"class":4426},[4408,25670,4987],{"class":4974},[4408,25672,25673],{"class":4438}," '.\u002Fmodel\u002FcreateTripSchema'",[4408,25675,4993],{"class":4426},[4408,25677,25678,25680,25682,25684,25686,25688,25691],{"class":4410,"line":4672},[4408,25679,5029],{"class":4974},[4408,25681,4978],{"class":4426},[4408,25683,11010],{"class":4981},[4408,25685,4984],{"class":4426},[4408,25687,4987],{"class":4974},[4408,25689,25690],{"class":4438}," '.\u002Fmodel\u002FformatTripDates'",[4408,25692,4993],{"class":4426},[4399,25694,25697],{"className":9476,"code":25695,"filename":25696,"language":9478,"meta":4404,"style":4404},"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",[3540,25698,25699,25710,25721,25732,25743,25754,25765,25770,25781,25786,25797,25802,25813,25818,25829,25833,25837,25847,25857,25868,25878,25889,25900,25904,25908,25913,25924,25931,25938,25945,25952,25959,25966,25976,25980],{"__ignoreMap":4404},[4408,25700,25701,25703,25705,25707],{"class":4410,"line":4411},[4408,25702,5029],{"class":4974},[4408,25704,25498],{"class":4422},[4408,25706,21930],{"class":5088},[4408,25708,25709],{"class":4426}," = {\n",[4408,25711,25712,25715,25717,25719],{"class":4410,"line":4595},[4408,25713,25714],{"class":4981},"  id",[4408,25716,4145],{"class":4426},[4408,25718,5263],{"class":5088},[4408,25720,4993],{"class":4426},[4408,25722,25723,25726,25728,25730],{"class":4410,"line":4601},[4408,25724,25725],{"class":4981},"  title",[4408,25727,4145],{"class":4426},[4408,25729,5263],{"class":5088},[4408,25731,4993],{"class":4426},[4408,25733,25734,25737,25739,25741],{"class":4410,"line":4607},[4408,25735,25736],{"class":4981},"  dateLabel",[4408,25738,4145],{"class":4426},[4408,25740,5263],{"class":5088},[4408,25742,4993],{"class":4426},[4408,25744,25745,25748,25750,25752],{"class":4410,"line":4614},[4408,25746,25747],{"class":4981},"  description",[4408,25749,4145],{"class":4426},[4408,25751,5263],{"class":5088},[4408,25753,4993],{"class":4426},[4408,25755,25756,25759,25761,25763],{"class":4410,"line":4620},[4408,25757,25758],{"class":4981},"  coverUri",[4408,25760,4145],{"class":4426},[4408,25762,5263],{"class":5088},[4408,25764,4993],{"class":4426},[4408,25766,25767],{"class":4410,"line":4626},[4408,25768,25769],{"class":11572},"  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n",[4408,25771,25772,25775,25777,25779],{"class":4410,"line":4632},[4408,25773,25774],{"class":4981},"  region",[4408,25776,4145],{"class":4426},[4408,25778,5263],{"class":5088},[4408,25780,4993],{"class":4426},[4408,25782,25783],{"class":4410,"line":4638},[4408,25784,25785],{"class":11572},"  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n",[4408,25787,25788,25791,25793,25795],{"class":4410,"line":4644},[4408,25789,25790],{"class":4981},"  isPrivate",[4408,25792,13101],{"class":4426},[4408,25794,5405],{"class":5088},[4408,25796,4993],{"class":4426},[4408,25798,25799],{"class":4410,"line":4649},[4408,25800,25801],{"class":11572},"  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n",[4408,25803,25804,25807,25809,25811],{"class":4410,"line":4655},[4408,25805,25806],{"class":4981},"  plannedDays",[4408,25808,13101],{"class":4426},[4408,25810,5446],{"class":5088},[4408,25812,4993],{"class":4426},[4408,25814,25815],{"class":4410,"line":4661},[4408,25816,25817],{"class":11572},"  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n",[4408,25819,25820,25823,25825,25827],{"class":4410,"line":4667},[4408,25821,25822],{"class":4981},"  hasItinerary",[4408,25824,13101],{"class":4426},[4408,25826,5405],{"class":5088},[4408,25828,4993],{"class":4426},[4408,25830,25831],{"class":4410,"line":4672},[4408,25832,11683],{"class":4426},[4408,25834,25835],{"class":4410,"line":4677},[4408,25836,4611],{"emptyLinePlaceholder":4610},[4408,25838,25839,25841,25843,25845],{"class":4410,"line":4683},[4408,25840,5029],{"class":4974},[4408,25842,25498],{"class":4422},[4408,25844,21921],{"class":5088},[4408,25846,25709],{"class":4426},[4408,25848,25849,25851,25853,25855],{"class":4410,"line":4689},[4408,25850,25714],{"class":4981},[4408,25852,4145],{"class":4426},[4408,25854,5263],{"class":5088},[4408,25856,4993],{"class":4426},[4408,25858,25859,25862,25864,25866],{"class":4410,"line":4695},[4408,25860,25861],{"class":4981},"  tripId",[4408,25863,4145],{"class":4426},[4408,25865,5263],{"class":5088},[4408,25867,4993],{"class":4426},[4408,25869,25870,25872,25874,25876],{"class":4410,"line":4700},[4408,25871,12215],{"class":4981},[4408,25873,4145],{"class":4426},[4408,25875,5263],{"class":5088},[4408,25877,4993],{"class":4426},[4408,25879,25880,25883,25885,25887],{"class":4410,"line":4706},[4408,25881,25882],{"class":4981},"  city",[4408,25884,4145],{"class":4426},[4408,25886,5263],{"class":5088},[4408,25888,4993],{"class":4426},[4408,25890,25891,25894,25896,25898],{"class":4410,"line":4712},[4408,25892,25893],{"class":4981},"  note",[4408,25895,4145],{"class":4426},[4408,25897,5263],{"class":5088},[4408,25899,4993],{"class":4426},[4408,25901,25902],{"class":4410,"line":4717},[4408,25903,11683],{"class":4426},[4408,25905,25906],{"class":4410,"line":4722},[4408,25907,4611],{"emptyLinePlaceholder":4610},[4408,25909,25910],{"class":4410,"line":6058},[4408,25911,25912],{"class":11572},"\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\n",[4408,25914,25915,25917,25919,25922],{"class":4410,"line":6088},[4408,25916,5029],{"class":4974},[4408,25918,10318],{"class":4422},[4408,25920,25921],{"class":5049}," TRIP_REGIONS",[4408,25923,15766],{"class":4426},[4408,25925,25926,25929],{"class":4410,"line":6099},[4408,25927,25928],{"class":4438},"  'Карпати'",[4408,25930,5737],{"class":4426},[4408,25932,25933,25936],{"class":4410,"line":6105},[4408,25934,25935],{"class":4438},"  'Захід'",[4408,25937,5737],{"class":4426},[4408,25939,25940,25943],{"class":4410,"line":6157},[4408,25941,25942],{"class":4438},"  'Південь'",[4408,25944,5737],{"class":4426},[4408,25946,25947,25950],{"class":4410,"line":6189},[4408,25948,25949],{"class":4438},"  'Центр'",[4408,25951,5737],{"class":4426},[4408,25953,25954,25957],{"class":4410,"line":6195},[4408,25955,25956],{"class":4438},"  'Схід'",[4408,25958,5737],{"class":4426},[4408,25960,25961,25964],{"class":4410,"line":6205},[4408,25962,25963],{"class":4438},"  'Інше'",[4408,25965,5737],{"class":4426},[4408,25967,25968,25970,25972,25974],{"class":4410,"line":6210},[4408,25969,10312],{"class":4426},[4408,25971,10315],{"class":4974},[4408,25973,10318],{"class":4422},[4408,25975,4993],{"class":4426},[4408,25977,25978],{"class":4410,"line":6256},[4408,25979,4611],{"emptyLinePlaceholder":4610},[4408,25981,25982,25984,25986,25989,25992,25994,25996,25998,26000],{"class":4410,"line":6263},[4408,25983,5029],{"class":4974},[4408,25985,25498],{"class":4422},[4408,25987,25988],{"class":5088}," TripRegion",[4408,25990,25991],{"class":4426}," = (",[4408,25993,10359],{"class":4422},[4408,25995,25921],{"class":5049},[4408,25997,10364],{"class":4426},[4408,25999,5446],{"class":5088},[4408,26001,15841],{"class":4426},[4399,26003,26006],{"className":9476,"code":26004,"filename":26005,"language":9478,"meta":4404,"style":4404},"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",[3540,26007,26008,26024,26028,26045,26049,26053,26058,26063,26068,26073,26078,26083,26088,26093,26098,26102,26116,26125,26132,26141,26149,26166,26184,26201,26211,26216,26223,26231,26239,26257,26275,26297,26317,26322,26335,26340,26347,26355,26372,26389,26394,26407,26412,26417,26422,26427,26444,26452,26456,26461,26502,26512,26524,26528,26532],{"__ignoreMap":4404},[4408,26009,26010,26012,26014,26016,26018,26020,26022],{"class":4410,"line":4411},[4408,26011,4975],{"class":4974},[4408,26013,4978],{"class":4426},[4408,26015,9491],{"class":4981},[4408,26017,4984],{"class":4426},[4408,26019,4987],{"class":4974},[4408,26021,15710],{"class":4438},[4408,26023,4993],{"class":4426},[4408,26025,26026],{"class":4410,"line":4595},[4408,26027,4611],{"emptyLinePlaceholder":4610},[4408,26029,26030,26032,26034,26036,26038,26040,26043],{"class":4410,"line":4601},[4408,26031,4975],{"class":4974},[4408,26033,4978],{"class":4426},[4408,26035,10563],{"class":4981},[4408,26037,4984],{"class":4426},[4408,26039,4987],{"class":4974},[4408,26041,26042],{"class":4438}," '.\u002Ftypes'",[4408,26044,4993],{"class":4426},[4408,26046,26047],{"class":4410,"line":4607},[4408,26048,4611],{"emptyLinePlaceholder":4610},[4408,26050,26051],{"class":4410,"line":4614},[4408,26052,24842],{"class":11572},[4408,26054,26055],{"class":4410,"line":4620},[4408,26056,26057],{"class":11572}," * Схема створення поїздки (Zod).\n",[4408,26059,26060],{"class":4410,"line":4626},[4408,26061,26062],{"class":11572}," * Повідомлення — українською: саме їх побачить користувач під полем.\n",[4408,26064,26065],{"class":4410,"line":4632},[4408,26066,26067],{"class":11572}," *\n",[4408,26069,26070],{"class":4410,"line":4638},[4408,26071,26072],{"class":11572}," * Покриває різні типи контролів:\n",[4408,26074,26075],{"class":4410,"line":4644},[4408,26076,26077],{"class":11572}," * - string → TextInput\n",[4408,26079,26080],{"class":4410,"line":4649},[4408,26081,26082],{"class":11572}," * - enum → Picker\n",[4408,26084,26085],{"class":4410,"line":4655},[4408,26086,26087],{"class":11572}," * - date → DateTimePicker\n",[4408,26089,26090],{"class":4410,"line":4661},[4408,26091,26092],{"class":11572}," * - boolean → Switch \u002F Checkbox\n",[4408,26094,26095],{"class":4410,"line":4667},[4408,26096,26097],{"class":11572}," * - number → Slider\n",[4408,26099,26100],{"class":4410,"line":4672},[4408,26101,24862],{"class":11572},[4408,26103,26104,26106,26108,26111,26113],{"class":4410,"line":4677},[4408,26105,5029],{"class":4974},[4408,26107,10318],{"class":4422},[4408,26109,26110],{"class":5049}," createTripSchema",[4408,26112,5804],{"class":4426},[4408,26114,26115],{"class":4981},"z\n",[4408,26117,26118,26121,26123],{"class":4410,"line":4683},[4408,26119,26120],{"class":4426},"  .",[4408,26122,11811],{"class":4430},[4408,26124,6786],{"class":4426},[4408,26126,26127,26130],{"class":4410,"line":4689},[4408,26128,26129],{"class":4981},"    title:",[4408,26131,16042],{"class":4981},[4408,26133,26134,26137,26139],{"class":4410,"line":4695},[4408,26135,26136],{"class":4426},"      .",[4408,26138,5263],{"class":4430},[4408,26140,16052],{"class":4426},[4408,26142,26143,26145,26147],{"class":4410,"line":4700},[4408,26144,26136],{"class":4426},[4408,26146,11634],{"class":4430},[4408,26148,16052],{"class":4426},[4408,26150,26151,26153,26155,26157,26159,26161,26164],{"class":4410,"line":4706},[4408,26152,26136],{"class":4426},[4408,26154,11834],{"class":4430},[4408,26156,4435],{"class":4426},[4408,26158,11646],{"class":6042},[4408,26160,3550],{"class":4426},[4408,26162,26163],{"class":4438},"'Назва має містити щонайменше 2 символи'",[4408,26165,16079],{"class":4426},[4408,26167,26168,26170,26172,26174,26177,26179,26182],{"class":4410,"line":4712},[4408,26169,26136],{"class":4426},[4408,26171,15947],{"class":4430},[4408,26173,4435],{"class":4426},[4408,26175,26176],{"class":6042},"80",[4408,26178,3550],{"class":4426},[4408,26180,26181],{"class":4438},"'Назва занадто довга (макс. 80)'",[4408,26183,11846],{"class":4426},[4408,26185,26186,26189,26191,26193,26195,26197,26199],{"class":4410,"line":4717},[4408,26187,26188],{"class":4981},"    region:",[4408,26190,11821],{"class":4981},[4408,26192,3646],{"class":4426},[4408,26194,5491],{"class":4430},[4408,26196,4435],{"class":4426},[4408,26198,10563],{"class":5049},[4408,26200,9503],{"class":4426},[4408,26202,26203,26206,26209],{"class":4410,"line":4722},[4408,26204,26205],{"class":4981},"      error:",[4408,26207,26208],{"class":4438}," 'Оберіть регіон зі списку'",[4408,26210,5737],{"class":4426},[4408,26212,26213],{"class":4410,"line":6058},[4408,26214,26215],{"class":4426},"    }),\n",[4408,26217,26218,26221],{"class":4410,"line":6088},[4408,26219,26220],{"class":4981},"    description:",[4408,26222,16042],{"class":4981},[4408,26224,26225,26227,26229],{"class":4410,"line":6099},[4408,26226,26136],{"class":4426},[4408,26228,5263],{"class":4430},[4408,26230,16052],{"class":4426},[4408,26232,26233,26235,26237],{"class":4410,"line":6105},[4408,26234,26136],{"class":4426},[4408,26236,11634],{"class":4430},[4408,26238,16052],{"class":4426},[4408,26240,26241,26243,26245,26247,26250,26252,26255],{"class":4410,"line":6157},[4408,26242,26136],{"class":4426},[4408,26244,11834],{"class":4430},[4408,26246,4435],{"class":4426},[4408,26248,26249],{"class":6042},"10",[4408,26251,3550],{"class":4426},[4408,26253,26254],{"class":4438},"'Опис — щонайменше 10 символів'",[4408,26256,16079],{"class":4426},[4408,26258,26259,26261,26263,26265,26268,26270,26273],{"class":4410,"line":6189},[4408,26260,26136],{"class":4426},[4408,26262,15947],{"class":4430},[4408,26264,4435],{"class":4426},[4408,26266,26267],{"class":6042},"500",[4408,26269,3550],{"class":4426},[4408,26271,26272],{"class":4438},"'Опис занадто довгий (макс. 500)'",[4408,26274,11846],{"class":4426},[4408,26276,26277,26280,26282,26284,26286,26288,26291,26294],{"class":4410,"line":6195},[4408,26278,26279],{"class":4981},"    startDate:",[4408,26281,11821],{"class":4981},[4408,26283,3646],{"class":4426},[4408,26285,4307],{"class":4430},[4408,26287,7080],{"class":4426},[4408,26289,26290],{"class":4981},"error:",[4408,26292,26293],{"class":4438}," 'Оберіть дату початку'",[4408,26295,26296],{"class":4426}," }),\n",[4408,26298,26299,26302,26304,26306,26308,26310,26312,26315],{"class":4410,"line":6205},[4408,26300,26301],{"class":4981},"    endDate:",[4408,26303,11821],{"class":4981},[4408,26305,3646],{"class":4426},[4408,26307,4307],{"class":4430},[4408,26309,7080],{"class":4426},[4408,26311,26290],{"class":4981},[4408,26313,26314],{"class":4438}," 'Оберіть дату завершення'",[4408,26316,26296],{"class":4426},[4408,26318,26319],{"class":4410,"line":6210},[4408,26320,26321],{"class":11572},"    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n",[4408,26323,26324,26327,26329,26331,26333],{"class":4410,"line":6256},[4408,26325,26326],{"class":4981},"    isPrivate:",[4408,26328,11821],{"class":4981},[4408,26330,3646],{"class":4426},[4408,26332,5405],{"class":4430},[4408,26334,16002],{"class":4426},[4408,26336,26337],{"class":4410,"line":6263},[4408,26338,26339],{"class":11572},"    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n",[4408,26341,26342,26345],{"class":4410,"line":6276},[4408,26343,26344],{"class":4981},"    plannedDays:",[4408,26346,16042],{"class":4981},[4408,26348,26349,26351,26353],{"class":4410,"line":6289},[4408,26350,26136],{"class":4426},[4408,26352,5446],{"class":4430},[4408,26354,16052],{"class":4426},[4408,26356,26357,26359,26361,26363,26365,26367,26370],{"class":4410,"line":6299},[4408,26358,26136],{"class":4426},[4408,26360,11834],{"class":4430},[4408,26362,4435],{"class":4426},[4408,26364,9862],{"class":6042},[4408,26366,3550],{"class":4426},[4408,26368,26369],{"class":4438},"'Мінімум 1 день'",[4408,26371,16079],{"class":4426},[4408,26373,26374,26376,26378,26380,26382,26384,26387],{"class":4410,"line":6314},[4408,26375,26136],{"class":4426},[4408,26377,15947],{"class":4430},[4408,26379,4435],{"class":4426},[4408,26381,9876],{"class":6042},[4408,26383,3550],{"class":4426},[4408,26385,26386],{"class":4438},"'У формі максимум 14 днів'",[4408,26388,11846],{"class":4426},[4408,26390,26391],{"class":4410,"line":6325},[4408,26392,26393],{"class":11572},"    \u002F** Checkbox: чи є план маршруту. *\u002F\n",[4408,26395,26396,26399,26401,26403,26405],{"class":4410,"line":6335},[4408,26397,26398],{"class":4981},"    hasItinerary:",[4408,26400,11821],{"class":4981},[4408,26402,3646],{"class":4426},[4408,26404,5405],{"class":4430},[4408,26406,16002],{"class":4426},[4408,26408,26409],{"class":4410,"line":6346},[4408,26410,26411],{"class":11572},"    \u002F**\n",[4408,26413,26414],{"class":4410,"line":6387},[4408,26415,26416],{"class":11572},"     * Checkbox з обов’язковою згодою.\n",[4408,26418,26419],{"class":4410,"line":6392},[4408,26420,26421],{"class":11572},"     * `true` — єдине прийнятне значення (як «прийняти умови»).\n",[4408,26423,26424],{"class":4410,"line":6397},[4408,26425,26426],{"class":11572},"     *\u002F\n",[4408,26428,26429,26432,26434,26436,26438,26440,26442],{"class":4410,"line":6439},[4408,26430,26431],{"class":4981},"    acceptedLocalSave:",[4408,26433,11821],{"class":4981},[4408,26435,3646],{"class":4426},[4408,26437,9496],{"class":4430},[4408,26439,4435],{"class":4426},[4408,26441,5651],{"class":4422},[4408,26443,9503],{"class":4426},[4408,26445,26446,26448,26450],{"class":4410,"line":6446},[4408,26447,26205],{"class":4981},[4408,26449,9511],{"class":4438},[4408,26451,5737],{"class":4426},[4408,26453,26454],{"class":4410,"line":6459},[4408,26455,26215],{"class":4426},[4408,26457,26458],{"class":4410,"line":6472},[4408,26459,26460],{"class":4426},"  })\n",[4408,26462,26463,26465,26467,26469,26471,26473,26475,26477,26479,26481,26483,26486,26489,26491,26493,26495,26497,26499],{"class":4410,"line":6482},[4408,26464,26120],{"class":4426},[4408,26466,10993],{"class":4430},[4408,26468,7717],{"class":4426},[4408,26470,16390],{"class":4981},[4408,26472,7723],{"class":4426},[4408,26474,7089],{"class":4422},[4408,26476,19467],{"class":4981},[4408,26478,3646],{"class":4426},[4408,26480,10096],{"class":4981},[4408,26482,3646],{"class":4426},[4408,26484,26485],{"class":4430},"getTime",[4408,26487,26488],{"class":4426},"() >= ",[4408,26490,16390],{"class":4981},[4408,26492,3646],{"class":4426},[4408,26494,10093],{"class":4981},[4408,26496,3646],{"class":4426},[4408,26498,26485],{"class":4430},[4408,26500,26501],{"class":4426},"(), {\n",[4408,26503,26504,26507,26510],{"class":4410,"line":6495},[4408,26505,26506],{"class":4981},"    message:",[4408,26508,26509],{"class":4438}," 'Дата завершення не може бути раніше початку'",[4408,26511,5737],{"class":4426},[4408,26513,26514,26517,26519,26522],{"class":4410,"line":6505},[4408,26515,26516],{"class":4981},"    path:",[4408,26518,5046],{"class":4426},[4408,26520,26521],{"class":4438},"'endDate'",[4408,26523,22518],{"class":4426},[4408,26525,26526],{"class":4410,"line":6544},[4408,26527,16582],{"class":4426},[4408,26529,26530],{"class":4410,"line":6549},[4408,26531,4611],{"emptyLinePlaceholder":4610},[4408,26533,26534,26536,26538,26540,26542,26544,26546,26548,26550,26552,26554],{"class":4410,"line":6554},[4408,26535,5029],{"class":4974},[4408,26537,25498],{"class":4422},[4408,26539,25662],{"class":5088},[4408,26541,5804],{"class":4426},[4408,26543,9491],{"class":5088},[4408,26545,3646],{"class":4426},[4408,26547,16134],{"class":5088},[4408,26549,4415],{"class":4426},[4408,26551,10359],{"class":4422},[4408,26553,26110],{"class":4981},[4408,26555,16143],{"class":4426},[4399,26557,26560],{"className":9476,"code":26558,"filename":26559,"language":9478,"meta":4404,"style":4404},"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",[3540,26561,26562,26571,26578,26585,26592,26599,26606,26613,26620,26627,26634,26641,26648,26655,26665,26669,26692,26735,26739,26743,26747,26752,26757,26761,26794,26812,26829,26846,26863,26880,26897,26901,26928,26944,26974,26978,27021,27025,27029,27043,27086,27090,27094,27142],{"__ignoreMap":4404},[4408,26563,26564,26566,26569],{"class":4410,"line":4411},[4408,26565,6770],{"class":4422},[4408,26567,26568],{"class":5049}," MONTHS_UK_SHORT",[4408,26570,15766],{"class":4426},[4408,26572,26573,26576],{"class":4410,"line":4595},[4408,26574,26575],{"class":4438},"  'січ.'",[4408,26577,5737],{"class":4426},[4408,26579,26580,26583],{"class":4410,"line":4601},[4408,26581,26582],{"class":4438},"  'лют.'",[4408,26584,5737],{"class":4426},[4408,26586,26587,26590],{"class":4410,"line":4607},[4408,26588,26589],{"class":4438},"  'бер.'",[4408,26591,5737],{"class":4426},[4408,26593,26594,26597],{"class":4410,"line":4614},[4408,26595,26596],{"class":4438},"  'квіт.'",[4408,26598,5737],{"class":4426},[4408,26600,26601,26604],{"class":4410,"line":4620},[4408,26602,26603],{"class":4438},"  'трав.'",[4408,26605,5737],{"class":4426},[4408,26607,26608,26611],{"class":4410,"line":4626},[4408,26609,26610],{"class":4438},"  'черв.'",[4408,26612,5737],{"class":4426},[4408,26614,26615,26618],{"class":4410,"line":4632},[4408,26616,26617],{"class":4438},"  'лип.'",[4408,26619,5737],{"class":4426},[4408,26621,26622,26625],{"class":4410,"line":4638},[4408,26623,26624],{"class":4438},"  'серп.'",[4408,26626,5737],{"class":4426},[4408,26628,26629,26632],{"class":4410,"line":4644},[4408,26630,26631],{"class":4438},"  'вер.'",[4408,26633,5737],{"class":4426},[4408,26635,26636,26639],{"class":4410,"line":4649},[4408,26637,26638],{"class":4438},"  'жовт.'",[4408,26640,5737],{"class":4426},[4408,26642,26643,26646],{"class":4410,"line":4655},[4408,26644,26645],{"class":4438},"  'лист.'",[4408,26647,5737],{"class":4426},[4408,26649,26650,26653],{"class":4410,"line":4661},[4408,26651,26652],{"class":4438},"  'груд.'",[4408,26654,5737],{"class":4426},[4408,26656,26657,26659,26661,26663],{"class":4410,"line":4667},[4408,26658,10312],{"class":4426},[4408,26660,10315],{"class":4974},[4408,26662,10318],{"class":4422},[4408,26664,4993],{"class":4426},[4408,26666,26667],{"class":4410,"line":4672},[4408,26668,4611],{"emptyLinePlaceholder":4610},[4408,26670,26671,26673,26676,26678,26681,26683,26685,26688,26690],{"class":4410,"line":4677},[4408,26672,12880],{"class":4422},[4408,26674,26675],{"class":4430}," dayMonth",[4408,26677,4435],{"class":4426},[4408,26679,26680],{"class":4981},"d",[4408,26682,4145],{"class":4426},[4408,26684,10826],{"class":5088},[4408,26686,26687],{"class":4426},"): ",[4408,26689,5263],{"class":5088},[4408,26691,5729],{"class":4426},[4408,26693,26694,26696,26698,26700,26702,26704,26707,26709,26711,26714,26717,26719,26721,26723,26726,26729,26731,26733],{"class":4410,"line":4683},[4408,26695,5077],{"class":4974},[4408,26697,23501],{"class":4438},[4408,26699,23504],{"class":4422},[4408,26701,26680],{"class":4981},[4408,26703,3646],{"class":4434},[4408,26705,26706],{"class":4430},"getDate",[4408,26708,25090],{"class":4434},[4408,26710,4444],{"class":4422},[4408,26712,26713],{"class":4422}," ${",[4408,26715,26716],{"class":5049},"MONTHS_UK_SHORT",[4408,26718,6223],{"class":4434},[4408,26720,26680],{"class":4981},[4408,26722,3646],{"class":4434},[4408,26724,26725],{"class":4430},"getMonth",[4408,26727,26728],{"class":4434},"()]",[4408,26730,4444],{"class":4422},[4408,26732,23835],{"class":4438},[4408,26734,4993],{"class":4426},[4408,26736,26737],{"class":4410,"line":4689},[4408,26738,4641],{"class":4426},[4408,26740,26741],{"class":4410,"line":4695},[4408,26742,4611],{"emptyLinePlaceholder":4610},[4408,26744,26745],{"class":4410,"line":4700},[4408,26746,24842],{"class":11572},[4408,26748,26749],{"class":4410,"line":4706},[4408,26750,26751],{"class":11572}," * Людський підпис періоду, як у mock-стрічці:\n",[4408,26753,26754],{"class":4410,"line":4712},[4408,26755,26756],{"class":11572}," * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n",[4408,26758,26759],{"class":4410,"line":4717},[4408,26760,24862],{"class":11572},[4408,26762,26763,26765,26767,26770,26772,26775,26777,26779,26781,26784,26786,26788,26790,26792],{"class":4410,"line":4722},[4408,26764,5029],{"class":4974},[4408,26766,5032],{"class":4422},[4408,26768,26769],{"class":4430}," formatTripDateLabel",[4408,26771,4435],{"class":4426},[4408,26773,26774],{"class":4981},"start",[4408,26776,4145],{"class":4426},[4408,26778,10826],{"class":5088},[4408,26780,3550],{"class":4426},[4408,26782,26783],{"class":4981},"end",[4408,26785,4145],{"class":4426},[4408,26787,10826],{"class":5088},[4408,26789,26687],{"class":4426},[4408,26791,5263],{"class":5088},[4408,26793,5729],{"class":4426},[4408,26795,26796,26798,26801,26803,26805,26807,26810],{"class":4410,"line":6058},[4408,26797,5043],{"class":4422},[4408,26799,26800],{"class":5049}," y1",[4408,26802,5804],{"class":4426},[4408,26804,26774],{"class":4981},[4408,26806,3646],{"class":4426},[4408,26808,26809],{"class":4430},"getFullYear",[4408,26811,21576],{"class":4426},[4408,26813,26814,26816,26819,26821,26823,26825,26827],{"class":4410,"line":6088},[4408,26815,5043],{"class":4422},[4408,26817,26818],{"class":5049}," y2",[4408,26820,5804],{"class":4426},[4408,26822,26783],{"class":4981},[4408,26824,3646],{"class":4426},[4408,26826,26809],{"class":4430},[4408,26828,21576],{"class":4426},[4408,26830,26831,26833,26836,26838,26840,26842,26844],{"class":4410,"line":6099},[4408,26832,5043],{"class":4422},[4408,26834,26835],{"class":5049}," m1",[4408,26837,5804],{"class":4426},[4408,26839,26774],{"class":4981},[4408,26841,3646],{"class":4426},[4408,26843,26725],{"class":4430},[4408,26845,21576],{"class":4426},[4408,26847,26848,26850,26853,26855,26857,26859,26861],{"class":4410,"line":6105},[4408,26849,5043],{"class":4422},[4408,26851,26852],{"class":5049}," m2",[4408,26854,5804],{"class":4426},[4408,26856,26783],{"class":4981},[4408,26858,3646],{"class":4426},[4408,26860,26725],{"class":4430},[4408,26862,21576],{"class":4426},[4408,26864,26865,26867,26870,26872,26874,26876,26878],{"class":4410,"line":6157},[4408,26866,5043],{"class":4422},[4408,26868,26869],{"class":5049}," d1",[4408,26871,5804],{"class":4426},[4408,26873,26774],{"class":4981},[4408,26875,3646],{"class":4426},[4408,26877,26706],{"class":4430},[4408,26879,21576],{"class":4426},[4408,26881,26882,26884,26887,26889,26891,26893,26895],{"class":4410,"line":6189},[4408,26883,5043],{"class":4422},[4408,26885,26886],{"class":5049}," d2",[4408,26888,5804],{"class":4426},[4408,26890,26783],{"class":4981},[4408,26892,3646],{"class":4426},[4408,26894,26706],{"class":4430},[4408,26896,21576],{"class":4426},[4408,26898,26899],{"class":4410,"line":6195},[4408,26900,4611],{"emptyLinePlaceholder":4610},[4408,26902,26903,26905,26907,26910,26912,26915,26918,26921,26923,26926],{"class":4410,"line":6205},[4408,26904,11625],{"class":4974},[4408,26906,3588],{"class":4426},[4408,26908,26909],{"class":4981},"y1",[4408,26911,13599],{"class":4426},[4408,26913,26914],{"class":4981},"y2",[4408,26916,26917],{"class":4426}," && ",[4408,26919,26920],{"class":4981},"m1",[4408,26922,13599],{"class":4426},[4408,26924,26925],{"class":4981},"m2",[4408,26927,11649],{"class":4426},[4408,26929,26930,26932,26934,26937,26939,26942],{"class":4410,"line":6210},[4408,26931,13455],{"class":4974},[4408,26933,3588],{"class":4426},[4408,26935,26936],{"class":4981},"d1",[4408,26938,13599],{"class":4426},[4408,26940,26941],{"class":4981},"d2",[4408,26943,11649],{"class":4426},[4408,26945,26946,26949,26951,26953,26956,26958,26960,26962,26964,26966,26968,26970,26972],{"class":4410,"line":6256},[4408,26947,26948],{"class":4974},"      return",[4408,26950,23501],{"class":4438},[4408,26952,23504],{"class":4422},[4408,26954,26955],{"class":4430},"dayMonth",[4408,26957,4435],{"class":4434},[4408,26959,26774],{"class":4981},[4408,26961,4292],{"class":4434},[4408,26963,4444],{"class":4422},[4408,26965,26713],{"class":4422},[4408,26967,26909],{"class":4981},[4408,26969,4444],{"class":4422},[4408,26971,23835],{"class":4438},[4408,26973,4993],{"class":4426},[4408,26975,26976],{"class":4410,"line":6263},[4408,26977,21424],{"class":4426},[4408,26979,26980,26982,26984,26986,26988,26990,26993,26995,26997,26999,27001,27003,27005,27007,27009,27011,27013,27015,27017,27019],{"class":4410,"line":6276},[4408,26981,11666],{"class":4974},[4408,26983,23501],{"class":4438},[4408,26985,23504],{"class":4422},[4408,26987,26936],{"class":4981},[4408,26989,4444],{"class":4422},[4408,26991,26992],{"class":4438},"–",[4408,26994,23504],{"class":4422},[4408,26996,26941],{"class":4981},[4408,26998,4444],{"class":4422},[4408,27000,26713],{"class":4422},[4408,27002,26716],{"class":5049},[4408,27004,6223],{"class":4434},[4408,27006,26920],{"class":4981},[4408,27008,16927],{"class":4434},[4408,27010,4444],{"class":4422},[4408,27012,26713],{"class":4422},[4408,27014,26909],{"class":4981},[4408,27016,4444],{"class":4422},[4408,27018,23835],{"class":4438},[4408,27020,4993],{"class":4426},[4408,27022,27023],{"class":4410,"line":6289},[4408,27024,11673],{"class":4426},[4408,27026,27027],{"class":4410,"line":6299},[4408,27028,4611],{"emptyLinePlaceholder":4610},[4408,27030,27031,27033,27035,27037,27039,27041],{"class":4410,"line":6314},[4408,27032,11625],{"class":4974},[4408,27034,3588],{"class":4426},[4408,27036,26909],{"class":4981},[4408,27038,13599],{"class":4426},[4408,27040,26914],{"class":4981},[4408,27042,11649],{"class":4426},[4408,27044,27045,27047,27049,27051,27053,27055,27057,27059,27061,27064,27066,27068,27070,27072,27074,27076,27078,27080,27082,27084],{"class":4410,"line":6325},[4408,27046,11666],{"class":4974},[4408,27048,23501],{"class":4438},[4408,27050,23504],{"class":4422},[4408,27052,26955],{"class":4430},[4408,27054,4435],{"class":4434},[4408,27056,26774],{"class":4981},[4408,27058,4292],{"class":4434},[4408,27060,4444],{"class":4422},[4408,27062,27063],{"class":4438}," – ",[4408,27065,23504],{"class":4422},[4408,27067,26955],{"class":4430},[4408,27069,4435],{"class":4434},[4408,27071,26783],{"class":4981},[4408,27073,4292],{"class":4434},[4408,27075,4444],{"class":4422},[4408,27077,26713],{"class":4422},[4408,27079,26909],{"class":4981},[4408,27081,4444],{"class":4422},[4408,27083,23835],{"class":4438},[4408,27085,4993],{"class":4426},[4408,27087,27088],{"class":4410,"line":6335},[4408,27089,11673],{"class":4426},[4408,27091,27092],{"class":4410,"line":6346},[4408,27093,4611],{"emptyLinePlaceholder":4610},[4408,27095,27096,27098,27100,27102,27104,27106,27108,27110,27112,27114,27116,27118,27120,27122,27124,27126,27128,27130,27132,27134,27136,27138,27140],{"class":4410,"line":6387},[4408,27097,5077],{"class":4974},[4408,27099,23501],{"class":4438},[4408,27101,23504],{"class":4422},[4408,27103,26955],{"class":4430},[4408,27105,4435],{"class":4434},[4408,27107,26774],{"class":4981},[4408,27109,4292],{"class":4434},[4408,27111,4444],{"class":4422},[4408,27113,26713],{"class":4422},[4408,27115,26909],{"class":4981},[4408,27117,4444],{"class":4422},[4408,27119,27063],{"class":4438},[4408,27121,23504],{"class":4422},[4408,27123,26955],{"class":4430},[4408,27125,4435],{"class":4434},[4408,27127,26783],{"class":4981},[4408,27129,4292],{"class":4434},[4408,27131,4444],{"class":4422},[4408,27133,26713],{"class":4422},[4408,27135,26914],{"class":4981},[4408,27137,4444],{"class":4422},[4408,27139,23835],{"class":4438},[4408,27141,4993],{"class":4426},[4408,27143,27144],{"class":4410,"line":6392},[4408,27145,4641],{"class":4426},[4399,27147,27150],{"className":4401,"code":27148,"filename":27149,"language":4403,"meta":4404,"style":4404},"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",[3540,27151,27152,27158,27165,27172,27179,27186,27193,27200,27210,27214,27231,27249,27253,27262,27274,27279,27300,27305,27318,27322,27326,27353,27357,27366,27378,27382,27386,27407,27440,27444,27469,27494,27498,27502,27519,27530,27534,27538,27551,27573,27589,27593,27597,27603,27634,27638,27642,27646,27662,27681,27692,27710,27714,27722],{"__ignoreMap":4404},[4408,27153,27154,27156],{"class":4410,"line":4411},[4408,27155,4975],{"class":4974},[4408,27157,5729],{"class":4426},[4408,27159,27160,27163],{"class":4410,"line":4595},[4408,27161,27162],{"class":4981},"  createContext",[4408,27164,5737],{"class":4426},[4408,27166,27167,27170],{"class":4410,"line":4601},[4408,27168,27169],{"class":4981},"  ReactNode",[4408,27171,5737],{"class":4426},[4408,27173,27174,27177],{"class":4410,"line":4607},[4408,27175,27176],{"class":4981},"  useCallback",[4408,27178,5737],{"class":4426},[4408,27180,27181,27184],{"class":4410,"line":4614},[4408,27182,27183],{"class":4981},"  useContext",[4408,27185,5737],{"class":4426},[4408,27187,27188,27191],{"class":4410,"line":4620},[4408,27189,27190],{"class":4981},"  useMemo",[4408,27192,5737],{"class":4426},[4408,27194,27195,27198],{"class":4410,"line":4626},[4408,27196,27197],{"class":4981},"  useState",[4408,27199,5737],{"class":4426},[4408,27201,27202,27204,27206,27208],{"class":4410,"line":4632},[4408,27203,5770],{"class":4426},[4408,27205,4987],{"class":4974},[4408,27207,4990],{"class":4438},[4408,27209,4993],{"class":4426},[4408,27211,27212],{"class":4410,"line":4638},[4408,27213,4611],{"emptyLinePlaceholder":4610},[4408,27215,27216,27218,27220,27222,27224,27226,27229],{"class":4410,"line":4644},[4408,27217,4975],{"class":4974},[4408,27219,4978],{"class":4426},[4408,27221,25465],{"class":4981},[4408,27223,4984],{"class":4426},[4408,27225,4987],{"class":4974},[4408,27227,27228],{"class":4438}," '.\u002FmockTrips'",[4408,27230,4993],{"class":4426},[4408,27232,27233,27235,27237,27239,27241,27243,27245,27247],{"class":4410,"line":4649},[4408,27234,4975],{"class":4974},[4408,27236,25498],{"class":4974},[4408,27238,4978],{"class":4426},[4408,27240,11014],{"class":4981},[4408,27242,4984],{"class":4426},[4408,27244,4987],{"class":4974},[4408,27246,26042],{"class":4438},[4408,27248,4993],{"class":4426},[4408,27250,27251],{"class":4410,"line":4655},[4408,27252,4611],{"emptyLinePlaceholder":4610},[4408,27254,27255,27257,27260],{"class":4410,"line":4661},[4408,27256,4065],{"class":4422},[4408,27258,27259],{"class":5088}," TripsContextValue",[4408,27261,25709],{"class":4426},[4408,27263,27264,27267,27269,27271],{"class":4410,"line":4667},[4408,27265,27266],{"class":4981},"  trips",[4408,27268,4145],{"class":4426},[4408,27270,11014],{"class":5088},[4408,27272,27273],{"class":4426},"[];\n",[4408,27275,27276],{"class":4410,"line":4672},[4408,27277,27278],{"class":11572},"  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n",[4408,27280,27281,27284,27286,27288,27290,27292,27294,27296,27298],{"class":4410,"line":4677},[4408,27282,27283],{"class":4430},"  addTrip",[4408,27285,16387],{"class":4426},[4408,27287,22232],{"class":4981},[4408,27289,4145],{"class":4426},[4408,27291,11014],{"class":5088},[4408,27293,7723],{"class":4426},[4408,27295,7089],{"class":4422},[4408,27297,16401],{"class":5088},[4408,27299,4993],{"class":4426},[4408,27301,27302],{"class":4410,"line":4683},[4408,27303,27304],{"class":11572},"  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n",[4408,27306,27307,27310,27312,27314,27316],{"class":4410,"line":4689},[4408,27308,27309],{"class":4430},"  resetToMock",[4408,27311,18891],{"class":4426},[4408,27313,7089],{"class":4422},[4408,27315,16401],{"class":5088},[4408,27317,4993],{"class":4426},[4408,27319,27320],{"class":4410,"line":4695},[4408,27321,11683],{"class":4426},[4408,27323,27324],{"class":4410,"line":4700},[4408,27325,4611],{"emptyLinePlaceholder":4610},[4408,27327,27328,27330,27333,27335,27338,27340,27343,27345,27347,27349,27351],{"class":4410,"line":4706},[4408,27329,6770],{"class":4422},[4408,27331,27332],{"class":5049}," TripsContext",[4408,27334,5804],{"class":4426},[4408,27336,27337],{"class":4430},"createContext",[4408,27339,4415],{"class":4426},[4408,27341,27342],{"class":5088},"TripsContextValue",[4408,27344,19391],{"class":4426},[4408,27346,12730],{"class":5088},[4408,27348,19396],{"class":4426},[4408,27350,12730],{"class":4422},[4408,27352,5068],{"class":4426},[4408,27354,27355],{"class":4410,"line":4712},[4408,27356,4611],{"emptyLinePlaceholder":4610},[4408,27358,27359,27361,27364],{"class":4410,"line":4717},[4408,27360,4065],{"class":4422},[4408,27362,27363],{"class":5088}," TripsProviderProps",[4408,27365,25709],{"class":4426},[4408,27367,27368,27371,27373,27376],{"class":4410,"line":4722},[4408,27369,27370],{"class":4981},"  children",[4408,27372,4145],{"class":4426},[4408,27374,27375],{"class":5088},"ReactNode",[4408,27377,4993],{"class":4426},[4408,27379,27380],{"class":4410,"line":6058},[4408,27381,11683],{"class":4426},[4408,27383,27384],{"class":4410,"line":6088},[4408,27385,4611],{"emptyLinePlaceholder":4610},[4408,27387,27388,27390,27392,27395,27397,27399,27402,27405],{"class":4410,"line":6099},[4408,27389,5029],{"class":4974},[4408,27391,5032],{"class":4422},[4408,27393,27394],{"class":4430}," TripsProvider",[4408,27396,7080],{"class":4426},[4408,27398,16224],{"class":4981},[4408,27400,27401],{"class":4426}," }: ",[4408,27403,27404],{"class":5088},"TripsProviderProps",[4408,27406,11649],{"class":4426},[4408,27408,27409,27411,27413,27415,27417,27420,27422,27424,27426,27428,27431,27433,27436,27438],{"class":4410,"line":6105},[4408,27410,5043],{"class":4422},[4408,27412,5046],{"class":4426},[4408,27414,22118],{"class":5049},[4408,27416,3550],{"class":4426},[4408,27418,27419],{"class":5049},"setTrips",[4408,27421,5058],{"class":4426},[4408,27423,4390],{"class":4430},[4408,27425,4415],{"class":4426},[4408,27427,11014],{"class":5088},[4408,27429,27430],{"class":4426},"[]>(() ",[4408,27432,7089],{"class":4422},[4408,27434,27435],{"class":4426}," [...",[4408,27437,25465],{"class":4981},[4408,27439,22432],{"class":4426},[4408,27441,27442],{"class":4410,"line":6157},[4408,27443,4611],{"emptyLinePlaceholder":4610},[4408,27445,27446,27448,27451,27453,27455,27457,27459,27461,27463,27465,27467],{"class":4410,"line":6189},[4408,27447,5043],{"class":4422},[4408,27449,27450],{"class":5049}," addTrip",[4408,27452,5804],{"class":4426},[4408,27454,21780],{"class":4430},[4408,27456,7717],{"class":4426},[4408,27458,22232],{"class":4981},[4408,27460,4145],{"class":4426},[4408,27462,11014],{"class":5088},[4408,27464,7723],{"class":4426},[4408,27466,7089],{"class":4422},[4408,27468,5729],{"class":4426},[4408,27470,27471,27474,27476,27479,27481,27483,27485,27487,27490,27492],{"class":4410,"line":6195},[4408,27472,27473],{"class":4430},"    setTrips",[4408,27475,7717],{"class":4426},[4408,27477,27478],{"class":4981},"prev",[4408,27480,7723],{"class":4426},[4408,27482,7089],{"class":4422},[4408,27484,5046],{"class":4426},[4408,27486,22232],{"class":4981},[4408,27488,27489],{"class":4426},", ...",[4408,27491,27478],{"class":4981},[4408,27493,22432],{"class":4426},[4408,27495,27496],{"class":4410,"line":6205},[4408,27497,22280],{"class":4426},[4408,27499,27500],{"class":4410,"line":6210},[4408,27501,4611],{"emptyLinePlaceholder":4610},[4408,27503,27504,27506,27509,27511,27513,27515,27517],{"class":4410,"line":6256},[4408,27505,5043],{"class":4422},[4408,27507,27508],{"class":5049}," resetToMock",[4408,27510,5804],{"class":4426},[4408,27512,21780],{"class":4430},[4408,27514,22363],{"class":4426},[4408,27516,7089],{"class":4422},[4408,27518,5729],{"class":4426},[4408,27520,27521,27523,27526,27528],{"class":4410,"line":6263},[4408,27522,27473],{"class":4430},[4408,27524,27525],{"class":4426},"([...",[4408,27527,25465],{"class":4981},[4408,27529,22432],{"class":4426},[4408,27531,27532],{"class":4410,"line":6276},[4408,27533,22280],{"class":4426},[4408,27535,27536],{"class":4410,"line":6289},[4408,27537,4611],{"emptyLinePlaceholder":4610},[4408,27539,27540,27542,27544,27546,27549],{"class":4410,"line":6299},[4408,27541,5043],{"class":4422},[4408,27543,8185],{"class":5049},[4408,27545,5804],{"class":4426},[4408,27547,27548],{"class":4430},"useMemo",[4408,27550,22450],{"class":4426},[4408,27552,27553,27556,27558,27561,27563,27565,27567,27569,27571],{"class":4410,"line":6314},[4408,27554,27555],{"class":4426},"    () ",[4408,27557,7089],{"class":4422},[4408,27559,27560],{"class":4426}," ({ ",[4408,27562,22118],{"class":4981},[4408,27564,3550],{"class":4426},[4408,27566,7246],{"class":4981},[4408,27568,3550],{"class":4426},[4408,27570,22123],{"class":4981},[4408,27572,26296],{"class":4426},[4408,27574,27575,27577,27579,27581,27583,27585,27587],{"class":4410,"line":6325},[4408,27576,22513],{"class":4426},[4408,27578,22118],{"class":4981},[4408,27580,3550],{"class":4426},[4408,27582,7246],{"class":4981},[4408,27584,3550],{"class":4426},[4408,27586,22123],{"class":4981},[4408,27588,22518],{"class":4426},[4408,27590,27591],{"class":4410,"line":6335},[4408,27592,5186],{"class":4426},[4408,27594,27595],{"class":4410,"line":6346},[4408,27596,4611],{"emptyLinePlaceholder":4610},[4408,27598,27599,27601],{"class":4410,"line":6387},[4408,27600,5077],{"class":4974},[4408,27602,5080],{"class":4426},[4408,27604,27605,27607,27610,27612,27614,27616,27618,27620,27622,27624,27626,27628,27630,27632],{"class":4410,"line":6392},[4408,27606,5085],{"class":4414},[4408,27608,27609],{"class":5088},"TripsContext.Provider",[4408,27611,8185],{"class":5123},[4408,27613,5127],{"class":4426},[4408,27615,5130],{"class":4422},[4408,27617,3641],{"class":4981},[4408,27619,4444],{"class":4422},[4408,27621,5101],{"class":4414},[4408,27623,5130],{"class":4422},[4408,27625,16224],{"class":4981},[4408,27627,4444],{"class":4422},[4408,27629,5107],{"class":4414},[4408,27631,27609],{"class":5088},[4408,27633,5091],{"class":4414},[4408,27635,27636],{"class":4410,"line":6397},[4408,27637,5186],{"class":4426},[4408,27639,27640],{"class":4410,"line":6439},[4408,27641,4641],{"class":4426},[4408,27643,27644],{"class":4410,"line":6446},[4408,27645,4611],{"emptyLinePlaceholder":4610},[4408,27647,27648,27650,27652,27655,27658,27660],{"class":4410,"line":6459},[4408,27649,5029],{"class":4974},[4408,27651,5032],{"class":4422},[4408,27653,27654],{"class":4430}," useTrips",[4408,27656,27657],{"class":4426},"(): ",[4408,27659,27342],{"class":5088},[4408,27661,5729],{"class":4426},[4408,27663,27664,27666,27669,27671,27674,27676,27679],{"class":4410,"line":6472},[4408,27665,5043],{"class":4422},[4408,27667,27668],{"class":5049}," ctx",[4408,27670,5804],{"class":4426},[4408,27672,27673],{"class":4430},"useContext",[4408,27675,4435],{"class":4426},[4408,27677,27678],{"class":4981},"TripsContext",[4408,27680,5068],{"class":4426},[4408,27682,27683,27685,27687,27690],{"class":4410,"line":6482},[4408,27684,11625],{"class":4974},[4408,27686,13494],{"class":4426},[4408,27688,27689],{"class":4981},"ctx",[4408,27691,11649],{"class":4426},[4408,27693,27694,27697,27700,27703,27705,27708],{"class":4410,"line":6495},[4408,27695,27696],{"class":4974},"    throw",[4408,27698,27699],{"class":4422}," new",[4408,27701,27702],{"class":4430}," Error",[4408,27704,4435],{"class":4426},[4408,27706,27707],{"class":4438},"'useTrips треба викликати всередині TripsProvider'",[4408,27709,5068],{"class":4426},[4408,27711,27712],{"class":4410,"line":6505},[4408,27713,11673],{"class":4426},[4408,27715,27716,27718,27720],{"class":4410,"line":6544},[4408,27717,5077],{"class":4974},[4408,27719,27668],{"class":4981},[4408,27721,4993],{"class":4426},[4408,27723,27724],{"class":4410,"line":6549},[4408,27725,4641],{"class":4426},[4399,27727,27730],{"className":9476,"code":27728,"filename":27729,"language":9478,"meta":4404,"style":4404},"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",[3540,27731,27732,27750,27754,27758,27763,27768,27772,27788,27793,27803,27812,27822,27831,27836,27843,27852,27856,27860,27869,27878,27887,27896,27900,27907,27916,27920,27924,27933,27942,27951,27960,27964,27971,27980,27984,27988,27997,28006,28015,28024,28028,28035,28044,28048,28052,28061,28070,28079,28088,28092,28099,28107,28111,28115,28124,28133,28142,28151,28155,28162,28170,28174,28178,28187,28196,28205,28214,28218,28225,28234,28238,28242,28251,28260,28269,28278,28282,28289,28297,28301,28305,28314,28323,28332,28341,28345,28352,28360,28364,28368,28377,28386,28395,28404,28408,28415,28423,28427,28431,28440,28449,28458,28467,28471,28478,28486,28490,28494,28503,28512,28521,28530,28534,28541,28549,28553],{"__ignoreMap":4404},[4408,27733,27734,27736,27738,27740,27742,27744,27746,27748],{"class":4410,"line":4411},[4408,27735,4975],{"class":4974},[4408,27737,25498],{"class":4974},[4408,27739,4978],{"class":4426},[4408,27741,11014],{"class":4981},[4408,27743,4984],{"class":4426},[4408,27745,4987],{"class":4974},[4408,27747,26042],{"class":4438},[4408,27749,4993],{"class":4426},[4408,27751,27752],{"class":4410,"line":4595},[4408,27753,4611],{"emptyLinePlaceholder":4610},[4408,27755,27756],{"class":4410,"line":4601},[4408,27757,24842],{"class":11572},[4408,27759,27760],{"class":4410,"line":4607},[4408,27761,27762],{"class":11572}," * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n",[4408,27764,27765],{"class":4410,"line":4614},[4408,27766,27767],{"class":11572}," * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n",[4408,27769,27770],{"class":4410,"line":4620},[4408,27771,24862],{"class":11572},[4408,27773,27774,27776,27778,27781,27783,27785],{"class":4410,"line":4626},[4408,27775,5029],{"class":4974},[4408,27777,10318],{"class":4422},[4408,27779,27780],{"class":5049}," mockTrips",[4408,27782,4145],{"class":4426},[4408,27784,11014],{"class":5088},[4408,27786,27787],{"class":4426},"[] = [\n",[4408,27789,27790],{"class":4410,"line":4632},[4408,27791,27792],{"class":4426},"  {\n",[4408,27794,27795,27798,27801],{"class":4410,"line":4638},[4408,27796,27797],{"class":4981},"    id:",[4408,27799,27800],{"class":4438}," '1'",[4408,27802,5737],{"class":4426},[4408,27804,27805,27807,27810],{"class":4410,"line":4644},[4408,27806,26129],{"class":4981},[4408,27808,27809],{"class":4438}," 'Карпати на вихідні'",[4408,27811,5737],{"class":4426},[4408,27813,27814,27817,27820],{"class":4410,"line":4649},[4408,27815,27816],{"class":4981},"    dateLabel:",[4408,27818,27819],{"class":4438}," '12–14 бер. 2026'",[4408,27821,5737],{"class":4426},[4408,27823,27824,27826,27829],{"class":4410,"line":4655},[4408,27825,26220],{"class":4981},[4408,27827,27828],{"class":4438}," 'Говерла, полонини й вечірній чай біля каміну в котеджі.'",[4408,27830,5737],{"class":4426},[4408,27832,27833],{"class":4410,"line":4661},[4408,27834,27835],{"class":4981},"    coverUri:\n",[4408,27837,27838,27841],{"class":4410,"line":4667},[4408,27839,27840],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80'",[4408,27842,5737],{"class":4426},[4408,27844,27845,27847,27850],{"class":4410,"line":4672},[4408,27846,26188],{"class":4981},[4408,27848,27849],{"class":4438}," 'Карпати'",[4408,27851,5737],{"class":4426},[4408,27853,27854],{"class":4410,"line":4677},[4408,27855,6891],{"class":4426},[4408,27857,27858],{"class":4410,"line":4683},[4408,27859,27792],{"class":4426},[4408,27861,27862,27864,27867],{"class":4410,"line":4689},[4408,27863,27797],{"class":4981},[4408,27865,27866],{"class":4438}," '2'",[4408,27868,5737],{"class":4426},[4408,27870,27871,27873,27876],{"class":4410,"line":4695},[4408,27872,26129],{"class":4981},[4408,27874,27875],{"class":4438}," 'Львівський вікенд'",[4408,27877,5737],{"class":4426},[4408,27879,27880,27882,27885],{"class":4410,"line":4700},[4408,27881,27816],{"class":4981},[4408,27883,27884],{"class":4438}," '2–4 трав. 2026'",[4408,27886,5737],{"class":4426},[4408,27888,27889,27891,27894],{"class":4410,"line":4706},[4408,27890,26220],{"class":4981},[4408,27892,27893],{"class":4438}," 'Кава, площа Ринок, закапелки й нічний трамвай.'",[4408,27895,5737],{"class":4426},[4408,27897,27898],{"class":4410,"line":4712},[4408,27899,27835],{"class":4981},[4408,27901,27902,27905],{"class":4410,"line":4717},[4408,27903,27904],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80'",[4408,27906,5737],{"class":4426},[4408,27908,27909,27911,27914],{"class":4410,"line":4722},[4408,27910,26188],{"class":4981},[4408,27912,27913],{"class":4438}," 'Захід'",[4408,27915,5737],{"class":4426},[4408,27917,27918],{"class":4410,"line":6058},[4408,27919,6891],{"class":4426},[4408,27921,27922],{"class":4410,"line":6088},[4408,27923,27792],{"class":4426},[4408,27925,27926,27928,27931],{"class":4410,"line":6099},[4408,27927,27797],{"class":4981},[4408,27929,27930],{"class":4438}," '3'",[4408,27932,5737],{"class":4426},[4408,27934,27935,27937,27940],{"class":4410,"line":6105},[4408,27936,26129],{"class":4981},[4408,27938,27939],{"class":4438}," 'Одеса біля моря'",[4408,27941,5737],{"class":4426},[4408,27943,27944,27946,27949],{"class":4410,"line":6157},[4408,27945,27816],{"class":4981},[4408,27947,27948],{"class":4438}," '18–22 лип. 2026'",[4408,27950,5737],{"class":4426},[4408,27952,27953,27955,27958],{"class":4410,"line":6189},[4408,27954,26220],{"class":4981},[4408,27956,27957],{"class":4438}," 'Схід сонця на набережній, рибний ринок і вечірній Привоз.'",[4408,27959,5737],{"class":4426},[4408,27961,27962],{"class":4410,"line":6195},[4408,27963,27835],{"class":4981},[4408,27965,27966,27969],{"class":4410,"line":6205},[4408,27967,27968],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80'",[4408,27970,5737],{"class":4426},[4408,27972,27973,27975,27978],{"class":4410,"line":6210},[4408,27974,26188],{"class":4981},[4408,27976,27977],{"class":4438}," 'Південь'",[4408,27979,5737],{"class":4426},[4408,27981,27982],{"class":4410,"line":6256},[4408,27983,6891],{"class":4426},[4408,27985,27986],{"class":4410,"line":6263},[4408,27987,27792],{"class":4426},[4408,27989,27990,27992,27995],{"class":4410,"line":6276},[4408,27991,27797],{"class":4981},[4408,27993,27994],{"class":4438}," '4'",[4408,27996,5737],{"class":4426},[4408,27998,27999,28001,28004],{"class":4410,"line":6289},[4408,28000,26129],{"class":4981},[4408,28002,28003],{"class":4438}," 'Київ на три дні'",[4408,28005,5737],{"class":4426},[4408,28007,28008,28010,28013],{"class":4410,"line":6299},[4408,28009,27816],{"class":4981},[4408,28011,28012],{"class":4438}," '5–7 черв. 2026'",[4408,28014,5737],{"class":4426},[4408,28016,28017,28019,28022],{"class":4410,"line":6314},[4408,28018,26220],{"class":4981},[4408,28020,28021],{"class":4438}," 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.'",[4408,28023,5737],{"class":4426},[4408,28025,28026],{"class":4410,"line":6325},[4408,28027,27835],{"class":4981},[4408,28029,28030,28033],{"class":4410,"line":6335},[4408,28031,28032],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80'",[4408,28034,5737],{"class":4426},[4408,28036,28037,28039,28042],{"class":4410,"line":6346},[4408,28038,26188],{"class":4981},[4408,28040,28041],{"class":4438}," 'Центр'",[4408,28043,5737],{"class":4426},[4408,28045,28046],{"class":4410,"line":6387},[4408,28047,6891],{"class":4426},[4408,28049,28050],{"class":4410,"line":6392},[4408,28051,27792],{"class":4426},[4408,28053,28054,28056,28059],{"class":4410,"line":6397},[4408,28055,27797],{"class":4981},[4408,28057,28058],{"class":4438}," '5'",[4408,28060,5737],{"class":4426},[4408,28062,28063,28065,28068],{"class":4410,"line":6439},[4408,28064,26129],{"class":4981},[4408,28066,28067],{"class":4438}," 'Чернівці: університет і дворики'",[4408,28069,5737],{"class":4426},[4408,28071,28072,28074,28077],{"class":4410,"line":6446},[4408,28073,27816],{"class":4981},[4408,28075,28076],{"class":4438}," '20–22 вер. 2026'",[4408,28078,5737],{"class":4426},[4408,28080,28081,28083,28086],{"class":4410,"line":6459},[4408,28082,26220],{"class":4981},[4408,28084,28085],{"class":4438}," 'Резиденція митрополитів, кава на Кобилянській, нічний двір.'",[4408,28087,5737],{"class":4426},[4408,28089,28090],{"class":4410,"line":6472},[4408,28091,27835],{"class":4981},[4408,28093,28094,28097],{"class":4410,"line":6482},[4408,28095,28096],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80'",[4408,28098,5737],{"class":4426},[4408,28100,28101,28103,28105],{"class":4410,"line":6495},[4408,28102,26188],{"class":4981},[4408,28104,27913],{"class":4438},[4408,28106,5737],{"class":4426},[4408,28108,28109],{"class":4410,"line":6505},[4408,28110,6891],{"class":4426},[4408,28112,28113],{"class":4410,"line":6544},[4408,28114,27792],{"class":4426},[4408,28116,28117,28119,28122],{"class":4410,"line":6549},[4408,28118,27797],{"class":4981},[4408,28120,28121],{"class":4438}," '6'",[4408,28123,5737],{"class":4426},[4408,28125,28126,28128,28131],{"class":4410,"line":6554},[4408,28127,26129],{"class":4981},[4408,28129,28130],{"class":4438}," 'Кам’янець-Подільський'",[4408,28132,5737],{"class":4426},[4408,28134,28135,28137,28140],{"class":4410,"line":6596},[4408,28136,27816],{"class":4981},[4408,28138,28139],{"class":4438}," '11–13 квіт. 2026'",[4408,28141,5737],{"class":4426},[4408,28143,28144,28146,28149],{"class":4410,"line":6603},[4408,28145,26220],{"class":4981},[4408,28147,28148],{"class":4438}," 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.'",[4408,28150,5737],{"class":4426},[4408,28152,28153],{"class":4410,"line":6616},[4408,28154,27835],{"class":4981},[4408,28156,28157,28160],{"class":4410,"line":6629},[4408,28158,28159],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80'",[4408,28161,5737],{"class":4426},[4408,28163,28164,28166,28168],{"class":4410,"line":6639},[4408,28165,26188],{"class":4981},[4408,28167,27913],{"class":4438},[4408,28169,5737],{"class":4426},[4408,28171,28172],{"class":4410,"line":6652},[4408,28173,6891],{"class":4426},[4408,28175,28176],{"class":4410,"line":6658},[4408,28177,27792],{"class":4426},[4408,28179,28180,28182,28185],{"class":4410,"line":6669},[4408,28181,27797],{"class":4981},[4408,28183,28184],{"class":4438}," '7'",[4408,28186,5737],{"class":4426},[4408,28188,28189,28191,28194],{"class":4410,"line":6681},[4408,28190,26129],{"class":4981},[4408,28192,28193],{"class":4438}," 'Харків: місто й парки'",[4408,28195,5737],{"class":4426},[4408,28197,28198,28200,28203],{"class":4410,"line":6693},[4408,28199,27816],{"class":4981},[4408,28201,28202],{"class":4438}," '8–10 серп. 2026'",[4408,28204,5737],{"class":4426},[4408,28206,28207,28209,28212],{"class":4410,"line":6705},[4408,28208,26220],{"class":4981},[4408,28210,28211],{"class":4438}," 'Саржин яр, набережна, вечірні вогні Сумської.'",[4408,28213,5737],{"class":4426},[4408,28215,28216],{"class":4410,"line":6730},[4408,28217,27835],{"class":4981},[4408,28219,28220,28223],{"class":4410,"line":6738},[4408,28221,28222],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80'",[4408,28224,5737],{"class":4426},[4408,28226,28227,28229,28232],{"class":4410,"line":6743},[4408,28228,26188],{"class":4981},[4408,28230,28231],{"class":4438}," 'Схід'",[4408,28233,5737],{"class":4426},[4408,28235,28236],{"class":4410,"line":6752},[4408,28237,6891],{"class":4426},[4408,28239,28240],{"class":4410,"line":6757},[4408,28241,27792],{"class":4426},[4408,28243,28244,28246,28249],{"class":4410,"line":6762},[4408,28245,27797],{"class":4981},[4408,28247,28248],{"class":4438}," '8'",[4408,28250,5737],{"class":4426},[4408,28252,28253,28255,28258],{"class":4410,"line":6767},[4408,28254,26129],{"class":4981},[4408,28256,28257],{"class":4438}," 'Дніпро: мости й пагорби'",[4408,28259,5737],{"class":4426},[4408,28261,28262,28264,28267],{"class":4410,"line":6789},[4408,28263,27816],{"class":4981},[4408,28265,28266],{"class":4438}," '15–17 трав. 2026'",[4408,28268,5737],{"class":4426},[4408,28270,28271,28273,28276],{"class":4410,"line":6819},[4408,28272,26220],{"class":4981},[4408,28274,28275],{"class":4438}," 'Мереживо мостів, прогулянка набережною, кава з видом на річку.'",[4408,28277,5737],{"class":4426},[4408,28279,28280],{"class":4410,"line":6827},[4408,28281,27835],{"class":4981},[4408,28283,28284,28287],{"class":4410,"line":6837},[4408,28285,28286],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80'",[4408,28288,5737],{"class":4426},[4408,28290,28291,28293,28295],{"class":4410,"line":6847},[4408,28292,26188],{"class":4981},[4408,28294,28041],{"class":4438},[4408,28296,5737],{"class":4426},[4408,28298,28299],{"class":4410,"line":6857},[4408,28300,6891],{"class":4426},[4408,28302,28303],{"class":4410,"line":6867},[4408,28304,27792],{"class":4426},[4408,28306,28307,28309,28312],{"class":4410,"line":6877},[4408,28308,27797],{"class":4981},[4408,28310,28311],{"class":4438}," '9'",[4408,28313,5737],{"class":4426},[4408,28315,28316,28318,28321],{"class":4410,"line":6888},[4408,28317,26129],{"class":4981},[4408,28319,28320],{"class":4438}," 'Ужгород і виноград'",[4408,28322,5737],{"class":4426},[4408,28324,28325,28327,28330],{"class":4410,"line":6894},[4408,28326,27816],{"class":4981},[4408,28328,28329],{"class":4438}," '25–27 жовт. 2026'",[4408,28331,5737],{"class":4426},[4408,28333,28334,28336,28339],{"class":4410,"line":6910},[4408,28335,26220],{"class":4981},[4408,28337,28338],{"class":4438}," 'Замок, липова алея, дегустація біля місцевих виноробів.'",[4408,28340,5737],{"class":4426},[4408,28342,28343],{"class":4410,"line":14357},[4408,28344,27835],{"class":4981},[4408,28346,28347,28350],{"class":4410,"line":14362},[4408,28348,28349],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80'",[4408,28351,5737],{"class":4426},[4408,28353,28354,28356,28358],{"class":4410,"line":14403},[4408,28355,26188],{"class":4981},[4408,28357,27849],{"class":4438},[4408,28359,5737],{"class":4426},[4408,28361,28362],{"class":4410,"line":14410},[4408,28363,6891],{"class":4426},[4408,28365,28366],{"class":4410,"line":14423},[4408,28367,27792],{"class":4426},[4408,28369,28370,28372,28375],{"class":4410,"line":14436},[4408,28371,27797],{"class":4981},[4408,28373,28374],{"class":4438}," '10'",[4408,28376,5737],{"class":4426},[4408,28378,28379,28381,28384],{"class":4410,"line":14446},[4408,28380,26129],{"class":4981},[4408,28382,28383],{"class":4438}," 'Полтава: смаки й історія'",[4408,28385,5737],{"class":4426},[4408,28387,28388,28390,28393],{"class":4410,"line":14456},[4408,28389,27816],{"class":4981},[4408,28391,28392],{"class":4438}," '3–5 лип. 2026'",[4408,28394,5737],{"class":4426},[4408,28396,28397,28399,28402],{"class":4410,"line":14465},[4408,28398,26220],{"class":4981},[4408,28400,28401],{"class":4438}," 'Котлета по-київськи — ні, галушки; музей і тихі двори.'",[4408,28403,5737],{"class":4426},[4408,28405,28406],{"class":4410,"line":14478},[4408,28407,27835],{"class":4981},[4408,28409,28410,28413],{"class":4410,"line":14489},[4408,28411,28412],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80'",[4408,28414,5737],{"class":4426},[4408,28416,28417,28419,28421],{"class":4410,"line":14500},[4408,28418,26188],{"class":4981},[4408,28420,28041],{"class":4438},[4408,28422,5737],{"class":4426},[4408,28424,28425],{"class":4410,"line":14535},[4408,28426,6891],{"class":4426},[4408,28428,28429],{"class":4410,"line":14542},[4408,28430,27792],{"class":4426},[4408,28432,28433,28435,28438],{"class":4410,"line":14547},[4408,28434,27797],{"class":4981},[4408,28436,28437],{"class":4438}," '11'",[4408,28439,5737],{"class":4426},[4408,28441,28442,28444,28447],{"class":4410,"line":14602},[4408,28443,26129],{"class":4981},[4408,28445,28446],{"class":4438}," 'Затока: пісок і шторм'",[4408,28448,5737],{"class":4426},[4408,28450,28451,28453,28456],{"class":4410,"line":14607},[4408,28452,27816],{"class":4981},[4408,28454,28455],{"class":4438}," '1–7 серп. 2026'",[4408,28457,5737],{"class":4426},[4408,28459,28460,28462,28465],{"class":4410,"line":14630},[4408,28461,26220],{"class":4981},[4408,28463,28464],{"class":4438}," 'Ранкові купання, вечірній вітер, книжка під парасолькою.'",[4408,28466,5737],{"class":4426},[4408,28468,28469],{"class":4410,"line":14670},[4408,28470,27835],{"class":4981},[4408,28472,28473,28476],{"class":4410,"line":14722},[4408,28474,28475],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80'",[4408,28477,5737],{"class":4426},[4408,28479,28480,28482,28484],{"class":4410,"line":14731},[4408,28481,26188],{"class":4981},[4408,28483,27977],{"class":4438},[4408,28485,5737],{"class":4426},[4408,28487,28488],{"class":4410,"line":14786},[4408,28489,6891],{"class":4426},[4408,28491,28492],{"class":4410,"line":14791},[4408,28493,27792],{"class":4426},[4408,28495,28496,28498,28501],{"class":4410,"line":14834},[4408,28497,27797],{"class":4981},[4408,28499,28500],{"class":4438}," '12'",[4408,28502,5737],{"class":4426},[4408,28504,28505,28507,28510],{"class":4410,"line":14866},[4408,28506,26129],{"class":4981},[4408,28508,28509],{"class":4438}," 'Яремче: водоспад і ліс'",[4408,28511,5737],{"class":4426},[4408,28513,28514,28516,28519],{"class":4410,"line":14875},[4408,28515,27816],{"class":4981},[4408,28517,28518],{"class":4438}," '19–21 черв. 2026'",[4408,28520,5737],{"class":4426},[4408,28522,28523,28525,28528],{"class":4410,"line":14884},[4408,28524,26220],{"class":4981},[4408,28526,28527],{"class":4438}," 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.'",[4408,28529,5737],{"class":4426},[4408,28531,28532],{"class":4410,"line":14893},[4408,28533,27835],{"class":4981},[4408,28535,28536,28539],{"class":4410,"line":14898},[4408,28537,28538],{"class":4438},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80'",[4408,28540,5737],{"class":4426},[4408,28542,28543,28545,28547],{"class":4410,"line":14903},[4408,28544,26188],{"class":4981},[4408,28546,27849],{"class":4438},[4408,28548,5737],{"class":4426},[4408,28550,28551],{"class":4410,"line":14908},[4408,28552,6891],{"class":4426},[4408,28554,28555],{"class":4410,"line":14925},[4408,28556,15841],{"class":4426},[4399,28558,28561],{"className":9476,"code":28559,"filename":28560,"language":9478,"meta":4404,"style":4404},"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",[3540,28562,28563,28581,28585,28590,28605,28609,28618,28627,28637,28646,28656,28660,28664,28673,28681,28690,28698,28707,28711,28715,28724,28732,28741,28750,28759,28763,28767,28776,28784,28793,28801,28810,28814,28818,28827,28835,28844,28853,28862,28866,28870,28879,28887,28896,28904,28913,28917,28921,28930,28938,28947,28956,28965,28969,28973,28982,28990,28999,29008,29017,29021,29025,29034,29042,29051,29060,29069,29073,29077,29086,29094,29103,29112,29121,29125],{"__ignoreMap":4404},[4408,28564,28565,28567,28569,28571,28573,28575,28577,28579],{"class":4410,"line":4411},[4408,28566,4975],{"class":4974},[4408,28568,25498],{"class":4974},[4408,28570,4978],{"class":4426},[4408,28572,22180],{"class":4981},[4408,28574,4984],{"class":4426},[4408,28576,4987],{"class":4974},[4408,28578,26042],{"class":4438},[4408,28580,4993],{"class":4426},[4408,28582,28583],{"class":4410,"line":4595},[4408,28584,4611],{"emptyLinePlaceholder":4610},[4408,28586,28587],{"class":4410,"line":4601},[4408,28588,28589],{"class":11572},"\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\n",[4408,28591,28592,28594,28596,28599,28601,28603],{"class":4410,"line":4607},[4408,28593,5029],{"class":4974},[4408,28595,10318],{"class":4422},[4408,28597,28598],{"class":5049}," mockPlaces",[4408,28600,4145],{"class":4426},[4408,28602,22180],{"class":5088},[4408,28604,27787],{"class":4426},[4408,28606,28607],{"class":4410,"line":4614},[4408,28608,27792],{"class":4426},[4408,28610,28611,28613,28616],{"class":4410,"line":4620},[4408,28612,27797],{"class":4981},[4408,28614,28615],{"class":4438}," 'p1'",[4408,28617,5737],{"class":4426},[4408,28619,28620,28623,28625],{"class":4410,"line":4626},[4408,28621,28622],{"class":4981},"    tripId:",[4408,28624,27800],{"class":4438},[4408,28626,5737],{"class":4426},[4408,28628,28629,28632,28635],{"class":4410,"line":4632},[4408,28630,28631],{"class":4981},"    name:",[4408,28633,28634],{"class":4438}," 'Говерла'",[4408,28636,5737],{"class":4426},[4408,28638,28639,28642,28644],{"class":4410,"line":4638},[4408,28640,28641],{"class":4981},"    city:",[4408,28643,27849],{"class":4438},[4408,28645,5737],{"class":4426},[4408,28647,28648,28651,28654],{"class":4410,"line":4644},[4408,28649,28650],{"class":4981},"    note:",[4408,28652,28653],{"class":4438}," 'Схід сонця з вершини'",[4408,28655,5737],{"class":4426},[4408,28657,28658],{"class":4410,"line":4649},[4408,28659,6891],{"class":4426},[4408,28661,28662],{"class":4410,"line":4655},[4408,28663,27792],{"class":4426},[4408,28665,28666,28668,28671],{"class":4410,"line":4661},[4408,28667,27797],{"class":4981},[4408,28669,28670],{"class":4438}," 'p2'",[4408,28672,5737],{"class":4426},[4408,28674,28675,28677,28679],{"class":4410,"line":4667},[4408,28676,28622],{"class":4981},[4408,28678,27800],{"class":4438},[4408,28680,5737],{"class":4426},[4408,28682,28683,28685,28688],{"class":4410,"line":4672},[4408,28684,28631],{"class":4981},[4408,28686,28687],{"class":4438}," 'Котедж біля полонини'",[4408,28689,5737],{"class":4426},[4408,28691,28692,28694,28696],{"class":4410,"line":4677},[4408,28693,28641],{"class":4981},[4408,28695,27849],{"class":4438},[4408,28697,5737],{"class":4426},[4408,28699,28700,28702,28705],{"class":4410,"line":4683},[4408,28701,28650],{"class":4981},[4408,28703,28704],{"class":4438}," 'Вечірній чай і камін'",[4408,28706,5737],{"class":4426},[4408,28708,28709],{"class":4410,"line":4689},[4408,28710,6891],{"class":4426},[4408,28712,28713],{"class":4410,"line":4695},[4408,28714,27792],{"class":4426},[4408,28716,28717,28719,28722],{"class":4410,"line":4700},[4408,28718,27797],{"class":4981},[4408,28720,28721],{"class":4438}," 'p3'",[4408,28723,5737],{"class":4426},[4408,28725,28726,28728,28730],{"class":4410,"line":4706},[4408,28727,28622],{"class":4981},[4408,28729,27866],{"class":4438},[4408,28731,5737],{"class":4426},[4408,28733,28734,28736,28739],{"class":4410,"line":4712},[4408,28735,28631],{"class":4981},[4408,28737,28738],{"class":4438}," 'Площа Ринок'",[4408,28740,5737],{"class":4426},[4408,28742,28743,28745,28748],{"class":4410,"line":4717},[4408,28744,28641],{"class":4981},[4408,28746,28747],{"class":4438}," 'Львів'",[4408,28749,5737],{"class":4426},[4408,28751,28752,28754,28757],{"class":4410,"line":4722},[4408,28753,28650],{"class":4981},[4408,28755,28756],{"class":4438}," 'Ратуша й кав’ярні'",[4408,28758,5737],{"class":4426},[4408,28760,28761],{"class":4410,"line":6058},[4408,28762,6891],{"class":4426},[4408,28764,28765],{"class":4410,"line":6088},[4408,28766,27792],{"class":4426},[4408,28768,28769,28771,28774],{"class":4410,"line":6099},[4408,28770,27797],{"class":4981},[4408,28772,28773],{"class":4438}," 'p4'",[4408,28775,5737],{"class":4426},[4408,28777,28778,28780,28782],{"class":4410,"line":6105},[4408,28779,28622],{"class":4981},[4408,28781,27866],{"class":4438},[4408,28783,5737],{"class":4426},[4408,28785,28786,28788,28791],{"class":4410,"line":6157},[4408,28787,28631],{"class":4981},[4408,28789,28790],{"class":4438}," 'Високий Замок'",[4408,28792,5737],{"class":4426},[4408,28794,28795,28797,28799],{"class":4410,"line":6189},[4408,28796,28641],{"class":4981},[4408,28798,28747],{"class":4438},[4408,28800,5737],{"class":4426},[4408,28802,28803,28805,28808],{"class":4410,"line":6195},[4408,28804,28650],{"class":4981},[4408,28806,28807],{"class":4438}," 'Панорама міста'",[4408,28809,5737],{"class":4426},[4408,28811,28812],{"class":4410,"line":6205},[4408,28813,6891],{"class":4426},[4408,28815,28816],{"class":4410,"line":6210},[4408,28817,27792],{"class":4426},[4408,28819,28820,28822,28825],{"class":4410,"line":6256},[4408,28821,27797],{"class":4981},[4408,28823,28824],{"class":4438}," 'p5'",[4408,28826,5737],{"class":4426},[4408,28828,28829,28831,28833],{"class":4410,"line":6263},[4408,28830,28622],{"class":4981},[4408,28832,27930],{"class":4438},[4408,28834,5737],{"class":4426},[4408,28836,28837,28839,28842],{"class":4410,"line":6276},[4408,28838,28631],{"class":4981},[4408,28840,28841],{"class":4438}," 'Дерибасівська'",[4408,28843,5737],{"class":4426},[4408,28845,28846,28848,28851],{"class":4410,"line":6289},[4408,28847,28641],{"class":4981},[4408,28849,28850],{"class":4438}," 'Одеса'",[4408,28852,5737],{"class":4426},[4408,28854,28855,28857,28860],{"class":4410,"line":6299},[4408,28856,28650],{"class":4981},[4408,28858,28859],{"class":4438}," 'Прогулянка ввечері'",[4408,28861,5737],{"class":4426},[4408,28863,28864],{"class":4410,"line":6314},[4408,28865,6891],{"class":4426},[4408,28867,28868],{"class":4410,"line":6325},[4408,28869,27792],{"class":4426},[4408,28871,28872,28874,28877],{"class":4410,"line":6335},[4408,28873,27797],{"class":4981},[4408,28875,28876],{"class":4438}," 'p6'",[4408,28878,5737],{"class":4426},[4408,28880,28881,28883,28885],{"class":4410,"line":6346},[4408,28882,28622],{"class":4981},[4408,28884,27930],{"class":4438},[4408,28886,5737],{"class":4426},[4408,28888,28889,28891,28894],{"class":4410,"line":6387},[4408,28890,28631],{"class":4981},[4408,28892,28893],{"class":4438}," 'Ланжерон'",[4408,28895,5737],{"class":4426},[4408,28897,28898,28900,28902],{"class":4410,"line":6392},[4408,28899,28641],{"class":4981},[4408,28901,28850],{"class":4438},[4408,28903,5737],{"class":4426},[4408,28905,28906,28908,28911],{"class":4410,"line":6397},[4408,28907,28650],{"class":4981},[4408,28909,28910],{"class":4438}," 'Пляж і набережна'",[4408,28912,5737],{"class":4426},[4408,28914,28915],{"class":4410,"line":6439},[4408,28916,6891],{"class":4426},[4408,28918,28919],{"class":4410,"line":6446},[4408,28920,27792],{"class":4426},[4408,28922,28923,28925,28928],{"class":4410,"line":6459},[4408,28924,27797],{"class":4981},[4408,28926,28927],{"class":4438}," 'p7'",[4408,28929,5737],{"class":4426},[4408,28931,28932,28934,28936],{"class":4410,"line":6472},[4408,28933,28622],{"class":4981},[4408,28935,27994],{"class":4438},[4408,28937,5737],{"class":4426},[4408,28939,28940,28942,28945],{"class":4410,"line":6482},[4408,28941,28631],{"class":4981},[4408,28943,28944],{"class":4438}," 'Андріївський узвіз'",[4408,28946,5737],{"class":4426},[4408,28948,28949,28951,28954],{"class":4410,"line":6495},[4408,28950,28641],{"class":4981},[4408,28952,28953],{"class":4438}," 'Київ'",[4408,28955,5737],{"class":4426},[4408,28957,28958,28960,28963],{"class":4410,"line":6505},[4408,28959,28650],{"class":4981},[4408,28961,28962],{"class":4438}," 'Галереї й бруківка'",[4408,28964,5737],{"class":4426},[4408,28966,28967],{"class":4410,"line":6544},[4408,28968,6891],{"class":4426},[4408,28970,28971],{"class":4410,"line":6549},[4408,28972,27792],{"class":4426},[4408,28974,28975,28977,28980],{"class":4410,"line":6554},[4408,28976,27797],{"class":4981},[4408,28978,28979],{"class":4438}," 'p8'",[4408,28981,5737],{"class":4426},[4408,28983,28984,28986,28988],{"class":4410,"line":6596},[4408,28985,28622],{"class":4981},[4408,28987,28121],{"class":4438},[4408,28989,5737],{"class":4426},[4408,28991,28992,28994,28997],{"class":4410,"line":6603},[4408,28993,28631],{"class":4981},[4408,28995,28996],{"class":4438}," 'Стара фортеця'",[4408,28998,5737],{"class":4426},[4408,29000,29001,29003,29006],{"class":4410,"line":6616},[4408,29002,28641],{"class":4981},[4408,29004,29005],{"class":4438}," 'Кам’янець'",[4408,29007,5737],{"class":4426},[4408,29009,29010,29012,29015],{"class":4410,"line":6629},[4408,29011,28650],{"class":4981},[4408,29013,29014],{"class":4438}," 'Фото з мосту'",[4408,29016,5737],{"class":4426},[4408,29018,29019],{"class":4410,"line":6639},[4408,29020,6891],{"class":4426},[4408,29022,29023],{"class":4410,"line":6652},[4408,29024,27792],{"class":4426},[4408,29026,29027,29029,29032],{"class":4410,"line":6658},[4408,29028,27797],{"class":4981},[4408,29030,29031],{"class":4438}," 'p9'",[4408,29033,5737],{"class":4426},[4408,29035,29036,29038,29040],{"class":4410,"line":6669},[4408,29037,28622],{"class":4981},[4408,29039,28311],{"class":4438},[4408,29041,5737],{"class":4426},[4408,29043,29044,29046,29049],{"class":4410,"line":6681},[4408,29045,28631],{"class":4981},[4408,29047,29048],{"class":4438}," 'Ужгородський замок'",[4408,29050,5737],{"class":4426},[4408,29052,29053,29055,29058],{"class":4410,"line":6693},[4408,29054,28641],{"class":4981},[4408,29056,29057],{"class":4438}," 'Ужгород'",[4408,29059,5737],{"class":4426},[4408,29061,29062,29064,29067],{"class":4410,"line":6705},[4408,29063,28650],{"class":4981},[4408,29065,29066],{"class":4438}," 'Музей і сад'",[4408,29068,5737],{"class":4426},[4408,29070,29071],{"class":4410,"line":6730},[4408,29072,6891],{"class":4426},[4408,29074,29075],{"class":4410,"line":6738},[4408,29076,27792],{"class":4426},[4408,29078,29079,29081,29084],{"class":4410,"line":6743},[4408,29080,27797],{"class":4981},[4408,29082,29083],{"class":4438}," 'p10'",[4408,29085,5737],{"class":4426},[4408,29087,29088,29090,29092],{"class":4410,"line":6752},[4408,29089,28622],{"class":4981},[4408,29091,28500],{"class":4438},[4408,29093,5737],{"class":4426},[4408,29095,29096,29098,29101],{"class":4410,"line":6757},[4408,29097,28631],{"class":4981},[4408,29099,29100],{"class":4438}," 'Водоспад Пробій'",[4408,29102,5737],{"class":4426},[4408,29104,29105,29107,29110],{"class":4410,"line":6762},[4408,29106,28641],{"class":4981},[4408,29108,29109],{"class":4438}," 'Яремче'",[4408,29111,5737],{"class":4426},[4408,29113,29114,29116,29119],{"class":4410,"line":6767},[4408,29115,28650],{"class":4981},[4408,29117,29118],{"class":4438}," 'Шум води й місток'",[4408,29120,5737],{"class":4426},[4408,29122,29123],{"class":4410,"line":6789},[4408,29124,6891],{"class":4426},[4408,29126,29127],{"class":4410,"line":6819},[4408,29128,15841],{"class":4426},[4399,29130,29133],{"className":4401,"code":29131,"filename":29132,"language":4403,"meta":4404,"style":4404},"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",[3540,29134,29135,29151,29157,29163,29169,29175,29181,29187,29193,29203,29223,29239,29255,29267,29279,29283,29289,29295,29303,29314,29331,29354,29371,29388,29404,29428,29432,29441,29462,29476,29480,29484,29497,29514,29542,29550,29554,29558,29588,29606,29630,29638,29642,29646,29650,29655,29660,29664,29675,29681,29687,29697,29720,29743,29747,29753,29759,29765,29771,29781,29794,29806,29812,29821,29830,29839,29848,29867,29876,29886,29895,29900,29917,29921,29929,29937,29941,29945,29963,29981,29985,30007,30018,30030,30055,30068,30080,30093,30118,30148,30160,30172,30184,30189,30200,30210,30214,30218,30224,30230,30246,30274,30303,30307,30313,30329,30339,30350,30384,30390,30398,30406,30415,30419,30447,30452,30457,30462,30470,30474,30483,30489,30501,30509,30539,30546,30556,30565,30577,30589,30601,30622,30631,30639,30651,30655,30661,30665,30669,30678,30684,30696,30704,30730,30737,30746,30756,30776,30781,30790,30796,30806,30817,30822,30834,30846,30859,30872,30886,30891,30898,30902,30909,30922,30935,30952,30975,30980,31001,31009,31022,31035,31048,31065,31070,31077,31086,31094,31099,31103,31109,31113,31117,31126,31132,31144,31153,31183,31190,31199,31211,31224,31236,31256,31260,31266,31270,31274,31280,31292,31301,31331,31337,31346,31358,31370,31382,31402,31415,31419,31425,31429,31433,31442,31448,31460,31469,31499,31505,31514,31523,31535,31547,31559,31579,31583,31597,31605,31621,31633,31643,31647,31653,31657,31661,31670,31676,31688,31696,31722,31728,31762,31771,31791,31795,31803,31809,31822,31835,31848,31861,31874,31891,31908,31925,31930,31934,31938,31944,31948,31976,31993,32015,32020,32028,32032,32041,32047,32059,32067,32093,32099,32108,32117,32137,32145,32151,32163,32175,32186,32199,32212,32219,32236,32253,32257,32261,32265,32271,32275,32279,32288,32294,32306,32315,32341,32347,32356,32365,32385,32393,32399,32411,32423,32434,32446,32458,32464,32481,32498,32515,32524,32528,32532,32536,32542,32546,32550,32559,32565,32577,32586,32612,32618,32627,32636,32656,32664,32670,32688,32700,32710,32722,32734,32740,32756,32772,32788,32796,32800,32804,32808,32814,32818,32822,32831,32869,32875,32898,32917,32930,32934,32945,32951,32961,32972,32986,33000,33005,33015,33023,33032,33041,33046,33051,33056,33078,33108,33127,33159,33182,33214,33223,33228,33233,33250,33257,33266,33271,33279,33289,33294,33302,33312,33317,33324,33333,33342,33347],{"__ignoreMap":4404},[4408,29136,29137,29139,29141,29143,29145,29147,29149],{"class":4410,"line":4411},[4408,29138,4975],{"class":4974},[4408,29140,4978],{"class":4426},[4408,29142,4390],{"class":4981},[4408,29144,4984],{"class":4426},[4408,29146,4987],{"class":4974},[4408,29148,4990],{"class":4438},[4408,29150,4993],{"class":4426},[4408,29152,29153,29155],{"class":4410,"line":4595},[4408,29154,4975],{"class":4974},[4408,29156,5729],{"class":4426},[4408,29158,29159,29161],{"class":4410,"line":4601},[4408,29160,13012],{"class":4981},[4408,29162,5737],{"class":4426},[4408,29164,29165,29167],{"class":4410,"line":4607},[4408,29166,13019],{"class":4981},[4408,29168,5737],{"class":4426},[4408,29170,29171,29173],{"class":4410,"line":4614},[4408,29172,5734],{"class":4981},[4408,29174,5737],{"class":4426},[4408,29176,29177,29179],{"class":4410,"line":4620},[4408,29178,5742],{"class":4981},[4408,29180,5737],{"class":4426},[4408,29182,29183,29185],{"class":4410,"line":4626},[4408,29184,13057],{"class":4981},[4408,29186,5737],{"class":4426},[4408,29188,29189,29191],{"class":4410,"line":4632},[4408,29190,13064],{"class":4981},[4408,29192,5737],{"class":4426},[4408,29194,29195,29197,29199,29201],{"class":4410,"line":4638},[4408,29196,5770],{"class":4426},[4408,29198,4987],{"class":4974},[4408,29200,5018],{"class":4438},[4408,29202,4993],{"class":4426},[4408,29204,29205,29207,29209,29211,29213,29215,29217,29219,29221],{"class":4410,"line":4644},[4408,29206,4975],{"class":4974},[4408,29208,4978],{"class":4426},[4408,29210,3701],{"class":4981},[4408,29212,3550],{"class":4426},[4408,29214,11765],{"class":4981},[4408,29216,4984],{"class":4426},[4408,29218,4987],{"class":4974},[4408,29220,15676],{"class":4438},[4408,29222,4993],{"class":4426},[4408,29224,29225,29227,29229,29231,29233,29235,29237],{"class":4410,"line":4649},[4408,29226,4975],{"class":4974},[4408,29228,4978],{"class":4426},[4408,29230,3707],{"class":4981},[4408,29232,4984],{"class":4426},[4408,29234,4987],{"class":4974},[4408,29236,15693],{"class":4438},[4408,29238,4993],{"class":4426},[4408,29240,29241,29243,29245,29247,29249,29251,29253],{"class":4410,"line":4655},[4408,29242,4975],{"class":4974},[4408,29244,4978],{"class":4426},[4408,29246,3677],{"class":4981},[4408,29248,4984],{"class":4426},[4408,29250,4987],{"class":4974},[4408,29252,10265],{"class":4438},[4408,29254,4993],{"class":4426},[4408,29256,29257,29259,29261,29263,29265],{"class":4410,"line":4661},[4408,29258,4975],{"class":4974},[4408,29260,9163],{"class":4981},[4408,29262,9166],{"class":4974},[4408,29264,9169],{"class":4438},[4408,29266,4993],{"class":4426},[4408,29268,29269,29271,29273,29275,29277],{"class":4410,"line":4667},[4408,29270,4975],{"class":4974},[4408,29272,9752],{"class":4981},[4408,29274,9166],{"class":4974},[4408,29276,9757],{"class":4438},[4408,29278,4993],{"class":4426},[4408,29280,29281],{"class":4410,"line":4672},[4408,29282,4611],{"emptyLinePlaceholder":4610},[4408,29284,29285,29287],{"class":4410,"line":4677},[4408,29286,4975],{"class":4974},[4408,29288,5729],{"class":4426},[4408,29290,29291,29293],{"class":4410,"line":4683},[4408,29292,25653],{"class":4981},[4408,29294,5737],{"class":4426},[4408,29296,29297,29299,29301],{"class":4410,"line":4689},[4408,29298,21918],{"class":4974},[4408,29300,25662],{"class":4981},[4408,29302,5737],{"class":4426},[4408,29304,29305,29307,29309,29312],{"class":4410,"line":4695},[4408,29306,5770],{"class":4426},[4408,29308,4987],{"class":4974},[4408,29310,29311],{"class":4438}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema'",[4408,29313,4993],{"class":4426},[4408,29315,29316,29318,29320,29322,29324,29326,29329],{"class":4410,"line":4700},[4408,29317,4975],{"class":4974},[4408,29319,4978],{"class":4426},[4408,29321,11010],{"class":4981},[4408,29323,4984],{"class":4426},[4408,29325,4987],{"class":4974},[4408,29327,29328],{"class":4438}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates'",[4408,29330,4993],{"class":4426},[4408,29332,29333,29335,29337,29339,29341,29343,29345,29347,29349,29352],{"class":4410,"line":4706},[4408,29334,4975],{"class":4974},[4408,29336,4978],{"class":4426},[4408,29338,10563],{"class":4981},[4408,29340,3550],{"class":4426},[4408,29342,4065],{"class":4974},[4408,29344,21930],{"class":4981},[4408,29346,4984],{"class":4426},[4408,29348,4987],{"class":4974},[4408,29350,29351],{"class":4438}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes'",[4408,29353,4993],{"class":4426},[4408,29355,29356,29358,29360,29362,29364,29366,29369],{"class":4410,"line":4712},[4408,29357,4975],{"class":4974},[4408,29359,4978],{"class":4426},[4408,29361,10957],{"class":4981},[4408,29363,4984],{"class":4426},[4408,29365,4987],{"class":4974},[4408,29367,29368],{"class":4438}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField'",[4408,29370,4993],{"class":4426},[4408,29372,29373,29375,29377,29379,29381,29383,29386],{"class":4410,"line":4717},[4408,29374,4975],{"class":4974},[4408,29376,4978],{"class":4426},[4408,29378,12740],{"class":4981},[4408,29380,4984],{"class":4426},[4408,29382,4987],{"class":4974},[4408,29384,29385],{"class":4438}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow'",[4408,29387,4993],{"class":4426},[4408,29389,29390,29392,29394,29396,29398,29400,29402],{"class":4410,"line":4722},[4408,29391,4975],{"class":4974},[4408,29393,4978],{"class":4426},[4408,29395,21532],{"class":4981},[4408,29397,4984],{"class":4426},[4408,29399,4987],{"class":4974},[4408,29401,21539],{"class":4438},[4408,29403,4993],{"class":4426},[4408,29405,29406,29408,29410,29412,29414,29416,29418,29420,29422,29424,29426],{"class":4410,"line":6058},[4408,29407,4975],{"class":4974},[4408,29409,4978],{"class":4426},[4408,29411,20487],{"class":4981},[4408,29413,3550],{"class":4426},[4408,29415,3660],{"class":4981},[4408,29417,3550],{"class":4426},[4408,29419,5248],{"class":4981},[4408,29421,4984],{"class":4426},[4408,29423,4987],{"class":4974},[4408,29425,21988],{"class":4438},[4408,29427,4993],{"class":4426},[4408,29429,29430],{"class":4410,"line":6088},[4408,29431,4611],{"emptyLinePlaceholder":4610},[4408,29433,29434,29436,29439],{"class":4410,"line":6099},[4408,29435,4065],{"class":4422},[4408,29437,29438],{"class":5088}," CreateTripFormProps",[4408,29440,25709],{"class":4426},[4408,29442,29443,29446,29448,29450,29452,29454,29456,29458,29460],{"class":4410,"line":6105},[4408,29444,29445],{"class":4430},"  onSubmitSuccess",[4408,29447,16387],{"class":4426},[4408,29449,22232],{"class":4981},[4408,29451,4145],{"class":4426},[4408,29453,11014],{"class":5088},[4408,29455,7723],{"class":4426},[4408,29457,7089],{"class":4422},[4408,29459,16401],{"class":5088},[4408,29461,4993],{"class":4426},[4408,29463,29464,29467,29470,29472,29474],{"class":4410,"line":6157},[4408,29465,29466],{"class":4430},"  onCancel",[4408,29468,29469],{"class":4426},"?: () ",[4408,29471,7089],{"class":4422},[4408,29473,16401],{"class":5088},[4408,29475,4993],{"class":4426},[4408,29477,29478],{"class":4410,"line":6189},[4408,29479,11683],{"class":4426},[4408,29481,29482],{"class":4410,"line":6195},[4408,29483,4611],{"emptyLinePlaceholder":4610},[4408,29485,29486,29488,29491,29493,29495],{"class":4410,"line":6205},[4408,29487,12880],{"class":4422},[4408,29489,29490],{"class":4430}," startOfToday",[4408,29492,27657],{"class":4426},[4408,29494,10826],{"class":5088},[4408,29496,5729],{"class":4426},[4408,29498,29499,29501,29504,29506,29509,29512],{"class":4410,"line":6210},[4408,29500,5043],{"class":4422},[4408,29502,29503],{"class":5049}," d",[4408,29505,5804],{"class":4426},[4408,29507,29508],{"class":4422},"new",[4408,29510,29511],{"class":4430}," Date",[4408,29513,21576],{"class":4426},[4408,29515,29516,29519,29521,29524,29526,29528,29530,29532,29534,29536,29538,29540],{"class":4410,"line":6256},[4408,29517,29518],{"class":4981},"  d",[4408,29520,3646],{"class":4426},[4408,29522,29523],{"class":4430},"setHours",[4408,29525,4435],{"class":4426},[4408,29527,25104],{"class":6042},[4408,29529,3550],{"class":4426},[4408,29531,7554],{"class":6042},[4408,29533,3550],{"class":4426},[4408,29535,7554],{"class":6042},[4408,29537,3550],{"class":4426},[4408,29539,7554],{"class":6042},[4408,29541,5068],{"class":4426},[4408,29543,29544,29546,29548],{"class":4410,"line":6263},[4408,29545,5077],{"class":4974},[4408,29547,29503],{"class":4981},[4408,29549,4993],{"class":4426},[4408,29551,29552],{"class":4410,"line":6276},[4408,29553,4641],{"class":4426},[4408,29555,29556],{"class":4410,"line":6289},[4408,29557,4611],{"emptyLinePlaceholder":4610},[4408,29559,29560,29562,29565,29567,29570,29572,29574,29576,29578,29580,29582,29584,29586],{"class":4410,"line":6299},[4408,29561,12880],{"class":4422},[4408,29563,29564],{"class":4430}," addDays",[4408,29566,4435],{"class":4426},[4408,29568,29569],{"class":4981},"base",[4408,29571,4145],{"class":4426},[4408,29573,10826],{"class":5088},[4408,29575,3550],{"class":4426},[4408,29577,9783],{"class":4981},[4408,29579,4145],{"class":4426},[4408,29581,5446],{"class":5088},[4408,29583,26687],{"class":4426},[4408,29585,10826],{"class":5088},[4408,29587,5729],{"class":4426},[4408,29589,29590,29592,29594,29596,29598,29600,29602,29604],{"class":4410,"line":6314},[4408,29591,5043],{"class":4422},[4408,29593,29503],{"class":5049},[4408,29595,5804],{"class":4426},[4408,29597,29508],{"class":4422},[4408,29599,29511],{"class":4430},[4408,29601,4435],{"class":4426},[4408,29603,29569],{"class":4981},[4408,29605,5068],{"class":4426},[4408,29607,29608,29610,29612,29615,29617,29619,29621,29623,29626,29628],{"class":4410,"line":6325},[4408,29609,29518],{"class":4981},[4408,29611,3646],{"class":4426},[4408,29613,29614],{"class":4430},"setDate",[4408,29616,4435],{"class":4426},[4408,29618,26680],{"class":4981},[4408,29620,3646],{"class":4426},[4408,29622,26706],{"class":4430},[4408,29624,29625],{"class":4426},"() + ",[4408,29627,9783],{"class":4981},[4408,29629,5068],{"class":4426},[4408,29631,29632,29634,29636],{"class":4410,"line":6335},[4408,29633,5077],{"class":4974},[4408,29635,29503],{"class":4981},[4408,29637,4993],{"class":4426},[4408,29639,29640],{"class":4410,"line":6346},[4408,29641,4641],{"class":4426},[4408,29643,29644],{"class":4410,"line":6387},[4408,29645,4611],{"emptyLinePlaceholder":4610},[4408,29647,29648],{"class":4410,"line":6392},[4408,29649,24842],{"class":11572},[4408,29651,29652],{"class":4410,"line":6397},[4408,29653,29654],{"class":11572}," * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n",[4408,29656,29657],{"class":4410,"line":6439},[4408,29658,29659],{"class":11572}," * Не залежить від навігації — батько вирішує, куди піти після submit.\n",[4408,29661,29662],{"class":4410,"line":6446},[4408,29663,24862],{"class":11572},[4408,29665,29666,29668,29670,29673],{"class":4410,"line":6459},[4408,29667,5029],{"class":4974},[4408,29669,5032],{"class":4422},[4408,29671,29672],{"class":4430}," CreateTripForm",[4408,29674,6786],{"class":4426},[4408,29676,29677,29679],{"class":4410,"line":6472},[4408,29678,29445],{"class":4981},[4408,29680,5737],{"class":4426},[4408,29682,29683,29685],{"class":4410,"line":6482},[4408,29684,29466],{"class":4981},[4408,29686,5737],{"class":4426},[4408,29688,29689,29692,29695],{"class":4410,"line":6495},[4408,29690,29691],{"class":4426},"}: ",[4408,29693,29694],{"class":5088},"CreateTripFormProps",[4408,29696,11649],{"class":4426},[4408,29698,29699,29701,29703,29705,29707,29709,29711,29714,29716,29718],{"class":4410,"line":6505},[4408,29700,5043],{"class":4422},[4408,29702,4978],{"class":4426},[4408,29704,21563],{"class":5049},[4408,29706,3550],{"class":4426},[4408,29708,22142],{"class":5049},[4408,29710,3550],{"class":4426},[4408,29712,29713],{"class":5049},"radius",[4408,29715,21571],{"class":4426},[4408,29717,21532],{"class":4430},[4408,29719,21576],{"class":4426},[4408,29721,29722,29724,29726,29728,29730,29733,29735,29737,29739,29741],{"class":4410,"line":6544},[4408,29723,5043],{"class":4422},[4408,29725,5046],{"class":4426},[4408,29727,7066],{"class":5049},[4408,29729,3550],{"class":4426},[4408,29731,29732],{"class":5049},"setSubmitting",[4408,29734,5058],{"class":4426},[4408,29736,4390],{"class":4430},[4408,29738,4435],{"class":4426},[4408,29740,5411],{"class":4422},[4408,29742,5068],{"class":4426},[4408,29744,29745],{"class":4410,"line":6549},[4408,29746,4611],{"emptyLinePlaceholder":4610},[4408,29748,29749,29751],{"class":4410,"line":6554},[4408,29750,5043],{"class":4422},[4408,29752,5729],{"class":4426},[4408,29754,29755,29757],{"class":4410,"line":6596},[4408,29756,16414],{"class":5049},[4408,29758,5737],{"class":4426},[4408,29760,29761,29763],{"class":4410,"line":6603},[4408,29762,16421],{"class":5049},[4408,29764,5737],{"class":4426},[4408,29766,29767,29769],{"class":4410,"line":6616},[4408,29768,16428],{"class":5049},[4408,29770,5737],{"class":4426},[4408,29772,29773,29775,29777,29779],{"class":4410,"line":6629},[4408,29774,16435],{"class":4981},[4408,29776,12236],{"class":4426},[4408,29778,4190],{"class":5049},[4408,29780,6727],{"class":4426},[4408,29782,29783,29785,29787,29789,29792],{"class":4410,"line":6639},[4408,29784,16446],{"class":4426},[4408,29786,11765],{"class":4430},[4408,29788,4415],{"class":4426},[4408,29790,29791],{"class":5088},"CreateTripFormValues",[4408,29793,16455],{"class":4426},[4408,29795,29796,29798,29800,29802,29804],{"class":4410,"line":6652},[4408,29797,16460],{"class":4981},[4408,29799,16463],{"class":4430},[4408,29801,4435],{"class":4426},[4408,29803,20533],{"class":4981},[4408,29805,11846],{"class":4426},[4408,29807,29808,29810],{"class":4410,"line":6658},[4408,29809,16475],{"class":4981},[4408,29811,5729],{"class":4426},[4408,29813,29814,29817,29819],{"class":4410,"line":6669},[4408,29815,29816],{"class":4981},"      title:",[4408,29818,16485],{"class":4438},[4408,29820,5737],{"class":4426},[4408,29822,29823,29826,29828],{"class":4410,"line":6681},[4408,29824,29825],{"class":4981},"      region:",[4408,29827,27849],{"class":4438},[4408,29829,5737],{"class":4426},[4408,29831,29832,29835,29837],{"class":4410,"line":6693},[4408,29833,29834],{"class":4981},"      description:",[4408,29836,16485],{"class":4438},[4408,29838,5737],{"class":4426},[4408,29840,29841,29844,29846],{"class":4410,"line":6705},[4408,29842,29843],{"class":4981},"      startDate:",[4408,29845,29490],{"class":4430},[4408,29847,16002],{"class":4426},[4408,29849,29850,29853,29855,29857,29860,29863,29865],{"class":4410,"line":6730},[4408,29851,29852],{"class":4981},"      endDate:",[4408,29854,29564],{"class":4430},[4408,29856,4435],{"class":4426},[4408,29858,29859],{"class":4430},"startOfToday",[4408,29861,29862],{"class":4426},"(), ",[4408,29864,11646],{"class":6042},[4408,29866,11846],{"class":4426},[4408,29868,29869,29872,29874],{"class":4410,"line":6738},[4408,29870,29871],{"class":4981},"      isPrivate:",[4408,29873,16532],{"class":4422},[4408,29875,5737],{"class":4426},[4408,29877,29878,29881,29884],{"class":4410,"line":6743},[4408,29879,29880],{"class":4981},"      plannedDays:",[4408,29882,29883],{"class":6042}," 3",[4408,29885,5737],{"class":4426},[4408,29887,29888,29891,29893],{"class":4410,"line":6752},[4408,29889,29890],{"class":4981},"      hasItinerary:",[4408,29892,16532],{"class":4422},[4408,29894,5737],{"class":4426},[4408,29896,29897],{"class":4410,"line":6757},[4408,29898,29899],{"class":11572},"      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n",[4408,29901,29902,29905,29907,29909,29911,29913,29915],{"class":4410,"line":6762},[4408,29903,29904],{"class":4981},"      acceptedLocalSave:",[4408,29906,16532],{"class":4422},[4408,29908,15780],{"class":4974},[4408,29910,16537],{"class":5088},[4408,29912,15780],{"class":4974},[4408,29914,16522],{"class":5088},[4408,29916,5737],{"class":4426},[4408,29918,29919],{"class":4410,"line":6767},[4408,29920,16557],{"class":4426},[4408,29922,29923,29925,29927],{"class":4410,"line":6789},[4408,29924,16562],{"class":4981},[4408,29926,16565],{"class":4438},[4408,29928,5737],{"class":4426},[4408,29930,29931,29933,29935],{"class":4410,"line":6819},[4408,29932,16572],{"class":4981},[4408,29934,16575],{"class":4438},[4408,29936,5737],{"class":4426},[4408,29938,29939],{"class":4410,"line":6827},[4408,29940,16582],{"class":4426},[4408,29942,29943],{"class":4410,"line":6837},[4408,29944,4611],{"emptyLinePlaceholder":4610},[4408,29946,29947,29949,29952,29954,29956,29958,29961],{"class":4410,"line":6847},[4408,29948,5043],{"class":4422},[4408,29950,29951],{"class":5049}," startDate",[4408,29953,5804],{"class":4426},[4408,29955,11777],{"class":4430},[4408,29957,4435],{"class":4426},[4408,29959,29960],{"class":4438},"'startDate'",[4408,29962,5068],{"class":4426},[4408,29964,29965,29967,29970,29972,29974,29976,29979],{"class":4410,"line":6857},[4408,29966,5043],{"class":4422},[4408,29968,29969],{"class":5049}," plannedDays",[4408,29971,5804],{"class":4426},[4408,29973,11777],{"class":4430},[4408,29975,4435],{"class":4426},[4408,29977,29978],{"class":4438},"'plannedDays'",[4408,29980,5068],{"class":4426},[4408,29982,29983],{"class":4410,"line":6867},[4408,29984,4611],{"emptyLinePlaceholder":4610},[4408,29986,29987,29989,29992,29994,29997,29999,30001,30003,30005],{"class":4410,"line":6877},[4408,29988,5043],{"class":4422},[4408,29990,29991],{"class":4430}," onValid",[4408,29993,25991],{"class":4426},[4408,29995,29996],{"class":4981},"values",[4408,29998,4145],{"class":4426},[4408,30000,29791],{"class":5088},[4408,30002,7723],{"class":4426},[4408,30004,7089],{"class":4422},[4408,30006,5729],{"class":4426},[4408,30008,30009,30012,30014,30016],{"class":4410,"line":6888},[4408,30010,30011],{"class":4430},"    setSubmitting",[4408,30013,4435],{"class":4426},[4408,30015,5651],{"class":4422},[4408,30017,5068],{"class":4426},[4408,30019,30020,30022,30024,30026,30028],{"class":4410,"line":6894},[4408,30021,13440],{"class":4422},[4408,30023,22482],{"class":5049},[4408,30025,4145],{"class":4426},[4408,30027,11014],{"class":5088},[4408,30029,25709],{"class":4426},[4408,30031,30032,30035,30038,30040,30042,30044,30047,30049,30051,30053],{"class":4410,"line":6910},[4408,30033,30034],{"class":4981},"      id:",[4408,30036,30037],{"class":4438}," `local-",[4408,30039,23504],{"class":4422},[4408,30041,10826],{"class":4981},[4408,30043,3646],{"class":4434},[4408,30045,30046],{"class":4430},"now",[4408,30048,25090],{"class":4434},[4408,30050,4444],{"class":4422},[4408,30052,23835],{"class":4438},[4408,30054,5737],{"class":4426},[4408,30056,30057,30059,30062,30064,30066],{"class":4410,"line":14357},[4408,30058,29816],{"class":4981},[4408,30060,30061],{"class":4981}," values",[4408,30063,3646],{"class":4426},[4408,30065,7303],{"class":4981},[4408,30067,5737],{"class":4426},[4408,30069,30070,30072,30074,30076,30078],{"class":4410,"line":14362},[4408,30071,29825],{"class":4981},[4408,30073,30061],{"class":4981},[4408,30075,3646],{"class":4426},[4408,30077,10344],{"class":4981},[4408,30079,5737],{"class":4426},[4408,30081,30082,30084,30086,30088,30091],{"class":4410,"line":14403},[4408,30083,29834],{"class":4981},[4408,30085,30061],{"class":4981},[4408,30087,3646],{"class":4426},[4408,30089,30090],{"class":4981},"description",[4408,30092,5737],{"class":4426},[4408,30094,30095,30098,30100,30102,30104,30106,30108,30110,30112,30114,30116],{"class":4410,"line":14410},[4408,30096,30097],{"class":4981},"      dateLabel:",[4408,30099,26769],{"class":4430},[4408,30101,4435],{"class":4426},[4408,30103,29996],{"class":4981},[4408,30105,3646],{"class":4426},[4408,30107,10093],{"class":4981},[4408,30109,3550],{"class":4426},[4408,30111,29996],{"class":4981},[4408,30113,3646],{"class":4426},[4408,30115,10096],{"class":4981},[4408,30117,11846],{"class":4426},[4408,30119,30120,30123,30126,30128,30131,30133,30135,30137,30139,30141,30143,30146],{"class":4410,"line":14423},[4408,30121,30122],{"class":4981},"      coverUri:",[4408,30124,30125],{"class":4438}," `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F",[4408,30127,23504],{"class":4422},[4408,30129,30130],{"class":4430},"encodeURIComponent",[4408,30132,4435],{"class":4434},[4408,30134,29996],{"class":4981},[4408,30136,3646],{"class":4434},[4408,30138,7303],{"class":4981},[4408,30140,4292],{"class":4434},[4408,30142,4444],{"class":4422},[4408,30144,30145],{"class":4438},"\u002F800\u002F400`",[4408,30147,5737],{"class":4426},[4408,30149,30150,30152,30154,30156,30158],{"class":4410,"line":14436},[4408,30151,29871],{"class":4981},[4408,30153,30061],{"class":4981},[4408,30155,3646],{"class":4426},[4408,30157,8080],{"class":4981},[4408,30159,5737],{"class":4426},[4408,30161,30162,30164,30166,30168,30170],{"class":4410,"line":14446},[4408,30163,29880],{"class":4981},[4408,30165,30061],{"class":4981},[4408,30167,3646],{"class":4426},[4408,30169,10085],{"class":4981},[4408,30171,5737],{"class":4426},[4408,30173,30174,30176,30178,30180,30182],{"class":4410,"line":14456},[4408,30175,29890],{"class":4981},[4408,30177,30061],{"class":4981},[4408,30179,3646],{"class":4426},[4408,30181,9572],{"class":4981},[4408,30183,5737],{"class":4426},[4408,30185,30186],{"class":4410,"line":14465},[4408,30187,30188],{"class":4426},"    };\n",[4408,30190,30191,30194,30196,30198],{"class":4410,"line":14478},[4408,30192,30193],{"class":4430},"    onSubmitSuccess",[4408,30195,4435],{"class":4426},[4408,30197,22232],{"class":4981},[4408,30199,5068],{"class":4426},[4408,30201,30202,30204,30206,30208],{"class":4410,"line":14489},[4408,30203,30011],{"class":4430},[4408,30205,4435],{"class":4426},[4408,30207,5411],{"class":4422},[4408,30209,5068],{"class":4426},[4408,30211,30212],{"class":4410,"line":14500},[4408,30213,13608],{"class":4426},[4408,30215,30216],{"class":4410,"line":14535},[4408,30217,4611],{"emptyLinePlaceholder":4610},[4408,30219,30220,30222],{"class":4410,"line":14542},[4408,30221,5077],{"class":4974},[4408,30223,5080],{"class":4426},[4408,30225,30226,30228],{"class":4410,"line":14547},[4408,30227,5085],{"class":4414},[4408,30229,13941],{"class":5088},[4408,30231,30232,30234,30236,30238,30240,30242,30244],{"class":4410,"line":14602},[4408,30233,6029],{"class":5123},[4408,30235,5127],{"class":4426},[4408,30237,5130],{"class":4422},[4408,30239,6226],{"class":4981},[4408,30241,3646],{"class":4434},[4408,30243,16635],{"class":4981},[4408,30245,4641],{"class":4422},[4408,30247,30248,30250,30252,30254,30256,30258,30260,30262,30264,30266,30268,30270,30272],{"class":4410,"line":14607},[4408,30249,13970],{"class":5123},[4408,30251,5127],{"class":4426},[4408,30253,5130],{"class":4422},[4408,30255,13977],{"class":4981},[4408,30257,3646],{"class":4434},[4408,30259,13982],{"class":5049},[4408,30261,13985],{"class":4426},[4408,30263,13988],{"class":4438},[4408,30265,7189],{"class":4426},[4408,30267,13993],{"class":4438},[4408,30269,7195],{"class":4426},[4408,30271,13998],{"class":4438},[4408,30273,4641],{"class":4422},[4408,30275,30276,30279,30281,30283,30285,30287,30289,30291,30293,30295,30297,30299,30301],{"class":4410,"line":14630},[4408,30277,30278],{"class":5123},"      keyboardVerticalOffset",[4408,30280,5127],{"class":4426},[4408,30282,5130],{"class":4422},[4408,30284,13977],{"class":4981},[4408,30286,3646],{"class":4434},[4408,30288,13982],{"class":5049},[4408,30290,13985],{"class":4426},[4408,30292,13988],{"class":4438},[4408,30294,7189],{"class":4426},[4408,30296,13731],{"class":6042},[4408,30298,7195],{"class":4426},[4408,30300,22629],{"class":6042},[4408,30302,4641],{"class":4422},[4408,30304,30305],{"class":4410,"line":14670},[4408,30306,6102],{"class":4414},[4408,30308,30309,30311],{"class":4410,"line":14722},[4408,30310,5096],{"class":4414},[4408,30312,6024],{"class":5088},[4408,30314,30315,30317,30319,30321,30323,30325,30327],{"class":4410,"line":14731},[4408,30316,6349],{"class":5123},[4408,30318,5127],{"class":4426},[4408,30320,5130],{"class":4422},[4408,30322,6226],{"class":4981},[4408,30324,3646],{"class":4434},[4408,30326,16635],{"class":4981},[4408,30328,4641],{"class":4422},[4408,30330,30331,30333,30335,30337],{"class":4410,"line":14786},[4408,30332,16696],{"class":5123},[4408,30334,5127],{"class":4426},[4408,30336,5130],{"class":4422},[4408,30338,6678],{"class":4434},[4408,30340,30341,30343,30345,30348],{"class":4410,"line":14791},[4408,30342,6684],{"class":4981},[4408,30344,3646],{"class":4434},[4408,30346,30347],{"class":4981},"content",[4408,30349,5737],{"class":4434},[4408,30351,30352,30354,30356,30358,30360,30362,30364,30366,30368,30370,30372,30374,30376,30378,30380,30382],{"class":4410,"line":14834},[4408,30353,6708],{"class":4434},[4408,30355,6070],{"class":4981},[4408,30357,22592],{"class":4981},[4408,30359,3646],{"class":4434},[4408,30361,22597],{"class":4981},[4408,30363,3550],{"class":4434},[4408,30365,6078],{"class":4981},[4408,30367,22592],{"class":4981},[4408,30369,3646],{"class":4434},[4408,30371,22597],{"class":4981},[4408,30373,3550],{"class":4434},[4408,30375,19660],{"class":4981},[4408,30377,22592],{"class":4981},[4408,30379,3646],{"class":4434},[4408,30381,23015],{"class":4981},[4408,30383,6727],{"class":4434},[4408,30385,30386,30388],{"class":4410,"line":14866},[4408,30387,6733],{"class":4434},[4408,30389,4641],{"class":4422},[4408,30391,30392,30394,30396],{"class":4410,"line":14875},[4408,30393,16713],{"class":5123},[4408,30395,5127],{"class":4426},[4408,30397,6096],{"class":4438},[4408,30399,30400,30402,30404],{"class":4410,"line":14884},[4408,30401,16722],{"class":5123},[4408,30403,5127],{"class":4426},[4408,30405,16727],{"class":4438},[4408,30407,30408,30411,30413],{"class":4410,"line":14893},[4408,30409,30410],{"class":5123},"        showsVerticalScrollIndicator",[4408,30412,5127],{"class":4426},[4408,30414,6343],{"class":4422},[4408,30416,30417],{"class":4410,"line":14898},[4408,30418,7803],{"class":4414},[4408,30420,30421,30423,30425,30427,30429,30431,30433,30435,30437,30439,30441,30443,30445],{"class":4410,"line":14903},[4408,30422,7808],{"class":4414},[4408,30424,20487],{"class":5088},[4408,30426,23055],{"class":5123},[4408,30428,5127],{"class":4426},[4408,30430,23352],{"class":4438},[4408,30432,25119],{"class":5123},[4408,30434,5127],{"class":4426},[4408,30436,5130],{"class":4422},[4408,30438,21563],{"class":4981},[4408,30440,3646],{"class":4434},[4408,30442,23123],{"class":4981},[4408,30444,4444],{"class":4422},[4408,30446,5091],{"class":4414},[4408,30448,30449],{"class":4410,"line":14908},[4408,30450,30451],{"class":4426},"          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n",[4408,30453,30454],{"class":4410,"line":14925},[4408,30455,30456],{"class":4426},"          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n",[4408,30458,30459],{"class":4410,"line":14957},[4408,30460,30461],{"class":4426},"          перемикач, галочка, повзунок.\n",[4408,30463,30464,30466,30468],{"class":4410,"line":14989},[4408,30465,8786],{"class":4414},[4408,30467,20487],{"class":5088},[4408,30469,5091],{"class":4414},[4408,30471,30472],{"class":4410,"line":14996},[4408,30473,4611],{"emptyLinePlaceholder":4610},[4408,30475,30476,30478,30481],{"class":4410,"line":15005},[4408,30477,10441],{"class":4422},[4408,30479,30480],{"class":11572},"\u002F* ——— TextInput ——— *\u002F",[4408,30482,4641],{"class":4422},[4408,30484,30485,30487],{"class":4410,"line":15014},[4408,30486,7808],{"class":4414},[4408,30488,12197],{"class":5088},[4408,30490,30491,30493,30495,30497,30499],{"class":4410,"line":15023},[4408,30492,16834],{"class":5123},[4408,30494,5127],{"class":4426},[4408,30496,5130],{"class":4422},[4408,30498,11769],{"class":4981},[4408,30500,4641],{"class":4422},[4408,30502,30503,30505,30507],{"class":4410,"line":15032},[4408,30504,16847],{"class":5123},[4408,30506,5127],{"class":4426},[4408,30508,12220],{"class":4438},[4408,30510,30511,30513,30515,30517,30519,30521,30523,30525,30527,30529,30531,30533,30535,30537],{"class":4410,"line":15041},[4408,30512,16857],{"class":5123},[4408,30514,5127],{"class":4426},[4408,30516,5130],{"class":4422},[4408,30518,7080],{"class":4434},[4408,30520,5261],{"class":4981},[4408,30522,12236],{"class":4434},[4408,30524,3553],{"class":4981},[4408,30526,3550],{"class":4434},[4408,30528,4475],{"class":4981},[4408,30530,3550],{"class":4434},[4408,30532,3641],{"class":4981},[4408,30534,12249],{"class":4434},[4408,30536,7089],{"class":4422},[4408,30538,5080],{"class":4434},[4408,30540,30541,30543],{"class":4410,"line":15050},[4408,30542,16888],{"class":4414},[4408,30544,30545],{"class":5088},"TextField\n",[4408,30547,30548,30551,30553],{"class":4410,"line":15055},[4408,30549,30550],{"class":5123},"              label",[4408,30552,5127],{"class":4426},[4408,30554,30555],{"class":4438},"\"Назва поїздки\"\n",[4408,30557,30558,30560,30562],{"class":4410,"line":15086},[4408,30559,16973],{"class":5123},[4408,30561,5127],{"class":4426},[4408,30563,30564],{"class":4438},"\"Наприклад, Карпати на вихідні\"\n",[4408,30566,30567,30569,30571,30573,30575],{"class":4410,"line":15117},[4408,30568,16934],{"class":5123},[4408,30570,5127],{"class":4426},[4408,30572,5130],{"class":4422},[4408,30574,3641],{"class":4981},[4408,30576,4641],{"class":4422},[4408,30578,30579,30581,30583,30585,30587],{"class":4410,"line":15136},[4408,30580,16947],{"class":5123},[4408,30582,5127],{"class":4426},[4408,30584,5130],{"class":4422},[4408,30586,3553],{"class":4981},[4408,30588,4641],{"class":4422},[4408,30590,30591,30593,30595,30597,30599],{"class":4410,"line":17208},[4408,30592,16960],{"class":5123},[4408,30594,5127],{"class":4426},[4408,30596,5130],{"class":4422},[4408,30598,4475],{"class":4981},[4408,30600,4641],{"class":4422},[4408,30602,30603,30606,30608,30610,30612,30614,30616,30618,30620],{"class":4410,"line":17218},[4408,30604,30605],{"class":5123},"              error",[4408,30607,5127],{"class":4426},[4408,30609,5130],{"class":4422},[4408,30611,4190],{"class":4981},[4408,30613,3646],{"class":4434},[4408,30615,7303],{"class":4981},[4408,30617,17036],{"class":4434},[4408,30619,12717],{"class":4981},[4408,30621,4641],{"class":4422},[4408,30623,30624,30626,30628],{"class":4410,"line":17227},[4408,30625,16983],{"class":5123},[4408,30627,5127],{"class":4426},[4408,30629,30630],{"class":4438},"\"sentences\"\n",[4408,30632,30633,30635,30637],{"class":4410,"line":17237},[4408,30634,16992],{"class":5123},[4408,30636,5127],{"class":4426},[4408,30638,16997],{"class":4438},[4408,30640,30641,30643,30645,30647,30649],{"class":4410,"line":17246},[4408,30642,18670],{"class":5123},[4408,30644,5127],{"class":4426},[4408,30646,5130],{"class":4422},[4408,30648,26176],{"class":6042},[4408,30650,4641],{"class":4422},[4408,30652,30653],{"class":4410,"line":17251},[4408,30654,17002],{"class":4414},[4408,30656,30657,30659],{"class":4410,"line":17258},[4408,30658,17007],{"class":4434},[4408,30660,4641],{"class":4422},[4408,30662,30663],{"class":4410,"line":17263},[4408,30664,8865],{"class":4414},[4408,30666,30667],{"class":4410,"line":17290},[4408,30668,4611],{"emptyLinePlaceholder":4610},[4408,30670,30671,30673,30676],{"class":4410,"line":17295},[4408,30672,10441],{"class":4422},[4408,30674,30675],{"class":11572},"\u002F* ——— Picker ——— *\u002F",[4408,30677,4641],{"class":4422},[4408,30679,30680,30682],{"class":4410,"line":17312},[4408,30681,7808],{"class":4414},[4408,30683,12197],{"class":5088},[4408,30685,30686,30688,30690,30692,30694],{"class":4410,"line":17319},[4408,30687,16834],{"class":5123},[4408,30689,5127],{"class":4426},[4408,30691,5130],{"class":4422},[4408,30693,11769],{"class":4981},[4408,30695,4641],{"class":4422},[4408,30697,30698,30700,30702],{"class":4410,"line":17332},[4408,30699,16847],{"class":5123},[4408,30701,5127],{"class":4426},[4408,30703,12589],{"class":4438},[4408,30705,30706,30708,30710,30712,30714,30716,30718,30720,30722,30724,30726,30728],{"class":4410,"line":17342},[4408,30707,16857],{"class":5123},[4408,30709,5127],{"class":4426},[4408,30711,5130],{"class":4422},[4408,30713,7080],{"class":4434},[4408,30715,5261],{"class":4981},[4408,30717,12236],{"class":4434},[4408,30719,3553],{"class":4981},[4408,30721,3550],{"class":4434},[4408,30723,3641],{"class":4981},[4408,30725,12249],{"class":4434},[4408,30727,7089],{"class":4422},[4408,30729,5080],{"class":4434},[4408,30731,30732,30734],{"class":4410,"line":17369},[4408,30733,16888],{"class":4414},[4408,30735,30736],{"class":5088},"FormRow\n",[4408,30738,30739,30741,30743],{"class":4410,"line":17414},[4408,30740,30550],{"class":5123},[4408,30742,5127],{"class":4426},[4408,30744,30745],{"class":4438},"\"Регіон\"\n",[4408,30747,30748,30751,30753],{"class":4410,"line":17444},[4408,30749,30750],{"class":5123},"              description",[4408,30752,5127],{"class":4426},[4408,30754,30755],{"class":4438},"\"Оберіть зі списку (Picker), а не вводьте вручну\"\n",[4408,30757,30758,30760,30762,30764,30766,30768,30770,30772,30774],{"class":4410,"line":17468},[4408,30759,30605],{"class":5123},[4408,30761,5127],{"class":4426},[4408,30763,5130],{"class":4422},[4408,30765,4190],{"class":4981},[4408,30767,3646],{"class":4434},[4408,30769,10344],{"class":4981},[4408,30771,17036],{"class":4434},[4408,30773,12717],{"class":4981},[4408,30775,4641],{"class":4422},[4408,30777,30778],{"class":4410,"line":17520},[4408,30779,30780],{"class":5123},"              stacked\n",[4408,30782,30783,30786,30788],{"class":4410,"line":17528},[4408,30784,30785],{"class":5123},"              control",[4408,30787,5127],{"class":4426},[4408,30789,20699],{"class":4422},[4408,30791,30792,30794],{"class":4410,"line":17538},[4408,30793,17938],{"class":4414},[4408,30795,22963],{"class":5088},[4408,30797,30798,30800,30802,30804],{"class":4410,"line":17548},[4408,30799,23893],{"class":5123},[4408,30801,5127],{"class":4426},[4408,30803,5130],{"class":4422},[4408,30805,6678],{"class":4434},[4408,30807,30808,30811,30813,30815],{"class":4410,"line":17555},[4408,30809,30810],{"class":4981},"                    styles",[4408,30812,3646],{"class":4434},[4408,30814,17388],{"class":4981},[4408,30816,5737],{"class":4434},[4408,30818,30819],{"class":4410,"line":17560},[4408,30820,30821],{"class":4434},"                    {\n",[4408,30823,30824,30827,30829,30831],{"class":4410,"line":17587},[4408,30825,30826],{"class":4981},"                      borderColor:",[4408,30828,14267],{"class":4981},[4408,30830,3646],{"class":4434},[4408,30832,30833],{"class":4981},"region\n",[4408,30835,30836,30839,30841,30843],{"class":4410,"line":17592},[4408,30837,30838],{"class":4426},"                        ?",[4408,30840,21662],{"class":4981},[4408,30842,3646],{"class":4434},[4408,30844,30845],{"class":4981},"danger\n",[4408,30847,30848,30851,30853,30855,30857],{"class":4410,"line":17617},[4408,30849,30850],{"class":4426},"                        :",[4408,30852,21662],{"class":4981},[4408,30854,3646],{"class":4434},[4408,30856,10064],{"class":4981},[4408,30858,5737],{"class":4434},[4408,30860,30861,30864,30866,30868,30870],{"class":4410,"line":17624},[4408,30862,30863],{"class":4981},"                      backgroundColor:",[4408,30865,21662],{"class":4981},[4408,30867,3646],{"class":4434},[4408,30869,23753],{"class":4981},[4408,30871,5737],{"class":4434},[4408,30873,30874,30877,30880,30882,30884],{"class":4410,"line":17637},[4408,30875,30876],{"class":4981},"                      borderRadius:",[4408,30878,30879],{"class":4981}," radius",[4408,30881,3646],{"class":4434},[4408,30883,22597],{"class":4981},[4408,30885,5737],{"class":4434},[4408,30887,30888],{"class":4410,"line":17647},[4408,30889,30890],{"class":4434},"                    },\n",[4408,30892,30893,30896],{"class":4410,"line":17674},[4408,30894,30895],{"class":4434},"                  ]",[4408,30897,4641],{"class":4422},[4408,30899,30900],{"class":4410,"line":17681},[4408,30901,23911],{"class":4414},[4408,30903,30904,30906],{"class":4410,"line":17695},[4408,30905,17471],{"class":4414},[4408,30907,30908],{"class":5088},"Picker\n",[4408,30910,30911,30914,30916,30918,30920],{"class":4410,"line":17709},[4408,30912,30913],{"class":5123},"                    selectedValue",[4408,30915,5127],{"class":4426},[4408,30917,5130],{"class":4422},[4408,30919,3641],{"class":4981},[4408,30921,4641],{"class":4422},[4408,30923,30924,30927,30929,30931,30933],{"class":4410,"line":17723},[4408,30925,30926],{"class":5123},"                    onValueChange",[4408,30928,5127],{"class":4426},[4408,30930,5130],{"class":4422},[4408,30932,3553],{"class":4981},[4408,30934,4641],{"class":4422},[4408,30936,30937,30940,30942,30944,30946,30948,30950],{"class":4410,"line":17736},[4408,30938,30939],{"class":5123},"                    dropdownIconColor",[4408,30941,5127],{"class":4426},[4408,30943,5130],{"class":4422},[4408,30945,21563],{"class":4981},[4408,30947,3646],{"class":4434},[4408,30949,11271],{"class":4981},[4408,30951,4641],{"class":4422},[4408,30953,30954,30957,30959,30961,30963,30965,30967,30969,30971,30973],{"class":4410,"line":17750},[4408,30955,30956],{"class":5123},"                    style",[4408,30958,5127],{"class":4426},[4408,30960,5130],{"class":4422},[4408,30962,6036],{"class":4434},[4408,30964,6121],{"class":4981},[4408,30966,21662],{"class":4981},[4408,30968,3646],{"class":4434},[4408,30970,11271],{"class":4981},[4408,30972,6053],{"class":4434},[4408,30974,4641],{"class":4422},[4408,30976,30977],{"class":4410,"line":17761},[4408,30978,30979],{"class":4414},"                  >\n",[4408,30981,30982,30985,30987,30989,30991,30993,30995,30997,30999],{"class":4410,"line":17772},[4408,30983,30984],{"class":4422},"                    {",[4408,30986,10563],{"class":5049},[4408,30988,3646],{"class":4434},[4408,30990,10449],{"class":4430},[4408,30992,7717],{"class":4434},[4408,30994,10344],{"class":4981},[4408,30996,7723],{"class":4434},[4408,30998,7089],{"class":4422},[4408,31000,5080],{"class":4434},[4408,31002,31003,31006],{"class":4410,"line":17782},[4408,31004,31005],{"class":4414},"                      \u003C",[4408,31007,31008],{"class":5088},"Picker.Item\n",[4408,31010,31011,31014,31016,31018,31020],{"class":4410,"line":17787},[4408,31012,31013],{"class":5123},"                        key",[4408,31015,5127],{"class":4426},[4408,31017,5130],{"class":4422},[4408,31019,10344],{"class":4981},[4408,31021,4641],{"class":4422},[4408,31023,31024,31027,31029,31031,31033],{"class":4410,"line":17794},[4408,31025,31026],{"class":5123},"                        label",[4408,31028,5127],{"class":4426},[4408,31030,5130],{"class":4422},[4408,31032,10344],{"class":4981},[4408,31034,4641],{"class":4422},[4408,31036,31037,31040,31042,31044,31046],{"class":4410,"line":17799},[4408,31038,31039],{"class":5123},"                        value",[4408,31041,5127],{"class":4426},[4408,31043,5130],{"class":4422},[4408,31045,10344],{"class":4981},[4408,31047,4641],{"class":4422},[4408,31049,31050,31053,31055,31057,31059,31061,31063],{"class":4410,"line":17826},[4408,31051,31052],{"class":5123},"                        color",[4408,31054,5127],{"class":4426},[4408,31056,5130],{"class":4422},[4408,31058,21563],{"class":4981},[4408,31060,3646],{"class":4434},[4408,31062,11271],{"class":4981},[4408,31064,4641],{"class":4422},[4408,31066,31067],{"class":4410,"line":17831},[4408,31068,31069],{"class":4414},"                      \u002F>\n",[4408,31071,31072,31075],{"class":4410,"line":17838},[4408,31073,31074],{"class":4434},"                    ))",[4408,31076,4641],{"class":4422},[4408,31078,31079,31082,31084],{"class":4410,"line":17851},[4408,31080,31081],{"class":4414},"                  \u003C\u002F",[4408,31083,3677],{"class":5088},[4408,31085,5091],{"class":4414},[4408,31087,31088,31090,31092],{"class":4410,"line":17861},[4408,31089,18000],{"class":4414},[4408,31091,5006],{"class":5088},[4408,31093,5091],{"class":4414},[4408,31095,31096],{"class":4410,"line":17888},[4408,31097,31098],{"class":4422},"              }\n",[4408,31100,31101],{"class":4410,"line":17911},[4408,31102,17002],{"class":4414},[4408,31104,31105,31107],{"class":4410,"line":17935},[4408,31106,17007],{"class":4434},[4408,31108,4641],{"class":4422},[4408,31110,31111],{"class":4410,"line":17968},[4408,31112,8865],{"class":4414},[4408,31114,31115],{"class":4410,"line":17991},[4408,31116,4611],{"emptyLinePlaceholder":4610},[4408,31118,31119,31121,31124],{"class":4410,"line":17997},[4408,31120,10441],{"class":4422},[4408,31122,31123],{"class":11572},"\u002F* ——— DateTimePicker через DateField ——— *\u002F",[4408,31125,4641],{"class":4422},[4408,31127,31128,31130],{"class":4410,"line":18007},[4408,31129,7808],{"class":4414},[4408,31131,12197],{"class":5088},[4408,31133,31134,31136,31138,31140,31142],{"class":4410,"line":18016},[4408,31135,16834],{"class":5123},[4408,31137,5127],{"class":4426},[4408,31139,5130],{"class":4422},[4408,31141,11769],{"class":4981},[4408,31143,4641],{"class":4422},[4408,31145,31146,31148,31150],{"class":4410,"line":18023},[4408,31147,16847],{"class":5123},[4408,31149,5127],{"class":4426},[4408,31151,31152],{"class":4438},"\"startDate\"\n",[4408,31154,31155,31157,31159,31161,31163,31165,31167,31169,31171,31173,31175,31177,31179,31181],{"class":4410,"line":18037},[4408,31156,16857],{"class":5123},[4408,31158,5127],{"class":4426},[4408,31160,5130],{"class":4422},[4408,31162,7080],{"class":4434},[4408,31164,5261],{"class":4981},[4408,31166,12236],{"class":4434},[4408,31168,3553],{"class":4981},[4408,31170,3550],{"class":4434},[4408,31172,4475],{"class":4981},[4408,31174,3550],{"class":4434},[4408,31176,3641],{"class":4981},[4408,31178,12249],{"class":4434},[4408,31180,7089],{"class":4422},[4408,31182,5080],{"class":4434},[4408,31184,31185,31187],{"class":4410,"line":18051},[4408,31186,16888],{"class":4414},[4408,31188,31189],{"class":5088},"DateField\n",[4408,31191,31192,31194,31196],{"class":4410,"line":18079},[4408,31193,30550],{"class":5123},[4408,31195,5127],{"class":4426},[4408,31197,31198],{"class":4438},"\"Дата початку\"\n",[4408,31200,31201,31203,31205,31207,31209],{"class":4410,"line":18090},[4408,31202,16934],{"class":5123},[4408,31204,5127],{"class":4426},[4408,31206,5130],{"class":4422},[4408,31208,3641],{"class":4981},[4408,31210,4641],{"class":4422},[4408,31212,31213,31216,31218,31220,31222],{"class":4410,"line":18096},[4408,31214,31215],{"class":5123},"              onChange",[4408,31217,5127],{"class":4426},[4408,31219,5130],{"class":4422},[4408,31221,3553],{"class":4981},[4408,31223,4641],{"class":4422},[4408,31225,31226,31228,31230,31232,31234],{"class":4410,"line":18105},[4408,31227,16960],{"class":5123},[4408,31229,5127],{"class":4426},[4408,31231,5130],{"class":4422},[4408,31233,4475],{"class":4981},[4408,31235,4641],{"class":4422},[4408,31237,31238,31240,31242,31244,31246,31248,31250,31252,31254],{"class":4410,"line":18112},[4408,31239,30605],{"class":5123},[4408,31241,5127],{"class":4426},[4408,31243,5130],{"class":4422},[4408,31245,4190],{"class":4981},[4408,31247,3646],{"class":4434},[4408,31249,10093],{"class":4981},[4408,31251,17036],{"class":4434},[4408,31253,12717],{"class":4981},[4408,31255,4641],{"class":4422},[4408,31257,31258],{"class":4410,"line":18117},[4408,31259,17002],{"class":4414},[4408,31261,31262,31264],{"class":4410,"line":18122},[4408,31263,17007],{"class":4434},[4408,31265,4641],{"class":4422},[4408,31267,31268],{"class":4410,"line":18129},[4408,31269,8865],{"class":4414},[4408,31271,31272],{"class":4410,"line":18142},[4408,31273,4611],{"emptyLinePlaceholder":4610},[4408,31275,31276,31278],{"class":4410,"line":18152},[4408,31277,7808],{"class":4414},[4408,31279,12197],{"class":5088},[4408,31281,31282,31284,31286,31288,31290],{"class":4410,"line":18179},[4408,31283,16834],{"class":5123},[4408,31285,5127],{"class":4426},[4408,31287,5130],{"class":4422},[4408,31289,11769],{"class":4981},[4408,31291,4641],{"class":4422},[4408,31293,31294,31296,31298],{"class":4410,"line":18202},[4408,31295,16847],{"class":5123},[4408,31297,5127],{"class":4426},[4408,31299,31300],{"class":4438},"\"endDate\"\n",[4408,31302,31303,31305,31307,31309,31311,31313,31315,31317,31319,31321,31323,31325,31327,31329],{"class":4410,"line":18225},[4408,31304,16857],{"class":5123},[4408,31306,5127],{"class":4426},[4408,31308,5130],{"class":4422},[4408,31310,7080],{"class":4434},[4408,31312,5261],{"class":4981},[4408,31314,12236],{"class":4434},[4408,31316,3553],{"class":4981},[4408,31318,3550],{"class":4434},[4408,31320,4475],{"class":4981},[4408,31322,3550],{"class":4434},[4408,31324,3641],{"class":4981},[4408,31326,12249],{"class":4434},[4408,31328,7089],{"class":4422},[4408,31330,5080],{"class":4434},[4408,31332,31333,31335],{"class":4410,"line":18256},[4408,31334,16888],{"class":4414},[4408,31336,31189],{"class":5088},[4408,31338,31339,31341,31343],{"class":4410,"line":18279},[4408,31340,30550],{"class":5123},[4408,31342,5127],{"class":4426},[4408,31344,31345],{"class":4438},"\"Дата завершення\"\n",[4408,31347,31348,31350,31352,31354,31356],{"class":4410,"line":18285},[4408,31349,16934],{"class":5123},[4408,31351,5127],{"class":4426},[4408,31353,5130],{"class":4422},[4408,31355,3641],{"class":4981},[4408,31357,4641],{"class":4422},[4408,31359,31360,31362,31364,31366,31368],{"class":4410,"line":18294},[4408,31361,31215],{"class":5123},[4408,31363,5127],{"class":4426},[4408,31365,5130],{"class":4422},[4408,31367,3553],{"class":4981},[4408,31369,4641],{"class":4422},[4408,31371,31372,31374,31376,31378,31380],{"class":4410,"line":18303},[4408,31373,16960],{"class":5123},[4408,31375,5127],{"class":4426},[4408,31377,5130],{"class":4422},[4408,31379,4475],{"class":4981},[4408,31381,4641],{"class":4422},[4408,31383,31384,31386,31388,31390,31392,31394,31396,31398,31400],{"class":4410,"line":18311},[4408,31385,30605],{"class":5123},[4408,31387,5127],{"class":4426},[4408,31389,5130],{"class":4422},[4408,31391,4190],{"class":4981},[4408,31393,3646],{"class":4434},[4408,31395,10096],{"class":4981},[4408,31397,17036],{"class":4434},[4408,31399,12717],{"class":4981},[4408,31401,4641],{"class":4422},[4408,31403,31404,31407,31409,31411,31413],{"class":4410,"line":18331},[4408,31405,31406],{"class":5123},"              minimumDate",[4408,31408,5127],{"class":4426},[4408,31410,5130],{"class":4422},[4408,31412,10093],{"class":4981},[4408,31414,4641],{"class":4422},[4408,31416,31417],{"class":4410,"line":18344},[4408,31418,17002],{"class":4414},[4408,31420,31421,31423],{"class":4410,"line":18371},[4408,31422,17007],{"class":4434},[4408,31424,4641],{"class":4422},[4408,31426,31427],{"class":4410,"line":18381},[4408,31428,8865],{"class":4414},[4408,31430,31431],{"class":4410,"line":18391},[4408,31432,4611],{"emptyLinePlaceholder":4610},[4408,31434,31435,31437,31440],{"class":4410,"line":18401},[4408,31436,10441],{"class":4422},[4408,31438,31439],{"class":11572},"\u002F* ——— TextInput multiline ——— *\u002F",[4408,31441,4641],{"class":4422},[4408,31443,31444,31446],{"class":4410,"line":18412},[4408,31445,7808],{"class":4414},[4408,31447,12197],{"class":5088},[4408,31449,31450,31452,31454,31456,31458],{"class":4410,"line":18417},[4408,31451,16834],{"class":5123},[4408,31453,5127],{"class":4426},[4408,31455,5130],{"class":4422},[4408,31457,11769],{"class":4981},[4408,31459,4641],{"class":4422},[4408,31461,31462,31464,31466],{"class":4410,"line":18426},[4408,31463,16847],{"class":5123},[4408,31465,5127],{"class":4426},[4408,31467,31468],{"class":4438},"\"description\"\n",[4408,31470,31471,31473,31475,31477,31479,31481,31483,31485,31487,31489,31491,31493,31495,31497],{"class":4410,"line":18433},[4408,31472,16857],{"class":5123},[4408,31474,5127],{"class":4426},[4408,31476,5130],{"class":4422},[4408,31478,7080],{"class":4434},[4408,31480,5261],{"class":4981},[4408,31482,12236],{"class":4434},[4408,31484,3553],{"class":4981},[4408,31486,3550],{"class":4434},[4408,31488,4475],{"class":4981},[4408,31490,3550],{"class":4434},[4408,31492,3641],{"class":4981},[4408,31494,12249],{"class":4434},[4408,31496,7089],{"class":4422},[4408,31498,5080],{"class":4434},[4408,31500,31501,31503],{"class":4410,"line":18438},[4408,31502,16888],{"class":4414},[4408,31504,30545],{"class":5088},[4408,31506,31507,31509,31511],{"class":4410,"line":18466},[4408,31508,30550],{"class":5123},[4408,31510,5127],{"class":4426},[4408,31512,31513],{"class":4438},"\"Опис\"\n",[4408,31515,31516,31518,31520],{"class":4410,"line":18471},[4408,31517,16973],{"class":5123},[4408,31519,5127],{"class":4426},[4408,31521,31522],{"class":4438},"\"Коротко: що плануєте побачити, з ким їдете…\"\n",[4408,31524,31525,31527,31529,31531,31533],{"class":4410,"line":18489},[4408,31526,16934],{"class":5123},[4408,31528,5127],{"class":4426},[4408,31530,5130],{"class":4422},[4408,31532,3641],{"class":4981},[4408,31534,4641],{"class":4422},[4408,31536,31537,31539,31541,31543,31545],{"class":4410,"line":18496},[4408,31538,16947],{"class":5123},[4408,31540,5127],{"class":4426},[4408,31542,5130],{"class":4422},[4408,31544,3553],{"class":4981},[4408,31546,4641],{"class":4422},[4408,31548,31549,31551,31553,31555,31557],{"class":4410,"line":18509},[4408,31550,16960],{"class":5123},[4408,31552,5127],{"class":4426},[4408,31554,5130],{"class":4422},[4408,31556,4475],{"class":4981},[4408,31558,4641],{"class":4422},[4408,31560,31561,31563,31565,31567,31569,31571,31573,31575,31577],{"class":4410,"line":18519},[4408,31562,30605],{"class":5123},[4408,31564,5127],{"class":4426},[4408,31566,5130],{"class":4422},[4408,31568,4190],{"class":4981},[4408,31570,3646],{"class":4434},[4408,31572,30090],{"class":4981},[4408,31574,17036],{"class":4434},[4408,31576,12717],{"class":4981},[4408,31578,4641],{"class":4422},[4408,31580,31581],{"class":4410,"line":18550},[4408,31582,18654],{"class":5123},[4408,31584,31585,31588,31590,31592,31595],{"class":4410,"line":18557},[4408,31586,31587],{"class":5123},"              numberOfLines",[4408,31589,5127],{"class":4426},[4408,31591,5130],{"class":4422},[4408,31593,31594],{"class":6042},"4",[4408,31596,4641],{"class":4422},[4408,31598,31599,31601,31603],{"class":4410,"line":18602},[4408,31600,18660],{"class":5123},[4408,31602,5127],{"class":4426},[4408,31604,6666],{"class":4438},[4408,31606,31607,31609,31611,31613,31615,31617,31619],{"class":4410,"line":18615},[4408,31608,16895],{"class":5123},[4408,31610,5127],{"class":4426},[4408,31612,5130],{"class":4422},[4408,31614,6226],{"class":4981},[4408,31616,3646],{"class":4434},[4408,31618,4107],{"class":4981},[4408,31620,4641],{"class":4422},[4408,31622,31623,31625,31627,31629,31631],{"class":4410,"line":18628},[4408,31624,18670],{"class":5123},[4408,31626,5127],{"class":4426},[4408,31628,5130],{"class":4422},[4408,31630,26267],{"class":6042},[4408,31632,4641],{"class":4422},[4408,31634,31635,31638,31640],{"class":4410,"line":18641},[4408,31636,31637],{"class":5123},"              hint",[4408,31639,5127],{"class":4426},[4408,31641,31642],{"class":4438},"\"Мінімум 10 символів\"\n",[4408,31644,31645],{"class":4410,"line":18651},[4408,31646,17002],{"class":4414},[4408,31648,31649,31651],{"class":4410,"line":18657},[4408,31650,17007],{"class":4434},[4408,31652,4641],{"class":4422},[4408,31654,31655],{"class":4410,"line":18667},[4408,31656,8865],{"class":4414},[4408,31658,31659],{"class":4410,"line":18681},[4408,31660,4611],{"emptyLinePlaceholder":4610},[4408,31662,31663,31665,31668],{"class":4410,"line":18686},[4408,31664,10441],{"class":4422},[4408,31666,31667],{"class":11572},"\u002F* ——— Slider ——— *\u002F",[4408,31669,4641],{"class":4422},[4408,31671,31672,31674],{"class":4410,"line":18693},[4408,31673,7808],{"class":4414},[4408,31675,12197],{"class":5088},[4408,31677,31678,31680,31682,31684,31686],{"class":4410,"line":18698},[4408,31679,16834],{"class":5123},[4408,31681,5127],{"class":4426},[4408,31683,5130],{"class":4422},[4408,31685,11769],{"class":4981},[4408,31687,4641],{"class":4422},[4408,31689,31690,31692,31694],{"class":4410,"line":18725},[4408,31691,16847],{"class":5123},[4408,31693,5127],{"class":4426},[4408,31695,12441],{"class":4438},[4408,31697,31698,31700,31702,31704,31706,31708,31710,31712,31714,31716,31718,31720],{"class":4410,"line":18730},[4408,31699,16857],{"class":5123},[4408,31701,5127],{"class":4426},[4408,31703,5130],{"class":4422},[4408,31705,7080],{"class":4434},[4408,31707,5261],{"class":4981},[4408,31709,12236],{"class":4434},[4408,31711,3553],{"class":4981},[4408,31713,3550],{"class":4434},[4408,31715,3641],{"class":4981},[4408,31717,12249],{"class":4434},[4408,31719,7089],{"class":4422},[4408,31721,5080],{"class":4434},[4408,31723,31724,31726],{"class":4410,"line":18769},[4408,31725,16888],{"class":4414},[4408,31727,30736],{"class":5088},[4408,31729,31730,31732,31734,31736,31739,31741,31743,31745,31747,31750,31752,31754,31756,31758,31760],{"class":4410,"line":18801},[4408,31731,30550],{"class":5123},[4408,31733,5127],{"class":4426},[4408,31735,5130],{"class":4422},[4408,31737,31738],{"class":4438},"`Тривалість: ",[4408,31740,23504],{"class":4422},[4408,31742,3641],{"class":4981},[4408,31744,4444],{"class":4422},[4408,31746,26713],{"class":4422},[4408,31748,31749],{"class":4430},"daysWord",[4408,31751,4435],{"class":4434},[4408,31753,3641],{"class":4981},[4408,31755,4292],{"class":4434},[4408,31757,4444],{"class":4422},[4408,31759,23835],{"class":4438},[4408,31761,4641],{"class":4422},[4408,31763,31764,31766,31768],{"class":4410,"line":18810},[4408,31765,30750],{"class":5123},[4408,31767,5127],{"class":4426},[4408,31769,31770],{"class":4438},"\"Повзунок (Slider) — зручно для діапазону 1–14\"\n",[4408,31772,31773,31775,31777,31779,31781,31783,31785,31787,31789],{"class":4410,"line":18819},[4408,31774,30605],{"class":5123},[4408,31776,5127],{"class":4426},[4408,31778,5130],{"class":4422},[4408,31780,4190],{"class":4981},[4408,31782,3646],{"class":4434},[4408,31784,10085],{"class":4981},[4408,31786,17036],{"class":4434},[4408,31788,12717],{"class":4981},[4408,31790,4641],{"class":4422},[4408,31792,31793],{"class":4410,"line":18828},[4408,31794,30780],{"class":5123},[4408,31796,31797,31799,31801],{"class":4410,"line":18833},[4408,31798,30785],{"class":5123},[4408,31800,5127],{"class":4426},[4408,31802,20699],{"class":4422},[4408,31804,31805,31807],{"class":4410,"line":18838},[4408,31806,17938],{"class":4414},[4408,31808,9850],{"class":5088},[4408,31810,31811,31814,31816,31818,31820],{"class":4410,"line":18843},[4408,31812,31813],{"class":5123},"                  minimumValue",[4408,31815,5127],{"class":4426},[4408,31817,5130],{"class":4422},[4408,31819,9862],{"class":6042},[4408,31821,4641],{"class":4422},[4408,31823,31824,31827,31829,31831,31833],{"class":4410,"line":18853},[4408,31825,31826],{"class":5123},"                  maximumValue",[4408,31828,5127],{"class":4426},[4408,31830,5130],{"class":4422},[4408,31832,9876],{"class":6042},[4408,31834,4641],{"class":4422},[4408,31836,31837,31840,31842,31844,31846],{"class":4410,"line":18861},[4408,31838,31839],{"class":5123},"                  step",[4408,31841,5127],{"class":4426},[4408,31843,5130],{"class":4422},[4408,31845,9862],{"class":6042},[4408,31847,4641],{"class":4422},[4408,31849,31850,31853,31855,31857,31859],{"class":4410,"line":18869},[4408,31851,31852],{"class":5123},"                  value",[4408,31854,5127],{"class":4426},[4408,31856,5130],{"class":4422},[4408,31858,3641],{"class":4981},[4408,31860,4641],{"class":4422},[4408,31862,31863,31866,31868,31870,31872],{"class":4410,"line":18875},[4408,31864,31865],{"class":5123},"                  onValueChange",[4408,31867,5127],{"class":4426},[4408,31869,5130],{"class":4422},[4408,31871,3553],{"class":4981},[4408,31873,4641],{"class":4422},[4408,31875,31876,31879,31881,31883,31885,31887,31889],{"class":4410,"line":18886},[4408,31877,31878],{"class":5123},"                  minimumTrackTintColor",[4408,31880,5127],{"class":4426},[4408,31882,5130],{"class":4422},[4408,31884,21563],{"class":4981},[4408,31886,3646],{"class":4434},[4408,31888,7277],{"class":4981},[4408,31890,4641],{"class":4422},[4408,31892,31893,31896,31898,31900,31902,31904,31906],{"class":4410,"line":18900},[4408,31894,31895],{"class":5123},"                  maximumTrackTintColor",[4408,31897,5127],{"class":4426},[4408,31899,5130],{"class":4422},[4408,31901,21563],{"class":4981},[4408,31903,3646],{"class":4434},[4408,31905,10064],{"class":4981},[4408,31907,4641],{"class":4422},[4408,31909,31910,31913,31915,31917,31919,31921,31923],{"class":4410,"line":18906},[4408,31911,31912],{"class":5123},"                  thumbTintColor",[4408,31914,5127],{"class":4426},[4408,31916,5130],{"class":4422},[4408,31918,21563],{"class":4981},[4408,31920,3646],{"class":4434},[4408,31922,7277],{"class":4981},[4408,31924,4641],{"class":4422},[4408,31926,31927],{"class":4410,"line":18913},[4408,31928,31929],{"class":4414},"                \u002F>\n",[4408,31931,31932],{"class":4410,"line":18936},[4408,31933,31098],{"class":4422},[4408,31935,31936],{"class":4410,"line":18968},[4408,31937,17002],{"class":4414},[4408,31939,31940,31942],{"class":4410,"line":19007},[4408,31941,17007],{"class":4434},[4408,31943,4641],{"class":4422},[4408,31945,31946],{"class":4410,"line":19046},[4408,31947,8865],{"class":4414},[4408,31949,31950,31952,31954,31956,31958,31960,31962,31964,31966,31968,31970,31972,31974],{"class":4410,"line":19070},[4408,31951,7808],{"class":4414},[4408,31953,20487],{"class":5088},[4408,31955,23055],{"class":5123},[4408,31957,5127],{"class":4426},[4408,31959,23352],{"class":4438},[4408,31961,25119],{"class":5123},[4408,31963,5127],{"class":4426},[4408,31965,5130],{"class":4422},[4408,31967,21563],{"class":4981},[4408,31969,3646],{"class":4434},[4408,31971,23123],{"class":4981},[4408,31973,4444],{"class":4422},[4408,31975,5091],{"class":4414},[4408,31977,31978,31981,31983,31985,31988,31991],{"class":4410,"line":19106},[4408,31979,31980],{"class":4426},"          Зараз на слайдері: ",[4408,31982,5130],{"class":4422},[4408,31984,10085],{"class":4981},[4408,31986,31987],{"class":4422},"}{",[4408,31989,31990],{"class":4438},"' '",[4408,31992,4641],{"class":4422},[4408,31994,31995,31997,31999,32001,32003,32006,32008,32010,32012],{"class":4410,"line":19115},[4408,31996,23482],{"class":4422},[4408,31998,31749],{"class":4430},[4408,32000,4435],{"class":4434},[4408,32002,10085],{"class":4981},[4408,32004,32005],{"class":4426}," ??",[4408,32007,6043],{"class":6042},[4408,32009,4292],{"class":4434},[4408,32011,4444],{"class":4422},[4408,32013,32014],{"class":4426}," (можна не збігатися з датами — це\n",[4408,32016,32017],{"class":4410,"line":19138},[4408,32018,32019],{"class":4426},"          окреме «орієнтовне» поле для навчання).\n",[4408,32021,32022,32024,32026],{"class":4410,"line":19165},[4408,32023,8786],{"class":4414},[4408,32025,20487],{"class":5088},[4408,32027,5091],{"class":4414},[4408,32029,32030],{"class":4410,"line":19174},[4408,32031,4611],{"emptyLinePlaceholder":4610},[4408,32033,32034,32036,32039],{"class":4410,"line":19189},[4408,32035,10441],{"class":4422},[4408,32037,32038],{"class":11572},"\u002F* ——— Switch ——— *\u002F",[4408,32040,4641],{"class":4422},[4408,32042,32043,32045],{"class":4410,"line":19238},[4408,32044,7808],{"class":4414},[4408,32046,12197],{"class":5088},[4408,32048,32049,32051,32053,32055,32057],{"class":4410,"line":19248},[4408,32050,16834],{"class":5123},[4408,32052,5127],{"class":4426},[4408,32054,5130],{"class":4422},[4408,32056,11769],{"class":4981},[4408,32058,4641],{"class":4422},[4408,32060,32061,32063,32065],{"class":4410,"line":19293},[4408,32062,16847],{"class":5123},[4408,32064,5127],{"class":4426},[4408,32066,12341],{"class":4438},[4408,32068,32069,32071,32073,32075,32077,32079,32081,32083,32085,32087,32089,32091],{"class":4410,"line":19324},[4408,32070,16857],{"class":5123},[4408,32072,5127],{"class":4426},[4408,32074,5130],{"class":4422},[4408,32076,7080],{"class":4434},[4408,32078,5261],{"class":4981},[4408,32080,12236],{"class":4434},[4408,32082,3553],{"class":4981},[4408,32084,3550],{"class":4434},[4408,32086,3641],{"class":4981},[4408,32088,12249],{"class":4434},[4408,32090,7089],{"class":4422},[4408,32092,5080],{"class":4434},[4408,32094,32095,32097],{"class":4410,"line":19333},[4408,32096,16888],{"class":4414},[4408,32098,30736],{"class":5088},[4408,32100,32101,32103,32105],{"class":4410,"line":19342},[4408,32102,30550],{"class":5123},[4408,32104,5127],{"class":4426},[4408,32106,32107],{"class":4438},"\"Приватна поїздка\"\n",[4408,32109,32110,32112,32114],{"class":4410,"line":19347},[4408,32111,30750],{"class":5123},[4408,32113,5127],{"class":4426},[4408,32115,32116],{"class":4438},"\"Switch: увімкнено — мітка «приватна» на картці\"\n",[4408,32118,32119,32121,32123,32125,32127,32129,32131,32133,32135],{"class":4410,"line":19352},[4408,32120,30605],{"class":5123},[4408,32122,5127],{"class":4426},[4408,32124,5130],{"class":4422},[4408,32126,4190],{"class":4981},[4408,32128,3646],{"class":4434},[4408,32130,8080],{"class":4981},[4408,32132,17036],{"class":4434},[4408,32134,12717],{"class":4981},[4408,32136,4641],{"class":4422},[4408,32138,32139,32141,32143],{"class":4410,"line":19357},[4408,32140,30785],{"class":5123},[4408,32142,5127],{"class":4426},[4408,32144,20699],{"class":4422},[4408,32146,32147,32149],{"class":4410,"line":19370},[4408,32148,17938],{"class":4414},[4408,32150,8797],{"class":5088},[4408,32152,32153,32155,32157,32159,32161],{"class":4410,"line":19403},[4408,32154,31852],{"class":5123},[4408,32156,5127],{"class":4426},[4408,32158,5130],{"class":4422},[4408,32160,3641],{"class":4981},[4408,32162,4641],{"class":4422},[4408,32164,32165,32167,32169,32171,32173],{"class":4410,"line":19408},[4408,32166,31865],{"class":5123},[4408,32168,5127],{"class":4426},[4408,32170,5130],{"class":4422},[4408,32172,3553],{"class":4981},[4408,32174,4641],{"class":4422},[4408,32176,32177,32180,32182,32184],{"class":4410,"line":19415},[4408,32178,32179],{"class":5123},"                  trackColor",[4408,32181,5127],{"class":4426},[4408,32183,5130],{"class":4422},[4408,32185,20699],{"class":4434},[4408,32187,32188,32191,32193,32195,32197],{"class":4410,"line":19424},[4408,32189,32190],{"class":4981},"                    false:",[4408,32192,21662],{"class":4981},[4408,32194,3646],{"class":4434},[4408,32196,10064],{"class":4981},[4408,32198,5737],{"class":4434},[4408,32200,32201,32204,32206,32208,32210],{"class":4410,"line":19448},[4408,32202,32203],{"class":4981},"                    true:",[4408,32205,21662],{"class":4981},[4408,32207,3646],{"class":4434},[4408,32209,7277],{"class":4981},[4408,32211,5737],{"class":4434},[4408,32213,32214,32217],{"class":4410,"line":19459},[4408,32215,32216],{"class":4434},"                  }",[4408,32218,4641],{"class":4422},[4408,32220,32221,32224,32226,32228,32230,32232,32234],{"class":4410,"line":19502},[4408,32222,32223],{"class":5123},"                  thumbColor",[4408,32225,5127],{"class":4426},[4408,32227,5130],{"class":4422},[4408,32229,21563],{"class":4981},[4408,32231,3646],{"class":4434},[4408,32233,23878],{"class":4981},[4408,32235,4641],{"class":4422},[4408,32237,32238,32241,32243,32245,32247,32249,32251],{"class":4410,"line":19512},[4408,32239,32240],{"class":5123},"                  ios_backgroundColor",[4408,32242,5127],{"class":4426},[4408,32244,5130],{"class":4422},[4408,32246,21563],{"class":4981},[4408,32248,3646],{"class":4434},[4408,32250,10064],{"class":4981},[4408,32252,4641],{"class":4422},[4408,32254,32255],{"class":4410,"line":19547},[4408,32256,31929],{"class":4414},[4408,32258,32259],{"class":4410,"line":19555},[4408,32260,31098],{"class":4422},[4408,32262,32263],{"class":4410,"line":19564},[4408,32264,17002],{"class":4414},[4408,32266,32267,32269],{"class":4410,"line":19573},[4408,32268,17007],{"class":4434},[4408,32270,4641],{"class":4422},[4408,32272,32273],{"class":4410,"line":19578},[4408,32274,8865],{"class":4414},[4408,32276,32277],{"class":4410,"line":19583},[4408,32278,4611],{"emptyLinePlaceholder":4610},[4408,32280,32281,32283,32286],{"class":4410,"line":19588},[4408,32282,10441],{"class":4422},[4408,32284,32285],{"class":11572},"\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F",[4408,32287,4641],{"class":4422},[4408,32289,32290,32292],{"class":4410,"line":19605},[4408,32291,7808],{"class":4414},[4408,32293,12197],{"class":5088},[4408,32295,32296,32298,32300,32302,32304],{"class":4410,"line":19626},[4408,32297,16834],{"class":5123},[4408,32299,5127],{"class":4426},[4408,32301,5130],{"class":4422},[4408,32303,11769],{"class":4981},[4408,32305,4641],{"class":4422},[4408,32307,32308,32310,32312],{"class":4410,"line":19640},[4408,32309,16847],{"class":5123},[4408,32311,5127],{"class":4426},[4408,32313,32314],{"class":4438},"\"hasItinerary\"\n",[4408,32316,32317,32319,32321,32323,32325,32327,32329,32331,32333,32335,32337,32339],{"class":4410,"line":19668},[4408,32318,16857],{"class":5123},[4408,32320,5127],{"class":4426},[4408,32322,5130],{"class":4422},[4408,32324,7080],{"class":4434},[4408,32326,5261],{"class":4981},[4408,32328,12236],{"class":4434},[4408,32330,3553],{"class":4981},[4408,32332,3550],{"class":4434},[4408,32334,3641],{"class":4981},[4408,32336,12249],{"class":4434},[4408,32338,7089],{"class":4422},[4408,32340,5080],{"class":4434},[4408,32342,32343,32345],{"class":4410,"line":19675},[4408,32344,16888],{"class":4414},[4408,32346,30736],{"class":5088},[4408,32348,32349,32351,32353],{"class":4410,"line":19685},[4408,32350,30550],{"class":5123},[4408,32352,5127],{"class":4426},[4408,32354,32355],{"class":4438},"\"Є план маршруту\"\n",[4408,32357,32358,32360,32362],{"class":4410,"line":19694},[4408,32359,30750],{"class":5123},[4408,32361,5127],{"class":4426},[4408,32363,32364],{"class":4438},"\"Checkbox: так \u002F ні, без обов’язковості\"\n",[4408,32366,32367,32369,32371,32373,32375,32377,32379,32381,32383],{"class":4410,"line":19704},[4408,32368,30605],{"class":5123},[4408,32370,5127],{"class":4426},[4408,32372,5130],{"class":4422},[4408,32374,4190],{"class":4981},[4408,32376,3646],{"class":4434},[4408,32378,9572],{"class":4981},[4408,32380,17036],{"class":4434},[4408,32382,12717],{"class":4981},[4408,32384,4641],{"class":4422},[4408,32386,32387,32389,32391],{"class":4410,"line":19713},[4408,32388,30785],{"class":5123},[4408,32390,5127],{"class":4426},[4408,32392,20699],{"class":4422},[4408,32394,32395,32397],{"class":4410,"line":19718},[4408,32396,17938],{"class":4414},[4408,32398,18308],{"class":5088},[4408,32400,32401,32403,32405,32407,32409],{"class":4410,"line":19725},[4408,32402,31852],{"class":5123},[4408,32404,5127],{"class":4426},[4408,32406,5130],{"class":4422},[4408,32408,3641],{"class":4981},[4408,32410,4641],{"class":4422},[4408,32412,32413,32415,32417,32419,32421],{"class":4410,"line":19734},[4408,32414,31865],{"class":5123},[4408,32416,5127],{"class":4426},[4408,32418,5130],{"class":4422},[4408,32420,3553],{"class":4981},[4408,32422,4641],{"class":4422},[4408,32424,32425,32428,32430,32432],{"class":4410,"line":19744},[4408,32426,32427],{"class":5123},"                  tintColors",[4408,32429,5127],{"class":4426},[4408,32431,5130],{"class":4422},[4408,32433,20699],{"class":4434},[4408,32435,32436,32438,32440,32442,32444],{"class":4410,"line":19755},[4408,32437,32203],{"class":4981},[4408,32439,21662],{"class":4981},[4408,32441,3646],{"class":4434},[4408,32443,7277],{"class":4981},[4408,32445,5737],{"class":4434},[4408,32447,32448,32450,32452,32454,32456],{"class":4410,"line":19765},[4408,32449,32190],{"class":4981},[4408,32451,21662],{"class":4981},[4408,32453,3646],{"class":4434},[4408,32455,10064],{"class":4981},[4408,32457,5737],{"class":4434},[4408,32459,32460,32462],{"class":4410,"line":19770},[4408,32461,32216],{"class":4434},[4408,32463,4641],{"class":4422},[4408,32465,32466,32469,32471,32473,32475,32477,32479],{"class":4410,"line":19798},[4408,32467,32468],{"class":5123},"                  onCheckColor",[4408,32470,5127],{"class":4426},[4408,32472,5130],{"class":4422},[4408,32474,21563],{"class":4981},[4408,32476,3646],{"class":4434},[4408,32478,23878],{"class":4981},[4408,32480,4641],{"class":4422},[4408,32482,32483,32486,32488,32490,32492,32494,32496],{"class":4410,"line":19805},[4408,32484,32485],{"class":5123},"                  onFillColor",[4408,32487,5127],{"class":4426},[4408,32489,5130],{"class":4422},[4408,32491,21563],{"class":4981},[4408,32493,3646],{"class":4434},[4408,32495,7277],{"class":4981},[4408,32497,4641],{"class":4422},[4408,32499,32500,32503,32505,32507,32509,32511,32513],{"class":4410,"line":19815},[4408,32501,32502],{"class":5123},"                  onTintColor",[4408,32504,5127],{"class":4426},[4408,32506,5130],{"class":4422},[4408,32508,21563],{"class":4981},[4408,32510,3646],{"class":4434},[4408,32512,7277],{"class":4981},[4408,32514,4641],{"class":4422},[4408,32516,32517,32520,32522],{"class":4410,"line":19824},[4408,32518,32519],{"class":5123},"                  boxType",[4408,32521,5127],{"class":4426},[4408,32523,18409],{"class":4438},[4408,32525,32526],{"class":4410,"line":19833},[4408,32527,31929],{"class":4414},[4408,32529,32530],{"class":4410,"line":19842},[4408,32531,31098],{"class":4422},[4408,32533,32534],{"class":4410,"line":19852},[4408,32535,17002],{"class":4414},[4408,32537,32538,32540],{"class":4410,"line":19857},[4408,32539,17007],{"class":4434},[4408,32541,4641],{"class":4422},[4408,32543,32544],{"class":4410,"line":19864},[4408,32545,8865],{"class":4414},[4408,32547,32548],{"class":4410,"line":19873},[4408,32549,4611],{"emptyLinePlaceholder":4610},[4408,32551,32552,32554,32557],{"class":4410,"line":19883},[4408,32553,10441],{"class":4422},[4408,32555,32556],{"class":11572},"\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F",[4408,32558,4641],{"class":4422},[4408,32560,32561,32563],{"class":4410,"line":19894},[4408,32562,7808],{"class":4414},[4408,32564,12197],{"class":5088},[4408,32566,32567,32569,32571,32573,32575],{"class":4410,"line":19903},[4408,32568,16834],{"class":5123},[4408,32570,5127],{"class":4426},[4408,32572,5130],{"class":4422},[4408,32574,11769],{"class":4981},[4408,32576,4641],{"class":4422},[4408,32578,32579,32581,32583],{"class":4410,"line":19912},[4408,32580,16847],{"class":5123},[4408,32582,5127],{"class":4426},[4408,32584,32585],{"class":4438},"\"acceptedLocalSave\"\n",[4408,32587,32588,32590,32592,32594,32596,32598,32600,32602,32604,32606,32608,32610],{"class":4410,"line":19921},[4408,32589,16857],{"class":5123},[4408,32591,5127],{"class":4426},[4408,32593,5130],{"class":4422},[4408,32595,7080],{"class":4434},[4408,32597,5261],{"class":4981},[4408,32599,12236],{"class":4434},[4408,32601,3553],{"class":4981},[4408,32603,3550],{"class":4434},[4408,32605,3641],{"class":4981},[4408,32607,12249],{"class":4434},[4408,32609,7089],{"class":4422},[4408,32611,5080],{"class":4434},[4408,32613,32614,32616],{"class":4410,"line":19930},[4408,32615,16888],{"class":4414},[4408,32617,30736],{"class":5088},[4408,32619,32620,32622,32624],{"class":4410,"line":19939},[4408,32621,30550],{"class":5123},[4408,32623,5127],{"class":4426},[4408,32625,32626],{"class":4438},"\"Згода на локальне збереження\"\n",[4408,32628,32629,32631,32633],{"class":4410,"line":19948},[4408,32630,30750],{"class":5123},[4408,32632,5127],{"class":4426},[4408,32634,32635],{"class":4438},"\"Поки немає API: дані лишаються в пам’яті застосунку\"\n",[4408,32637,32638,32640,32642,32644,32646,32648,32650,32652,32654],{"class":4410,"line":19953},[4408,32639,30605],{"class":5123},[4408,32641,5127],{"class":4426},[4408,32643,5130],{"class":4422},[4408,32645,4190],{"class":4981},[4408,32647,3646],{"class":4434},[4408,32649,9486],{"class":4981},[4408,32651,17036],{"class":4434},[4408,32653,12717],{"class":4981},[4408,32655,4641],{"class":4422},[4408,32657,32658,32660,32662],{"class":4410,"line":19967},[4408,32659,30785],{"class":5123},[4408,32661,5127],{"class":4426},[4408,32663,20699],{"class":4422},[4408,32665,32666,32668],{"class":4410,"line":19982},[4408,32667,17938],{"class":4414},[4408,32669,18308],{"class":5088},[4408,32671,32672,32674,32676,32678,32680,32682,32684,32686],{"class":4410,"line":20007},[4408,32673,31852],{"class":5123},[4408,32675,5127],{"class":4426},[4408,32677,5130],{"class":4422},[4408,32679,18320],{"class":4430},[4408,32681,4435],{"class":4434},[4408,32683,3641],{"class":4981},[4408,32685,4292],{"class":4434},[4408,32687,4641],{"class":4422},[4408,32689,32690,32692,32694,32696,32698],{"class":4410,"line":20015},[4408,32691,31865],{"class":5123},[4408,32693,5127],{"class":4426},[4408,32695,5130],{"class":4422},[4408,32697,3553],{"class":4981},[4408,32699,4641],{"class":4422},[4408,32701,32702,32704,32706,32708],{"class":4410,"line":20024},[4408,32703,32427],{"class":5123},[4408,32705,5127],{"class":4426},[4408,32707,5130],{"class":4422},[4408,32709,20699],{"class":4434},[4408,32711,32712,32714,32716,32718,32720],{"class":4410,"line":20033},[4408,32713,32203],{"class":4981},[4408,32715,21662],{"class":4981},[4408,32717,3646],{"class":4434},[4408,32719,7277],{"class":4981},[4408,32721,5737],{"class":4434},[4408,32723,32724,32726,32728,32730,32732],{"class":4410,"line":20042},[4408,32725,32190],{"class":4981},[4408,32727,21662],{"class":4981},[4408,32729,3646],{"class":4434},[4408,32731,10064],{"class":4981},[4408,32733,5737],{"class":4434},[4408,32735,32736,32738],{"class":4410,"line":20051},[4408,32737,32216],{"class":4434},[4408,32739,4641],{"class":4422},[4408,32741,32742,32744,32746,32748,32750,32752,32754],{"class":4410,"line":20062},[4408,32743,32468],{"class":5123},[4408,32745,5127],{"class":4426},[4408,32747,5130],{"class":4422},[4408,32749,21563],{"class":4981},[4408,32751,3646],{"class":4434},[4408,32753,23878],{"class":4981},[4408,32755,4641],{"class":4422},[4408,32757,32758,32760,32762,32764,32766,32768,32770],{"class":4410,"line":20067},[4408,32759,32485],{"class":5123},[4408,32761,5127],{"class":4426},[4408,32763,5130],{"class":4422},[4408,32765,21563],{"class":4981},[4408,32767,3646],{"class":4434},[4408,32769,7277],{"class":4981},[4408,32771,4641],{"class":4422},[4408,32773,32774,32776,32778,32780,32782,32784,32786],{"class":4410,"line":20074},[4408,32775,32502],{"class":5123},[4408,32777,5127],{"class":4426},[4408,32779,5130],{"class":4422},[4408,32781,21563],{"class":4981},[4408,32783,3646],{"class":4434},[4408,32785,7277],{"class":4981},[4408,32787,4641],{"class":4422},[4408,32789,32790,32792,32794],{"class":4410,"line":20083},[4408,32791,32519],{"class":5123},[4408,32793,5127],{"class":4426},[4408,32795,18409],{"class":4438},[4408,32797,32798],{"class":4410,"line":20092},[4408,32799,31929],{"class":4414},[4408,32801,32802],{"class":4410,"line":20101},[4408,32803,31098],{"class":4422},[4408,32805,32806],{"class":4410,"line":20110},[4408,32807,17002],{"class":4414},[4408,32809,32810,32812],{"class":4410,"line":20115},[4408,32811,17007],{"class":4434},[4408,32813,4641],{"class":4422},[4408,32815,32816],{"class":4410,"line":20136},[4408,32817,8865],{"class":4414},[4408,32819,32820],{"class":4410,"line":20156},[4408,32821,4611],{"emptyLinePlaceholder":4610},[4408,32823,32824,32826,32829],{"class":4410,"line":20163},[4408,32825,10441],{"class":4422},[4408,32827,32828],{"class":11572},"\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F",[4408,32830,4641],{"class":4422},[4408,32832,32833,32835,32837,32839,32841,32843,32845,32847,32849,32851,32853,32855,32857,32859,32861,32863,32865,32867],{"class":4410,"line":20172},[4408,32834,7808],{"class":4414},[4408,32836,5006],{"class":5088},[4408,32838,6112],{"class":5123},[4408,32840,5127],{"class":4426},[4408,32842,5130],{"class":4422},[4408,32844,6036],{"class":4434},[4408,32846,6078],{"class":4981},[4408,32848,22592],{"class":4981},[4408,32850,3646],{"class":4434},[4408,32852,22656],{"class":4981},[4408,32854,3550],{"class":4434},[4408,32856,8738],{"class":4981},[4408,32858,22592],{"class":4981},[4408,32860,3646],{"class":4434},[4408,32862,22656],{"class":4981},[4408,32864,6053],{"class":4434},[4408,32866,4444],{"class":4422},[4408,32868,5091],{"class":4414},[4408,32870,32871,32873],{"class":4410,"line":20181},[4408,32872,8681],{"class":4414},[4408,32874,24395],{"class":5088},[4408,32876,32877,32880,32882,32884,32886,32888,32891,32893,32896],{"class":4410,"line":20190},[4408,32878,32879],{"class":5123},"            label",[4408,32881,5127],{"class":4426},[4408,32883,5130],{"class":4422},[4408,32885,7066],{"class":4981},[4408,32887,7189],{"class":4426},[4408,32889,32890],{"class":4438}," 'Створюємо…'",[4408,32892,7195],{"class":4426},[4408,32894,32895],{"class":4438}," 'Створити поїздку'",[4408,32897,4641],{"class":4422},[4408,32899,32900,32903,32905,32907,32909,32911,32913,32915],{"class":4410,"line":20199},[4408,32901,32902],{"class":5123},"            onPress",[4408,32904,5127],{"class":4426},[4408,32906,5130],{"class":4422},[4408,32908,5619],{"class":4430},[4408,32910,4435],{"class":4434},[4408,32912,7050],{"class":4981},[4408,32914,4292],{"class":4434},[4408,32916,4641],{"class":4422},[4408,32918,32919,32922,32924,32926,32928],{"class":4410,"line":20208},[4408,32920,32921],{"class":5123},"            disabled",[4408,32923,5127],{"class":4426},[4408,32925,5130],{"class":4422},[4408,32927,7066],{"class":4981},[4408,32929,4641],{"class":4422},[4408,32931,32932],{"class":4410,"line":20213},[4408,32933,22878],{"class":4414},[4408,32935,32936,32938,32941,32943],{"class":4410,"line":20238},[4408,32937,23482],{"class":4422},[4408,32939,32940],{"class":4981},"onCancel",[4408,32942,7189],{"class":4426},[4408,32944,5080],{"class":4434},[4408,32946,32947,32949],{"class":4410,"line":20265},[4408,32948,16888],{"class":4414},[4408,32950,24395],{"class":5088},[4408,32952,32954,32956,32958],{"class":4410,"line":32953},354,[4408,32955,30550],{"class":5123},[4408,32957,5127],{"class":4426},[4408,32959,32960],{"class":4438},"\"Скасувати\"\n",[4408,32962,32964,32967,32969],{"class":4410,"line":32963},355,[4408,32965,32966],{"class":5123},"              variant",[4408,32968,5127],{"class":4426},[4408,32970,32971],{"class":4438},"\"secondary\"\n",[4408,32973,32975,32978,32980,32982,32984],{"class":4410,"line":32974},356,[4408,32976,32977],{"class":5123},"              onPress",[4408,32979,5127],{"class":4426},[4408,32981,5130],{"class":4422},[4408,32983,32940],{"class":4981},[4408,32985,4641],{"class":4422},[4408,32987,32989,32992,32994,32996,32998],{"class":4410,"line":32988},357,[4408,32990,32991],{"class":5123},"              disabled",[4408,32993,5127],{"class":4426},[4408,32995,5130],{"class":4422},[4408,32997,7066],{"class":4981},[4408,32999,4641],{"class":4422},[4408,33001,33003],{"class":4410,"line":33002},358,[4408,33004,17002],{"class":4414},[4408,33006,33008,33011,33013],{"class":4410,"line":33007},359,[4408,33009,33010],{"class":4434},"          ) ",[4408,33012,9473],{"class":4426},[4408,33014,14354],{"class":4422},[4408,33016,33017,33019,33021],{"class":4410,"line":8341},[4408,33018,8786],{"class":4414},[4408,33020,5006],{"class":5088},[4408,33022,5091],{"class":4414},[4408,33024,33026,33028,33030],{"class":4410,"line":33025},361,[4408,33027,6198],{"class":4414},[4408,33029,3689],{"class":5088},[4408,33031,5091],{"class":4414},[4408,33033,33035,33037,33039],{"class":4410,"line":33034},362,[4408,33036,5177],{"class":4414},[4408,33038,3686],{"class":5088},[4408,33040,5091],{"class":4414},[4408,33042,33044],{"class":4410,"line":33043},363,[4408,33045,5186],{"class":4426},[4408,33047,33049],{"class":4410,"line":33048},364,[4408,33050,4641],{"class":4426},[4408,33052,33054],{"class":4410,"line":33053},365,[4408,33055,4611],{"emptyLinePlaceholder":4610},[4408,33057,33059,33061,33064,33066,33068,33070,33072,33074,33076],{"class":4410,"line":33058},366,[4408,33060,12880],{"class":4422},[4408,33062,33063],{"class":4430}," daysWord",[4408,33065,4435],{"class":4426},[4408,33067,7540],{"class":4981},[4408,33069,4145],{"class":4426},[4408,33071,5446],{"class":5088},[4408,33073,26687],{"class":4426},[4408,33075,5263],{"class":5088},[4408,33077,5729],{"class":4426},[4408,33079,33081,33083,33086,33088,33091,33093,33096,33098,33100,33103,33106],{"class":4410,"line":33080},367,[4408,33082,5043],{"class":4422},[4408,33084,33085],{"class":5049}," abs",[4408,33087,5804],{"class":4426},[4408,33089,33090],{"class":4981},"Math",[4408,33092,3646],{"class":4426},[4408,33094,33095],{"class":4430},"abs",[4408,33097,4435],{"class":4426},[4408,33099,7540],{"class":4981},[4408,33101,33102],{"class":4426},") % ",[4408,33104,33105],{"class":6042},"100",[4408,33107,4993],{"class":4426},[4408,33109,33111,33113,33116,33118,33120,33123,33125],{"class":4410,"line":33110},368,[4408,33112,5043],{"class":4422},[4408,33114,33115],{"class":5049}," last",[4408,33117,5804],{"class":4426},[4408,33119,33095],{"class":4981},[4408,33121,33122],{"class":4426}," % ",[4408,33124,26249],{"class":6042},[4408,33126,4993],{"class":4426},[4408,33128,33130,33132,33134,33136,33139,33141,33143,33145,33147,33150,33152,33154,33157],{"class":4410,"line":33129},369,[4408,33131,11625],{"class":4974},[4408,33133,3588],{"class":4426},[4408,33135,33095],{"class":4981},[4408,33137,33138],{"class":4426}," > ",[4408,33140,26249],{"class":6042},[4408,33142,26917],{"class":4426},[4408,33144,33095],{"class":4981},[4408,33146,11643],{"class":4426},[4408,33148,33149],{"class":6042},"20",[4408,33151,7723],{"class":4426},[4408,33153,16316],{"class":4974},[4408,33155,33156],{"class":4438}," 'днів'",[4408,33158,4993],{"class":4426},[4408,33160,33162,33164,33166,33169,33171,33173,33175,33177,33180],{"class":4410,"line":33161},370,[4408,33163,11625],{"class":4974},[4408,33165,3588],{"class":4426},[4408,33167,33168],{"class":4981},"last",[4408,33170,13599],{"class":4426},[4408,33172,9862],{"class":6042},[4408,33174,7723],{"class":4426},[4408,33176,16316],{"class":4974},[4408,33178,33179],{"class":4438}," 'день'",[4408,33181,4993],{"class":4426},[4408,33183,33185,33187,33189,33191,33194,33196,33198,33200,33203,33205,33207,33209,33212],{"class":4410,"line":33184},371,[4408,33186,11625],{"class":4974},[4408,33188,3588],{"class":4426},[4408,33190,33168],{"class":4981},[4408,33192,33193],{"class":4426}," >= ",[4408,33195,11646],{"class":6042},[4408,33197,26917],{"class":4426},[4408,33199,33168],{"class":4981},[4408,33201,33202],{"class":4426}," \u003C= ",[4408,33204,31594],{"class":6042},[4408,33206,7723],{"class":4426},[4408,33208,16316],{"class":4974},[4408,33210,33211],{"class":4438}," 'дні'",[4408,33213,4993],{"class":4426},[4408,33215,33217,33219,33221],{"class":4410,"line":33216},372,[4408,33218,5077],{"class":4974},[4408,33220,33156],{"class":4438},[4408,33222,4993],{"class":4426},[4408,33224,33226],{"class":4410,"line":33225},373,[4408,33227,4641],{"class":4426},[4408,33229,33231],{"class":4410,"line":33230},374,[4408,33232,4611],{"emptyLinePlaceholder":4610},[4408,33234,33236,33238,33240,33242,33244,33246,33248],{"class":4410,"line":33235},375,[4408,33237,6770],{"class":4422},[4408,33239,6773],{"class":5049},[4408,33241,5804],{"class":4426},[4408,33243,6778],{"class":4981},[4408,33245,3646],{"class":4426},[4408,33247,6783],{"class":4430},[4408,33249,6786],{"class":4426},[4408,33251,33253,33255],{"class":4410,"line":33252},376,[4408,33254,19629],{"class":4981},[4408,33256,5729],{"class":4426},[4408,33258,33260,33262,33264],{"class":4410,"line":33259},377,[4408,33261,19678],{"class":4981},[4408,33263,6043],{"class":6042},[4408,33265,5737],{"class":4426},[4408,33267,33269],{"class":4410,"line":33268},378,[4408,33270,6891],{"class":4426},[4408,33272,33274,33277],{"class":4410,"line":33273},379,[4408,33275,33276],{"class":4981},"  content:",[4408,33278,5729],{"class":4426},[4408,33280,33282,33285,33287],{"class":4410,"line":33281},380,[4408,33283,33284],{"class":4981},"    flexGrow:",[4408,33286,6043],{"class":6042},[4408,33288,5737],{"class":4426},[4408,33290,33292],{"class":4410,"line":33291},381,[4408,33293,6891],{"class":4426},[4408,33295,33297,33300],{"class":4410,"line":33296},382,[4408,33298,33299],{"class":4981},"  multiline:",[4408,33301,5729],{"class":4426},[4408,33303,33305,33307,33310],{"class":4410,"line":33304},383,[4408,33306,6880],{"class":4981},[4408,33308,33309],{"class":6042}," 110",[4408,33311,5737],{"class":4426},[4408,33313,33315],{"class":4410,"line":33314},384,[4408,33316,6891],{"class":4426},[4408,33318,33320,33322],{"class":4410,"line":33319},385,[4408,33321,20010],{"class":4981},[4408,33323,5729],{"class":4426},[4408,33325,33327,33329,33331],{"class":4410,"line":33326},386,[4408,33328,6830],{"class":4981},[4408,33330,6043],{"class":6042},[4408,33332,5737],{"class":4426},[4408,33334,33336,33338,33340],{"class":4410,"line":33335},387,[4408,33337,20054],{"class":4981},[4408,33339,20057],{"class":4438},[4408,33341,5737],{"class":4426},[4408,33343,33345],{"class":4410,"line":33344},388,[4408,33346,6891],{"class":4426},[4408,33348,33350],{"class":4410,"line":33349},389,[4408,33351,6913],{"class":4426},[4399,33353,33356],{"className":4401,"code":33354,"filename":33355,"language":4403,"meta":4404,"style":4404},"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",[3540,33357,33358,33374,33380,33387,33393,33399,33405,33411,33421,33430,33439,33450,33454,33470,33490,33494,33503,33514,33525,33546,33559,33570,33575,33586,33597,33601,33605,33609,33614,33619,33623,33634,33640,33646,33652,33658,33664,33670,33676,33685,33707,33730,33735,33758,33762,33779,33783,33796,33807,33818,33822,33826,33839,33849,33857,33861,33865,33878,33889,33896,33900,33904,33935,33940,33950,33973,33984,33988,33994,33998,34002,34032,34042,34053,34057,34061,34065,34083,34087,34093,34121,34149,34157,34165,34171,34180,34209,34222,34232,34242,34246,34271,34283,34296,34313,34325,34329,34335,34339,34359,34367,34378,34406,34414,34422,34430,34434,34443,34467,34474,34486,34496,34506,34520,34533,34547,34551,34559,34563,34582,34589,34602,34607,34617,34631,34635,34668,34674,34685,34697,34702,34715,34728,34742,34747,34754,34759,34765,34775,34787,34814,34821,34826,34852,34860,34866,34878,34887,34897,34910,34922,34935,34954,34958,34964,34974,34985,35009,35015,35019,35045,35078,35109,35117,35125,35133,35141,35149,35157,35161,35165,35169,35190,35227,35264,35281,35316,35320,35324,35340,35346,35354,35358,35365,35373,35381,35389,35393,35400,35408,35417,35421,35428,35437,35446,35454,35458,35465,35473,35477,35484,35492,35496,35503,35511,35519,35523],{"__ignoreMap":4404},[4408,33359,33360,33362,33364,33366,33368,33370,33372],{"class":4410,"line":4411},[4408,33361,4975],{"class":4974},[4408,33363,4978],{"class":4426},[4408,33365,4390],{"class":4981},[4408,33367,4984],{"class":4426},[4408,33369,4987],{"class":4974},[4408,33371,4990],{"class":4438},[4408,33373,4993],{"class":4426},[4408,33375,33376,33378],{"class":4410,"line":4595},[4408,33377,4975],{"class":4974},[4408,33379,5729],{"class":4426},[4408,33381,33382,33385],{"class":4410,"line":4601},[4408,33383,33384],{"class":4981},"  Modal",[4408,33386,5737],{"class":4426},[4408,33388,33389,33391],{"class":4410,"line":4607},[4408,33390,13019],{"class":4981},[4408,33392,5737],{"class":4426},[4408,33394,33395,33397],{"class":4410,"line":4614},[4408,33396,13026],{"class":4981},[4408,33398,5737],{"class":4426},[4408,33400,33401,33403],{"class":4410,"line":4620},[4408,33402,5742],{"class":4981},[4408,33404,5737],{"class":4426},[4408,33406,33407,33409],{"class":4410,"line":4626},[4408,33408,13064],{"class":4981},[4408,33410,5737],{"class":4426},[4408,33412,33413,33415,33417,33419],{"class":4410,"line":4632},[4408,33414,5770],{"class":4426},[4408,33416,4987],{"class":4974},[4408,33418,5018],{"class":4438},[4408,33420,4993],{"class":4426},[4408,33422,33423,33425,33428],{"class":4410,"line":4638},[4408,33424,4975],{"class":4974},[4408,33426,33427],{"class":4981}," DateTimePicker",[4408,33429,9503],{"class":4426},[4408,33431,33432,33434,33437],{"class":4410,"line":4644},[4408,33433,21918],{"class":4974},[4408,33435,33436],{"class":4981}," DateTimePickerEvent",[4408,33438,5737],{"class":4426},[4408,33440,33441,33443,33445,33448],{"class":4410,"line":4649},[4408,33442,5770],{"class":4426},[4408,33444,4987],{"class":4974},[4408,33446,33447],{"class":4438}," '@react-native-community\u002Fdatetimepicker'",[4408,33449,4993],{"class":4426},[4408,33451,33452],{"class":4410,"line":4655},[4408,33453,4611],{"emptyLinePlaceholder":4610},[4408,33455,33456,33458,33460,33462,33464,33466,33468],{"class":4410,"line":4661},[4408,33457,4975],{"class":4974},[4408,33459,4978],{"class":4426},[4408,33461,21532],{"class":4981},[4408,33463,4984],{"class":4426},[4408,33465,4987],{"class":4974},[4408,33467,21539],{"class":4438},[4408,33469,4993],{"class":4426},[4408,33471,33472,33474,33476,33478,33480,33482,33484,33486,33488],{"class":4410,"line":4667},[4408,33473,4975],{"class":4974},[4408,33475,4978],{"class":4426},[4408,33477,20487],{"class":4981},[4408,33479,3550],{"class":4426},[4408,33481,3660],{"class":4981},[4408,33483,4984],{"class":4426},[4408,33485,4987],{"class":4974},[4408,33487,21988],{"class":4438},[4408,33489,4993],{"class":4426},[4408,33491,33492],{"class":4410,"line":4672},[4408,33493,4611],{"emptyLinePlaceholder":4610},[4408,33495,33496,33498,33501],{"class":4410,"line":4677},[4408,33497,4065],{"class":4422},[4408,33499,33500],{"class":5088}," DateFieldProps",[4408,33502,25709],{"class":4426},[4408,33504,33505,33508,33510,33512],{"class":4410,"line":4683},[4408,33506,33507],{"class":4981},"  label",[4408,33509,4145],{"class":4426},[4408,33511,5263],{"class":5088},[4408,33513,4993],{"class":4426},[4408,33515,33516,33519,33521,33523],{"class":4410,"line":4689},[4408,33517,33518],{"class":4981},"  value",[4408,33520,4145],{"class":4426},[4408,33522,10826],{"class":5088},[4408,33524,4993],{"class":4426},[4408,33526,33527,33530,33532,33534,33536,33538,33540,33542,33544],{"class":4410,"line":4695},[4408,33528,33529],{"class":4430},"  onChange",[4408,33531,16387],{"class":4426},[4408,33533,4307],{"class":4981},[4408,33535,4145],{"class":4426},[4408,33537,10826],{"class":5088},[4408,33539,7723],{"class":4426},[4408,33541,7089],{"class":4422},[4408,33543,16401],{"class":5088},[4408,33545,4993],{"class":4426},[4408,33547,33548,33551,33553,33555,33557],{"class":4410,"line":4700},[4408,33549,33550],{"class":4430},"  onBlur",[4408,33552,29469],{"class":4426},[4408,33554,7089],{"class":4422},[4408,33556,16401],{"class":5088},[4408,33558,4993],{"class":4426},[4408,33560,33561,33564,33566,33568],{"class":4410,"line":4706},[4408,33562,33563],{"class":4981},"  error",[4408,33565,13101],{"class":4426},[4408,33567,5263],{"class":5088},[4408,33569,4993],{"class":4426},[4408,33571,33572],{"class":4410,"line":4712},[4408,33573,33574],{"class":11572},"  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n",[4408,33576,33577,33580,33582,33584],{"class":4410,"line":4717},[4408,33578,33579],{"class":4981},"  minimumDate",[4408,33581,13101],{"class":4426},[4408,33583,10826],{"class":5088},[4408,33585,4993],{"class":4426},[4408,33587,33588,33591,33593,33595],{"class":4410,"line":4722},[4408,33589,33590],{"class":4981},"  maximumDate",[4408,33592,13101],{"class":4426},[4408,33594,10826],{"class":5088},[4408,33596,4993],{"class":4426},[4408,33598,33599],{"class":4410,"line":6058},[4408,33600,11683],{"class":4426},[4408,33602,33603],{"class":4410,"line":6088},[4408,33604,4611],{"emptyLinePlaceholder":4610},[4408,33606,33607],{"class":4410,"line":6099},[4408,33608,24842],{"class":11572},[4408,33610,33611],{"class":4410,"line":6105},[4408,33612,33613],{"class":11572}," * Поле дати: натискання відкриває системний date picker.\n",[4408,33615,33616],{"class":4410,"line":6157},[4408,33617,33618],{"class":11572}," * iOS — spinner у Modal; Android — нативний діалог.\n",[4408,33620,33621],{"class":4410,"line":6189},[4408,33622,24862],{"class":11572},[4408,33624,33625,33627,33629,33632],{"class":4410,"line":6195},[4408,33626,5029],{"class":4974},[4408,33628,5032],{"class":4422},[4408,33630,33631],{"class":4430}," DateField",[4408,33633,6786],{"class":4426},[4408,33635,33636,33638],{"class":4410,"line":6205},[4408,33637,33507],{"class":4981},[4408,33639,5737],{"class":4426},[4408,33641,33642,33644],{"class":4410,"line":6210},[4408,33643,33518],{"class":4981},[4408,33645,5737],{"class":4426},[4408,33647,33648,33650],{"class":4410,"line":6256},[4408,33649,33529],{"class":4981},[4408,33651,5737],{"class":4426},[4408,33653,33654,33656],{"class":4410,"line":6263},[4408,33655,33550],{"class":4981},[4408,33657,5737],{"class":4426},[4408,33659,33660,33662],{"class":4410,"line":6276},[4408,33661,33563],{"class":4981},[4408,33663,5737],{"class":4426},[4408,33665,33666,33668],{"class":4410,"line":6289},[4408,33667,33579],{"class":4981},[4408,33669,5737],{"class":4426},[4408,33671,33672,33674],{"class":4410,"line":6299},[4408,33673,33590],{"class":4981},[4408,33675,5737],{"class":4426},[4408,33677,33678,33680,33683],{"class":4410,"line":6314},[4408,33679,29691],{"class":4426},[4408,33681,33682],{"class":5088},"DateFieldProps",[4408,33684,11649],{"class":4426},[4408,33686,33687,33689,33691,33693,33695,33697,33699,33701,33703,33705],{"class":4410,"line":6325},[4408,33688,5043],{"class":4422},[4408,33690,4978],{"class":4426},[4408,33692,21563],{"class":5049},[4408,33694,3550],{"class":4426},[4408,33696,22142],{"class":5049},[4408,33698,3550],{"class":4426},[4408,33700,29713],{"class":5049},[4408,33702,21571],{"class":4426},[4408,33704,21532],{"class":4430},[4408,33706,21576],{"class":4426},[4408,33708,33709,33711,33713,33715,33717,33720,33722,33724,33726,33728],{"class":4410,"line":6335},[4408,33710,5043],{"class":4422},[4408,33712,5046],{"class":4426},[4408,33714,10912],{"class":5049},[4408,33716,3550],{"class":4426},[4408,33718,33719],{"class":5049},"setOpen",[4408,33721,5058],{"class":4426},[4408,33723,4390],{"class":4430},[4408,33725,4435],{"class":4426},[4408,33727,5411],{"class":4422},[4408,33729,5068],{"class":4426},[4408,33731,33732],{"class":4410,"line":6346},[4408,33733,33734],{"class":11572},"  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n",[4408,33736,33737,33739,33741,33743,33745,33748,33750,33752,33754,33756],{"class":4410,"line":6387},[4408,33738,5043],{"class":4422},[4408,33740,5046],{"class":4426},[4408,33742,10948],{"class":5049},[4408,33744,3550],{"class":4426},[4408,33746,33747],{"class":5049},"setDraft",[4408,33749,5058],{"class":4426},[4408,33751,4390],{"class":4430},[4408,33753,4435],{"class":4426},[4408,33755,3641],{"class":4981},[4408,33757,5068],{"class":4426},[4408,33759,33760],{"class":4410,"line":6392},[4408,33761,4611],{"emptyLinePlaceholder":4610},[4408,33763,33764,33766,33769,33771,33773,33775,33777],{"class":4410,"line":6397},[4408,33765,5043],{"class":4422},[4408,33767,33768],{"class":5049}," hasError",[4408,33770,5804],{"class":4426},[4408,33772,18320],{"class":4430},[4408,33774,4435],{"class":4426},[4408,33776,16342],{"class":4981},[4408,33778,5068],{"class":4426},[4408,33780,33781],{"class":4410,"line":6439},[4408,33782,4611],{"emptyLinePlaceholder":4610},[4408,33784,33785,33787,33790,33792,33794],{"class":4410,"line":6446},[4408,33786,5043],{"class":4422},[4408,33788,33789],{"class":4430}," openPicker",[4408,33791,11616],{"class":4426},[4408,33793,7089],{"class":4422},[4408,33795,5729],{"class":4426},[4408,33797,33798,33801,33803,33805],{"class":4410,"line":6459},[4408,33799,33800],{"class":4430},"    setDraft",[4408,33802,4435],{"class":4426},[4408,33804,3641],{"class":4981},[4408,33806,5068],{"class":4426},[4408,33808,33809,33812,33814,33816],{"class":4410,"line":6472},[4408,33810,33811],{"class":4430},"    setOpen",[4408,33813,4435],{"class":4426},[4408,33815,5651],{"class":4422},[4408,33817,5068],{"class":4426},[4408,33819,33820],{"class":4410,"line":6482},[4408,33821,13608],{"class":4426},[4408,33823,33824],{"class":4410,"line":6495},[4408,33825,4611],{"emptyLinePlaceholder":4610},[4408,33827,33828,33830,33833,33835,33837],{"class":4410,"line":6505},[4408,33829,5043],{"class":4422},[4408,33831,33832],{"class":4430}," closePicker",[4408,33834,11616],{"class":4426},[4408,33836,7089],{"class":4422},[4408,33838,5729],{"class":4426},[4408,33840,33841,33843,33845,33847],{"class":4410,"line":6544},[4408,33842,33811],{"class":4430},[4408,33844,4435],{"class":4426},[4408,33846,5411],{"class":4422},[4408,33848,5068],{"class":4426},[4408,33850,33851,33854],{"class":4410,"line":6549},[4408,33852,33853],{"class":4430},"    onBlur",[4408,33855,33856],{"class":4426},"?.();\n",[4408,33858,33859],{"class":4410,"line":6554},[4408,33860,13608],{"class":4426},[4408,33862,33863],{"class":4410,"line":6596},[4408,33864,4611],{"emptyLinePlaceholder":4610},[4408,33866,33867,33869,33872,33874,33876],{"class":4410,"line":6603},[4408,33868,5043],{"class":4422},[4408,33870,33871],{"class":4430}," applyIos",[4408,33873,11616],{"class":4426},[4408,33875,7089],{"class":4422},[4408,33877,5729],{"class":4426},[4408,33879,33880,33883,33885,33887],{"class":4410,"line":6616},[4408,33881,33882],{"class":4430},"    onChange",[4408,33884,4435],{"class":4426},[4408,33886,10948],{"class":4981},[4408,33888,5068],{"class":4426},[4408,33890,33891,33894],{"class":4410,"line":6629},[4408,33892,33893],{"class":4430},"    closePicker",[4408,33895,21576],{"class":4426},[4408,33897,33898],{"class":4410,"line":6639},[4408,33899,13608],{"class":4426},[4408,33901,33902],{"class":4410,"line":6652},[4408,33903,4611],{"emptyLinePlaceholder":4610},[4408,33905,33906,33908,33911,33913,33915,33917,33920,33922,33925,33927,33929,33931,33933],{"class":4410,"line":6658},[4408,33907,5043],{"class":4422},[4408,33909,33910],{"class":4430}," onAndroidChange",[4408,33912,25991],{"class":4426},[4408,33914,4036],{"class":4981},[4408,33916,4145],{"class":4426},[4408,33918,33919],{"class":5088},"DateTimePickerEvent",[4408,33921,3550],{"class":4426},[4408,33923,33924],{"class":4981},"selected",[4408,33926,13101],{"class":4426},[4408,33928,10826],{"class":5088},[4408,33930,7723],{"class":4426},[4408,33932,7089],{"class":4422},[4408,33934,5729],{"class":4426},[4408,33936,33937],{"class":4410,"line":6669},[4408,33938,33939],{"class":11572},"    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n",[4408,33941,33942,33944,33946,33948],{"class":4410,"line":6681},[4408,33943,33811],{"class":4430},[4408,33945,4435],{"class":4426},[4408,33947,5411],{"class":4422},[4408,33949,5068],{"class":4426},[4408,33951,33952,33954,33956,33958,33960,33962,33964,33967,33969,33971],{"class":4410,"line":6693},[4408,33953,13455],{"class":4974},[4408,33955,3588],{"class":4426},[4408,33957,4036],{"class":4981},[4408,33959,3646],{"class":4426},[4408,33961,4065],{"class":4981},[4408,33963,13599],{"class":4426},[4408,33965,33966],{"class":4438},"'set'",[4408,33968,26917],{"class":4426},[4408,33970,33924],{"class":4981},[4408,33972,11649],{"class":4426},[4408,33974,33975,33978,33980,33982],{"class":4410,"line":6705},[4408,33976,33977],{"class":4430},"      onChange",[4408,33979,4435],{"class":4426},[4408,33981,33924],{"class":4981},[4408,33983,5068],{"class":4426},[4408,33985,33986],{"class":4410,"line":6730},[4408,33987,21424],{"class":4426},[4408,33989,33990,33992],{"class":4410,"line":6738},[4408,33991,33853],{"class":4430},[4408,33993,33856],{"class":4426},[4408,33995,33996],{"class":4410,"line":6743},[4408,33997,13608],{"class":4426},[4408,33999,34000],{"class":4410,"line":6752},[4408,34001,4611],{"emptyLinePlaceholder":4610},[4408,34003,34004,34006,34009,34011,34014,34016,34018,34020,34022,34024,34026,34028,34030],{"class":4410,"line":6757},[4408,34005,5043],{"class":4422},[4408,34007,34008],{"class":4430}," onIosChange",[4408,34010,25991],{"class":4426},[4408,34012,34013],{"class":4981},"_event",[4408,34015,4145],{"class":4426},[4408,34017,33919],{"class":5088},[4408,34019,3550],{"class":4426},[4408,34021,33924],{"class":4981},[4408,34023,13101],{"class":4426},[4408,34025,10826],{"class":5088},[4408,34027,7723],{"class":4426},[4408,34029,7089],{"class":4422},[4408,34031,5729],{"class":4426},[4408,34033,34034,34036,34038,34040],{"class":4410,"line":6762},[4408,34035,13455],{"class":4974},[4408,34037,3588],{"class":4426},[4408,34039,33924],{"class":4981},[4408,34041,11649],{"class":4426},[4408,34043,34044,34047,34049,34051],{"class":4410,"line":6767},[4408,34045,34046],{"class":4430},"      setDraft",[4408,34048,4435],{"class":4426},[4408,34050,33924],{"class":4981},[4408,34052,5068],{"class":4426},[4408,34054,34055],{"class":4410,"line":6789},[4408,34056,21424],{"class":4426},[4408,34058,34059],{"class":4410,"line":6819},[4408,34060,13608],{"class":4426},[4408,34062,34063],{"class":4410,"line":6827},[4408,34064,4611],{"emptyLinePlaceholder":4610},[4408,34066,34067,34069,34072,34074,34077,34079,34081],{"class":4410,"line":6837},[4408,34068,5043],{"class":4422},[4408,34070,34071],{"class":5049}," display",[4408,34073,5804],{"class":4426},[4408,34075,34076],{"class":4430},"formatDisplay",[4408,34078,4435],{"class":4426},[4408,34080,3641],{"class":4981},[4408,34082,5068],{"class":4426},[4408,34084,34085],{"class":4410,"line":6847},[4408,34086,4611],{"emptyLinePlaceholder":4610},[4408,34088,34089,34091],{"class":4410,"line":6857},[4408,34090,5077],{"class":4974},[4408,34092,5080],{"class":4426},[4408,34094,34095,34097,34099,34101,34103,34105,34107,34109,34111,34113,34115,34117,34119],{"class":4410,"line":6867},[4408,34096,5085],{"class":4414},[4408,34098,5006],{"class":5088},[4408,34100,6112],{"class":5123},[4408,34102,5127],{"class":4426},[4408,34104,5130],{"class":4422},[4408,34106,6036],{"class":4434},[4408,34108,6078],{"class":4981},[4408,34110,22592],{"class":4981},[4408,34112,3646],{"class":4434},[4408,34114,23286],{"class":4981},[4408,34116,6053],{"class":4434},[4408,34118,4444],{"class":4422},[4408,34120,5091],{"class":4414},[4408,34122,34123,34125,34127,34129,34131,34133,34135,34137,34139,34141,34143,34145,34147],{"class":4410,"line":6877},[4408,34124,5096],{"class":4414},[4408,34126,20487],{"class":5088},[4408,34128,23055],{"class":5123},[4408,34130,5127],{"class":4426},[4408,34132,23352],{"class":4438},[4408,34134,6112],{"class":5123},[4408,34136,5127],{"class":4426},[4408,34138,5130],{"class":4422},[4408,34140,6226],{"class":4981},[4408,34142,3646],{"class":4434},[4408,34144,5239],{"class":4981},[4408,34146,4444],{"class":4422},[4408,34148,5091],{"class":4414},[4408,34150,34151,34153,34155],{"class":4410,"line":6888},[4408,34152,10441],{"class":4422},[4408,34154,5239],{"class":4981},[4408,34156,4641],{"class":4422},[4408,34158,34159,34161,34163],{"class":4410,"line":6894},[4408,34160,6198],{"class":4414},[4408,34162,20487],{"class":5088},[4408,34164,5091],{"class":4414},[4408,34166,34167,34169],{"class":4410,"line":6910},[4408,34168,5096],{"class":4414},[4408,34170,7034],{"class":5088},[4408,34172,34173,34176,34178],{"class":4410,"line":14357},[4408,34174,34175],{"class":5123},"        accessibilityRole",[4408,34177,5127],{"class":4426},[4408,34179,23790],{"class":4438},[4408,34181,34182,34185,34187,34189,34191,34193,34195,34197,34199,34201,34203,34205,34207],{"class":4410,"line":14362},[4408,34183,34184],{"class":5123},"        accessibilityLabel",[4408,34186,5127],{"class":4426},[4408,34188,5130],{"class":4422},[4408,34190,23835],{"class":4438},[4408,34192,23504],{"class":4422},[4408,34194,5239],{"class":4981},[4408,34196,4444],{"class":4422},[4408,34198,4145],{"class":4438},[4408,34200,23504],{"class":4422},[4408,34202,10863],{"class":4981},[4408,34204,4444],{"class":4422},[4408,34206,23835],{"class":4438},[4408,34208,4641],{"class":4422},[4408,34210,34211,34213,34215,34217,34220],{"class":4410,"line":14403},[4408,34212,7702],{"class":5123},[4408,34214,5127],{"class":4426},[4408,34216,5130],{"class":4422},[4408,34218,34219],{"class":4981},"openPicker",[4408,34221,4641],{"class":4422},[4408,34223,34224,34226,34228,34230],{"class":4410,"line":14410},[4408,34225,6349],{"class":5123},[4408,34227,5127],{"class":4426},[4408,34229,5130],{"class":4422},[4408,34231,6678],{"class":4434},[4408,34233,34234,34236,34238,34240],{"class":4410,"line":14423},[4408,34235,6684],{"class":4981},[4408,34237,3646],{"class":4434},[4408,34239,5261],{"class":4981},[4408,34241,5737],{"class":4434},[4408,34243,34244],{"class":4410,"line":14436},[4408,34245,23235],{"class":4434},[4408,34247,34248,34251,34253,34255,34257,34259,34261,34263,34265,34267,34269],{"class":4410,"line":14446},[4408,34249,34250],{"class":4981},"            borderColor:",[4408,34252,33768],{"class":4981},[4408,34254,7189],{"class":4426},[4408,34256,21662],{"class":4981},[4408,34258,3646],{"class":4434},[4408,34260,11467],{"class":4981},[4408,34262,7195],{"class":4426},[4408,34264,21662],{"class":4981},[4408,34266,3646],{"class":4434},[4408,34268,10064],{"class":4981},[4408,34270,5737],{"class":4434},[4408,34272,34273,34275,34277,34279,34281],{"class":4410,"line":14456},[4408,34274,24366],{"class":4981},[4408,34276,21662],{"class":4981},[4408,34278,3646],{"class":4434},[4408,34280,23753],{"class":4981},[4408,34282,5737],{"class":4434},[4408,34284,34285,34288,34290,34292,34294],{"class":4410,"line":14465},[4408,34286,34287],{"class":4981},"            borderRadius:",[4408,34289,30879],{"class":4981},[4408,34291,3646],{"class":4434},[4408,34293,22597],{"class":4981},[4408,34295,5737],{"class":4434},[4408,34297,34298,34301,34303,34305,34307,34309,34311],{"class":4410,"line":14478},[4408,34299,34300],{"class":4981},"            paddingVertical:",[4408,34302,22592],{"class":4981},[4408,34304,3646],{"class":4434},[4408,34306,22656],{"class":4981},[4408,34308,7731],{"class":4426},[4408,34310,8741],{"class":6042},[4408,34312,5737],{"class":4434},[4408,34314,34315,34317,34319,34321,34323],{"class":4410,"line":14489},[4408,34316,23240],{"class":4981},[4408,34318,22592],{"class":4981},[4408,34320,3646],{"class":4434},[4408,34322,22597],{"class":4981},[4408,34324,5737],{"class":4434},[4408,34326,34327],{"class":4410,"line":14500},[4408,34328,23306],{"class":4434},[4408,34330,34331,34333],{"class":4410,"line":14535},[4408,34332,6733],{"class":4434},[4408,34334,4641],{"class":4422},[4408,34336,34337],{"class":4410,"line":14542},[4408,34338,7803],{"class":4414},[4408,34340,34341,34343,34345,34347,34349,34351,34353,34355,34357],{"class":4410,"line":14547},[4408,34342,7808],{"class":4414},[4408,34344,20487],{"class":5088},[4408,34346,5101],{"class":4414},[4408,34348,5130],{"class":4422},[4408,34350,10863],{"class":4981},[4408,34352,4444],{"class":4422},[4408,34354,5107],{"class":4414},[4408,34356,20487],{"class":5088},[4408,34358,5091],{"class":4414},[4408,34360,34361,34363,34365],{"class":4410,"line":14602},[4408,34362,6198],{"class":4414},[4408,34364,3654],{"class":5088},[4408,34366,5091],{"class":4414},[4408,34368,34369,34371,34374,34376],{"class":4410,"line":14607},[4408,34370,12648],{"class":4422},[4408,34372,34373],{"class":4981},"hasError",[4408,34375,7189],{"class":4426},[4408,34377,5080],{"class":4434},[4408,34379,34380,34382,34384,34386,34388,34390,34392,34394,34396,34398,34400,34402,34404],{"class":4410,"line":14630},[4408,34381,7808],{"class":4414},[4408,34383,20487],{"class":5088},[4408,34385,23055],{"class":5123},[4408,34387,5127],{"class":4426},[4408,34389,23352],{"class":4438},[4408,34391,25119],{"class":5123},[4408,34393,5127],{"class":4426},[4408,34395,5130],{"class":4422},[4408,34397,21563],{"class":4981},[4408,34399,3646],{"class":4434},[4408,34401,11467],{"class":4981},[4408,34403,4444],{"class":4422},[4408,34405,5091],{"class":4414},[4408,34407,34408,34410,34412],{"class":4410,"line":14670},[4408,34409,23482],{"class":4422},[4408,34411,16342],{"class":4981},[4408,34413,4641],{"class":4422},[4408,34415,34416,34418,34420],{"class":4410,"line":14722},[4408,34417,8786],{"class":4414},[4408,34419,20487],{"class":5088},[4408,34421,5091],{"class":4414},[4408,34423,34424,34426,34428],{"class":4410,"line":14731},[4408,34425,19241],{"class":4434},[4408,34427,9473],{"class":4426},[4408,34429,14354],{"class":4422},[4408,34431,34432],{"class":4410,"line":14786},[4408,34433,4611],{"emptyLinePlaceholder":4610},[4408,34435,34436,34438,34441],{"class":4410,"line":14791},[4408,34437,12648],{"class":4422},[4408,34439,34440],{"class":11572},"\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F",[4408,34442,4641],{"class":4422},[4408,34444,34445,34447,34449,34451,34453,34455,34458,34460,34463,34465],{"class":4410,"line":14834},[4408,34446,12648],{"class":4422},[4408,34448,13977],{"class":4981},[4408,34450,3646],{"class":4434},[4408,34452,13982],{"class":5049},[4408,34454,13985],{"class":4426},[4408,34456,34457],{"class":4438}," 'android'",[4408,34459,7112],{"class":4426},[4408,34461,34462],{"class":4981}," open",[4408,34464,7189],{"class":4426},[4408,34466,5080],{"class":4434},[4408,34468,34469,34471],{"class":4410,"line":14866},[4408,34470,7808],{"class":4414},[4408,34472,34473],{"class":5088},"DateTimePicker\n",[4408,34475,34476,34478,34480,34482,34484],{"class":4410,"line":14875},[4408,34477,8802],{"class":5123},[4408,34479,5127],{"class":4426},[4408,34481,5130],{"class":4422},[4408,34483,3641],{"class":4981},[4408,34485,4641],{"class":4422},[4408,34487,34488,34491,34493],{"class":4410,"line":14884},[4408,34489,34490],{"class":5123},"          mode",[4408,34492,5127],{"class":4426},[4408,34494,34495],{"class":4438},"\"date\"\n",[4408,34497,34498,34501,34503],{"class":4410,"line":14893},[4408,34499,34500],{"class":5123},"          display",[4408,34502,5127],{"class":4426},[4408,34504,34505],{"class":4438},"\"default\"\n",[4408,34507,34508,34511,34513,34515,34518],{"class":4410,"line":14898},[4408,34509,34510],{"class":5123},"          onChange",[4408,34512,5127],{"class":4426},[4408,34514,5130],{"class":4422},[4408,34516,34517],{"class":4981},"onAndroidChange",[4408,34519,4641],{"class":4422},[4408,34521,34522,34525,34527,34529,34531],{"class":4410,"line":14903},[4408,34523,34524],{"class":5123},"          minimumDate",[4408,34526,5127],{"class":4426},[4408,34528,5130],{"class":4422},[4408,34530,12954],{"class":4981},[4408,34532,4641],{"class":4422},[4408,34534,34535,34538,34540,34542,34545],{"class":4410,"line":14908},[4408,34536,34537],{"class":5123},"          maximumDate",[4408,34539,5127],{"class":4426},[4408,34541,5130],{"class":4422},[4408,34543,34544],{"class":4981},"maximumDate",[4408,34546,4641],{"class":4422},[4408,34548,34549],{"class":4410,"line":14925},[4408,34550,8865],{"class":4414},[4408,34552,34553,34555,34557],{"class":4410,"line":14957},[4408,34554,19241],{"class":4434},[4408,34556,9473],{"class":4426},[4408,34558,14354],{"class":4422},[4408,34560,34561],{"class":4410,"line":14989},[4408,34562,4611],{"emptyLinePlaceholder":4610},[4408,34564,34565,34567,34569,34571,34573,34576,34578,34580],{"class":4410,"line":14996},[4408,34566,12648],{"class":4422},[4408,34568,13977],{"class":4981},[4408,34570,3646],{"class":4434},[4408,34572,13982],{"class":5049},[4408,34574,34575],{"class":4426}," !==",[4408,34577,34457],{"class":4438},[4408,34579,7189],{"class":4426},[4408,34581,5080],{"class":4434},[4408,34583,34584,34586],{"class":4410,"line":15005},[4408,34585,7808],{"class":4414},[4408,34587,34588],{"class":5088},"Modal\n",[4408,34590,34591,34594,34596,34598,34600],{"class":4410,"line":15014},[4408,34592,34593],{"class":5123},"          visible",[4408,34595,5127],{"class":4426},[4408,34597,5130],{"class":4422},[4408,34599,10912],{"class":4981},[4408,34601,4641],{"class":4422},[4408,34603,34604],{"class":4410,"line":15023},[4408,34605,34606],{"class":5123},"          transparent\n",[4408,34608,34609,34612,34614],{"class":4410,"line":15032},[4408,34610,34611],{"class":5123},"          animationType",[4408,34613,5127],{"class":4426},[4408,34615,34616],{"class":4438},"\"slide\"\n",[4408,34618,34619,34622,34624,34626,34629],{"class":4410,"line":15041},[4408,34620,34621],{"class":5123},"          onRequestClose",[4408,34623,5127],{"class":4426},[4408,34625,5130],{"class":4422},[4408,34627,34628],{"class":4981},"closePicker",[4408,34630,4641],{"class":4422},[4408,34632,34633],{"class":4410,"line":15050},[4408,34634,13868],{"class":4414},[4408,34636,34637,34639,34641,34643,34645,34647,34649,34651,34654,34656,34658,34660,34662,34664,34666],{"class":4410,"line":15055},[4408,34638,8681],{"class":4414},[4408,34640,3654],{"class":5088},[4408,34642,6112],{"class":5123},[4408,34644,5127],{"class":4426},[4408,34646,5130],{"class":4422},[4408,34648,6226],{"class":4981},[4408,34650,3646],{"class":4434},[4408,34652,34653],{"class":4981},"backdrop",[4408,34655,4444],{"class":4422},[4408,34657,11613],{"class":5123},[4408,34659,5127],{"class":4426},[4408,34661,5130],{"class":4422},[4408,34663,34628],{"class":4981},[4408,34665,4444],{"class":4422},[4408,34667,4447],{"class":4414},[4408,34669,34670,34672],{"class":4410,"line":15086},[4408,34671,8681],{"class":4414},[4408,34673,22963],{"class":5088},[4408,34675,34676,34679,34681,34683],{"class":4410,"line":15117},[4408,34677,34678],{"class":5123},"            style",[4408,34680,5127],{"class":4426},[4408,34682,5130],{"class":4422},[4408,34684,6678],{"class":4434},[4408,34686,34687,34690,34692,34695],{"class":4410,"line":15136},[4408,34688,34689],{"class":4981},"              styles",[4408,34691,3646],{"class":4434},[4408,34693,34694],{"class":4981},"sheet",[4408,34696,5737],{"class":4434},[4408,34698,34699],{"class":4410,"line":17208},[4408,34700,34701],{"class":4434},"              {\n",[4408,34703,34704,34707,34709,34711,34713],{"class":4410,"line":17218},[4408,34705,34706],{"class":4981},"                backgroundColor:",[4408,34708,21662],{"class":4981},[4408,34710,3646],{"class":4434},[4408,34712,23753],{"class":4981},[4408,34714,5737],{"class":4434},[4408,34716,34717,34720,34722,34724,34726],{"class":4410,"line":17227},[4408,34718,34719],{"class":4981},"                borderColor:",[4408,34721,21662],{"class":4981},[4408,34723,3646],{"class":4434},[4408,34725,10064],{"class":4981},[4408,34727,5737],{"class":4434},[4408,34729,34730,34733,34735,34737,34740],{"class":4410,"line":17237},[4408,34731,34732],{"class":4981},"                paddingBottom:",[4408,34734,22592],{"class":4981},[4408,34736,3646],{"class":4434},[4408,34738,34739],{"class":4981},"lg",[4408,34741,5737],{"class":4434},[4408,34743,34744],{"class":4410,"line":17246},[4408,34745,34746],{"class":4434},"              },\n",[4408,34748,34749,34752],{"class":4410,"line":17251},[4408,34750,34751],{"class":4434},"            ]",[4408,34753,4641],{"class":4422},[4408,34755,34756],{"class":4410,"line":17258},[4408,34757,34758],{"class":4414},"          >\n",[4408,34760,34761,34763],{"class":4410,"line":17263},[4408,34762,16888],{"class":4414},[4408,34764,22963],{"class":5088},[4408,34766,34767,34769,34771,34773],{"class":4410,"line":17290},[4408,34768,16895],{"class":5123},[4408,34770,5127],{"class":4426},[4408,34772,5130],{"class":4422},[4408,34774,6678],{"class":4434},[4408,34776,34777,34780,34782,34785],{"class":4410,"line":17295},[4408,34778,34779],{"class":4981},"                styles",[4408,34781,3646],{"class":4434},[4408,34783,34784],{"class":4981},"sheetHeader",[4408,34786,5737],{"class":4434},[4408,34788,34789,34792,34795,34797,34799,34801,34803,34806,34808,34810,34812],{"class":4410,"line":17312},[4408,34790,34791],{"class":4434},"                { ",[4408,34793,34794],{"class":4981},"paddingHorizontal:",[4408,34796,22592],{"class":4981},[4408,34798,3646],{"class":4434},[4408,34800,22597],{"class":4981},[4408,34802,3550],{"class":4434},[4408,34804,34805],{"class":4981},"paddingTop:",[4408,34807,22592],{"class":4981},[4408,34809,3646],{"class":4434},[4408,34811,22597],{"class":4981},[4408,34813,6727],{"class":4434},[4408,34815,34816,34819],{"class":4410,"line":17319},[4408,34817,34818],{"class":4434},"              ]",[4408,34820,4641],{"class":4422},[4408,34822,34823],{"class":4410,"line":17332},[4408,34824,34825],{"class":4414},"            >\n",[4408,34827,34828,34830,34832,34834,34836,34838,34840,34842,34844,34846,34848,34850],{"class":4410,"line":17342},[4408,34829,17417],{"class":4414},[4408,34831,20487],{"class":5088},[4408,34833,23055],{"class":5123},[4408,34835,5127],{"class":4426},[4408,34837,23060],{"class":4438},[4408,34839,5101],{"class":4414},[4408,34841,5130],{"class":4422},[4408,34843,5239],{"class":4981},[4408,34845,4444],{"class":4422},[4408,34847,5107],{"class":4414},[4408,34849,20487],{"class":5088},[4408,34851,5091],{"class":4414},[4408,34853,34854,34856,34858],{"class":4410,"line":17369},[4408,34855,17541],{"class":4414},[4408,34857,5006],{"class":5088},[4408,34859,5091],{"class":4414},[4408,34861,34862,34864],{"class":4410,"line":17414},[4408,34863,16888],{"class":4414},[4408,34865,34473],{"class":5088},[4408,34867,34868,34870,34872,34874,34876],{"class":4410,"line":17444},[4408,34869,16934],{"class":5123},[4408,34871,5127],{"class":4426},[4408,34873,5130],{"class":4422},[4408,34875,10948],{"class":4981},[4408,34877,4641],{"class":4422},[4408,34879,34880,34883,34885],{"class":4410,"line":17468},[4408,34881,34882],{"class":5123},"              mode",[4408,34884,5127],{"class":4426},[4408,34886,34495],{"class":4438},[4408,34888,34889,34892,34894],{"class":4410,"line":17520},[4408,34890,34891],{"class":5123},"              display",[4408,34893,5127],{"class":4426},[4408,34895,34896],{"class":4438},"\"spinner\"\n",[4408,34898,34899,34901,34903,34905,34908],{"class":4410,"line":17528},[4408,34900,31215],{"class":5123},[4408,34902,5127],{"class":4426},[4408,34904,5130],{"class":4422},[4408,34906,34907],{"class":4981},"onIosChange",[4408,34909,4641],{"class":4422},[4408,34911,34912,34914,34916,34918,34920],{"class":4410,"line":17538},[4408,34913,31406],{"class":5123},[4408,34915,5127],{"class":4426},[4408,34917,5130],{"class":4422},[4408,34919,12954],{"class":4981},[4408,34921,4641],{"class":4422},[4408,34923,34924,34927,34929,34931,34933],{"class":4410,"line":17548},[4408,34925,34926],{"class":5123},"              maximumDate",[4408,34928,5127],{"class":4426},[4408,34930,5130],{"class":4422},[4408,34932,34544],{"class":4981},[4408,34934,4641],{"class":4422},[4408,34936,34937,34939,34941,34943,34945,34948,34950,34952],{"class":4410,"line":17555},[4408,34938,16895],{"class":5123},[4408,34940,5127],{"class":4426},[4408,34942,5130],{"class":4422},[4408,34944,6036],{"class":4434},[4408,34946,34947],{"class":4981},"alignSelf:",[4408,34949,7904],{"class":4438},[4408,34951,6053],{"class":4434},[4408,34953,4641],{"class":4422},[4408,34955,34956],{"class":4410,"line":17560},[4408,34957,17002],{"class":4414},[4408,34959,34960,34962],{"class":4410,"line":17587},[4408,34961,16888],{"class":4414},[4408,34963,22963],{"class":5088},[4408,34965,34966,34968,34970,34972],{"class":4410,"line":17592},[4408,34967,16895],{"class":5123},[4408,34969,5127],{"class":4426},[4408,34971,5130],{"class":4422},[4408,34973,6678],{"class":4434},[4408,34975,34976,34978,34980,34983],{"class":4410,"line":17617},[4408,34977,34779],{"class":4981},[4408,34979,3646],{"class":4434},[4408,34981,34982],{"class":4981},"sheetActions",[4408,34984,5737],{"class":4434},[4408,34986,34987,34989,34991,34993,34995,34997,34999,35001,35003,35005,35007],{"class":4410,"line":17624},[4408,34988,34791],{"class":4434},[4408,34990,34794],{"class":4981},[4408,34992,22592],{"class":4981},[4408,34994,3646],{"class":4434},[4408,34996,22597],{"class":4981},[4408,34998,3550],{"class":4434},[4408,35000,6078],{"class":4981},[4408,35002,22592],{"class":4981},[4408,35004,3646],{"class":4434},[4408,35006,22656],{"class":4981},[4408,35008,6727],{"class":4434},[4408,35010,35011,35013],{"class":4410,"line":17637},[4408,35012,34818],{"class":4434},[4408,35014,4641],{"class":4422},[4408,35016,35017],{"class":4410,"line":17647},[4408,35018,34825],{"class":4414},[4408,35020,35021,35023,35025,35027,35029,35032,35034,35036,35038,35041,35043],{"class":4410,"line":17674},[4408,35022,17417],{"class":4414},[4408,35024,3660],{"class":5088},[4408,35026,10481],{"class":5123},[4408,35028,5127],{"class":4426},[4408,35030,35031],{"class":4438},"\"Готово\"",[4408,35033,11613],{"class":5123},[4408,35035,5127],{"class":4426},[4408,35037,5130],{"class":4422},[4408,35039,35040],{"class":4981},"applyIos",[4408,35042,4444],{"class":4422},[4408,35044,4447],{"class":4414},[4408,35046,35047,35049,35051,35053,35055,35057,35059,35061,35063,35065,35067,35069,35071,35074,35076],{"class":4410,"line":17681},[4408,35048,17417],{"class":4414},[4408,35050,3654],{"class":5088},[4408,35052,11613],{"class":5123},[4408,35054,5127],{"class":4426},[4408,35056,5130],{"class":4422},[4408,35058,34628],{"class":4981},[4408,35060,4444],{"class":4422},[4408,35062,6112],{"class":5123},[4408,35064,5127],{"class":4426},[4408,35066,5130],{"class":4422},[4408,35068,6226],{"class":4981},[4408,35070,3646],{"class":4434},[4408,35072,35073],{"class":4981},"cancel",[4408,35075,4444],{"class":4422},[4408,35077,5091],{"class":4414},[4408,35079,35080,35082,35084,35086,35088,35090,35092,35094,35096,35098,35100,35103,35105,35107],{"class":4410,"line":17695},[4408,35081,17938],{"class":4414},[4408,35083,20487],{"class":5088},[4408,35085,25119],{"class":5123},[4408,35087,5127],{"class":4426},[4408,35089,5130],{"class":4422},[4408,35091,21563],{"class":4981},[4408,35093,3646],{"class":4434},[4408,35095,23123],{"class":4981},[4408,35097,4444],{"class":4422},[4408,35099,5101],{"class":4414},[4408,35101,35102],{"class":4434},"Скасувати",[4408,35104,5107],{"class":4414},[4408,35106,20487],{"class":5088},[4408,35108,5091],{"class":4414},[4408,35110,35111,35113,35115],{"class":4410,"line":17709},[4408,35112,17531],{"class":4414},[4408,35114,3654],{"class":5088},[4408,35116,5091],{"class":4414},[4408,35118,35119,35121,35123],{"class":4410,"line":17723},[4408,35120,17541],{"class":4414},[4408,35122,5006],{"class":5088},[4408,35124,5091],{"class":4414},[4408,35126,35127,35129,35131],{"class":4410,"line":17736},[4408,35128,8777],{"class":4414},[4408,35130,5006],{"class":5088},[4408,35132,5091],{"class":4414},[4408,35134,35135,35137,35139],{"class":4410,"line":17750},[4408,35136,8786],{"class":4414},[4408,35138,10686],{"class":5088},[4408,35140,5091],{"class":4414},[4408,35142,35143,35145,35147],{"class":4410,"line":17761},[4408,35144,19241],{"class":4434},[4408,35146,9473],{"class":4426},[4408,35148,14354],{"class":4422},[4408,35150,35151,35153,35155],{"class":4410,"line":17772},[4408,35152,5177],{"class":4414},[4408,35154,5006],{"class":5088},[4408,35156,5091],{"class":4414},[4408,35158,35159],{"class":4410,"line":17782},[4408,35160,5186],{"class":4426},[4408,35162,35163],{"class":4410,"line":17787},[4408,35164,4641],{"class":4426},[4408,35166,35167],{"class":4410,"line":17794},[4408,35168,4611],{"emptyLinePlaceholder":4610},[4408,35170,35171,35173,35176,35178,35180,35182,35184,35186,35188],{"class":4410,"line":17799},[4408,35172,12880],{"class":4422},[4408,35174,35175],{"class":4430}," formatDisplay",[4408,35177,4435],{"class":4426},[4408,35179,26680],{"class":4981},[4408,35181,4145],{"class":4426},[4408,35183,10826],{"class":5088},[4408,35185,26687],{"class":4426},[4408,35187,5263],{"class":5088},[4408,35189,5729],{"class":4426},[4408,35191,35192,35194,35197,35199,35202,35204,35206,35208,35210,35213,35216,35218,35220,35222,35225],{"class":4410,"line":17826},[4408,35193,5043],{"class":4422},[4408,35195,35196],{"class":5049}," dd",[4408,35198,5804],{"class":4426},[4408,35200,35201],{"class":4430},"String",[4408,35203,4435],{"class":4426},[4408,35205,26680],{"class":4981},[4408,35207,3646],{"class":4426},[4408,35209,26706],{"class":4430},[4408,35211,35212],{"class":4426},"()).",[4408,35214,35215],{"class":4430},"padStart",[4408,35217,4435],{"class":4426},[4408,35219,11646],{"class":6042},[4408,35221,3550],{"class":4426},[4408,35223,35224],{"class":4438},"'0'",[4408,35226,5068],{"class":4426},[4408,35228,35229,35231,35234,35236,35238,35240,35242,35244,35246,35248,35250,35252,35254,35256,35258,35260,35262],{"class":4410,"line":17831},[4408,35230,5043],{"class":4422},[4408,35232,35233],{"class":5049}," mm",[4408,35235,5804],{"class":4426},[4408,35237,35201],{"class":4430},[4408,35239,4435],{"class":4426},[4408,35241,26680],{"class":4981},[4408,35243,3646],{"class":4426},[4408,35245,26725],{"class":4430},[4408,35247,29625],{"class":4426},[4408,35249,9862],{"class":6042},[4408,35251,3693],{"class":4426},[4408,35253,35215],{"class":4430},[4408,35255,4435],{"class":4426},[4408,35257,11646],{"class":6042},[4408,35259,3550],{"class":4426},[4408,35261,35224],{"class":4438},[4408,35263,5068],{"class":4426},[4408,35265,35266,35268,35271,35273,35275,35277,35279],{"class":4410,"line":17838},[4408,35267,5043],{"class":4422},[4408,35269,35270],{"class":5049}," yyyy",[4408,35272,5804],{"class":4426},[4408,35274,26680],{"class":4981},[4408,35276,3646],{"class":4426},[4408,35278,26809],{"class":4430},[4408,35280,21576],{"class":4426},[4408,35282,35283,35285,35287,35289,35292,35294,35296,35298,35301,35303,35305,35307,35310,35312,35314],{"class":4410,"line":17851},[4408,35284,5077],{"class":4974},[4408,35286,23501],{"class":4438},[4408,35288,23504],{"class":4422},[4408,35290,35291],{"class":4981},"dd",[4408,35293,4444],{"class":4422},[4408,35295,3646],{"class":4438},[4408,35297,23504],{"class":4422},[4408,35299,35300],{"class":4981},"mm",[4408,35302,4444],{"class":4422},[4408,35304,3646],{"class":4438},[4408,35306,23504],{"class":4422},[4408,35308,35309],{"class":4981},"yyyy",[4408,35311,4444],{"class":4422},[4408,35313,23835],{"class":4438},[4408,35315,4993],{"class":4426},[4408,35317,35318],{"class":4410,"line":17861},[4408,35319,4641],{"class":4426},[4408,35321,35322],{"class":4410,"line":17888},[4408,35323,4611],{"emptyLinePlaceholder":4610},[4408,35325,35326,35328,35330,35332,35334,35336,35338],{"class":4410,"line":17911},[4408,35327,6770],{"class":4422},[4408,35329,6773],{"class":5049},[4408,35331,5804],{"class":4426},[4408,35333,6778],{"class":4981},[4408,35335,3646],{"class":4426},[4408,35337,6783],{"class":4430},[4408,35339,6786],{"class":4426},[4408,35341,35342,35344],{"class":4410,"line":17935},[4408,35343,6792],{"class":4981},[4408,35345,5729],{"class":4426},[4408,35347,35348,35350,35352],{"class":4410,"line":17968},[4408,35349,19737],{"class":4981},[4408,35351,20260],{"class":4438},[4408,35353,5737],{"class":4426},[4408,35355,35356],{"class":4410,"line":17991},[4408,35357,6891],{"class":4426},[4408,35359,35360,35363],{"class":4410,"line":17997},[4408,35361,35362],{"class":4981},"  field:",[4408,35364,5729],{"class":4426},[4408,35366,35367,35369,35371],{"class":4410,"line":18007},[4408,35368,6830],{"class":4981},[4408,35370,6043],{"class":6042},[4408,35372,5737],{"class":4426},[4408,35374,35375,35377,35379],{"class":4410,"line":18016},[4408,35376,6880],{"class":4981},[4408,35378,6883],{"class":6042},[4408,35380,5737],{"class":4426},[4408,35382,35383,35385,35387],{"class":4410,"line":18023},[4408,35384,19697],{"class":4981},[4408,35386,7904],{"class":4438},[4408,35388,5737],{"class":4426},[4408,35390,35391],{"class":4410,"line":18037},[4408,35392,6891],{"class":4426},[4408,35394,35395,35398],{"class":4410,"line":18051},[4408,35396,35397],{"class":4981},"  backdrop:",[4408,35399,5729],{"class":4426},[4408,35401,35402,35404,35406],{"class":4410,"line":18079},[4408,35403,19678],{"class":4981},[4408,35405,6043],{"class":6042},[4408,35407,5737],{"class":4426},[4408,35409,35410,35412,35415],{"class":4410,"line":18090},[4408,35411,19886],{"class":4981},[4408,35413,35414],{"class":4438}," 'rgba(0,0,0,0.35)'",[4408,35416,5737],{"class":4426},[4408,35418,35419],{"class":4410,"line":18096},[4408,35420,6891],{"class":4426},[4408,35422,35423,35426],{"class":4410,"line":18105},[4408,35424,35425],{"class":4981},"  sheet:",[4408,35427,5729],{"class":4426},[4408,35429,35430,35433,35435],{"class":4410,"line":18112},[4408,35431,35432],{"class":4981},"    borderTopLeftRadius:",[4408,35434,6073],{"class":6042},[4408,35436,5737],{"class":4426},[4408,35438,35439,35442,35444],{"class":4410,"line":18117},[4408,35440,35441],{"class":4981},"    borderTopRightRadius:",[4408,35443,6073],{"class":6042},[4408,35445,5737],{"class":4426},[4408,35447,35448,35450,35452],{"class":4410,"line":18122},[4408,35449,24716],{"class":4981},[4408,35451,6043],{"class":6042},[4408,35453,5737],{"class":4426},[4408,35455,35456],{"class":4410,"line":18129},[4408,35457,6891],{"class":4426},[4408,35459,35460,35463],{"class":4410,"line":18142},[4408,35461,35462],{"class":4981},"  sheetHeader:",[4408,35464,5729],{"class":4426},[4408,35466,35467,35469,35471],{"class":4410,"line":18152},[4408,35468,8954],{"class":4981},[4408,35470,7904],{"class":4438},[4408,35472,5737],{"class":4426},[4408,35474,35475],{"class":4410,"line":18179},[4408,35476,6891],{"class":4426},[4408,35478,35479,35482],{"class":4410,"line":18202},[4408,35480,35481],{"class":4981},"  sheetActions:",[4408,35483,5729],{"class":4426},[4408,35485,35486,35488,35490],{"class":4410,"line":18225},[4408,35487,19808],{"class":4981},[4408,35489,13731],{"class":6042},[4408,35491,5737],{"class":4426},[4408,35493,35494],{"class":4410,"line":18256},[4408,35495,6891],{"class":4426},[4408,35497,35498,35501],{"class":4410,"line":18279},[4408,35499,35500],{"class":4981},"  cancel:",[4408,35502,5729],{"class":4426},[4408,35504,35505,35507,35509],{"class":4410,"line":18285},[4408,35506,8954],{"class":4981},[4408,35508,7904],{"class":4438},[4408,35510,5737],{"class":4426},[4408,35512,35513,35515,35517],{"class":4410,"line":18294},[4408,35514,6860],{"class":4981},[4408,35516,14030],{"class":6042},[4408,35518,5737],{"class":4426},[4408,35520,35521],{"class":4410,"line":18303},[4408,35522,6891],{"class":4426},[4408,35524,35525],{"class":4410,"line":18311},[4408,35526,6913],{"class":4426},[4399,35528,35531],{"className":4401,"code":35529,"filename":35530,"language":4403,"meta":4404,"style":4404},"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",[3540,35532,35533,35549,35569,35573,35589,35605,35609,35618,35628,35633,35643,35653,35658,35668,35673,35684,35688,35692,35696,35701,35706,35710,35721,35727,35733,35739,35745,35755,35764,35782,35786,35792,35829,35835,35845,35869,35890,35896,35900,35923,35951,35959,35967,35977,36005,36014,36022,36030,36038,36074,36082,36090,36098,36108,36136,36144,36152,36160,36168,36172,36176,36180,36196,36203,36213,36217,36223,36231,36239,36248,36252,36259,36268,36277,36281,36288,36296,36304,36308,36314,36322,36326,36333,36342,36346,36353,36361,36369,36373],{"__ignoreMap":4404},[4408,35534,35535,35537,35539,35541,35543,35545,35547],{"class":4410,"line":4411},[4408,35536,4975],{"class":4974},[4408,35538,4978],{"class":4426},[4408,35540,27375],{"class":4981},[4408,35542,4984],{"class":4426},[4408,35544,4987],{"class":4974},[4408,35546,4990],{"class":4438},[4408,35548,4993],{"class":4426},[4408,35550,35551,35553,35555,35557,35559,35561,35563,35565,35567],{"class":4410,"line":4595},[4408,35552,4975],{"class":4974},[4408,35554,4978],{"class":4426},[4408,35556,6778],{"class":4981},[4408,35558,3550],{"class":4426},[4408,35560,5006],{"class":4981},[4408,35562,4984],{"class":4426},[4408,35564,4987],{"class":4974},[4408,35566,5018],{"class":4438},[4408,35568,4993],{"class":4426},[4408,35570,35571],{"class":4410,"line":4601},[4408,35572,4611],{"emptyLinePlaceholder":4610},[4408,35574,35575,35577,35579,35581,35583,35585,35587],{"class":4410,"line":4607},[4408,35576,4975],{"class":4974},[4408,35578,4978],{"class":4426},[4408,35580,21532],{"class":4981},[4408,35582,4984],{"class":4426},[4408,35584,4987],{"class":4974},[4408,35586,21539],{"class":4438},[4408,35588,4993],{"class":4426},[4408,35590,35591,35593,35595,35597,35599,35601,35603],{"class":4410,"line":4614},[4408,35592,4975],{"class":4974},[4408,35594,4978],{"class":4426},[4408,35596,20487],{"class":4981},[4408,35598,4984],{"class":4426},[4408,35600,4987],{"class":4974},[4408,35602,21988],{"class":4438},[4408,35604,4993],{"class":4426},[4408,35606,35607],{"class":4410,"line":4620},[4408,35608,4611],{"emptyLinePlaceholder":4610},[4408,35610,35611,35613,35616],{"class":4410,"line":4626},[4408,35612,4065],{"class":4422},[4408,35614,35615],{"class":5088}," FormRowProps",[4408,35617,25709],{"class":4426},[4408,35619,35620,35622,35624,35626],{"class":4410,"line":4632},[4408,35621,33507],{"class":4981},[4408,35623,4145],{"class":4426},[4408,35625,5263],{"class":5088},[4408,35627,4993],{"class":4426},[4408,35629,35630],{"class":4410,"line":4638},[4408,35631,35632],{"class":11572},"  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n",[4408,35634,35635,35637,35639,35641],{"class":4410,"line":4644},[4408,35636,25747],{"class":4981},[4408,35638,13101],{"class":4426},[4408,35640,5263],{"class":5088},[4408,35642,4993],{"class":4426},[4408,35644,35645,35647,35649,35651],{"class":4410,"line":4649},[4408,35646,33563],{"class":4981},[4408,35648,13101],{"class":4426},[4408,35650,5263],{"class":5088},[4408,35652,4993],{"class":4426},[4408,35654,35655],{"class":4410,"line":4655},[4408,35656,35657],{"class":11572},"  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n",[4408,35659,35660,35662,35664,35666],{"class":4410,"line":4661},[4408,35661,12202],{"class":4981},[4408,35663,4145],{"class":4426},[4408,35665,27375],{"class":5088},[4408,35667,4993],{"class":4426},[4408,35669,35670],{"class":4410,"line":4667},[4408,35671,35672],{"class":11572},"  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n",[4408,35674,35675,35678,35680,35682],{"class":4410,"line":4672},[4408,35676,35677],{"class":4981},"  stacked",[4408,35679,13101],{"class":4426},[4408,35681,5405],{"class":5088},[4408,35683,4993],{"class":4426},[4408,35685,35686],{"class":4410,"line":4677},[4408,35687,11683],{"class":4426},[4408,35689,35690],{"class":4410,"line":4683},[4408,35691,4611],{"emptyLinePlaceholder":4610},[4408,35693,35694],{"class":4410,"line":4689},[4408,35695,24842],{"class":11572},[4408,35697,35698],{"class":4410,"line":4695},[4408,35699,35700],{"class":11572}," * Рядок форми для не-текстових контролів:\n",[4408,35702,35703],{"class":4410,"line":4700},[4408,35704,35705],{"class":11572}," * label + опис зліва, control справа (або stacked).\n",[4408,35707,35708],{"class":4410,"line":4706},[4408,35709,24862],{"class":11572},[4408,35711,35712,35714,35716,35719],{"class":4410,"line":4712},[4408,35713,5029],{"class":4974},[4408,35715,5032],{"class":4422},[4408,35717,35718],{"class":4430}," FormRow",[4408,35720,6786],{"class":4426},[4408,35722,35723,35725],{"class":4410,"line":4717},[4408,35724,33507],{"class":4981},[4408,35726,5737],{"class":4426},[4408,35728,35729,35731],{"class":4410,"line":4722},[4408,35730,25747],{"class":4981},[4408,35732,5737],{"class":4426},[4408,35734,35735,35737],{"class":4410,"line":6058},[4408,35736,33563],{"class":4981},[4408,35738,5737],{"class":4426},[4408,35740,35741,35743],{"class":4410,"line":6088},[4408,35742,12202],{"class":4981},[4408,35744,5737],{"class":4426},[4408,35746,35747,35749,35751,35753],{"class":4410,"line":6099},[4408,35748,35677],{"class":4981},[4408,35750,5804],{"class":4426},[4408,35752,5411],{"class":4422},[4408,35754,5737],{"class":4426},[4408,35756,35757,35759,35762],{"class":4410,"line":6105},[4408,35758,29691],{"class":4426},[4408,35760,35761],{"class":5088},"FormRowProps",[4408,35763,11649],{"class":4426},[4408,35765,35766,35768,35770,35772,35774,35776,35778,35780],{"class":4410,"line":6157},[4408,35767,5043],{"class":4422},[4408,35769,4978],{"class":4426},[4408,35771,21563],{"class":5049},[4408,35773,3550],{"class":4426},[4408,35775,22142],{"class":5049},[4408,35777,21571],{"class":4426},[4408,35779,21532],{"class":4430},[4408,35781,21576],{"class":4426},[4408,35783,35784],{"class":4410,"line":6189},[4408,35785,4611],{"emptyLinePlaceholder":4610},[4408,35787,35788,35790],{"class":4410,"line":6195},[4408,35789,5077],{"class":4974},[4408,35791,5080],{"class":4426},[4408,35793,35794,35796,35798,35800,35802,35804,35806,35808,35810,35813,35815,35817,35819,35821,35823,35825,35827],{"class":4410,"line":6205},[4408,35795,5085],{"class":4414},[4408,35797,5006],{"class":5088},[4408,35799,6112],{"class":5123},[4408,35801,5127],{"class":4426},[4408,35803,5130],{"class":4422},[4408,35805,6223],{"class":4434},[4408,35807,6226],{"class":4981},[4408,35809,3646],{"class":4434},[4408,35811,35812],{"class":4981},"wrap",[4408,35814,6233],{"class":4434},[4408,35816,6078],{"class":4981},[4408,35818,22592],{"class":4981},[4408,35820,3646],{"class":4434},[4408,35822,23286],{"class":4981},[4408,35824,6240],{"class":4434},[4408,35826,4444],{"class":4422},[4408,35828,5091],{"class":4414},[4408,35830,35831,35833],{"class":4410,"line":6210},[4408,35832,5096],{"class":4414},[4408,35834,22963],{"class":5088},[4408,35836,35837,35839,35841,35843],{"class":4410,"line":6256},[4408,35838,6349],{"class":5123},[4408,35840,5127],{"class":4426},[4408,35842,5130],{"class":4422},[4408,35844,6678],{"class":4434},[4408,35846,35847,35850,35852,35854,35856,35859,35861,35863,35865,35867],{"class":4410,"line":6263},[4408,35848,35849],{"class":4981},"          stacked",[4408,35851,7189],{"class":4426},[4408,35853,6773],{"class":4981},[4408,35855,3646],{"class":4434},[4408,35857,35858],{"class":4981},"stacked",[4408,35860,7195],{"class":4426},[4408,35862,6773],{"class":4981},[4408,35864,3646],{"class":4434},[4408,35866,8634],{"class":4981},[4408,35868,5737],{"class":4434},[4408,35870,35871,35874,35876,35878,35880,35882,35884,35886,35888],{"class":4410,"line":6276},[4408,35872,35873],{"class":4426},"          !",[4408,35875,35858],{"class":4981},[4408,35877,7112],{"class":4426},[4408,35879,4978],{"class":4434},[4408,35881,6078],{"class":4981},[4408,35883,22592],{"class":4981},[4408,35885,3646],{"class":4434},[4408,35887,22597],{"class":4981},[4408,35889,6727],{"class":4434},[4408,35891,35892,35894],{"class":4410,"line":6289},[4408,35893,6733],{"class":4434},[4408,35895,4641],{"class":4422},[4408,35897,35898],{"class":4410,"line":6299},[4408,35899,7803],{"class":4414},[4408,35901,35902,35904,35906,35908,35910,35912,35914,35916,35919,35921],{"class":4410,"line":6314},[4408,35903,7808],{"class":4414},[4408,35905,5006],{"class":5088},[4408,35907,6112],{"class":5123},[4408,35909,5127],{"class":4426},[4408,35911,5130],{"class":4422},[4408,35913,6226],{"class":4981},[4408,35915,3646],{"class":4434},[4408,35917,35918],{"class":4981},"texts",[4408,35920,4444],{"class":4422},[4408,35922,5091],{"class":4414},[4408,35924,35925,35927,35929,35931,35933,35935,35937,35939,35941,35943,35945,35947,35949],{"class":4410,"line":6325},[4408,35926,8681],{"class":4414},[4408,35928,20487],{"class":5088},[4408,35930,23055],{"class":5123},[4408,35932,5127],{"class":4426},[4408,35934,23352],{"class":4438},[4408,35936,6112],{"class":5123},[4408,35938,5127],{"class":4426},[4408,35940,5130],{"class":4422},[4408,35942,6226],{"class":4981},[4408,35944,3646],{"class":4434},[4408,35946,5239],{"class":4981},[4408,35948,4444],{"class":4422},[4408,35950,5091],{"class":4414},[4408,35952,35953,35955,35957],{"class":4410,"line":6335},[4408,35954,8758],{"class":4422},[4408,35956,5239],{"class":4981},[4408,35958,4641],{"class":4422},[4408,35960,35961,35963,35965],{"class":4410,"line":6346},[4408,35962,8777],{"class":4414},[4408,35964,20487],{"class":5088},[4408,35966,5091],{"class":4414},[4408,35968,35969,35971,35973,35975],{"class":4410,"line":6387},[4408,35970,23482],{"class":4422},[4408,35972,30090],{"class":4981},[4408,35974,7189],{"class":4426},[4408,35976,5080],{"class":4434},[4408,35978,35979,35981,35983,35985,35987,35989,35991,35993,35995,35997,35999,36001,36003],{"class":4410,"line":6392},[4408,35980,16888],{"class":4414},[4408,35982,20487],{"class":5088},[4408,35984,23055],{"class":5123},[4408,35986,5127],{"class":4426},[4408,35988,23352],{"class":4438},[4408,35990,25119],{"class":5123},[4408,35992,5127],{"class":4426},[4408,35994,5130],{"class":4422},[4408,35996,21563],{"class":4981},[4408,35998,3646],{"class":4434},[4408,36000,23123],{"class":4981},[4408,36002,4444],{"class":4422},[4408,36004,5091],{"class":4414},[4408,36006,36007,36010,36012],{"class":4410,"line":6397},[4408,36008,36009],{"class":4422},"              {",[4408,36011,30090],{"class":4981},[4408,36013,4641],{"class":4422},[4408,36015,36016,36018,36020],{"class":4410,"line":6439},[4408,36017,17541],{"class":4414},[4408,36019,20487],{"class":5088},[4408,36021,5091],{"class":4414},[4408,36023,36024,36026,36028],{"class":4410,"line":6446},[4408,36025,33010],{"class":4434},[4408,36027,9473],{"class":4426},[4408,36029,14354],{"class":4422},[4408,36031,36032,36034,36036],{"class":4410,"line":6459},[4408,36033,8786],{"class":4414},[4408,36035,5006],{"class":5088},[4408,36037,5091],{"class":4414},[4408,36039,36040,36042,36044,36046,36048,36050,36052,36054,36056,36058,36061,36063,36065,36067,36070,36072],{"class":4410,"line":6472},[4408,36041,7808],{"class":4414},[4408,36043,5006],{"class":5088},[4408,36045,6112],{"class":5123},[4408,36047,5127],{"class":4426},[4408,36049,5130],{"class":4422},[4408,36051,35858],{"class":4981},[4408,36053,7189],{"class":4426},[4408,36055,6773],{"class":4981},[4408,36057,3646],{"class":4434},[4408,36059,36060],{"class":4981},"fullControl",[4408,36062,7195],{"class":4426},[4408,36064,6773],{"class":4981},[4408,36066,3646],{"class":4434},[4408,36068,36069],{"class":4981},"sideControl",[4408,36071,4444],{"class":4422},[4408,36073,5091],{"class":4414},[4408,36075,36076,36078,36080],{"class":4410,"line":6482},[4408,36077,23482],{"class":4422},[4408,36079,11769],{"class":4981},[4408,36081,4641],{"class":4422},[4408,36083,36084,36086,36088],{"class":4410,"line":6495},[4408,36085,8786],{"class":4414},[4408,36087,5006],{"class":5088},[4408,36089,5091],{"class":4414},[4408,36091,36092,36094,36096],{"class":4410,"line":6505},[4408,36093,6198],{"class":4414},[4408,36095,5006],{"class":5088},[4408,36097,5091],{"class":4414},[4408,36099,36100,36102,36104,36106],{"class":4410,"line":6544},[4408,36101,12648],{"class":4422},[4408,36103,16342],{"class":4981},[4408,36105,7189],{"class":4426},[4408,36107,5080],{"class":4434},[4408,36109,36110,36112,36114,36116,36118,36120,36122,36124,36126,36128,36130,36132,36134],{"class":4410,"line":6549},[4408,36111,7808],{"class":4414},[4408,36113,20487],{"class":5088},[4408,36115,23055],{"class":5123},[4408,36117,5127],{"class":4426},[4408,36119,23352],{"class":4438},[4408,36121,25119],{"class":5123},[4408,36123,5127],{"class":4426},[4408,36125,5130],{"class":4422},[4408,36127,21563],{"class":4981},[4408,36129,3646],{"class":4434},[4408,36131,11467],{"class":4981},[4408,36133,4444],{"class":4422},[4408,36135,5091],{"class":4414},[4408,36137,36138,36140,36142],{"class":4410,"line":6554},[4408,36139,23482],{"class":4422},[4408,36141,16342],{"class":4981},[4408,36143,4641],{"class":4422},[4408,36145,36146,36148,36150],{"class":4410,"line":6596},[4408,36147,8786],{"class":4414},[4408,36149,20487],{"class":5088},[4408,36151,5091],{"class":4414},[4408,36153,36154,36156,36158],{"class":4410,"line":6603},[4408,36155,19241],{"class":4434},[4408,36157,9473],{"class":4426},[4408,36159,14354],{"class":4422},[4408,36161,36162,36164,36166],{"class":4410,"line":6616},[4408,36163,5177],{"class":4414},[4408,36165,5006],{"class":5088},[4408,36167,5091],{"class":4414},[4408,36169,36170],{"class":4410,"line":6629},[4408,36171,5186],{"class":4426},[4408,36173,36174],{"class":4410,"line":6639},[4408,36175,4641],{"class":4426},[4408,36177,36178],{"class":4410,"line":6652},[4408,36179,4611],{"emptyLinePlaceholder":4610},[4408,36181,36182,36184,36186,36188,36190,36192,36194],{"class":4410,"line":6658},[4408,36183,6770],{"class":4422},[4408,36185,6773],{"class":5049},[4408,36187,5804],{"class":4426},[4408,36189,6778],{"class":4981},[4408,36191,3646],{"class":4426},[4408,36193,6783],{"class":4430},[4408,36195,6786],{"class":4426},[4408,36197,36198,36201],{"class":4410,"line":6669},[4408,36199,36200],{"class":4981},"  wrap:",[4408,36202,5729],{"class":4426},[4408,36204,36205,36208,36211],{"class":4410,"line":6681},[4408,36206,36207],{"class":4981},"    width:",[4408,36209,36210],{"class":4438}," '100%'",[4408,36212,5737],{"class":4426},[4408,36214,36215],{"class":4410,"line":6693},[4408,36216,6891],{"class":4426},[4408,36218,36219,36221],{"class":4410,"line":6705},[4408,36220,8938],{"class":4981},[4408,36222,5729],{"class":4426},[4408,36224,36225,36227,36229],{"class":4410,"line":6730},[4408,36226,8945],{"class":4981},[4408,36228,8125],{"class":4438},[4408,36230,5737],{"class":4426},[4408,36232,36233,36235,36237],{"class":4410,"line":6738},[4408,36234,8954],{"class":4981},[4408,36236,7904],{"class":4438},[4408,36238,5737],{"class":4426},[4408,36240,36241,36243,36246],{"class":4410,"line":6743},[4408,36242,19697],{"class":4981},[4408,36244,36245],{"class":4438}," 'space-between'",[4408,36247,5737],{"class":4426},[4408,36249,36250],{"class":4410,"line":6752},[4408,36251,6891],{"class":4426},[4408,36253,36254,36257],{"class":4410,"line":6757},[4408,36255,36256],{"class":4981},"  stacked:",[4408,36258,5729],{"class":4426},[4408,36260,36261,36263,36266],{"class":4410,"line":6762},[4408,36262,8945],{"class":4981},[4408,36264,36265],{"class":4438}," 'column'",[4408,36267,5737],{"class":4426},[4408,36269,36270,36272,36275],{"class":4410,"line":6767},[4408,36271,8954],{"class":4981},[4408,36273,36274],{"class":4438}," 'stretch'",[4408,36276,5737],{"class":4426},[4408,36278,36279],{"class":4410,"line":6789},[4408,36280,6891],{"class":4426},[4408,36282,36283,36286],{"class":4410,"line":6819},[4408,36284,36285],{"class":4981},"  texts:",[4408,36287,5729],{"class":4426},[4408,36289,36290,36292,36294],{"class":4410,"line":6827},[4408,36291,19678],{"class":4981},[4408,36293,6043],{"class":6042},[4408,36295,5737],{"class":4426},[4408,36297,36298,36300,36302],{"class":4410,"line":6837},[4408,36299,8963],{"class":4981},[4408,36301,20131],{"class":6042},[4408,36303,5737],{"class":4426},[4408,36305,36306],{"class":4410,"line":6847},[4408,36307,6891],{"class":4426},[4408,36309,36310,36312],{"class":4410,"line":6857},[4408,36311,6792],{"class":4981},[4408,36313,5729],{"class":4426},[4408,36315,36316,36318,36320],{"class":4410,"line":6867},[4408,36317,19737],{"class":4981},[4408,36319,20260],{"class":4438},[4408,36321,5737],{"class":4426},[4408,36323,36324],{"class":4410,"line":6877},[4408,36325,6891],{"class":4426},[4408,36327,36328,36331],{"class":4410,"line":6888},[4408,36329,36330],{"class":4981},"  sideControl:",[4408,36332,5729],{"class":4426},[4408,36334,36335,36338,36340],{"class":4410,"line":6894},[4408,36336,36337],{"class":4981},"    flexShrink:",[4408,36339,22629],{"class":6042},[4408,36341,5737],{"class":4426},[4408,36343,36344],{"class":4410,"line":6910},[4408,36345,6891],{"class":4426},[4408,36347,36348,36351],{"class":4410,"line":14357},[4408,36349,36350],{"class":4981},"  fullControl:",[4408,36352,5729],{"class":4426},[4408,36354,36355,36357,36359],{"class":4410,"line":14362},[4408,36356,19808],{"class":4981},[4408,36358,13731],{"class":6042},[4408,36360,5737],{"class":4426},[4408,36362,36363,36365,36367],{"class":4410,"line":14403},[4408,36364,36207],{"class":4981},[4408,36366,36210],{"class":4438},[4408,36368,5737],{"class":4426},[4408,36370,36371],{"class":4410,"line":14410},[4408,36372,6891],{"class":4426},[4408,36374,36375],{"class":4410,"line":14423},[4408,36376,6913],{"class":4426},[4399,36378,36381],{"className":4401,"code":36379,"filename":36380,"language":4403,"meta":4404,"style":4404},"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",[3540,36382,36383,36400,36433,36437,36455,36471,36487,36491,36500,36511,36532,36536,36540,36562,36584,36588,36594,36600,36609,36635,36659,36677,36687,36691,36704,36717,36730,36734,36750,36756,36760,36767,36792,36823,36833,36838,36842,36889,36926,36966,36978,36986,37015,37028,37036,37044,37086,37098,37109,37151,37159,37167,37195,37242,37256,37262,37271,37302,37306,37311,37319,37328,37342,37348,37356,37386,37390,37395,37403,37411,37419,37425,37431,37444,37476,37480,37492,37500,37536,37564,37569,37577,37585,37593,37601,37605,37609,37613,37618,37638,37642,37658,37665,37673,37681,37695,37702,37712,37722,37731,37750,37754,37761,37770,37774,37782,37786,37790,37797,37807,37811,37818,37826,37836,37840,37847,37854,37862,37870,37874,37881,37889,37893,37900,37908,37912,37919,37927,37931,37938,37946,37954,37958,37965,37973,37981,37985,37991,38000,38004],{"__ignoreMap":4404},[4408,36384,36385,36387,36389,36392,36394,36396,36398],{"class":4410,"line":4411},[4408,36386,4975],{"class":4974},[4408,36388,4978],{"class":4426},[4408,36390,36391],{"class":4981},"memo",[4408,36393,4984],{"class":4426},[4408,36395,4987],{"class":4974},[4408,36397,4990],{"class":4438},[4408,36399,4993],{"class":4426},[4408,36401,36402,36404,36406,36409,36411,36413,36415,36417,36419,36421,36423,36425,36427,36429,36431],{"class":4410,"line":4595},[4408,36403,4975],{"class":4974},[4408,36405,4978],{"class":4426},[4408,36407,36408],{"class":4981},"Image",[4408,36410,3550],{"class":4426},[4408,36412,13977],{"class":4981},[4408,36414,3550],{"class":4426},[4408,36416,3654],{"class":4981},[4408,36418,3550],{"class":4426},[4408,36420,6778],{"class":4981},[4408,36422,3550],{"class":4426},[4408,36424,5006],{"class":4981},[4408,36426,4984],{"class":4426},[4408,36428,4987],{"class":4974},[4408,36430,5018],{"class":4438},[4408,36432,4993],{"class":4426},[4408,36434,36435],{"class":4410,"line":4601},[4408,36436,4611],{"emptyLinePlaceholder":4610},[4408,36438,36439,36441,36443,36445,36447,36449,36451,36453],{"class":4410,"line":4607},[4408,36440,4975],{"class":4974},[4408,36442,25498],{"class":4974},[4408,36444,4978],{"class":4426},[4408,36446,11014],{"class":4981},[4408,36448,4984],{"class":4426},[4408,36450,4987],{"class":4974},[4408,36452,29351],{"class":4438},[4408,36454,4993],{"class":4426},[4408,36456,36457,36459,36461,36463,36465,36467,36469],{"class":4410,"line":4614},[4408,36458,4975],{"class":4974},[4408,36460,4978],{"class":4426},[4408,36462,21532],{"class":4981},[4408,36464,4984],{"class":4426},[4408,36466,4987],{"class":4974},[4408,36468,21539],{"class":4438},[4408,36470,4993],{"class":4426},[4408,36472,36473,36475,36477,36479,36481,36483,36485],{"class":4410,"line":4620},[4408,36474,4975],{"class":4974},[4408,36476,4978],{"class":4426},[4408,36478,20487],{"class":4981},[4408,36480,4984],{"class":4426},[4408,36482,4987],{"class":4974},[4408,36484,21988],{"class":4438},[4408,36486,4993],{"class":4426},[4408,36488,36489],{"class":4410,"line":4626},[4408,36490,4611],{"emptyLinePlaceholder":4610},[4408,36492,36493,36495,36498],{"class":4410,"line":4632},[4408,36494,4065],{"class":4422},[4408,36496,36497],{"class":5088}," TripCardProps",[4408,36499,25709],{"class":4426},[4408,36501,36502,36505,36507,36509],{"class":4410,"line":4638},[4408,36503,36504],{"class":4981},"  trip",[4408,36506,4145],{"class":4426},[4408,36508,11014],{"class":5088},[4408,36510,4993],{"class":4426},[4408,36512,36513,36515,36518,36520,36522,36524,36526,36528,36530],{"class":4410,"line":4644},[4408,36514,7039],{"class":4430},[4408,36516,36517],{"class":4426},"?: (",[4408,36519,22232],{"class":4981},[4408,36521,4145],{"class":4426},[4408,36523,11014],{"class":5088},[4408,36525,7723],{"class":4426},[4408,36527,7089],{"class":4422},[4408,36529,16401],{"class":5088},[4408,36531,4993],{"class":4426},[4408,36533,36534],{"class":4410,"line":4649},[4408,36535,11683],{"class":4426},[4408,36537,36538],{"class":4410,"line":4655},[4408,36539,4611],{"emptyLinePlaceholder":4610},[4408,36541,36542,36544,36547,36549,36551,36553,36555,36557,36560],{"class":4410,"line":4661},[4408,36543,12880],{"class":4422},[4408,36545,36546],{"class":4430}," TripCardComponent",[4408,36548,7080],{"class":4426},[4408,36550,22232],{"class":4981},[4408,36552,3550],{"class":4426},[4408,36554,4179],{"class":4981},[4408,36556,27401],{"class":4426},[4408,36558,36559],{"class":5088},"TripCardProps",[4408,36561,11649],{"class":4426},[4408,36563,36564,36566,36568,36570,36572,36574,36576,36578,36580,36582],{"class":4410,"line":4667},[4408,36565,5043],{"class":4422},[4408,36567,4978],{"class":4426},[4408,36569,21563],{"class":5049},[4408,36571,3550],{"class":4426},[4408,36573,22142],{"class":5049},[4408,36575,3550],{"class":4426},[4408,36577,29713],{"class":5049},[4408,36579,21571],{"class":4426},[4408,36581,21532],{"class":4430},[4408,36583,21576],{"class":4426},[4408,36585,36586],{"class":4410,"line":4672},[4408,36587,4611],{"emptyLinePlaceholder":4610},[4408,36589,36590,36592],{"class":4410,"line":4677},[4408,36591,5077],{"class":4974},[4408,36593,5080],{"class":4426},[4408,36595,36596,36598],{"class":4410,"line":4683},[4408,36597,5085],{"class":4414},[4408,36599,7034],{"class":5088},[4408,36601,36602,36605,36607],{"class":4410,"line":4689},[4408,36603,36604],{"class":5123},"      accessibilityRole",[4408,36606,5127],{"class":4426},[4408,36608,23790],{"class":4438},[4408,36610,36611,36614,36616,36618,36621,36623,36625,36627,36629,36631,36633],{"class":4410,"line":4695},[4408,36612,36613],{"class":5123},"      accessibilityLabel",[4408,36615,5127],{"class":4426},[4408,36617,5130],{"class":4422},[4408,36619,36620],{"class":4438},"`Поїздка ",[4408,36622,23504],{"class":4422},[4408,36624,22232],{"class":4981},[4408,36626,3646],{"class":4434},[4408,36628,7303],{"class":4981},[4408,36630,4444],{"class":4422},[4408,36632,23835],{"class":4438},[4408,36634,4641],{"class":4422},[4408,36636,36637,36640,36642,36644,36646,36648,36650,36653,36655,36657],{"class":4410,"line":4700},[4408,36638,36639],{"class":5123},"      onPress",[4408,36641,5127],{"class":4426},[4408,36643,5130],{"class":4422},[4408,36645,7709],{"class":4434},[4408,36647,7089],{"class":4422},[4408,36649,11613],{"class":4430},[4408,36651,36652],{"class":4434},"?.(",[4408,36654,22232],{"class":4981},[4408,36656,4292],{"class":4434},[4408,36658,4641],{"class":4422},[4408,36660,36661,36663,36665,36667,36669,36671,36673,36675],{"class":4410,"line":4706},[4408,36662,6029],{"class":5123},[4408,36664,5127],{"class":4426},[4408,36666,5130],{"class":4422},[4408,36668,7080],{"class":4434},[4408,36670,7083],{"class":4981},[4408,36672,7086],{"class":4434},[4408,36674,7089],{"class":4422},[4408,36676,7092],{"class":4434},[4408,36678,36679,36681,36683,36685],{"class":4410,"line":4712},[4408,36680,22978],{"class":4981},[4408,36682,3646],{"class":4434},[4408,36684,3940],{"class":4981},[4408,36686,5737],{"class":4434},[4408,36688,36689],{"class":4410,"line":4717},[4408,36690,22990],{"class":4434},[4408,36692,36693,36696,36698,36700,36702],{"class":4410,"line":4722},[4408,36694,36695],{"class":4981},"          backgroundColor:",[4408,36697,21662],{"class":4981},[4408,36699,3646],{"class":4434},[4408,36701,23753],{"class":4981},[4408,36703,5737],{"class":4434},[4408,36705,36706,36709,36711,36713,36715],{"class":4410,"line":6058},[4408,36707,36708],{"class":4981},"          borderColor:",[4408,36710,21662],{"class":4981},[4408,36712,3646],{"class":4434},[4408,36714,10064],{"class":4981},[4408,36716,5737],{"class":4434},[4408,36718,36719,36722,36724,36726,36728],{"class":4410,"line":6088},[4408,36720,36721],{"class":4981},"          borderRadius:",[4408,36723,30879],{"class":4981},[4408,36725,3646],{"class":4434},[4408,36727,34739],{"class":4981},[4408,36729,5737],{"class":4434},[4408,36731,36732],{"class":4410,"line":6099},[4408,36733,23035],{"class":4434},[4408,36735,36736,36739,36741,36743,36745,36748],{"class":4410,"line":6105},[4408,36737,36738],{"class":4981},"        pressed",[4408,36740,7112],{"class":4426},[4408,36742,6773],{"class":4981},[4408,36744,3646],{"class":4434},[4408,36746,36747],{"class":4981},"cardPressed",[4408,36749,5737],{"class":4434},[4408,36751,36752,36754],{"class":4410,"line":6157},[4408,36753,23040],{"class":4434},[4408,36755,4641],{"class":4422},[4408,36757,36758],{"class":4410,"line":6189},[4408,36759,6102],{"class":4414},[4408,36761,36762,36764],{"class":4410,"line":6195},[4408,36763,5096],{"class":4414},[4408,36765,36766],{"class":5088},"Image\n",[4408,36768,36769,36772,36774,36776,36778,36781,36783,36785,36788,36790],{"class":4410,"line":6205},[4408,36770,36771],{"class":5123},"        source",[4408,36773,5127],{"class":4426},[4408,36775,5130],{"class":4422},[4408,36777,6036],{"class":4434},[4408,36779,36780],{"class":4981},"uri:",[4408,36782,22482],{"class":4981},[4408,36784,3646],{"class":4434},[4408,36786,36787],{"class":4981},"coverUri",[4408,36789,6053],{"class":4434},[4408,36791,4641],{"class":4422},[4408,36793,36794,36796,36798,36800,36802,36804,36806,36809,36811,36813,36815,36817,36819,36821],{"class":4410,"line":6210},[4408,36795,6349],{"class":5123},[4408,36797,5127],{"class":4426},[4408,36799,5130],{"class":4422},[4408,36801,6223],{"class":4434},[4408,36803,6226],{"class":4981},[4408,36805,3646],{"class":4434},[4408,36807,36808],{"class":4981},"cover",[4408,36810,6233],{"class":4434},[4408,36812,6048],{"class":4981},[4408,36814,21662],{"class":4981},[4408,36816,3646],{"class":4434},[4408,36818,10064],{"class":4981},[4408,36820,6240],{"class":4434},[4408,36822,4641],{"class":4422},[4408,36824,36825,36828,36830],{"class":4410,"line":6256},[4408,36826,36827],{"class":5123},"        resizeMode",[4408,36829,5127],{"class":4426},[4408,36831,36832],{"class":4438},"\"cover\"\n",[4408,36834,36835],{"class":4410,"line":6263},[4408,36836,36837],{"class":5123},"        accessibilityIgnoresInvertColors\n",[4408,36839,36840],{"class":4410,"line":6276},[4408,36841,5172],{"class":4414},[4408,36843,36844,36846,36848,36850,36852,36854,36856,36858,36860,36863,36865,36867,36869,36871,36873,36875,36877,36879,36881,36883,36885,36887],{"class":4410,"line":6289},[4408,36845,5096],{"class":4414},[4408,36847,5006],{"class":5088},[4408,36849,6112],{"class":5123},[4408,36851,5127],{"class":4426},[4408,36853,5130],{"class":4422},[4408,36855,6223],{"class":4434},[4408,36857,6226],{"class":4981},[4408,36859,3646],{"class":4434},[4408,36861,36862],{"class":4981},"body",[4408,36864,6233],{"class":4434},[4408,36866,6070],{"class":4981},[4408,36868,22592],{"class":4981},[4408,36870,3646],{"class":4434},[4408,36872,22597],{"class":4981},[4408,36874,3550],{"class":4434},[4408,36876,6078],{"class":4981},[4408,36878,22592],{"class":4981},[4408,36880,3646],{"class":4434},[4408,36882,23286],{"class":4981},[4408,36884,6240],{"class":4434},[4408,36886,4444],{"class":4422},[4408,36888,5091],{"class":4414},[4408,36890,36891,36893,36895,36897,36899,36901,36903,36905,36907,36910,36912,36914,36916,36918,36920,36922,36924],{"class":4410,"line":6299},[4408,36892,7808],{"class":4414},[4408,36894,5006],{"class":5088},[4408,36896,6112],{"class":5123},[4408,36898,5127],{"class":4426},[4408,36900,5130],{"class":4422},[4408,36902,6223],{"class":4434},[4408,36904,6226],{"class":4981},[4408,36906,3646],{"class":4434},[4408,36908,36909],{"class":4981},"titleRow",[4408,36911,6233],{"class":4434},[4408,36913,6078],{"class":4981},[4408,36915,22592],{"class":4981},[4408,36917,3646],{"class":4434},[4408,36919,22656],{"class":4981},[4408,36921,6240],{"class":4434},[4408,36923,4444],{"class":4422},[4408,36925,5091],{"class":4414},[4408,36927,36928,36930,36932,36934,36936,36938,36941,36943,36945,36947,36949,36951,36953,36955,36957,36959,36962,36964],{"class":4410,"line":6314},[4408,36929,8681],{"class":4414},[4408,36931,20487],{"class":5088},[4408,36933,23055],{"class":5123},[4408,36935,5127],{"class":4426},[4408,36937,23060],{"class":4438},[4408,36939,36940],{"class":5123}," numberOfLines",[4408,36942,5127],{"class":4426},[4408,36944,5130],{"class":4422},[4408,36946,9862],{"class":6042},[4408,36948,4444],{"class":4422},[4408,36950,6112],{"class":5123},[4408,36952,5127],{"class":4426},[4408,36954,5130],{"class":4422},[4408,36956,6226],{"class":4981},[4408,36958,3646],{"class":4434},[4408,36960,36961],{"class":4981},"titleFlex",[4408,36963,4444],{"class":4422},[4408,36965,5091],{"class":4414},[4408,36967,36968,36970,36972,36974,36976],{"class":4410,"line":6325},[4408,36969,8758],{"class":4422},[4408,36971,22232],{"class":4981},[4408,36973,3646],{"class":4434},[4408,36975,7303],{"class":4981},[4408,36977,4641],{"class":4422},[4408,36979,36980,36982,36984],{"class":4410,"line":6335},[4408,36981,8777],{"class":4414},[4408,36983,20487],{"class":5088},[4408,36985,5091],{"class":4414},[4408,36987,36988,36990,36992,36994,36996,36998,37000,37002,37004,37006,37008,37011,37013],{"class":4410,"line":6346},[4408,36989,8681],{"class":4414},[4408,36991,20487],{"class":5088},[4408,36993,23055],{"class":5123},[4408,36995,5127],{"class":4426},[4408,36997,23352],{"class":4438},[4408,36999,6112],{"class":5123},[4408,37001,5127],{"class":4426},[4408,37003,5130],{"class":4422},[4408,37005,6226],{"class":4981},[4408,37007,3646],{"class":4434},[4408,37009,37010],{"class":4981},"dates",[4408,37012,4444],{"class":4422},[4408,37014,5091],{"class":4414},[4408,37016,37017,37019,37021,37023,37026],{"class":4410,"line":6387},[4408,37018,8758],{"class":4422},[4408,37020,22232],{"class":4981},[4408,37022,3646],{"class":4434},[4408,37024,37025],{"class":4981},"dateLabel",[4408,37027,4641],{"class":4422},[4408,37029,37030,37032,37034],{"class":4410,"line":6392},[4408,37031,8777],{"class":4414},[4408,37033,20487],{"class":5088},[4408,37035,5091],{"class":4414},[4408,37037,37038,37040,37042],{"class":4410,"line":6397},[4408,37039,8786],{"class":4414},[4408,37041,5006],{"class":5088},[4408,37043,5091],{"class":4414},[4408,37045,37046,37048,37050,37052,37054,37056,37058,37060,37062,37064,37066,37068,37070,37072,37074,37076,37078,37080,37082,37084],{"class":4410,"line":6439},[4408,37047,7808],{"class":4414},[4408,37049,20487],{"class":5088},[4408,37051,23055],{"class":5123},[4408,37053,5127],{"class":4426},[4408,37055,23352],{"class":4438},[4408,37057,25119],{"class":5123},[4408,37059,5127],{"class":4426},[4408,37061,5130],{"class":4422},[4408,37063,21563],{"class":4981},[4408,37065,3646],{"class":4434},[4408,37067,7277],{"class":4981},[4408,37069,4444],{"class":4422},[4408,37071,6112],{"class":5123},[4408,37073,5127],{"class":4426},[4408,37075,5130],{"class":4422},[4408,37077,6226],{"class":4981},[4408,37079,3646],{"class":4434},[4408,37081,10344],{"class":4981},[4408,37083,4444],{"class":4422},[4408,37085,5091],{"class":4414},[4408,37087,37088,37090,37092,37094,37096],{"class":4410,"line":6446},[4408,37089,23482],{"class":4422},[4408,37091,22232],{"class":4981},[4408,37093,3646],{"class":4434},[4408,37095,10344],{"class":4981},[4408,37097,4641],{"class":4422},[4408,37099,37100,37102,37104,37106],{"class":4410,"line":6459},[4408,37101,23482],{"class":4422},[4408,37103,22232],{"class":4981},[4408,37105,3646],{"class":4434},[4408,37107,37108],{"class":4981},"plannedDays\n",[4408,37110,37111,37113,37116,37118,37120,37122,37124,37126,37128,37130,37132,37134,37136,37138,37140,37142,37144,37146,37148],{"class":4410,"line":6472},[4408,37112,23498],{"class":4426},[4408,37114,37115],{"class":4438}," ` · ",[4408,37117,23504],{"class":4422},[4408,37119,22232],{"class":4981},[4408,37121,3646],{"class":4434},[4408,37123,10085],{"class":4981},[4408,37125,4444],{"class":4422},[4408,37127,26713],{"class":4422},[4408,37129,22232],{"class":4981},[4408,37131,3646],{"class":4434},[4408,37133,10085],{"class":4981},[4408,37135,13985],{"class":4426},[4408,37137,6043],{"class":6042},[4408,37139,7189],{"class":4426},[4408,37141,33179],{"class":4438},[4408,37143,7195],{"class":4426},[4408,37145,33211],{"class":4438},[4408,37147,4444],{"class":4422},[4408,37149,37150],{"class":4438},"`\n",[4408,37152,37153,37155,37157],{"class":4410,"line":6482},[4408,37154,23533],{"class":4426},[4408,37156,16485],{"class":4438},[4408,37158,4641],{"class":4422},[4408,37160,37161,37163,37165],{"class":4410,"line":6495},[4408,37162,8786],{"class":4414},[4408,37164,20487],{"class":5088},[4408,37166,5091],{"class":4414},[4408,37168,37169,37171,37173,37175,37177,37179,37182,37184,37186,37188,37190,37193],{"class":4410,"line":6505},[4408,37170,10441],{"class":4422},[4408,37172,4435],{"class":4434},[4408,37174,22232],{"class":4981},[4408,37176,3646],{"class":4434},[4408,37178,8080],{"class":4981},[4408,37180,37181],{"class":4426}," ||",[4408,37183,22482],{"class":4981},[4408,37185,3646],{"class":4434},[4408,37187,9572],{"class":4981},[4408,37189,7723],{"class":4434},[4408,37191,37192],{"class":4426},"&&",[4408,37194,5080],{"class":4434},[4408,37196,37197,37199,37201,37203,37205,37207,37209,37211,37213,37216,37218,37220,37222,37224,37226,37228,37230,37232,37234,37236,37238,37240],{"class":4410,"line":6544},[4408,37198,8681],{"class":4414},[4408,37200,5006],{"class":5088},[4408,37202,6112],{"class":5123},[4408,37204,5127],{"class":4426},[4408,37206,5130],{"class":4422},[4408,37208,6223],{"class":4434},[4408,37210,6226],{"class":4981},[4408,37212,3646],{"class":4434},[4408,37214,37215],{"class":4981},"badges",[4408,37217,6233],{"class":4434},[4408,37219,6078],{"class":4981},[4408,37221,22592],{"class":4981},[4408,37223,3646],{"class":4434},[4408,37225,23286],{"class":4981},[4408,37227,3550],{"class":4434},[4408,37229,8738],{"class":4981},[4408,37231,22592],{"class":4981},[4408,37233,3646],{"class":4434},[4408,37235,23286],{"class":4981},[4408,37237,6240],{"class":4434},[4408,37239,4444],{"class":4422},[4408,37241,5091],{"class":4414},[4408,37243,37244,37246,37248,37250,37252,37254],{"class":4410,"line":6549},[4408,37245,8758],{"class":4422},[4408,37247,22232],{"class":4981},[4408,37249,3646],{"class":4434},[4408,37251,8080],{"class":4981},[4408,37253,7189],{"class":4426},[4408,37255,5080],{"class":4434},[4408,37257,37258,37260],{"class":4410,"line":6554},[4408,37259,17417],{"class":4414},[4408,37261,23097],{"class":5088},[4408,37263,37264,37267,37269],{"class":4410,"line":6596},[4408,37265,37266],{"class":5123},"                variant",[4408,37268,5127],{"class":4426},[4408,37270,23107],{"class":4438},[4408,37272,37273,37275,37277,37279,37281,37283,37285,37288,37290,37292,37294,37296,37298,37300],{"class":4410,"line":6603},[4408,37274,23706],{"class":5123},[4408,37276,5127],{"class":4426},[4408,37278,5130],{"class":4422},[4408,37280,6223],{"class":4434},[4408,37282,6226],{"class":4981},[4408,37284,3646],{"class":4434},[4408,37286,37287],{"class":4981},"badge",[4408,37289,6233],{"class":4434},[4408,37291,6121],{"class":4981},[4408,37293,21662],{"class":4981},[4408,37295,3646],{"class":4434},[4408,37297,23123],{"class":4981},[4408,37299,6240],{"class":4434},[4408,37301,4641],{"class":4422},[4408,37303,37304],{"class":4410,"line":6616},[4408,37305,23842],{"class":4414},[4408,37307,37308],{"class":4410,"line":6629},[4408,37309,37310],{"class":4434},"                приватна\n",[4408,37312,37313,37315,37317],{"class":4410,"line":6639},[4408,37314,17531],{"class":4414},[4408,37316,20487],{"class":5088},[4408,37318,5091],{"class":4414},[4408,37320,37321,37324,37326],{"class":4410,"line":6652},[4408,37322,37323],{"class":4434},"            ) ",[4408,37325,9473],{"class":4426},[4408,37327,14354],{"class":4422},[4408,37329,37330,37332,37334,37336,37338,37340],{"class":4410,"line":6658},[4408,37331,8758],{"class":4422},[4408,37333,22232],{"class":4981},[4408,37335,3646],{"class":4434},[4408,37337,9572],{"class":4981},[4408,37339,7189],{"class":4426},[4408,37341,5080],{"class":4434},[4408,37343,37344,37346],{"class":4410,"line":6669},[4408,37345,17417],{"class":4414},[4408,37347,23097],{"class":5088},[4408,37349,37350,37352,37354],{"class":4410,"line":6681},[4408,37351,37266],{"class":5123},[4408,37353,5127],{"class":4426},[4408,37355,23107],{"class":4438},[4408,37357,37358,37360,37362,37364,37366,37368,37370,37372,37374,37376,37378,37380,37382,37384],{"class":4410,"line":6693},[4408,37359,23706],{"class":5123},[4408,37361,5127],{"class":4426},[4408,37363,5130],{"class":4422},[4408,37365,6223],{"class":4434},[4408,37367,6226],{"class":4981},[4408,37369,3646],{"class":4434},[4408,37371,37287],{"class":4981},[4408,37373,6233],{"class":4434},[4408,37375,6121],{"class":4981},[4408,37377,21662],{"class":4981},[4408,37379,3646],{"class":4434},[4408,37381,7277],{"class":4981},[4408,37383,6240],{"class":4434},[4408,37385,4641],{"class":4422},[4408,37387,37388],{"class":4410,"line":6705},[4408,37389,23842],{"class":4414},[4408,37391,37392],{"class":4410,"line":6730},[4408,37393,37394],{"class":4434},"                є план\n",[4408,37396,37397,37399,37401],{"class":4410,"line":6738},[4408,37398,17531],{"class":4414},[4408,37400,20487],{"class":5088},[4408,37402,5091],{"class":4414},[4408,37404,37405,37407,37409],{"class":4410,"line":6743},[4408,37406,37323],{"class":4434},[4408,37408,9473],{"class":4426},[4408,37410,14354],{"class":4422},[4408,37412,37413,37415,37417],{"class":4410,"line":6752},[4408,37414,8777],{"class":4414},[4408,37416,5006],{"class":5088},[4408,37418,5091],{"class":4414},[4408,37420,37421,37423],{"class":4410,"line":6757},[4408,37422,19550],{"class":4434},[4408,37424,4641],{"class":4422},[4408,37426,37427,37429],{"class":4410,"line":6762},[4408,37428,7808],{"class":4414},[4408,37430,23097],{"class":5088},[4408,37432,37433,37436,37438,37440,37442],{"class":4410,"line":6767},[4408,37434,37435],{"class":5123},"          numberOfLines",[4408,37437,5127],{"class":4426},[4408,37439,5130],{"class":4422},[4408,37441,11646],{"class":6042},[4408,37443,4641],{"class":4422},[4408,37445,37446,37448,37450,37452,37454,37456,37458,37460,37462,37464,37466,37468,37470,37472,37474],{"class":4410,"line":6789},[4408,37447,13835],{"class":5123},[4408,37449,5127],{"class":4426},[4408,37451,5130],{"class":4422},[4408,37453,6036],{"class":4434},[4408,37455,8738],{"class":4981},[4408,37457,22592],{"class":4981},[4408,37459,3646],{"class":4434},[4408,37461,23286],{"class":4981},[4408,37463,3550],{"class":4434},[4408,37465,6121],{"class":4981},[4408,37467,21662],{"class":4981},[4408,37469,3646],{"class":4434},[4408,37471,23123],{"class":4981},[4408,37473,6053],{"class":4434},[4408,37475,4641],{"class":4422},[4408,37477,37478],{"class":4410,"line":6819},[4408,37479,13868],{"class":4414},[4408,37481,37482,37484,37486,37488,37490],{"class":4410,"line":6827},[4408,37483,23482],{"class":4422},[4408,37485,22232],{"class":4981},[4408,37487,3646],{"class":4434},[4408,37489,30090],{"class":4981},[4408,37491,4641],{"class":4422},[4408,37493,37494,37496,37498],{"class":4410,"line":6837},[4408,37495,8786],{"class":4414},[4408,37497,20487],{"class":5088},[4408,37499,5091],{"class":4414},[4408,37501,37502,37504,37506,37508,37510,37512,37514,37516,37518,37520,37522,37524,37526,37528,37530,37532,37534],{"class":4410,"line":6847},[4408,37503,7808],{"class":4414},[4408,37505,5006],{"class":5088},[4408,37507,6112],{"class":5123},[4408,37509,5127],{"class":4426},[4408,37511,5130],{"class":4422},[4408,37513,6223],{"class":4434},[4408,37515,6226],{"class":4981},[4408,37517,3646],{"class":4434},[4408,37519,24306],{"class":4981},[4408,37521,6233],{"class":4434},[4408,37523,8738],{"class":4981},[4408,37525,22592],{"class":4981},[4408,37527,3646],{"class":4434},[4408,37529,22656],{"class":4981},[4408,37531,6240],{"class":4434},[4408,37533,4444],{"class":4422},[4408,37535,5091],{"class":4414},[4408,37537,37538,37540,37542,37544,37546,37548,37550,37552,37554,37556,37558,37560,37562],{"class":4410,"line":6857},[4408,37539,8681],{"class":4414},[4408,37541,20487],{"class":5088},[4408,37543,23055],{"class":5123},[4408,37545,5127],{"class":4426},[4408,37547,23352],{"class":4438},[4408,37549,25119],{"class":5123},[4408,37551,5127],{"class":4426},[4408,37553,5130],{"class":4422},[4408,37555,21563],{"class":4981},[4408,37557,3646],{"class":4434},[4408,37559,7277],{"class":4981},[4408,37561,4444],{"class":4422},[4408,37563,5091],{"class":4414},[4408,37565,37566],{"class":4410,"line":6867},[4408,37567,37568],{"class":4426},"            Відкрити\n",[4408,37570,37571,37573,37575],{"class":4410,"line":6877},[4408,37572,8777],{"class":4414},[4408,37574,20487],{"class":5088},[4408,37576,5091],{"class":4414},[4408,37578,37579,37581,37583],{"class":4410,"line":6888},[4408,37580,8786],{"class":4414},[4408,37582,5006],{"class":5088},[4408,37584,5091],{"class":4414},[4408,37586,37587,37589,37591],{"class":4410,"line":6894},[4408,37588,6198],{"class":4414},[4408,37590,5006],{"class":5088},[4408,37592,5091],{"class":4414},[4408,37594,37595,37597,37599],{"class":4410,"line":6910},[4408,37596,5177],{"class":4414},[4408,37598,3654],{"class":5088},[4408,37600,5091],{"class":4414},[4408,37602,37603],{"class":4410,"line":14357},[4408,37604,5186],{"class":4426},[4408,37606,37607],{"class":4410,"line":14362},[4408,37608,4641],{"class":4426},[4408,37610,37611],{"class":4410,"line":14403},[4408,37612,4611],{"emptyLinePlaceholder":4610},[4408,37614,37615],{"class":4410,"line":14410},[4408,37616,37617],{"class":11572},"\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\n",[4408,37619,37620,37622,37624,37627,37629,37631,37633,37636],{"class":4410,"line":14423},[4408,37621,5029],{"class":4974},[4408,37623,10318],{"class":4422},[4408,37625,37626],{"class":5049}," TripCard",[4408,37628,5804],{"class":4426},[4408,37630,36391],{"class":4430},[4408,37632,4435],{"class":4426},[4408,37634,37635],{"class":4981},"TripCardComponent",[4408,37637,5068],{"class":4426},[4408,37639,37640],{"class":4410,"line":14436},[4408,37641,4611],{"emptyLinePlaceholder":4610},[4408,37643,37644,37646,37648,37650,37652,37654,37656],{"class":4410,"line":14446},[4408,37645,6770],{"class":4422},[4408,37647,6773],{"class":5049},[4408,37649,5804],{"class":4426},[4408,37651,6778],{"class":4981},[4408,37653,3646],{"class":4426},[4408,37655,6783],{"class":4430},[4408,37657,6786],{"class":4426},[4408,37659,37660,37663],{"class":4410,"line":14456},[4408,37661,37662],{"class":4981},"  card:",[4408,37664,5729],{"class":4426},[4408,37666,37667,37669,37671],{"class":4410,"line":14465},[4408,37668,6830],{"class":4981},[4408,37670,6043],{"class":6042},[4408,37672,5737],{"class":4426},[4408,37674,37675,37677,37679],{"class":4410,"line":14478},[4408,37676,20054],{"class":4981},[4408,37678,20057],{"class":4438},[4408,37680,5737],{"class":4426},[4408,37682,37683,37686,37688,37690,37693],{"class":4410,"line":14489},[4408,37684,37685],{"class":4426},"    ...",[4408,37687,13977],{"class":4981},[4408,37689,3646],{"class":4426},[4408,37691,37692],{"class":4430},"select",[4408,37694,6786],{"class":4426},[4408,37696,37697,37700],{"class":4410,"line":14500},[4408,37698,37699],{"class":4981},"      ios:",[4408,37701,5729],{"class":4426},[4408,37703,37704,37707,37710],{"class":4410,"line":14535},[4408,37705,37706],{"class":4981},"        shadowColor:",[4408,37708,37709],{"class":4438}," '#000'",[4408,37711,5737],{"class":4426},[4408,37713,37714,37717,37720],{"class":4410,"line":14542},[4408,37715,37716],{"class":4981},"        shadowOpacity:",[4408,37718,37719],{"class":6042}," 0.08",[4408,37721,5737],{"class":4426},[4408,37723,37724,37727,37729],{"class":4410,"line":14547},[4408,37725,37726],{"class":4981},"        shadowRadius:",[4408,37728,14030],{"class":6042},[4408,37730,5737],{"class":4426},[4408,37732,37733,37736,37738,37740,37742,37744,37746,37748],{"class":4410,"line":14602},[4408,37734,37735],{"class":4981},"        shadowOffset:",[4408,37737,4978],{"class":4426},[4408,37739,22839],{"class":4981},[4408,37741,22629],{"class":6042},[4408,37743,3550],{"class":4426},[4408,37745,24152],{"class":4981},[4408,37747,8741],{"class":6042},[4408,37749,6727],{"class":4426},[4408,37751,37752],{"class":4410,"line":14607},[4408,37753,21277],{"class":4426},[4408,37755,37756,37759],{"class":4410,"line":14630},[4408,37757,37758],{"class":4981},"      android:",[4408,37760,5729],{"class":4426},[4408,37762,37763,37766,37768],{"class":4410,"line":14670},[4408,37764,37765],{"class":4981},"        elevation:",[4408,37767,29883],{"class":6042},[4408,37769,5737],{"class":4426},[4408,37771,37772],{"class":4410,"line":14722},[4408,37773,21277],{"class":4426},[4408,37775,37776,37779],{"class":4410,"line":14731},[4408,37777,37778],{"class":4981},"      default:",[4408,37780,37781],{"class":4426}," {},\n",[4408,37783,37784],{"class":4410,"line":14786},[4408,37785,26215],{"class":4426},[4408,37787,37788],{"class":4410,"line":14791},[4408,37789,6891],{"class":4426},[4408,37791,37792,37795],{"class":4410,"line":14834},[4408,37793,37794],{"class":4981},"  cardPressed:",[4408,37796,5729],{"class":4426},[4408,37798,37799,37802,37805],{"class":4410,"line":14866},[4408,37800,37801],{"class":4981},"    opacity:",[4408,37803,37804],{"class":6042}," 0.92",[4408,37806,5737],{"class":4426},[4408,37808,37809],{"class":4410,"line":14875},[4408,37810,6891],{"class":4426},[4408,37812,37813,37816],{"class":4410,"line":14884},[4408,37814,37815],{"class":4981},"  cover:",[4408,37817,5729],{"class":4426},[4408,37819,37820,37822,37824],{"class":4410,"line":14893},[4408,37821,36207],{"class":4981},[4408,37823,36210],{"class":4438},[4408,37825,5737],{"class":4426},[4408,37827,37828,37831,37834],{"class":4410,"line":14898},[4408,37829,37830],{"class":4981},"    height:",[4408,37832,37833],{"class":6042}," 160",[4408,37835,5737],{"class":4426},[4408,37837,37838],{"class":4410,"line":14903},[4408,37839,6891],{"class":4426},[4408,37841,37842,37845],{"class":4410,"line":14908},[4408,37843,37844],{"class":4981},"  body:",[4408,37846,37781],{"class":4426},[4408,37848,37849,37852],{"class":4410,"line":14925},[4408,37850,37851],{"class":4981},"  titleRow:",[4408,37853,5729],{"class":4426},[4408,37855,37856,37858,37860],{"class":4410,"line":14957},[4408,37857,8945],{"class":4981},[4408,37859,8125],{"class":4438},[4408,37861,5737],{"class":4426},[4408,37863,37864,37866,37868],{"class":4410,"line":14989},[4408,37865,8954],{"class":4981},[4408,37867,7904],{"class":4438},[4408,37869,5737],{"class":4426},[4408,37871,37872],{"class":4410,"line":14996},[4408,37873,6891],{"class":4426},[4408,37875,37876,37879],{"class":4410,"line":15005},[4408,37877,37878],{"class":4981},"  titleFlex:",[4408,37880,5729],{"class":4426},[4408,37882,37883,37885,37887],{"class":4410,"line":15014},[4408,37884,19678],{"class":4981},[4408,37886,6043],{"class":6042},[4408,37888,5737],{"class":4426},[4408,37890,37891],{"class":4410,"line":15023},[4408,37892,6891],{"class":4426},[4408,37894,37895,37898],{"class":4410,"line":15032},[4408,37896,37897],{"class":4981},"  dates:",[4408,37899,5729],{"class":4426},[4408,37901,37902,37904,37906],{"class":4410,"line":15041},[4408,37903,36337],{"class":4981},[4408,37905,22629],{"class":6042},[4408,37907,5737],{"class":4426},[4408,37909,37910],{"class":4410,"line":15050},[4408,37911,6891],{"class":4426},[4408,37913,37914,37917],{"class":4410,"line":15055},[4408,37915,37916],{"class":4981},"  region:",[4408,37918,5729],{"class":4426},[4408,37920,37921,37923,37925],{"class":4410,"line":15086},[4408,37922,19737],{"class":4981},[4408,37924,20260],{"class":4438},[4408,37926,5737],{"class":4426},[4408,37928,37929],{"class":4410,"line":15117},[4408,37930,6891],{"class":4426},[4408,37932,37933,37936],{"class":4410,"line":15136},[4408,37934,37935],{"class":4981},"  badges:",[4408,37937,5729],{"class":4426},[4408,37939,37940,37942,37944],{"class":4410,"line":17208},[4408,37941,8945],{"class":4981},[4408,37943,8125],{"class":4438},[4408,37945,5737],{"class":4426},[4408,37947,37948,37950,37952],{"class":4410,"line":17218},[4408,37949,24548],{"class":4981},[4408,37951,24551],{"class":4438},[4408,37953,5737],{"class":4426},[4408,37955,37956],{"class":4410,"line":17227},[4408,37957,6891],{"class":4426},[4408,37959,37960,37963],{"class":4410,"line":17237},[4408,37961,37962],{"class":4981},"  badge:",[4408,37964,5729],{"class":4426},[4408,37966,37967,37969,37971],{"class":4410,"line":17246},[4408,37968,19737],{"class":4981},[4408,37970,20260],{"class":4438},[4408,37972,5737],{"class":4426},[4408,37974,37975,37977,37979],{"class":4410,"line":17251},[4408,37976,6870],{"class":4981},[4408,37978,6799],{"class":6042},[4408,37980,5737],{"class":4426},[4408,37982,37983],{"class":4410,"line":17258},[4408,37984,6891],{"class":4426},[4408,37986,37987,37989],{"class":4410,"line":17263},[4408,37988,24709],{"class":4981},[4408,37990,5729],{"class":4426},[4408,37992,37993,37995,37998],{"class":4410,"line":17290},[4408,37994,8954],{"class":4981},[4408,37996,37997],{"class":4438}," 'flex-start'",[4408,37999,5737],{"class":4426},[4408,38001,38002],{"class":4410,"line":17295},[4408,38003,6891],{"class":4426},[4408,38005,38006],{"class":4410,"line":17312},[4408,38007,6913],{"class":4426},[4399,38009,38012],{"className":4401,"code":38010,"filename":38011,"language":4403,"meta":4404,"style":4404},"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",[3540,38013,38014,38030,38050,38054,38072,38088,38104,38108,38117,38128,38148,38152,38156,38178,38200,38204,38210,38216,38224,38262,38284,38302,38313,38317,38329,38341,38353,38366,38384,38388,38394,38398,38436,38448,38456,38498,38510,38518,38556,38568,38576,38584,38588,38592,38596,38616,38620,38636,38643,38651,38659,38667,38671,38677,38685,38689,38696,38704,38712,38716,38722,38730,38734],{"__ignoreMap":4404},[4408,38015,38016,38018,38020,38022,38024,38026,38028],{"class":4410,"line":4411},[4408,38017,4975],{"class":4974},[4408,38019,4978],{"class":4426},[4408,38021,36391],{"class":4981},[4408,38023,4984],{"class":4426},[4408,38025,4987],{"class":4974},[4408,38027,4990],{"class":4438},[4408,38029,4993],{"class":4426},[4408,38031,38032,38034,38036,38038,38040,38042,38044,38046,38048],{"class":4410,"line":4595},[4408,38033,4975],{"class":4974},[4408,38035,4978],{"class":4426},[4408,38037,3654],{"class":4981},[4408,38039,3550],{"class":4426},[4408,38041,6778],{"class":4981},[4408,38043,4984],{"class":4426},[4408,38045,4987],{"class":4974},[4408,38047,5018],{"class":4438},[4408,38049,4993],{"class":4426},[4408,38051,38052],{"class":4410,"line":4601},[4408,38053,4611],{"emptyLinePlaceholder":4610},[4408,38055,38056,38058,38060,38062,38064,38066,38068,38070],{"class":4410,"line":4607},[4408,38057,4975],{"class":4974},[4408,38059,25498],{"class":4974},[4408,38061,4978],{"class":4426},[4408,38063,22180],{"class":4981},[4408,38065,4984],{"class":4426},[4408,38067,4987],{"class":4974},[4408,38069,29351],{"class":4438},[4408,38071,4993],{"class":4426},[4408,38073,38074,38076,38078,38080,38082,38084,38086],{"class":4410,"line":4614},[4408,38075,4975],{"class":4974},[4408,38077,4978],{"class":4426},[4408,38079,21532],{"class":4981},[4408,38081,4984],{"class":4426},[4408,38083,4987],{"class":4974},[4408,38085,21539],{"class":4438},[4408,38087,4993],{"class":4426},[4408,38089,38090,38092,38094,38096,38098,38100,38102],{"class":4410,"line":4620},[4408,38091,4975],{"class":4974},[4408,38093,4978],{"class":4426},[4408,38095,20487],{"class":4981},[4408,38097,4984],{"class":4426},[4408,38099,4987],{"class":4974},[4408,38101,21988],{"class":4438},[4408,38103,4993],{"class":4426},[4408,38105,38106],{"class":4410,"line":4626},[4408,38107,4611],{"emptyLinePlaceholder":4610},[4408,38109,38110,38112,38115],{"class":4410,"line":4632},[4408,38111,4065],{"class":4422},[4408,38113,38114],{"class":5088}," PlaceChipProps",[4408,38116,25709],{"class":4426},[4408,38118,38119,38122,38124,38126],{"class":4410,"line":4638},[4408,38120,38121],{"class":4981},"  place",[4408,38123,4145],{"class":4426},[4408,38125,22180],{"class":5088},[4408,38127,4993],{"class":4426},[4408,38129,38130,38132,38134,38136,38138,38140,38142,38144,38146],{"class":4410,"line":4644},[4408,38131,7039],{"class":4430},[4408,38133,36517],{"class":4426},[4408,38135,22300],{"class":4981},[4408,38137,4145],{"class":4426},[4408,38139,22180],{"class":5088},[4408,38141,7723],{"class":4426},[4408,38143,7089],{"class":4422},[4408,38145,16401],{"class":5088},[4408,38147,4993],{"class":4426},[4408,38149,38150],{"class":4410,"line":4649},[4408,38151,11683],{"class":4426},[4408,38153,38154],{"class":4410,"line":4655},[4408,38155,4611],{"emptyLinePlaceholder":4610},[4408,38157,38158,38160,38163,38165,38167,38169,38171,38173,38176],{"class":4410,"line":4661},[4408,38159,12880],{"class":4422},[4408,38161,38162],{"class":4430}," PlaceChipComponent",[4408,38164,7080],{"class":4426},[4408,38166,22300],{"class":4981},[4408,38168,3550],{"class":4426},[4408,38170,4179],{"class":4981},[4408,38172,27401],{"class":4426},[4408,38174,38175],{"class":5088},"PlaceChipProps",[4408,38177,11649],{"class":4426},[4408,38179,38180,38182,38184,38186,38188,38190,38192,38194,38196,38198],{"class":4410,"line":4667},[4408,38181,5043],{"class":4422},[4408,38183,4978],{"class":4426},[4408,38185,21563],{"class":5049},[4408,38187,3550],{"class":4426},[4408,38189,22142],{"class":5049},[4408,38191,3550],{"class":4426},[4408,38193,29713],{"class":5049},[4408,38195,21571],{"class":4426},[4408,38197,21532],{"class":4430},[4408,38199,21576],{"class":4426},[4408,38201,38202],{"class":4410,"line":4672},[4408,38203,4611],{"emptyLinePlaceholder":4610},[4408,38205,38206,38208],{"class":4410,"line":4677},[4408,38207,5077],{"class":4974},[4408,38209,5080],{"class":4426},[4408,38211,38212,38214],{"class":4410,"line":4683},[4408,38213,5085],{"class":4414},[4408,38215,7034],{"class":5088},[4408,38217,38218,38220,38222],{"class":4410,"line":4689},[4408,38219,36604],{"class":5123},[4408,38221,5127],{"class":4426},[4408,38223,23790],{"class":4438},[4408,38225,38226,38228,38230,38232,38235,38237,38239,38241,38243,38245,38247,38249,38251,38253,38256,38258,38260],{"class":4410,"line":4695},[4408,38227,36613],{"class":5123},[4408,38229,5127],{"class":4426},[4408,38231,5130],{"class":4422},[4408,38233,38234],{"class":4438},"`Місце ",[4408,38236,23504],{"class":4422},[4408,38238,22300],{"class":4981},[4408,38240,3646],{"class":4434},[4408,38242,5050],{"class":4981},[4408,38244,4444],{"class":4422},[4408,38246,3550],{"class":4438},[4408,38248,23504],{"class":4422},[4408,38250,22300],{"class":4981},[4408,38252,3646],{"class":4434},[4408,38254,38255],{"class":4981},"city",[4408,38257,4444],{"class":4422},[4408,38259,23835],{"class":4438},[4408,38261,4641],{"class":4422},[4408,38263,38264,38266,38268,38270,38272,38274,38276,38278,38280,38282],{"class":4410,"line":4700},[4408,38265,36639],{"class":5123},[4408,38267,5127],{"class":4426},[4408,38269,5130],{"class":4422},[4408,38271,7709],{"class":4434},[4408,38273,7089],{"class":4422},[4408,38275,11613],{"class":4430},[4408,38277,36652],{"class":4434},[4408,38279,22300],{"class":4981},[4408,38281,4292],{"class":4434},[4408,38283,4641],{"class":4422},[4408,38285,38286,38288,38290,38292,38294,38296,38298,38300],{"class":4410,"line":4706},[4408,38287,6029],{"class":5123},[4408,38289,5127],{"class":4426},[4408,38291,5130],{"class":4422},[4408,38293,7080],{"class":4434},[4408,38295,7083],{"class":4981},[4408,38297,7086],{"class":4434},[4408,38299,7089],{"class":4422},[4408,38301,7092],{"class":4434},[4408,38303,38304,38306,38308,38311],{"class":4410,"line":4712},[4408,38305,22978],{"class":4981},[4408,38307,3646],{"class":4434},[4408,38309,38310],{"class":4981},"chip",[4408,38312,5737],{"class":4434},[4408,38314,38315],{"class":4410,"line":4717},[4408,38316,22990],{"class":4434},[4408,38318,38319,38321,38323,38325,38327],{"class":4410,"line":4722},[4408,38320,36695],{"class":4981},[4408,38322,21662],{"class":4981},[4408,38324,3646],{"class":4434},[4408,38326,23753],{"class":4981},[4408,38328,5737],{"class":4434},[4408,38330,38331,38333,38335,38337,38339],{"class":4410,"line":6058},[4408,38332,36708],{"class":4981},[4408,38334,21662],{"class":4981},[4408,38336,3646],{"class":4434},[4408,38338,10064],{"class":4981},[4408,38340,5737],{"class":4434},[4408,38342,38343,38345,38347,38349,38351],{"class":4410,"line":6088},[4408,38344,36721],{"class":4981},[4408,38346,30879],{"class":4981},[4408,38348,3646],{"class":4434},[4408,38350,22597],{"class":4981},[4408,38352,5737],{"class":4434},[4408,38354,38355,38358,38360,38362,38364],{"class":4410,"line":6099},[4408,38356,38357],{"class":4981},"          padding:",[4408,38359,22592],{"class":4981},[4408,38361,3646],{"class":4434},[4408,38363,22656],{"class":4981},[4408,38365,5737],{"class":4434},[4408,38367,38368,38371,38373,38375,38378,38380,38382],{"class":4410,"line":6105},[4408,38369,38370],{"class":4981},"          opacity:",[4408,38372,7781],{"class":4981},[4408,38374,7189],{"class":4426},[4408,38376,38377],{"class":6042}," 0.9",[4408,38379,7195],{"class":4426},[4408,38381,6043],{"class":6042},[4408,38383,5737],{"class":4434},[4408,38385,38386],{"class":4410,"line":6157},[4408,38387,23035],{"class":4434},[4408,38389,38390,38392],{"class":4410,"line":6189},[4408,38391,23040],{"class":4434},[4408,38393,4641],{"class":4422},[4408,38395,38396],{"class":4410,"line":6195},[4408,38397,6102],{"class":4414},[4408,38399,38400,38402,38404,38406,38408,38410,38412,38414,38416,38418,38420,38422,38424,38426,38428,38430,38432,38434],{"class":4410,"line":6205},[4408,38401,5096],{"class":4414},[4408,38403,20487],{"class":5088},[4408,38405,23055],{"class":5123},[4408,38407,5127],{"class":4426},[4408,38409,23060],{"class":4438},[4408,38411,36940],{"class":5123},[4408,38413,5127],{"class":4426},[4408,38415,5130],{"class":4422},[4408,38417,9862],{"class":6042},[4408,38419,4444],{"class":4422},[4408,38421,6112],{"class":5123},[4408,38423,5127],{"class":4426},[4408,38425,5130],{"class":4422},[4408,38427,6226],{"class":4981},[4408,38429,3646],{"class":4434},[4408,38431,5050],{"class":4981},[4408,38433,4444],{"class":4422},[4408,38435,5091],{"class":4414},[4408,38437,38438,38440,38442,38444,38446],{"class":4410,"line":6210},[4408,38439,10441],{"class":4422},[4408,38441,22300],{"class":4981},[4408,38443,3646],{"class":4434},[4408,38445,5050],{"class":4981},[4408,38447,4641],{"class":4422},[4408,38449,38450,38452,38454],{"class":4410,"line":6256},[4408,38451,6198],{"class":4414},[4408,38453,20487],{"class":5088},[4408,38455,5091],{"class":4414},[4408,38457,38458,38460,38462,38464,38466,38468,38470,38472,38474,38476,38478,38480,38482,38484,38486,38488,38490,38492,38494,38496],{"class":4410,"line":6263},[4408,38459,5096],{"class":4414},[4408,38461,20487],{"class":5088},[4408,38463,23055],{"class":5123},[4408,38465,5127],{"class":4426},[4408,38467,23352],{"class":4438},[4408,38469,25119],{"class":5123},[4408,38471,5127],{"class":4426},[4408,38473,5130],{"class":4422},[4408,38475,21563],{"class":4981},[4408,38477,3646],{"class":4434},[4408,38479,7277],{"class":4981},[4408,38481,4444],{"class":4422},[4408,38483,6112],{"class":5123},[4408,38485,5127],{"class":4426},[4408,38487,5130],{"class":4422},[4408,38489,6226],{"class":4981},[4408,38491,3646],{"class":4434},[4408,38493,38255],{"class":4981},[4408,38495,4444],{"class":4422},[4408,38497,5091],{"class":4414},[4408,38499,38500,38502,38504,38506,38508],{"class":4410,"line":6276},[4408,38501,10441],{"class":4422},[4408,38503,22300],{"class":4981},[4408,38505,3646],{"class":4434},[4408,38507,38255],{"class":4981},[4408,38509,4641],{"class":4422},[4408,38511,38512,38514,38516],{"class":4410,"line":6289},[4408,38513,6198],{"class":4414},[4408,38515,20487],{"class":5088},[4408,38517,5091],{"class":4414},[4408,38519,38520,38522,38524,38526,38528,38530,38532,38534,38536,38538,38540,38542,38544,38546,38548,38550,38552,38554],{"class":4410,"line":6299},[4408,38521,5096],{"class":4414},[4408,38523,20487],{"class":5088},[4408,38525,23055],{"class":5123},[4408,38527,5127],{"class":4426},[4408,38529,23352],{"class":4438},[4408,38531,36940],{"class":5123},[4408,38533,5127],{"class":4426},[4408,38535,5130],{"class":4422},[4408,38537,11646],{"class":6042},[4408,38539,4444],{"class":4422},[4408,38541,6112],{"class":5123},[4408,38543,5127],{"class":4426},[4408,38545,5130],{"class":4422},[4408,38547,6226],{"class":4981},[4408,38549,3646],{"class":4434},[4408,38551,3715],{"class":4981},[4408,38553,4444],{"class":4422},[4408,38555,5091],{"class":4414},[4408,38557,38558,38560,38562,38564,38566],{"class":4410,"line":6314},[4408,38559,10441],{"class":4422},[4408,38561,22300],{"class":4981},[4408,38563,3646],{"class":4434},[4408,38565,3715],{"class":4981},[4408,38567,4641],{"class":4422},[4408,38569,38570,38572,38574],{"class":4410,"line":6325},[4408,38571,6198],{"class":4414},[4408,38573,20487],{"class":5088},[4408,38575,5091],{"class":4414},[4408,38577,38578,38580,38582],{"class":4410,"line":6335},[4408,38579,5177],{"class":4414},[4408,38581,3654],{"class":5088},[4408,38583,5091],{"class":4414},[4408,38585,38586],{"class":4410,"line":6346},[4408,38587,5186],{"class":4426},[4408,38589,38590],{"class":4410,"line":6387},[4408,38591,4641],{"class":4426},[4408,38593,38594],{"class":4410,"line":6392},[4408,38595,4611],{"emptyLinePlaceholder":4610},[4408,38597,38598,38600,38602,38605,38607,38609,38611,38614],{"class":4410,"line":6397},[4408,38599,5029],{"class":4974},[4408,38601,10318],{"class":4422},[4408,38603,38604],{"class":5049}," PlaceChip",[4408,38606,5804],{"class":4426},[4408,38608,36391],{"class":4430},[4408,38610,4435],{"class":4426},[4408,38612,38613],{"class":4981},"PlaceChipComponent",[4408,38615,5068],{"class":4426},[4408,38617,38618],{"class":4410,"line":6439},[4408,38619,4611],{"emptyLinePlaceholder":4610},[4408,38621,38622,38624,38626,38628,38630,38632,38634],{"class":4410,"line":6446},[4408,38623,6770],{"class":4422},[4408,38625,6773],{"class":5049},[4408,38627,5804],{"class":4426},[4408,38629,6778],{"class":4981},[4408,38631,3646],{"class":4426},[4408,38633,6783],{"class":4430},[4408,38635,6786],{"class":4426},[4408,38637,38638,38641],{"class":4410,"line":6459},[4408,38639,38640],{"class":4981},"  chip:",[4408,38642,5729],{"class":4426},[4408,38644,38645,38647,38649],{"class":4410,"line":6472},[4408,38646,36207],{"class":4981},[4408,38648,37833],{"class":6042},[4408,38650,5737],{"class":4426},[4408,38652,38653,38655,38657],{"class":4410,"line":6482},[4408,38654,6830],{"class":4981},[4408,38656,6043],{"class":6042},[4408,38658,5737],{"class":4426},[4408,38660,38661,38663,38665],{"class":4410,"line":6495},[4408,38662,6880],{"class":4981},[4408,38664,19962],{"class":6042},[4408,38666,5737],{"class":4426},[4408,38668,38669],{"class":4410,"line":6505},[4408,38670,6891],{"class":4426},[4408,38672,38673,38675],{"class":4410,"line":6544},[4408,38674,15867],{"class":4981},[4408,38676,5729],{"class":4426},[4408,38678,38679,38681,38683],{"class":4410,"line":6549},[4408,38680,6870],{"class":4981},[4408,38682,6073],{"class":6042},[4408,38684,5737],{"class":4426},[4408,38686,38687],{"class":4410,"line":6554},[4408,38688,6891],{"class":4426},[4408,38690,38691,38694],{"class":4410,"line":6596},[4408,38692,38693],{"class":4981},"  city:",[4408,38695,5729],{"class":4426},[4408,38697,38698,38700,38702],{"class":4410,"line":6603},[4408,38699,19808],{"class":4981},[4408,38701,8741],{"class":6042},[4408,38703,5737],{"class":4426},[4408,38705,38706,38708,38710],{"class":4410,"line":6616},[4408,38707,19737],{"class":4981},[4408,38709,20260],{"class":4438},[4408,38711,5737],{"class":4426},[4408,38713,38714],{"class":4410,"line":6629},[4408,38715,6891],{"class":4426},[4408,38717,38718,38720],{"class":4410,"line":6639},[4408,38719,16039],{"class":4981},[4408,38721,5729],{"class":4426},[4408,38723,38724,38726,38728],{"class":4410,"line":6652},[4408,38725,19808],{"class":4981},[4408,38727,14984],{"class":6042},[4408,38729,5737],{"class":4426},[4408,38731,38732],{"class":4410,"line":6658},[4408,38733,6891],{"class":4426},[4408,38735,38736],{"class":4410,"line":6669},[4408,38737,6913],{"class":4426},[4399,38739,38742],{"className":9476,"code":38740,"filename":38741,"language":9478,"meta":4404,"style":4404},"\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",[3540,38743,38744,38748,38753,38758,38762,38766,38777,38786,38795,38804,38813,38822,38832,38841,38850,38859,38869,38873,38884,38893,38902,38911,38920,38929,38937,38946,38955,38963,38973,38977,38988,39014,39018,39022,39042,39046,39071,39096],{"__ignoreMap":4404},[4408,38745,38746],{"class":4410,"line":4411},[4408,38747,24842],{"class":11572},[4408,38749,38750],{"class":4410,"line":4595},[4408,38751,38752],{"class":11572}," * Семантичні кольори: назва = роль на екрані, не «синій-500».\n",[4408,38754,38755],{"class":4410,"line":4601},[4408,38756,38757],{"class":11572}," * light \u002F dark — дві палітри з однаковими ключами.\n",[4408,38759,38760],{"class":4410,"line":4607},[4408,38761,24862],{"class":11572},[4408,38763,38764],{"class":4410,"line":4614},[4408,38765,4611],{"emptyLinePlaceholder":4610},[4408,38767,38768,38770,38772,38775],{"class":4410,"line":4620},[4408,38769,5029],{"class":4974},[4408,38771,10318],{"class":4422},[4408,38773,38774],{"class":5049}," lightColors",[4408,38776,25709],{"class":4426},[4408,38778,38779,38782,38784],{"class":4410,"line":4626},[4408,38780,38781],{"class":4981},"  background:",[4408,38783,19621],{"class":4438},[4408,38785,5737],{"class":4426},[4408,38787,38788,38791,38793],{"class":4410,"line":4632},[4408,38789,38790],{"class":4981},"  surface:",[4408,38792,19889],{"class":4438},[4408,38794,5737],{"class":4426},[4408,38796,38797,38800,38802],{"class":4410,"line":4638},[4408,38798,38799],{"class":4981},"  text:",[4408,38801,19750],{"class":4438},[4408,38803,5737],{"class":4426},[4408,38805,38806,38809,38811],{"class":4410,"line":4644},[4408,38807,38808],{"class":4981},"  textSecondary:",[4408,38810,19780],{"class":4438},[4408,38812,5737],{"class":4426},[4408,38814,38815,38818,38820],{"class":4410,"line":4649},[4408,38816,38817],{"class":4981},"  primary:",[4408,38819,18072],{"class":4438},[4408,38821,5737],{"class":4426},[4408,38823,38824,38827,38830],{"class":4410,"line":4655},[4408,38825,38826],{"class":4981},"  primaryPressed:",[4408,38828,38829],{"class":4438}," '#1D4ED8'",[4408,38831,5737],{"class":4426},[4408,38833,38834,38837,38839],{"class":4410,"line":4661},[4408,38835,38836],{"class":4981},"  border:",[4408,38838,18065],{"class":4438},[4408,38840,5737],{"class":4426},[4408,38842,38843,38846,38848],{"class":4410,"line":4667},[4408,38844,38845],{"class":4981},"  danger:",[4408,38847,19977],{"class":4438},[4408,38849,5737],{"class":4426},[4408,38851,38852,38855,38857],{"class":4410,"line":4672},[4408,38853,38854],{"class":4981},"  onPrimary:",[4408,38856,19889],{"class":4438},[4408,38858,5737],{"class":4426},[4408,38860,38861,38863,38865,38867],{"class":4410,"line":4677},[4408,38862,5770],{"class":4426},[4408,38864,10315],{"class":4974},[4408,38866,10318],{"class":4422},[4408,38868,4993],{"class":4426},[4408,38870,38871],{"class":4410,"line":4683},[4408,38872,4611],{"emptyLinePlaceholder":4610},[4408,38874,38875,38877,38879,38882],{"class":4410,"line":4689},[4408,38876,5029],{"class":4974},[4408,38878,10318],{"class":4422},[4408,38880,38881],{"class":5049}," darkColors",[4408,38883,25709],{"class":4426},[4408,38885,38886,38888,38891],{"class":4410,"line":4695},[4408,38887,38781],{"class":4981},[4408,38889,38890],{"class":4438}," '#000000'",[4408,38892,5737],{"class":4426},[4408,38894,38895,38897,38900],{"class":4410,"line":4700},[4408,38896,38790],{"class":4981},[4408,38898,38899],{"class":4438}," '#1C1C1E'",[4408,38901,5737],{"class":4426},[4408,38903,38904,38906,38909],{"class":4410,"line":4706},[4408,38905,38799],{"class":4981},[4408,38907,38908],{"class":4438}," '#F5F5F7'",[4408,38910,5737],{"class":4426},[4408,38912,38913,38915,38918],{"class":4410,"line":4712},[4408,38914,38808],{"class":4981},[4408,38916,38917],{"class":4438}," '#A1A1AA'",[4408,38919,5737],{"class":4426},[4408,38921,38922,38924,38927],{"class":4410,"line":4717},[4408,38923,38817],{"class":4981},[4408,38925,38926],{"class":4438}," '#3B82F6'",[4408,38928,5737],{"class":4426},[4408,38930,38931,38933,38935],{"class":4410,"line":4722},[4408,38932,38826],{"class":4981},[4408,38934,18072],{"class":4438},[4408,38936,5737],{"class":4426},[4408,38938,38939,38941,38944],{"class":4410,"line":6058},[4408,38940,38836],{"class":4981},[4408,38942,38943],{"class":4438}," '#3A3A3C'",[4408,38945,5737],{"class":4426},[4408,38947,38948,38950,38953],{"class":4410,"line":6088},[4408,38949,38845],{"class":4981},[4408,38951,38952],{"class":4438}," '#F87171'",[4408,38954,5737],{"class":4426},[4408,38956,38957,38959,38961],{"class":4410,"line":6099},[4408,38958,38854],{"class":4981},[4408,38960,19889],{"class":4438},[4408,38962,5737],{"class":4426},[4408,38964,38965,38967,38969,38971],{"class":4410,"line":6105},[4408,38966,5770],{"class":4426},[4408,38968,10315],{"class":4974},[4408,38970,10318],{"class":4422},[4408,38972,4993],{"class":4426},[4408,38974,38975],{"class":4410,"line":6157},[4408,38976,4611],{"emptyLinePlaceholder":4610},[4408,38978,38979,38981,38983,38986],{"class":4410,"line":6189},[4408,38980,5029],{"class":4974},[4408,38982,25498],{"class":4422},[4408,38984,38985],{"class":5088}," ColorTokens",[4408,38987,25709],{"class":4426},[4408,38989,38990,38993,38996,38999,39002,39005,39007,39010,39012],{"class":4410,"line":6195},[4408,38991,38992],{"class":4426},"  [",[4408,38994,38995],{"class":5088},"K",[4408,38997,38998],{"class":4422}," in",[4408,39000,39001],{"class":4422}," keyof",[4408,39003,39004],{"class":4422}," typeof",[4408,39006,38774],{"class":4981},[4408,39008,39009],{"class":4426},"]: ",[4408,39011,5263],{"class":5088},[4408,39013,4993],{"class":4426},[4408,39015,39016],{"class":4410,"line":6205},[4408,39017,11683],{"class":4426},[4408,39019,39020],{"class":4410,"line":6210},[4408,39021,4611],{"emptyLinePlaceholder":4610},[4408,39023,39024,39026,39028,39031,39033,39036,39038,39040],{"class":4410,"line":6256},[4408,39025,5029],{"class":4974},[4408,39027,25498],{"class":4422},[4408,39029,39030],{"class":5088}," ColorSchemeName",[4408,39032,5804],{"class":4426},[4408,39034,39035],{"class":4438},"'light'",[4408,39037,19391],{"class":4426},[4408,39039,5813],{"class":4438},[4408,39041,4993],{"class":4426},[4408,39043,39044],{"class":4410,"line":6263},[4408,39045,4611],{"emptyLinePlaceholder":4610},[4408,39047,39048,39050,39052,39055,39057,39059,39061,39064,39066,39069],{"class":4410,"line":6276},[4408,39049,5029],{"class":4974},[4408,39051,5032],{"class":4422},[4408,39053,39054],{"class":4430}," colorsForScheme",[4408,39056,4435],{"class":4426},[4408,39058,21568],{"class":4981},[4408,39060,4145],{"class":4426},[4408,39062,39063],{"class":5088},"ColorSchemeName",[4408,39065,26687],{"class":4426},[4408,39067,39068],{"class":5088},"ColorTokens",[4408,39070,5729],{"class":4426},[4408,39072,39073,39075,39078,39080,39082,39085,39088,39091,39094],{"class":4410,"line":6289},[4408,39074,5077],{"class":4974},[4408,39076,39077],{"class":4981}," scheme",[4408,39079,13599],{"class":4426},[4408,39081,5813],{"class":4438},[4408,39083,39084],{"class":4426}," ? { ...",[4408,39086,39087],{"class":4981},"darkColors",[4408,39089,39090],{"class":4426}," } : { ...",[4408,39092,39093],{"class":4981},"lightColors",[4408,39095,13124],{"class":4426},[4408,39097,39098],{"class":4410,"line":6299},[4408,39099,4641],{"class":4426},[4399,39101,39104],{"className":9476,"code":39102,"filename":39103,"language":9478,"meta":4404,"style":4404},"\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",[3540,39105,39106,39110,39115,39120,39125,39129,39133,39144,39153,39162,39171,39180,39190,39200,39204,39214,39222,39230,39238,39248,39252,39263,39271,39279,39287,39296,39306,39310,39321,39332,39337,39344,39353,39362,39371,39380,39389,39398,39407,39416,39425,39429,39438,39445,39452,39462,39466],{"__ignoreMap":4404},[4408,39107,39108],{"class":4410,"line":4411},[4408,39109,24842],{"class":11572},[4408,39111,39112],{"class":4410,"line":4595},[4408,39113,39114],{"class":11572}," * Токени, що **не** залежать від light\u002Fdark:\n",[4408,39116,39117],{"class":4410,"line":4601},[4408,39118,39119],{"class":11572}," * відступи, радіуси, розміри шрифтів.\n",[4408,39121,39122],{"class":4410,"line":4607},[4408,39123,39124],{"class":11572}," * Кольори — у colors.ts + ThemeProvider.\n",[4408,39126,39127],{"class":4410,"line":4614},[4408,39128,24862],{"class":11572},[4408,39130,39131],{"class":4410,"line":4620},[4408,39132,4611],{"emptyLinePlaceholder":4610},[4408,39134,39135,39137,39139,39142],{"class":4410,"line":4626},[4408,39136,5029],{"class":4974},[4408,39138,10318],{"class":4422},[4408,39140,39141],{"class":5049}," space",[4408,39143,25709],{"class":4426},[4408,39145,39146,39149,39151],{"class":4410,"line":4632},[4408,39147,39148],{"class":4981},"  xs:",[4408,39150,8741],{"class":6042},[4408,39152,5737],{"class":4426},[4408,39154,39155,39158,39160],{"class":4410,"line":4638},[4408,39156,39157],{"class":4981},"  sm:",[4408,39159,13731],{"class":6042},[4408,39161,5737],{"class":4426},[4408,39163,39164,39167,39169],{"class":4410,"line":4644},[4408,39165,39166],{"class":4981},"  md:",[4408,39168,6073],{"class":6042},[4408,39170,5737],{"class":4426},[4408,39172,39173,39176,39178],{"class":4410,"line":4649},[4408,39174,39175],{"class":4981},"  lg:",[4408,39177,19273],{"class":6042},[4408,39179,5737],{"class":4426},[4408,39181,39182,39185,39188],{"class":4410,"line":4655},[4408,39183,39184],{"class":4981},"  xl:",[4408,39186,39187],{"class":6042}," 32",[4408,39189,5737],{"class":4426},[4408,39191,39192,39194,39196,39198],{"class":4410,"line":4661},[4408,39193,5770],{"class":4426},[4408,39195,10315],{"class":4974},[4408,39197,10318],{"class":4422},[4408,39199,4993],{"class":4426},[4408,39201,39202],{"class":4410,"line":4667},[4408,39203,4611],{"emptyLinePlaceholder":4610},[4408,39205,39206,39208,39210,39212],{"class":4410,"line":4672},[4408,39207,5029],{"class":4974},[4408,39209,10318],{"class":4422},[4408,39211,30879],{"class":5049},[4408,39213,25709],{"class":4426},[4408,39215,39216,39218,39220],{"class":4410,"line":4677},[4408,39217,39157],{"class":4981},[4408,39219,13731],{"class":6042},[4408,39221,5737],{"class":4426},[4408,39223,39224,39226,39228],{"class":4410,"line":4683},[4408,39225,39166],{"class":4981},[4408,39227,6799],{"class":6042},[4408,39229,5737],{"class":4426},[4408,39231,39232,39234,39236],{"class":4410,"line":4689},[4408,39233,39175],{"class":4981},[4408,39235,6073],{"class":6042},[4408,39237,5737],{"class":4426},[4408,39239,39240,39242,39244,39246],{"class":4410,"line":4695},[4408,39241,5770],{"class":4426},[4408,39243,10315],{"class":4974},[4408,39245,10318],{"class":4422},[4408,39247,4993],{"class":4426},[4408,39249,39250],{"class":4410,"line":4700},[4408,39251,4611],{"emptyLinePlaceholder":4610},[4408,39253,39254,39256,39258,39261],{"class":4410,"line":4706},[4408,39255,5029],{"class":4974},[4408,39257,10318],{"class":4422},[4408,39259,39260],{"class":5049}," fontSize",[4408,39262,25709],{"class":4426},[4408,39264,39265,39267,39269],{"class":4410,"line":4712},[4408,39266,39157],{"class":4981},[4408,39268,6081],{"class":6042},[4408,39270,5737],{"class":4426},[4408,39272,39273,39275,39277],{"class":4410,"line":4717},[4408,39274,39166],{"class":4981},[4408,39276,6073],{"class":6042},[4408,39278,5737],{"class":4426},[4408,39280,39281,39283,39285],{"class":4410,"line":4722},[4408,39282,39175],{"class":4981},[4408,39284,7630],{"class":6042},[4408,39286,5737],{"class":4426},[4408,39288,39289,39291,39294],{"class":4410,"line":6058},[4408,39290,39184],{"class":4981},[4408,39292,39293],{"class":6042}," 28",[4408,39295,5737],{"class":4426},[4408,39297,39298,39300,39302,39304],{"class":4410,"line":6088},[4408,39299,5770],{"class":4426},[4408,39301,10315],{"class":4974},[4408,39303,10318],{"class":4422},[4408,39305,4993],{"class":4426},[4408,39307,39308],{"class":4410,"line":6099},[4408,39309,4611],{"emptyLinePlaceholder":4610},[4408,39311,39312,39315,39318],{"class":4410,"line":6105},[4408,39313,39314],{"class":11572},"\u002F** ",[4408,39316,39317],{"class":4422},"@deprecated",[4408,39319,39320],{"class":11572}," Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\n",[4408,39322,39323,39325,39327,39330],{"class":4410,"line":6157},[4408,39324,5029],{"class":4974},[4408,39326,10318],{"class":4422},[4408,39328,39329],{"class":5049}," tokens",[4408,39331,25709],{"class":4426},[4408,39333,39334],{"class":4410,"line":6189},[4408,39335,39336],{"class":11572},"  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n",[4408,39338,39339,39342],{"class":4410,"line":6195},[4408,39340,39341],{"class":4981},"  colors:",[4408,39343,5729],{"class":4426},[4408,39345,39346,39349,39351],{"class":4410,"line":6205},[4408,39347,39348],{"class":4981},"    background:",[4408,39350,19621],{"class":4438},[4408,39352,5737],{"class":4426},[4408,39354,39355,39358,39360],{"class":4410,"line":6210},[4408,39356,39357],{"class":4981},"    surface:",[4408,39359,19889],{"class":4438},[4408,39361,5737],{"class":4426},[4408,39363,39364,39367,39369],{"class":4410,"line":6256},[4408,39365,39366],{"class":4981},"    text:",[4408,39368,19750],{"class":4438},[4408,39370,5737],{"class":4426},[4408,39372,39373,39376,39378],{"class":4410,"line":6263},[4408,39374,39375],{"class":4981},"    textSecondary:",[4408,39377,19780],{"class":4438},[4408,39379,5737],{"class":4426},[4408,39381,39382,39385,39387],{"class":4410,"line":6276},[4408,39383,39384],{"class":4981},"    primary:",[4408,39386,18072],{"class":4438},[4408,39388,5737],{"class":4426},[4408,39390,39391,39394,39396],{"class":4410,"line":6289},[4408,39392,39393],{"class":4981},"    primaryPressed:",[4408,39395,38829],{"class":4438},[4408,39397,5737],{"class":4426},[4408,39399,39400,39403,39405],{"class":4410,"line":6299},[4408,39401,39402],{"class":4981},"    border:",[4408,39404,18065],{"class":4438},[4408,39406,5737],{"class":4426},[4408,39408,39409,39412,39414],{"class":4410,"line":6314},[4408,39410,39411],{"class":4981},"    danger:",[4408,39413,19977],{"class":4438},[4408,39415,5737],{"class":4426},[4408,39417,39418,39421,39423],{"class":4410,"line":6325},[4408,39419,39420],{"class":4981},"    onPrimary:",[4408,39422,19889],{"class":4438},[4408,39424,5737],{"class":4426},[4408,39426,39427],{"class":4410,"line":6335},[4408,39428,6891],{"class":4426},[4408,39430,39431,39434,39436],{"class":4410,"line":6346},[4408,39432,39433],{"class":4981},"  spacing:",[4408,39435,39141],{"class":4981},[4408,39437,5737],{"class":4426},[4408,39439,39440,39443],{"class":4410,"line":6387},[4408,39441,39442],{"class":4981},"  radius",[4408,39444,5737],{"class":4426},[4408,39446,39447,39450],{"class":4410,"line":6392},[4408,39448,39449],{"class":4981},"  fontSize",[4408,39451,5737],{"class":4426},[4408,39453,39454,39456,39458,39460],{"class":4410,"line":6397},[4408,39455,5770],{"class":4426},[4408,39457,10315],{"class":4974},[4408,39459,10318],{"class":4422},[4408,39461,4993],{"class":4426},[4408,39463,39464],{"class":4410,"line":6439},[4408,39465,4611],{"emptyLinePlaceholder":4610},[4408,39467,39468,39470,39472,39475,39477,39479,39481],{"class":4410,"line":6446},[4408,39469,5029],{"class":4974},[4408,39471,25498],{"class":4422},[4408,39473,39474],{"class":5088}," Tokens",[4408,39476,5804],{"class":4426},[4408,39478,10359],{"class":4422},[4408,39480,39329],{"class":4981},[4408,39482,4993],{"class":4426},[4399,39484,39487],{"className":4401,"code":39485,"filename":39486,"language":4403,"meta":4404,"style":4404},"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",[3540,39488,39489,39495,39501,39507,39513,39519,39525,39531,39541,39562,39566,39572,39579,39587,39595,39606,39633,39637,39642,39661,39665,39674,39679,39690,39701,39722,39733,39746,39758,39770,39774,39778,39804,39808,39817,39827,39846,39854,39877,39885,39889,39910,39914,39918,39927,39937,39942,39953,39957,39961,39972,39978,39988,39997,40011,40027,40043,40047,40071,40082,40086,40090,40112,40139,40143,40160,40169,40176,40183,40190,40197,40206,40213,40220,40224,40244,40248,40252,40258,40289,40293,40297,40301,40316,40333,40343,40358,40362,40370],{"__ignoreMap":4404},[4408,39490,39491,39493],{"class":4410,"line":4411},[4408,39492,4975],{"class":4974},[4408,39494,5729],{"class":4426},[4408,39496,39497,39499],{"class":4410,"line":4595},[4408,39498,27162],{"class":4981},[4408,39500,5737],{"class":4426},[4408,39502,39503,39505],{"class":4410,"line":4601},[4408,39504,27169],{"class":4981},[4408,39506,5737],{"class":4426},[4408,39508,39509,39511],{"class":4410,"line":4607},[4408,39510,27176],{"class":4981},[4408,39512,5737],{"class":4426},[4408,39514,39515,39517],{"class":4410,"line":4614},[4408,39516,27183],{"class":4981},[4408,39518,5737],{"class":4426},[4408,39520,39521,39523],{"class":4410,"line":4620},[4408,39522,27190],{"class":4981},[4408,39524,5737],{"class":4426},[4408,39526,39527,39529],{"class":4410,"line":4626},[4408,39528,27197],{"class":4981},[4408,39530,5737],{"class":4426},[4408,39532,39533,39535,39537,39539],{"class":4410,"line":4632},[4408,39534,5770],{"class":4426},[4408,39536,4987],{"class":4974},[4408,39538,4990],{"class":4438},[4408,39540,4993],{"class":4426},[4408,39542,39543,39545,39547,39549,39551,39554,39556,39558,39560],{"class":4410,"line":4638},[4408,39544,4975],{"class":4974},[4408,39546,4978],{"class":4426},[4408,39548,5807],{"class":4981},[4408,39550,15780],{"class":4974},[4408,39552,39553],{"class":4981}," useSystemColorScheme",[4408,39555,4984],{"class":4426},[4408,39557,4987],{"class":4974},[4408,39559,5018],{"class":4438},[4408,39561,4993],{"class":4426},[4408,39563,39564],{"class":4410,"line":4644},[4408,39565,4611],{"emptyLinePlaceholder":4610},[4408,39567,39568,39570],{"class":4410,"line":4649},[4408,39569,4975],{"class":4974},[4408,39571,5729],{"class":4426},[4408,39573,39574,39577],{"class":4410,"line":4655},[4408,39575,39576],{"class":4981},"  colorsForScheme",[4408,39578,5737],{"class":4426},[4408,39580,39581,39583,39585],{"class":4410,"line":4661},[4408,39582,21918],{"class":4974},[4408,39584,39030],{"class":4981},[4408,39586,5737],{"class":4426},[4408,39588,39589,39591,39593],{"class":4410,"line":4667},[4408,39590,21918],{"class":4974},[4408,39592,38985],{"class":4981},[4408,39594,5737],{"class":4426},[4408,39596,39597,39599,39601,39604],{"class":4410,"line":4672},[4408,39598,5770],{"class":4426},[4408,39600,4987],{"class":4974},[4408,39602,39603],{"class":4438}," '.\u002Fcolors'",[4408,39605,4993],{"class":4426},[4408,39607,39608,39610,39612,39615,39617,39619,39621,39624,39626,39628,39631],{"class":4410,"line":4677},[4408,39609,4975],{"class":4974},[4408,39611,4978],{"class":4426},[4408,39613,39614],{"class":4981},"fontSize",[4408,39616,3550],{"class":4426},[4408,39618,29713],{"class":4981},[4408,39620,3550],{"class":4426},[4408,39622,39623],{"class":4981},"space",[4408,39625,4984],{"class":4426},[4408,39627,4987],{"class":4974},[4408,39629,39630],{"class":4438}," '.\u002Ftokens'",[4408,39632,4993],{"class":4426},[4408,39634,39635],{"class":4410,"line":4683},[4408,39636,4611],{"emptyLinePlaceholder":4610},[4408,39638,39639],{"class":4410,"line":4689},[4408,39640,39641],{"class":11572},"\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\n",[4408,39643,39644,39646,39648,39650,39652,39655,39657,39659],{"class":4410,"line":4695},[4408,39645,5029],{"class":4974},[4408,39647,25498],{"class":4422},[4408,39649,21957],{"class":5088},[4408,39651,5804],{"class":4426},[4408,39653,39654],{"class":4438},"'system'",[4408,39656,19391],{"class":4426},[4408,39658,39063],{"class":5088},[4408,39660,4993],{"class":4426},[4408,39662,39663],{"class":4410,"line":4700},[4408,39664,4611],{"emptyLinePlaceholder":4610},[4408,39666,39667,39669,39672],{"class":4410,"line":4706},[4408,39668,4065],{"class":4422},[4408,39670,39671],{"class":5088}," ThemeContextValue",[4408,39673,25709],{"class":4426},[4408,39675,39676],{"class":4410,"line":4712},[4408,39677,39678],{"class":11572},"  \u002F** Фактична схема, якою малюємо UI. *\u002F\n",[4408,39680,39681,39684,39686,39688],{"class":4410,"line":4717},[4408,39682,39683],{"class":4981},"  scheme",[4408,39685,4145],{"class":4426},[4408,39687,39063],{"class":5088},[4408,39689,4993],{"class":4426},[4408,39691,39692,39695,39697,39699],{"class":4410,"line":4722},[4408,39693,39694],{"class":4981},"  preference",[4408,39696,4145],{"class":4426},[4408,39698,22011],{"class":5088},[4408,39700,4993],{"class":4426},[4408,39702,39703,39706,39708,39710,39712,39714,39716,39718,39720],{"class":4410,"line":6058},[4408,39704,39705],{"class":4430},"  setPreference",[4408,39707,16387],{"class":4426},[4408,39709,3641],{"class":4981},[4408,39711,4145],{"class":4426},[4408,39713,22011],{"class":5088},[4408,39715,7723],{"class":4426},[4408,39717,7089],{"class":4422},[4408,39719,16401],{"class":5088},[4408,39721,4993],{"class":4426},[4408,39723,39724,39727,39729,39731],{"class":4410,"line":6088},[4408,39725,39726],{"class":4981},"  colors",[4408,39728,4145],{"class":4426},[4408,39730,39068],{"class":5088},[4408,39732,4993],{"class":4426},[4408,39734,39735,39738,39740,39742,39744],{"class":4410,"line":6099},[4408,39736,39737],{"class":4981},"  spacing",[4408,39739,4145],{"class":4426},[4408,39741,10359],{"class":4422},[4408,39743,39141],{"class":4981},[4408,39745,4993],{"class":4426},[4408,39747,39748,39750,39752,39754,39756],{"class":4410,"line":6105},[4408,39749,39442],{"class":4981},[4408,39751,4145],{"class":4426},[4408,39753,10359],{"class":4422},[4408,39755,30879],{"class":4981},[4408,39757,4993],{"class":4426},[4408,39759,39760,39762,39764,39766,39768],{"class":4410,"line":6157},[4408,39761,39449],{"class":4981},[4408,39763,4145],{"class":4426},[4408,39765,10359],{"class":4422},[4408,39767,39260],{"class":4981},[4408,39769,4993],{"class":4426},[4408,39771,39772],{"class":4410,"line":6189},[4408,39773,11683],{"class":4426},[4408,39775,39776],{"class":4410,"line":6195},[4408,39777,4611],{"emptyLinePlaceholder":4610},[4408,39779,39780,39782,39785,39787,39789,39791,39794,39796,39798,39800,39802],{"class":4410,"line":6205},[4408,39781,6770],{"class":4422},[4408,39783,39784],{"class":5049}," ThemeContext",[4408,39786,5804],{"class":4426},[4408,39788,27337],{"class":4430},[4408,39790,4415],{"class":4426},[4408,39792,39793],{"class":5088},"ThemeContextValue",[4408,39795,19391],{"class":4426},[4408,39797,12730],{"class":5088},[4408,39799,19396],{"class":4426},[4408,39801,12730],{"class":4422},[4408,39803,5068],{"class":4426},[4408,39805,39806],{"class":4410,"line":6210},[4408,39807,4611],{"emptyLinePlaceholder":4610},[4408,39809,39810,39812,39815],{"class":4410,"line":6256},[4408,39811,12880],{"class":4422},[4408,39813,39814],{"class":4430}," resolveScheme",[4408,39816,22450],{"class":4426},[4408,39818,39819,39821,39823,39825],{"class":4410,"line":6263},[4408,39820,39694],{"class":4981},[4408,39822,4145],{"class":4426},[4408,39824,22011],{"class":5088},[4408,39826,5737],{"class":4426},[4408,39828,39829,39832,39834,39836,39838,39840,39842,39844],{"class":4410,"line":6276},[4408,39830,39831],{"class":4981},"  system",[4408,39833,4145],{"class":4426},[4408,39835,5263],{"class":5088},[4408,39837,19391],{"class":4426},[4408,39839,12730],{"class":5088},[4408,39841,19391],{"class":4426},[4408,39843,12801],{"class":5088},[4408,39845,5737],{"class":4426},[4408,39847,39848,39850,39852],{"class":4410,"line":6289},[4408,39849,26687],{"class":4426},[4408,39851,39063],{"class":5088},[4408,39853,5729],{"class":4426},[4408,39855,39856,39858,39860,39862,39864,39866,39869,39871,39873,39875],{"class":4410,"line":6299},[4408,39857,11625],{"class":4974},[4408,39859,3588],{"class":4426},[4408,39861,22147],{"class":4981},[4408,39863,13599],{"class":4426},[4408,39865,39035],{"class":4438},[4408,39867,39868],{"class":4426}," || ",[4408,39870,22147],{"class":4981},[4408,39872,13599],{"class":4426},[4408,39874,5813],{"class":4438},[4408,39876,11649],{"class":4426},[4408,39878,39879,39881,39883],{"class":4410,"line":6314},[4408,39880,11666],{"class":4974},[4408,39882,23632],{"class":4981},[4408,39884,4993],{"class":4426},[4408,39886,39887],{"class":4410,"line":6325},[4408,39888,11673],{"class":4426},[4408,39890,39891,39893,39896,39898,39900,39902,39904,39906,39908],{"class":4410,"line":6335},[4408,39892,5077],{"class":4974},[4408,39894,39895],{"class":4981}," system",[4408,39897,13599],{"class":4426},[4408,39899,5813],{"class":4438},[4408,39901,5830],{"class":4426},[4408,39903,5813],{"class":4438},[4408,39905,5836],{"class":4426},[4408,39907,39035],{"class":4438},[4408,39909,4993],{"class":4426},[4408,39911,39912],{"class":4410,"line":6346},[4408,39913,4641],{"class":4426},[4408,39915,39916],{"class":4410,"line":6387},[4408,39917,4611],{"emptyLinePlaceholder":4610},[4408,39919,39920,39922,39925],{"class":4410,"line":6392},[4408,39921,4065],{"class":4422},[4408,39923,39924],{"class":5088}," ThemeProviderProps",[4408,39926,25709],{"class":4426},[4408,39928,39929,39931,39933,39935],{"class":4410,"line":6397},[4408,39930,27370],{"class":4981},[4408,39932,4145],{"class":4426},[4408,39934,27375],{"class":5088},[4408,39936,4993],{"class":4426},[4408,39938,39939],{"class":4410,"line":6439},[4408,39940,39941],{"class":11572},"  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n",[4408,39943,39944,39947,39949,39951],{"class":4410,"line":6446},[4408,39945,39946],{"class":4981},"  initialPreference",[4408,39948,13101],{"class":4426},[4408,39950,22011],{"class":5088},[4408,39952,4993],{"class":4426},[4408,39954,39955],{"class":4410,"line":6459},[4408,39956,11683],{"class":4426},[4408,39958,39959],{"class":4410,"line":6472},[4408,39960,4611],{"emptyLinePlaceholder":4610},[4408,39962,39963,39965,39967,39970],{"class":4410,"line":6482},[4408,39964,5029],{"class":4974},[4408,39966,5032],{"class":4422},[4408,39968,39969],{"class":4430}," ThemeProvider",[4408,39971,6786],{"class":4426},[4408,39973,39974,39976],{"class":4410,"line":6495},[4408,39975,27370],{"class":4981},[4408,39977,5737],{"class":4426},[4408,39979,39980,39982,39984,39986],{"class":4410,"line":6505},[4408,39981,39946],{"class":4981},[4408,39983,5804],{"class":4426},[4408,39985,39654],{"class":4438},[4408,39987,5737],{"class":4426},[4408,39989,39990,39992,39995],{"class":4410,"line":6544},[4408,39991,29691],{"class":4426},[4408,39993,39994],{"class":5088},"ThemeProviderProps",[4408,39996,11649],{"class":4426},[4408,39998,39999,40001,40004,40006,40009],{"class":4410,"line":6549},[4408,40000,5043],{"class":4422},[4408,40002,40003],{"class":5049}," systemScheme",[4408,40005,5804],{"class":4426},[4408,40007,40008],{"class":4430},"useSystemColorScheme",[4408,40010,21576],{"class":4426},[4408,40012,40013,40015,40017,40019,40021,40024],{"class":4410,"line":6554},[4408,40014,5043],{"class":4422},[4408,40016,5046],{"class":4426},[4408,40018,22147],{"class":5049},[4408,40020,3550],{"class":4426},[4408,40022,40023],{"class":5049},"setPreferenceState",[4408,40025,40026],{"class":4426},"] =\n",[4408,40028,40029,40032,40034,40036,40038,40041],{"class":4410,"line":6596},[4408,40030,40031],{"class":4430},"    useState",[4408,40033,4415],{"class":4426},[4408,40035,22011],{"class":5088},[4408,40037,19396],{"class":4426},[4408,40039,40040],{"class":4981},"initialPreference",[4408,40042,5068],{"class":4426},[4408,40044,40045],{"class":4410,"line":6603},[4408,40046,4611],{"emptyLinePlaceholder":4610},[4408,40048,40049,40051,40053,40055,40057,40059,40061,40063,40065,40067,40069],{"class":4410,"line":6616},[4408,40050,5043],{"class":4422},[4408,40052,23689],{"class":5049},[4408,40054,5804],{"class":4426},[4408,40056,21780],{"class":4430},[4408,40058,7717],{"class":4426},[4408,40060,3641],{"class":4981},[4408,40062,4145],{"class":4426},[4408,40064,22011],{"class":5088},[4408,40066,7723],{"class":4426},[4408,40068,7089],{"class":4422},[4408,40070,5729],{"class":4426},[4408,40072,40073,40076,40078,40080],{"class":4410,"line":6629},[4408,40074,40075],{"class":4430},"    setPreferenceState",[4408,40077,4435],{"class":4426},[4408,40079,3641],{"class":4981},[4408,40081,5068],{"class":4426},[4408,40083,40084],{"class":4410,"line":6639},[4408,40085,22280],{"class":4426},[4408,40087,40088],{"class":4410,"line":6652},[4408,40089,4611],{"emptyLinePlaceholder":4610},[4408,40091,40092,40094,40096,40098,40101,40103,40105,40107,40110],{"class":4410,"line":6658},[4408,40093,5043],{"class":4422},[4408,40095,39077],{"class":5049},[4408,40097,5804],{"class":4426},[4408,40099,40100],{"class":4430},"resolveScheme",[4408,40102,4435],{"class":4426},[4408,40104,22147],{"class":4981},[4408,40106,3550],{"class":4426},[4408,40108,40109],{"class":4981},"systemScheme",[4408,40111,5068],{"class":4426},[4408,40113,40114,40116,40118,40120,40122,40124,40126,40128,40130,40132,40135,40137],{"class":4410,"line":6669},[4408,40115,5043],{"class":4422},[4408,40117,21662],{"class":5049},[4408,40119,5804],{"class":4426},[4408,40121,27548],{"class":4430},[4408,40123,22363],{"class":4426},[4408,40125,7089],{"class":4422},[4408,40127,39054],{"class":4430},[4408,40129,4435],{"class":4426},[4408,40131,21568],{"class":4981},[4408,40133,40134],{"class":4426},"), [",[4408,40136,21568],{"class":4981},[4408,40138,22432],{"class":4426},[4408,40140,40141],{"class":4410,"line":6681},[4408,40142,4611],{"emptyLinePlaceholder":4610},[4408,40144,40145,40147,40149,40151,40153,40155,40157],{"class":4410,"line":6693},[4408,40146,5043],{"class":4422},[4408,40148,8185],{"class":5049},[4408,40150,5804],{"class":4426},[4408,40152,27548],{"class":4430},[4408,40154,4415],{"class":4426},[4408,40156,39793],{"class":5088},[4408,40158,40159],{"class":4426},">(\n",[4408,40161,40162,40164,40166],{"class":4410,"line":6705},[4408,40163,27555],{"class":4426},[4408,40165,7089],{"class":4422},[4408,40167,40168],{"class":4426}," ({\n",[4408,40170,40171,40174],{"class":4410,"line":6730},[4408,40172,40173],{"class":4981},"      scheme",[4408,40175,5737],{"class":4426},[4408,40177,40178,40181],{"class":4410,"line":6738},[4408,40179,40180],{"class":4981},"      preference",[4408,40182,5737],{"class":4426},[4408,40184,40185,40188],{"class":4410,"line":6743},[4408,40186,40187],{"class":4981},"      setPreference",[4408,40189,5737],{"class":4426},[4408,40191,40192,40195],{"class":4410,"line":6752},[4408,40193,40194],{"class":4981},"      colors",[4408,40196,5737],{"class":4426},[4408,40198,40199,40202,40204],{"class":4410,"line":6757},[4408,40200,40201],{"class":4981},"      spacing:",[4408,40203,39141],{"class":4981},[4408,40205,5737],{"class":4426},[4408,40207,40208,40211],{"class":4410,"line":6762},[4408,40209,40210],{"class":4981},"      radius",[4408,40212,5737],{"class":4426},[4408,40214,40215,40218],{"class":4410,"line":6767},[4408,40216,40217],{"class":4981},"      fontSize",[4408,40219,5737],{"class":4426},[4408,40221,40222],{"class":4410,"line":6789},[4408,40223,26215],{"class":4426},[4408,40225,40226,40228,40230,40232,40234,40236,40238,40240,40242],{"class":4410,"line":6819},[4408,40227,22513],{"class":4426},[4408,40229,21568],{"class":4981},[4408,40231,3550],{"class":4426},[4408,40233,22147],{"class":4981},[4408,40235,3550],{"class":4426},[4408,40237,22152],{"class":4981},[4408,40239,3550],{"class":4426},[4408,40241,21563],{"class":4981},[4408,40243,22518],{"class":4426},[4408,40245,40246],{"class":4410,"line":6827},[4408,40247,5186],{"class":4426},[4408,40249,40250],{"class":4410,"line":6837},[4408,40251,4611],{"emptyLinePlaceholder":4610},[4408,40253,40254,40256],{"class":4410,"line":6847},[4408,40255,5077],{"class":4974},[4408,40257,5080],{"class":4426},[4408,40259,40260,40262,40265,40267,40269,40271,40273,40275,40277,40279,40281,40283,40285,40287],{"class":4410,"line":6857},[4408,40261,5085],{"class":4414},[4408,40263,40264],{"class":5088},"ThemeContext.Provider",[4408,40266,8185],{"class":5123},[4408,40268,5127],{"class":4426},[4408,40270,5130],{"class":4422},[4408,40272,3641],{"class":4981},[4408,40274,4444],{"class":4422},[4408,40276,5101],{"class":4414},[4408,40278,5130],{"class":4422},[4408,40280,16224],{"class":4981},[4408,40282,4444],{"class":4422},[4408,40284,5107],{"class":4414},[4408,40286,40264],{"class":5088},[4408,40288,5091],{"class":4414},[4408,40290,40291],{"class":4410,"line":6867},[4408,40292,5186],{"class":4426},[4408,40294,40295],{"class":4410,"line":6877},[4408,40296,4641],{"class":4426},[4408,40298,40299],{"class":4410,"line":6888},[4408,40300,4611],{"emptyLinePlaceholder":4610},[4408,40302,40303,40305,40307,40310,40312,40314],{"class":4410,"line":6894},[4408,40304,5029],{"class":4974},[4408,40306,5032],{"class":4422},[4408,40308,40309],{"class":4430}," useTheme",[4408,40311,27657],{"class":4426},[4408,40313,39793],{"class":5088},[4408,40315,5729],{"class":4426},[4408,40317,40318,40320,40322,40324,40326,40328,40331],{"class":4410,"line":6910},[4408,40319,5043],{"class":4422},[4408,40321,27668],{"class":5049},[4408,40323,5804],{"class":4426},[4408,40325,27673],{"class":4430},[4408,40327,4435],{"class":4426},[4408,40329,40330],{"class":4981},"ThemeContext",[4408,40332,5068],{"class":4426},[4408,40334,40335,40337,40339,40341],{"class":4410,"line":14357},[4408,40336,11625],{"class":4974},[4408,40338,13494],{"class":4426},[4408,40340,27689],{"class":4981},[4408,40342,11649],{"class":4426},[4408,40344,40345,40347,40349,40351,40353,40356],{"class":4410,"line":14362},[4408,40346,27696],{"class":4974},[4408,40348,27699],{"class":4422},[4408,40350,27702],{"class":4430},[4408,40352,4435],{"class":4426},[4408,40354,40355],{"class":4438},"'useTheme() потрібно викликати всередині \u003CThemeProvider>.'",[4408,40357,5068],{"class":4426},[4408,40359,40360],{"class":4410,"line":14403},[4408,40361,11673],{"class":4426},[4408,40363,40364,40366,40368],{"class":4410,"line":14410},[4408,40365,5077],{"class":4974},[4408,40367,27668],{"class":4981},[4408,40369,4993],{"class":4426},[4408,40371,40372],{"class":4410,"line":14423},[4408,40373,4641],{"class":4426},[4399,40375,40378],{"className":9476,"code":40376,"filename":40377,"language":9478,"meta":4404,"style":4404},"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",[3540,40379,40380,40405,40427,40456,40475,40496],{"__ignoreMap":4404},[4408,40381,40382,40384,40386,40388,40390,40392,40394,40397,40399,40401,40403],{"class":4410,"line":4411},[4408,40383,5029],{"class":4974},[4408,40385,4978],{"class":4426},[4408,40387,39093],{"class":4981},[4408,40389,3550],{"class":4426},[4408,40391,39087],{"class":4981},[4408,40393,3550],{"class":4426},[4408,40395,40396],{"class":4981},"colorsForScheme",[4408,40398,4984],{"class":4426},[4408,40400,4987],{"class":4974},[4408,40402,39603],{"class":4438},[4408,40404,4993],{"class":4426},[4408,40406,40407,40409,40411,40413,40415,40417,40419,40421,40423,40425],{"class":4410,"line":4595},[4408,40408,5029],{"class":4974},[4408,40410,25498],{"class":4974},[4408,40412,4978],{"class":4426},[4408,40414,39068],{"class":4981},[4408,40416,3550],{"class":4426},[4408,40418,39063],{"class":4981},[4408,40420,4984],{"class":4426},[4408,40422,4987],{"class":4974},[4408,40424,39603],{"class":4438},[4408,40426,4993],{"class":4426},[4408,40428,40429,40431,40433,40436,40438,40440,40442,40444,40446,40448,40450,40452,40454],{"class":4410,"line":4601},[4408,40430,5029],{"class":4974},[4408,40432,4978],{"class":4426},[4408,40434,40435],{"class":4981},"tokens",[4408,40437,3550],{"class":4426},[4408,40439,39623],{"class":4981},[4408,40441,3550],{"class":4426},[4408,40443,29713],{"class":4981},[4408,40445,3550],{"class":4426},[4408,40447,39614],{"class":4981},[4408,40449,4984],{"class":4426},[4408,40451,4987],{"class":4974},[4408,40453,39630],{"class":4438},[4408,40455,4993],{"class":4426},[4408,40457,40458,40460,40462,40464,40467,40469,40471,40473],{"class":4410,"line":4607},[4408,40459,5029],{"class":4974},[4408,40461,25498],{"class":4974},[4408,40463,4978],{"class":4426},[4408,40465,40466],{"class":4981},"Tokens",[4408,40468,4984],{"class":4426},[4408,40470,4987],{"class":4974},[4408,40472,39630],{"class":4438},[4408,40474,4993],{"class":4426},[4408,40476,40477,40479,40481,40483,40485,40487,40489,40491,40494],{"class":4410,"line":4614},[4408,40478,5029],{"class":4974},[4408,40480,4978],{"class":4426},[4408,40482,20478],{"class":4981},[4408,40484,3550],{"class":4426},[4408,40486,21532],{"class":4981},[4408,40488,4984],{"class":4426},[4408,40490,4987],{"class":4974},[4408,40492,40493],{"class":4438}," '.\u002FThemeProvider'",[4408,40495,4993],{"class":4426},[4408,40497,40498,40500,40502,40504,40506,40508,40510,40512],{"class":4410,"line":4620},[4408,40499,5029],{"class":4974},[4408,40501,25498],{"class":4974},[4408,40503,4978],{"class":4426},[4408,40505,22011],{"class":4981},[4408,40507,4984],{"class":4426},[4408,40509,4987],{"class":4974},[4408,40511,40493],{"class":4438},[4408,40513,4993],{"class":4426},[4399,40515,40518],{"className":4401,"code":40516,"filename":40517,"language":4403,"meta":4404,"style":4404},"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",[3540,40519,40520,40536,40566,40570,40586,40590,40619,40623,40637,40647,40659,40664,40675,40689,40693,40697,40708,40714,40724,40730,40736,40744,40753,40771,40781,40789,40818,40822,40828,40835,40845,40855,40885,40898,40911,40920,40930,40934,40947,40959,40967,40975,40979,40992,41004,41012,41016,41027,41033,41039,41050,41054,41062,41070,41074,41078,41082,41098,41105],{"__ignoreMap":4404},[4408,40521,40522,40524,40526,40528,40530,40532,40534],{"class":4410,"line":4411},[4408,40523,4975],{"class":4974},[4408,40525,4978],{"class":4426},[4408,40527,27375],{"class":4981},[4408,40529,4984],{"class":4426},[4408,40531,4987],{"class":4974},[4408,40533,4990],{"class":4438},[4408,40535,4993],{"class":4426},[4408,40537,40538,40540,40542,40544,40546,40548,40550,40553,40555,40558,40560,40562,40564],{"class":4410,"line":4595},[4408,40539,4975],{"class":4974},[4408,40541,4978],{"class":4426},[4408,40543,6778],{"class":4981},[4408,40545,3550],{"class":4426},[4408,40547,5011],{"class":4981},[4408,40549,3550],{"class":4426},[4408,40551,40552],{"class":4981},"TextProps",[4408,40554,3550],{"class":4426},[4408,40556,40557],{"class":4981},"TextStyle",[4408,40559,4984],{"class":4426},[4408,40561,4987],{"class":4974},[4408,40563,5018],{"class":4438},[4408,40565,4993],{"class":4426},[4408,40567,40568],{"class":4410,"line":4601},[4408,40569,4611],{"emptyLinePlaceholder":4610},[4408,40571,40572,40574,40576,40578,40580,40582,40584],{"class":4410,"line":4607},[4408,40573,4975],{"class":4974},[4408,40575,4978],{"class":4426},[4408,40577,21532],{"class":4981},[4408,40579,4984],{"class":4426},[4408,40581,4987],{"class":4974},[4408,40583,21539],{"class":4438},[4408,40585,4993],{"class":4426},[4408,40587,40588],{"class":4410,"line":4614},[4408,40589,4611],{"emptyLinePlaceholder":4610},[4408,40591,40592,40594,40597,40599,40602,40604,40607,40609,40612,40614,40617],{"class":4410,"line":4620},[4408,40593,4065],{"class":4422},[4408,40595,40596],{"class":5088}," AppTextVariant",[4408,40598,5804],{"class":4426},[4408,40600,40601],{"class":4438},"'body'",[4408,40603,19391],{"class":4426},[4408,40605,40606],{"class":4438},"'title'",[4408,40608,19391],{"class":4426},[4408,40610,40611],{"class":4438},"'subtitle'",[4408,40613,19391],{"class":4426},[4408,40615,40616],{"class":4438},"'caption'",[4408,40618,4993],{"class":4426},[4408,40620,40621],{"class":4410,"line":4626},[4408,40622,4611],{"emptyLinePlaceholder":4610},[4408,40624,40625,40627,40630,40632,40634],{"class":4410,"line":4632},[4408,40626,4065],{"class":4422},[4408,40628,40629],{"class":5088}," AppTextProps",[4408,40631,5804],{"class":4426},[4408,40633,40552],{"class":5088},[4408,40635,40636],{"class":4426}," & {\n",[4408,40638,40639,40641,40643,40645],{"class":4410,"line":4638},[4408,40640,27370],{"class":4981},[4408,40642,4145],{"class":4426},[4408,40644,27375],{"class":5088},[4408,40646,4993],{"class":4426},[4408,40648,40649,40652,40654,40657],{"class":4410,"line":4644},[4408,40650,40651],{"class":4981},"  variant",[4408,40653,13101],{"class":4426},[4408,40655,40656],{"class":5088},"AppTextVariant",[4408,40658,4993],{"class":4426},[4408,40660,40661],{"class":4410,"line":4649},[4408,40662,40663],{"class":11572},"  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n",[4408,40665,40666,40669,40671,40673],{"class":4410,"line":4655},[4408,40667,40668],{"class":4981},"  color",[4408,40670,13101],{"class":4426},[4408,40672,5263],{"class":5088},[4408,40674,4993],{"class":4426},[4408,40676,40677,40679,40681,40683,40685,40687],{"class":4410,"line":4661},[4408,40678,7073],{"class":4981},[4408,40680,13101],{"class":4426},[4408,40682,40557],{"class":5088},[4408,40684,19391],{"class":4426},[4408,40686,40557],{"class":5088},[4408,40688,27273],{"class":4426},[4408,40690,40691],{"class":4410,"line":4667},[4408,40692,11683],{"class":4426},[4408,40694,40695],{"class":4410,"line":4672},[4408,40696,4611],{"emptyLinePlaceholder":4610},[4408,40698,40699,40701,40703,40706],{"class":4410,"line":4677},[4408,40700,5029],{"class":4974},[4408,40702,5032],{"class":4422},[4408,40704,40705],{"class":4430}," AppText",[4408,40707,6786],{"class":4426},[4408,40709,40710,40712],{"class":4410,"line":4683},[4408,40711,27370],{"class":4981},[4408,40713,5737],{"class":4426},[4408,40715,40716,40718,40720,40722],{"class":4410,"line":4689},[4408,40717,40651],{"class":4981},[4408,40719,5804],{"class":4426},[4408,40721,40601],{"class":4438},[4408,40723,5737],{"class":4426},[4408,40725,40726,40728],{"class":4410,"line":4695},[4408,40727,40668],{"class":4981},[4408,40729,5737],{"class":4426},[4408,40731,40732,40734],{"class":4410,"line":4700},[4408,40733,7073],{"class":4981},[4408,40735,5737],{"class":4426},[4408,40737,40738,40741],{"class":4410,"line":4706},[4408,40739,40740],{"class":4426},"  ...",[4408,40742,40743],{"class":4981},"rest\n",[4408,40745,40746,40748,40751],{"class":4410,"line":4712},[4408,40747,29691],{"class":4426},[4408,40749,40750],{"class":5088},"AppTextProps",[4408,40752,11649],{"class":4426},[4408,40754,40755,40757,40759,40761,40763,40765,40767,40769],{"class":4410,"line":4717},[4408,40756,5043],{"class":4422},[4408,40758,4978],{"class":4426},[4408,40760,21563],{"class":5049},[4408,40762,3550],{"class":4426},[4408,40764,39614],{"class":5049},[4408,40766,21571],{"class":4426},[4408,40768,21532],{"class":4430},[4408,40770,21576],{"class":4426},[4408,40772,40773,40775,40778],{"class":4410,"line":4722},[4408,40774,5043],{"class":4422},[4408,40776,40777],{"class":5049}," resolvedColor",[4408,40779,40780],{"class":4426}," =\n",[4408,40782,40783,40786],{"class":4410,"line":6058},[4408,40784,40785],{"class":4981},"    color",[4408,40787,40788],{"class":4426}," ??\n",[4408,40790,40791,40794,40796,40798,40800,40802,40804,40806,40808,40810,40812,40814,40816],{"class":4410,"line":6088},[4408,40792,40793],{"class":4426},"    (",[4408,40795,7274],{"class":4981},[4408,40797,13599],{"class":4426},[4408,40799,40616],{"class":4438},[4408,40801,5830],{"class":4426},[4408,40803,21563],{"class":4981},[4408,40805,3646],{"class":4426},[4408,40807,23123],{"class":4981},[4408,40809,5836],{"class":4426},[4408,40811,21563],{"class":4981},[4408,40813,3646],{"class":4426},[4408,40815,11271],{"class":4981},[4408,40817,5068],{"class":4426},[4408,40819,40820],{"class":4410,"line":6099},[4408,40821,4611],{"emptyLinePlaceholder":4610},[4408,40823,40824,40826],{"class":4410,"line":6105},[4408,40825,5077],{"class":4974},[4408,40827,5080],{"class":4426},[4408,40829,40830,40832],{"class":4410,"line":6157},[4408,40831,5085],{"class":4414},[4408,40833,40834],{"class":5088},"Text\n",[4408,40836,40837,40839,40841,40843],{"class":4410,"line":6189},[4408,40838,6029],{"class":5123},[4408,40840,5127],{"class":4426},[4408,40842,5130],{"class":4422},[4408,40844,6678],{"class":4434},[4408,40846,40847,40849,40851,40853],{"class":4410,"line":6195},[4408,40848,22978],{"class":4981},[4408,40850,3646],{"class":4434},[4408,40852,29569],{"class":4981},[4408,40854,5737],{"class":4434},[4408,40856,40857,40859,40861,40864,40866,40868,40870,40872,40874,40876,40878,40881,40883],{"class":4410,"line":6205},[4408,40858,23102],{"class":4981},[4408,40860,13985],{"class":4426},[4408,40862,40863],{"class":4438}," 'body'",[4408,40865,7112],{"class":4426},[4408,40867,4978],{"class":4434},[4408,40869,6136],{"class":4981},[4408,40871,39260],{"class":4981},[4408,40873,3646],{"class":4434},[4408,40875,22597],{"class":4981},[4408,40877,3550],{"class":4434},[4408,40879,40880],{"class":4981},"lineHeight:",[4408,40882,19273],{"class":6042},[4408,40884,6727],{"class":4434},[4408,40886,40887,40889,40891,40894,40896],{"class":4410,"line":6210},[4408,40888,23102],{"class":4981},[4408,40890,13985],{"class":4426},[4408,40892,40893],{"class":4438}," 'title'",[4408,40895,7112],{"class":4426},[4408,40897,5729],{"class":4434},[4408,40899,40900,40903,40905,40907,40909],{"class":4410,"line":6256},[4408,40901,40902],{"class":4981},"          fontSize:",[4408,40904,39260],{"class":4981},[4408,40906,3646],{"class":4434},[4408,40908,23015],{"class":4981},[4408,40910,5737],{"class":4434},[4408,40912,40913,40916,40918],{"class":4410,"line":6263},[4408,40914,40915],{"class":4981},"          fontWeight:",[4408,40917,6806],{"class":4438},[4408,40919,5737],{"class":4434},[4408,40921,40922,40925,40928],{"class":4410,"line":6276},[4408,40923,40924],{"class":4981},"          lineHeight:",[4408,40926,40927],{"class":6042}," 34",[4408,40929,5737],{"class":4434},[4408,40931,40932],{"class":4410,"line":6289},[4408,40933,23035],{"class":4434},[4408,40935,40936,40938,40940,40943,40945],{"class":4410,"line":6299},[4408,40937,23102],{"class":4981},[4408,40939,13985],{"class":4426},[4408,40941,40942],{"class":4438}," 'subtitle'",[4408,40944,7112],{"class":4426},[4408,40946,5729],{"class":4434},[4408,40948,40949,40951,40953,40955,40957],{"class":4410,"line":6314},[4408,40950,40902],{"class":4981},[4408,40952,39260],{"class":4981},[4408,40954,3646],{"class":4434},[4408,40956,34739],{"class":4981},[4408,40958,5737],{"class":4434},[4408,40960,40961,40963,40965],{"class":4410,"line":6325},[4408,40962,40915],{"class":4981},[4408,40964,20260],{"class":4438},[4408,40966,5737],{"class":4434},[4408,40968,40969,40971,40973],{"class":4410,"line":6335},[4408,40970,40924],{"class":4981},[4408,40972,39293],{"class":6042},[4408,40974,5737],{"class":4434},[4408,40976,40977],{"class":4410,"line":6346},[4408,40978,23035],{"class":4434},[4408,40980,40981,40983,40985,40988,40990],{"class":4410,"line":6387},[4408,40982,23102],{"class":4981},[4408,40984,13985],{"class":4426},[4408,40986,40987],{"class":4438}," 'caption'",[4408,40989,7112],{"class":4426},[4408,40991,5729],{"class":4434},[4408,40993,40994,40996,40998,41000,41002],{"class":4410,"line":6392},[4408,40995,40902],{"class":4981},[4408,40997,39260],{"class":4981},[4408,40999,3646],{"class":4434},[4408,41001,22656],{"class":4981},[4408,41003,5737],{"class":4434},[4408,41005,41006,41008,41010],{"class":4410,"line":6397},[4408,41007,40924],{"class":4981},[4408,41009,7630],{"class":6042},[4408,41011,5737],{"class":4434},[4408,41013,41014],{"class":4410,"line":6439},[4408,41015,23035],{"class":4434},[4408,41017,41018,41021,41023,41025],{"class":4410,"line":6446},[4408,41019,41020],{"class":4434},"        { ",[4408,41022,6121],{"class":4981},[4408,41024,40777],{"class":4981},[4408,41026,6727],{"class":4434},[4408,41028,41029,41031],{"class":4410,"line":6459},[4408,41030,6349],{"class":4981},[4408,41032,5737],{"class":4434},[4408,41034,41035,41037],{"class":4410,"line":6472},[4408,41036,23040],{"class":4434},[4408,41038,4641],{"class":4422},[4408,41040,41041,41043,41045,41048],{"class":4410,"line":6482},[4408,41042,12648],{"class":4422},[4408,41044,4427],{"class":4426},[4408,41046,41047],{"class":4981},"rest",[4408,41049,4641],{"class":4422},[4408,41051,41052],{"class":4410,"line":6495},[4408,41053,6102],{"class":4414},[4408,41055,41056,41058,41060],{"class":4410,"line":6505},[4408,41057,12648],{"class":4422},[4408,41059,16224],{"class":4981},[4408,41061,4641],{"class":4422},[4408,41063,41064,41066,41068],{"class":4410,"line":6544},[4408,41065,5177],{"class":4414},[4408,41067,5011],{"class":5088},[4408,41069,5091],{"class":4414},[4408,41071,41072],{"class":4410,"line":6549},[4408,41073,5186],{"class":4426},[4408,41075,41076],{"class":4410,"line":6554},[4408,41077,4641],{"class":4426},[4408,41079,41080],{"class":4410,"line":6596},[4408,41081,4611],{"emptyLinePlaceholder":4610},[4408,41083,41084,41086,41088,41090,41092,41094,41096],{"class":4410,"line":6603},[4408,41085,6770],{"class":4422},[4408,41087,6773],{"class":5049},[4408,41089,5804],{"class":4426},[4408,41091,6778],{"class":4981},[4408,41093,3646],{"class":4426},[4408,41095,6783],{"class":4430},[4408,41097,6786],{"class":4426},[4408,41099,41100,41103],{"class":4410,"line":6616},[4408,41101,41102],{"class":4981},"  base:",[4408,41104,37781],{"class":4426},[4408,41106,41107],{"class":4410,"line":6629},[4408,41108,6913],{"class":4426},[4399,41110,41113],{"className":4401,"code":41111,"filename":41112,"language":4403,"meta":4404,"style":4404},"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",[3540,41114,41115,41144,41148,41164,41168,41187,41191,41200,41210,41222,41232,41242,41253,41257,41261,41272,41278,41284,41294,41300,41310,41319,41345,41362,41366,41372,41378,41386,41399,41411,41429,41439,41443,41459,41471,41483,41507,41524,41536,41540,41551,41559,41577,41589,41598,41617,41623,41629,41633,41639,41649,41659,41663,41687,41700,41704,41710,41714,41722,41730,41738,41742,41746,41750,41766,41772,41780,41784,41791,41800,41804,41810,41818,41822],{"__ignoreMap":4404},[4408,41116,41117,41119,41121,41123,41125,41127,41129,41131,41133,41136,41138,41140,41142],{"class":4410,"line":4411},[4408,41118,4975],{"class":4974},[4408,41120,4978],{"class":4426},[4408,41122,3654],{"class":4981},[4408,41124,3550],{"class":4426},[4408,41126,6778],{"class":4981},[4408,41128,3550],{"class":4426},[4408,41130,5011],{"class":4981},[4408,41132,3550],{"class":4426},[4408,41134,41135],{"class":4981},"ViewStyle",[4408,41137,4984],{"class":4426},[4408,41139,4987],{"class":4974},[4408,41141,5018],{"class":4438},[4408,41143,4993],{"class":4426},[4408,41145,41146],{"class":4410,"line":4595},[4408,41147,4611],{"emptyLinePlaceholder":4610},[4408,41149,41150,41152,41154,41156,41158,41160,41162],{"class":4410,"line":4601},[4408,41151,4975],{"class":4974},[4408,41153,4978],{"class":4426},[4408,41155,21532],{"class":4981},[4408,41157,4984],{"class":4426},[4408,41159,4987],{"class":4974},[4408,41161,21539],{"class":4438},[4408,41163,4993],{"class":4426},[4408,41165,41166],{"class":4410,"line":4607},[4408,41167,4611],{"emptyLinePlaceholder":4610},[4408,41169,41170,41172,41175,41177,41180,41182,41185],{"class":4410,"line":4614},[4408,41171,4065],{"class":4422},[4408,41173,41174],{"class":5088}," ButtonVariant",[4408,41176,5804],{"class":4426},[4408,41178,41179],{"class":4438},"'primary'",[4408,41181,19391],{"class":4426},[4408,41183,41184],{"class":4438},"'secondary'",[4408,41186,4993],{"class":4426},[4408,41188,41189],{"class":4410,"line":4620},[4408,41190,4611],{"emptyLinePlaceholder":4610},[4408,41192,41193,41195,41198],{"class":4410,"line":4626},[4408,41194,4065],{"class":4422},[4408,41196,41197],{"class":5088}," ButtonProps",[4408,41199,25709],{"class":4426},[4408,41201,41202,41204,41206,41208],{"class":4410,"line":4632},[4408,41203,33507],{"class":4981},[4408,41205,4145],{"class":4426},[4408,41207,5263],{"class":5088},[4408,41209,4993],{"class":4426},[4408,41211,41212,41214,41216,41218,41220],{"class":4410,"line":4638},[4408,41213,7039],{"class":4430},[4408,41215,18891],{"class":4426},[4408,41217,7089],{"class":4422},[4408,41219,16401],{"class":5088},[4408,41221,4993],{"class":4426},[4408,41223,41224,41226,41228,41230],{"class":4410,"line":4644},[4408,41225,7059],{"class":4981},[4408,41227,13101],{"class":4426},[4408,41229,5405],{"class":5088},[4408,41231,4993],{"class":4426},[4408,41233,41234,41236,41238,41240],{"class":4410,"line":4649},[4408,41235,7073],{"class":4981},[4408,41237,13101],{"class":4426},[4408,41239,41135],{"class":5088},[4408,41241,4993],{"class":4426},[4408,41243,41244,41246,41248,41251],{"class":4410,"line":4655},[4408,41245,40651],{"class":4981},[4408,41247,13101],{"class":4426},[4408,41249,41250],{"class":5088},"ButtonVariant",[4408,41252,4993],{"class":4426},[4408,41254,41255],{"class":4410,"line":4661},[4408,41256,11683],{"class":4426},[4408,41258,41259],{"class":4410,"line":4667},[4408,41260,4611],{"emptyLinePlaceholder":4610},[4408,41262,41263,41265,41267,41270],{"class":4410,"line":4672},[4408,41264,5029],{"class":4974},[4408,41266,5032],{"class":4422},[4408,41268,41269],{"class":4430}," Button",[4408,41271,6786],{"class":4426},[4408,41273,41274,41276],{"class":4410,"line":4677},[4408,41275,33507],{"class":4981},[4408,41277,5737],{"class":4426},[4408,41279,41280,41282],{"class":4410,"line":4683},[4408,41281,7039],{"class":4981},[4408,41283,5737],{"class":4426},[4408,41285,41286,41288,41290,41292],{"class":4410,"line":4689},[4408,41287,7059],{"class":4981},[4408,41289,5804],{"class":4426},[4408,41291,5411],{"class":4422},[4408,41293,5737],{"class":4426},[4408,41295,41296,41298],{"class":4410,"line":4695},[4408,41297,7073],{"class":4981},[4408,41299,5737],{"class":4426},[4408,41301,41302,41304,41306,41308],{"class":4410,"line":4700},[4408,41303,40651],{"class":4981},[4408,41305,5804],{"class":4426},[4408,41307,41179],{"class":4438},[4408,41309,5737],{"class":4426},[4408,41311,41312,41314,41317],{"class":4410,"line":4706},[4408,41313,29691],{"class":4426},[4408,41315,41316],{"class":5088},"ButtonProps",[4408,41318,11649],{"class":4426},[4408,41320,41321,41323,41325,41327,41329,41331,41333,41335,41337,41339,41341,41343],{"class":4410,"line":4712},[4408,41322,5043],{"class":4422},[4408,41324,4978],{"class":4426},[4408,41326,21563],{"class":5049},[4408,41328,3550],{"class":4426},[4408,41330,22142],{"class":5049},[4408,41332,3550],{"class":4426},[4408,41334,29713],{"class":5049},[4408,41336,3550],{"class":4426},[4408,41338,39614],{"class":5049},[4408,41340,21571],{"class":4426},[4408,41342,21532],{"class":4430},[4408,41344,21576],{"class":4426},[4408,41346,41347,41349,41352,41354,41356,41358,41360],{"class":4410,"line":4717},[4408,41348,5043],{"class":4422},[4408,41350,41351],{"class":5049}," isPrimary",[4408,41353,5804],{"class":4426},[4408,41355,7274],{"class":4981},[4408,41357,13599],{"class":4426},[4408,41359,41179],{"class":4438},[4408,41361,4993],{"class":4426},[4408,41363,41364],{"class":4410,"line":4722},[4408,41365,4611],{"emptyLinePlaceholder":4610},[4408,41367,41368,41370],{"class":4410,"line":6058},[4408,41369,5077],{"class":4974},[4408,41371,5080],{"class":4426},[4408,41373,41374,41376],{"class":4410,"line":6088},[4408,41375,5085],{"class":4414},[4408,41377,7034],{"class":5088},[4408,41379,41380,41382,41384],{"class":4410,"line":6099},[4408,41381,36604],{"class":5123},[4408,41383,5127],{"class":4426},[4408,41385,23790],{"class":4438},[4408,41387,41388,41391,41393,41395,41397],{"class":4410,"line":6105},[4408,41389,41390],{"class":5123},"      disabled",[4408,41392,5127],{"class":4426},[4408,41394,5130],{"class":4422},[4408,41396,7005],{"class":4981},[4408,41398,4641],{"class":4422},[4408,41400,41401,41403,41405,41407,41409],{"class":4410,"line":6157},[4408,41402,36639],{"class":5123},[4408,41404,5127],{"class":4426},[4408,41406,5130],{"class":4422},[4408,41408,4179],{"class":4981},[4408,41410,4641],{"class":4422},[4408,41412,41413,41415,41417,41419,41421,41423,41425,41427],{"class":4410,"line":6189},[4408,41414,6029],{"class":5123},[4408,41416,5127],{"class":4426},[4408,41418,5130],{"class":4422},[4408,41420,7080],{"class":4434},[4408,41422,7083],{"class":4981},[4408,41424,7086],{"class":4434},[4408,41426,7089],{"class":4422},[4408,41428,7092],{"class":4434},[4408,41430,41431,41433,41435,41437],{"class":4410,"line":6195},[4408,41432,22978],{"class":4981},[4408,41434,3646],{"class":4434},[4408,41436,29569],{"class":4981},[4408,41438,5737],{"class":4434},[4408,41440,41441],{"class":4410,"line":6205},[4408,41442,22990],{"class":4434},[4408,41444,41445,41447,41449,41451,41453,41455,41457],{"class":4410,"line":6210},[4408,41446,23008],{"class":4981},[4408,41448,22592],{"class":4981},[4408,41450,3646],{"class":4434},[4408,41452,22656],{"class":4981},[4408,41454,7731],{"class":4426},[4408,41456,8741],{"class":6042},[4408,41458,5737],{"class":4434},[4408,41460,41461,41463,41465,41467,41469],{"class":4410,"line":6256},[4408,41462,22995],{"class":4981},[4408,41464,22592],{"class":4981},[4408,41466,3646],{"class":4434},[4408,41468,22597],{"class":4981},[4408,41470,5737],{"class":4434},[4408,41472,41473,41475,41477,41479,41481],{"class":4410,"line":6263},[4408,41474,36721],{"class":4981},[4408,41476,30879],{"class":4981},[4408,41478,3646],{"class":4434},[4408,41480,22597],{"class":4981},[4408,41482,5737],{"class":4434},[4408,41484,41485,41487,41489,41491,41493,41495,41497,41499,41501,41503,41505],{"class":4410,"line":6276},[4408,41486,36695],{"class":4981},[4408,41488,41351],{"class":4981},[4408,41490,7189],{"class":4426},[4408,41492,21662],{"class":4981},[4408,41494,3646],{"class":4434},[4408,41496,7277],{"class":4981},[4408,41498,7195],{"class":4426},[4408,41500,21662],{"class":4981},[4408,41502,3646],{"class":4434},[4408,41504,23753],{"class":4981},[4408,41506,5737],{"class":4434},[4408,41508,41509,41512,41514,41516,41518,41520,41522],{"class":4410,"line":6289},[4408,41510,41511],{"class":4981},"          borderWidth:",[4408,41513,41351],{"class":4981},[4408,41515,7189],{"class":4426},[4408,41517,22629],{"class":6042},[4408,41519,7195],{"class":4426},[4408,41521,6043],{"class":6042},[4408,41523,5737],{"class":4434},[4408,41525,41526,41528,41530,41532,41534],{"class":4410,"line":6299},[4408,41527,36708],{"class":4981},[4408,41529,21662],{"class":4981},[4408,41531,3646],{"class":4434},[4408,41533,10064],{"class":4981},[4408,41535,5737],{"class":4434},[4408,41537,41538],{"class":4410,"line":6314},[4408,41539,23035],{"class":4434},[4408,41541,41542,41544,41546,41548],{"class":4410,"line":6325},[4408,41543,36738],{"class":4981},[4408,41545,7112],{"class":4426},[4408,41547,7115],{"class":4426},[4408,41549,41550],{"class":4981},"disabled\n",[4408,41552,41553,41556],{"class":4410,"line":6335},[4408,41554,41555],{"class":4426},"          ?",[4408,41557,41558],{"class":4981}," isPrimary\n",[4408,41560,41561,41563,41565,41567,41569,41571,41574],{"class":4410,"line":6346},[4408,41562,23498],{"class":4426},[4408,41564,4978],{"class":4434},[4408,41566,6048],{"class":4981},[4408,41568,21662],{"class":4981},[4408,41570,3646],{"class":4434},[4408,41572,41573],{"class":4981},"primaryPressed",[4408,41575,41576],{"class":4434}," }\n",[4408,41578,41579,41581,41583,41585,41587],{"class":4410,"line":6387},[4408,41580,23533],{"class":4426},[4408,41582,4978],{"class":4434},[4408,41584,7778],{"class":4981},[4408,41586,7786],{"class":6042},[4408,41588,41576],{"class":4434},[4408,41590,41591,41594,41596],{"class":4410,"line":6392},[4408,41592,41593],{"class":4426},"          :",[4408,41595,16319],{"class":4422},[4408,41597,5737],{"class":4434},[4408,41599,41600,41603,41605,41607,41609,41611,41613,41615],{"class":4410,"line":6397},[4408,41601,41602],{"class":4981},"        disabled",[4408,41604,7189],{"class":4426},[4408,41606,6773],{"class":4981},[4408,41608,3646],{"class":4434},[4408,41610,7005],{"class":4981},[4408,41612,7195],{"class":4426},[4408,41614,16319],{"class":4422},[4408,41616,5737],{"class":4434},[4408,41618,41619,41621],{"class":4410,"line":6439},[4408,41620,6349],{"class":4981},[4408,41622,5737],{"class":4434},[4408,41624,41625,41627],{"class":4410,"line":6446},[4408,41626,23040],{"class":4434},[4408,41628,4641],{"class":4422},[4408,41630,41631],{"class":4410,"line":6459},[4408,41632,6102],{"class":4414},[4408,41634,41635,41637],{"class":4410,"line":6472},[4408,41636,5096],{"class":4414},[4408,41638,40834],{"class":5088},[4408,41640,41641,41643,41645,41647],{"class":4410,"line":6482},[4408,41642,6349],{"class":5123},[4408,41644,5127],{"class":4426},[4408,41646,5130],{"class":4422},[4408,41648,6678],{"class":4434},[4408,41650,41651,41653,41655,41657],{"class":4410,"line":6495},[4408,41652,6684],{"class":4981},[4408,41654,3646],{"class":4434},[4408,41656,5239],{"class":4981},[4408,41658,5737],{"class":4434},[4408,41660,41661],{"class":4410,"line":6505},[4408,41662,23235],{"class":4434},[4408,41664,41665,41667,41669,41671,41673,41675,41677,41679,41681,41683,41685],{"class":4410,"line":6544},[4408,41666,23450],{"class":4981},[4408,41668,41351],{"class":4981},[4408,41670,7189],{"class":4426},[4408,41672,21662],{"class":4981},[4408,41674,3646],{"class":4434},[4408,41676,23878],{"class":4981},[4408,41678,7195],{"class":4426},[4408,41680,21662],{"class":4981},[4408,41682,3646],{"class":4434},[4408,41684,11271],{"class":4981},[4408,41686,5737],{"class":4434},[4408,41688,41689,41692,41694,41696,41698],{"class":4410,"line":6549},[4408,41690,41691],{"class":4981},"            fontSize:",[4408,41693,39260],{"class":4981},[4408,41695,3646],{"class":4434},[4408,41697,22597],{"class":4981},[4408,41699,5737],{"class":4434},[4408,41701,41702],{"class":4410,"line":6554},[4408,41703,23306],{"class":4434},[4408,41705,41706,41708],{"class":4410,"line":6596},[4408,41707,6733],{"class":4434},[4408,41709,4641],{"class":4422},[4408,41711,41712],{"class":4410,"line":6603},[4408,41713,7803],{"class":4414},[4408,41715,41716,41718,41720],{"class":4410,"line":6616},[4408,41717,10441],{"class":4422},[4408,41719,5239],{"class":4981},[4408,41721,4641],{"class":4422},[4408,41723,41724,41726,41728],{"class":4410,"line":6629},[4408,41725,6198],{"class":4414},[4408,41727,5011],{"class":5088},[4408,41729,5091],{"class":4414},[4408,41731,41732,41734,41736],{"class":4410,"line":6639},[4408,41733,5177],{"class":4414},[4408,41735,3654],{"class":5088},[4408,41737,5091],{"class":4414},[4408,41739,41740],{"class":4410,"line":6652},[4408,41741,5186],{"class":4426},[4408,41743,41744],{"class":4410,"line":6658},[4408,41745,4641],{"class":4426},[4408,41747,41748],{"class":4410,"line":6669},[4408,41749,4611],{"emptyLinePlaceholder":4610},[4408,41751,41752,41754,41756,41758,41760,41762,41764],{"class":4410,"line":6681},[4408,41753,6770],{"class":4422},[4408,41755,6773],{"class":5049},[4408,41757,5804],{"class":4426},[4408,41759,6778],{"class":4981},[4408,41761,3646],{"class":4426},[4408,41763,6783],{"class":4430},[4408,41765,6786],{"class":4426},[4408,41767,41768,41770],{"class":4410,"line":6693},[4408,41769,41102],{"class":4981},[4408,41771,5729],{"class":4426},[4408,41773,41774,41776,41778],{"class":4410,"line":6705},[4408,41775,8954],{"class":4981},[4408,41777,7904],{"class":4438},[4408,41779,5737],{"class":4426},[4408,41781,41782],{"class":4410,"line":6730},[4408,41783,6891],{"class":4426},[4408,41785,41786,41789],{"class":4410,"line":6738},[4408,41787,41788],{"class":4981},"  disabled:",[4408,41790,5729],{"class":4426},[4408,41792,41793,41795,41798],{"class":4410,"line":6743},[4408,41794,37801],{"class":4981},[4408,41796,41797],{"class":6042}," 0.5",[4408,41799,5737],{"class":4426},[4408,41801,41802],{"class":4410,"line":6752},[4408,41803,6891],{"class":4426},[4408,41805,41806,41808],{"class":4410,"line":6757},[4408,41807,6792],{"class":4981},[4408,41809,5729],{"class":4426},[4408,41811,41812,41814,41816],{"class":4410,"line":6762},[4408,41813,19737],{"class":4981},[4408,41815,20260],{"class":4438},[4408,41817,5737],{"class":4426},[4408,41819,41820],{"class":4410,"line":6767},[4408,41821,6891],{"class":4426},[4408,41823,41824],{"class":4410,"line":6789},[4408,41825,6913],{"class":4426},[4399,41827,41830],{"className":4401,"code":41828,"filename":41829,"language":4403,"meta":4404,"style":4404},"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",[3540,41831,41832,41848,41868,41884,41888,41908,41912,41921,41931,41941,41945,41949,41974,41988,41992,41998,42005,42041,42045,42053,42061,42065,42069,42073,42089,42096,42104,42116,42120],{"__ignoreMap":4404},[4408,41833,41834,41836,41838,41840,41842,41844,41846],{"class":4410,"line":4411},[4408,41835,4975],{"class":4974},[4408,41837,4978],{"class":4426},[4408,41839,27375],{"class":4981},[4408,41841,4984],{"class":4426},[4408,41843,4987],{"class":4974},[4408,41845,4990],{"class":4438},[4408,41847,4993],{"class":4426},[4408,41849,41850,41852,41854,41856,41858,41860,41862,41864,41866],{"class":4410,"line":4595},[4408,41851,4975],{"class":4974},[4408,41853,4978],{"class":4426},[4408,41855,6778],{"class":4981},[4408,41857,3550],{"class":4426},[4408,41859,41135],{"class":4981},[4408,41861,4984],{"class":4426},[4408,41863,4987],{"class":4974},[4408,41865,5018],{"class":4438},[4408,41867,4993],{"class":4426},[4408,41869,41870,41872,41874,41876,41878,41880,41882],{"class":4410,"line":4601},[4408,41871,4975],{"class":4974},[4408,41873,4978],{"class":4426},[4408,41875,15648],{"class":4981},[4408,41877,4984],{"class":4426},[4408,41879,4987],{"class":4974},[4408,41881,15655],{"class":4438},[4408,41883,4993],{"class":4426},[4408,41885,41886],{"class":4410,"line":4607},[4408,41887,4611],{"emptyLinePlaceholder":4610},[4408,41889,41890,41892,41894,41896,41898,41900,41902,41904,41906],{"class":4410,"line":4614},[4408,41891,4975],{"class":4974},[4408,41893,4978],{"class":4426},[4408,41895,39623],{"class":4981},[4408,41897,3550],{"class":4426},[4408,41899,21532],{"class":4981},[4408,41901,4984],{"class":4426},[4408,41903,4987],{"class":4974},[4408,41905,21539],{"class":4438},[4408,41907,4993],{"class":4426},[4408,41909,41910],{"class":4410,"line":4620},[4408,41911,4611],{"emptyLinePlaceholder":4610},[4408,41913,41914,41916,41919],{"class":4410,"line":4626},[4408,41915,4065],{"class":4422},[4408,41917,41918],{"class":5088}," ScreenProps",[4408,41920,25709],{"class":4426},[4408,41922,41923,41925,41927,41929],{"class":4410,"line":4632},[4408,41924,27370],{"class":4981},[4408,41926,4145],{"class":4426},[4408,41928,27375],{"class":5088},[4408,41930,4993],{"class":4426},[4408,41932,41933,41935,41937,41939],{"class":4410,"line":4638},[4408,41934,7073],{"class":4981},[4408,41936,13101],{"class":4426},[4408,41938,41135],{"class":5088},[4408,41940,4993],{"class":4426},[4408,41942,41943],{"class":4410,"line":4644},[4408,41944,11683],{"class":4426},[4408,41946,41947],{"class":4410,"line":4649},[4408,41948,4611],{"emptyLinePlaceholder":4610},[4408,41950,41951,41953,41955,41958,41960,41962,41964,41967,41969,41972],{"class":4410,"line":4655},[4408,41952,5029],{"class":4974},[4408,41954,5032],{"class":4422},[4408,41956,41957],{"class":4430}," Screen",[4408,41959,7080],{"class":4426},[4408,41961,16224],{"class":4981},[4408,41963,3550],{"class":4426},[4408,41965,41966],{"class":4981},"style",[4408,41968,27401],{"class":4426},[4408,41970,41971],{"class":5088},"ScreenProps",[4408,41973,11649],{"class":4426},[4408,41975,41976,41978,41980,41982,41984,41986],{"class":4410,"line":4661},[4408,41977,5043],{"class":4422},[4408,41979,4978],{"class":4426},[4408,41981,21563],{"class":5049},[4408,41983,21571],{"class":4426},[4408,41985,21532],{"class":4430},[4408,41987,21576],{"class":4426},[4408,41989,41990],{"class":4410,"line":4667},[4408,41991,4611],{"emptyLinePlaceholder":4610},[4408,41993,41994,41996],{"class":4410,"line":4672},[4408,41995,5077],{"class":4974},[4408,41997,5080],{"class":4426},[4408,41999,42000,42002],{"class":4410,"line":4677},[4408,42001,5085],{"class":4414},[4408,42003,42004],{"class":5088},"SafeAreaView\n",[4408,42006,42007,42009,42011,42013,42015,42017,42019,42022,42024,42026,42028,42030,42032,42035,42037,42039],{"class":4410,"line":4683},[4408,42008,6029],{"class":5123},[4408,42010,5127],{"class":4426},[4408,42012,5130],{"class":4422},[4408,42014,6223],{"class":4434},[4408,42016,6226],{"class":4981},[4408,42018,3646],{"class":4434},[4408,42020,42021],{"class":4981},"root",[4408,42023,6233],{"class":4434},[4408,42025,6048],{"class":4981},[4408,42027,21662],{"class":4981},[4408,42029,3646],{"class":4434},[4408,42031,21667],{"class":4981},[4408,42033,42034],{"class":4434}," }, ",[4408,42036,41966],{"class":4981},[4408,42038,16927],{"class":4434},[4408,42040,4641],{"class":4422},[4408,42042,42043],{"class":4410,"line":4689},[4408,42044,6102],{"class":4414},[4408,42046,42047,42049,42051],{"class":4410,"line":4695},[4408,42048,12648],{"class":4422},[4408,42050,16224],{"class":4981},[4408,42052,4641],{"class":4422},[4408,42054,42055,42057,42059],{"class":4410,"line":4700},[4408,42056,5177],{"class":4414},[4408,42058,15648],{"class":5088},[4408,42060,5091],{"class":4414},[4408,42062,42063],{"class":4410,"line":4706},[4408,42064,5186],{"class":4426},[4408,42066,42067],{"class":4410,"line":4712},[4408,42068,4641],{"class":4426},[4408,42070,42071],{"class":4410,"line":4717},[4408,42072,4611],{"emptyLinePlaceholder":4610},[4408,42074,42075,42077,42079,42081,42083,42085,42087],{"class":4410,"line":4722},[4408,42076,6770],{"class":4422},[4408,42078,6773],{"class":5049},[4408,42080,5804],{"class":4426},[4408,42082,6778],{"class":4981},[4408,42084,3646],{"class":4426},[4408,42086,6783],{"class":4430},[4408,42088,6786],{"class":4426},[4408,42090,42091,42094],{"class":4410,"line":6058},[4408,42092,42093],{"class":4981},"  root:",[4408,42095,5729],{"class":4426},[4408,42097,42098,42100,42102],{"class":4410,"line":6088},[4408,42099,19678],{"class":4981},[4408,42101,6043],{"class":6042},[4408,42103,5737],{"class":4426},[4408,42105,42106,42108,42110,42112,42114],{"class":4410,"line":6099},[4408,42107,6850],{"class":4981},[4408,42109,39141],{"class":4981},[4408,42111,3646],{"class":4426},[4408,42113,22597],{"class":4981},[4408,42115,5737],{"class":4426},[4408,42117,42118],{"class":4410,"line":6105},[4408,42119,6891],{"class":4426},[4408,42121,42122],{"class":4410,"line":6157},[4408,42123,6913],{"class":4426},[4399,42125,42128],{"className":4401,"code":42126,"filename":42127,"language":4403,"meta":4404,"style":4404},"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",[3540,42129,42130,42146,42152,42158,42164,42171,42177,42184,42194,42198,42214,42231,42235,42249,42259,42269,42274,42285,42296,42301,42312,42316,42320,42324,42329,42334,42338,42349,42355,42361,42367,42373,42379,42385,42392,42401,42427,42443,42447,42453,42494,42522,42530,42538,42544,42554,42564,42568,42592,42604,42616,42620,42626,42630,42636,42652,42662,42672,42677,42690,42703,42720,42733,42738,42744,42750,42761,42765,42774,42782,42792,42820,42828,42836,42849,42877,42885,42893,42901,42909,42913,42917,42921,42937,42943,42951,42955,42961,42969,42973,42979,42987,42995,43003,43011,43015,43021,43029,43037,43041],{"__ignoreMap":4404},[4408,42131,42132,42134,42136,42138,42140,42142,42144],{"class":4410,"line":4411},[4408,42133,4975],{"class":4974},[4408,42135,4978],{"class":4426},[4408,42137,27375],{"class":4981},[4408,42139,4984],{"class":4426},[4408,42141,4987],{"class":4974},[4408,42143,4990],{"class":4438},[4408,42145,4993],{"class":4426},[4408,42147,42148,42150],{"class":4410,"line":4595},[4408,42149,4975],{"class":4974},[4408,42151,5729],{"class":4426},[4408,42153,42154,42156],{"class":4410,"line":4601},[4408,42155,5742],{"class":4981},[4408,42157,5737],{"class":4426},[4408,42159,42160,42162],{"class":4410,"line":4607},[4408,42161,5756],{"class":4981},[4408,42163,5737],{"class":4426},[4408,42165,42166,42169],{"class":4410,"line":4614},[4408,42167,42168],{"class":4981},"  TextInputProps",[4408,42170,5737],{"class":4426},[4408,42172,42173,42175],{"class":4410,"line":4620},[4408,42174,13064],{"class":4981},[4408,42176,5737],{"class":4426},[4408,42178,42179,42182],{"class":4410,"line":4626},[4408,42180,42181],{"class":4981},"  ViewStyle",[4408,42183,5737],{"class":4426},[4408,42185,42186,42188,42190,42192],{"class":4410,"line":4632},[4408,42187,5770],{"class":4426},[4408,42189,4987],{"class":4974},[4408,42191,5018],{"class":4438},[4408,42193,4993],{"class":4426},[4408,42195,42196],{"class":4410,"line":4638},[4408,42197,4611],{"emptyLinePlaceholder":4610},[4408,42199,42200,42202,42204,42206,42208,42210,42212],{"class":4410,"line":4644},[4408,42201,4975],{"class":4974},[4408,42203,4978],{"class":4426},[4408,42205,21532],{"class":4981},[4408,42207,4984],{"class":4426},[4408,42209,4987],{"class":4974},[4408,42211,21539],{"class":4438},[4408,42213,4993],{"class":4426},[4408,42215,42216,42218,42220,42222,42224,42226,42229],{"class":4410,"line":4649},[4408,42217,4975],{"class":4974},[4408,42219,4978],{"class":4426},[4408,42221,20487],{"class":4981},[4408,42223,4984],{"class":4426},[4408,42225,4987],{"class":4974},[4408,42227,42228],{"class":4438}," '.\u002FAppText'",[4408,42230,4993],{"class":4426},[4408,42232,42233],{"class":4410,"line":4655},[4408,42234,4611],{"emptyLinePlaceholder":4610},[4408,42236,42237,42239,42242,42244,42247],{"class":4410,"line":4661},[4408,42238,4065],{"class":4422},[4408,42240,42241],{"class":5088}," TextFieldProps",[4408,42243,5804],{"class":4426},[4408,42245,42246],{"class":5088},"TextInputProps",[4408,42248,40636],{"class":4426},[4408,42250,42251,42253,42255,42257],{"class":4410,"line":4667},[4408,42252,33507],{"class":4981},[4408,42254,4145],{"class":4426},[4408,42256,5263],{"class":5088},[4408,42258,4993],{"class":4426},[4408,42260,42261,42263,42265,42267],{"class":4410,"line":4672},[4408,42262,33563],{"class":4981},[4408,42264,13101],{"class":4426},[4408,42266,5263],{"class":5088},[4408,42268,4993],{"class":4426},[4408,42270,42271],{"class":4410,"line":4677},[4408,42272,42273],{"class":11572},"  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n",[4408,42275,42276,42279,42281,42283],{"class":4410,"line":4683},[4408,42277,42278],{"class":4981},"  hint",[4408,42280,13101],{"class":4426},[4408,42282,5263],{"class":5088},[4408,42284,4993],{"class":4426},[4408,42286,42287,42290,42292,42294],{"class":4410,"line":4689},[4408,42288,42289],{"class":4981},"  containerStyle",[4408,42291,13101],{"class":4426},[4408,42293,41135],{"class":5088},[4408,42295,4993],{"class":4426},[4408,42297,42298],{"class":4410,"line":4695},[4408,42299,42300],{"class":11572},"  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n",[4408,42302,42303,42306,42308,42310],{"class":4410,"line":4700},[4408,42304,42305],{"class":4981},"  rightSlot",[4408,42307,13101],{"class":4426},[4408,42309,27375],{"class":5088},[4408,42311,4993],{"class":4426},[4408,42313,42314],{"class":4410,"line":4706},[4408,42315,11683],{"class":4426},[4408,42317,42318],{"class":4410,"line":4712},[4408,42319,4611],{"emptyLinePlaceholder":4610},[4408,42321,42322],{"class":4410,"line":4717},[4408,42323,24842],{"class":11572},[4408,42325,42326],{"class":4410,"line":4722},[4408,42327,42328],{"class":11572}," * Поле форми: label + TextInput + помилка\u002Fпідказка.\n",[4408,42330,42331],{"class":4410,"line":6058},[4408,42332,42333],{"class":11572}," * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n",[4408,42335,42336],{"class":4410,"line":6088},[4408,42337,24862],{"class":11572},[4408,42339,42340,42342,42344,42347],{"class":4410,"line":6099},[4408,42341,5029],{"class":4974},[4408,42343,5032],{"class":4422},[4408,42345,42346],{"class":4430}," TextField",[4408,42348,6786],{"class":4426},[4408,42350,42351,42353],{"class":4410,"line":6105},[4408,42352,33507],{"class":4981},[4408,42354,5737],{"class":4426},[4408,42356,42357,42359],{"class":4410,"line":6157},[4408,42358,33563],{"class":4981},[4408,42360,5737],{"class":4426},[4408,42362,42363,42365],{"class":4410,"line":6189},[4408,42364,42278],{"class":4981},[4408,42366,5737],{"class":4426},[4408,42368,42369,42371],{"class":4410,"line":6195},[4408,42370,42289],{"class":4981},[4408,42372,5737],{"class":4426},[4408,42374,42375,42377],{"class":4410,"line":6205},[4408,42376,42305],{"class":4981},[4408,42378,5737],{"class":4426},[4408,42380,42381,42383],{"class":4410,"line":6210},[4408,42382,7073],{"class":4981},[4408,42384,5737],{"class":4426},[4408,42386,42387,42389],{"class":4410,"line":6256},[4408,42388,40740],{"class":4426},[4408,42390,42391],{"class":4981},"inputProps\n",[4408,42393,42394,42396,42399],{"class":4410,"line":6263},[4408,42395,29691],{"class":4426},[4408,42397,42398],{"class":5088},"TextFieldProps",[4408,42400,11649],{"class":4426},[4408,42402,42403,42405,42407,42409,42411,42413,42415,42417,42419,42421,42423,42425],{"class":4410,"line":6276},[4408,42404,5043],{"class":4422},[4408,42406,4978],{"class":4426},[4408,42408,21563],{"class":5049},[4408,42410,3550],{"class":4426},[4408,42412,22142],{"class":5049},[4408,42414,3550],{"class":4426},[4408,42416,29713],{"class":5049},[4408,42418,3550],{"class":4426},[4408,42420,39614],{"class":5049},[4408,42422,21571],{"class":4426},[4408,42424,21532],{"class":4430},[4408,42426,21576],{"class":4426},[4408,42428,42429,42431,42433,42435,42437,42439,42441],{"class":4410,"line":6289},[4408,42430,5043],{"class":4422},[4408,42432,33768],{"class":5049},[4408,42434,5804],{"class":4426},[4408,42436,18320],{"class":4430},[4408,42438,4435],{"class":4426},[4408,42440,16342],{"class":4981},[4408,42442,5068],{"class":4426},[4408,42444,42445],{"class":4410,"line":6299},[4408,42446,4611],{"emptyLinePlaceholder":4610},[4408,42448,42449,42451],{"class":4410,"line":6314},[4408,42450,5077],{"class":4974},[4408,42452,5080],{"class":4426},[4408,42454,42455,42457,42459,42461,42463,42465,42467,42469,42471,42473,42475,42477,42479,42481,42483,42485,42488,42490,42492],{"class":4410,"line":6325},[4408,42456,5085],{"class":4414},[4408,42458,5006],{"class":5088},[4408,42460,6112],{"class":5123},[4408,42462,5127],{"class":4426},[4408,42464,5130],{"class":4422},[4408,42466,6223],{"class":4434},[4408,42468,6226],{"class":4981},[4408,42470,3646],{"class":4434},[4408,42472,35812],{"class":4981},[4408,42474,6233],{"class":4434},[4408,42476,6078],{"class":4981},[4408,42478,22592],{"class":4981},[4408,42480,3646],{"class":4434},[4408,42482,23286],{"class":4981},[4408,42484,42034],{"class":4434},[4408,42486,42487],{"class":4981},"containerStyle",[4408,42489,16927],{"class":4434},[4408,42491,4444],{"class":4422},[4408,42493,5091],{"class":4414},[4408,42495,42496,42498,42500,42502,42504,42506,42508,42510,42512,42514,42516,42518,42520],{"class":4410,"line":6335},[4408,42497,5096],{"class":4414},[4408,42499,20487],{"class":5088},[4408,42501,23055],{"class":5123},[4408,42503,5127],{"class":4426},[4408,42505,23352],{"class":4438},[4408,42507,6112],{"class":5123},[4408,42509,5127],{"class":4426},[4408,42511,5130],{"class":4422},[4408,42513,6226],{"class":4981},[4408,42515,3646],{"class":4434},[4408,42517,5239],{"class":4981},[4408,42519,4444],{"class":4422},[4408,42521,5091],{"class":4414},[4408,42523,42524,42526,42528],{"class":4410,"line":6346},[4408,42525,10441],{"class":4422},[4408,42527,5239],{"class":4981},[4408,42529,4641],{"class":4422},[4408,42531,42532,42534,42536],{"class":4410,"line":6387},[4408,42533,6198],{"class":4414},[4408,42535,20487],{"class":5088},[4408,42537,5091],{"class":4414},[4408,42539,42540,42542],{"class":4410,"line":6392},[4408,42541,5096],{"class":4414},[4408,42543,22963],{"class":5088},[4408,42545,42546,42548,42550,42552],{"class":4410,"line":6397},[4408,42547,6349],{"class":5123},[4408,42549,5127],{"class":4426},[4408,42551,5130],{"class":4422},[4408,42553,6678],{"class":4434},[4408,42555,42556,42558,42560,42562],{"class":4410,"line":6439},[4408,42557,6684],{"class":4981},[4408,42559,3646],{"class":4434},[4408,42561,8634],{"class":4981},[4408,42563,5737],{"class":4434},[4408,42565,42566],{"class":4410,"line":6446},[4408,42567,23235],{"class":4434},[4408,42569,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590],{"class":4410,"line":6459},[4408,42571,34250],{"class":4981},[4408,42573,33768],{"class":4981},[4408,42575,7189],{"class":4426},[4408,42577,21662],{"class":4981},[4408,42579,3646],{"class":4434},[4408,42581,11467],{"class":4981},[4408,42583,7195],{"class":4426},[4408,42585,21662],{"class":4981},[4408,42587,3646],{"class":4434},[4408,42589,10064],{"class":4981},[4408,42591,5737],{"class":4434},[4408,42593,42594,42596,42598,42600,42602],{"class":4410,"line":6472},[4408,42595,24366],{"class":4981},[4408,42597,21662],{"class":4981},[4408,42599,3646],{"class":4434},[4408,42601,23753],{"class":4981},[4408,42603,5737],{"class":4434},[4408,42605,42606,42608,42610,42612,42614],{"class":4410,"line":6482},[4408,42607,34287],{"class":4981},[4408,42609,30879],{"class":4981},[4408,42611,3646],{"class":4434},[4408,42613,22597],{"class":4981},[4408,42615,5737],{"class":4434},[4408,42617,42618],{"class":4410,"line":6495},[4408,42619,23306],{"class":4434},[4408,42621,42622,42624],{"class":4410,"line":6505},[4408,42623,6733],{"class":4434},[4408,42625,4641],{"class":4422},[4408,42627,42628],{"class":4410,"line":6544},[4408,42629,7803],{"class":4414},[4408,42631,42632,42634],{"class":4410,"line":6549},[4408,42633,7808],{"class":4414},[4408,42635,5118],{"class":5088},[4408,42637,42638,42640,42642,42644,42646,42648,42650],{"class":4410,"line":6554},[4408,42639,14222],{"class":5123},[4408,42641,5127],{"class":4426},[4408,42643,5130],{"class":4422},[4408,42645,21563],{"class":4981},[4408,42647,3646],{"class":4434},[4408,42649,23123],{"class":4981},[4408,42651,4641],{"class":4422},[4408,42653,42654,42656,42658,42660],{"class":4410,"line":6596},[4408,42655,13835],{"class":5123},[4408,42657,5127],{"class":4426},[4408,42659,5130],{"class":4422},[4408,42661,6678],{"class":4434},[4408,42663,42664,42666,42668,42670],{"class":4410,"line":6603},[4408,42665,14245],{"class":4981},[4408,42667,3646],{"class":4434},[4408,42669,4419],{"class":4981},[4408,42671,5737],{"class":4434},[4408,42673,42674],{"class":4410,"line":6616},[4408,42675,42676],{"class":4434},"            {\n",[4408,42678,42679,42682,42684,42686,42688],{"class":4410,"line":6629},[4408,42680,42681],{"class":4981},"              color:",[4408,42683,21662],{"class":4981},[4408,42685,3646],{"class":4434},[4408,42687,11271],{"class":4981},[4408,42689,5737],{"class":4434},[4408,42691,42692,42695,42697,42699,42701],{"class":4410,"line":6639},[4408,42693,42694],{"class":4981},"              fontSize:",[4408,42696,39260],{"class":4981},[4408,42698,3646],{"class":4434},[4408,42700,22597],{"class":4981},[4408,42702,5737],{"class":4434},[4408,42704,42705,42708,42710,42712,42714,42716,42718],{"class":4410,"line":6652},[4408,42706,42707],{"class":4981},"              paddingVertical:",[4408,42709,22592],{"class":4981},[4408,42711,3646],{"class":4434},[4408,42713,22656],{"class":4981},[4408,42715,7731],{"class":4426},[4408,42717,8741],{"class":6042},[4408,42719,5737],{"class":4434},[4408,42721,42722,42725,42727,42729,42731],{"class":4410,"line":6658},[4408,42723,42724],{"class":4981},"              paddingHorizontal:",[4408,42726,22592],{"class":4981},[4408,42728,3646],{"class":4434},[4408,42730,22597],{"class":4981},[4408,42732,5737],{"class":4434},[4408,42734,42735],{"class":4410,"line":6669},[4408,42736,42737],{"class":4434},"            },\n",[4408,42739,42740,42742],{"class":4410,"line":6681},[4408,42741,34678],{"class":4981},[4408,42743,5737],{"class":4434},[4408,42745,42746,42748],{"class":4410,"line":6693},[4408,42747,14292],{"class":4434},[4408,42749,4641],{"class":4422},[4408,42751,42752,42754,42756,42759],{"class":4410,"line":6705},[4408,42753,23482],{"class":4422},[4408,42755,4427],{"class":4426},[4408,42757,42758],{"class":4981},"inputProps",[4408,42760,4641],{"class":4422},[4408,42762,42763],{"class":4410,"line":6730},[4408,42764,8865],{"class":4414},[4408,42766,42767,42769,42772],{"class":4410,"line":6738},[4408,42768,10441],{"class":4422},[4408,42770,42771],{"class":4981},"rightSlot",[4408,42773,4641],{"class":4422},[4408,42775,42776,42778,42780],{"class":4410,"line":6743},[4408,42777,6198],{"class":4414},[4408,42779,5006],{"class":5088},[4408,42781,5091],{"class":4414},[4408,42783,42784,42786,42788,42790],{"class":4410,"line":6752},[4408,42785,12648],{"class":4422},[4408,42787,34373],{"class":4981},[4408,42789,7189],{"class":4426},[4408,42791,5080],{"class":4434},[4408,42793,42794,42796,42798,42800,42802,42804,42806,42808,42810,42812,42814,42816,42818],{"class":4410,"line":6757},[4408,42795,7808],{"class":4414},[4408,42797,20487],{"class":5088},[4408,42799,23055],{"class":5123},[4408,42801,5127],{"class":4426},[4408,42803,23352],{"class":4438},[4408,42805,25119],{"class":5123},[4408,42807,5127],{"class":4426},[4408,42809,5130],{"class":4422},[4408,42811,21563],{"class":4981},[4408,42813,3646],{"class":4434},[4408,42815,11467],{"class":4981},[4408,42817,4444],{"class":4422},[4408,42819,5091],{"class":4414},[4408,42821,42822,42824,42826],{"class":4410,"line":6762},[4408,42823,23482],{"class":4422},[4408,42825,16342],{"class":4981},[4408,42827,4641],{"class":4422},[4408,42829,42830,42832,42834],{"class":4410,"line":6767},[4408,42831,8786],{"class":4414},[4408,42833,20487],{"class":5088},[4408,42835,5091],{"class":4414},[4408,42837,42838,42840,42842,42845,42847],{"class":4410,"line":6789},[4408,42839,19241],{"class":4434},[4408,42841,9473],{"class":4426},[4408,42843,42844],{"class":4981}," hint",[4408,42846,7189],{"class":4426},[4408,42848,5080],{"class":4434},[4408,42850,42851,42853,42855,42857,42859,42861,42863,42865,42867,42869,42871,42873,42875],{"class":4410,"line":6819},[4408,42852,7808],{"class":4414},[4408,42854,20487],{"class":5088},[4408,42856,23055],{"class":5123},[4408,42858,5127],{"class":4426},[4408,42860,23352],{"class":4438},[4408,42862,25119],{"class":5123},[4408,42864,5127],{"class":4426},[4408,42866,5130],{"class":4422},[4408,42868,21563],{"class":4981},[4408,42870,3646],{"class":4434},[4408,42872,23123],{"class":4981},[4408,42874,4444],{"class":4422},[4408,42876,5091],{"class":4414},[4408,42878,42879,42881,42883],{"class":4410,"line":6827},[4408,42880,23482],{"class":4422},[4408,42882,11489],{"class":4981},[4408,42884,4641],{"class":4422},[4408,42886,42887,42889,42891],{"class":4410,"line":6837},[4408,42888,8786],{"class":4414},[4408,42890,20487],{"class":5088},[4408,42892,5091],{"class":4414},[4408,42894,42895,42897,42899],{"class":4410,"line":6847},[4408,42896,19241],{"class":4434},[4408,42898,9473],{"class":4426},[4408,42900,14354],{"class":4422},[4408,42902,42903,42905,42907],{"class":4410,"line":6857},[4408,42904,5177],{"class":4414},[4408,42906,5006],{"class":5088},[4408,42908,5091],{"class":4414},[4408,42910,42911],{"class":4410,"line":6867},[4408,42912,5186],{"class":4426},[4408,42914,42915],{"class":4410,"line":6877},[4408,42916,4641],{"class":4426},[4408,42918,42919],{"class":4410,"line":6888},[4408,42920,4611],{"emptyLinePlaceholder":4610},[4408,42922,42923,42925,42927,42929,42931,42933,42935],{"class":4410,"line":6894},[4408,42924,6770],{"class":4422},[4408,42926,6773],{"class":5049},[4408,42928,5804],{"class":4426},[4408,42930,6778],{"class":4981},[4408,42932,3646],{"class":4426},[4408,42934,6783],{"class":4430},[4408,42936,6786],{"class":4426},[4408,42938,42939,42941],{"class":4410,"line":6910},[4408,42940,36200],{"class":4981},[4408,42942,5729],{"class":4426},[4408,42944,42945,42947,42949],{"class":4410,"line":14357},[4408,42946,36207],{"class":4981},[4408,42948,36210],{"class":4438},[4408,42950,5737],{"class":4426},[4408,42952,42953],{"class":4410,"line":14362},[4408,42954,6891],{"class":4426},[4408,42956,42957,42959],{"class":4410,"line":14403},[4408,42958,6792],{"class":4981},[4408,42960,5729],{"class":4426},[4408,42962,42963,42965,42967],{"class":4410,"line":14410},[4408,42964,19737],{"class":4981},[4408,42966,20260],{"class":4438},[4408,42968,5737],{"class":4426},[4408,42970,42971],{"class":4410,"line":14423},[4408,42972,6891],{"class":4426},[4408,42974,42975,42977],{"class":4410,"line":14436},[4408,42976,8938],{"class":4981},[4408,42978,5729],{"class":4426},[4408,42980,42981,42983,42985],{"class":4410,"line":14446},[4408,42982,8945],{"class":4981},[4408,42984,8125],{"class":4438},[4408,42986,5737],{"class":4426},[4408,42988,42989,42991,42993],{"class":4410,"line":14456},[4408,42990,8954],{"class":4981},[4408,42992,7904],{"class":4438},[4408,42994,5737],{"class":4426},[4408,42996,42997,42999,43001],{"class":4410,"line":14465},[4408,42998,6830],{"class":4981},[4408,43000,6043],{"class":6042},[4408,43002,5737],{"class":4426},[4408,43004,43005,43007,43009],{"class":4410,"line":14478},[4408,43006,20054],{"class":4981},[4408,43008,20057],{"class":4438},[4408,43010,5737],{"class":4426},[4408,43012,43013],{"class":4410,"line":14489},[4408,43014,6891],{"class":4426},[4408,43016,43017,43019],{"class":4410,"line":14500},[4408,43018,6822],{"class":4981},[4408,43020,5729],{"class":4426},[4408,43022,43023,43025,43027],{"class":4410,"line":14535},[4408,43024,19678],{"class":4981},[4408,43026,6043],{"class":6042},[4408,43028,5737],{"class":4426},[4408,43030,43031,43033,43035],{"class":4410,"line":14542},[4408,43032,6880],{"class":4981},[4408,43034,6883],{"class":6042},[4408,43036,5737],{"class":4426},[4408,43038,43039],{"class":4410,"line":14547},[4408,43040,6891],{"class":4426},[4408,43042,43043],{"class":4410,"line":14602},[4408,43044,6913],{"class":4426},[4399,43046,43049],{"className":9476,"code":43047,"filename":43048,"language":9478,"meta":4404,"style":4404},"export { AppText } from '.\u002FAppText';\nexport { Button } from '.\u002FButton';\nexport { Screen } from '.\u002FScreen';\nexport { TextField } from '.\u002FTextField';\n","src\u002Fshared\u002Fui\u002Findex.ts",[3540,43050,43051,43067,43084,43101],{"__ignoreMap":4404},[4408,43052,43053,43055,43057,43059,43061,43063,43065],{"class":4410,"line":4411},[4408,43054,5029],{"class":4974},[4408,43056,4978],{"class":4426},[4408,43058,20487],{"class":4981},[4408,43060,4984],{"class":4426},[4408,43062,4987],{"class":4974},[4408,43064,42228],{"class":4438},[4408,43066,4993],{"class":4426},[4408,43068,43069,43071,43073,43075,43077,43079,43082],{"class":4410,"line":4595},[4408,43070,5029],{"class":4974},[4408,43072,4978],{"class":4426},[4408,43074,3660],{"class":4981},[4408,43076,4984],{"class":4426},[4408,43078,4987],{"class":4974},[4408,43080,43081],{"class":4438}," '.\u002FButton'",[4408,43083,4993],{"class":4426},[4408,43085,43086,43088,43090,43092,43094,43096,43099],{"class":4410,"line":4601},[4408,43087,5029],{"class":4974},[4408,43089,4978],{"class":4426},[4408,43091,20484],{"class":4981},[4408,43093,4984],{"class":4426},[4408,43095,4987],{"class":4974},[4408,43097,43098],{"class":4438}," '.\u002FScreen'",[4408,43100,4993],{"class":4426},[4408,43102,43103,43105,43107,43109,43111,43113,43116],{"class":4410,"line":4607},[4408,43104,5029],{"class":4974},[4408,43106,4978],{"class":4426},[4408,43108,5248],{"class":4981},[4408,43110,4984],{"class":4426},[4408,43112,4987],{"class":4974},[4408,43114,43115],{"class":4438}," '.\u002FTextField'",[4408,43117,4993],{"class":4426},[3997,43119,43121],{"id":43120},"перевірка","Перевірка",[3572,43123,43124,43127,43130,43133,43136,43139],{},[3575,43125,43126],{},"Чіпи теми на home працюють.",[3575,43128,43129],{},"Списки поїздок і місць — як раніше.",[3575,43131,43132],{},"«Нова поїздка» → форма з TextInput, Picker, датами, Slider, Switch, Checkbox.",[3575,43134,43135],{},"Порожній submit \u002F без згоди → помилки під полями.",[3575,43137,43138],{},"Успіх → картка зверху; мітки приватності \u002F плану.",[3575,43140,43141],{},"Pull-to-refresh скидає до mock (локальні зникають — до offline-модуля).",[3997,43143,43145],{"id":43144},"коміт","Коміт",[4399,43147,43149],{"className":9054,"code":43148,"language":9056,"meta":4404,"style":4404},"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",[3540,43150,43151,43157,43168,43190,43195,43199,43204,43209,43214],{"__ignoreMap":4404},[4408,43152,43153,43155],{"class":4410,"line":4411},[4408,43154,15432],{"class":4430},[4408,43156,20648],{"class":4438},[4408,43158,43159,43162,43165],{"class":4410,"line":4595},[4408,43160,43161],{"class":4430},"git",[4408,43163,43164],{"class":4438}," add",[4408,43166,43167],{"class":4422}," -A\n",[4408,43169,43170,43172,43175,43178,43181,43184,43187],{"class":4410,"line":4601},[4408,43171,43161],{"class":4430},[4408,43173,43174],{"class":4438}," commit",[4408,43176,43177],{"class":4422}," -m",[4408,43179,43180],{"class":4438}," \"$(",[4408,43182,43183],{"class":4430},"cat",[4408,43185,43186],{"class":4426}," \u003C\u003C",[4408,43188,43189],{"class":4438},"'EOF'\n",[4408,43191,43192],{"class":4410,"line":4607},[4408,43193,43194],{"class":4438},"feat: create trip form with validation\n",[4408,43196,43197],{"class":4410,"line":4614},[4408,43198,4611],{"emptyLinePlaceholder":4610},[4408,43200,43201],{"class":4410,"line":4620},[4408,43202,43203],{"class":4438},"Material: content\u002F15.react-native\u002F10.forms-input-validation.md\n",[4408,43205,43206],{"class":4410,"line":4626},[4408,43207,43208],{"class":4438},"EOF\n",[4408,43210,43211],{"class":4410,"line":4632},[4408,43212,43213],{"class":4438},")\"\n",[4408,43215,43216,43218],{"class":4410,"line":4638},[4408,43217,43161],{"class":4430},[4408,43219,43220],{"class":4438}," push\n",[3512,43222,43223,43224,3646],{},"У публічному репо коміт з’явиться після push; локально — ",[3540,43225,43226],{},"git pull",[3997,43228,43230],{"id":43229},"результат-превю-ux","Результат (прев’ю UX)",[3512,43232,43233,43234,43236],{},"Host прев’ю ",[3516,43235,5644],{}," community-пакетів і RHF — імітація екранів. Повний стек — у репо й Expo Go.",[5696,43238,43242],{"device":5698,"filename":43239,"height":43240,"title":43241},"NomadCreateTrip.tsx",720,"Nomad · create trip UX",[4399,43243,43245],{"className":4401,"code":43244,"language":4403,"meta":4404,"style":4404},"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",[3540,43246,43247,43263,43269,43275,43282,43288,43294,43300,43306,43312,43318,43324,43334,43338,43346,43356,43366,43376,43386,43396,43406,43410,43414,43423,43455,43487,43491,43499,43528,43557,43561,43565,43578,43582,43590,43598,43606,43614,43624,43628,43632,43636,43648,43665,43701,43732,43755,43759,43792,43815,43837,43859,43881,43917,43921,43934,43948,43983,44005,44015,44041,44055,44060,44083,44097,44106,44116,44139,44146,44150,44159,44164,44175,44186,44197,44208,44212,44216,44230,44236,44273,44310,44339,44382,44390,44442,44450,44480,44529,44535,44548,44561,44571,44589,44599,44609,44613,44625,44653,44666,44670,44676,44680,44738,44742,44764,44807,44813,44825,44837,44870,44874,44882,44886,44908,44951,44957,44969,44981,45013,45017,45025,45083,45087,45134,45177,45185,45193,45201,45205,45209,45213,45219,45255,45291,45335,45375,45390,45398,45406,45412,45430,45443,45469,45487,45506,45552,45595,45619,45675,45715,45739,45760,45768,45776,45784,45790,45794,45840,45896,45938,45946,45954,45962,45966,45970,45974,45990,46002,46022,46041,46073,46099,46118,46143,46179,46203],{"__ignoreMap":4404},[4408,43248,43249,43251,43253,43255,43257,43259,43261],{"class":4410,"line":4411},[4408,43250,4975],{"class":4974},[4408,43252,4978],{"class":4426},[4408,43254,4390],{"class":4981},[4408,43256,4984],{"class":4426},[4408,43258,4987],{"class":4974},[4408,43260,4990],{"class":4438},[4408,43262,4993],{"class":4426},[4408,43264,43265,43267],{"class":4410,"line":4595},[4408,43266,4975],{"class":4974},[4408,43268,5729],{"class":4426},[4408,43270,43271,43273],{"class":4410,"line":4601},[4408,43272,21803],{"class":4981},[4408,43274,5737],{"class":4426},[4408,43276,43277,43280],{"class":4410,"line":4607},[4408,43278,43279],{"class":4981},"  Image",[4408,43281,5737],{"class":4426},[4408,43283,43284,43286],{"class":4410,"line":4614},[4408,43285,13026],{"class":4981},[4408,43287,5737],{"class":4426},[4408,43289,43290,43292],{"class":4410,"line":4620},[4408,43291,5742],{"class":4981},[4408,43293,5737],{"class":4426},[4408,43295,43296,43298],{"class":4410,"line":4626},[4408,43297,13057],{"class":4981},[4408,43299,5737],{"class":4426},[4408,43301,43302,43304],{"class":4410,"line":4632},[4408,43303,5749],{"class":4981},[4408,43305,5737],{"class":4426},[4408,43307,43308,43310],{"class":4410,"line":4638},[4408,43309,5756],{"class":4981},[4408,43311,5737],{"class":4426},[4408,43313,43314,43316],{"class":4410,"line":4644},[4408,43315,13064],{"class":4981},[4408,43317,5737],{"class":4426},[4408,43319,43320,43322],{"class":4410,"line":4649},[4408,43321,5763],{"class":4981},[4408,43323,5737],{"class":4426},[4408,43325,43326,43328,43330,43332],{"class":4410,"line":4655},[4408,43327,5770],{"class":4426},[4408,43329,4987],{"class":4974},[4408,43331,5018],{"class":4438},[4408,43333,4993],{"class":4426},[4408,43335,43336],{"class":4410,"line":4661},[4408,43337,4611],{"emptyLinePlaceholder":4610},[4408,43339,43340,43342,43344],{"class":4410,"line":4667},[4408,43341,4065],{"class":4422},[4408,43343,21930],{"class":5088},[4408,43345,25709],{"class":4426},[4408,43347,43348,43350,43352,43354],{"class":4410,"line":4672},[4408,43349,25714],{"class":4981},[4408,43351,4145],{"class":4426},[4408,43353,5263],{"class":5088},[4408,43355,4993],{"class":4426},[4408,43357,43358,43360,43362,43364],{"class":4410,"line":4677},[4408,43359,25725],{"class":4981},[4408,43361,4145],{"class":4426},[4408,43363,5263],{"class":5088},[4408,43365,4993],{"class":4426},[4408,43367,43368,43370,43372,43374],{"class":4410,"line":4683},[4408,43369,25736],{"class":4981},[4408,43371,4145],{"class":4426},[4408,43373,5263],{"class":5088},[4408,43375,4993],{"class":4426},[4408,43377,43378,43380,43382,43384],{"class":4410,"line":4689},[4408,43379,25774],{"class":4981},[4408,43381,4145],{"class":4426},[4408,43383,5263],{"class":5088},[4408,43385,4993],{"class":4426},[4408,43387,43388,43390,43392,43394],{"class":4410,"line":4695},[4408,43389,25758],{"class":4981},[4408,43391,4145],{"class":4426},[4408,43393,5263],{"class":5088},[4408,43395,4993],{"class":4426},[4408,43397,43398,43400,43402,43404],{"class":4410,"line":4700},[4408,43399,25790],{"class":4981},[4408,43401,13101],{"class":4426},[4408,43403,5405],{"class":5088},[4408,43405,4993],{"class":4426},[4408,43407,43408],{"class":4410,"line":4706},[4408,43409,11683],{"class":4426},[4408,43411,43412],{"class":4410,"line":4712},[4408,43413,4611],{"emptyLinePlaceholder":4610},[4408,43415,43416,43418,43421],{"class":4410,"line":4717},[4408,43417,6770],{"class":4422},[4408,43419,43420],{"class":5049}," light",[4408,43422,25709],{"class":4426},[4408,43424,43425,43428,43430,43432,43435,43437,43439,43442,43445,43447,43450,43453],{"class":4410,"line":4722},[4408,43426,43427],{"class":4981},"  bg:",[4408,43429,19621],{"class":4438},[4408,43431,3550],{"class":4426},[4408,43433,43434],{"class":4981},"surface:",[4408,43436,7946],{"class":4438},[4408,43438,3550],{"class":4426},[4408,43440,43441],{"class":4981},"text:",[4408,43443,43444],{"class":4438}," '#0f172a'",[4408,43446,3550],{"class":4426},[4408,43448,43449],{"class":4981},"muted:",[4408,43451,43452],{"class":4438}," '#64748b'",[4408,43454,5737],{"class":4426},[4408,43456,43457,43459,43462,43464,43467,43470,43472,43475,43477,43479,43482,43485],{"class":4410,"line":6058},[4408,43458,38817],{"class":4981},[4408,43460,43461],{"class":4438}," '#2563eb'",[4408,43463,3550],{"class":4426},[4408,43465,43466],{"class":4981},"border:",[4408,43468,43469],{"class":4438}," '#e2e8f0'",[4408,43471,3550],{"class":4426},[4408,43473,43474],{"class":4981},"onPrimary:",[4408,43476,7946],{"class":4438},[4408,43478,3550],{"class":4426},[4408,43480,43481],{"class":4981},"danger:",[4408,43483,43484],{"class":4438}," '#dc2626'",[4408,43486,5737],{"class":4426},[4408,43488,43489],{"class":4410,"line":6088},[4408,43490,11683],{"class":4426},[4408,43492,43493,43495,43497],{"class":4410,"line":6099},[4408,43494,6770],{"class":4422},[4408,43496,5801],{"class":5049},[4408,43498,25709],{"class":4426},[4408,43500,43501,43503,43505,43507,43509,43512,43514,43516,43519,43521,43523,43526],{"class":4410,"line":6105},[4408,43502,43427],{"class":4981},[4408,43504,37709],{"class":4438},[4408,43506,3550],{"class":4426},[4408,43508,43434],{"class":4981},[4408,43510,43511],{"class":4438}," '#1c1c1e'",[4408,43513,3550],{"class":4426},[4408,43515,43441],{"class":4981},[4408,43517,43518],{"class":4438}," '#f5f5f7'",[4408,43520,3550],{"class":4426},[4408,43522,43449],{"class":4981},[4408,43524,43525],{"class":4438}," '#a1a1aa'",[4408,43527,5737],{"class":4426},[4408,43529,43530,43532,43535,43537,43539,43542,43544,43546,43548,43550,43552,43555],{"class":4410,"line":6157},[4408,43531,38817],{"class":4981},[4408,43533,43534],{"class":4438}," '#3b82f6'",[4408,43536,3550],{"class":4426},[4408,43538,43466],{"class":4981},[4408,43540,43541],{"class":4438}," '#3a3a3c'",[4408,43543,3550],{"class":4426},[4408,43545,43474],{"class":4981},[4408,43547,7946],{"class":4438},[4408,43549,3550],{"class":4426},[4408,43551,43481],{"class":4981},[4408,43553,43554],{"class":4438}," '#f87171'",[4408,43556,5737],{"class":4426},[4408,43558,43559],{"class":4410,"line":6189},[4408,43560,11683],{"class":4426},[4408,43562,43563],{"class":4410,"line":6195},[4408,43564,4611],{"emptyLinePlaceholder":4610},[4408,43566,43567,43569,43572,43574,43576],{"class":4410,"line":6205},[4408,43568,6770],{"class":4422},[4408,43570,43571],{"class":5049}," SEED",[4408,43573,4145],{"class":4426},[4408,43575,11014],{"class":5088},[4408,43577,27787],{"class":4426},[4408,43579,43580],{"class":4410,"line":6210},[4408,43581,27792],{"class":4426},[4408,43583,43584,43586,43588],{"class":4410,"line":6256},[4408,43585,27797],{"class":4981},[4408,43587,27800],{"class":4438},[4408,43589,5737],{"class":4426},[4408,43591,43592,43594,43596],{"class":4410,"line":6263},[4408,43593,26129],{"class":4981},[4408,43595,27809],{"class":4438},[4408,43597,5737],{"class":4426},[4408,43599,43600,43602,43604],{"class":4410,"line":6276},[4408,43601,27816],{"class":4981},[4408,43603,27819],{"class":4438},[4408,43605,5737],{"class":4426},[4408,43607,43608,43610,43612],{"class":4410,"line":6289},[4408,43609,26188],{"class":4981},[4408,43611,27849],{"class":4438},[4408,43613,5737],{"class":4426},[4408,43615,43616,43619,43622],{"class":4410,"line":6299},[4408,43617,43618],{"class":4981},"    coverUri:",[4408,43620,43621],{"class":4438}," 'https:\u002F\u002Fpicsum.photos\u002Fseed\u002Fnomad1\u002F800\u002F400'",[4408,43623,5737],{"class":4426},[4408,43625,43626],{"class":4410,"line":6314},[4408,43627,6891],{"class":4426},[4408,43629,43630],{"class":4410,"line":6325},[4408,43631,15841],{"class":4426},[4408,43633,43634],{"class":4410,"line":6335},[4408,43635,4611],{"emptyLinePlaceholder":4610},[4408,43637,43638,43640,43642,43644,43646],{"class":4410,"line":6346},[4408,43639,5029],{"class":4974},[4408,43641,5787],{"class":4974},[4408,43643,5032],{"class":4422},[4408,43645,5792],{"class":4430},[4408,43647,5038],{"class":4426},[4408,43649,43650,43652,43655,43657,43659,43661,43663],{"class":4410,"line":6387},[4408,43651,5043],{"class":4422},[4408,43653,43654],{"class":5049}," systemDark",[4408,43656,5804],{"class":4426},[4408,43658,5807],{"class":4430},[4408,43660,5810],{"class":4426},[4408,43662,5813],{"class":4438},[4408,43664,4993],{"class":4426},[4408,43666,43667,43669,43671,43674,43676,43679,43681,43683,43685,43687,43689,43691,43693,43695,43697,43699],{"class":4410,"line":6392},[4408,43668,5043],{"class":4422},[4408,43670,5046],{"class":4426},[4408,43672,43673],{"class":5049},"pref",[4408,43675,3550],{"class":4426},[4408,43677,43678],{"class":5049},"setPref",[4408,43680,5058],{"class":4426},[4408,43682,4390],{"class":4430},[4408,43684,4415],{"class":4426},[4408,43686,39654],{"class":4438},[4408,43688,19391],{"class":4426},[4408,43690,39035],{"class":4438},[4408,43692,19391],{"class":4426},[4408,43694,5813],{"class":4438},[4408,43696,19396],{"class":4426},[4408,43698,39654],{"class":4438},[4408,43700,5068],{"class":4426},[4408,43702,43703,43705,43708,43710,43712,43714,43716,43719,43721,43723,43725,43727,43730],{"class":4410,"line":6397},[4408,43704,5043],{"class":4422},[4408,43706,43707],{"class":5049}," isDark",[4408,43709,5804],{"class":4426},[4408,43711,43673],{"class":4981},[4408,43713,13599],{"class":4426},[4408,43715,5813],{"class":4438},[4408,43717,43718],{"class":4426}," || (",[4408,43720,43673],{"class":4981},[4408,43722,13599],{"class":4426},[4408,43724,39654],{"class":4438},[4408,43726,26917],{"class":4426},[4408,43728,43729],{"class":4981},"systemDark",[4408,43731,5068],{"class":4426},[4408,43733,43734,43736,43739,43741,43744,43746,43748,43750,43753],{"class":4410,"line":6439},[4408,43735,5043],{"class":4422},[4408,43737,43738],{"class":5049}," c",[4408,43740,5804],{"class":4426},[4408,43742,43743],{"class":4981},"isDark",[4408,43745,5830],{"class":4426},[4408,43747,5827],{"class":4981},[4408,43749,5836],{"class":4426},[4408,43751,43752],{"class":4981},"light",[4408,43754,4993],{"class":4426},[4408,43756,43757],{"class":4410,"line":6446},[4408,43758,4611],{"emptyLinePlaceholder":4610},[4408,43760,43761,43763,43765,43767,43769,43772,43774,43776,43778,43781,43783,43786,43788,43790],{"class":4410,"line":6459},[4408,43762,5043],{"class":4422},[4408,43764,5046],{"class":4426},[4408,43766,7587],{"class":5049},[4408,43768,3550],{"class":4426},[4408,43770,43771],{"class":5049},"setScreen",[4408,43773,5058],{"class":4426},[4408,43775,4390],{"class":4430},[4408,43777,4415],{"class":4426},[4408,43779,43780],{"class":4438},"'home'",[4408,43782,19391],{"class":4426},[4408,43784,43785],{"class":4438},"'form'",[4408,43787,19396],{"class":4426},[4408,43789,43780],{"class":4438},[4408,43791,5068],{"class":4426},[4408,43793,43794,43796,43798,43800,43802,43804,43806,43808,43810,43813],{"class":4410,"line":6472},[4408,43795,5043],{"class":4422},[4408,43797,5046],{"class":4426},[4408,43799,22118],{"class":5049},[4408,43801,3550],{"class":4426},[4408,43803,27419],{"class":5049},[4408,43805,5058],{"class":4426},[4408,43807,4390],{"class":4430},[4408,43809,4435],{"class":4426},[4408,43811,43812],{"class":5049},"SEED",[4408,43814,5068],{"class":4426},[4408,43816,43817,43819,43821,43823,43825,43827,43829,43831,43833,43835],{"class":4410,"line":6482},[4408,43818,5043],{"class":4422},[4408,43820,5046],{"class":4426},[4408,43822,7303],{"class":5049},[4408,43824,3550],{"class":4426},[4408,43826,11535],{"class":5049},[4408,43828,5058],{"class":4426},[4408,43830,4390],{"class":4430},[4408,43832,4435],{"class":4426},[4408,43834,5065],{"class":4438},[4408,43836,5068],{"class":4426},[4408,43838,43839,43841,43843,43845,43847,43849,43851,43853,43855,43857],{"class":4410,"line":6495},[4408,43840,5043],{"class":4422},[4408,43842,5046],{"class":4426},[4408,43844,8080],{"class":5049},[4408,43846,3550],{"class":4426},[4408,43848,8085],{"class":5049},[4408,43850,5058],{"class":4426},[4408,43852,4390],{"class":4430},[4408,43854,4435],{"class":4426},[4408,43856,5411],{"class":4422},[4408,43858,5068],{"class":4426},[4408,43860,43861,43863,43865,43867,43869,43871,43873,43875,43877,43879],{"class":4410,"line":6505},[4408,43862,5043],{"class":4422},[4408,43864,5046],{"class":4426},[4408,43866,9195],{"class":5049},[4408,43868,3550],{"class":4426},[4408,43870,9200],{"class":5049},[4408,43872,5058],{"class":4426},[4408,43874,4390],{"class":4430},[4408,43876,4435],{"class":4426},[4408,43878,5411],{"class":4422},[4408,43880,5068],{"class":4426},[4408,43882,43883,43885,43887,43889,43891,43893,43895,43897,43900,43902,43904,43906,43908,43910,43912,43914],{"class":4410,"line":6544},[4408,43884,5043],{"class":4422},[4408,43886,5046],{"class":4426},[4408,43888,4190],{"class":5049},[4408,43890,3550],{"class":4426},[4408,43892,13383],{"class":5049},[4408,43894,5058],{"class":4426},[4408,43896,4390],{"class":4430},[4408,43898,43899],{"class":4426},"\u003C{ ",[4408,43901,7303],{"class":4981},[4408,43903,13101],{"class":4426},[4408,43905,5263],{"class":5088},[4408,43907,13106],{"class":4426},[4408,43909,9195],{"class":4981},[4408,43911,13101],{"class":4426},[4408,43913,5263],{"class":5088},[4408,43915,43916],{"class":4426}," }>({});\n",[4408,43918,43919],{"class":4410,"line":6549},[4408,43920,4611],{"emptyLinePlaceholder":4610},[4408,43922,43923,43925,43928,43930,43932],{"class":4410,"line":6554},[4408,43924,5043],{"class":4422},[4408,43926,43927],{"class":4430}," submit",[4408,43929,11616],{"class":4426},[4408,43931,7089],{"class":4422},[4408,43933,5729],{"class":4426},[4408,43935,43936,43938,43940,43942,43944,43946],{"class":4410,"line":6596},[4408,43937,13440],{"class":4422},[4408,43939,13443],{"class":5049},[4408,43941,4145],{"class":4426},[4408,43943,10359],{"class":4422},[4408,43945,14267],{"class":4981},[4408,43947,13450],{"class":4426},[4408,43949,43950,43952,43954,43956,43958,43960,43962,43964,43966,43968,43970,43972,43974,43976,43978,43981],{"class":4410,"line":6603},[4408,43951,13455],{"class":4974},[4408,43953,3588],{"class":4426},[4408,43955,7303],{"class":4981},[4408,43957,3646],{"class":4426},[4408,43959,11634],{"class":4430},[4408,43961,11637],{"class":4426},[4408,43963,11640],{"class":4981},[4408,43965,11643],{"class":4426},[4408,43967,11646],{"class":6042},[4408,43969,7723],{"class":4426},[4408,43971,13476],{"class":4981},[4408,43973,3646],{"class":4426},[4408,43975,7303],{"class":4981},[4408,43977,5804],{"class":4426},[4408,43979,43980],{"class":4438},"'Назва — мін. 2 символи'",[4408,43982,4993],{"class":4426},[4408,43984,43985,43987,43989,43991,43993,43995,43997,43999,44001,44003],{"class":4410,"line":6616},[4408,43986,13455],{"class":4974},[4408,43988,13494],{"class":4426},[4408,43990,9195],{"class":4981},[4408,43992,7723],{"class":4426},[4408,43994,13476],{"class":4981},[4408,43996,3646],{"class":4426},[4408,43998,9195],{"class":4981},[4408,44000,5804],{"class":4426},[4408,44002,13560],{"class":4438},[4408,44004,4993],{"class":4426},[4408,44006,44007,44009,44011,44013],{"class":4410,"line":6629},[4408,44008,13567],{"class":4430},[4408,44010,4435],{"class":4426},[4408,44012,13476],{"class":4981},[4408,44014,5068],{"class":4426},[4408,44016,44017,44019,44021,44023,44025,44027,44029,44031,44033,44035,44037,44039],{"class":4410,"line":6639},[4408,44018,13455],{"class":4974},[4408,44020,3588],{"class":4426},[4408,44022,13583],{"class":4981},[4408,44024,3646],{"class":4426},[4408,44026,13588],{"class":4430},[4408,44028,4435],{"class":4426},[4408,44030,13476],{"class":4981},[4408,44032,3693],{"class":4426},[4408,44034,11640],{"class":4981},[4408,44036,7723],{"class":4426},[4408,44038,16316],{"class":4974},[4408,44040,4993],{"class":4426},[4408,44042,44043,44045,44047,44049,44051,44053],{"class":4410,"line":6652},[4408,44044,27473],{"class":4430},[4408,44046,7717],{"class":4426},[4408,44048,27478],{"class":4981},[4408,44050,7723],{"class":4426},[4408,44052,7089],{"class":4422},[4408,44054,7092],{"class":4426},[4408,44056,44057],{"class":4410,"line":6658},[4408,44058,44059],{"class":4426},"      {\n",[4408,44061,44062,44065,44067,44069,44071,44073,44075,44077,44079,44081],{"class":4410,"line":6669},[4408,44063,44064],{"class":4981},"        id:",[4408,44066,30037],{"class":4438},[4408,44068,23504],{"class":4422},[4408,44070,10826],{"class":4981},[4408,44072,3646],{"class":4434},[4408,44074,30046],{"class":4430},[4408,44076,25090],{"class":4434},[4408,44078,4444],{"class":4422},[4408,44080,23835],{"class":4438},[4408,44082,5737],{"class":4426},[4408,44084,44085,44088,44091,44093,44095],{"class":4410,"line":6681},[4408,44086,44087],{"class":4981},"        title:",[4408,44089,44090],{"class":4981}," title",[4408,44092,3646],{"class":4426},[4408,44094,11634],{"class":4430},[4408,44096,16002],{"class":4426},[4408,44098,44099,44102,44104],{"class":4410,"line":6693},[4408,44100,44101],{"class":4981},"        region:",[4408,44103,27849],{"class":4438},[4408,44105,5737],{"class":4426},[4408,44107,44108,44111,44114],{"class":4410,"line":6705},[4408,44109,44110],{"class":4981},"        dateLabel:",[4408,44112,44113],{"class":4438}," 'сьогодні'",[4408,44115,5737],{"class":4426},[4408,44117,44118,44121,44123,44125,44127,44129,44131,44133,44135,44137],{"class":4410,"line":6730},[4408,44119,44120],{"class":4981},"        coverUri:",[4408,44122,30125],{"class":4438},[4408,44124,23504],{"class":4422},[4408,44126,30130],{"class":4430},[4408,44128,4435],{"class":4434},[4408,44130,7303],{"class":4981},[4408,44132,4292],{"class":4434},[4408,44134,4444],{"class":4422},[4408,44136,30145],{"class":4438},[4408,44138,5737],{"class":4426},[4408,44140,44141,44144],{"class":4410,"line":6738},[4408,44142,44143],{"class":4981},"        isPrivate",[4408,44145,5737],{"class":4426},[4408,44147,44148],{"class":4410,"line":6743},[4408,44149,21277],{"class":4426},[4408,44151,44152,44155,44157],{"class":4410,"line":6752},[4408,44153,44154],{"class":4426},"      ...",[4408,44156,27478],{"class":4981},[4408,44158,5737],{"class":4426},[4408,44160,44161],{"class":4410,"line":6757},[4408,44162,44163],{"class":4426},"    ]);\n",[4408,44165,44166,44169,44171,44173],{"class":4410,"line":6762},[4408,44167,44168],{"class":4430},"    setTitle",[4408,44170,4435],{"class":4426},[4408,44172,5065],{"class":4438},[4408,44174,5068],{"class":4426},[4408,44176,44177,44180,44182,44184],{"class":4410,"line":6767},[4408,44178,44179],{"class":4430},"    setIsPrivate",[4408,44181,4435],{"class":4426},[4408,44183,5411],{"class":4422},[4408,44185,5068],{"class":4426},[4408,44187,44188,44191,44193,44195],{"class":4410,"line":6789},[4408,44189,44190],{"class":4430},"    setAccepted",[4408,44192,4435],{"class":4426},[4408,44194,5411],{"class":4422},[4408,44196,5068],{"class":4426},[4408,44198,44199,44202,44204,44206],{"class":4410,"line":6819},[4408,44200,44201],{"class":4430},"    setScreen",[4408,44203,4435],{"class":4426},[4408,44205,43780],{"class":4438},[4408,44207,5068],{"class":4426},[4408,44209,44210],{"class":4410,"line":6827},[4408,44211,13608],{"class":4426},[4408,44213,44214],{"class":4410,"line":6837},[4408,44215,4611],{"emptyLinePlaceholder":4610},[4408,44217,44218,44220,44222,44224,44226,44228],{"class":4410,"line":6847},[4408,44219,11625],{"class":4974},[4408,44221,3588],{"class":4426},[4408,44223,7587],{"class":4981},[4408,44225,13599],{"class":4426},[4408,44227,43785],{"class":4438},[4408,44229,11649],{"class":4426},[4408,44231,44232,44234],{"class":4410,"line":6857},[4408,44233,11666],{"class":4974},[4408,44235,5080],{"class":4426},[4408,44237,44238,44240,44242,44244,44246,44248,44250,44252,44254,44256,44258,44260,44262,44264,44267,44269,44271],{"class":4410,"line":6867},[4408,44239,5096],{"class":4414},[4408,44241,5006],{"class":5088},[4408,44243,6112],{"class":5123},[4408,44245,5127],{"class":4426},[4408,44247,5130],{"class":4422},[4408,44249,6223],{"class":4434},[4408,44251,6226],{"class":4981},[4408,44253,3646],{"class":4434},[4408,44255,7587],{"class":4981},[4408,44257,6233],{"class":4434},[4408,44259,6048],{"class":4981},[4408,44261,43738],{"class":4981},[4408,44263,3646],{"class":4434},[4408,44265,44266],{"class":4981},"bg",[4408,44268,6240],{"class":4434},[4408,44270,4444],{"class":4422},[4408,44272,5091],{"class":4414},[4408,44274,44275,44277,44279,44281,44283,44285,44287,44289,44291,44294,44296,44298,44300,44302,44304,44306,44308],{"class":4410,"line":6877},[4408,44276,7808],{"class":4414},[4408,44278,5006],{"class":5088},[4408,44280,6112],{"class":5123},[4408,44282,5127],{"class":4426},[4408,44284,5130],{"class":4422},[4408,44286,6223],{"class":4434},[4408,44288,6226],{"class":4981},[4408,44290,3646],{"class":4434},[4408,44292,44293],{"class":4981},"top",[4408,44295,6233],{"class":4434},[4408,44297,6372],{"class":4981},[4408,44299,43738],{"class":4981},[4408,44301,3646],{"class":4434},[4408,44303,10064],{"class":4981},[4408,44305,6240],{"class":4434},[4408,44307,4444],{"class":4422},[4408,44309,5091],{"class":4414},[4408,44311,44312,44314,44316,44318,44320,44322,44324,44326,44329,44331,44333,44335,44337],{"class":4410,"line":6888},[4408,44313,8681],{"class":4414},[4408,44315,3654],{"class":5088},[4408,44317,11613],{"class":5123},[4408,44319,5127],{"class":4426},[4408,44321,5130],{"class":4422},[4408,44323,7709],{"class":4434},[4408,44325,7089],{"class":4422},[4408,44327,44328],{"class":4430}," setScreen",[4408,44330,4435],{"class":4434},[4408,44332,43780],{"class":4438},[4408,44334,4292],{"class":4434},[4408,44336,4444],{"class":4422},[4408,44338,5091],{"class":4414},[4408,44340,44341,44343,44345,44347,44349,44351,44353,44355,44357,44359,44361,44363,44365,44367,44369,44371,44373,44376,44378,44380],{"class":4410,"line":6894},[4408,44342,16888],{"class":4414},[4408,44344,5011],{"class":5088},[4408,44346,6112],{"class":5123},[4408,44348,5127],{"class":4426},[4408,44350,5130],{"class":4422},[4408,44352,6036],{"class":4434},[4408,44354,6121],{"class":4981},[4408,44356,43738],{"class":4981},[4408,44358,3646],{"class":4434},[4408,44360,7277],{"class":4981},[4408,44362,3550],{"class":4434},[4408,44364,6128],{"class":4981},[4408,44366,6806],{"class":4438},[4408,44368,6053],{"class":4434},[4408,44370,4444],{"class":4422},[4408,44372,5101],{"class":4414},[4408,44374,44375],{"class":4426},"← Назад",[4408,44377,5107],{"class":4414},[4408,44379,5011],{"class":5088},[4408,44381,5091],{"class":4414},[4408,44383,44384,44386,44388],{"class":4410,"line":6910},[4408,44385,8777],{"class":4414},[4408,44387,3654],{"class":5088},[4408,44389,5091],{"class":4414},[4408,44391,44392,44394,44396,44398,44400,44402,44404,44406,44408,44411,44413,44415,44417,44419,44421,44423,44425,44427,44429,44431,44433,44436,44438,44440],{"class":4410,"line":14357},[4408,44393,8681],{"class":4414},[4408,44395,5011],{"class":5088},[4408,44397,6112],{"class":5123},[4408,44399,5127],{"class":4426},[4408,44401,5130],{"class":4422},[4408,44403,6223],{"class":4434},[4408,44405,6226],{"class":4981},[4408,44407,3646],{"class":4434},[4408,44409,44410],{"class":4981},"brand",[4408,44412,6233],{"class":4434},[4408,44414,6121],{"class":4981},[4408,44416,43738],{"class":4981},[4408,44418,3646],{"class":4434},[4408,44420,11271],{"class":4981},[4408,44422,3550],{"class":4434},[4408,44424,8738],{"class":4981},[4408,44426,13731],{"class":6042},[4408,44428,6240],{"class":4434},[4408,44430,4444],{"class":4422},[4408,44432,5101],{"class":4414},[4408,44434,44435],{"class":4426},"Нова поїздка",[4408,44437,5107],{"class":4414},[4408,44439,5011],{"class":5088},[4408,44441,5091],{"class":4414},[4408,44443,44444,44446,44448],{"class":4410,"line":14362},[4408,44445,8786],{"class":4414},[4408,44447,5006],{"class":5088},[4408,44449,5091],{"class":4414},[4408,44451,44452,44454,44456,44458,44460,44462,44464,44466,44468,44470,44472,44474,44476,44478],{"class":4410,"line":14403},[4408,44453,7808],{"class":4414},[4408,44455,5006],{"class":5088},[4408,44457,6112],{"class":5123},[4408,44459,5127],{"class":4426},[4408,44461,5130],{"class":4422},[4408,44463,6036],{"class":4434},[4408,44465,6070],{"class":4981},[4408,44467,6073],{"class":6042},[4408,44469,3550],{"class":4434},[4408,44471,6078],{"class":4981},[4408,44473,6799],{"class":6042},[4408,44475,6053],{"class":4434},[4408,44477,4444],{"class":4422},[4408,44479,5091],{"class":4414},[4408,44481,44482,44484,44486,44488,44490,44492,44494,44496,44498,44500,44502,44504,44506,44508,44510,44512,44514,44516,44518,44520,44523,44525,44527],{"class":4410,"line":14410},[4408,44483,8681],{"class":4414},[4408,44485,5011],{"class":5088},[4408,44487,6112],{"class":5123},[4408,44489,5127],{"class":4426},[4408,44491,5130],{"class":4422},[4408,44493,6036],{"class":4434},[4408,44495,6121],{"class":4981},[4408,44497,43738],{"class":4981},[4408,44499,3646],{"class":4434},[4408,44501,6309],{"class":4981},[4408,44503,3550],{"class":4434},[4408,44505,6136],{"class":4981},[4408,44507,6799],{"class":6042},[4408,44509,3550],{"class":4434},[4408,44511,6128],{"class":4981},[4408,44513,6806],{"class":4438},[4408,44515,6053],{"class":4434},[4408,44517,4444],{"class":4422},[4408,44519,5101],{"class":4414},[4408,44521,44522],{"class":4426},"НАЗВА (TextInput)",[4408,44524,5107],{"class":4414},[4408,44526,5011],{"class":5088},[4408,44528,5091],{"class":4414},[4408,44530,44531,44533],{"class":4410,"line":14423},[4408,44532,8681],{"class":4414},[4408,44534,5118],{"class":5088},[4408,44536,44537,44540,44542,44544,44546],{"class":4410,"line":14436},[4408,44538,44539],{"class":5123},"            value",[4408,44541,5127],{"class":4426},[4408,44543,5130],{"class":4422},[4408,44545,7303],{"class":4981},[4408,44547,4641],{"class":4422},[4408,44549,44550,44553,44555,44557,44559],{"class":4410,"line":14446},[4408,44551,44552],{"class":5123},"            onChangeText",[4408,44554,5127],{"class":4426},[4408,44556,5130],{"class":4422},[4408,44558,11535],{"class":4981},[4408,44560,4641],{"class":4422},[4408,44562,44563,44566,44568],{"class":4410,"line":14456},[4408,44564,44565],{"class":5123},"            placeholder",[4408,44567,5127],{"class":4426},[4408,44569,44570],{"class":4438},"\"Карпати на вихідні\"\n",[4408,44572,44573,44576,44578,44580,44583,44585,44587],{"class":4410,"line":14465},[4408,44574,44575],{"class":5123},"            placeholderTextColor",[4408,44577,5127],{"class":4426},[4408,44579,5130],{"class":4422},[4408,44581,44582],{"class":4981},"c",[4408,44584,3646],{"class":4434},[4408,44586,6309],{"class":4981},[4408,44588,4641],{"class":4422},[4408,44590,44591,44593,44595,44597],{"class":4410,"line":14478},[4408,44592,34678],{"class":5123},[4408,44594,5127],{"class":4426},[4408,44596,5130],{"class":4422},[4408,44598,6678],{"class":4434},[4408,44600,44601,44603,44605,44607],{"class":4410,"line":14489},[4408,44602,34689],{"class":4981},[4408,44604,3646],{"class":4434},[4408,44606,4419],{"class":4981},[4408,44608,5737],{"class":4434},[4408,44610,44611],{"class":4410,"line":14500},[4408,44612,34701],{"class":4434},[4408,44614,44615,44617,44619,44621,44623],{"class":4410,"line":14535},[4408,44616,34706],{"class":4981},[4408,44618,43738],{"class":4981},[4408,44620,3646],{"class":4434},[4408,44622,23753],{"class":4981},[4408,44624,5737],{"class":4434},[4408,44626,44627,44629,44631,44633,44635,44637,44639,44641,44643,44645,44647,44649,44651],{"class":4410,"line":14542},[4408,44628,34719],{"class":4981},[4408,44630,14267],{"class":4981},[4408,44632,3646],{"class":4434},[4408,44634,7303],{"class":4981},[4408,44636,7189],{"class":4426},[4408,44638,43738],{"class":4981},[4408,44640,3646],{"class":4434},[4408,44642,11467],{"class":4981},[4408,44644,7195],{"class":4426},[4408,44646,43738],{"class":4981},[4408,44648,3646],{"class":4434},[4408,44650,10064],{"class":4981},[4408,44652,5737],{"class":4434},[4408,44654,44655,44658,44660,44662,44664],{"class":4410,"line":14547},[4408,44656,44657],{"class":4981},"                color:",[4408,44659,43738],{"class":4981},[4408,44661,3646],{"class":4434},[4408,44663,11271],{"class":4981},[4408,44665,5737],{"class":4434},[4408,44667,44668],{"class":4410,"line":14602},[4408,44669,34746],{"class":4434},[4408,44671,44672,44674],{"class":4410,"line":14607},[4408,44673,34751],{"class":4434},[4408,44675,4641],{"class":4422},[4408,44677,44678],{"class":4410,"line":14630},[4408,44679,22878],{"class":4414},[4408,44681,44682,44684,44686,44688,44690,44692,44694,44696,44698,44700,44702,44704,44706,44708,44710,44712,44714,44716,44718,44720,44722,44724,44726,44728,44730,44732,44734,44736],{"class":4410,"line":14670},[4408,44683,23482],{"class":4422},[4408,44685,4190],{"class":4981},[4408,44687,3646],{"class":4434},[4408,44689,7303],{"class":4981},[4408,44691,7189],{"class":4426},[4408,44693,14313],{"class":4414},[4408,44695,5011],{"class":5088},[4408,44697,6112],{"class":5123},[4408,44699,5127],{"class":4426},[4408,44701,5130],{"class":4422},[4408,44703,6036],{"class":4434},[4408,44705,6121],{"class":4981},[4408,44707,43738],{"class":4981},[4408,44709,3646],{"class":4434},[4408,44711,11467],{"class":4981},[4408,44713,6053],{"class":4434},[4408,44715,4444],{"class":4422},[4408,44717,5101],{"class":4414},[4408,44719,5130],{"class":4422},[4408,44721,4190],{"class":4981},[4408,44723,3646],{"class":4434},[4408,44725,7303],{"class":4981},[4408,44727,4444],{"class":4422},[4408,44729,5107],{"class":4414},[4408,44731,5011],{"class":5088},[4408,44733,5101],{"class":4414},[4408,44735,7195],{"class":4426},[4408,44737,14354],{"class":4422},[4408,44739,44740],{"class":4410,"line":14722},[4408,44741,4611],{"emptyLinePlaceholder":4610},[4408,44743,44744,44746,44748,44750,44752,44754,44756,44758,44760,44762],{"class":4410,"line":14731},[4408,44745,8681],{"class":4414},[4408,44747,5006],{"class":5088},[4408,44749,6112],{"class":5123},[4408,44751,5127],{"class":4426},[4408,44753,5130],{"class":4422},[4408,44755,6226],{"class":4981},[4408,44757,3646],{"class":4434},[4408,44759,8634],{"class":4981},[4408,44761,4444],{"class":4422},[4408,44763,5091],{"class":4414},[4408,44765,44766,44768,44770,44772,44774,44776,44778,44780,44782,44784,44786,44788,44790,44792,44794,44796,44798,44801,44803,44805],{"class":4410,"line":14786},[4408,44767,16888],{"class":4414},[4408,44769,5011],{"class":5088},[4408,44771,6112],{"class":5123},[4408,44773,5127],{"class":4426},[4408,44775,5130],{"class":4422},[4408,44777,6036],{"class":4434},[4408,44779,6121],{"class":4981},[4408,44781,43738],{"class":4981},[4408,44783,3646],{"class":4434},[4408,44785,11271],{"class":4981},[4408,44787,3550],{"class":4434},[4408,44789,6039],{"class":4981},[4408,44791,6043],{"class":6042},[4408,44793,6053],{"class":4434},[4408,44795,4444],{"class":4422},[4408,44797,5101],{"class":4414},[4408,44799,44800],{"class":4426},"Приватна (Switch)",[4408,44802,5107],{"class":4414},[4408,44804,5011],{"class":5088},[4408,44806,5091],{"class":4414},[4408,44808,44809,44811],{"class":4410,"line":14791},[4408,44810,16888],{"class":4414},[4408,44812,8797],{"class":5088},[4408,44814,44815,44817,44819,44821,44823],{"class":4410,"line":14834},[4408,44816,16934],{"class":5123},[4408,44818,5127],{"class":4426},[4408,44820,5130],{"class":4422},[4408,44822,8080],{"class":4981},[4408,44824,4641],{"class":4422},[4408,44826,44827,44829,44831,44833,44835],{"class":4410,"line":14866},[4408,44828,17739],{"class":5123},[4408,44830,5127],{"class":4426},[4408,44832,5130],{"class":4422},[4408,44834,8085],{"class":4981},[4408,44836,4641],{"class":4422},[4408,44838,44839,44842,44844,44846,44848,44850,44852,44854,44856,44858,44860,44862,44864,44866,44868],{"class":4410,"line":14875},[4408,44840,44841],{"class":5123},"              trackColor",[4408,44843,5127],{"class":4426},[4408,44845,5130],{"class":4422},[4408,44847,6036],{"class":4434},[4408,44849,8844],{"class":4981},[4408,44851,43738],{"class":4981},[4408,44853,3646],{"class":4434},[4408,44855,7277],{"class":4981},[4408,44857,3550],{"class":4434},[4408,44859,8837],{"class":4981},[4408,44861,43738],{"class":4981},[4408,44863,3646],{"class":4434},[4408,44865,10064],{"class":4981},[4408,44867,6053],{"class":4434},[4408,44869,4641],{"class":4422},[4408,44871,44872],{"class":4410,"line":14884},[4408,44873,17002],{"class":4414},[4408,44875,44876,44878,44880],{"class":4410,"line":14893},[4408,44877,8777],{"class":4414},[4408,44879,5006],{"class":5088},[4408,44881,5091],{"class":4414},[4408,44883,44884],{"class":4410,"line":14898},[4408,44885,4611],{"emptyLinePlaceholder":4610},[4408,44887,44888,44890,44892,44894,44896,44898,44900,44902,44904,44906],{"class":4410,"line":14903},[4408,44889,8681],{"class":4414},[4408,44891,5006],{"class":5088},[4408,44893,6112],{"class":5123},[4408,44895,5127],{"class":4426},[4408,44897,5130],{"class":4422},[4408,44899,6226],{"class":4981},[4408,44901,3646],{"class":4434},[4408,44903,8634],{"class":4981},[4408,44905,4444],{"class":4422},[4408,44907,5091],{"class":4414},[4408,44909,44910,44912,44914,44916,44918,44920,44922,44924,44926,44928,44930,44932,44934,44936,44938,44940,44942,44945,44947,44949],{"class":4410,"line":14908},[4408,44911,16888],{"class":4414},[4408,44913,5011],{"class":5088},[4408,44915,6112],{"class":5123},[4408,44917,5127],{"class":4426},[4408,44919,5130],{"class":4422},[4408,44921,6036],{"class":4434},[4408,44923,6121],{"class":4981},[4408,44925,43738],{"class":4981},[4408,44927,3646],{"class":4434},[4408,44929,11271],{"class":4981},[4408,44931,3550],{"class":4434},[4408,44933,6039],{"class":4981},[4408,44935,6043],{"class":6042},[4408,44937,6053],{"class":4434},[4408,44939,4444],{"class":4422},[4408,44941,5101],{"class":4414},[4408,44943,44944],{"class":4426},"Згода (імітація Checkbox)",[4408,44946,5107],{"class":4414},[4408,44948,5011],{"class":5088},[4408,44950,5091],{"class":4414},[4408,44952,44953,44955],{"class":4410,"line":14925},[4408,44954,16888],{"class":4414},[4408,44956,8797],{"class":5088},[4408,44958,44959,44961,44963,44965,44967],{"class":4410,"line":14957},[4408,44960,16934],{"class":5123},[4408,44962,5127],{"class":4426},[4408,44964,5130],{"class":4422},[4408,44966,9195],{"class":4981},[4408,44968,4641],{"class":4422},[4408,44970,44971,44973,44975,44977,44979],{"class":4410,"line":14989},[4408,44972,17739],{"class":5123},[4408,44974,5127],{"class":4426},[4408,44976,5130],{"class":4422},[4408,44978,9200],{"class":4981},[4408,44980,4641],{"class":4422},[4408,44982,44983,44985,44987,44989,44991,44993,44995,44997,44999,45001,45003,45005,45007,45009,45011],{"class":4410,"line":14996},[4408,44984,44841],{"class":5123},[4408,44986,5127],{"class":4426},[4408,44988,5130],{"class":4422},[4408,44990,6036],{"class":4434},[4408,44992,8844],{"class":4981},[4408,44994,43738],{"class":4981},[4408,44996,3646],{"class":4434},[4408,44998,7277],{"class":4981},[4408,45000,3550],{"class":4434},[4408,45002,8837],{"class":4981},[4408,45004,43738],{"class":4981},[4408,45006,3646],{"class":4434},[4408,45008,10064],{"class":4981},[4408,45010,6053],{"class":4434},[4408,45012,4641],{"class":4422},[4408,45014,45015],{"class":4410,"line":15005},[4408,45016,17002],{"class":4414},[4408,45018,45019,45021,45023],{"class":4410,"line":15014},[4408,45020,8777],{"class":4414},[4408,45022,5006],{"class":5088},[4408,45024,5091],{"class":4414},[4408,45026,45027,45029,45031,45033,45035,45037,45039,45041,45043,45045,45047,45049,45051,45053,45055,45057,45059,45061,45063,45065,45067,45069,45071,45073,45075,45077,45079,45081],{"class":4410,"line":15023},[4408,45028,23482],{"class":4422},[4408,45030,4190],{"class":4981},[4408,45032,3646],{"class":4434},[4408,45034,9195],{"class":4981},[4408,45036,7189],{"class":4426},[4408,45038,14313],{"class":4414},[4408,45040,5011],{"class":5088},[4408,45042,6112],{"class":5123},[4408,45044,5127],{"class":4426},[4408,45046,5130],{"class":4422},[4408,45048,6036],{"class":4434},[4408,45050,6121],{"class":4981},[4408,45052,43738],{"class":4981},[4408,45054,3646],{"class":4434},[4408,45056,11467],{"class":4981},[4408,45058,6053],{"class":4434},[4408,45060,4444],{"class":4422},[4408,45062,5101],{"class":4414},[4408,45064,5130],{"class":4422},[4408,45066,4190],{"class":4981},[4408,45068,3646],{"class":4434},[4408,45070,9195],{"class":4981},[4408,45072,4444],{"class":4422},[4408,45074,5107],{"class":4414},[4408,45076,5011],{"class":5088},[4408,45078,5101],{"class":4414},[4408,45080,7195],{"class":4426},[4408,45082,14354],{"class":4422},[4408,45084,45085],{"class":4410,"line":15032},[4408,45086,4611],{"emptyLinePlaceholder":4610},[4408,45088,45089,45091,45093,45095,45097,45099,45101,45103,45105,45107,45109,45111,45113,45115,45118,45120,45122,45124,45126,45128,45130,45132],{"class":4410,"line":15041},[4408,45090,8681],{"class":4414},[4408,45092,3654],{"class":5088},[4408,45094,11613],{"class":5123},[4408,45096,5127],{"class":4426},[4408,45098,5130],{"class":4422},[4408,45100,11509],{"class":4981},[4408,45102,4444],{"class":4422},[4408,45104,6112],{"class":5123},[4408,45106,5127],{"class":4426},[4408,45108,5130],{"class":4422},[4408,45110,6223],{"class":4434},[4408,45112,6226],{"class":4981},[4408,45114,3646],{"class":4434},[4408,45116,45117],{"class":4981},"cta",[4408,45119,6233],{"class":4434},[4408,45121,6048],{"class":4981},[4408,45123,43738],{"class":4981},[4408,45125,3646],{"class":4434},[4408,45127,7277],{"class":4981},[4408,45129,6240],{"class":4434},[4408,45131,4444],{"class":4422},[4408,45133,5091],{"class":4414},[4408,45135,45136,45138,45140,45142,45144,45146,45148,45150,45152,45154,45156,45158,45160,45162,45164,45166,45168,45171,45173,45175],{"class":4410,"line":15050},[4408,45137,16888],{"class":4414},[4408,45139,5011],{"class":5088},[4408,45141,6112],{"class":5123},[4408,45143,5127],{"class":4426},[4408,45145,5130],{"class":4422},[4408,45147,6036],{"class":4434},[4408,45149,6121],{"class":4981},[4408,45151,43738],{"class":4981},[4408,45153,3646],{"class":4434},[4408,45155,23878],{"class":4981},[4408,45157,3550],{"class":4434},[4408,45159,6128],{"class":4981},[4408,45161,6131],{"class":4438},[4408,45163,6053],{"class":4434},[4408,45165,4444],{"class":4422},[4408,45167,5101],{"class":4414},[4408,45169,45170],{"class":4426},"Створити (Pressable)",[4408,45172,5107],{"class":4414},[4408,45174,5011],{"class":5088},[4408,45176,5091],{"class":4414},[4408,45178,45179,45181,45183],{"class":4410,"line":15055},[4408,45180,8777],{"class":4414},[4408,45182,3654],{"class":5088},[4408,45184,5091],{"class":4414},[4408,45186,45187,45189,45191],{"class":4410,"line":15086},[4408,45188,8786],{"class":4414},[4408,45190,5006],{"class":5088},[4408,45192,5091],{"class":4414},[4408,45194,45195,45197,45199],{"class":4410,"line":15117},[4408,45196,6198],{"class":4414},[4408,45198,5006],{"class":5088},[4408,45200,5091],{"class":4414},[4408,45202,45203],{"class":4410,"line":15136},[4408,45204,13920],{"class":4426},[4408,45206,45207],{"class":4410,"line":17208},[4408,45208,11673],{"class":4426},[4408,45210,45211],{"class":4410,"line":17218},[4408,45212,4611],{"emptyLinePlaceholder":4610},[4408,45214,45215,45217],{"class":4410,"line":17227},[4408,45216,5077],{"class":4974},[4408,45218,5080],{"class":4426},[4408,45220,45221,45223,45225,45227,45229,45231,45233,45235,45237,45239,45241,45243,45245,45247,45249,45251,45253],{"class":4410,"line":17237},[4408,45222,5085],{"class":4414},[4408,45224,5006],{"class":5088},[4408,45226,6112],{"class":5123},[4408,45228,5127],{"class":4426},[4408,45230,5130],{"class":4422},[4408,45232,6223],{"class":4434},[4408,45234,6226],{"class":4981},[4408,45236,3646],{"class":4434},[4408,45238,7587],{"class":4981},[4408,45240,6233],{"class":4434},[4408,45242,6048],{"class":4981},[4408,45244,43738],{"class":4981},[4408,45246,3646],{"class":4434},[4408,45248,44266],{"class":4981},[4408,45250,6240],{"class":4434},[4408,45252,4444],{"class":4422},[4408,45254,5091],{"class":4414},[4408,45256,45257,45259,45261,45263,45265,45267,45269,45271,45273,45275,45277,45279,45281,45283,45285,45287,45289],{"class":4410,"line":17246},[4408,45258,5096],{"class":4414},[4408,45260,5006],{"class":5088},[4408,45262,6112],{"class":5123},[4408,45264,5127],{"class":4426},[4408,45266,5130],{"class":4422},[4408,45268,6223],{"class":4434},[4408,45270,6226],{"class":4981},[4408,45272,3646],{"class":4434},[4408,45274,44293],{"class":4981},[4408,45276,6233],{"class":4434},[4408,45278,6372],{"class":4981},[4408,45280,43738],{"class":4981},[4408,45282,3646],{"class":4434},[4408,45284,10064],{"class":4981},[4408,45286,6240],{"class":4434},[4408,45288,4444],{"class":4422},[4408,45290,5091],{"class":4414},[4408,45292,45293,45295,45297,45299,45301,45303,45305,45307,45309,45311,45313,45315,45317,45319,45321,45323,45325,45327,45329,45331,45333],{"class":4410,"line":17251},[4408,45294,7808],{"class":4414},[4408,45296,5011],{"class":5088},[4408,45298,6112],{"class":5123},[4408,45300,5127],{"class":4426},[4408,45302,5130],{"class":4422},[4408,45304,6223],{"class":4434},[4408,45306,6226],{"class":4981},[4408,45308,3646],{"class":4434},[4408,45310,44410],{"class":4981},[4408,45312,6233],{"class":4434},[4408,45314,6121],{"class":4981},[4408,45316,43738],{"class":4981},[4408,45318,3646],{"class":4434},[4408,45320,11271],{"class":4981},[4408,45322,6240],{"class":4434},[4408,45324,4444],{"class":4422},[4408,45326,5101],{"class":4414},[4408,45328,23333],{"class":4426},[4408,45330,5107],{"class":4414},[4408,45332,5011],{"class":5088},[4408,45334,5091],{"class":4414},[4408,45336,45337,45339,45341,45343,45345,45347,45349,45351,45353,45355,45357,45359,45361,45363,45365,45367,45369,45371,45373],{"class":4410,"line":17258},[4408,45338,7808],{"class":4414},[4408,45340,5011],{"class":5088},[4408,45342,6112],{"class":5123},[4408,45344,5127],{"class":4426},[4408,45346,5130],{"class":4422},[4408,45348,6036],{"class":4434},[4408,45350,6121],{"class":4981},[4408,45352,43738],{"class":4981},[4408,45354,3646],{"class":4434},[4408,45356,6309],{"class":4981},[4408,45358,3550],{"class":4434},[4408,45360,6136],{"class":4981},[4408,45362,6180],{"class":6042},[4408,45364,3550],{"class":4434},[4408,45366,8738],{"class":4981},[4408,45368,8741],{"class":6042},[4408,45370,6053],{"class":4434},[4408,45372,4444],{"class":4422},[4408,45374,5091],{"class":4414},[4408,45376,45377,45379,45381,45383,45385,45387],{"class":4410,"line":17263},[4408,45378,23482],{"class":4422},[4408,45380,22118],{"class":4981},[4408,45382,3646],{"class":4434},[4408,45384,11640],{"class":4981},[4408,45386,4444],{"class":4422},[4408,45388,45389],{"class":4426}," поїздок · форма з різними контролями\n",[4408,45391,45392,45394,45396],{"class":4410,"line":17290},[4408,45393,8786],{"class":4414},[4408,45395,5011],{"class":5088},[4408,45397,5091],{"class":4414},[4408,45399,45400,45402,45404],{"class":4410,"line":17295},[4408,45401,6198],{"class":4414},[4408,45403,5006],{"class":5088},[4408,45405,5091],{"class":4414},[4408,45407,45408,45410],{"class":4410,"line":17312},[4408,45409,5096],{"class":4414},[4408,45411,22702],{"class":5088},[4408,45413,45414,45416,45418,45420,45422,45424,45426,45428],{"class":4410,"line":17319},[4408,45415,6349],{"class":5123},[4408,45417,5127],{"class":4426},[4408,45419,5130],{"class":4422},[4408,45421,6036],{"class":4434},[4408,45423,6039],{"class":4981},[4408,45425,6043],{"class":6042},[4408,45427,6053],{"class":4434},[4408,45429,4641],{"class":4422},[4408,45431,45432,45435,45437,45439,45441],{"class":4410,"line":17332},[4408,45433,45434],{"class":5123},"        data",[4408,45436,5127],{"class":4426},[4408,45438,5130],{"class":4422},[4408,45440,22118],{"class":4981},[4408,45442,4641],{"class":4422},[4408,45444,45445,45448,45450,45452,45454,45456,45458,45460,45463,45465,45467],{"class":4410,"line":17342},[4408,45446,45447],{"class":5123},"        keyExtractor",[4408,45449,5127],{"class":4426},[4408,45451,5130],{"class":4422},[4408,45453,4435],{"class":4434},[4408,45455,17459],{"class":4981},[4408,45457,7723],{"class":4434},[4408,45459,7089],{"class":4422},[4408,45461,45462],{"class":4981}," t",[4408,45464,3646],{"class":4434},[4408,45466,22006],{"class":4981},[4408,45468,4641],{"class":4422},[4408,45470,45471,45473,45475,45477,45479,45481,45483,45485],{"class":4410,"line":17369},[4408,45472,16696],{"class":5123},[4408,45474,5127],{"class":4426},[4408,45476,5130],{"class":4422},[4408,45478,6036],{"class":4434},[4408,45480,6070],{"class":4981},[4408,45482,6073],{"class":6042},[4408,45484,6053],{"class":4434},[4408,45486,4641],{"class":4422},[4408,45488,45489,45492,45494,45496,45498,45500,45502,45504],{"class":4410,"line":17414},[4408,45490,45491],{"class":5123},"        renderItem",[4408,45493,5127],{"class":4426},[4408,45495,5130],{"class":4422},[4408,45497,7080],{"class":4434},[4408,45499,22458],{"class":4981},[4408,45501,7086],{"class":4434},[4408,45503,7089],{"class":4422},[4408,45505,5080],{"class":4434},[4408,45507,45508,45510,45512,45514,45516,45518,45520,45522,45524,45526,45528,45530,45532,45534,45536,45538,45540,45542,45544,45546,45548,45550],{"class":4410,"line":17444},[4408,45509,8681],{"class":4414},[4408,45511,5006],{"class":5088},[4408,45513,6112],{"class":5123},[4408,45515,5127],{"class":4426},[4408,45517,5130],{"class":4422},[4408,45519,6223],{"class":4434},[4408,45521,6226],{"class":4981},[4408,45523,3646],{"class":4434},[4408,45525,3940],{"class":4981},[4408,45527,6233],{"class":4434},[4408,45529,6048],{"class":4981},[4408,45531,43738],{"class":4981},[4408,45533,3646],{"class":4434},[4408,45535,23753],{"class":4981},[4408,45537,3550],{"class":4434},[4408,45539,6372],{"class":4981},[4408,45541,43738],{"class":4981},[4408,45543,3646],{"class":4434},[4408,45545,10064],{"class":4981},[4408,45547,6240],{"class":4434},[4408,45549,4444],{"class":4422},[4408,45551,5091],{"class":4414},[4408,45553,45554,45556,45558,45561,45563,45565,45567,45569,45571,45573,45575,45577,45579,45581,45583,45585,45587,45589,45591,45593],{"class":4410,"line":17468},[4408,45555,16888],{"class":4414},[4408,45557,36408],{"class":5088},[4408,45559,45560],{"class":5123}," source",[4408,45562,5127],{"class":4426},[4408,45564,5130],{"class":4422},[4408,45566,6036],{"class":4434},[4408,45568,36780],{"class":4981},[4408,45570,22552],{"class":4981},[4408,45572,3646],{"class":4434},[4408,45574,36787],{"class":4981},[4408,45576,6053],{"class":4434},[4408,45578,4444],{"class":4422},[4408,45580,6112],{"class":5123},[4408,45582,5127],{"class":4426},[4408,45584,5130],{"class":4422},[4408,45586,6226],{"class":4981},[4408,45588,3646],{"class":4434},[4408,45590,36808],{"class":4981},[4408,45592,4444],{"class":4422},[4408,45594,4447],{"class":4414},[4408,45596,45597,45599,45601,45603,45605,45607,45609,45611,45613,45615,45617],{"class":4410,"line":17520},[4408,45598,16888],{"class":4414},[4408,45600,5006],{"class":5088},[4408,45602,6112],{"class":5123},[4408,45604,5127],{"class":4426},[4408,45606,5130],{"class":4422},[4408,45608,6036],{"class":4434},[4408,45610,6070],{"class":4981},[4408,45612,6799],{"class":6042},[4408,45614,6053],{"class":4434},[4408,45616,4444],{"class":4422},[4408,45618,5091],{"class":4414},[4408,45620,45621,45623,45625,45627,45629,45631,45633,45635,45637,45639,45641,45643,45645,45647,45649,45651,45653,45655,45657,45659,45661,45663,45665,45667,45669,45671,45673],{"class":4410,"line":17528},[4408,45622,17417],{"class":4414},[4408,45624,5011],{"class":5088},[4408,45626,6112],{"class":5123},[4408,45628,5127],{"class":4426},[4408,45630,5130],{"class":4422},[4408,45632,6036],{"class":4434},[4408,45634,6121],{"class":4981},[4408,45636,43738],{"class":4981},[4408,45638,3646],{"class":4434},[4408,45640,11271],{"class":4981},[4408,45642,3550],{"class":4434},[4408,45644,6128],{"class":4981},[4408,45646,6806],{"class":4438},[4408,45648,3550],{"class":4434},[4408,45650,6136],{"class":4981},[4408,45652,6073],{"class":6042},[4408,45654,6053],{"class":4434},[4408,45656,4444],{"class":4422},[4408,45658,5101],{"class":4414},[4408,45660,5130],{"class":4422},[4408,45662,22458],{"class":4981},[4408,45664,3646],{"class":4434},[4408,45666,7303],{"class":4981},[4408,45668,4444],{"class":4422},[4408,45670,5107],{"class":4414},[4408,45672,5011],{"class":5088},[4408,45674,5091],{"class":4414},[4408,45676,45677,45679,45681,45683,45685,45687,45689,45691,45693,45695,45697,45699,45701,45703,45705,45707,45709,45711,45713],{"class":4410,"line":17538},[4408,45678,17417],{"class":4414},[4408,45680,5011],{"class":5088},[4408,45682,6112],{"class":5123},[4408,45684,5127],{"class":4426},[4408,45686,5130],{"class":4422},[4408,45688,6036],{"class":4434},[4408,45690,6121],{"class":4981},[4408,45692,43738],{"class":4981},[4408,45694,3646],{"class":4434},[4408,45696,6309],{"class":4981},[4408,45698,3550],{"class":4434},[4408,45700,8738],{"class":4981},[4408,45702,8741],{"class":6042},[4408,45704,3550],{"class":4434},[4408,45706,6136],{"class":4981},[4408,45708,6180],{"class":6042},[4408,45710,6053],{"class":4434},[4408,45712,4444],{"class":4422},[4408,45714,5091],{"class":4414},[4408,45716,45717,45719,45721,45723,45725,45727,45729,45731,45733,45735,45737],{"class":4410,"line":17548},[4408,45718,17447],{"class":4422},[4408,45720,22458],{"class":4981},[4408,45722,3646],{"class":4434},[4408,45724,37025],{"class":4981},[4408,45726,4444],{"class":4422},[4408,45728,13746],{"class":4434},[4408,45730,5130],{"class":4422},[4408,45732,22458],{"class":4981},[4408,45734,3646],{"class":4434},[4408,45736,10344],{"class":4981},[4408,45738,4641],{"class":4422},[4408,45740,45741,45743,45745,45747,45749,45751,45754,45756,45758],{"class":4410,"line":17555},[4408,45742,17447],{"class":4422},[4408,45744,22458],{"class":4981},[4408,45746,3646],{"class":4434},[4408,45748,8080],{"class":4981},[4408,45750,7189],{"class":4426},[4408,45752,45753],{"class":4438}," ' · приватна'",[4408,45755,7195],{"class":4426},[4408,45757,16485],{"class":4438},[4408,45759,4641],{"class":4422},[4408,45761,45762,45764,45766],{"class":4410,"line":17560},[4408,45763,17531],{"class":4414},[4408,45765,5011],{"class":5088},[4408,45767,5091],{"class":4414},[4408,45769,45770,45772,45774],{"class":4410,"line":17587},[4408,45771,17541],{"class":4414},[4408,45773,5006],{"class":5088},[4408,45775,5091],{"class":4414},[4408,45777,45778,45780,45782],{"class":4410,"line":17592},[4408,45779,8777],{"class":4414},[4408,45781,5006],{"class":5088},[4408,45783,5091],{"class":4414},[4408,45785,45786,45788],{"class":4410,"line":17617},[4408,45787,19550],{"class":4434},[4408,45789,4641],{"class":4422},[4408,45791,45792],{"class":4410,"line":17624},[4408,45793,5172],{"class":4414},[4408,45795,45796,45798,45800,45802,45804,45806,45808,45810,45812,45814,45816,45818,45820,45822,45824,45826,45828,45830,45832,45834,45836,45838],{"class":4410,"line":17637},[4408,45797,5096],{"class":4414},[4408,45799,5006],{"class":5088},[4408,45801,6112],{"class":5123},[4408,45803,5127],{"class":4426},[4408,45805,5130],{"class":4422},[4408,45807,6223],{"class":4434},[4408,45809,6226],{"class":4981},[4408,45811,3646],{"class":4434},[4408,45813,24306],{"class":4981},[4408,45815,6233],{"class":4434},[4408,45817,6372],{"class":4981},[4408,45819,43738],{"class":4981},[4408,45821,3646],{"class":4434},[4408,45823,10064],{"class":4981},[4408,45825,3550],{"class":4434},[4408,45827,6048],{"class":4981},[4408,45829,43738],{"class":4981},[4408,45831,3646],{"class":4434},[4408,45833,44266],{"class":4981},[4408,45835,6240],{"class":4434},[4408,45837,4444],{"class":4422},[4408,45839,5091],{"class":4414},[4408,45841,45842,45844,45846,45848,45850,45852,45854,45856,45858,45860,45862,45864,45866,45868,45870,45872,45874,45876,45878,45880,45882,45884,45886,45888,45890,45892,45894],{"class":4410,"line":17647},[4408,45843,7808],{"class":4414},[4408,45845,3654],{"class":5088},[4408,45847,11613],{"class":5123},[4408,45849,5127],{"class":4426},[4408,45851,5130],{"class":4422},[4408,45853,7709],{"class":4434},[4408,45855,7089],{"class":4422},[4408,45857,44328],{"class":4430},[4408,45859,4435],{"class":4434},[4408,45861,43785],{"class":4438},[4408,45863,4292],{"class":4434},[4408,45865,4444],{"class":4422},[4408,45867,6112],{"class":5123},[4408,45869,5127],{"class":4426},[4408,45871,5130],{"class":4422},[4408,45873,6223],{"class":4434},[4408,45875,6226],{"class":4981},[4408,45877,3646],{"class":4434},[4408,45879,45117],{"class":4981},[4408,45881,6233],{"class":4434},[4408,45883,6048],{"class":4981},[4408,45885,43738],{"class":4981},[4408,45887,3646],{"class":4434},[4408,45889,7277],{"class":4981},[4408,45891,6240],{"class":4434},[4408,45893,4444],{"class":4422},[4408,45895,5091],{"class":4414},[4408,45897,45898,45900,45902,45904,45906,45908,45910,45912,45914,45916,45918,45920,45922,45924,45926,45928,45930,45932,45934,45936],{"class":4410,"line":17674},[4408,45899,8681],{"class":4414},[4408,45901,5011],{"class":5088},[4408,45903,6112],{"class":5123},[4408,45905,5127],{"class":4426},[4408,45907,5130],{"class":4422},[4408,45909,6036],{"class":4434},[4408,45911,6121],{"class":4981},[4408,45913,43738],{"class":4981},[4408,45915,3646],{"class":4434},[4408,45917,23878],{"class":4981},[4408,45919,3550],{"class":4434},[4408,45921,6128],{"class":4981},[4408,45923,6131],{"class":4438},[4408,45925,6053],{"class":4434},[4408,45927,4444],{"class":4422},[4408,45929,5101],{"class":4414},[4408,45931,44435],{"class":4426},[4408,45933,5107],{"class":4414},[4408,45935,5011],{"class":5088},[4408,45937,5091],{"class":4414},[4408,45939,45940,45942,45944],{"class":4410,"line":17681},[4408,45941,8786],{"class":4414},[4408,45943,3654],{"class":5088},[4408,45945,5091],{"class":4414},[4408,45947,45948,45950,45952],{"class":4410,"line":17695},[4408,45949,6198],{"class":4414},[4408,45951,5006],{"class":5088},[4408,45953,5091],{"class":4414},[4408,45955,45956,45958,45960],{"class":4410,"line":17709},[4408,45957,5177],{"class":4414},[4408,45959,5006],{"class":5088},[4408,45961,5091],{"class":4414},[4408,45963,45964],{"class":4410,"line":17723},[4408,45965,5186],{"class":4426},[4408,45967,45968],{"class":4410,"line":17736},[4408,45969,4641],{"class":4426},[4408,45971,45972],{"class":4410,"line":17750},[4408,45973,4611],{"emptyLinePlaceholder":4610},[4408,45975,45976,45978,45980,45982,45984,45986,45988],{"class":4410,"line":17761},[4408,45977,6770],{"class":4422},[4408,45979,6773],{"class":5049},[4408,45981,5804],{"class":4426},[4408,45983,6778],{"class":4981},[4408,45985,3646],{"class":4426},[4408,45987,6783],{"class":4430},[4408,45989,6786],{"class":4426},[4408,45991,45992,45994,45996,45998,46000],{"class":4410,"line":17772},[4408,45993,7884],{"class":4981},[4408,45995,4978],{"class":4426},[4408,45997,6039],{"class":4981},[4408,45999,6043],{"class":6042},[4408,46001,6727],{"class":4426},[4408,46003,46004,46007,46009,46011,46013,46015,46018,46020],{"class":4410,"line":17782},[4408,46005,46006],{"class":4981},"  top:",[4408,46008,4978],{"class":4426},[4408,46010,6070],{"class":4981},[4408,46012,6073],{"class":6042},[4408,46014,3550],{"class":4426},[4408,46016,46017],{"class":4981},"borderBottomWidth:",[4408,46019,6043],{"class":6042},[4408,46021,6727],{"class":4426},[4408,46023,46024,46027,46029,46031,46033,46035,46037,46039],{"class":4410,"line":17787},[4408,46025,46026],{"class":4981},"  brand:",[4408,46028,4978],{"class":4426},[4408,46030,6136],{"class":4981},[4408,46032,19273],{"class":6042},[4408,46034,3550],{"class":4426},[4408,46036,6128],{"class":4981},[4408,46038,6131],{"class":4438},[4408,46040,6727],{"class":4426},[4408,46042,46043,46045,46047,46050,46052,46054,46056,46058,46060,46063,46065,46067,46069,46071],{"class":4410,"line":17794},[4408,46044,37662],{"class":4981},[4408,46046,4978],{"class":4426},[4408,46048,46049],{"class":4981},"borderWidth:",[4408,46051,6043],{"class":6042},[4408,46053,3550],{"class":4426},[4408,46055,7923],{"class":4981},[4408,46057,6073],{"class":6042},[4408,46059,3550],{"class":4426},[4408,46061,46062],{"class":4981},"overflow:",[4408,46064,20057],{"class":4438},[4408,46066,3550],{"class":4426},[4408,46068,19791],{"class":4981},[4408,46070,6799],{"class":6042},[4408,46072,6727],{"class":4426},[4408,46074,46075,46077,46079,46081,46083,46085,46087,46090,46092,46094,46097],{"class":4410,"line":17799},[4408,46076,37815],{"class":4981},[4408,46078,4978],{"class":4426},[4408,46080,22839],{"class":4981},[4408,46082,36210],{"class":4438},[4408,46084,3550],{"class":4426},[4408,46086,24152],{"class":4981},[4408,46088,46089],{"class":6042}," 120",[4408,46091,3550],{"class":4426},[4408,46093,6048],{"class":4981},[4408,46095,46096],{"class":4438}," '#cbd5e1'",[4408,46098,6727],{"class":4426},[4408,46100,46101,46103,46105,46108,46110,46112,46114,46116],{"class":4410,"line":17826},[4408,46102,24709],{"class":4981},[4408,46104,4978],{"class":4426},[4408,46106,46107],{"class":4981},"borderTopWidth:",[4408,46109,6043],{"class":6042},[4408,46111,3550],{"class":4426},[4408,46113,6070],{"class":4981},[4408,46115,6073],{"class":6042},[4408,46117,6727],{"class":4426},[4408,46119,46120,46123,46125,46127,46129,46131,46133,46135,46137,46139,46141],{"class":4410,"line":17831},[4408,46121,46122],{"class":4981},"  cta:",[4408,46124,4978],{"class":4426},[4408,46126,7916],{"class":4981},[4408,46128,6081],{"class":6042},[4408,46130,3550],{"class":4426},[4408,46132,7923],{"class":4981},[4408,46134,6799],{"class":6042},[4408,46136,3550],{"class":4426},[4408,46138,7930],{"class":4981},[4408,46140,7904],{"class":4438},[4408,46142,6727],{"class":4426},[4408,46144,46145,46147,46149,46151,46153,46155,46157,46159,46161,46163,46165,46167,46169,46171,46173,46175,46177],{"class":4410,"line":17838},[4408,46146,6822],{"class":4981},[4408,46148,4978],{"class":4426},[4408,46150,46049],{"class":4981},[4408,46152,6043],{"class":6042},[4408,46154,3550],{"class":4426},[4408,46156,7923],{"class":4981},[4408,46158,6799],{"class":6042},[4408,46160,3550],{"class":4426},[4408,46162,34794],{"class":4981},[4408,46164,6081],{"class":6042},[4408,46166,3550],{"class":4426},[4408,46168,7916],{"class":4981},[4408,46170,6799],{"class":6042},[4408,46172,3550],{"class":4426},[4408,46174,6136],{"class":4981},[4408,46176,6073],{"class":6042},[4408,46178,6727],{"class":4426},[4408,46180,46181,46183,46185,46187,46189,46191,46193,46195,46197,46199,46201],{"class":4410,"line":17851},[4408,46182,8938],{"class":4981},[4408,46184,4978],{"class":4426},[4408,46186,8122],{"class":4981},[4408,46188,8125],{"class":4438},[4408,46190,3550],{"class":4426},[4408,46192,7930],{"class":4981},[4408,46194,7904],{"class":4438},[4408,46196,3550],{"class":4426},[4408,46198,6078],{"class":4981},[4408,46200,6799],{"class":6042},[4408,46202,6727],{"class":4426},[4408,46204,46205],{"class":4410,"line":17861},[4408,46206,6913],{"class":4426},[3806,46208],{},[3507,46210,46212],{"id":46211},"практичні-завдання","Практичні завдання",[3997,46214,46216],{"id":46215},"базовий-рівень","Базовий рівень",[3572,46218,46219,46225,46234],{},[3575,46220,46221,46222,46224],{},"Своїми словами пояснити, коли ",[3540,46223,3668],{},", а коли Checkbox.",[3575,46226,3630,46227,3642,46229,3642,46231,46233],{},[3540,46228,3637],{},[3540,46230,3668],{},[3540,46232,3654],{}," без RHF.",[3575,46235,46236,46237,46239,46240,46243],{},"Пояснити, навіщо ",[3540,46238,3641],{}," + колбек зміни на ",[3516,46241,46242],{},"будь-якому"," контролі.",[3997,46245,46247],{"id":46246},"середній-рівень","Середній рівень",[3572,46249,46250,46253,46259],{},[3575,46251,46252],{},"Міні-проєкт «Реєстрація на подію» з RHF + Zod і щонайменше чотирма типами контролів.",[3575,46254,46255,46256,46258],{},"У Nomad додати Picker.Item «Закордон» у ",[3540,46257,10563],{}," і прогнати схему.",[3575,46260,46261,46262,3646],{},"Ланцюжок focus між двома TextInput через ",[3540,46263,46264],{},"returnKeyType=\"next\"",[3997,46266,46268],{"id":46267},"професійний-рівень","Професійний рівень",[3572,46270,46271,46280,46287],{},[3575,46272,46273,46274,3558,46277,46279],{},"Порівняти ",[3540,46275,46276],{},"mode: 'onBlur'",[3540,46278,12839],{}," на формі з 6+ полями — короткий висновок.",[3575,46281,46282,46283,46286],{},"Unit-тести на ",[3540,46284,46285],{},"createTripSchema.safeParse"," (без UI).",[3575,46288,46289,46290,46292],{},"Нотатка: Checkbox і New Architecture — що каже warning Expo і який план Б (",[3540,46291,3654],{}," + іконка).",[3806,46294],{},[3507,46296,46298],{"id":46297},"часті-запитання","Часті запитання",[46300,46301,46302,46314,46318,46326,46333,46337,46344],"accordion",{},[46303,46304,46307,46308,10726,46310,46313],"accordion-item",{"icon":46305,"label":46306},"i-lucide-circle-help","Чому не register() як у web RHF?","У React Native немає тієї ж DOM-моделі. Стабільний шлях — ",[3540,46309,3701],{},[3540,46311,46312],{},"useController",") і ручна прив’язка props до контролу.",[46303,46315,46317],{"icon":46305,"label":46316},"Switch і Checkbox — це не одне й те саме?","Обидва — boolean, але різний UX. Switch — перемикач налаштування; Checkbox — позначка \u002F згода \u002F пункт списку.",[46303,46319,46321,46323,46324,3646],{"icon":46305,"label":46320},"Кнопка не реагує з першого тапу",[3540,46322,15200],{}," на ",[3540,46325,3689],{},[46303,46327,46329,46330,46332],{"icon":46305,"label":46328},"Picker порожній \u002F дивний на iOS","Wheel займає висоту. Задайте контейнеру minHeight, перевірте кольори ",[3540,46331,10467],{}," у dark theme.",[46303,46334,46336],{"icon":46305,"label":46335},"Checkbox і New Architecture","Community checkbox може попереджати про NA. Для критичного production — слідкуйте за оновленнями або зробіть свій control.",[46303,46338,46340,46341,46343],{"icon":46305,"label":46339},"Куди діваються створені поїздки після reload?","Лише React state (",[3540,46342,11426],{},"). Персист — у модулі MMKV\u002FSQLite.",[46303,46345,46347,46348,46350],{"icon":46305,"label":46346},"Чи обов’язковий RHF для двох полів?","Ні. Для крихітних форм вистачить ",[3540,46349,4390],{},". RHF виправдовує себе на середніх\u002Fвеликих формах і спільному стилі з web.",[3806,46352],{},[3507,46354,46356],{"id":46355},"що-далі","Що далі",[3512,46358,46359,46360,46363,46364,46369,46370,46373,46374,3558,46377,46379,46380,46383],{},"Тепер у вас є ",[3516,46361,46362],{},"словник контролів"," і спосіб зв’язати їх правилами. Далі — ",[3799,46365,46366],{"href":3409},[3516,46367,46368],{},"основи Expo Router",": тека ",[3540,46371,46372],{},"app\u002F",", layout, Tabs і Stack, ",[3540,46375,46376],{},"Link",[3540,46378,21867],{},". Екран ",[3540,46381,46382],{},"create-trip"," уже натякає на стопку екранів; наступна стаття робить навігацію свідомою моделлю всього застосунку (вкладки «Поїздки \u002F Місця \u002F Ще»).",[3512,46385,46386,13746,46390,13746,46394,13746,46398,13746,46402,13746,46406,13746,46410,13746,46414,13746,46419,13746,46423,13746,46427],{},[3799,46387,3637],{"href":46388,"rel":46389},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Ftextinput",[3803],[3799,46391,3654],{"href":46392,"rel":46393},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fpressable",[3803],[3799,46395,3660],{"href":46396,"rel":46397},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fbutton",[3803],[3799,46399,3668],{"href":46400,"rel":46401},"https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fswitch",[3803],[3799,46403,3674],{"href":46404,"rel":46405},"https:\u002F\u002Fgithub.com\u002Fcallstack\u002Freact-native-slider",[3803],[3799,46407,3677],{"href":46408,"rel":46409},"https:\u002F\u002Fgithub.com\u002Freact-native-picker\u002Fpicker",[3803],[3799,46411,3671],{"href":46412,"rel":46413},"https:\u002F\u002Fgithub.com\u002Freact-native-checkbox\u002Freact-native-checkbox",[3803],[3799,46415,46418],{"href":46416,"rel":46417},"https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Flatest\u002Fsdk\u002Fdate-time-picker\u002F",[3803],"DateTimePicker (Expo)",[3799,46420,3557],{"href":46421,"rel":46422},"https:\u002F\u002Freact-hook-form.com\u002F",[3803],[3799,46424,3561],{"href":46425,"rel":46426},"https:\u002F\u002Fzod.dev\u002F",[3803],[3799,46428,3713],{"href":3801,"rel":46429},[3803],[41966,46431,46432],{},"html pre.shiki code .s0P7L, html code.shiki .s0P7L{--shiki-light:#800000;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .sKtos, html code.shiki .sKtos{--shiki-light:#800000;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .su1O8, html code.shiki .su1O8{--shiki-light:#0000FF;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sHH4Y, html code.shiki .sHH4Y{--shiki-light:#000000;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s8Opu, html code.shiki .s8Opu{--shiki-light:#795E26;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sD7JJ, html code.shiki .sD7JJ{--shiki-light:#000000FF;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sbdoH, html code.shiki .sbdoH{--shiki-light:#A31515;--shiki-default:#CE9178;--shiki-dark:#CE9178}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 .s8xlr, html code.shiki .s8xlr{--shiki-light:#AF00DB;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .siwwj, html code.shiki .siwwj{--shiki-light:#001080;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s-QsJ, html code.shiki .s-QsJ{--shiki-light:#0070C1;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}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 .sJj4R, html code.shiki .sJj4R{--shiki-light:#098658;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .s5IvJ, html code.shiki .s5IvJ{--shiki-light:#000000;--shiki-default:#C8C8C8;--shiki-dark:#C8C8C8}html pre.shiki code .spJ8K, html code.shiki .spJ8K{--shiki-light:#008000;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sLwNe, html code.shiki .sLwNe{--shiki-light:#0451A5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}",{"title":4404,"searchDepth":4595,"depth":4595,"links":46434},[46435,46436,46437,46444,46445,46446,46454,46462,46469,46476,46484,46491,46496,46501,46505,46517,46533,46551,46560,46565,46566],{"id":3509,"depth":4595,"text":3510},{"id":3810,"depth":4595,"text":3811},{"id":3984,"depth":4595,"text":3985,"children":46438},[46439,46440,46441,46442,46443],{"id":3999,"depth":4601,"text":4000},{"id":4051,"depth":4601,"text":4052},{"id":4137,"depth":4601,"text":4138},{"id":4235,"depth":4601,"text":4236},{"id":4377,"depth":4601,"text":4378},{"id":4522,"depth":4595,"text":4523},{"id":4730,"depth":4595,"text":4731},{"id":4897,"depth":4595,"text":46447,"children":46448},"TextInput — поле для тексту",[46449,46450,46451,46452,46453],{"id":4929,"depth":4601,"text":4930},{"id":4963,"depth":4601,"text":4964},{"id":5221,"depth":4601,"text":5222},{"id":5255,"depth":4601,"text":5256},{"id":5693,"depth":4601,"text":5694},{"id":6918,"depth":4595,"text":46455,"children":46456},"Pressable і Button — дії форми",[46457,46459,46461],{"id":6937,"depth":4601,"text":46458},"Pressable (основний інструмент курсу)",{"id":7284,"depth":4601,"text":46460},"Системний Button з react-native",{"id":7347,"depth":4601,"text":7348},{"id":7963,"depth":4595,"text":46463,"children":46464},"Switch — перемикач так \u002F ні",[46465,46466,46467,46468],{"id":7980,"depth":4601,"text":7981},{"id":8010,"depth":4601,"text":8011},{"id":8225,"depth":4601,"text":8226},{"id":8336,"depth":4601,"text":8337},{"id":9005,"depth":4595,"text":46470,"children":46471},"Checkbox — галочка (@react-native-community\u002Fcheckbox)",[46472,46473,46474,46475],{"id":9050,"depth":4601,"text":9051},{"id":9115,"depth":4601,"text":8011},{"id":9336,"depth":4601,"text":9337},{"id":9463,"depth":4601,"text":9464},{"id":9589,"depth":4595,"text":46477,"children":46478},"Slider — число з діапазону (@react-native-community\u002Fslider)",[46479,46480,46481,46482,46483],{"id":9623,"depth":4601,"text":9624},{"id":9648,"depth":4601,"text":9649},{"id":9684,"depth":4601,"text":9685},{"id":9704,"depth":4601,"text":8011},{"id":9939,"depth":4601,"text":8226},{"id":10112,"depth":4595,"text":46485,"children":46486},"Picker — вибір зі списку (@react-native-picker\u002Fpicker)",[46487,46488,46489,46490],{"id":10152,"depth":4601,"text":10153},{"id":10194,"depth":4601,"text":9685},{"id":10213,"depth":4601,"text":8011},{"id":10535,"depth":4601,"text":8226},{"id":10754,"depth":4595,"text":10755,"children":46492},[46493,46494,46495],{"id":10787,"depth":4601,"text":10788},{"id":10848,"depth":4601,"text":10849},{"id":10964,"depth":4601,"text":10965},{"id":11026,"depth":4595,"text":11027,"children":46497},[46498,46499,46500],{"id":11030,"depth":4601,"text":11031},{"id":11054,"depth":4601,"text":11055},{"id":11264,"depth":4601,"text":11265},{"id":11321,"depth":4595,"text":11322,"children":46502},[46503,46504],{"id":11338,"depth":4601,"text":11339},{"id":11437,"depth":4601,"text":11438},{"id":11495,"depth":4595,"text":11496,"children":46506},[46507,46508,46509,46510,46512,46514,46516],{"id":11513,"depth":4601,"text":11514},{"id":11711,"depth":4601,"text":11712},{"id":11780,"depth":4601,"text":11781},{"id":11883,"depth":4601,"text":46511},"zodResolver — місток між ними",{"id":12073,"depth":4601,"text":46513},"Controller — як підключити будь-який контроль",{"id":12746,"depth":4601,"text":46515},"useForm — що налаштовуємо",{"id":12974,"depth":4601,"text":12975},{"id":15143,"depth":4595,"text":15144,"children":46518},[46519,46521,46523,46525,46527,46529,46531,46532],{"id":15147,"depth":4601,"text":46520},"1. Усе через TextInput",{"id":15159,"depth":4601,"text":46522},"2. Лише Alert для помилок",{"id":15173,"depth":4601,"text":46524},"3. Правила тільки в onPress без схеми",{"id":15187,"depth":4601,"text":46526},"4. Форма без ScrollView",{"id":15196,"depth":4601,"text":46528},"5. Забутий keyboardShouldPersistTaps=\"handled\"",{"id":15206,"depth":4601,"text":46530},"6. Email з autoCapitalize=\"sentences\"",{"id":15223,"depth":4601,"text":15224},{"id":15230,"depth":4601,"text":15231},{"id":15243,"depth":4595,"text":15244,"children":46534},[46535,46536,46537,46538,46539,46540,46541,46542,46544,46545,46546,46547,46548,46549,46550],{"id":15247,"depth":4601,"text":15248},{"id":15282,"depth":4601,"text":15283},{"id":15388,"depth":4601,"text":15389},{"id":15398,"depth":4601,"text":15399},{"id":15405,"depth":4601,"text":15406},{"id":15438,"depth":4601,"text":15439},{"id":15506,"depth":4601,"text":15507},{"id":15527,"depth":4601,"text":46543},"Крок 2. Повний код App.tsx",{"id":20270,"depth":4601,"text":20271},{"id":20276,"depth":4601,"text":20277},{"id":20294,"depth":4601,"text":11765},{"id":20312,"depth":4601,"text":3701},{"id":20328,"depth":4601,"text":20329},{"id":20342,"depth":4601,"text":20343},{"id":20366,"depth":4601,"text":20367},{"id":20431,"depth":4595,"text":20432,"children":46552},[46553,46554,46555,46556,46557,46558,46559],{"id":20442,"depth":4601,"text":20443},{"id":20465,"depth":4601,"text":20466},{"id":20636,"depth":4601,"text":9685},{"id":20681,"depth":4601,"text":20682},{"id":43120,"depth":4601,"text":43121},{"id":43144,"depth":4601,"text":43145},{"id":43229,"depth":4601,"text":43230},{"id":46211,"depth":4595,"text":46212,"children":46561},[46562,46563,46564],{"id":46215,"depth":4601,"text":46216},{"id":46246,"depth":4601,"text":46247},{"id":46267,"depth":4601,"text":46268},{"id":46297,"depth":4595,"text":46298},{"id":46355,"depth":4595,"text":46356},"Усі основні контроли форми в React Native — TextInput, Pressable, Button, Switch, Checkbox, Slider, Picker, date picker; клавіатура; React Hook Form і Zod; реєстрація на подію та створення поїздки в Nomad",null,{},{"title":3404,"description":46567},"WuDcFOG5GvUIOhOx69LL2kQVLDTvzbVzSuTpSBfyW2k",[46573,46575],{"title":3400,"path":3401,"stem":3402,"description":46574,"children":-1},"FlatList, SectionList, FlashList, pull-to-refresh, порожній і помилковий стан, пагінація UI — каталог книг і стрічки поїздок\u002Fмісць у Nomad",{"title":3408,"path":3409,"stem":3410,"description":46576,"children":-1},"File-based routing у Expo — тека app\u002F, layout, Stack і Tabs, Link і useRouter, назад, typed routes; довідник міст і навігаційна оболонка Nomad",1785915328241]