@fastsprout/reacd-shadcn 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +28 -2
  3. package/THIRD_PARTY_NOTICES.md +21 -0
  4. package/dist/accordion/accordion.adapter.d.ts +2 -0
  5. package/dist/accordion/accordion.adapter.js +10 -0
  6. package/dist/action-menu/menu-content.d.ts +5 -0
  7. package/dist/action-menu/menu-content.js +15 -0
  8. package/dist/action-menu/menu-items.d.ts +5 -0
  9. package/dist/action-menu/menu-items.js +46 -0
  10. package/dist/action-menu/menu-surface.d.ts +7 -0
  11. package/dist/action-menu/menu-surface.js +15 -0
  12. package/dist/action-menu/use-menu-frame.d.ts +8 -0
  13. package/dist/action-menu/use-menu-frame.js +24 -0
  14. package/dist/alert/alert.adapter.d.ts +2 -0
  15. package/dist/alert/alert.adapter.js +13 -0
  16. package/dist/app/app.adapter.d.ts +2 -0
  17. package/dist/app/app.adapter.js +7 -0
  18. package/dist/auth-form/auth-form.adapter.d.ts +2 -0
  19. package/dist/auth-form/auth-form.adapter.js +21 -0
  20. package/dist/avatar/avatar.adapter.d.ts +2 -0
  21. package/dist/avatar/avatar.adapter.js +8 -0
  22. package/dist/avatar-group/avatar-group.adapter.d.ts +2 -0
  23. package/dist/avatar-group/avatar-group.adapter.js +9 -0
  24. package/dist/avatar-group/overflow.adapter.d.ts +5 -0
  25. package/dist/avatar-group/overflow.adapter.js +5 -0
  26. package/dist/badge/badge.adapter.d.ts +2 -0
  27. package/dist/badge/badge.adapter.js +9 -0
  28. package/dist/banner/banner.adapter.d.ts +2 -0
  29. package/dist/banner/banner.adapter.js +12 -0
  30. package/dist/blog-post/blog-post.adapter.d.ts +3 -0
  31. package/dist/blog-post/blog-post.adapter.js +5 -0
  32. package/dist/blog-posts/blog-posts.adapter.d.ts +3 -0
  33. package/dist/blog-posts/blog-posts.adapter.js +7 -0
  34. package/dist/breadcrumb/breadcrumb.adapter.d.ts +2 -0
  35. package/dist/breadcrumb/breadcrumb.adapter.js +13 -0
  36. package/dist/button/button.adapter.d.ts +2 -0
  37. package/dist/button/button.adapter.js +8 -0
  38. package/dist/calendar/calendar-date.d.ts +7 -0
  39. package/dist/calendar/calendar-date.js +24 -0
  40. package/dist/calendar/calendar-day-button.d.ts +2 -0
  41. package/dist/calendar/calendar-day-button.js +9 -0
  42. package/dist/calendar/calendar-form-bridge.d.ts +6 -0
  43. package/dist/calendar/calendar-form-bridge.js +11 -0
  44. package/dist/calendar/calendar-localization.d.ts +15 -0
  45. package/dist/calendar/calendar-localization.js +28 -0
  46. package/dist/calendar/calendar.adapter.d.ts +2 -0
  47. package/dist/calendar/calendar.adapter.js +47 -0
  48. package/dist/card/card.adapter.d.ts +2 -0
  49. package/dist/card/card.adapter.js +13 -0
  50. package/dist/carousel/carousel-panel.d.ts +7 -0
  51. package/dist/carousel/carousel-panel.js +8 -0
  52. package/dist/carousel/carousel.adapter.d.ts +2 -0
  53. package/dist/carousel/carousel.adapter.js +43 -0
  54. package/dist/carousel/focus-boundary.d.ts +16 -0
  55. package/dist/carousel/focus-boundary.js +19 -0
  56. package/dist/changelog-version/changelog-version.adapter.d.ts +3 -0
  57. package/dist/changelog-version/changelog-version.adapter.js +5 -0
  58. package/dist/changelog-versions/changelog-versions.adapter.d.ts +3 -0
  59. package/dist/changelog-versions/changelog-versions.adapter.js +8 -0
  60. package/dist/chart/cartesian.d.ts +5 -0
  61. package/dist/chart/cartesian.js +15 -0
  62. package/dist/chart/chart-graphic.d.ts +2 -0
  63. package/dist/chart/chart-graphic.js +14 -0
  64. package/dist/chart/chart-table.d.ts +2 -0
  65. package/dist/chart/chart-table.js +6 -0
  66. package/dist/chart/chart.adapter.d.ts +2 -0
  67. package/dist/chart/chart.adapter.js +17 -0
  68. package/dist/chart/legend.d.ts +3 -0
  69. package/dist/chart/legend.js +14 -0
  70. package/dist/chart/patterns.d.ts +9 -0
  71. package/dist/chart/patterns.js +8 -0
  72. package/dist/chat-attachment/chat-attachment.adapter.d.ts +2 -0
  73. package/dist/chat-attachment/chat-attachment.adapter.js +12 -0
  74. package/dist/chat-disclosure/chat-disclosure.d.ts +9 -0
  75. package/dist/chat-disclosure/chat-disclosure.js +10 -0
  76. package/dist/chat-message/chat-message.adapter.d.ts +2 -0
  77. package/dist/chat-message/chat-message.adapter.js +12 -0
  78. package/dist/chat-messages/chat-messages.adapter.d.ts +2 -0
  79. package/dist/chat-messages/chat-messages.adapter.js +13 -0
  80. package/dist/chat-messages/use-follow-latest.d.ts +6 -0
  81. package/dist/chat-messages/use-follow-latest.js +33 -0
  82. package/dist/chat-palette/chat-palette.adapter.d.ts +2 -0
  83. package/dist/chat-palette/chat-palette.adapter.js +4 -0
  84. package/dist/chat-prompt/chat-prompt.adapter.d.ts +2 -0
  85. package/dist/chat-prompt/chat-prompt.adapter.js +30 -0
  86. package/dist/chat-prompt/use-prompt-controls.d.ts +22 -0
  87. package/dist/chat-prompt/use-prompt-controls.js +69 -0
  88. package/dist/chat-prompt/use-prompt-escape.d.ts +5 -0
  89. package/dist/chat-prompt/use-prompt-escape.js +39 -0
  90. package/dist/chat-prompt-submit/chat-prompt-submit.adapter.d.ts +2 -0
  91. package/dist/chat-prompt-submit/chat-prompt-submit.adapter.js +14 -0
  92. package/dist/chat-prompt-submit/prompt-action.d.ts +12 -0
  93. package/dist/chat-prompt-submit/prompt-action.js +45 -0
  94. package/dist/chat-reasoning/chat-reasoning.adapter.d.ts +2 -0
  95. package/dist/chat-reasoning/chat-reasoning.adapter.js +15 -0
  96. package/dist/chat-reasoning/use-reasoning-disclosure.d.ts +10 -0
  97. package/dist/chat-reasoning/use-reasoning-disclosure.js +23 -0
  98. package/dist/chat-shimmer/chat-shimmer.adapter.d.ts +2 -0
  99. package/dist/chat-shimmer/chat-shimmer.adapter.js +5 -0
  100. package/dist/chat-tool/chat-tool.adapter.d.ts +2 -0
  101. package/dist/chat-tool/chat-tool.adapter.js +7 -0
  102. package/dist/checkbox/checkbox.adapter.d.ts +2 -0
  103. package/dist/checkbox/checkbox.adapter.js +27 -0
  104. package/dist/checkbox-group/checkbox-group.adapter.d.ts +2 -0
  105. package/dist/checkbox-group/checkbox-group.adapter.js +18 -0
  106. package/dist/chip/chip.adapter.d.ts +2 -0
  107. package/dist/chip/chip.adapter.js +12 -0
  108. package/dist/code-editor/code-editor.adapter.d.ts +2 -0
  109. package/dist/code-editor/code-editor.adapter.js +9 -0
  110. package/dist/collapsible/collapsible.adapter.d.ts +2 -0
  111. package/dist/collapsible/collapsible.adapter.js +11 -0
  112. package/dist/color-mode-avatar/color-mode-avatar.adapter.d.ts +2 -0
  113. package/dist/color-mode-avatar/color-mode-avatar.adapter.js +6 -0
  114. package/dist/color-mode-button/color-mode-button.adapter.d.ts +2 -0
  115. package/dist/color-mode-button/color-mode-button.adapter.js +11 -0
  116. package/dist/color-mode-image/color-mode-image.adapter.d.ts +2 -0
  117. package/dist/color-mode-image/color-mode-image.adapter.js +6 -0
  118. package/dist/color-mode-image/mode-image.d.ts +4 -0
  119. package/dist/color-mode-image/mode-image.js +8 -0
  120. package/dist/color-mode-select/color-mode-select.adapter.d.ts +2 -0
  121. package/dist/color-mode-select/color-mode-select.adapter.js +16 -0
  122. package/dist/color-mode-switch/color-mode-switch.adapter.d.ts +2 -0
  123. package/dist/color-mode-switch/color-mode-switch.adapter.js +5 -0
  124. package/dist/color-picker/color-hex.d.ts +11 -0
  125. package/dist/color-picker/color-hex.js +57 -0
  126. package/dist/color-picker/color-picker.adapter.d.ts +2 -0
  127. package/dist/color-picker/color-picker.adapter.js +20 -0
  128. package/dist/color-picker/use-color-model.d.ts +6 -0
  129. package/dist/color-picker/use-color-model.js +18 -0
  130. package/dist/command-palette/command-palette.adapter.d.ts +2 -0
  131. package/dist/command-palette/command-palette.adapter.js +44 -0
  132. package/dist/container/container.adapter.d.ts +2 -0
  133. package/dist/container/container.adapter.js +4 -0
  134. package/dist/content-navigation/content-navigation.adapter.d.ts +2 -0
  135. package/dist/content-navigation/content-navigation.adapter.js +10 -0
  136. package/dist/content-search/content-search.adapter.d.ts +2 -0
  137. package/dist/content-search/content-search.adapter.js +27 -0
  138. package/dist/content-search-button/content-search-button.adapter.d.ts +2 -0
  139. package/dist/content-search-button/content-search-button.adapter.js +6 -0
  140. package/dist/content-surround/content-surround.adapter.d.ts +2 -0
  141. package/dist/content-surround/content-surround.adapter.js +14 -0
  142. package/dist/content-toc/content-toc.adapter.d.ts +2 -0
  143. package/dist/content-toc/content-toc.adapter.js +10 -0
  144. package/dist/context-menu/context-menu.adapter.d.ts +2 -0
  145. package/dist/context-menu/context-menu.adapter.js +13 -0
  146. package/dist/context-menu/keyboard-trigger.d.ts +2 -0
  147. package/dist/context-menu/keyboard-trigger.js +13 -0
  148. package/dist/dashboard-group/dashboard-group.adapter.d.ts +3 -0
  149. package/dist/dashboard-group/dashboard-group.adapter.js +54 -0
  150. package/dist/dashboard-navbar/dashboard-navbar.adapter.d.ts +2 -0
  151. package/dist/dashboard-navbar/dashboard-navbar.adapter.js +12 -0
  152. package/dist/dashboard-panel/dashboard-panel.adapter.d.ts +2 -0
  153. package/dist/dashboard-panel/dashboard-panel.adapter.js +18 -0
  154. package/dist/dashboard-resize-handle/dashboard-resize-handle.adapter.d.ts +2 -0
  155. package/dist/dashboard-resize-handle/dashboard-resize-handle.adapter.js +46 -0
  156. package/dist/dashboard-search/dashboard-search.adapter.d.ts +2 -0
  157. package/dist/dashboard-search/dashboard-search.adapter.js +24 -0
  158. package/dist/dashboard-search-button/dashboard-search-button.adapter.d.ts +2 -0
  159. package/dist/dashboard-search-button/dashboard-search-button.adapter.js +6 -0
  160. package/dist/dashboard-sidebar/dashboard-sidebar.adapter.d.ts +2 -0
  161. package/dist/dashboard-sidebar/dashboard-sidebar.adapter.js +19 -0
  162. package/dist/dashboard-sidebar-collapse/dashboard-sidebar-collapse.adapter.d.ts +2 -0
  163. package/dist/dashboard-sidebar-collapse/dashboard-sidebar-collapse.adapter.js +22 -0
  164. package/dist/dashboard-sidebar-toggle/dashboard-sidebar-toggle.adapter.d.ts +2 -0
  165. package/dist/dashboard-sidebar-toggle/dashboard-sidebar-toggle.adapter.js +22 -0
  166. package/dist/dashboard-toolbar/dashboard-toolbar.adapter.d.ts +2 -0
  167. package/dist/dashboard-toolbar/dashboard-toolbar.adapter.js +4 -0
  168. package/dist/data-table/data-table.adapter.d.ts +2 -0
  169. package/dist/data-table/data-table.adapter.js +28 -0
  170. package/dist/data-table/filters.adapter.d.ts +8 -0
  171. package/dist/data-table/filters.adapter.js +40 -0
  172. package/dist/data-table/pagination.adapter.d.ts +2 -0
  173. package/dist/data-table/pagination.adapter.js +21 -0
  174. package/dist/divider/divider.adapter.d.ts +1 -0
  175. package/dist/divider/divider.adapter.js +5 -0
  176. package/dist/drawer/drawer.adapter.d.ts +2 -0
  177. package/dist/drawer/drawer.adapter.js +14 -0
  178. package/dist/dropdown-menu/dropdown-menu.adapter.d.ts +2 -0
  179. package/dist/dropdown-menu/dropdown-menu.adapter.js +14 -0
  180. package/dist/editor/drag-session.d.ts +7 -0
  181. package/dist/editor/drag-session.js +41 -0
  182. package/dist/editor/editor.adapter.d.ts +2 -0
  183. package/dist/editor/editor.adapter.js +21 -0
  184. package/dist/editor/publish-edit.d.ts +3 -0
  185. package/dist/editor/publish-edit.js +12 -0
  186. package/dist/editor/use-editor-port.d.ts +5 -0
  187. package/dist/editor/use-editor-port.js +40 -0
  188. package/dist/editor/use-editor-session.d.ts +14 -0
  189. package/dist/editor/use-editor-session.js +198 -0
  190. package/dist/editor-conversion/attribute.d.ts +3 -0
  191. package/dist/editor-conversion/attribute.js +3 -0
  192. package/dist/editor-conversion/budget.d.ts +2 -0
  193. package/dist/editor-conversion/budget.js +61 -0
  194. package/dist/editor-conversion/from-sdk-block.d.ts +5 -0
  195. package/dist/editor-conversion/from-sdk-block.js +73 -0
  196. package/dist/editor-conversion/from-sdk-inline.d.ts +3 -0
  197. package/dist/editor-conversion/from-sdk-inline.js +57 -0
  198. package/dist/editor-conversion/from-sdk.d.ts +4 -0
  199. package/dist/editor-conversion/from-sdk.js +35 -0
  200. package/dist/editor-conversion/id-allocator.d.ts +2 -0
  201. package/dist/editor-conversion/id-allocator.js +29 -0
  202. package/dist/editor-conversion/projection-weight.d.ts +8 -0
  203. package/dist/editor-conversion/projection-weight.js +124 -0
  204. package/dist/editor-conversion/text-chunks.d.ts +6 -0
  205. package/dist/editor-conversion/text-chunks.js +18 -0
  206. package/dist/editor-conversion/to-sdk.d.ts +3 -0
  207. package/dist/editor-conversion/to-sdk.js +58 -0
  208. package/dist/editor-drag-handle/editor-drag-handle.adapter.d.ts +2 -0
  209. package/dist/editor-drag-handle/editor-drag-handle.adapter.js +54 -0
  210. package/dist/editor-drag-handle/use-drag-session.d.ts +9 -0
  211. package/dist/editor-drag-handle/use-drag-session.js +22 -0
  212. package/dist/editor-emoji-menu/editor-emoji-menu.adapter.d.ts +2 -0
  213. package/dist/editor-emoji-menu/editor-emoji-menu.adapter.js +9 -0
  214. package/dist/editor-mention-menu/editor-mention-menu.adapter.d.ts +2 -0
  215. package/dist/editor-mention-menu/editor-mention-menu.adapter.js +17 -0
  216. package/dist/editor-menu/lookup-controller.d.ts +24 -0
  217. package/dist/editor-menu/lookup-controller.js +83 -0
  218. package/dist/editor-menu/menu-panel.d.ts +10 -0
  219. package/dist/editor-menu/menu-panel.js +17 -0
  220. package/dist/editor-menu/menu-plugin.d.ts +3 -0
  221. package/dist/editor-menu/menu-plugin.js +190 -0
  222. package/dist/editor-menu/menu-port.d.ts +3 -0
  223. package/dist/editor-menu/menu-port.js +27 -0
  224. package/dist/editor-menu/menu-store.d.ts +20 -0
  225. package/dist/editor-menu/menu-store.js +92 -0
  226. package/dist/editor-menu/use-editor-menu.d.ts +9 -0
  227. package/dist/editor-menu/use-editor-menu.js +21 -0
  228. package/dist/editor-sdk/apply-paste.d.ts +3 -0
  229. package/dist/editor-sdk/apply-paste.js +12 -0
  230. package/dist/editor-sdk/atom-data.d.ts +7 -0
  231. package/dist/editor-sdk/atom-data.js +41 -0
  232. package/dist/editor-sdk/atoms.d.ts +3 -0
  233. package/dist/editor-sdk/atoms.js +25 -0
  234. package/dist/editor-sdk/block-types.d.ts +1 -0
  235. package/dist/editor-sdk/block-types.js +10 -0
  236. package/dist/editor-sdk/command-chain.d.ts +3 -0
  237. package/dist/editor-sdk/command-chain.js +25 -0
  238. package/dist/editor-sdk/commands.d.ts +5 -0
  239. package/dist/editor-sdk/commands.js +38 -0
  240. package/dist/editor-sdk/controlled-selection.d.ts +2 -0
  241. package/dist/editor-sdk/controlled-selection.js +8 -0
  242. package/dist/editor-sdk/extensions.d.ts +2 -0
  243. package/dist/editor-sdk/extensions.js +21 -0
  244. package/dist/editor-sdk/identity-plugin.d.ts +18 -0
  245. package/dist/editor-sdk/identity-plugin.js +107 -0
  246. package/dist/editor-sdk/identity.d.ts +3 -0
  247. package/dist/editor-sdk/identity.js +28 -0
  248. package/dist/editor-sdk/plain-paste.d.ts +3 -0
  249. package/dist/editor-sdk/plain-paste.js +66 -0
  250. package/dist/editor-sdk/resources.d.ts +5 -0
  251. package/dist/editor-sdk/resources.js +14 -0
  252. package/dist/editor-sdk/select-block.d.ts +2 -0
  253. package/dist/editor-sdk/select-block.js +31 -0
  254. package/dist/editor-sdk/selection-mapping.d.ts +9 -0
  255. package/dist/editor-sdk/selection-mapping.js +92 -0
  256. package/dist/editor-sdk/structural-selection.d.ts +4 -0
  257. package/dist/editor-sdk/structural-selection.js +21 -0
  258. package/dist/editor-suggestion-menu/editor-suggestion-menu.adapter.d.ts +2 -0
  259. package/dist/editor-suggestion-menu/editor-suggestion-menu.adapter.js +13 -0
  260. package/dist/editor-toolbar/editor-toolbar.adapter.d.ts +2 -0
  261. package/dist/editor-toolbar/editor-toolbar.adapter.js +38 -0
  262. package/dist/element/variants.d.ts +5 -0
  263. package/dist/element/variants.js +5 -0
  264. package/dist/empty/empty.adapter.d.ts +2 -0
  265. package/dist/empty/empty.adapter.js +10 -0
  266. package/dist/error/error.adapter.d.ts +2 -0
  267. package/dist/error/error.adapter.js +9 -0
  268. package/dist/field-group/field-group.adapter.d.ts +2 -0
  269. package/dist/field-group/field-group.adapter.js +5 -0
  270. package/dist/file-upload/file-upload.adapter.d.ts +2 -0
  271. package/dist/file-upload/file-upload.adapter.js +60 -0
  272. package/dist/file-upload/intake-validation.d.ts +8 -0
  273. package/dist/file-upload/intake-validation.js +48 -0
  274. package/dist/file-upload/intake.d.ts +36 -0
  275. package/dist/file-upload/intake.js +112 -0
  276. package/dist/file-upload/read-file.d.ts +5 -0
  277. package/dist/file-upload/read-file.js +32 -0
  278. package/dist/footer/footer.adapter.d.ts +2 -0
  279. package/dist/footer/footer.adapter.js +4 -0
  280. package/dist/footer-columns/footer-columns.adapter.d.ts +2 -0
  281. package/dist/footer-columns/footer-columns.adapter.js +8 -0
  282. package/dist/form-field/focus-control.d.ts +1 -0
  283. package/dist/form-field/focus-control.js +21 -0
  284. package/dist/form-field/form-field.adapter.d.ts +2 -0
  285. package/dist/form-field/form-field.adapter.js +22 -0
  286. package/dist/form-menu-shared/request.d.ts +4 -0
  287. package/dist/form-menu-shared/request.js +14 -0
  288. package/dist/grid/grid.adapter.d.ts +2 -0
  289. package/dist/grid/grid.adapter.js +5 -0
  290. package/dist/h-stack/h-stack.adapter.d.ts +2 -0
  291. package/dist/h-stack/h-stack.adapter.js +5 -0
  292. package/dist/header/header-menu.d.ts +7 -0
  293. package/dist/header/header-menu.js +25 -0
  294. package/dist/header/header.adapter.d.ts +2 -0
  295. package/dist/header/header.adapter.js +5 -0
  296. package/dist/icon/icon-map.d.ts +16 -0
  297. package/dist/icon/icon-map.js +17 -0
  298. package/dist/icon/icon.adapter.d.ts +2 -0
  299. package/dist/icon/icon.adapter.js +7 -0
  300. package/dist/index.d.ts +1 -0
  301. package/dist/index.js +1 -0
  302. package/dist/input/input.adapter.d.ts +2 -0
  303. package/dist/input/input.adapter.js +34 -0
  304. package/dist/input/validation-message.d.ts +1 -0
  305. package/dist/input/validation-message.js +13 -0
  306. package/dist/input-date/date-control.d.ts +16 -0
  307. package/dist/input-date/date-control.js +35 -0
  308. package/dist/input-date/input-date.adapter.d.ts +2 -0
  309. package/dist/input-date/input-date.adapter.js +36 -0
  310. package/dist/input-menu/input-menu-form.d.ts +7 -0
  311. package/dist/input-menu/input-menu-form.js +8 -0
  312. package/dist/input-menu/input-menu-popup.d.ts +8 -0
  313. package/dist/input-menu/input-menu-popup.js +13 -0
  314. package/dist/input-menu/input-menu.adapter.d.ts +2 -0
  315. package/dist/input-menu/input-menu.adapter.js +74 -0
  316. package/dist/input-menu/use-input-menu.d.ts +26 -0
  317. package/dist/input-menu/use-input-menu.js +92 -0
  318. package/dist/input-number/input-number.adapter.d.ts +2 -0
  319. package/dist/input-number/input-number.adapter.js +13 -0
  320. package/dist/input-rating/input-rating.adapter.d.ts +2 -0
  321. package/dist/input-rating/input-rating.adapter.js +33 -0
  322. package/dist/input-rating/rating-stars.d.ts +4 -0
  323. package/dist/input-rating/rating-stars.js +9 -0
  324. package/dist/input-tags/input-tags.adapter.d.ts +2 -0
  325. package/dist/input-tags/input-tags.adapter.js +47 -0
  326. package/dist/input-tags/use-tag-draft.d.ts +9 -0
  327. package/dist/input-tags/use-tag-draft.js +43 -0
  328. package/dist/input-time/anchored-time.d.ts +1 -0
  329. package/dist/input-time/anchored-time.js +5 -0
  330. package/dist/input-time/draft-validation.d.ts +1 -0
  331. package/dist/input-time/draft-validation.js +1 -0
  332. package/dist/input-time/focus-draft.d.ts +1 -0
  333. package/dist/input-time/focus-draft.js +1 -0
  334. package/dist/input-time/input-time.adapter.d.ts +2 -0
  335. package/dist/input-time/input-time.adapter.js +32 -0
  336. package/dist/input-time/time-control.d.ts +15 -0
  337. package/dist/input-time/time-control.js +37 -0
  338. package/dist/input-time/use-time-change.d.ts +10 -0
  339. package/dist/input-time/use-time-change.js +4 -0
  340. package/dist/kbd/kbd-key.adapter.d.ts +5 -0
  341. package/dist/kbd/kbd-key.adapter.js +5 -0
  342. package/dist/kbd/kbd.adapter.d.ts +2 -0
  343. package/dist/kbd/kbd.adapter.js +8 -0
  344. package/dist/listbox/clear-focus.d.ts +1 -0
  345. package/dist/listbox/clear-focus.js +8 -0
  346. package/dist/listbox/form-bridge.d.ts +14 -0
  347. package/dist/listbox/form-bridge.js +34 -0
  348. package/dist/listbox/listbox.adapter.d.ts +2 -0
  349. package/dist/listbox/listbox.adapter.js +79 -0
  350. package/dist/listbox/native-semantics.d.ts +9 -0
  351. package/dist/listbox/native-semantics.js +33 -0
  352. package/dist/listbox/selection.d.ts +4 -0
  353. package/dist/listbox/selection.js +31 -0
  354. package/dist/listbox/use-listbox-request.d.ts +10 -0
  355. package/dist/listbox/use-listbox-request.js +73 -0
  356. package/dist/locale-select/locale-select.adapter.d.ts +2 -0
  357. package/dist/locale-select/locale-select.adapter.js +15 -0
  358. package/dist/main/main.adapter.d.ts +2 -0
  359. package/dist/main/main.adapter.js +7 -0
  360. package/dist/marquee/marquee.adapter.d.ts +2 -0
  361. package/dist/marquee/marquee.adapter.js +23 -0
  362. package/dist/modal/modal.adapter.d.ts +2 -0
  363. package/dist/modal/modal.adapter.js +30 -0
  364. package/dist/navigation/navigation.adapter.d.ts +2 -0
  365. package/dist/navigation/navigation.adapter.js +5 -0
  366. package/dist/navigation-menu/menu-target.d.ts +4 -0
  367. package/dist/navigation-menu/menu-target.js +13 -0
  368. package/dist/navigation-menu/navigation-menu.adapter.d.ts +2 -0
  369. package/dist/navigation-menu/navigation-menu.adapter.js +16 -0
  370. package/dist/page-anchors/page-anchors.adapter.d.ts +3 -0
  371. package/dist/page-anchors/page-anchors.adapter.js +5 -0
  372. package/dist/page-aside/page-aside.adapter.d.ts +2 -0
  373. package/dist/page-aside/page-aside.adapter.js +6 -0
  374. package/dist/page-body/page-body.adapter.d.ts +2 -0
  375. package/dist/page-body/page-body.adapter.js +4 -0
  376. package/dist/page-card/page-card.adapter.d.ts +3 -0
  377. package/dist/page-card/page-card.adapter.js +5 -0
  378. package/dist/page-columns/page-columns.adapter.d.ts +2 -0
  379. package/dist/page-columns/page-columns.adapter.js +5 -0
  380. package/dist/page-cta/page-cta.adapter.d.ts +3 -0
  381. package/dist/page-cta/page-cta.adapter.js +5 -0
  382. package/dist/page-feature/page-feature.adapter.d.ts +3 -0
  383. package/dist/page-feature/page-feature.adapter.js +6 -0
  384. package/dist/page-grid/page-grid.adapter.d.ts +2 -0
  385. package/dist/page-grid/page-grid.adapter.js +4 -0
  386. package/dist/page-header/page-header.adapter.d.ts +3 -0
  387. package/dist/page-header/page-header.adapter.js +5 -0
  388. package/dist/page-hero/page-hero.adapter.d.ts +3 -0
  389. package/dist/page-hero/page-hero.adapter.js +5 -0
  390. package/dist/page-links/page-links.adapter.d.ts +3 -0
  391. package/dist/page-links/page-links.adapter.js +5 -0
  392. package/dist/page-list/page-list.adapter.d.ts +2 -0
  393. package/dist/page-list/page-list.adapter.js +6 -0
  394. package/dist/page-logos/page-logos.adapter.d.ts +2 -0
  395. package/dist/page-logos/page-logos.adapter.js +11 -0
  396. package/dist/page-section/page-section.adapter.d.ts +3 -0
  397. package/dist/page-section/page-section.adapter.js +5 -0
  398. package/dist/pagination/pagination-control.d.ts +13 -0
  399. package/dist/pagination/pagination-control.js +31 -0
  400. package/dist/pagination/pagination.adapter.d.ts +2 -0
  401. package/dist/pagination/pagination.adapter.js +23 -0
  402. package/dist/panel/use-panel-frame.d.ts +15 -0
  403. package/dist/panel/use-panel-frame.js +36 -0
  404. package/dist/pin-input/pin-input.adapter.d.ts +2 -0
  405. package/dist/pin-input/pin-input.adapter.js +18 -0
  406. package/dist/pin-input/pin-slots.d.ts +6 -0
  407. package/dist/pin-input/pin-slots.js +9 -0
  408. package/dist/popover/popover.adapter.d.ts +2 -0
  409. package/dist/popover/popover.adapter.js +55 -0
  410. package/dist/pricing-plan/pricing-plan.adapter.d.ts +3 -0
  411. package/dist/pricing-plan/pricing-plan.adapter.js +15 -0
  412. package/dist/pricing-plans/pricing-plans.adapter.d.ts +3 -0
  413. package/dist/pricing-plans/pricing-plans.adapter.js +8 -0
  414. package/dist/pricing-table/pricing-table.adapter.d.ts +3 -0
  415. package/dist/pricing-table/pricing-table.adapter.js +9 -0
  416. package/dist/progress/progress.adapter.d.ts +2 -0
  417. package/dist/progress/progress.adapter.js +10 -0
  418. package/dist/progress-group/progress-group.adapter.d.ts +2 -0
  419. package/dist/progress-group/progress-group.adapter.js +9 -0
  420. package/dist/radio-group/radio-group.adapter.d.ts +2 -0
  421. package/dist/radio-group/radio-group.adapter.js +14 -0
  422. package/dist/registry/action-menus.d.ts +4 -0
  423. package/dist/registry/action-menus.js +9 -0
  424. package/dist/registry/auth-form.d.ts +3 -0
  425. package/dist/registry/auth-form.js +6 -0
  426. package/dist/registry/calendar.d.ts +3 -0
  427. package/dist/registry/calendar.js +6 -0
  428. package/dist/registry/carousel.d.ts +3 -0
  429. package/dist/registry/carousel.js +6 -0
  430. package/dist/registry/chart.d.ts +3 -0
  431. package/dist/registry/chart.js +4 -0
  432. package/dist/registry/chat-composer.d.ts +5 -0
  433. package/dist/registry/chat-composer.js +12 -0
  434. package/dist/registry/chat-feedback.d.ts +5 -0
  435. package/dist/registry/chat-feedback.js +12 -0
  436. package/dist/registry/chat.d.ts +5 -0
  437. package/dist/registry/chat.js +12 -0
  438. package/dist/registry/color-mode.d.ts +7 -0
  439. package/dist/registry/color-mode.js +18 -0
  440. package/dist/registry/color-picker.d.ts +3 -0
  441. package/dist/registry/color-picker.js +6 -0
  442. package/dist/registry/command-palette.d.ts +3 -0
  443. package/dist/registry/command-palette.js +6 -0
  444. package/dist/registry/content-outline.d.ts +4 -0
  445. package/dist/registry/content-outline.js +9 -0
  446. package/dist/registry/content-search.d.ts +4 -0
  447. package/dist/registry/content-search.js +9 -0
  448. package/dist/registry/content.d.ts +26 -0
  449. package/dist/registry/content.js +75 -0
  450. package/dist/registry/dashboard.d.ts +12 -0
  451. package/dist/registry/dashboard.js +33 -0
  452. package/dist/registry/edge-panels.d.ts +4 -0
  453. package/dist/registry/edge-panels.js +9 -0
  454. package/dist/registry/editor-drag-handle.d.ts +3 -0
  455. package/dist/registry/editor-drag-handle.js +6 -0
  456. package/dist/registry/editor-menus.d.ts +5 -0
  457. package/dist/registry/editor-menus.js +12 -0
  458. package/dist/registry/editor.d.ts +4 -0
  459. package/dist/registry/editor.js +9 -0
  460. package/dist/registry/editorial.d.ts +6 -0
  461. package/dist/registry/editorial.js +15 -0
  462. package/dist/registry/element.d.ts +3 -0
  463. package/dist/registry/element.js +4 -0
  464. package/dist/registry/feedback.d.ts +8 -0
  465. package/dist/registry/feedback.js +21 -0
  466. package/dist/registry/fields.d.ts +24 -0
  467. package/dist/registry/fields.js +69 -0
  468. package/dist/registry/file-upload.d.ts +3 -0
  469. package/dist/registry/file-upload.js +6 -0
  470. package/dist/registry/listbox.d.ts +3 -0
  471. package/dist/registry/listbox.js +6 -0
  472. package/dist/registry/marquee.d.ts +3 -0
  473. package/dist/registry/marquee.js +6 -0
  474. package/dist/registry/navigation-composition.d.ts +5 -0
  475. package/dist/registry/navigation-composition.js +12 -0
  476. package/dist/registry/page-composition.d.ts +7 -0
  477. package/dist/registry/page-composition.js +18 -0
  478. package/dist/registry/page-logos.d.ts +3 -0
  479. package/dist/registry/page-logos.js +6 -0
  480. package/dist/registry/page-navigation.d.ts +5 -0
  481. package/dist/registry/page-navigation.js +12 -0
  482. package/dist/registry/page-presentation.d.ts +7 -0
  483. package/dist/registry/page-presentation.js +18 -0
  484. package/dist/registry/pricing.d.ts +5 -0
  485. package/dist/registry/pricing.js +12 -0
  486. package/dist/registry/shells.d.ts +10 -0
  487. package/dist/registry/shells.js +27 -0
  488. package/dist/registry/sidebar-splitter.d.ts +4 -0
  489. package/dist/registry/sidebar-splitter.js +9 -0
  490. package/dist/registry/structure.d.ts +10 -0
  491. package/dist/registry/structure.js +27 -0
  492. package/dist/registry/toast.d.ts +3 -0
  493. package/dist/registry/toast.js +4 -0
  494. package/dist/scroll-area/scroll-area.adapter.d.ts +2 -0
  495. package/dist/scroll-area/scroll-area.adapter.js +6 -0
  496. package/dist/select/display-text.d.ts +2 -0
  497. package/dist/select/display-text.js +18 -0
  498. package/dist/select/select-base-content.adapter.d.ts +6 -0
  499. package/dist/select/select-base-content.adapter.js +16 -0
  500. package/dist/select/select-content.adapter.d.ts +4 -0
  501. package/dist/select/select-content.adapter.js +11 -0
  502. package/dist/select/select-option.d.ts +5 -0
  503. package/dist/select/select-option.js +6 -0
  504. package/dist/select/select.adapter.d.ts +2 -0
  505. package/dist/select/select.adapter.js +47 -0
  506. package/dist/select/use-select-change.d.ts +2 -0
  507. package/dist/select/use-select-change.js +29 -0
  508. package/dist/select-menu/select-menu-form.d.ts +7 -0
  509. package/dist/select-menu/select-menu-form.js +14 -0
  510. package/dist/select-menu/select-menu-popup.d.ts +8 -0
  511. package/dist/select-menu/select-menu-popup.js +39 -0
  512. package/dist/select-menu/select-menu-root.d.ts +8 -0
  513. package/dist/select-menu/select-menu-root.js +34 -0
  514. package/dist/select-menu/select-menu.adapter.d.ts +2 -0
  515. package/dist/select-menu/select-menu.adapter.js +63 -0
  516. package/dist/select-menu/use-select-menu.d.ts +22 -0
  517. package/dist/select-menu/use-select-menu.js +111 -0
  518. package/dist/separator/separator.adapter.d.ts +2 -0
  519. package/dist/separator/separator.adapter.js +6 -0
  520. package/dist/shadcn.adapter.d.ts +2 -0
  521. package/dist/shadcn.adapter.js +102 -0
  522. package/dist/sidebar/sidebar.adapter.d.ts +2 -0
  523. package/dist/sidebar/sidebar.adapter.js +63 -0
  524. package/dist/skeleton/skeleton.adapter.d.ts +2 -0
  525. package/dist/skeleton/skeleton.adapter.js +8 -0
  526. package/dist/slideover/slideover.adapter.d.ts +2 -0
  527. package/dist/slideover/slideover.adapter.js +14 -0
  528. package/dist/slider/request-change.d.ts +2 -0
  529. package/dist/slider/request-change.js +34 -0
  530. package/dist/slider/slider-thumb.d.ts +7 -0
  531. package/dist/slider/slider-thumb.js +18 -0
  532. package/dist/slider/slider.adapter.d.ts +2 -0
  533. package/dist/slider/slider.adapter.js +36 -0
  534. package/dist/splitter/splitter.adapter.d.ts +3 -0
  535. package/dist/splitter/splitter.adapter.js +50 -0
  536. package/dist/stepper/stepper.adapter.d.ts +2 -0
  537. package/dist/stepper/stepper.adapter.js +30 -0
  538. package/dist/styles-contract.d.ts +1 -0
  539. package/dist/styles-contract.js +1 -0
  540. package/dist/styles.css +2 -0
  541. package/dist/styles.d.ts +1 -0
  542. package/dist/styles.js +1 -0
  543. package/dist/submit-button/submit-button.adapter.d.ts +2 -0
  544. package/dist/submit-button/submit-button.adapter.js +11 -0
  545. package/dist/surface/surface.adapter.d.ts +2 -0
  546. package/dist/surface/surface.adapter.js +8 -0
  547. package/dist/switch/switch.adapter.d.ts +2 -0
  548. package/dist/switch/switch.adapter.js +26 -0
  549. package/dist/table/interactive-table.d.ts +2 -0
  550. package/dist/table/interactive-table.js +24 -0
  551. package/dist/table/table.adapter.d.ts +2 -0
  552. package/dist/table/table.adapter.js +14 -0
  553. package/dist/tabs/tabs.adapter.d.ts +2 -0
  554. package/dist/tabs/tabs.adapter.js +17 -0
  555. package/dist/temporal/draft-validity.d.ts +13 -0
  556. package/dist/temporal/draft-validity.js +18 -0
  557. package/dist/temporal/focus-incomplete-segment.d.ts +1 -0
  558. package/dist/temporal/focus-incomplete-segment.js +7 -0
  559. package/dist/temporal/range-reset-focus.d.ts +1 -0
  560. package/dist/temporal/range-reset-focus.js +16 -0
  561. package/dist/temporal/temporal-recovery.d.ts +6 -0
  562. package/dist/temporal/temporal-recovery.js +4 -0
  563. package/dist/temporal/use-range-reset.d.ts +6 -0
  564. package/dist/temporal/use-range-reset.js +55 -0
  565. package/dist/temporal/use-temporal-change.d.ts +10 -0
  566. package/dist/temporal/use-temporal-change.js +21 -0
  567. package/dist/text/text.adapter.d.ts +1 -0
  568. package/dist/text/text.adapter.js +1 -0
  569. package/dist/text-area/text-area.adapter.d.ts +2 -0
  570. package/dist/text-area/text-area.adapter.js +9 -0
  571. package/dist/textarea/textarea.adapter.d.ts +2 -0
  572. package/dist/textarea/textarea.adapter.js +40 -0
  573. package/dist/textarea/use-auto-rows.d.ts +2 -0
  574. package/dist/textarea/use-auto-rows.js +33 -0
  575. package/dist/theme/theme.adapter.d.ts +2 -0
  576. package/dist/theme/theme.adapter.js +23 -0
  577. package/dist/timeline/timeline.adapter.d.ts +2 -0
  578. package/dist/timeline/timeline.adapter.js +13 -0
  579. package/dist/toast/toast-data.d.ts +17 -0
  580. package/dist/toast/toast-data.js +1 -0
  581. package/dist/toast/toast-focus.d.ts +12 -0
  582. package/dist/toast/toast-focus.js +38 -0
  583. package/dist/toast/toast-provider.d.ts +4 -0
  584. package/dist/toast/toast-provider.js +11 -0
  585. package/dist/toast/toast-queue-context.d.ts +24 -0
  586. package/dist/toast/toast-queue-context.js +8 -0
  587. package/dist/toast/toast-queue.d.ts +12 -0
  588. package/dist/toast/toast-queue.js +29 -0
  589. package/dist/toast/toast-registration.d.ts +9 -0
  590. package/dist/toast/toast-registration.js +149 -0
  591. package/dist/toast/toast-viewport.d.ts +1 -0
  592. package/dist/toast/toast-viewport.js +36 -0
  593. package/dist/toast/toast.adapter.d.ts +2 -0
  594. package/dist/toast/toast.adapter.js +14 -0
  595. package/dist/toggle/toggle.adapter.d.ts +2 -0
  596. package/dist/toggle/toggle.adapter.js +8 -0
  597. package/dist/tooltip/tooltip.adapter.d.ts +2 -0
  598. package/dist/tooltip/tooltip.adapter.js +29 -0
  599. package/dist/tooltip/use-tooltip-anchor.d.ts +5 -0
  600. package/dist/tooltip/use-tooltip-anchor.js +36 -0
  601. package/dist/tree/focus-element.d.ts +1 -0
  602. package/dist/tree/focus-element.js +4 -0
  603. package/dist/tree/tree.adapter.d.ts +2 -0
  604. package/dist/tree/tree.adapter.js +27 -0
  605. package/dist/tree/use-tree.d.ts +13 -0
  606. package/dist/tree/use-tree.js +73 -0
  607. package/dist/user/user.adapter.d.ts +2 -0
  608. package/dist/user/user.adapter.js +24 -0
  609. package/dist/v-stack/v-stack.adapter.d.ts +2 -0
  610. package/dist/v-stack/v-stack.adapter.js +5 -0
  611. package/dist/vendor/lib/utils.d.ts +2 -0
  612. package/dist/vendor/lib/utils.js +5 -0
  613. package/dist/vendor/ui/accordion.d.ts +7 -0
  614. package/dist/vendor/ui/accordion.js +14 -0
  615. package/dist/vendor/ui/alert.d.ts +8 -0
  616. package/dist/vendor/ui/alert.js +22 -0
  617. package/dist/vendor/ui/badge.d.ts +9 -0
  618. package/dist/vendor/ui/badge.js +21 -0
  619. package/dist/vendor/ui/button.d.ts +11 -0
  620. package/dist/vendor/ui/button.js +33 -0
  621. package/dist/vendor/ui/card.d.ts +8 -0
  622. package/dist/vendor/ui/card.js +16 -0
  623. package/dist/vendor/ui/checkbox.d.ts +4 -0
  624. package/dist/vendor/ui/checkbox.js +9 -0
  625. package/dist/vendor/ui/input.d.ts +3 -0
  626. package/dist/vendor/ui/input.js +8 -0
  627. package/dist/vendor/ui/label.d.ts +5 -0
  628. package/dist/vendor/ui/label.js +10 -0
  629. package/dist/vendor/ui/progress.d.ts +4 -0
  630. package/dist/vendor/ui/progress.js +8 -0
  631. package/dist/vendor/ui/select.d.ts +13 -0
  632. package/dist/vendor/ui/select.js +27 -0
  633. package/dist/vendor/ui/separator.d.ts +4 -0
  634. package/dist/vendor/ui/separator.js +8 -0
  635. package/dist/vendor/ui/slider.d.ts +4 -0
  636. package/dist/vendor/ui/slider.js +8 -0
  637. package/dist/vendor/ui/switch.d.ts +4 -0
  638. package/dist/vendor/ui/switch.js +8 -0
  639. package/dist/vendor/ui/tabs.d.ts +7 -0
  640. package/dist/vendor/ui/tabs.js +13 -0
  641. package/dist/vendor/ui/textarea.d.ts +3 -0
  642. package/dist/vendor/ui/textarea.js +8 -0
  643. package/package.json +71 -3
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId, useRef, useState } from 'react';
3
+ import { useDirection } from '@radix-ui/react-direction';
4
+ import { NAVIGATION_COMPOSITION_DEFAULTS } from '@fastsprout/reacd/adapter-runtime/core/navigation-composition-policy.js';
5
+ import { reachableStepKeys, stepFocusTarget, } from '@fastsprout/reacd/adapter-runtime/core/stepper-navigation.js';
6
+ import { Button } from '../vendor/ui/button.js';
7
+ export function ShadcnStepper({ label, items, value, onValueChange, disabled, linear = NAVIGATION_COMPOSITION_DEFAULTS.linear, orientation = NAVIGATION_COMPOSITION_DEFAULTS.orientation, }) {
8
+ const id = useId();
9
+ const direction = useDirection();
10
+ const targets = useRef(new Map());
11
+ const [focused, setFocused] = useState(value);
12
+ const reachable = reachableStepKeys(items, value, linear);
13
+ const focusKey = reachable.includes(focused) ? focused : value;
14
+ const active = items.findIndex((item) => item.key === value);
15
+ return (_jsxs("section", { className: "reacd-node reacd-stepper", "aria-label": label, "data-orientation": orientation, children: [_jsx("ol", { className: "reacd-stepper-list", children: items.map((item, index) => (_jsx("li", { "data-complete": index < active, children: _jsxs(Button, { type: "button", variant: item.key === value ? 'secondary' : 'ghost', className: "reacd-node reacd-button reacd-step-trigger", id: `${id}-step-${index}`, "aria-current": item.key === value ? 'step' : undefined, "aria-controls": `${id}-content`, disabled: disabled || !reachable.includes(item.key), tabIndex: !disabled && item.key === focusKey ? 0 : -1, ref: (element) => {
16
+ if (element === null)
17
+ targets.current.delete(item.key);
18
+ else
19
+ targets.current.set(item.key, element);
20
+ }, onFocus: () => setFocused(item.key), onClick: () => {
21
+ if (item.key !== value)
22
+ onValueChange(item.key);
23
+ }, onKeyDown: (event) => {
24
+ const key = stepFocusTarget(reachable, item.key, event.key, orientation, direction);
25
+ if (key !== undefined) {
26
+ event.preventDefault();
27
+ targets.current.get(key)?.focus();
28
+ }
29
+ }, children: [_jsx("span", { className: "reacd-step-indicator", "aria-hidden": "true", children: index + 1 }), _jsxs("span", { className: "reacd-step-copy", children: [_jsx("span", { children: item.title }), item.description !== undefined && (_jsx("span", { className: "reacd-step-description", children: item.description }))] })] }) }, item.key))) }), _jsx("div", { className: "reacd-step-content", role: "region", id: `${id}-content`, "aria-labelledby": `${id}-step-${active}`, children: items[active]?.content })] }));
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-2{right:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-50{z-index:50}.row-1{grid-row:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:--radix-select-content-available-height}.min-h-\[60px\]{min-height:60px}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-select-content-transform-origin\]{transform-origin:--radix-select-content-transform-origin}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.flex-col{flex-direction:column}.place-content-center{place-content:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg,.rounded-md{border-radius:var(--reacd-radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-destructive\/50{border-color:var(--reacd-danger)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--reacd-danger) 50%, transparent)}}.border-input{border-color:var(--reacd-border)}.border-primary,.border-primary\/50{border-color:var(--reacd-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab, var(--reacd-primary) 50%, transparent)}}.border-transparent{border-color:#0000}.bg-background{background-color:var(--reacd-surface)}.bg-border{background-color:var(--reacd-border)}.bg-card{background-color:var(--reacd-surface)}.bg-destructive{background-color:var(--reacd-danger)}.bg-muted{background-color:var(--reacd-canvas)}.bg-popover{background-color:var(--reacd-surface)}.bg-primary,.bg-primary\/20{background-color:var(--reacd-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--reacd-primary) 20%, transparent)}}.bg-secondary{background-color:var(--reacd-canvas)}.bg-transparent{background-color:#0000}.p-1{padding:var(--spacing)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0{padding-top:0}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--reacd-text)}.text-current{color:currentColor}.text-destructive{color:var(--reacd-danger)}.text-destructive-foreground{color:var(--reacd-onDanger)}.text-foreground{color:var(--reacd-text)}.text-muted-foreground{color:var(--reacd-muted)}.text-popover-foreground{color:var(--reacd-text)}.text-primary{color:var(--reacd-primary)}.text-primary-foreground{color:var(--reacd-onPrimary)}.text-secondary-foreground{color:var(--reacd-text)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--reacd-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.block-1{block-size:var(--spacing)}.block-2{block-size:calc(var(--spacing) * 2)}.block-3{block-size:calc(var(--spacing) * 3)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--reacd-text)}.placeholder\:text-muted-foreground::placeholder{color:var(--reacd-muted)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--reacd-canvas)}.hover\:bg-destructive\/80:hover{background-color:var(--reacd-danger)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--reacd-danger) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--reacd-danger)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--reacd-danger) 90%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--reacd-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--reacd-primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--reacd-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--reacd-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--reacd-canvas)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--reacd-canvas) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--reacd-text)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:var(--reacd-canvas)}.focus\:text-accent-foreground:focus{color:var(--reacd-text)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--reacd-focus)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--reacd-focus)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--reacd-surface)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--reacd-muted)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--reacd-surface)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--reacd-text)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--reacd-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--reacd-onPrimary)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--reacd-border)}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-destructive{border-color:var(--reacd-danger)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--reacd-danger)}.\[\&\>svg\]\:text-foreground>svg{color:var(--reacd-text)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}}.reacd-root,.reacd-root *,.reacd-portal-root,.reacd-portal-root *,.reacd-issues,.reacd-issues *{box-sizing:border-box;min-inline-size:0}.reacd-root,.reacd-portal-root{--reacd-gap:var(--reacd-medium);color:var(--reacd-text);background:var(--reacd-canvas);font:var(--reacd-font-size)/1.55 var(--reacd-font);overflow-wrap:anywhere}.reacd-root{inline-size:100%;max-inline-size:100%;padding:min(var(--reacd-large), var(--reacd-padding-limit))}.reacd-node{max-inline-size:100%}.reacd-vstack,.reacd-card{gap:var(--reacd-gap);flex-direction:column;display:flex}.reacd-hstack{align-items:center;gap:var(--reacd-gap);flex-wrap:wrap;display:flex}.reacd-hstack>*{flex:1 1 var(--reacd-stack-track)}.reacd-grid{gap:var(--reacd-gap);grid-template-columns:repeat(auto-fit, minmax(min(100%, max(var(--reacd-grid-track), calc((100% - (var(--reacd-columns) - 1) * var(--reacd-gap)) / var(--reacd-columns)))), 1fr));display:grid}.reacd-card{padding:min(var(--reacd-medium), var(--reacd-padding-limit));background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow)}.reacd-page{gap:var(--reacd-large);max-inline-size:var(--reacd-page-width);margin-inline:auto;display:grid}.reacd-page-header{gap:var(--reacd-small);display:grid}.reacd-page-header :is(h1,p),.reacd-section-title{margin:0}.reacd-toolbar,.reacd-navigation{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-spacer{flex:1}.reacd-divider{background:var(--reacd-border);margin-block:0}.reacd-split{gap:var(--reacd-gap);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--reacd-split-track)), 1fr));display:grid}.reacd-viewport{inline-size:100%;margin-inline:auto}.reacd-viewport[data-compact=true]{max-inline-size:var(--reacd-compact)}.reacd-text{overflow-wrap:anywhere;margin:0}.reacd-text[data-role=headline]{font-size:1.9em;font-weight:700;line-height:1.25}.reacd-text[data-role=subheadline]{font-size:1.125em;font-weight:700;line-height:1.35}.reacd-text[data-role=display]{font-variant-numeric:tabular-nums;font-size:2em;font-weight:700;line-height:1.2}.reacd-text[data-role=caption]{color:var(--reacd-muted);font-size:.9em}.reacd-text[data-weight=normal]{font-weight:400}.reacd-text[data-weight=medium]{font-weight:500}.reacd-text[data-weight=bold]{font-weight:700}.reacd-text[data-clamped=true]{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reacd-full-text{color:var(--reacd-muted);font-size:.9em}.reacd-full-text summary{min-block-size:var(--reacd-control-target);align-content:center;display:list-item}.reacd-full-text p{margin-block:var(--reacd-small)}.reacd-code{margin:0}.reacd-code figcaption{font-weight:600}.reacd-code pre{max-inline-size:100%;padding:var(--reacd-medium);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.reacd-link{text-underline-offset:.2em;text-decoration:underline}.reacd-link:hover{text-decoration-thickness:.15em}.reacd-root :is(button,input,select,textarea,summary,a),.reacd-portal-root :is(button,[role=option]){font:inherit;min-block-size:var(--reacd-control-target)}.reacd-root :is(button,a,summary,select,label[for]),.reacd-portal-root [role=option]{cursor:pointer}.reacd-root :is(button,input,select,textarea):disabled,.reacd-root :is([role=slider],[role=switch],[role=checkbox])[data-disabled]{cursor:not-allowed;border-style:dashed}.reacd-button{white-space:normal;overflow-wrap:anywhere;block-size:auto}.reacd-button:hover:enabled{text-decoration:underline}.reacd-button:active:enabled{border-style:inset}.reacd-field{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-field label{font-weight:500}.reacd-field :is(input,textarea,[role=combobox]){border-color:var(--reacd-border);border-radius:var(--reacd-radius);inline-size:100%;color:var(--reacd-text);background:var(--reacd-surface)}.reacd-field [role=combobox]{white-space:normal;block-size:auto}.reacd-field textarea{resize:vertical}.reacd-select-popup{z-index:var(--reacd-popup-layer);min-inline-size:var(--radix-select-trigger-width);max-inline-size:calc(100vw - var(--reacd-small) - var(--reacd-small));max-block-size:var(--radix-select-content-available-height);padding:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);box-shadow:var(--reacd-shadow);flex-direction:column;display:flex;overflow:auto}.reacd-select-viewport{min-block-size:0}.reacd-code-editor textarea{font-family:monospace}.reacd-field :is(input,textarea)::placeholder{color:var(--reacd-muted);opacity:1}.reacd-check{align-items:center;gap:var(--reacd-small);display:flex;position:relative}.reacd-check>input[type=checkbox]{inset-block-start:0;inset-inline-start:0;transform:none!important}.reacd-check button{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);flex-shrink:0}.reacd-tabs [role=tablist]{justify-content:start;gap:var(--reacd-small);flex-wrap:wrap;block-size:auto;display:flex}.reacd-tabs [role=tab]{white-space:normal}.reacd-root :focus-visible,.reacd-portal-root :focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-focus-width)}.reacd-slider{min-block-size:var(--reacd-control-target);touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative}.reacd-accordion-trigger{gap:var(--reacd-small);white-space:normal;text-align:start;inline-size:100%;padding-block:var(--reacd-medium);padding-inline:var(--reacd-small);color:inherit;background:0 0;border:0}.reacd-accordion h3{font:inherit;margin:0}.reacd-accordion-trigger:disabled{color:var(--reacd-muted);text-decoration:none}.reacd-accordion-item{border-color:var(--reacd-border)}.reacd-accordion-content{overflow-wrap:anywhere;padding:var(--reacd-medium)}.reacd-slider-track{block-size:var(--reacd-small);background:var(--reacd-border);flex-grow:1;position:relative}.reacd-slider-range{background:var(--reacd-primary);block-size:100%;position:absolute}.reacd-slider-thumb{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-primary);border-radius:var(--reacd-radius);cursor:grab;display:block}@media (prefers-reduced-motion:reduce){.reacd-root *,.reacd-portal-root *{scroll-behavior:auto;transition:none;animation:none}}.reacd-modal-portal{z-index:var(--reacd-modal-layer);pointer-events:none;background:0 0;padding:0;position:fixed;inset:0}.reacd-modal-portal[hidden]{display:none}.reacd-modal-backdrop{background:var(--reacd-text);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.reacd-modal-backdrop{background:color-mix(in srgb, var(--reacd-text) var(--reacd-backdrop-percent), transparent)}}.reacd-modal-backdrop{pointer-events:auto}.reacd-modal-viewport{padding:var(--reacd-small);place-items:center;display:grid;position:fixed;inset:0}.reacd-modal-panel{inline-size:min(100%, var(--reacd-modal-width));max-block-size:calc(100dvh - var(--reacd-small) - var(--reacd-small));padding:var(--reacd-medium);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow);pointer-events:auto;position:relative;overflow:auto}.reacd-modal-panel[data-fullscreen=true]{block-size:100%;inline-size:100%}.reacd-modal-header :is(h2,p){overflow-wrap:anywhere;margin:0}.reacd-modal-body,.reacd-modal-footer{margin-block-start:var(--reacd-medium)}.reacd-modal-footer{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-collapsible{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-collapsible-trigger{block-size:auto;inline-size:100%;min-inline-size:0;min-block-size:var(--reacd-control-target);justify-content:space-between;gap:var(--reacd-small);padding:var(--reacd-small) var(--reacd-medium);white-space:normal;text-align:start;background:var(--reacd-surface);color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius)}.reacd-collapsible-trigger span{overflow-wrap:anywhere;min-inline-size:0}.reacd-collapsible-trigger[data-panel-open] svg{transform:rotate(180deg)}.reacd-collapsible-panel{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%}.reacd-collapsible-panel[hidden]{display:none}.reacd-toggle [role=switch]{--reacd-toggle-size:max(var(--reacd-control-target), var(--reacd-toggle-min-track));inline-size:calc(var(--reacd-toggle-size) * var(--reacd-toggle-ratio));block-size:var(--reacd-toggle-size);background:var(--reacd-border);border:0;padding:0;position:relative}.reacd-toggle [role=switch][data-state=checked]{background:var(--reacd-primary)}.reacd-toggle [role=switch] span{block-size:calc(var(--reacd-toggle-size) - var(--reacd-toggle-inset) - var(--reacd-toggle-inset));inline-size:calc(var(--reacd-toggle-size) - var(--reacd-toggle-inset) - var(--reacd-toggle-inset));background:var(--reacd-surface);position:absolute;inset-block-start:var(--reacd-toggle-inset);inset-inline-start:var(--reacd-toggle-inset);translate:0}.reacd-toggle [role=switch][data-state=checked] span{inset-inline-start:calc(100% - var(--reacd-toggle-size) + var(--reacd-toggle-inset))}.reacd-choice-group{border:0;min-inline-size:0;margin:0;padding:0}.reacd-choice-legend{overflow-wrap:anywhere;margin-block-end:var(--reacd-small);font-weight:500}.reacd-choice-description{color:var(--reacd-muted);overflow-wrap:anywhere;margin:0;display:block}.reacd-choice-items{gap:var(--reacd-small);flex-direction:column;margin-block-start:var(--reacd-small);display:flex}.reacd-choice-items[data-orientation=horizontal]{flex-flow:wrap}.reacd-choice-item{align-items:start;gap:var(--reacd-small);cursor:pointer;min-inline-size:0;max-inline-size:100%;display:flex}.reacd-choice-item:has(.reacd-choice-control:is([data-disabled],[aria-disabled=true])){cursor:not-allowed}.reacd-choice-items[data-orientation=horizontal] .reacd-choice-item{flex:1 1 var(--reacd-stack-track)}.reacd-choice-text{overflow-wrap:anywhere;min-inline-size:0}.reacd-choice-control{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);border:var(--reacd-border-width) solid var(--reacd-border);background:var(--reacd-surface);color:var(--reacd-text);border-radius:var(--reacd-radius);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.reacd-choice-control[data-checked]{background:var(--reacd-primary);color:var(--reacd-onPrimary)}.reacd-choice-control:is([data-disabled],[aria-disabled=true]){cursor:not-allowed;border-style:dashed}.reacd-radio{border-radius:50%}.reacd-choice-indicator{place-items:center;block-size:100%;inline-size:100%;display:grid}.reacd-radio-dot,.reacd-choice-check{inline-size:calc(var(--reacd-control-target) / var(--reacd-choice-marker-ratio));block-size:calc(var(--reacd-control-target) / var(--reacd-choice-marker-ratio))}.reacd-radio-dot{background:currentColor;border-radius:50%}.reacd-avatar,.reacd-avatar-group{--reacd-avatar-size:var(--reacd-avatar-medium)}:is(.reacd-avatar,.reacd-avatar-group)[data-size=small]{--reacd-avatar-size:var(--reacd-avatar-small)}:is(.reacd-avatar,.reacd-avatar-group)[data-size=large]{--reacd-avatar-size:var(--reacd-avatar-large)}.reacd-avatar,.reacd-avatar-count{inline-size:var(--reacd-avatar-size);block-size:var(--reacd-avatar-size);aspect-ratio:1;border:var(--reacd-border-width) solid var(--reacd-border);background:var(--reacd-surface);color:var(--reacd-text);vertical-align:middle;border-radius:50%;flex:none;place-items:center;font-weight:500;display:inline-grid;position:relative}.reacd-avatar{overflow:hidden}.reacd-avatar-image,.reacd-avatar-fallback{border-radius:inherit;block-size:100%;inline-size:100%;position:absolute;inset:0}.reacd-avatar-fallback{place-items:center;display:grid}.reacd-avatar-fallback,.reacd-avatar-count{font-size:calc(var(--reacd-avatar-size) / var(--reacd-avatar-font-divisor));line-height:1}.reacd-avatar-image{object-fit:cover}.reacd-avatar-image[aria-hidden=true]{visibility:hidden}.reacd-avatar-group{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-avatar-group p{margin:0}.reacd-avatar-group-label{font-weight:500}.reacd-avatar-visible-list,.reacd-avatar-hidden-list{gap:var(--reacd-small);margin:0;padding:0;list-style:none;display:flex}.reacd-avatar-visible-list{flex-wrap:wrap}.reacd-avatar-hidden-list{flex-direction:column;margin-block-start:var(--reacd-small)}.reacd-avatar-person,.reacd-avatar-overflow summary{align-items:center;gap:var(--reacd-small);overflow-wrap:anywhere;min-inline-size:0;display:flex}.reacd-avatar-person>span:last-child{min-inline-size:0}.reacd-avatar-overflow summary:hover{text-decoration:underline}.reacd-chip{place-items:start end;gap:var(--reacd-chip-clearance);inline-size:fit-content;padding-inline:var(--reacd-chip-clearance);vertical-align:middle;--reacd-chip-dot:var(--reacd-chip-dot-medium);--reacd-chip-font-scale:var(--reacd-chip-font-medium);grid-template-columns:minmax(0,1fr);min-inline-size:0;max-inline-size:100%;display:inline-grid}.reacd-chip[data-size=small]{--reacd-chip-dot:var(--reacd-chip-dot-small);--reacd-chip-font-scale:var(--reacd-chip-font-small)}.reacd-chip[data-size=large]{--reacd-chip-dot:var(--reacd-chip-dot-large);--reacd-chip-font-scale:var(--reacd-chip-font-large)}.reacd-chip[data-inset=true],.reacd-chip[data-standalone=true]{padding-inline:0}.reacd-chip[data-corner$=start]{justify-items:start}.reacd-chip-body{grid-row:2;inline-size:100%;min-inline-size:0}.reacd-chip-indicator{min-inline-size:0;max-inline-size:min(100%, var(--reacd-chip-max-inline));border-radius:var(--reacd-radius);background:var(--reacd-primary);color:var(--reacd-onPrimary);border-color:var(--reacd-primary);font-size:calc(1em * var(--reacd-chip-font-scale));grid-row:1}.reacd-chip[data-corner^=bottom]>.reacd-chip-body{grid-row:1}.reacd-chip[data-corner^=bottom]>.reacd-chip-indicator{grid-row:2}.reacd-chip-text{white-space:nowrap;text-overflow:ellipsis;min-inline-size:0;overflow:hidden}.reacd-chip-indicator[data-intent=secondary]{background:var(--reacd-surface);color:var(--reacd-text);border-color:var(--reacd-border)}.reacd-chip-indicator[data-intent=danger]{background:var(--reacd-danger);color:var(--reacd-onDanger);border-color:var(--reacd-danger)}.reacd-chip-indicator[data-dot=true]{inline-size:var(--reacd-chip-dot);block-size:var(--reacd-chip-dot);border-radius:50%;padding:0}.reacd-tooltip-anchor{vertical-align:middle;cursor:help;inline-size:fit-content;min-inline-size:0;max-inline-size:100%;display:inline-flex}.reacd-tooltip-positioner{inline-size:max-content;z-index:var(--reacd-popup-layer);max-inline-size:var(--available-width);background:0 0;padding:0}.reacd-tooltip-popup{inline-size:max-content;max-inline-size:min(var(--reacd-tooltip-width), var(--available-width));max-block-size:var(--available-height);overflow-wrap:anywhere;border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-text);color:var(--reacd-surface);box-shadow:var(--reacd-shadow);position:relative}.reacd-tooltip-body{max-block-size:calc(var(--available-height) - 2 * var(--reacd-border-width));padding:var(--reacd-small);border-radius:inherit;overflow:auto}.reacd-tooltip-popup[data-closed]{display:none}.reacd-tooltip-popup[data-starting-style]{visibility:hidden}.reacd-tooltip-shortcuts{gap:var(--reacd-small);flex-wrap:wrap;margin-block-start:var(--reacd-small);display:flex}.reacd-tooltip-shortcuts kbd{font:inherit;border:var(--reacd-border-width) solid currentColor;border-radius:var(--reacd-radius);padding-inline:var(--reacd-small)}.reacd-tooltip-arrow{inline-size:var(--reacd-tooltip-arrow);block-size:var(--reacd-tooltip-arrow);background:var(--reacd-text);transform:rotate(45deg)}.reacd-tooltip-arrow[data-side=top]{bottom:calc(var(--reacd-tooltip-arrow) / -2)}.reacd-tooltip-arrow[data-side=bottom]{top:calc(var(--reacd-tooltip-arrow) / -2)}.reacd-tooltip-arrow[data-side=inline-start]{inset-inline-end:calc(var(--reacd-tooltip-arrow) / -2)}.reacd-tooltip-arrow[data-side=inline-end]{inset-inline-start:calc(var(--reacd-tooltip-arrow) / -2)}.reacd-kbd{inline-size:fit-content;padding:calc(var(--reacd-small) / 2) var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);font:inherit;font-weight:500;font-size:calc(1em * var(--reacd-kbd-medium));overflow-wrap:anywhere;--reacd-key-fill:var(--reacd-text);--reacd-key-on-fill:var(--reacd-surface);justify-content:center;align-items:center;display:inline-flex}.reacd-kbd[data-size=small]{font-size:calc(1em * var(--reacd-kbd-small))}.reacd-kbd[data-size=large]{font-size:calc(1em * var(--reacd-kbd-large))}.reacd-kbd[data-intent=primary]{--reacd-key-fill:var(--reacd-primary);--reacd-key-on-fill:var(--reacd-onPrimary)}.reacd-kbd[data-intent=danger]{--reacd-key-fill:var(--reacd-danger);--reacd-key-on-fill:var(--reacd-onDanger)}.reacd-kbd[data-variant=soft]{background:var(--reacd-canvas);border-color:#0000}.reacd-kbd[data-variant=subtle]{border-block-end-width:calc(2 * var(--reacd-border-width))}.reacd-kbd[data-variant=solid]{background:var(--reacd-key-fill);color:var(--reacd-key-on-fill);border-color:var(--reacd-key-fill)}.reacd-tooltip-shortcuts .reacd-kbd{color:inherit;background:0 0}.reacd-popover-portal[hidden],.reacd-popover-popup[data-closed]{display:none}.reacd-popover-positioner{inline-size:max-content;max-inline-size:var(--available-width);z-index:var(--reacd-popup-layer);background:0 0;padding:0}.reacd-popover-popup{inline-size:var(--reacd-popover-width);max-inline-size:var(--available-width);max-block-size:var(--available-height);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);box-shadow:var(--reacd-shadow);position:relative}.reacd-popover-popup[data-starting-style]{opacity:0}.reacd-popover-scroll{max-block-size:calc(var(--available-height) - 2 * var(--reacd-border-width));padding:var(--reacd-medium);border-radius:inherit;overflow:auto}.reacd-popover-header :is(h2,p){margin:0}.reacd-popover-body,.reacd-popover-footer{margin-block-start:var(--reacd-small)}.reacd-popover-footer{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-popover-arrow{inline-size:var(--reacd-popover-arrow);block-size:var(--reacd-popover-arrow);background:var(--reacd-surface);transform:rotate(45deg)}.reacd-popover-arrow[data-side=top]{bottom:calc(var(--reacd-popover-arrow) / -2)}.reacd-popover-arrow[data-side=bottom]{top:calc(var(--reacd-popover-arrow) / -2)}.reacd-popover-arrow[data-side=inline-start]{inset-inline-end:calc(var(--reacd-popover-arrow) / -2)}.reacd-popover-arrow[data-side=inline-end]{inset-inline-start:calc(var(--reacd-popover-arrow) / -2)}.reacd-skeleton{inline-size:100%;min-inline-size:0}.reacd-skeleton-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.reacd-skeleton-visual{gap:var(--reacd-small);min-inline-size:0;display:grid}.reacd-skeleton-shape{inline-size:100%;max-inline-size:100%;block-size:var(--reacd-skeleton-line);border-radius:var(--reacd-radius);background:var(--reacd-border);display:block}.reacd-skeleton[data-size=small]{--reacd-skeleton-line:var(--reacd-skeleton-line-small);--reacd-skeleton-rectangle:var(--reacd-skeleton-rectangle-small);--reacd-skeleton-avatar:var(--reacd-avatar-small)}.reacd-skeleton[data-size=medium]{--reacd-skeleton-line:var(--reacd-skeleton-line-medium);--reacd-skeleton-rectangle:var(--reacd-skeleton-rectangle-medium);--reacd-skeleton-avatar:var(--reacd-avatar-medium)}.reacd-skeleton[data-size=large]{--reacd-skeleton-line:var(--reacd-skeleton-line-large);--reacd-skeleton-rectangle:var(--reacd-skeleton-rectangle-large);--reacd-skeleton-avatar:var(--reacd-avatar-large)}.reacd-skeleton-shape[data-short=true]{inline-size:var(--reacd-skeleton-last-line)}.reacd-skeleton[data-shape=avatar] .reacd-skeleton-shape{inline-size:min(100%, var(--reacd-skeleton-avatar));aspect-ratio:1;border-radius:50%;block-size:auto}.reacd-skeleton[data-shape=rectangle] .reacd-skeleton-shape{block-size:var(--reacd-skeleton-rectangle)}.reacd-skeleton[data-animated=true] .reacd-skeleton-visual{animation:reacd-skeleton-pulse var(--reacd-skeleton-duration) ease-in-out;animation-iteration-count:var(--reacd-skeleton-iterations)}@keyframes reacd-skeleton-pulse{50%{opacity:var(--reacd-skeleton-pulse-opacity)}}@media (prefers-reduced-motion:reduce){.reacd-skeleton[data-animated=true] .reacd-skeleton-visual{animation:none}}.reacd-empty{align-items:center;gap:var(--reacd-medium);padding:var(--reacd-empty-padding);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);text-align:center;overflow-wrap:anywhere;flex-direction:column;display:flex}.reacd-empty>*,.reacd-empty-header>*{min-inline-size:0;max-inline-size:100%}.reacd-empty[data-size=small]{--reacd-empty-padding:var(--reacd-small);--reacd-empty-title-scale:var(--reacd-empty-title-small)}.reacd-empty[data-size=medium]{--reacd-empty-padding:var(--reacd-medium);--reacd-empty-title-scale:var(--reacd-empty-title-medium)}.reacd-empty[data-size=large]{--reacd-empty-padding:var(--reacd-large);--reacd-empty-title-scale:var(--reacd-empty-title-large)}.reacd-empty[data-variant=solid]{border-width:calc(var(--reacd-border-width) * var(--reacd-empty-solid-border))}.reacd-empty[data-variant=soft],.reacd-empty[data-variant=subtle]{background:var(--reacd-canvas)}.reacd-empty[data-variant=soft],.reacd-empty[data-variant=naked]{border-color:#0000}.reacd-empty[data-variant=naked]{background:0 0}.reacd-empty-header{justify-items:center;gap:var(--reacd-small);inline-size:min(100%, var(--reacd-empty-content-width));display:grid}.reacd-empty-header :is(h2,p){margin:0}.reacd-empty-title{font-size:calc(var(--reacd-font-size) * var(--reacd-empty-title-scale))}.reacd-empty-leading,.reacd-empty-actions{justify-content:center;align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-empty-content,.reacd-empty-footer{inline-size:min(100%, var(--reacd-empty-content-width))}.reacd-pagination{min-inline-size:0}.reacd-pagination-status{margin-block:0 var(--reacd-small)}.reacd-pagination-list{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reacd-pagination-list>li{min-inline-size:0;max-inline-size:100%}.reacd-pagination-control{min-block-size:var(--reacd-control-target);min-inline-size:min(100%, var(--reacd-control-target));white-space:normal;overflow-wrap:anywhere;max-inline-size:100%}.reacd-pagination-link{padding:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface);justify-content:center;align-items:center;display:inline-flex}.reacd-pagination-link[data-current=true]{color:var(--reacd-onPrimary);background:var(--reacd-primary)}.reacd-pagination-link[aria-disabled=true]{cursor:default;text-decoration:none}.reacd-pagination[data-size=small] .reacd-pagination-control{padding:var(--reacd-small)}.reacd-pagination[data-size=medium] .reacd-pagination-control,.reacd-pagination[data-size=large] .reacd-pagination-control{padding-inline:var(--reacd-medium)}.reacd-pagination[data-size=large] .reacd-pagination-control{padding-block:var(--reacd-medium)}.reacd-pagination-ellipsis{padding-inline:var(--reacd-small)}.reacd-breadcrumb-list{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reacd-breadcrumb-item{align-items:center;gap:var(--reacd-small);min-inline-size:0;max-inline-size:100%;display:inline-flex}.reacd-breadcrumb-item>:not(.reacd-breadcrumb-separator){overflow-wrap:anywhere;min-inline-size:0}.reacd-breadcrumb .reacd-link{min-block-size:var(--reacd-control-target);align-items:center;display:inline-flex}.reacd-breadcrumb-separator{color:var(--reacd-muted);flex-shrink:0}.reacd-breadcrumb[data-separator=chevron][data-direction=rtl] .reacd-breadcrumb-separator{transform:rotate(180deg)}.reacd-breadcrumb [aria-current=page]{font-weight:700}.reacd-breadcrumb-label[aria-disabled=true]{color:var(--reacd-muted)}.reacd-breadcrumb .reacd-breadcrumb-action{color:var(--reacd-primary);box-shadow:none;background:0 0;border:0;padding-inline:0}.reacd-container{inline-size:100%;max-inline-size:var(--reacd-page-width);padding-inline:min(var(--reacd-large), var(--reacd-padding-limit));margin-inline:auto}.reacd-main{flex:1;min-block-size:0;inline-size:100%}.reacd-header,.reacd-footer{color:var(--reacd-text);background:var(--reacd-surface)}.reacd-header{border-block-end:var(--reacd-border-width) solid var(--reacd-border)}.reacd-footer{border-block-start:var(--reacd-border-width) solid var(--reacd-border)}.reacd-shell-row{align-items:center;gap:var(--reacd-medium);padding-block:var(--reacd-medium);flex-wrap:wrap;display:flex}.reacd-shell-start,.reacd-shell-center,.reacd-shell-end{flex:1 1 var(--reacd-shell-track);align-items:center;gap:var(--reacd-small);flex-wrap:wrap;max-inline-size:100%;display:flex}.reacd-shell-center{justify-content:center}.reacd-shell-end{justify-content:end}.reacd-shell-title{overflow-wrap:anywhere;font-weight:700}.reacd-shell-band{padding:var(--reacd-medium)}.reacd-shell-backdrop{z-index:var(--reacd-shell-menu-layer);background:var(--reacd-text);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.reacd-shell-backdrop{background:color-mix(in srgb, var(--reacd-text) var(--reacd-backdrop-percent), transparent)}}.reacd-shell-menu{z-index:var(--reacd-shell-menu-layer);gap:var(--reacd-medium);inline-size:min(100%, var(--reacd-shell-menu-width));max-block-size:var(--reacd-shell-menu-block);padding:min(var(--reacd-large), var(--reacd-padding-limit));overflow-wrap:anywhere;border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);box-shadow:var(--reacd-shadow);margin-inline:auto;display:grid;position:fixed;inset-block-start:var(--reacd-large);inset-inline:0;overflow:auto}.reacd-shell-menu[data-mode=slideover]{border-radius:0;max-block-size:100%;inset-block:0;inset-inline-start:auto}.reacd-shell-menu[data-mode=drawer]{border-end-end-radius:0;border-end-start-radius:0;inline-size:100%;inset-block:auto 0}.reacd-separator{align-items:center;gap:var(--reacd-small);block-size:auto;inline-size:auto;color:var(--reacd-muted);--reacd-separator-color:var(--reacd-border);--reacd-separator-width:var(--reacd-separator-small);--reacd-separator-style:solid;background:0 0;display:flex}.reacd-separator[data-orientation=horizontal]{inline-size:100%}.reacd-separator[data-intent=primary]{--reacd-separator-color:var(--reacd-primary)}.reacd-separator[data-intent=danger]{--reacd-separator-color:var(--reacd-danger)}.reacd-separator[data-size=medium]{--reacd-separator-width:var(--reacd-separator-medium)}.reacd-separator[data-size=large]{--reacd-separator-width:var(--reacd-separator-large)}.reacd-separator[data-line-style=dashed]{--reacd-separator-style:dashed}.reacd-separator[data-line-style=dotted]{--reacd-separator-style:dotted}.reacd-separator-line{border-block-start:var(--reacd-separator-width) var(--reacd-separator-style) var(--reacd-separator-color);flex:1}.reacd-separator-content{overflow-wrap:anywhere}.reacd-separator[data-position=start]>:first-child,.reacd-separator[data-position=end]>:last-child{flex:0}.reacd-separator[data-orientation=vertical]{min-block-size:var(--reacd-separator-extent);flex-direction:column;align-self:stretch}.reacd-separator[data-orientation=vertical]>.reacd-separator-line{border-block-start:0;border-inline-start:var(--reacd-separator-width) var(--reacd-separator-style) var(--reacd-separator-color)}.reacd-app{gap:var(--reacd-large);flex-direction:column;inline-size:100%;display:flex}.reacd-theme{background:var(--reacd-canvas);color:var(--reacd-text);font-family:var(--reacd-font);font-size:var(--reacd-font-size)}.reacd-error{gap:var(--reacd-medium);inline-size:100%;max-inline-size:var(--reacd-page-width);overflow-wrap:anywhere;margin-inline:auto;display:grid}.reacd-error-status{color:var(--reacd-danger);font-weight:700}.reacd-error-actions{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-timeline{gap:var(--reacd-medium);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reacd-timeline[data-orientation=horizontal]{flex-flow:wrap}.reacd-timeline li{align-items:start;gap:var(--reacd-small);border-inline-start:var(--reacd-border-width) solid var(--reacd-border);flex-direction:column;padding-inline-start:var(--reacd-medium);display:flex}.reacd-timeline[data-orientation=horizontal] li{flex:1 1 var(--reacd-stack-track)}.reacd-timeline li[aria-current]{border-inline-start-width:var(--reacd-focus-width);border-color:var(--reacd-primary)}.reacd-timeline[data-intent=secondary] li[aria-current]{border-color:var(--reacd-muted)}.reacd-timeline[data-intent=danger] li[aria-current]{border-color:var(--reacd-danger)}.reacd-timeline p{margin:0}.reacd-timeline-state,.reacd-timeline-date,.reacd-timeline-description{color:var(--reacd-muted)}.reacd-timeline-title{text-align:start;white-space:normal;block-size:auto;padding:0;font-weight:500}.reacd-timeline button{justify-content:start}.reacd-scroll-area{border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);position:relative;overflow:hidden}.reacd-scroll-area-viewport{padding:var(--reacd-medium);overflow:auto}.reacd-scroll-area-viewport:focus-visible{outline-offset:calc(-1 * var(--reacd-focus-width))}.reacd-scroll-area-content{gap:var(--reacd-medium);display:grid}.reacd-scroll-area[data-orientation=horizontal] .reacd-scroll-area-content{inline-size:max-content;display:flex}.reacd-scroll-area[data-orientation=horizontal] .reacd-scroll-area-content>*{flex:0 0 var(--reacd-stack-track);inline-size:var(--reacd-stack-track)}.reacd-scroll-area-scrollbar{touch-action:none;-webkit-user-select:none;user-select:none;padding:var(--reacd-border-width);background:var(--reacd-surface);display:flex}.reacd-scroll-area-scrollbar[data-orientation=vertical]{inline-size:var(--reacd-small)}.reacd-scroll-area-scrollbar[data-orientation=horizontal]{block-size:var(--reacd-small)}.reacd-scroll-area-thumb{border-radius:var(--reacd-radius);background:var(--reacd-border);flex-grow:1}.reacd-user{align-items:center;gap:var(--reacd-small);color:var(--reacd-text);text-align:start;white-space:normal;border-radius:var(--reacd-radius);flex-wrap:wrap;block-size:auto;text-decoration:none;display:flex}.reacd-user[data-orientation=vertical]{flex-direction:column;align-items:start}.reacd-user-identity{overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;display:flex}.reacd-user-name{font-weight:500}.reacd-user-description{color:var(--reacd-muted)}:is(a,button).reacd-user{padding:var(--reacd-small);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border)}:is(a,button).reacd-user:hover{text-decoration:underline}.reacd-user:disabled{text-decoration:none}.reacd-progress-group{gap:var(--reacd-small);display:grid}.reacd-progress-group p{margin:0}.reacd-progress-group-label{font-weight:500}.reacd-progress-group-track{min-block-size:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);display:flex;overflow:hidden}.reacd-progress-group-segment{background:var(--reacd-primary);border-inline-end:var(--reacd-border-width) solid var(--reacd-surface);flex-shrink:0}.reacd-progress-group-segment[data-intent=secondary]{background:var(--reacd-muted)}.reacd-progress-group-segment[data-intent=danger]{background:var(--reacd-danger)}.reacd-progress-group-legend{gap:var(--reacd-small);margin:0;padding:0;list-style:none;display:grid}.reacd-progress-group-legend li{justify-content:space-between;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-progress-group-item{border-inline-start:var(--reacd-focus-width) solid var(--reacd-primary);padding-inline-start:var(--reacd-small)}.reacd-progress-group-item[data-intent=secondary]{border-color:var(--reacd-muted)}.reacd-progress-group-item[data-intent=danger]{border-color:var(--reacd-danger)}.reacd-banner{align-items:center;gap:var(--reacd-medium);padding:var(--reacd-medium);color:var(--reacd-text);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-inline-start-width:var(--reacd-focus-width);border-radius:var(--reacd-radius);flex-wrap:wrap;display:flex}.reacd-banner[data-intent=error]{border-inline-start-color:var(--reacd-danger)}.reacd-banner-content{flex:1 1 var(--reacd-stack-track);overflow-wrap:anywhere}.reacd-banner-content h5{line-height:inherit;margin:0}.reacd-banner-actions{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-banner-close{color:var(--reacd-text);border-color:var(--reacd-border);flex:0 auto}.reacd-number-group{border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);min-inline-size:0;max-inline-size:100%;display:flex}.reacd-number-input{inline-size:100%;min-inline-size:0;min-block-size:var(--reacd-control-target);padding-inline:var(--reacd-small);color:var(--reacd-text);background:var(--reacd-surface);font:inherit;text-align:center;border:0}.reacd-number-step{flex:0 0 var(--reacd-control-target);min-block-size:var(--reacd-control-target);color:var(--reacd-text);background:var(--reacd-canvas);cursor:pointer;border:0;place-items:center;display:grid}.reacd-number-step:disabled{color:var(--reacd-muted);cursor:default}.reacd-number-step svg{block-size:1em;inline-size:1em}.reacd-number-input:focus-visible,.reacd-number-step:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-field-description{color:var(--reacd-muted);overflow-wrap:anywhere}.reacd-rating-scroll{max-inline-size:100%;overflow-x:auto}.reacd-rating-control{inline-size:max-content;min-block-size:var(--reacd-control-target);touch-action:none;display:flex;position:relative}.reacd-rating-track{display:flex}.reacd-rating-star{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);color:var(--reacd-muted);place-items:center;display:grid;position:relative}.reacd-rating-star svg{block-size:1em;inline-size:1em}.reacd-rating-star-fill{fill:currentColor;color:var(--reacd-primary);position:absolute}.reacd-rating-star-fill[data-half=true]{clip-path:inset(0 50% 0 0)}.reacd-input-rating[data-direction=rtl] .reacd-rating-star-fill[data-half=true]{clip-path:inset(0 0 0 50%)}.reacd-rating-thumb{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);display:block}.reacd-rating-thumb:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-input-rating .reacd-rating-validation{inline-size:var(--reacd-border-width);block-size:var(--reacd-border-width);clip-path:inset(50%);opacity:0;pointer-events:none;min-block-size:0;position:absolute}.reacd-input-rating{position:relative}.reacd-pin-scroll{min-inline-size:0;max-inline-size:100%;overflow-x:auto}.reacd-pin-container{inline-size:max-content;display:flex}.reacd-pin-position{align-items:center;display:inline-flex}.reacd-pin-slot{inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);font:inherit;place-items:center;display:grid;position:relative}.reacd-pin-slot[data-active=true]{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-pin-separator{padding-inline:var(--reacd-small)}.reacd-pin-caret{border-inline-start:var(--reacd-border-width) solid currentColor;block-size:1em;position:absolute}.reacd-table-scroll{border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);max-inline-size:100%;overflow-x:auto}.reacd-table{inline-size:100%;min-inline-size:calc(var(--reacd-table-columns) * var(--reacd-table-column));border-collapse:collapse;table-layout:fixed}.reacd-table caption{text-align:start;padding:var(--reacd-medium);font-weight:700}.reacd-table th,.reacd-table td{padding:var(--reacd-medium);text-align:start;vertical-align:top;border-block-start:var(--reacd-border-width) solid var(--reacd-border);overflow-wrap:anywhere}.reacd-table th{color:var(--reacd-muted);font-weight:500}.reacd-alert,.reacd-badge{overflow-wrap:anywhere}.reacd-badge{white-space:normal}.reacd-spinner{margin:0}.reacd-progress-track{block-size:var(--reacd-small);border-radius:var(--reacd-radius);background:var(--reacd-border);inline-size:100%;position:relative;overflow:hidden}.reacd-progress-fill{background:var(--reacd-primary);block-size:100%;inline-size:100%}.reacd-issues{--reacd-error-text:#842424;--reacd-error-background:#fff4f1;--reacd-error-border:#a12a28;--reacd-error-padding:1rem;padding:var(--reacd-error-padding);color:var(--reacd-error-text);background:var(--reacd-error-background);border:1px solid var(--reacd-error-border);overflow-wrap:anywhere;font:1rem/1.5 system-ui,sans-serif}.reacd-issues ul{margin-block-end:0;padding-inline-start:1.25rem}.reacd-page-body{padding-block:var(--reacd-large)}.reacd-page-grid{gap:var(--reacd-large);grid-template-columns:repeat(auto-fit, minmax(min(100%, max(var(--reacd-page-column-track), calc((100% - (var(--reacd-page-columns) - 1) * var(--reacd-large)) / var(--reacd-page-columns)))), 1fr));display:grid}.reacd-page-columns{columns:var(--reacd-page-columns) var(--reacd-page-column-track);column-gap:var(--reacd-large)}.reacd-page-column-item{break-inside:avoid-column;margin-block-end:var(--reacd-large)}.reacd-page-list{gap:var(--reacd-large);margin:0;padding:0;list-style:none;display:grid}.reacd-page-list[data-divide=true]>.reacd-page-list-item+.reacd-page-list-item{border-block-start:var(--reacd-border-width) solid var(--reacd-border);padding-block-start:var(--reacd-large)}.reacd-page-aside{gap:var(--reacd-medium);padding-block:var(--reacd-large);align-self:start;display:grid}.reacd-page-aside[data-wide=true]{max-block-size:calc(100dvh - var(--reacd-large) - var(--reacd-large));position:sticky;inset-block-start:var(--reacd-large);overflow-y:auto}.reacd-tabs{gap:var(--reacd-small);display:grid}.reacd-tabs [role=tabpanel][hidden]{display:none}.reacd-tabs [role=tablist][data-orientation=vertical]{flex-direction:column;align-items:stretch}.reacd-tabs [role=tab]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;color:var(--reacd-text)}.reacd-tabs [role=tab]:disabled{color:var(--reacd-muted);opacity:1;pointer-events:auto}.reacd-tabs [role=tab]:hover:enabled{text-decoration:underline}.reacd-tabs [role=tab]:active:enabled{border-style:inset}.reacd-tabs [role=tab][aria-selected=true]{background:var(--reacd-surface);text-underline-offset:var(--reacd-small);text-decoration:underline}.reacd-link[aria-current=page]{font-weight:700}.reacd-root .reacd-link[aria-disabled=true]{cursor:not-allowed;color:var(--reacd-muted);text-decoration-style:dotted}.reacd-page-introduction,.reacd-page-intro-copy,.reacd-page-intro-content{align-content:start;gap:var(--reacd-medium);overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;display:grid}.reacd-page-introduction{--reacd-page-title-scale:var(--reacd-page-title-header);--reacd-page-emphasis:var(--reacd-border)}.reacd-page-intro-regions{gap:var(--reacd-large);flex-flow:column wrap;min-inline-size:0;display:flex}.reacd-page-introduction[data-orientation=horizontal]>.reacd-page-intro-regions{flex-direction:row}.reacd-page-intro-regions>*{flex:1 1 var(--reacd-page-intro-track);min-inline-size:min(100%, var(--reacd-page-intro-track))}.reacd-page-introduction[data-orientation=vertical]>.reacd-page-intro-regions>*{flex-basis:auto}.reacd-page-introduction .reacd-page-title{font-size:calc(var(--reacd-font-size) * var(--reacd-page-title-scale));margin:0}.reacd-page-description,.reacd-page-headline{color:var(--reacd-muted);margin:0}.reacd-page-title-action{min-block-size:var(--reacd-control-target);max-inline-size:100%;font:inherit;color:inherit;text-align:start;overflow-wrap:anywhere;white-space:normal;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;display:inline-flex}.reacd-page-title-action:hover,.reacd-page-title-action:active{text-decoration-thickness:var(--reacd-focus-width)}.reacd-page-title-action:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-small)}.reacd-page-introduction[data-kind=feature]{--reacd-page-title-scale:var(--reacd-page-title-feature)}.reacd-page-introduction[data-kind=section]{--reacd-page-title-scale:var(--reacd-page-title-section)}.reacd-page-introduction[data-kind=hero]{--reacd-page-title-scale:var(--reacd-page-title-hero);padding-block:var(--reacd-large)}.reacd-page-introduction:is([data-kind=card],[data-kind=cta]){--reacd-page-title-scale:var(--reacd-page-title-card);padding:min(var(--reacd-large), var(--reacd-padding-limit));border-radius:var(--reacd-radius);border:var(--reacd-border-width) solid transparent}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=solid],.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=outline]{background:var(--reacd-surface);border-color:var(--reacd-border)}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=solid]{box-shadow:var(--reacd-shadow)}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=soft],.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=subtle]{background:var(--reacd-canvas)}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=subtle]{border-color:var(--reacd-border)}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-variant=naked]{border:0;padding:0}.reacd-page-introduction:is([data-kind=card],[data-kind=cta])[data-highlight=true]{border-color:var(--reacd-page-emphasis);border-style:solid;border-width:calc(var(--reacd-border-width) * var(--reacd-page-emphasis-border))}.reacd-page-introduction[data-intent=primary]{--reacd-page-emphasis:var(--reacd-primary)}.reacd-page-introduction[data-intent=danger]{--reacd-page-emphasis:var(--reacd-danger)}.reacd-page-introduction[data-spotlight=true]:hover,.reacd-page-introduction[data-spotlight=true]:focus-within{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-small)}.reacd-page-introduction[data-kind=cta]{--reacd-page-title-scale:var(--reacd-page-title-section)}.reacd-footer-columns,.reacd-footer-column-groups{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--reacd-navigation-column)), 1fr));gap:var(--reacd-large);display:grid}.reacd-footer-column,.reacd-footer-slot,.reacd-navigation-menu,.reacd-stepper-list>li,.reacd-step-copy,.reacd-step-content{overflow-wrap:anywhere;min-inline-size:0}.reacd-footer-column-label{margin:0 0 var(--reacd-small);font-size:inherit}.reacd-footer-column ul,.reacd-menu-list,.reacd-menu-child-list,.reacd-stepper-list{margin:0;padding:0;list-style:none}.reacd-navigation-target,.reacd-menu-target,.reacd-menu-trigger{min-block-size:var(--reacd-control-target);white-space:normal;overflow-wrap:anywhere;text-align:start;align-items:center;gap:var(--reacd-small);max-inline-size:100%;display:inline-flex}.reacd-navigation-target[aria-current=page],.reacd-menu-target[data-active]{font-weight:700}.reacd-menu-list{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-menu-disclosure{flex-shrink:0}.reacd-navigation-menu[data-orientation=vertical]>.reacd-menu-list{flex-direction:column}.reacd-menu-list>li,.reacd-menu-child-list>li{min-inline-size:0;max-inline-size:100%}.reacd-menu-label[aria-disabled=true]{color:var(--reacd-muted)}.reacd-menu-positioner{z-index:var(--reacd-popup-layer);max-inline-size:var(--available-width);background:0 0;padding:0}.reacd-menu-popup{background:var(--reacd-surface);color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow);max-inline-size:100%}.reacd-menu-content{inline-size:min(var(--reacd-navigation-popup), var(--available-width));max-inline-size:100%;max-block-size:var(--available-height);padding:var(--reacd-medium);overflow-wrap:anywhere;overflow:auto}.reacd-menu-child-list{gap:var(--reacd-small);display:grid}.reacd-stepper-list{gap:var(--reacd-medium);flex-wrap:wrap;display:flex}.reacd-stepper-list>li{flex:1 1 var(--reacd-navigation-column)}.reacd-stepper[data-orientation=vertical]>.reacd-stepper-list{flex-direction:column}.reacd-stepper[data-orientation=vertical]>.reacd-stepper-list>li{flex-basis:auto}.reacd-step-trigger{white-space:normal;text-align:start;justify-content:flex-start;align-items:flex-start;gap:var(--reacd-small);inline-size:100%;max-inline-size:100%}.reacd-step-indicator{flex-shrink:0}.reacd-step-copy{gap:var(--reacd-small);display:grid}.reacd-step-description{font-size:calc(1em * var(--reacd-step-description-scale))}.reacd-step-content{margin-block-start:var(--reacd-medium)}.reacd-sidebar-shell{inline-size:100%}.reacd-sidebar{gap:var(--reacd-medium);inline-size:min(100%, var(--reacd-sidebar-inline));max-inline-size:100%;color:var(--reacd-text);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);padding:min(var(--reacd-medium), var(--reacd-padding-limit));overflow-wrap:anywhere;flex-direction:column;display:flex}.reacd-sidebar[hidden]{display:none}.reacd-sidebar[data-side=end]{margin-inline-start:auto}.reacd-sidebar[data-variant=floating]{border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow)}.reacd-sidebar[data-variant=inset]{margin-block:var(--reacd-small);background:var(--reacd-canvas)}.reacd-sidebar[data-mobile=true]{z-index:var(--reacd-sidebar-layer);block-size:100dvb;max-block-size:100dvb;position:fixed;inset-block:0;inset-inline-start:0;overflow:auto}.reacd-sidebar[data-mobile=true][data-side=end]{inset-inline:auto 0}.reacd-sidebar-header,.reacd-sidebar-content,.reacd-sidebar-footer{gap:var(--reacd-small);min-inline-size:0;display:grid}.reacd-sidebar-collapsed{inline-size:min(100%, var(--reacd-sidebar-icon-inline));overflow-wrap:anywhere}.reacd-sidebar-header :is(h2,p){margin:0}.reacd-sidebar-scroll{gap:var(--reacd-medium);flex:1;align-content:start;min-block-size:0;display:grid;overflow:auto}.reacd-splitter{align-items:stretch;inline-size:100%;min-inline-size:0;display:flex;position:relative}.reacd-splitter-track{inline-size:var(--reacd-splitter-track);visibility:hidden;pointer-events:none;block-size:0;max-inline-size:100%;position:absolute}.reacd-splitter[data-orientation=vertical]{block-size:var(--reacd-splitter-extent);flex-direction:column;max-block-size:none}.reacd-splitter-panel{overflow-wrap:anywhere;min-block-size:0;min-inline-size:0;padding:min(var(--reacd-small), var(--reacd-padding-limit));flex-basis:0;overflow:auto}.reacd-splitter-panel[hidden]{display:none}.reacd-splitter-handle{flex:0 0 var(--reacd-control-target);min-block-size:var(--reacd-control-target);touch-action:none;cursor:col-resize;background:var(--reacd-canvas);position:relative}.reacd-splitter-handle:after{content:"";border-inline-start:var(--reacd-border-width) solid var(--reacd-border);position:absolute;inset-block:0;inset-inline-start:50%}.reacd-splitter[data-orientation=vertical]>.reacd-splitter-handle{cursor:row-resize}.reacd-splitter[data-orientation=vertical]>.reacd-splitter-handle:after{border-inline-start:0;border-block-start:var(--reacd-border-width) solid var(--reacd-border);inset-block-start:50%;inset-inline:0}.reacd-splitter-handle:hover,.reacd-splitter[data-dragging=true]>.reacd-splitter-handle{background:var(--reacd-border)}.reacd-splitter-handle[aria-disabled=true]{cursor:default}.reacd-splitter-handle:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-primary);outline-offset:calc(-1 * var(--reacd-focus-width))}.reacd-splitter[data-reflow=true]{flex-direction:column}.reacd-splitter[data-reflow=true]>.reacd-splitter-panel{flex:none;overflow:visible}.reacd-page-links,.reacd-page-links-list{gap:var(--reacd-small);min-inline-size:0;display:grid}.reacd-page-links>.reacd-page-title{font-size:calc(var(--reacd-font-size) * var(--reacd-page-title-feature));margin:0}.reacd-page-header>*{margin:0}.reacd-page-links-list{margin:0;padding:0;list-style:none}.reacd-page-link{align-items:center;gap:var(--reacd-small);min-block-size:var(--reacd-control-target);max-inline-size:100%;color:var(--reacd-text);overflow-wrap:anywhere;flex-wrap:wrap;display:inline-flex}.reacd-page-link[aria-current=location]{text-decoration-thickness:var(--reacd-focus-width);font-weight:700}[data-reacd-anchor]{scroll-margin-block-start:var(--reacd-large)}.reacd-page-frame{gap:var(--reacd-large);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-page{inline-size:100%}.reacd-page-frame-side{flex:var(--reacd-page-side-grow) 1 var(--reacd-page-side-track);min-inline-size:min(100%, var(--reacd-page-side-track))}.reacd-page-frame-body{gap:var(--reacd-large);flex:var(--reacd-page-body-grow) 1 var(--reacd-page-body-track);min-inline-size:min(100%, var(--reacd-page-body-track));align-content:start;display:grid}.reacd-command-palette{gap:var(--reacd-small);min-inline-size:0;display:grid}.reacd-command-palette>label{font-weight:700}.reacd-command-palette p{margin:0}.reacd-command-list{max-block-size:var(--reacd-command-block);overscroll-behavior:contain;min-inline-size:0;overflow:auto}.reacd-command-group{gap:var(--reacd-small);margin-block-end:var(--reacd-medium);display:grid}.reacd-command-item{min-block-size:var(--reacd-control-target);align-content:center;gap:var(--reacd-small);padding:var(--reacd-small);border:var(--reacd-border-width) solid transparent;border-radius:var(--reacd-radius);white-space:normal;overflow-wrap:anywhere;cursor:pointer;min-inline-size:0;max-inline-size:100%;display:grid}.reacd-command-item[data-highlighted],.reacd-command-item:hover:not([data-disabled]){border-color:var(--reacd-focus);background:var(--reacd-surface)}.reacd-command-item:active:not([data-disabled]){border-color:var(--reacd-primary)}.reacd-command-item[data-disabled]{cursor:not-allowed;color:var(--reacd-muted)}.reacd-command-description{font-size:calc(1em * var(--reacd-command-description))}.reacd-input-tags{position:relative}.reacd-tags-chips{align-items:center;gap:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);padding:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-tags-chip{align-items:center;gap:var(--reacd-small);background:var(--reacd-canvas);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);max-inline-size:100%;padding-inline-start:var(--reacd-small);display:inline-flex}.reacd-tags-text{overflow-wrap:anywhere;min-inline-size:0}.reacd-tags-remove{flex:0 0 var(--reacd-control-target);min-block-size:var(--reacd-control-target);color:var(--reacd-text);background:0 0;border:0;place-items:center;display:grid}.reacd-tags-remove svg{block-size:1em;inline-size:1em}.reacd-tags-chip:focus-visible,.reacd-tags-remove:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-input-tags .reacd-tags-input{flex:1 1 var(--reacd-stack-track);inline-size:100%;min-inline-size:0}.reacd-tree{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-tree-item{grid-template-columns:var(--reacd-control-target) minmax(0, 1fr);align-items:center;gap:var(--reacd-small);min-block-size:var(--reacd-control-target);border:var(--reacd-border-width) solid transparent;border-radius:var(--reacd-radius);cursor:pointer;display:grid}.reacd-tree-item[aria-selected=true]{color:var(--reacd-onPrimary);background:var(--reacd-primary)}.reacd-tree-item[aria-disabled=true]{cursor:not-allowed;border-style:dashed;border-color:currentColor}.reacd-tree-toggle{inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target);color:inherit;border:var(--reacd-border-width) solid currentColor;border-radius:var(--reacd-radius);background:0 0;place-items:center;padding:0;display:grid}.reacd-tree-spacer{inline-size:var(--reacd-control-target)}.reacd-tree-label{overflow-wrap:anywhere;padding-block:var(--reacd-small);padding-inline-end:var(--reacd-small)}.reacd-tree p{margin:0}.reacd-dashboard-group{align-items:stretch}.reacd-dashboard-group[data-narrow=true]{flex-direction:column}.reacd-dashboard-region{flex-basis:0;min-inline-size:0;max-inline-size:100%}.reacd-dashboard-region[data-empty=true]{flex-grow:0;flex-basis:0;block-size:0;inline-size:0}.reacd-dashboard-group[data-narrow=true]>.reacd-dashboard-region{flex:none}.reacd-dashboard-panel,.reacd-dashboard-panel-body{gap:var(--reacd-medium);overflow-wrap:anywhere;min-inline-size:0;display:grid}.reacd-dashboard-panel{padding-inline:min(var(--reacd-medium), var(--reacd-padding-limit))}.reacd-dashboard-navbar,.reacd-dashboard-toolbar,.reacd-dashboard-actions{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-dashboard-navbar,.reacd-dashboard-toolbar{padding-block:var(--reacd-small);border-block-end:var(--reacd-border-width) solid var(--reacd-border)}.reacd-dashboard-navbar :is(h1,h2){overflow-wrap:anywhere;margin:0}.reacd-dashboard-actions{min-inline-size:0}.reacd-editorial-collection{gap:var(--reacd-large);margin:0;padding:0;list-style:none;display:grid}.reacd-editorial-collection[data-orientation=horizontal]{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--reacd-page-intro-track)), 1fr))}.reacd-editorial,.reacd-editorial-copy,.reacd-editorial-media{gap:var(--reacd-medium);overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}.reacd-editorial{padding:min(var(--reacd-large), var(--reacd-padding-limit));border-radius:var(--reacd-radius);border:var(--reacd-border-width) solid transparent}.reacd-editorial[data-variant=outline],.reacd-editorial[data-variant=subtle]{border-color:var(--reacd-border)}.reacd-editorial[data-variant=outline]{background:var(--reacd-surface)}.reacd-editorial[data-variant=soft],.reacd-editorial[data-variant=subtle]{background:var(--reacd-canvas)}.reacd-editorial[data-variant=naked]{border:0;padding:0}.reacd-editorial[data-orientation=horizontal]{flex-flow:wrap}.reacd-editorial-copy,.reacd-editorial-media{flex:1 1 var(--reacd-page-intro-track);min-inline-size:min(100%, var(--reacd-page-intro-track))}.reacd-editorial[data-orientation=vertical]>*{flex-basis:auto}.reacd-editorial .reacd-page-title,.reacd-editorial-copy>p{margin:0}.reacd-editorial .reacd-page-title{font-size:calc(var(--reacd-font-size) * var(--reacd-page-title-section))}.reacd-editorial-image{block-size:auto;inline-size:100%;aspect-ratio:var(--reacd-editorial-image-ratio);object-fit:contain;overflow-wrap:anywhere;place-items:center;display:grid}.reacd-editorial-meta{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-editorial[data-indicator=true] .reacd-editorial-meta:before{content:"";inline-size:var(--reacd-editorial-indicator);block-size:var(--reacd-editorial-indicator);border-radius:var(--reacd-radius);background:var(--reacd-border);flex-shrink:0;display:block}.reacd-editor{gap:var(--reacd-small);color:var(--reacd-text);overflow-wrap:anywhere;flex-direction:column;display:flex}.reacd-editor-recovery button{min-inline-size:0;max-inline-size:100%;padding:min(var(--reacd-small), var(--reacd-padding-limit));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface)}.reacd-editor-recovery button:hover{text-decoration:underline}.reacd-editor-recovery button:active{border-style:inset}.reacd-editor-label{font-weight:700}.reacd-editor-content,.reacd-editor-content>div{min-inline-size:0;max-inline-size:100%}.reacd-editor .ProseMirror,.reacd-editor-preview{box-sizing:border-box;min-inline-size:0;max-inline-size:100%;min-block-size:var(--reacd-editor-min-block);padding:min(var(--reacd-medium), var(--reacd-padding-limit));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);white-space:pre-wrap;overflow-wrap:anywhere}.reacd-editor .ProseMirror:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-focus-width)}.reacd-editor .ProseMirror[aria-disabled=true]{cursor:not-allowed}.reacd-editor .ProseMirror :where(p,h1,h2,h3,blockquote,pre,ul,ol,li){overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;margin:0}.reacd-editor .ProseMirror :where(blockquote,ul,ol){padding-inline:var(--reacd-editor-indent) 0}.reacd-editor .ProseMirror :where(ul,ol){list-style-position:inside}.reacd-editor .ProseMirror li>p:first-child{display:inline}.reacd-editor .ProseMirror pre{white-space:pre-wrap}.reacd-editor .ProseMirror a{color:var(--reacd-text);text-decoration:underline}.reacd-editor .ProseMirror:has(>p:only-child>br:only-child):before{content:attr(data-placeholder);color:var(--reacd-muted);pointer-events:none;display:block}.reacd-editor-toolbar{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-editor-toolbar>button{white-space:normal;overflow-wrap:anywhere}.reacd-editor-menu{border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);min-inline-size:0;max-inline-size:100%;color:var(--reacd-text)}.reacd-editor-menu>p{margin:min(var(--reacd-small), var(--reacd-padding-limit))}.reacd-editor-menu [role=listbox]{max-block-size:min(var(--reacd-editor-menu-block), 100dvh);overscroll-behavior:contain;flex-direction:column;display:flex;overflow:auto}.reacd-editor-menu [role=option]{min-block-size:var(--reacd-control-target);padding:min(var(--reacd-small), var(--reacd-padding-limit));font:inherit;text-align:start;color:var(--reacd-text);background:var(--reacd-surface);white-space:normal;overflow-wrap:anywhere;cursor:pointer;border:0}.reacd-editor-menu [role=option]:is([aria-selected=true],:hover,:active){background:var(--reacd-primary);color:var(--reacd-onPrimary)}.reacd-editor-menu [role=option]:disabled{cursor:not-allowed;color:var(--reacd-muted);background:var(--reacd-surface)}.reacd-editor-drag-handle{gap:var(--reacd-small);overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;display:flex}.reacd-editor-drag-handle p{margin:0}.reacd-editor-drag-controls{gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-editor-drag-controls [draggable=true]{cursor:grab}.reacd-editor-drag-controls [draggable=true]:active{cursor:grabbing}.reacd-edge-portal{z-index:var(--reacd-modal-layer);pointer-events:none;background:0 0;padding:0;position:fixed;inset:0}.reacd-edge-portal[hidden]{display:none}.reacd-edge-viewport{pointer-events:none;position:fixed;inset:0}.reacd-edge-panel{inline-size:min(100%, var(--reacd-panel-width));max-block-size:100dvh;padding:var(--reacd-medium);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow);pointer-events:auto;overflow-wrap:anywhere;overscroll-behavior:contain;position:absolute;overflow:auto}.reacd-edge-panel[data-edge=left],.reacd-edge-panel[data-edge=right]{block-size:100dvh;top:0}.reacd-edge-panel[data-edge=left]{left:0}.reacd-edge-panel[data-edge=right]{right:0}.reacd-edge-panel[data-edge=top],.reacd-edge-panel[data-edge=bottom]{inline-size:100%;max-block-size:var(--reacd-panel-max-block);left:0}.reacd-edge-panel[data-edge=top]{top:0}.reacd-edge-panel[data-edge=bottom]{bottom:0}.reacd-edge-panel[data-fullscreen=true]{block-size:100%;max-block-size:100dvh;inline-size:100%;inset:0}.reacd-drawer-panel{transform:translate(var(--drawer-swipe-movement-x,0px), var(--drawer-swipe-movement-y,0px))}.reacd-drawer-handle{inline-size:var(--reacd-panel-handle-width);block-size:var(--reacd-panel-handle-block);background:var(--reacd-muted);border-radius:var(--reacd-radius)}.reacd-drawer-grip{min-block-size:var(--reacd-control-target);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;place-items:center;margin-block-end:var(--reacd-small);display:grid}.reacd-action-positioner{inline-size:max-content;max-inline-size:var(--available-width);z-index:var(--reacd-popup-layer);background:0 0;padding:0}.reacd-action-popup{inline-size:var(--reacd-action-width);max-inline-size:100%;max-block-size:min(var(--available-height), var(--reacd-action-block));overscroll-behavior:contain;border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);box-shadow:var(--reacd-shadow);padding:var(--reacd-small);color:var(--reacd-text);overflow:auto}.reacd-action-item{min-block-size:var(--reacd-control-target);align-items:center;gap:var(--reacd-small);min-inline-size:0;padding:var(--reacd-small);border-radius:var(--reacd-radius);white-space:normal;overflow-wrap:anywhere;color:inherit;cursor:pointer;text-decoration:none;display:flex}.reacd-action-item[data-intent=danger]{color:var(--reacd-danger)}.reacd-action-item[data-highlighted]{outline:var(--reacd-border-width) solid var(--reacd-focus);outline-offset:calc(-1 * var(--reacd-border-width));background:var(--reacd-canvas)}.reacd-action-item[data-disabled]{color:var(--reacd-muted);cursor:not-allowed}.reacd-action-indicator{flex:0 0 var(--reacd-action-indicator)}.reacd-action-label{padding:var(--reacd-small);overflow-wrap:anywhere;font-weight:700}.reacd-action-separator{border-block-end:var(--reacd-border-width) solid var(--reacd-border)}.reacd-context-trigger{min-block-size:var(--reacd-control-target);padding:var(--reacd-medium);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius)}.reacd-pricing-plan,.reacd-pricing-introduction,.reacd-pricing-details,.reacd-pricing-tier{gap:var(--reacd-medium);overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}.reacd-pricing-plan{padding:min(var(--reacd-large), var(--reacd-padding-limit));border:var(--reacd-border-width) solid transparent;border-radius:var(--reacd-radius)}.reacd-pricing-plan[data-variant=solid],.reacd-pricing-plan[data-variant=outline]{background:var(--reacd-surface);border-color:var(--reacd-border)}.reacd-pricing-plan[data-variant=soft],.reacd-pricing-plan[data-variant=subtle]{background:var(--reacd-canvas)}.reacd-pricing-plan[data-variant=subtle]{border-color:var(--reacd-border)}.reacd-pricing-plan[data-highlight=true]{border-color:var(--reacd-border);border-width:var(--reacd-focus-width)}.reacd-pricing-plan[data-scale=true]{padding-block:calc(var(--reacd-large) * var(--reacd-pricing-prominence))}.reacd-pricing-plan[data-orientation=horizontal]{flex-flow:wrap}.reacd-pricing-introduction,.reacd-pricing-details{flex:1 1 var(--reacd-page-intro-track);min-inline-size:min(100%, var(--reacd-page-intro-track))}.reacd-pricing-plan[data-orientation=vertical]>*{flex-basis:auto}.reacd-pricing-plan .reacd-page-title{font-size:calc(var(--reacd-font-size) * var(--reacd-page-title-section));margin:0}.reacd-pricing-plan p,.reacd-pricing-price p{margin:0}.reacd-pricing-price{align-items:baseline;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-pricing-price>strong{font-size:calc(var(--reacd-font-size) * var(--reacd-page-title-section))}.reacd-pricing-features,.reacd-pricing-plans{gap:var(--reacd-medium);margin:0;padding:0;list-style:none;display:grid}.reacd-pricing-plans[data-compact=true]{gap:var(--reacd-small)}.reacd-pricing-plans[data-orientation=horizontal]{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--reacd-page-intro-track)), 1fr))}.reacd-pricing-table-region{max-inline-size:100%;overflow-x:auto;container-type:inline-size}.reacd-pricing-tier :is(button,input,select,textarea,[role=combobox]){max-inline-size:min(100%, calc(100cqi - var(--reacd-focus-width) - var(--reacd-focus-width)))}.reacd-pricing-comparison{gap:var(--reacd-medium);min-inline-size:0;max-inline-size:100%;display:grid}.reacd-pricing-caption{overflow-wrap:anywhere;margin:0;font-weight:700}.reacd-pricing-table{border-collapse:collapse;inline-size:100%}.reacd-pricing-table :is(th,td){min-inline-size:var(--reacd-table-column);padding:var(--reacd-medium);border:var(--reacd-border-width) solid var(--reacd-border);vertical-align:top;text-align:start}.reacd-pricing-table th[data-highlight=true]{box-shadow:inset 0 var(--reacd-focus-width) var(--reacd-border)}.reacd-content-surround{gap:var(--reacd-medium);flex-wrap:wrap;display:flex}.reacd-surround-link{flex:1 1 var(--reacd-stack-track);align-items:start;gap:var(--reacd-small);padding:min(var(--reacd-medium), var(--reacd-padding-limit));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex}.reacd-surround-direction{color:var(--reacd-muted)}.reacd-surround-title{font-weight:700}.reacd-surround-link:hover .reacd-surround-title{text-decoration:underline}.reacd-surround-link:active{border-color:var(--reacd-primary)}.reacd-root .reacd-search-button:disabled{opacity:1;pointer-events:auto;color:var(--reacd-muted);background:var(--reacd-surface)}.reacd-auth-form,.reacd-auth-fields{gap:var(--reacd-medium);overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}.reacd-auth-form{padding:min(var(--reacd-large), var(--reacd-padding-limit));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface)}.reacd-auth-fields{border:0;margin:0;padding:0}.reacd-page-logos{gap:var(--reacd-large);overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;display:grid}.reacd-page-logos :is(p,.reacd-page-title){margin:0}.reacd-logo-list{align-items:center;gap:var(--reacd-large);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reacd-logo-list>li{flex:auto;min-inline-size:0;max-inline-size:100%}.reacd-safe-image{object-fit:contain;overflow-wrap:anywhere;block-size:auto;max-inline-size:100%;display:block}.reacd-logo-image[role=img]{inline-size:fit-content}.reacd-form-boundary{display:contents}.reacd-content-outline :is(ul,li){min-inline-size:0;margin:0;padding:0;list-style:none}.reacd-content-outline ul[hidden]{display:none}.reacd-content-outline-row{align-items:start;gap:var(--reacd-small);padding-block:var(--reacd-small);min-inline-size:0;display:flex}.reacd-content-outline-row>:first-child{overflow-wrap:anywhere;flex:1;min-inline-size:0}.reacd-content-outline-link{color:var(--reacd-primary);text-underline-offset:var(--reacd-small);min-block-size:var(--reacd-control-target);align-items:center;text-decoration:underline;display:flex}.reacd-content-outline-link[aria-current]{font-weight:700}.reacd-content-outline-link[aria-disabled]{color:var(--reacd-muted)}.reacd-content-disclosure{min-inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target);padding:var(--reacd-small);color:var(--reacd-text);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);flex:none}.reacd-toast-viewport{inline-size:auto;inset-inline:var(--reacd-small);align-items:flex-end;gap:var(--reacd-small);min-inline-size:0;max-block-size:calc(100dvh - 2 * var(--reacd-small));overscroll-behavior:contain;pointer-events:none;z-index:var(--reacd-toast-layer);background:0 0;flex-direction:column;padding:0;display:flex;position:fixed;inset-block-end:var(--reacd-small);overflow:auto}.reacd-toast{inline-size:var(--reacd-toast-width);min-inline-size:0;max-inline-size:100%;padding:var(--reacd-medium);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);box-shadow:var(--reacd-shadow);pointer-events:auto;transform:translate(var(--toast-swipe-movement-x,0px), var(--toast-swipe-movement-y,0px));flex-shrink:0}.reacd-toast[dir=rtl]{align-self:flex-start}.reacd-toast[data-ending-style],.reacd-toast[data-limited]{display:none}.reacd-toast[data-intent=success]{border-color:var(--reacd-primary)}.reacd-toast[data-intent=danger]{border-color:var(--reacd-danger)}.reacd-toast-content{min-inline-size:0;max-block-size:var(--reacd-toast-block);overscroll-behavior:contain;overflow-wrap:anywhere;white-space:normal;overflow:auto}.reacd-toast-content p,.reacd-toast-title{margin:0}.reacd-toast-title{font-size:inherit;font-weight:700}.reacd-toast-actions{gap:var(--reacd-small);flex-wrap:wrap;margin-block-start:var(--reacd-small);display:flex}.reacd-toast-grip{min-block-size:var(--reacd-control-target);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid}.reacd-toast-grip>span{inline-size:var(--reacd-toast-grip-width);block-size:var(--reacd-toast-grip-block);border-radius:var(--reacd-radius);background:var(--reacd-muted)}.reacd-calendar{gap:var(--reacd-small);flex-direction:column;display:flex;position:relative}.reacd-calendar-label{font-weight:500}.reacd-calendar-viewport{max-inline-size:100%;padding:var(--reacd-small);overflow:auto}.reacd-calendar .rdp-months{gap:var(--reacd-medium);flex-wrap:wrap;display:flex}.reacd-calendar .rdp-month{inline-size:calc(var(--reacd-calendar-days) * var(--reacd-control-target));flex-shrink:0}.reacd-calendar .rdp-month_grid{border-collapse:collapse}.reacd-calendar :is(.rdp-month_caption,.rdp-nav){align-items:center;gap:var(--reacd-small);min-block-size:var(--reacd-control-target);display:flex}.reacd-calendar .rdp-nav button{inline-size:var(--reacd-control-target);background:var(--reacd-surface);color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);place-items:center;display:grid}.reacd-calendar .rdp-chevron{fill:currentColor;block-size:1em;inline-size:1em}.reacd-calendar[data-direction=rtl] .rdp-chevron{transform:rotate(180deg)}.reacd-calendar .rdp-weekday{color:var(--reacd-muted);overflow-wrap:anywhere;font-weight:400}.reacd-calendar .rdp-day{padding:0}.reacd-calendar .reacd-calendar-day{inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target);block-size:auto;color:var(--reacd-text);border-radius:var(--reacd-radius);white-space:normal;background:var(--reacd-surface);padding:0}.reacd-calendar .reacd-calendar-day[data-selected]{color:var(--reacd-onPrimary);background:var(--reacd-primary)}.reacd-calendar .rdp-today button{border:var(--reacd-border-width) solid var(--reacd-focus)}.reacd-calendar .reacd-calendar-validation{inline-size:var(--reacd-border-width);block-size:var(--reacd-border-width);clip-path:inset(50%);opacity:0;pointer-events:none;min-block-size:0;position:absolute;inset-block-start:0;inset-inline-start:0}.reacd-time-entry{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-time-segments{min-inline-size:0;min-block-size:var(--reacd-control-target);padding-inline:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface);unicode-bidi:isolate;flex-wrap:wrap;flex:auto;align-items:center;display:flex}.reacd-time-segment{overflow-wrap:anywhere;justify-content:center;align-items:center;min-inline-size:0;display:inline-flex}.reacd-time-segment:is([role=spinbutton],[role=textbox]){min-inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target)}.reacd-time-segment:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-time-segments[data-invalid]{border-color:var(--reacd-danger)}.reacd-time-segment[data-placeholder]{color:var(--reacd-muted)}.reacd-time-range{gap:var(--reacd-medium);border:0;grid-template-columns:minmax(0,1fr);min-inline-size:0;padding:0;display:grid}.reacd-time-range legend{overflow-wrap:anywhere;margin-block-end:var(--reacd-small)}.reacd-time-error{color:var(--reacd-danger);overflow-wrap:anywhere}.reacd-date-entry{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-date-segments{min-inline-size:0;min-block-size:var(--reacd-control-target);padding-inline:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface);unicode-bidi:isolate;flex-wrap:wrap;flex:auto;align-items:center;display:flex}.reacd-date-segment{overflow-wrap:anywhere;justify-content:center;align-items:center;min-inline-size:0;display:inline-flex}.reacd-date-segment:is([role=spinbutton],[role=textbox]){min-inline-size:var(--reacd-control-target);min-block-size:var(--reacd-control-target)}.reacd-date-segment:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-date-segments[data-invalid]{border-color:var(--reacd-danger)}.reacd-date-segment[data-placeholder]{color:var(--reacd-muted)}.reacd-date-range{gap:var(--reacd-medium);border:0;grid-template-columns:minmax(0,1fr);min-inline-size:0;padding:0;display:grid}.reacd-date-range legend{overflow-wrap:anywhere;margin-block-end:var(--reacd-small)}.reacd-date-error{color:var(--reacd-danger);overflow-wrap:anywhere}.reacd-field-group{align-items:stretch;gap:var(--reacd-small);padding:min(var(--reacd-small), var(--reacd-padding-limit));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);flex-wrap:wrap;display:flex}.reacd-field-group[data-orientation=horizontal]>*{flex:1 1 var(--reacd-stack-track)}.reacd-field-group[data-orientation=vertical]{flex-direction:column}.reacd-chat-attachment{align-items:center;gap:var(--reacd-small);padding:var(--reacd-small);background:var(--reacd-surface);color:var(--reacd-text);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.reacd-chat-file-image{inline-size:var(--reacd-chat-image);block-size:var(--reacd-chat-image);object-fit:contain;max-inline-size:100%}.reacd-chat-file-description{flex:1 1 var(--reacd-chat-file-track);flex-direction:column;min-inline-size:0;display:flex}.reacd-chat-attachment>button{flex-basis:100%}.reacd-chat-file-name{font-weight:700}.reacd-chat-file-kind,.reacd-chat-message-author>span{color:var(--reacd-muted)}.reacd-chat-message{padding-block:var(--reacd-small);overflow-wrap:anywhere;justify-content:start;display:flex}.reacd-chat-message[data-role=user]{justify-content:end}.reacd-chat-message-content{min-inline-size:0;max-inline-size:100%;padding:var(--reacd-medium);background:var(--reacd-surface);color:var(--reacd-text);gap:var(--reacd-small)}.reacd-chat-message-author,.reacd-chat-actions{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-chat-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.reacd-chat-attachments{gap:var(--reacd-small);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reacd-chat-attachments>li{min-inline-size:0}.reacd-chat-messages{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-chat-log{max-block-size:var(--reacd-chat-viewport);overflow-wrap:anywhere;overscroll-behavior:contain;min-inline-size:0;padding:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);overflow:auto}.reacd-chat-error [role=alert],.reacd-chat-attachment[data-status=error] [role=alert]{color:var(--reacd-danger)}.reacd-icon{inline-size:var(--reacd-icon-medium);block-size:var(--reacd-icon-medium);vertical-align:middle;flex-shrink:0;max-inline-size:100%;display:inline-block}.reacd-icon[data-size=small]{inline-size:var(--reacd-icon-small);block-size:var(--reacd-icon-small)}.reacd-icon[data-size=large]{inline-size:var(--reacd-icon-large);block-size:var(--reacd-icon-large)}.reacd-button-label{overflow-wrap:anywhere;min-inline-size:0}.reacd-button{padding-block:var(--reacd-small);padding-inline:var(--reacd-medium);border-radius:var(--reacd-radius);font-size:inherit;flex-wrap:wrap}.reacd-button[aria-busy=true]{border-style:dashed}.reacd-badge{align-items:center;gap:var(--reacd-small);max-inline-size:100%;padding:var(--reacd-small);border-radius:var(--reacd-radius);flex-wrap:wrap;display:inline-flex}.reacd-badge[data-size=small]{font-size:var(--reacd-badge-small)}.reacd-badge[data-size=medium]{font-size:var(--reacd-badge-medium)}.reacd-badge[data-size=large]{font-size:var(--reacd-badge-large)}.reacd-card .reacd-card-slot{align-items:stretch;gap:var(--reacd-gap);flex-direction:column;padding:0;display:flex}.reacd-alert-layout{align-items:start;gap:var(--reacd-small);display:flex}.reacd-alert-content{flex:1}.reacd-alert-heading{align-items:start;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-alert-content strong{display:block}.reacd-alert-actions{gap:var(--reacd-small);flex-wrap:wrap;margin-block-start:var(--reacd-small);display:flex}.reacd-alert-close{inline-size:var(--reacd-control-target);block-size:auto;color:inherit;flex-shrink:0;place-items:center;padding:0;display:grid}.reacd-alert{color:var(--reacd-text);padding:min(var(--reacd-medium), var(--reacd-padding-limit));border-radius:var(--reacd-radius);font-size:inherit}.reacd-alert-content>div{font-size:inherit}.reacd-progress-track{display:flex}.reacd-chat-shimmer{max-inline-size:100%;color:var(--reacd-text);overflow-wrap:anywhere;display:inline-block;position:relative}.reacd-chat-shimmer:after{content:"";block-size:var(--reacd-chat-feedback-decoration);opacity:0;pointer-events:none;background:currentColor;position:absolute;inset-block-end:0;inset-inline:0}.reacd-chat-shimmer[data-active=true]:after{opacity:var(--reacd-chat-feedback-rest);animation:reacd-chat-shimmer var(--reacd-chat-feedback-duration) ease-in-out;animation-iteration-count:var(--reacd-chat-feedback-iterations)}@keyframes reacd-chat-shimmer{50%{opacity:var(--reacd-chat-feedback-peak)}}@media (prefers-reduced-motion:reduce){.reacd-chat-shimmer[data-active=true]:after{animation:none}}.reacd-chat-feedback-details{max-block-size:var(--reacd-chat-feedback-details);overscroll-behavior:contain;padding:var(--reacd-small);overflow:auto}.reacd-chat-feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.reacd-chat-tool{gap:var(--reacd-small);overflow-wrap:anywhere;flex-direction:column;display:flex}.reacd-form-field{gap:var(--reacd-small);border:0;flex-direction:column;min-inline-size:0;margin:0;padding:0;display:flex}.reacd-form-field legend{overflow-wrap:anywhere;max-inline-size:100%;margin-block-end:var(--reacd-small);padding:0}.reacd-form-field p,.reacd-switch p,.reacd-textarea p{overflow-wrap:anywhere;min-inline-size:0;margin:0}.reacd-field-error{color:var(--reacd-danger)}.reacd-field-hint{color:var(--reacd-muted)}.reacd-textarea[data-auto-resize] textarea{resize:none;overflow-y:auto}.reacd-textarea textarea[aria-invalid=true]{border-color:var(--reacd-danger)}.reacd-switch [role=switch][aria-invalid=true]{outline:var(--reacd-border-width) solid var(--reacd-danger);outline-offset:var(--reacd-border-width)}.reacd-input input{block-size:auto}.reacd-input p{overflow-wrap:anywhere;min-inline-size:0;margin:0}.reacd-input input[aria-invalid=true]{border-color:var(--reacd-danger)}.reacd-form-fields{border:0;min-inline-size:0;margin:0;padding:0}.reacd-form-summary{color:var(--reacd-danger);overflow-wrap:anywhere}.reacd-form-summary p{margin:0}.reacd-form-summary ul{margin-block:var(--reacd-small);padding-inline-start:var(--reacd-large)}.reacd-chat-prompt{gap:var(--reacd-small);padding:var(--reacd-medium);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);background:var(--reacd-surface);color:var(--reacd-text);overflow-wrap:anywhere;flex-direction:column;display:flex}.reacd-chat-prompt-content{gap:var(--reacd-small);flex-direction:column;min-inline-size:0;display:flex}.reacd-chat-prompt-content>label{font-weight:700}.reacd-chat-prompt-content>p,.reacd-chat-prompt>p{margin:0}.reacd-chat-prompt-content>textarea{box-sizing:border-box;resize:vertical;inline-size:100%;min-inline-size:0;max-inline-size:100%;padding:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);font:inherit;background:var(--reacd-surface);color:var(--reacd-text)}.reacd-chat-prompt-content>textarea::placeholder{color:var(--reacd-muted);opacity:1}.reacd-chat-prompt-content>textarea:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-focus-width)}.reacd-chat-prompt-content>textarea:disabled{cursor:not-allowed}.reacd-chat-prompt-files,.reacd-chat-prompt-actions{gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-chat-prompt-files>*{flex:1 1 var(--reacd-chat-file-track)}.reacd-chat-palette{min-inline-size:0;block-size:min(var(--reacd-chat-palette-block), 100dvh);gap:var(--reacd-medium);flex-direction:column;display:flex}.reacd-chat-palette-content{overscroll-behavior:contain;flex:1;min-block-size:0;overflow:auto}.reacd-chat-palette-prompt{flex:none;min-inline-size:0}.reacd-input-menu{overflow-wrap:anywhere;min-inline-size:0;position:relative}.reacd-input-menu-controls{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-input-menu-controls input{flex:1;min-inline-size:0;max-inline-size:100%}.reacd-input-menu-positioner{z-index:var(--reacd-popup-layer);inline-size:var(--anchor-width);max-inline-size:min(var(--available-width), var(--reacd-form-menu-inline))}.reacd-input-menu-popup{background:var(--reacd-surface);color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);padding:var(--reacd-small);box-shadow:var(--reacd-shadow)}.reacd-input-menu-list{max-block-size:min(var(--available-height), var(--reacd-form-menu-block));overscroll-behavior:contain;overflow:auto}.reacd-input-menu-item{gap:var(--reacd-small);min-block-size:var(--reacd-control-target);min-inline-size:0;padding:var(--reacd-small);white-space:normal;overflow-wrap:anywhere;border:var(--reacd-border-width) solid transparent;border-radius:var(--reacd-radius);cursor:pointer;display:grid}.reacd-input-menu-item[data-highlighted]{border-color:var(--reacd-focus)}.reacd-input-menu-item[data-disabled]{color:var(--reacd-muted);cursor:not-allowed}.reacd-input-menu-validation{inline-size:var(--reacd-border-width);block-size:var(--reacd-border-width);opacity:0;pointer-events:none;position:absolute}.reacd-select-menu{overflow-wrap:anywhere;min-inline-size:0;position:relative}.reacd-select-menu-controls{gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-select-menu-trigger{white-space:normal;text-align:start;overflow-wrap:anywhere;flex:1;block-size:auto;min-inline-size:0;max-inline-size:100%}.reacd-select-menu-positioner{z-index:var(--reacd-popup-layer);inline-size:var(--anchor-width);max-inline-size:min(var(--available-width), var(--reacd-form-menu-inline))}.reacd-select-menu-popup{gap:var(--reacd-small);padding:var(--reacd-small);min-inline-size:0;max-block-size:var(--available-height);background:var(--reacd-surface);color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow);grid-template-rows:auto minmax(0,1fr);display:grid}.reacd-select-menu-popup[hidden]{display:none}.reacd-select-menu-list{max-block-size:min(var(--available-height), var(--reacd-form-menu-block));overscroll-behavior:contain;min-block-size:0;min-inline-size:0;overflow:auto}.reacd-select-menu-item{gap:var(--reacd-small);min-block-size:var(--reacd-control-target);min-inline-size:0;padding:var(--reacd-small);white-space:normal;overflow-wrap:anywhere;border:var(--reacd-border-width) solid transparent;border-radius:var(--reacd-radius);cursor:pointer;display:grid}.reacd-select-menu-item[data-highlighted]{border-color:var(--reacd-focus)}.reacd-select-menu-item[data-disabled]{color:var(--reacd-muted);cursor:not-allowed}.reacd-select-menu-validation{inline-size:var(--reacd-border-width);block-size:var(--reacd-border-width);opacity:0;pointer-events:none;position:absolute}.reacd-listbox-options{min-inline-size:0;min-block-size:var(--reacd-control-target);max-block-size:calc(var(--reacd-control-target) * var(--reacd-listbox-rows));border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface);flex-direction:column;display:flex;overflow:auto}.reacd-listbox-option{gap:var(--reacd-small);min-block-size:var(--reacd-control-target);min-inline-size:0;padding:var(--reacd-small) var(--reacd-medium);border-inline-start:var(--reacd-focus-width) solid transparent;overflow-wrap:anywhere;cursor:pointer;flex-direction:column;display:flex}.reacd-listbox-option[data-selected]{background:var(--reacd-canvas);border-inline-start-color:var(--reacd-primary)}.reacd-listbox-options:focus-visible,.reacd-listbox-option[data-focus-visible]{outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:calc(var(--reacd-focus-width) * -1)}.reacd-listbox-options[aria-invalid=true]{border-color:var(--reacd-danger)}.reacd-listbox-option[data-disabled]{cursor:default;color:var(--reacd-muted)}.reacd-listbox-description{color:var(--reacd-muted);overflow-wrap:anywhere}.reacd-listbox-options[aria-readonly=true] .reacd-listbox-option{cursor:default}.reacd-checkbox p{overflow-wrap:anywhere;min-inline-size:0;margin:0}.reacd-checkbox [role=checkbox]:is([data-state=checked],[data-state=indeterminate]){background:var(--reacd-primary);color:var(--reacd-onPrimary);border-color:var(--reacd-primary)}.reacd-checkbox [role=checkbox][data-state=indeterminate] svg{display:none}.reacd-checkbox [role=checkbox][data-state=indeterminate]>span:after{content:"";inline-size:var(--reacd-medium);block-size:var(--reacd-border-width);background:currentColor;display:block}.reacd-checkbox [role=checkbox][aria-invalid=true]{outline:var(--reacd-border-width) solid var(--reacd-danger);outline-offset:var(--reacd-border-width)}.reacd-checkbox [role=checkbox][aria-readonly=true]{cursor:default}.reacd-select-entry>input[aria-hidden=true][tabindex="-1"]{min-block-size:0}.reacd-select-entry{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-select-trigger{justify-content:space-between;align-items:center;gap:var(--reacd-small);min-inline-size:0;padding:var(--reacd-small);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);color:var(--reacd-text);background:var(--reacd-surface);white-space:normal;flex:auto;display:flex}.reacd-select-value{overflow-wrap:anywhere;text-align:start;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reacd-select-icon,.reacd-select-indicator svg{inline-size:var(--reacd-medium);block-size:var(--reacd-medium);flex-shrink:0}.reacd-select-positioner{z-index:var(--reacd-popup-layer)}.reacd-base-select-popup{color:var(--reacd-text);background:var(--reacd-surface);border:var(--reacd-border-width) solid var(--reacd-border);border-radius:var(--reacd-radius);box-shadow:var(--reacd-shadow);padding:var(--reacd-small);min-inline-size:0;inline-size:min(var(--anchor-width), calc(100vw - var(--reacd-medium) * 2));max-inline-size:calc(100vw - var(--reacd-medium) * 2);max-block-size:var(--available-height);flex-direction:column;display:flex;overflow:hidden}.reacd-select-list{min-block-size:0;overflow:auto}.reacd-select-option{grid-template-columns:var(--reacd-control-target) minmax(0, 1fr);min-block-size:var(--reacd-control-target);align-items:center;gap:var(--reacd-small);padding:var(--reacd-small);overflow-wrap:anywhere;cursor:pointer;display:grid}.reacd-select-option-content{grid-column:2}.reacd-select-option[data-highlighted]{color:var(--reacd-onPrimary);background:var(--reacd-primary)}.reacd-select-option[data-disabled]{color:var(--reacd-muted);cursor:not-allowed}.reacd-select p,.reacd-base-select-popup p{overflow-wrap:anywhere;margin:0}.reacd-select-trigger[aria-invalid=true]{border-color:var(--reacd-danger)}.reacd-select-entry>.reacd-button{color:var(--reacd-text);background:var(--reacd-surface);border-color:var(--reacd-border)}.reacd-range-root{inline-size:100%;min-inline-size:0}.reacd-range-control{inline-size:100%;min-block-size:var(--reacd-control-target);touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative}.reacd-range-track{inline-size:100%;block-size:var(--reacd-small);background:var(--reacd-border);border-radius:var(--reacd-radius)}.reacd-range-indicator{background:var(--reacd-primary);border-radius:inherit}.reacd-range-thumb{inline-size:var(--reacd-control-target);block-size:var(--reacd-control-target);border-radius:var(--reacd-radius);border:var(--reacd-border-width) solid var(--reacd-primary);background:var(--reacd-surface);cursor:grab}.reacd-range-thumb:has(input:focus-visible){outline:var(--reacd-focus-width) solid var(--reacd-focus);outline-offset:var(--reacd-focus-width)}.reacd-range-thumb:has(input[aria-invalid=true]){border-color:var(--reacd-danger)}.reacd-range-thumb:has(input[aria-readonly=true]){cursor:default}.reacd-range-thumb[data-disabled]{cursor:not-allowed;border-style:dashed}.reacd-range-root[data-orientation=vertical]{inline-size:var(--reacd-control-target)}.reacd-range-control[data-orientation=vertical]{inline-size:var(--reacd-control-target);justify-content:center;block-size:100%}.reacd-range-track[data-orientation=vertical]{inline-size:var(--reacd-small);block-size:100%}.reacd-color-picker{overflow-wrap:anywhere;min-inline-size:0}.reacd-color-feedback[role=alert]{text-decoration:underline}.reacd-color-area{block-size:var(--reacd-color-area-height);min-inline-size:0;margin:calc(var(--reacd-color-thumb) / 2);border:var(--reacd-border-width) solid var(--reacd-text);touch-action:none;cursor:crosshair;position:relative}.reacd-color-slider{min-inline-size:0;min-block-size:var(--reacd-control-target);align-items:center;display:flex}.reacd-color-track{inline-size:100%;block-size:max(var(--reacd-color-track-height), var(--reacd-control-target));margin-inline:calc(var(--reacd-color-thumb) / 2);border:var(--reacd-border-width) solid var(--reacd-text);cursor:pointer;position:relative}.reacd-color-area[data-disabled],.reacd-color-slider[data-disabled] .reacd-color-track{cursor:not-allowed;border-style:dashed}.reacd-color-thumb{inline-size:var(--reacd-color-thumb);block-size:var(--reacd-color-thumb);border:var(--reacd-color-thumb-outline) solid var(--reacd-color-thumb-light);box-shadow:0 0 0 var(--reacd-color-thumb-shadow) var(--reacd-color-thumb-dark);border-radius:50%}.reacd-color-thumb[data-focus-visible]{outline:var(--reacd-focus-width) solid var(--reacd-color-thumb-dark);box-shadow:0 0 0 calc(var(--reacd-focus-width) + var(--reacd-color-thumb-outline)) var(--reacd-color-thumb-light)}.reacd-color-presets{gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-color-swatch{inline-size:var(--reacd-color-thumb);block-size:var(--reacd-color-thumb);border:var(--reacd-border-width) solid var(--reacd-text);flex:none;display:inline-block}.reacd-file-upload{overflow-wrap:anywhere;min-inline-size:0}.reacd-file-upload-list{gap:var(--reacd-small);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reacd-file-upload-list>li{align-items:center;gap:var(--reacd-small);flex-wrap:wrap;min-inline-size:0;display:flex}.reacd-file-upload-list>li>span{flex:1 1 var(--reacd-stack-track);min-inline-size:0}.reacd-file-upload:focus-visible{outline:var(--reacd-focus-width) solid var(--reacd-text);outline-offset:var(--reacd-focus-width)}.reacd-carousel,.reacd-carousel-panel{gap:var(--reacd-medium);flex-direction:column;display:flex}.reacd-carousel-panel[hidden]{display:none}.reacd-carousel-panel{border:0;margin:0;padding:0}.reacd-carousel-controls,.reacd-carousel-chooser{gap:var(--reacd-small);flex-wrap:wrap;display:flex}.reacd-carousel p{margin:0}.reacd-marquee{gap:var(--reacd-small);flex-direction:column;display:flex}.reacd-marquee p{margin:0}.reacd-marquee-viewport{max-inline-size:100%;overflow:hidden}.reacd-marquee-track{inline-size:max-content;animation:reacd-marquee var(--reacd-marquee-duration) linear infinite;display:flex}.reacd-marquee-copy{align-items:center;gap:var(--reacd-large);flex-shrink:0;padding-inline-end:var(--reacd-large);display:flex}.reacd-marquee-copy span{inline-size:var(--reacd-marquee-item-width);overflow-wrap:anywhere}.reacd-marquee-track[data-reverse=true]{animation-direction:reverse}.reacd-marquee-track[data-paused=true],.reacd-marquee:hover .reacd-marquee-track,.reacd-marquee:focus-within .reacd-marquee-track{animation-play-state:paused}.reacd-marquee-reading summary{min-block-size:var(--reacd-control-target);cursor:pointer}.reacd-marquee-reading-list{margin:0;padding-inline-start:var(--reacd-large)}@keyframes reacd-marquee{0%{transform:translate(0)}to{transform:translateX(var(--reacd-marquee-shift))}}@media (prefers-reduced-motion:reduce){.reacd-marquee-track{animation:none}}.reacd-chart{gap:var(--reacd-small);color:var(--reacd-text);flex-direction:column;margin:0;display:flex}.reacd-chart p{margin:0}.reacd-chart-graphic{block-size:auto;inline-size:100%;display:block}.reacd-chart-legend{gap:var(--reacd-medium);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reacd-chart-legend li{align-items:center;gap:var(--reacd-small);overflow-wrap:anywhere;min-inline-size:0;display:flex}.reacd-chart-legend svg{inline-size:var(--reacd-control-target);flex-shrink:0}.reacd-chart-table{inline-size:max-content;min-inline-size:100%}.reacd-root .reacd-color-mode-button,.reacd-root .reacd-color-mode-select{min-block-size:var(--reacd-control-target);white-space:normal;overflow-wrap:anywhere;block-size:auto;max-inline-size:100%;color:var(--reacd-text)}.reacd-root .reacd-color-mode-select>span{-webkit-line-clamp:unset;white-space:normal;overflow-wrap:anywhere;display:block}.reacd-color-mode-image{background:var(--reacd-surface);inline-size:100%;max-inline-size:100%;color:var(--reacd-text);border:var(--reacd-border-width) solid var(--reacd-border);place-items:center;display:grid;overflow:hidden}.reacd-color-mode-image>*{grid-area:1/1}.reacd-color-mode-image img{object-fit:contain;block-size:100%;inline-size:100%}.reacd-color-mode-image[data-status=loading] img{opacity:0}.reacd-color-mode-image span{padding:var(--reacd-medium);overflow-wrap:anywhere}.reacd-locale-trigger>span{-webkit-line-clamp:unset;white-space:normal;overflow-wrap:anywhere;display:block;overflow:visible}.reacd-locale-option{white-space:normal;overflow-wrap:anywhere;block-size:auto}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
@@ -0,0 +1 @@
1
+ import './styles.css';
package/dist/styles.js ADDED
@@ -0,0 +1 @@
1
+ import './styles.css';
@@ -0,0 +1,2 @@
1
+ import type { SubmitButtonProps } from '@fastsprout/reacd/adapter-runtime/components/submit-button/index.js';
2
+ export declare function ShadcnSubmitButton({ label, intent, disabled }: SubmitButtonProps): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULTS } from '@fastsprout/reacd/adapter-runtime/core/policy.js';
3
+ import { Button } from '../vendor/ui/button.js';
4
+ const VARIANTS = {
5
+ primary: 'default',
6
+ secondary: 'secondary',
7
+ danger: 'destructive',
8
+ };
9
+ export function ShadcnSubmitButton({ label, intent, disabled }) {
10
+ return (_jsx(Button, { className: "reacd-node reacd-button", type: "submit", "data-intent": intent ?? DEFAULTS.buttonIntent, disabled: disabled, variant: VARIANTS[intent ?? DEFAULTS.buttonIntent], children: label }));
11
+ }
@@ -0,0 +1,2 @@
1
+ import type { AdapterSurfaceProps } from '@fastsprout/reacd/adapter-runtime/renderer/contracts/theme-adapter.js';
2
+ export declare function ShadcnSurface({ children, template, templateId }: AdapterSurfaceProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ShadcnToastProvider } from '../toast/toast-provider.js';
3
+ import { templateVariables } from '@fastsprout/reacd/adapter-runtime/renderer/theme/template-variables.js';
4
+ import { ThemeVariablesContext } from '@fastsprout/reacd/adapter-runtime/renderer/theme/theme-context.js';
5
+ export function ShadcnSurface({ children, template, templateId }) {
6
+ const variables = templateVariables(template);
7
+ return (_jsx(ThemeVariablesContext.Provider, { value: variables, children: _jsx("div", { className: "reacd-root", "data-template": templateId, "data-adapter": "shadcn-ui", style: variables, children: _jsx(ShadcnToastProvider, { children: children }) }) }));
8
+ }
@@ -0,0 +1,2 @@
1
+ import type { SwitchProps } from '@fastsprout/reacd/adapter-runtime/components/switch/switch.props.js';
2
+ export declare function ShadcnSwitch({ label, description, checked, onCheckedChange, name, value, required, disabled, readOnly, loading, }: SwitchProps): import("react").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId, useRef, useState } from 'react';
3
+ import { SWITCH_POLICY } from '@fastsprout/reacd/adapter-runtime/core/switch-policy.js';
4
+ import { useFieldMetadata } from '@fastsprout/reacd/adapter-runtime/renderer/form-field/field-metadata.js';
5
+ import { Switch } from '../vendor/ui/switch.js';
6
+ import { Label } from '../vendor/ui/label.js';
7
+ export function ShadcnSwitch({ label, description, checked, onCheckedChange, name, value, required, disabled, readOnly, loading, }) {
8
+ const id = useId();
9
+ const control = useRef(null);
10
+ const [attempted, setAttempted] = useState(false);
11
+ const metadata = useFieldMetadata({ name, required, disabled }, description ? [`${id}-description`] : []);
12
+ const localError = attempted && metadata.required && !checked ? SWITCH_POLICY.requiredMessage : '';
13
+ const feedback = metadata.error || localError;
14
+ const descriptions = [
15
+ ...metadata.descriptionIds,
16
+ ...(localError && !metadata.error ? [`${id}-error`] : []),
17
+ ];
18
+ return (_jsxs("div", { className: "reacd-node reacd-field reacd-switch", children: [_jsxs("div", { className: "reacd-check reacd-toggle", children: [_jsx(Switch, { ref: control, id: id, checked: checked, disabled: metadata.disabled, "aria-readonly": readOnly || undefined, "aria-required": metadata.required || undefined, "aria-busy": loading || undefined, "aria-invalid": Boolean(feedback) || undefined, "aria-describedby": descriptions.join(' ') || undefined, onCheckedChange: (next) => {
19
+ if (!metadata.disabled && !readOnly && !loading)
20
+ onCheckedChange(next);
21
+ } }), _jsx(Label, { htmlFor: id, children: label })] }), description && _jsx("p", { id: `${id}-description`, children: description }), loading && (_jsxs("p", { role: "status", children: [SWITCH_POLICY.loadingPrefix, " ", label] })), localError && !metadata.error && (_jsx("p", { id: `${id}-error`, role: "alert", className: "reacd-field-error", children: localError })), _jsx("input", { type: "hidden", name: metadata.name, value: value ?? SWITCH_POLICY.submittedValue, disabled: metadata.disabled || !checked }), _jsx("input", { type: "text", hidden: true, defaultValue: "", required: metadata.required && !checked, disabled: metadata.disabled, onInvalid: (event) => {
22
+ event.preventDefault();
23
+ setAttempted(true);
24
+ control.current?.focus();
25
+ } })] }));
26
+ }
@@ -0,0 +1,2 @@
1
+ import type { InteractiveTableProps } from '@fastsprout/reacd/adapter-runtime/components/table/index.js';
2
+ export declare function ShadcnInteractiveTable({ caption, model, onModelChange, editable, readOnly, disabled, state, emptyMessage, errorMessage, }: InteractiveTableProps): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TABLE_EDITABLE } from '@fastsprout/reacd/adapter-runtime/core/table-policy.js';
3
+ import { queryTable } from '@fastsprout/reacd/adapter-runtime/schema/data-table/query.js';
4
+ import { transitionTableModel } from '@fastsprout/reacd/adapter-runtime/schema/table/transition.js';
5
+ import { ShadcnDataTable } from '../data-table/data-table.adapter.js';
6
+ export function ShadcnInteractiveTable({ caption, model, onModelChange, editable = TABLE_EDITABLE, readOnly, disabled, state, emptyMessage, errorMessage, }) {
7
+ const capabilities = onModelChange === undefined || readOnly || disabled
8
+ ? {}
9
+ : {
10
+ onSelectionChange: editable.selection
11
+ ? (value) => onModelChange(transitionTableModel(model, 'selection', value))
12
+ : undefined,
13
+ onSortingChange: editable.sorting
14
+ ? (value) => onModelChange(transitionTableModel(model, 'sorting', value))
15
+ : undefined,
16
+ onFiltersChange: editable.filters
17
+ ? (value) => onModelChange(transitionTableModel(model, 'filters', value))
18
+ : undefined,
19
+ onPaginationChange: editable.pagination
20
+ ? (value) => onModelChange(transitionTableModel(model, 'pagination', value))
21
+ : undefined,
22
+ };
23
+ return (_jsx(ShadcnDataTable, { ...model, ...queryTable(model), ...capabilities, caption: caption, state: state, emptyMessage: emptyMessage, errorMessage: errorMessage }));
24
+ }
@@ -0,0 +1,2 @@
1
+ import type { TableProps } from '@fastsprout/reacd/adapter-runtime/components/table/index.js';
2
+ export declare function ShadcnTable(props: TableProps): import("react").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TABLE_DEFAULTS as D } from '@fastsprout/reacd/adapter-runtime/core/table-policy.js';
3
+ import { TableSurface } from '@fastsprout/reacd/adapter-runtime/renderer/table/table.renderer.js';
4
+ import { ShadcnInteractiveTable } from './interactive-table.js';
5
+ import { Button } from '../vendor/ui/button.js';
6
+ export function ShadcnTable(props) {
7
+ if (props.state === 'loading')
8
+ return _jsx("p", { role: "status", children: props.loadingMessage ?? D.loadingMessage });
9
+ if (props.state === 'error') {
10
+ const retry = props.onRetry;
11
+ return (_jsxs("div", { className: "reacd-vstack", children: [_jsx("p", { role: "alert", children: props.errorMessage ?? D.errorMessage }), retry === undefined ? null : (_jsx(Button, { type: "button", className: "reacd-button", onClick: () => retry(), children: props.retryLabel ?? D.retryLabel }))] }));
12
+ }
13
+ return props.mode === 'interactive' ? (_jsx(ShadcnInteractiveTable, { ...props })) : (_jsx(TableSurface, { ...props }));
14
+ }
@@ -0,0 +1,2 @@
1
+ import type { TabsProps } from '@fastsprout/reacd/adapter-runtime/components/tabs/tabs.js';
2
+ export declare function ShadcnTabs({ children, label, value, items, onValueChange, orientation, activationMode, }: TabsProps): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useId } from 'react';
3
+ import { PortalActiveContext } from '@fastsprout/reacd/adapter-runtime/renderer/theme/portal-context.js';
4
+ import { TABS_POLICY } from '@fastsprout/reacd/adapter-runtime/core/tabs-policy.js';
5
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '../vendor/ui/tabs.js';
6
+ export function ShadcnTabs({ children, label, value, items, onValueChange, orientation = TABS_POLICY.orientation, activationMode = TABS_POLICY.activationMode, }) {
7
+ const sharedPanelId = useId();
8
+ const active = useContext(PortalActiveContext);
9
+ const explicit = items.some((item) => item.value === value && item.content !== undefined);
10
+ const selectedIndex = items.findIndex((item) => item.value === value);
11
+ return (_jsxs(Tabs, { className: "reacd-node reacd-tabs", value: value, onValueChange: onValueChange, orientation: orientation, activationMode: activationMode, children: [_jsx(TabsList, { "aria-label": label, children: items.map((item, index) => (_jsx(TabsTrigger, { value: item.value, disabled: item.disabled, ...(item.content === undefined
12
+ ? {
13
+ id: `${sharedPanelId}-${index}`,
14
+ 'aria-controls': sharedPanelId,
15
+ }
16
+ : {}), children: item.label }, item.value))) }), items.map((item) => item.content === undefined ? null : (_jsx(TabsContent, { value: item.value, forceMount: true, hidden: item.value !== value, children: _jsx(PortalActiveContext, { value: active && item.value === value, children: item.content }) }, item.value))), _jsx("div", { role: "tabpanel", id: sharedPanelId, tabIndex: 0, hidden: explicit, "aria-labelledby": explicit ? undefined : `${sharedPanelId}-${selectedIndex}`, children: _jsx(PortalActiveContext, { value: active && !explicit, children: children }) })] }));
17
+ }
@@ -0,0 +1,13 @@
1
+ interface TemporalDraftValidityProps {
2
+ readonly segments: readonly {
3
+ readonly isEditable: boolean;
4
+ readonly isPlaceholder: boolean;
5
+ }[];
6
+ readonly required?: boolean | undefined;
7
+ readonly value: string | null;
8
+ readonly disabled?: boolean | undefined;
9
+ readonly root: HTMLElement | null;
10
+ readonly onInvalidChange: (invalid: boolean) => void;
11
+ }
12
+ export declare function TemporalDraftValidity({ segments, required, value, disabled, root, onInvalidChange, }: TemporalDraftValidityProps): import("react").JSX.Element;
13
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect } from 'react';
3
+ import { DATE_TIME_POLICY } from '@fastsprout/reacd/adapter-runtime/core/date-time-policy.js';
4
+ import { focusIncompleteSegment } from './focus-incomplete-segment.js';
5
+ export function TemporalDraftValidity({ segments, required, value, disabled, root, onInvalidChange, }) {
6
+ const missing = segments.some((segment) => segment.isEditable && segment.isPlaceholder);
7
+ const filled = segments.some((segment) => segment.isEditable && !segment.isPlaceholder);
8
+ const partial = missing && filled;
9
+ useEffect(() => {
10
+ if (!missing || (!filled && !required && value === null))
11
+ onInvalidChange(false);
12
+ }, [missing, filled, required, value, onInvalidChange]);
13
+ return (_jsx("input", { type: "text", hidden: true, required: required || partial || value !== null, disabled: disabled, value: missing ? '' : DATE_TIME_POLICY.completeDraftValue, onChange: () => undefined, onInvalid: (event) => {
14
+ event.preventDefault();
15
+ onInvalidChange(true);
16
+ focusIncompleteSegment(root);
17
+ } }));
18
+ }
@@ -0,0 +1 @@
1
+ export declare function focusIncompleteSegment(root: HTMLElement | null): boolean;
@@ -0,0 +1,7 @@
1
+ export function focusIncompleteSegment(root) {
2
+ const segment = root?.querySelector('[data-placeholder]:is([role="spinbutton"],[role="textbox"])');
3
+ if (segment === undefined || segment === null)
4
+ return false;
5
+ segment.focus();
6
+ return true;
7
+ }
@@ -0,0 +1 @@
1
+ export declare function captureRangeFocus(root: HTMLElement): () => void;
@@ -0,0 +1,16 @@
1
+ const SEGMENTS = '[role="spinbutton"],[role="textbox"]';
2
+ export function captureRangeFocus(root) {
3
+ const document = root.ownerDocument;
4
+ const active = document.activeElement;
5
+ const index = [...root.querySelectorAll(SEGMENTS)].findIndex((segment) => segment === active);
6
+ return () => {
7
+ const current = document.activeElement;
8
+ if (index < 0 ||
9
+ !root.isConnected ||
10
+ (current !== document.body && current !== active))
11
+ return;
12
+ root.querySelectorAll(SEGMENTS).item(index)?.focus({
13
+ preventScroll: true,
14
+ });
15
+ };
16
+ }
@@ -0,0 +1,6 @@
1
+ import type { TemporalLimits, TemporalRange } from '@fastsprout/reacd/adapter-runtime/core/date-time.js';
2
+ export interface TemporalRecovery<Value> {
3
+ readonly key: string;
4
+ readonly value: Value;
5
+ }
6
+ export declare function temporalRecovery<Value extends string | null | TemporalRange>(value: Value, limits: TemporalLimits): TemporalRecovery<Value>;
@@ -0,0 +1,4 @@
1
+ export function temporalRecovery(value, limits) {
2
+ const endpoints = typeof value === 'object' && value !== null ? [value.start, value.end] : value;
3
+ return { key: JSON.stringify([endpoints, limits.min, limits.max]), value };
4
+ }
@@ -0,0 +1,6 @@
1
+ import type { TemporalRange } from '@fastsprout/reacd/adapter-runtime/core/date-time.js';
2
+ export declare function useRangeReset(value: TemporalRange, request: (value: TemporalRange) => void): {
3
+ ref: import("react").Dispatch<import("react").SetStateAction<HTMLFieldSetElement | null>>;
4
+ revision: number;
5
+ change: (next: TemporalRange) => void;
6
+ };
@@ -0,0 +1,55 @@
1
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
2
+ import { captureRangeFocus } from './range-reset-focus.js';
3
+ export function useRangeReset(value, request) {
4
+ const initial = useRef(Object.freeze({ start: value.start, end: value.end }));
5
+ const latest = useRef(request);
6
+ const [fieldset, setFieldset] = useState(null);
7
+ const pending = useRef(null);
8
+ const restoreFocus = useRef(undefined);
9
+ const [revision, setRevision] = useState(0);
10
+ useLayoutEffect(() => {
11
+ latest.current = request;
12
+ }, [request]);
13
+ useLayoutEffect(() => {
14
+ const restore = restoreFocus.current;
15
+ if (restore !== undefined) {
16
+ restoreFocus.current = undefined;
17
+ queueMicrotask(restore);
18
+ }
19
+ }, [revision]);
20
+ useEffect(() => {
21
+ if (fieldset === null)
22
+ return;
23
+ const root = fieldset;
24
+ const form = root.form;
25
+ if (form === null)
26
+ return;
27
+ let active = true;
28
+ function capture(event) {
29
+ const restore = captureRangeFocus(root);
30
+ pending.current = event;
31
+ queueMicrotask(() => {
32
+ if (!active)
33
+ return;
34
+ pending.current = null;
35
+ if (!event.defaultPrevented) {
36
+ // Reconcile SDK drafts to host authority even when reset is declined.
37
+ restoreFocus.current = restore;
38
+ setRevision((current) => current + 1);
39
+ latest.current(initial.current);
40
+ }
41
+ });
42
+ }
43
+ form.addEventListener('reset', capture, true);
44
+ return () => {
45
+ active = false;
46
+ pending.current = null;
47
+ form.removeEventListener('reset', capture, true);
48
+ };
49
+ }, [fieldset]);
50
+ function change(next) {
51
+ if (pending.current === null)
52
+ request(next);
53
+ }
54
+ return { ref: setFieldset, revision, change };
55
+ }