[{"data":1,"prerenderedAt":671},["ShallowReactive",2],{"docs:\u002Fdocs\u002Froadmap":3},{"id":4,"title":5,"body":6,"component":659,"dependsOn":660,"description":661,"emitDescriptions":662,"extension":663,"meta":664,"navigation":665,"order":666,"path":667,"seo":668,"status":89,"stem":669,"__hash__":670},"docs\u002Fdocs\u002Froadmap.md","Roadmap компонентів",{"type":7,"value":8,"toc":650},"minimark",[9,33,38,132,136,238,242,344,348,351,628,643,647],[10,11,12,13,20,21,26,27,32],"p",{},"Обидва цикли завершено — усі кандидати реалізовані, мають живі приклади,\nAPI-сторінки та accessibility-контракти. Початкові пріоритети були\nзвірені з каталогами\n",[14,15,19],"a",{"href":16,"rel":17},"https:\u002F\u002Fwww.radix-ui.com\u002Fprimitives\u002Fdocs\u002Fcomponents",[18],"nofollow","Radix Primitives",",\n",[14,22,25],{"href":23,"rel":24},"https:\u002F\u002Fui.shadcn.com\u002Fdocs\u002Fcomponents",[18],"shadcn\u002Fui"," та\n",[14,28,31],{"href":29,"rel":30},"https:\u002F\u002Fheadlessui.com\u002F",[18],"Headless UI",".",[34,35,37],"h2",{"id":36},"p0-основа-форм-і-оверлеїв","P0 — основа форм і оверлеїв",[39,40,41,63],"table",{},[42,43,44],"thead",{},[45,46,47,51,54,57,60],"tr",{},[48,49,50],"th",{},"Компонент",[48,52,53],{},"Для чого",[48,55,56],{},"Основа композиції",[48,58,59],{},"Складність a11y",[48,61,62],{},"Статус",[64,65,66,90,111],"tbody",{},[45,67,68,78,81,84,87],{},[69,70,71],"td",{},[14,72,74],{"href":73},"\u002Fdocs\u002Fcomponents\u002Fcheckbox",[75,76,77],"code",{},"UiCheckbox",[69,79,80],{},"Незалежні булеві параметри та множинний вибір",[69,82,83],{},"Form groups, Table settings",[69,85,86],{},"mixed state, label\u002Ferror зв'язок",[69,88,89],{},"stable",[45,91,92,100,103,106,109],{},[69,93,94],{},[14,95,97],{"href":96},"\u002Fdocs\u002Fcomponents\u002Fradio-group",[75,98,99],{},"UiRadioGroup",[69,101,102],{},"Один вибір із 2–7 видимих варіантів",[69,104,105],{},"Налаштування, опитування",[69,107,108],{},"roving tabindex, Arrow\u002FHome\u002FEnd",[69,110,89],{},[45,112,113,121,124,127,130],{},[69,114,115],{},[14,116,118],{"href":117},"\u002Fdocs\u002Fcomponents\u002Fpopover",[75,119,120],{},"UiPopover",[69,122,123],{},"Довільна немодальна панель біля trigger",[69,125,126],{},"HoverCard, складені фільтри",[69,128,129],{},"focus return, outside click, positioning",[69,131,89],{},[34,133,135],{"id":134},"p1-продуктові-й-адміністративні-сценарії","P1 — продуктові й адміністративні сценарії",[39,137,138,152],{},[42,139,140],{},[45,141,142,144,146,148,150],{},[48,143,50],{},[48,145,53],{},[48,147,56],{},[48,149,59],{},[48,151,62],{},[64,153,154,175,196,217],{},[45,155,156,164,167,170,173],{},[69,157,158],{},[14,159,161],{"href":160},"\u002Fdocs\u002Fcomponents\u002Fcontext-menu",[75,162,163],{},"UiContextMenu",[69,165,166],{},"Дії над рядком, вузлом або полотном",[69,168,169],{},"Menu + positioning",[69,171,172],{},"клавіша Context Menu, координати pointer",[69,174,89],{},[45,176,177,185,188,191,194],{},[69,178,179],{},[14,180,182],{"href":181},"\u002Fdocs\u002Fcomponents\u002Finput-otp",[75,183,184],{},"UiInputOtp",[69,186,187],{},"Коди підтвердження та 2FA",[69,189,190],{},"Input semantics",[69,192,193],{},"paste, mobile keyboard, єдине accessible value",[69,195,89],{},[45,197,198,206,209,212,215],{},[69,199,200],{},[14,201,203],{"href":202},"\u002Fdocs\u002Fcomponents\u002Fnavigation-menu",[75,204,205],{},"UiNavigationMenu",[69,207,208],{},"Ієрархічна продуктова навігація",[69,210,211],{},"Popover + links",[69,213,214],{},"menubar\u002Fnavigation semantics, focus",[69,216,89],{},[45,218,219,227,230,233,236],{},[69,220,221],{},[14,222,224],{"href":223},"\u002Fdocs\u002Fcomponents\u002Fsidebar",[75,225,226],{},"UiSidebar",[69,228,229],{},"Адаптивна навігація застосунку",[69,231,232],{},"Drawer + navigation",[69,234,235],{},"collapse state, landmarks, mobile focus",[69,237,89],{},[34,239,241],{"id":240},"p2-спеціалізовані-складені-контролі","P2 — спеціалізовані складені контролі",[39,243,244,258],{},[42,245,246],{},[45,247,248,250,252,254,256],{},[48,249,50],{},[48,251,53],{},[48,253,56],{},[48,255,59],{},[48,257,62],{},[64,259,260,281,302,323],{},[45,261,262,270,273,276,279],{},[69,263,264],{},[14,265,267],{"href":266},"\u002Fdocs\u002Fcomponents\u002Fscroll-area",[75,268,269],{},"UiScrollArea",[69,271,272],{},"Узгоджений scroll affordance",[69,274,275],{},"Dropdown, Sidebar, panels",[69,277,278],{},"не ламати нативну прокрутку",[69,280,89],{},[45,282,283,291,294,297,300],{},[69,284,285],{},[14,286,288],{"href":287},"\u002Fdocs\u002Fcomponents\u002Fresizable-panels",[75,289,290],{},"UiResizablePanels",[69,292,293],{},"Робочі області редакторів і dashboard",[69,295,296],{},"Pointer utilities",[69,298,299],{},"separator role, клавіатурний resize",[69,301,89],{},[45,303,304,312,315,318,321],{},[69,305,306],{},[14,307,309],{"href":308},"\u002Fdocs\u002Fcomponents\u002Fcarousel",[75,310,311],{},"UiCarousel",[69,313,314],{},"Послідовність промо або медіа",[69,316,317],{},"Buttons + reduced motion",[69,319,320],{},"оголошення slide, autoplay controls",[69,322,89],{},[45,324,325,333,336,339,342],{},[69,326,327],{},[14,328,330],{"href":329},"\u002Fdocs\u002Fcomponents\u002Fhover-card",[75,331,332],{},"UiHoverCard",[69,334,335],{},"Необов'язковий preview за посиланням",[69,337,338],{},"Popover",[69,340,341],{},"hover\u002Ffocus parity, dismiss",[69,343,89],{},[34,345,347],{"id":346},"цикл-2-crm-і-адміністративні-панелі","Цикл 2 — CRM і адміністративні панелі",[10,349,350],{},"Другий цикл закриває те, чого бракувало для побудови CRM: дашборд, картка\nзапису, стрічка активності й фільтр за періодом.",[39,352,353,367],{},[42,354,355],{},[45,356,357,359,361,363,365],{},[48,358,50],{},[48,360,53],{},[48,362,56],{},[48,364,59],{},[48,366,62],{},[64,368,369,390,411,442,462,485,506,533,557,581,606],{},[45,370,371,379,382,385,388],{},[69,372,373],{},[14,374,376],{"href":375},"\u002Fdocs\u002Fcomponents\u002Fstat-card",[75,377,378],{},"UiStatCard",[69,380,381],{},"Ключова метрика зі зміною за період",[69,383,384],{},"Card + Skeleton",[69,386,387],{},"стрілка як символ, скорочене значення",[69,389,89],{},[45,391,392,400,403,406,409],{},[69,393,394],{},[14,395,397],{"href":396},"\u002Fdocs\u002Fcomponents\u002Favatar-group",[75,398,399],{},"UiAvatarGroup",[69,401,402],{},"Учасники запису в один рядок",[69,404,405],{},"Avatar",[69,407,408],{},"приховані учасники лишаються названими",[69,410,89],{},[45,412,413,421,424,427,440],{},[69,414,415],{},[14,416,418],{"href":417},"\u002Fdocs\u002Fcomponents\u002Fdescription-list",[75,419,420],{},"UiDescriptionList",[69,422,423],{},"Пари «назва — значення» в картці",[69,425,426],{},"—",[69,428,429,430,433,434,433,437],{},"справжні ",[75,431,432],{},"dl","\u002F",[75,435,436],{},"dt",[75,438,439],{},"dd",[69,441,89],{},[45,443,444,452,455,457,460],{},[69,445,446],{},[14,447,449],{"href":448},"\u002Fdocs\u002Fcomponents\u002Fseparator",[75,450,451],{},"UiSeparator",[69,453,454],{},"Межа між секціями",[69,456,426],{},[69,458,459],{},"декоративний проти смислового",[69,461,89],{},[45,463,464,472,475,477,483],{},[69,465,466],{},[14,467,469],{"href":468},"\u002Fdocs\u002Fcomponents\u002Ftimeline",[75,470,471],{},"UiTimeline",[69,473,474],{},"Історія запису",[69,476,426],{},[69,478,479,482],{},[75,480,481],{},"\u003Ctime datetime>",", детермінований пояс",[69,484,89],{},[45,486,487,495,498,501,504],{},[69,488,489],{},[14,490,492],{"href":491},"\u002Fdocs\u002Fcomponents\u002Ftag-input",[75,493,494],{},"UiTagInput",[69,496,497],{},"Мітки з вільним вводом",[69,499,500],{},"Combobox + Chip",[69,502,503],{},"список міток проти listbox, live-region",[69,505,89],{},[45,507,508,516,519,522,531],{},[69,509,510],{},[14,511,513],{"href":512},"\u002Fdocs\u002Fcomponents\u002Fnumber-input",[75,514,515],{},"UiNumberInput",[69,517,518],{},"Кількість, ціна, відсоток",[69,520,521],{},"Field styles",[69,523,524,527,528],{},[75,525,526],{},"role=\"spinbutton\"",", ",[75,529,530],{},"aria-valuetext",[69,532,89],{},[45,534,535,543,546,549,555],{},[69,536,537],{},[14,538,540],{"href":539},"\u002Fdocs\u002Fcomponents\u002Fsplit-button",[75,541,542],{},"UiSplitButton",[69,544,545],{},"Головна дія плюс альтернативи",[69,547,548],{},"Button + Menu",[69,550,551,554],{},[75,552,553],{},"role=\"group\"",", ArrowDown на головній",[69,556,89],{},[45,558,559,567,570,573,579],{},[69,560,561],{},[14,562,564],{"href":563},"\u002Fdocs\u002Fcomponents\u002Fcalendar",[75,565,566],{},"UiCalendar",[69,568,569],{},"Сітка місяця, діапазони",[69,571,572],{},"Roving tabindex",[69,574,575,578],{},[75,576,577],{},"role=\"grid\"",", повна дата в назві дня",[69,580,89],{},[45,582,583,591,594,597,604],{},[69,584,585],{},[14,586,588],{"href":587},"\u002Fdocs\u002Fcomponents\u002Fdate-range-picker",[75,589,590],{},"UiDateRangePicker",[69,592,593],{},"Період над таблицею чи звітом",[69,595,596],{},"Calendar + anchored panel",[69,598,599,600,603],{},"один ",[75,601,602],{},"tabindex=\"0\""," на два місяці",[69,605,89],{},[45,607,608,617,620,623,626],{},[69,609,610,616],{},[14,611,613],{"href":612},"\u002Fdocs\u002Fcomponents\u002Ftable",[75,614,615],{},"UiTable"," — вибір рядків",[69,618,619],{},"Масові дії над записами",[69,621,622],{},"Table + Checkbox",[69,624,625],{},"ім'я прапорця з назви рядка",[69,627,89],{},[10,629,630,631,634,635,638,639,642],{},"Дати рахуються без бібліотеки дат: уся арифметика — в\n",[75,632,633],{},"app\u002Futils\u002Fcalendar.ts",", і кожна нова дата будується конструктором\n",[75,636,637],{},"new Date(рік, місяць, день)",", а не додаванням мілісекунд. Це не стиль:\n",[75,640,641],{},"+ 86 400 000"," ламає сітку місяця двічі на рік, у ночі переходу на літній і\nзимовий час.",[34,644,646],{"id":645},"як-наступний-компонент-переходить-у-роботу","Як наступний компонент переходить у роботу",[10,648,649],{},"Кандидат піднімається у пріоритеті, якщо повторюється щонайменше у двох\nпродуктах, має нетривіальний keyboard\u002FARIA-контракт або стає основою для\nкількох наступних компонентів. Реалізація має лишатися copy-first і не\nдодавати runtime-залежність без окремого задокументованого винятку.",{"title":651,"searchDepth":652,"depth":652,"links":653},"",2,[654,655,656,657,658],{"id":36,"depth":652,"text":37},{"id":134,"depth":652,"text":135},{"id":240,"depth":652,"text":241},{"id":346,"depth":652,"text":347},{"id":645,"depth":652,"text":646},null,[],"Реалізовані пріоритети UI-компонентів і критерії наступного циклу розвитку бібліотеки.",{},"md",{},true,3,"\u002Fdocs\u002Froadmap",{"title":5,"description":661},"docs\u002Froadmap","ayRR1D_HCYwbIHfVDhJXmbslZ62oyrxcsmBd7yR_sM8",1788072641428]