innxt-design-system 1.6.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 (2499) hide show
  1. package/.browserslistrc +223 -0
  2. package/.circleci/config.yml +361 -0
  3. package/.claude/launch.json +11 -0
  4. package/.codex/environments/environment.toml +11 -0
  5. package/.editorconfig +14 -0
  6. package/.gitattributes +6 -0
  7. package/.lintignore +16 -0
  8. package/.remarkrc.mjs +22 -0
  9. package/.vale.ini +35 -0
  10. package/.vscode/extensions.json +18 -0
  11. package/.vscode/settings.json +13 -0
  12. package/AGENTS.md +72 -0
  13. package/CHANGELOG.md +2648 -0
  14. package/CHANGELOG.old.md +220 -0
  15. package/CLAUDE.md +1 -0
  16. package/CONTRIBUTING.md +181 -0
  17. package/LICENSE +21 -0
  18. package/README.md +37 -0
  19. package/SECURITY.md +14 -0
  20. package/babel.config.mjs +49 -0
  21. package/docs/.env +1 -0
  22. package/docs/README.md +35 -0
  23. package/docs/next.config.mjs +178 -0
  24. package/docs/package.json +91 -0
  25. package/docs/postcss.config.js +7 -0
  26. package/docs/public/_headers +24 -0
  27. package/docs/public/_redirects +26 -0
  28. package/docs/public/fonts/die-grotesk-a-bold.woff2 +0 -0
  29. package/docs/public/fonts/die-grotesk-a-regular.woff2 +0 -0
  30. package/docs/public/fonts/die-grotesk-b-bold.woff2 +0 -0
  31. package/docs/public/fonts/die-grotesk-b-regular.woff2 +0 -0
  32. package/docs/public/fonts/paper-mono.woff2 +0 -0
  33. package/docs/public/static/apple-touch-icon.png +0 -0
  34. package/docs/public/static/favicon-dev.ico +0 -0
  35. package/docs/public/static/favicon-dev.svg +10 -0
  36. package/docs/public/static/favicon.ico +0 -0
  37. package/docs/public/static/favicon.svg +10 -0
  38. package/docs/public/static/logo.svg +5 -0
  39. package/docs/scripts/generateLlmTxt/__snapshots__/mdxToMarkdown.test.mjs.snap +1143 -0
  40. package/docs/scripts/generateLlmTxt/demoProcessor.mjs +172 -0
  41. package/docs/scripts/generateLlmTxt/index.mjs +324 -0
  42. package/docs/scripts/generateLlmTxt/mdxNodeHelpers.mjs +199 -0
  43. package/docs/scripts/generateLlmTxt/mdxToMarkdown.mjs +320 -0
  44. package/docs/scripts/generateLlmTxt/mdxToMarkdown.test.mjs +104 -0
  45. package/docs/scripts/generateLlmTxt/propsReferenceTableProcessor.mjs +174 -0
  46. package/docs/scripts/generateLlmTxt/releaseTimelineProcessor.mjs +80 -0
  47. package/docs/scripts/generateLlmTxt/resolver.mjs +49 -0
  48. package/docs/scripts/generateLlmTxt/typedocProcessor.mjs +50 -0
  49. package/docs/scripts/playground.template.tsx +5 -0
  50. package/docs/scripts/rehypeExtractLinkUrls.mts +46 -0
  51. package/docs/scripts/reportBrokenLinks.mts +16 -0
  52. package/docs/scripts/stylelint/no-unknown-demo-colors.test.mjs +136 -0
  53. package/docs/src/app/(docs)/kb/components/accordion/demos/_index.module.css +100 -0
  54. package/docs/src/app/(docs)/kb/components/accordion/demos/hero/css-modules/index.tsx +69 -0
  55. package/docs/src/app/(docs)/kb/components/accordion/demos/hero/index.ts +9 -0
  56. package/docs/src/app/(docs)/kb/components/accordion/demos/hero/tailwind/index.tsx +68 -0
  57. package/docs/src/app/(docs)/kb/components/accordion/demos/multiple/css-modules/index.tsx +69 -0
  58. package/docs/src/app/(docs)/kb/components/accordion/demos/multiple/index.ts +8 -0
  59. package/docs/src/app/(docs)/kb/components/accordion/demos/multiple/tailwind/index.tsx +71 -0
  60. package/docs/src/app/(docs)/kb/components/accordion/page.mdx +77 -0
  61. package/docs/src/app/(docs)/kb/components/accordion/types.md +402 -0
  62. package/docs/src/app/(docs)/kb/components/accordion/types.ts +7 -0
  63. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/_index.module.css +166 -0
  64. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-controlled/css-modules/index.tsx +91 -0
  65. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-controlled/index.ts +8 -0
  66. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-controlled/tailwind/index.tsx +93 -0
  67. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-simple/css-modules/index.tsx +39 -0
  68. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-simple/index.ts +8 -0
  69. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/detached-triggers-simple/tailwind/index.tsx +38 -0
  70. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/hero/css-modules/index.module.css +159 -0
  71. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/hero/css-modules/index.tsx +29 -0
  72. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/hero/index.ts +9 -0
  73. package/docs/src/app/(docs)/kb/components/alert-dialog/demos/hero/tailwind/index.tsx +29 -0
  74. package/docs/src/app/(docs)/kb/components/alert-dialog/page.mdx +257 -0
  75. package/docs/src/app/(docs)/kb/components/alert-dialog/types.md +466 -0
  76. package/docs/src/app/(docs)/kb/components/alert-dialog/types.ts +7 -0
  77. package/docs/src/app/(docs)/kb/components/autocomplete/demos/async/css-modules/index.module.css +186 -0
  78. package/docs/src/app/(docs)/kb/components/autocomplete/demos/async/css-modules/index.tsx +242 -0
  79. package/docs/src/app/(docs)/kb/components/autocomplete/demos/async/index.ts +8 -0
  80. package/docs/src/app/(docs)/kb/components/autocomplete/demos/async/tailwind/index.tsx +260 -0
  81. package/docs/src/app/(docs)/kb/components/autocomplete/demos/auto-highlight/css-modules/index.module.css +142 -0
  82. package/docs/src/app/(docs)/kb/components/autocomplete/demos/auto-highlight/css-modules/index.tsx +80 -0
  83. package/docs/src/app/(docs)/kb/components/autocomplete/demos/auto-highlight/index.ts +8 -0
  84. package/docs/src/app/(docs)/kb/components/autocomplete/demos/auto-highlight/tailwind/index.tsx +88 -0
  85. package/docs/src/app/(docs)/kb/components/autocomplete/demos/command-palette/css-modules/index.module.css +376 -0
  86. package/docs/src/app/(docs)/kb/components/autocomplete/demos/command-palette/css-modules/index.tsx +141 -0
  87. package/docs/src/app/(docs)/kb/components/autocomplete/demos/command-palette/index.ts +8 -0
  88. package/docs/src/app/(docs)/kb/components/autocomplete/demos/command-palette/tailwind/index.tsx +149 -0
  89. package/docs/src/app/(docs)/kb/components/autocomplete/demos/fuzzy-matching/css-modules/index.module.css +176 -0
  90. package/docs/src/app/(docs)/kb/components/autocomplete/demos/fuzzy-matching/css-modules/index.tsx +168 -0
  91. package/docs/src/app/(docs)/kb/components/autocomplete/demos/fuzzy-matching/index.ts +8 -0
  92. package/docs/src/app/(docs)/kb/components/autocomplete/demos/fuzzy-matching/tailwind/index.tsx +182 -0
  93. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grid/css-modules/index.module.css +366 -0
  94. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grid/css-modules/index.tsx +251 -0
  95. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grid/index.ts +8 -0
  96. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grid/tailwind/index.tsx +254 -0
  97. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grouped/css-modules/index.module.css +174 -0
  98. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grouped/css-modules/index.tsx +106 -0
  99. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grouped/index.ts +8 -0
  100. package/docs/src/app/(docs)/kb/components/autocomplete/demos/grouped/tailwind/index.tsx +118 -0
  101. package/docs/src/app/(docs)/kb/components/autocomplete/demos/hero/css-modules/index.module.css +152 -0
  102. package/docs/src/app/(docs)/kb/components/autocomplete/demos/hero/css-modules/index.tsx +80 -0
  103. package/docs/src/app/(docs)/kb/components/autocomplete/demos/hero/index.ts +9 -0
  104. package/docs/src/app/(docs)/kb/components/autocomplete/demos/hero/tailwind/index.tsx +88 -0
  105. package/docs/src/app/(docs)/kb/components/autocomplete/demos/inline/css-modules/index.module.css +141 -0
  106. package/docs/src/app/(docs)/kb/components/autocomplete/demos/inline/css-modules/index.tsx +77 -0
  107. package/docs/src/app/(docs)/kb/components/autocomplete/demos/inline/index.ts +8 -0
  108. package/docs/src/app/(docs)/kb/components/autocomplete/demos/inline/tailwind/index.tsx +83 -0
  109. package/docs/src/app/(docs)/kb/components/autocomplete/demos/limit/css-modules/index.module.css +146 -0
  110. package/docs/src/app/(docs)/kb/components/autocomplete/demos/limit/css-modules/index.tsx +116 -0
  111. package/docs/src/app/(docs)/kb/components/autocomplete/demos/limit/index.ts +8 -0
  112. package/docs/src/app/(docs)/kb/components/autocomplete/demos/limit/tailwind/index.tsx +124 -0
  113. package/docs/src/app/(docs)/kb/components/autocomplete/demos/virtualized/css-modules/index.module.css +138 -0
  114. package/docs/src/app/(docs)/kb/components/autocomplete/demos/virtualized/css-modules/index.tsx +154 -0
  115. package/docs/src/app/(docs)/kb/components/autocomplete/demos/virtualized/index.ts +8 -0
  116. package/docs/src/app/(docs)/kb/components/autocomplete/demos/virtualized/tailwind/index.tsx +151 -0
  117. package/docs/src/app/(docs)/kb/components/autocomplete/page.mdx +285 -0
  118. package/docs/src/app/(docs)/kb/components/autocomplete/types.md +1088 -0
  119. package/docs/src/app/(docs)/kb/components/autocomplete/types.ts +7 -0
  120. package/docs/src/app/(docs)/kb/components/avatar/demos/hero/css-modules/index.module.css +37 -0
  121. package/docs/src/app/(docs)/kb/components/avatar/demos/hero/css-modules/index.tsx +21 -0
  122. package/docs/src/app/(docs)/kb/components/avatar/demos/hero/index.ts +9 -0
  123. package/docs/src/app/(docs)/kb/components/avatar/demos/hero/tailwind/index.tsx +22 -0
  124. package/docs/src/app/(docs)/kb/components/avatar/page.mdx +58 -0
  125. package/docs/src/app/(docs)/kb/components/avatar/types.md +134 -0
  126. package/docs/src/app/(docs)/kb/components/avatar/types.ts +7 -0
  127. package/docs/src/app/(docs)/kb/components/button/demos/hero/css-modules/index.module.css +64 -0
  128. package/docs/src/app/(docs)/kb/components/button/demos/hero/css-modules/index.tsx +6 -0
  129. package/docs/src/app/(docs)/kb/components/button/demos/hero/index.ts +9 -0
  130. package/docs/src/app/(docs)/kb/components/button/demos/hero/tailwind/index.tsx +10 -0
  131. package/docs/src/app/(docs)/kb/components/button/demos/loading/css-modules/index.module.css +64 -0
  132. package/docs/src/app/(docs)/kb/components/button/demos/loading/css-modules/index.tsx +24 -0
  133. package/docs/src/app/(docs)/kb/components/button/demos/loading/index.ts +5 -0
  134. package/docs/src/app/(docs)/kb/components/button/demos/loading/tailwind/index.tsx +23 -0
  135. package/docs/src/app/(docs)/kb/components/button/page.mdx +81 -0
  136. package/docs/src/app/(docs)/kb/components/button/types.md +53 -0
  137. package/docs/src/app/(docs)/kb/components/button/types.ts +4 -0
  138. package/docs/src/app/(docs)/kb/components/checkbox/demos/hero/css-modules/Checkbox.tsx +58 -0
  139. package/docs/src/app/(docs)/kb/components/checkbox/demos/hero/css-modules/index.module.css +63 -0
  140. package/docs/src/app/(docs)/kb/components/checkbox/demos/hero/css-modules/index.tsx +5 -0
  141. package/docs/src/app/(docs)/kb/components/checkbox/demos/hero/index.ts +9 -0
  142. package/docs/src/app/(docs)/kb/components/checkbox/demos/hero/tailwind/index.tsx +34 -0
  143. package/docs/src/app/(docs)/kb/components/checkbox/page.mdx +121 -0
  144. package/docs/src/app/(docs)/kb/components/checkbox/types.md +209 -0
  145. package/docs/src/app/(docs)/kb/components/checkbox/types.ts +7 -0
  146. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/hero/css-modules/index.module.css +76 -0
  147. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/hero/css-modules/index.tsx +63 -0
  148. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/hero/index.ts +9 -0
  149. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/hero/tailwind/index.tsx +74 -0
  150. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/nested/css-modules/index.module.css +76 -0
  151. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/nested/css-modules/index.tsx +174 -0
  152. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/nested/index.ts +4 -0
  153. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/parent/css-modules/index.module.css +76 -0
  154. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/parent/css-modules/index.tsx +101 -0
  155. package/docs/src/app/(docs)/kb/components/checkbox-group/demos/parent/index.ts +4 -0
  156. package/docs/src/app/(docs)/kb/components/checkbox-group/page.mdx +162 -0
  157. package/docs/src/app/(docs)/kb/components/checkbox-group/types.md +87 -0
  158. package/docs/src/app/(docs)/kb/components/checkbox-group/types.ts +4 -0
  159. package/docs/src/app/(docs)/kb/components/collapsible/demos/hero/css-modules/index.module.css +112 -0
  160. package/docs/src/app/(docs)/kb/components/collapsible/demos/hero/css-modules/index.tsx +36 -0
  161. package/docs/src/app/(docs)/kb/components/collapsible/demos/hero/index.ts +9 -0
  162. package/docs/src/app/(docs)/kb/components/collapsible/demos/hero/tailwind/index.tsx +35 -0
  163. package/docs/src/app/(docs)/kb/components/collapsible/page.mdx +56 -0
  164. package/docs/src/app/(docs)/kb/components/collapsible/types.md +168 -0
  165. package/docs/src/app/(docs)/kb/components/collapsible/types.ts +7 -0
  166. package/docs/src/app/(docs)/kb/components/combobox/demos/async-multiple/css-modules/index.module.css +341 -0
  167. package/docs/src/app/(docs)/kb/components/combobox/demos/async-multiple/css-modules/index.tsx +361 -0
  168. package/docs/src/app/(docs)/kb/components/combobox/demos/async-multiple/index.ts +8 -0
  169. package/docs/src/app/(docs)/kb/components/combobox/demos/async-multiple/tailwind/index.tsx +384 -0
  170. package/docs/src/app/(docs)/kb/components/combobox/demos/async-single/css-modules/index.module.css +282 -0
  171. package/docs/src/app/(docs)/kb/components/combobox/demos/async-single/css-modules/index.tsx +337 -0
  172. package/docs/src/app/(docs)/kb/components/combobox/demos/async-single/index.ts +8 -0
  173. package/docs/src/app/(docs)/kb/components/combobox/demos/async-single/tailwind/index.tsx +363 -0
  174. package/docs/src/app/(docs)/kb/components/combobox/demos/creatable/css-modules/index.module.css +496 -0
  175. package/docs/src/app/(docs)/kb/components/combobox/demos/creatable/css-modules/index.tsx +286 -0
  176. package/docs/src/app/(docs)/kb/components/combobox/demos/creatable/index.ts +8 -0
  177. package/docs/src/app/(docs)/kb/components/combobox/demos/creatable/tailwind/index.tsx +306 -0
  178. package/docs/src/app/(docs)/kb/components/combobox/demos/grouped/css-modules/index.module.css +240 -0
  179. package/docs/src/app/(docs)/kb/components/combobox/demos/grouped/css-modules/index.tsx +145 -0
  180. package/docs/src/app/(docs)/kb/components/combobox/demos/grouped/index.ts +8 -0
  181. package/docs/src/app/(docs)/kb/components/combobox/demos/grouped/tailwind/index.tsx +164 -0
  182. package/docs/src/app/(docs)/kb/components/combobox/demos/hero/css-modules/index.module.css +221 -0
  183. package/docs/src/app/(docs)/kb/components/combobox/demos/hero/css-modules/index.tsx +128 -0
  184. package/docs/src/app/(docs)/kb/components/combobox/demos/hero/index.ts +9 -0
  185. package/docs/src/app/(docs)/kb/components/combobox/demos/hero/tailwind/index.tsx +143 -0
  186. package/docs/src/app/(docs)/kb/components/combobox/demos/input-inside-popup/css-modules/index.module.css +273 -0
  187. package/docs/src/app/(docs)/kb/components/combobox/demos/input-inside-popup/css-modules/index.tsx +290 -0
  188. package/docs/src/app/(docs)/kb/components/combobox/demos/input-inside-popup/index.ts +8 -0
  189. package/docs/src/app/(docs)/kb/components/combobox/demos/input-inside-popup/tailwind/index.tsx +303 -0
  190. package/docs/src/app/(docs)/kb/components/combobox/demos/multiple/css-modules/index.module.css +312 -0
  191. package/docs/src/app/(docs)/kb/components/combobox/demos/multiple/css-modules/index.tsx +121 -0
  192. package/docs/src/app/(docs)/kb/components/combobox/demos/multiple/index.ts +8 -0
  193. package/docs/src/app/(docs)/kb/components/combobox/demos/multiple/tailwind/index.tsx +129 -0
  194. package/docs/src/app/(docs)/kb/components/combobox/demos/virtualized/css-modules/index.module.css +150 -0
  195. package/docs/src/app/(docs)/kb/components/combobox/demos/virtualized/css-modules/index.tsx +172 -0
  196. package/docs/src/app/(docs)/kb/components/combobox/demos/virtualized/index.ts +8 -0
  197. package/docs/src/app/(docs)/kb/components/combobox/demos/virtualized/tailwind/index.tsx +175 -0
  198. package/docs/src/app/(docs)/kb/components/combobox/page.mdx +358 -0
  199. package/docs/src/app/(docs)/kb/components/combobox/types.md +1278 -0
  200. package/docs/src/app/(docs)/kb/components/combobox/types.ts +7 -0
  201. package/docs/src/app/(docs)/kb/components/context-menu/demos/hero/css-modules/index.module.css +108 -0
  202. package/docs/src/app/(docs)/kb/components/context-menu/demos/hero/css-modules/index.tsx +24 -0
  203. package/docs/src/app/(docs)/kb/components/context-menu/demos/hero/index.ts +9 -0
  204. package/docs/src/app/(docs)/kb/components/context-menu/demos/hero/tailwind/index.tsx +28 -0
  205. package/docs/src/app/(docs)/kb/components/context-menu/demos/submenu/css-modules/index.module.css +191 -0
  206. package/docs/src/app/(docs)/kb/components/context-menu/demos/submenu/css-modules/index.tsx +63 -0
  207. package/docs/src/app/(docs)/kb/components/context-menu/demos/submenu/index.ts +8 -0
  208. package/docs/src/app/(docs)/kb/components/context-menu/demos/submenu/tailwind/index.tsx +66 -0
  209. package/docs/src/app/(docs)/kb/components/context-menu/page.mdx +156 -0
  210. package/docs/src/app/(docs)/kb/components/context-menu/types.md +1129 -0
  211. package/docs/src/app/(docs)/kb/components/context-menu/types.ts +7 -0
  212. package/docs/src/app/(docs)/kb/components/dialog/demos/_index.module.css +158 -0
  213. package/docs/src/app/(docs)/kb/components/dialog/demos/close-confirmation/css-modules/index.module.css +219 -0
  214. package/docs/src/app/(docs)/kb/components/dialog/demos/close-confirmation/css-modules/index.tsx +91 -0
  215. package/docs/src/app/(docs)/kb/components/dialog/demos/close-confirmation/index.ts +8 -0
  216. package/docs/src/app/(docs)/kb/components/dialog/demos/close-confirmation/tailwind/index.tsx +97 -0
  217. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-controlled/css-modules/index.tsx +66 -0
  218. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-controlled/index.ts +8 -0
  219. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-controlled/tailwind/index.tsx +83 -0
  220. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-simple/css-modules/index.tsx +33 -0
  221. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-simple/index.ts +8 -0
  222. package/docs/src/app/(docs)/kb/components/dialog/demos/detached-triggers-simple/tailwind/index.tsx +37 -0
  223. package/docs/src/app/(docs)/kb/components/dialog/demos/hero/css-modules/index.module.css +151 -0
  224. package/docs/src/app/(docs)/kb/components/dialog/demos/hero/css-modules/index.tsx +24 -0
  225. package/docs/src/app/(docs)/kb/components/dialog/demos/hero/index.ts +9 -0
  226. package/docs/src/app/(docs)/kb/components/dialog/demos/hero/tailwind/index.tsx +27 -0
  227. package/docs/src/app/(docs)/kb/components/dialog/demos/inside-scroll/css-modules/index.module.css +273 -0
  228. package/docs/src/app/(docs)/kb/components/dialog/demos/inside-scroll/css-modules/index.tsx +130 -0
  229. package/docs/src/app/(docs)/kb/components/dialog/demos/inside-scroll/index.ts +8 -0
  230. package/docs/src/app/(docs)/kb/components/dialog/demos/inside-scroll/tailwind/index.tsx +133 -0
  231. package/docs/src/app/(docs)/kb/components/dialog/demos/nested/css-modules/index.module.css +218 -0
  232. package/docs/src/app/(docs)/kb/components/dialog/demos/nested/css-modules/index.tsx +39 -0
  233. package/docs/src/app/(docs)/kb/components/dialog/demos/nested/index.ts +5 -0
  234. package/docs/src/app/(docs)/kb/components/dialog/demos/nested/tailwind/index.tsx +46 -0
  235. package/docs/src/app/(docs)/kb/components/dialog/demos/outside-scroll/css-modules/index.module.css +328 -0
  236. package/docs/src/app/(docs)/kb/components/dialog/demos/outside-scroll/css-modules/index.tsx +173 -0
  237. package/docs/src/app/(docs)/kb/components/dialog/demos/outside-scroll/index.ts +8 -0
  238. package/docs/src/app/(docs)/kb/components/dialog/demos/outside-scroll/tailwind/index.tsx +189 -0
  239. package/docs/src/app/(docs)/kb/components/dialog/demos/uncontained/css-modules/index.module.css +198 -0
  240. package/docs/src/app/(docs)/kb/components/dialog/demos/uncontained/css-modules/index.tsx +39 -0
  241. package/docs/src/app/(docs)/kb/components/dialog/demos/uncontained/index.ts +8 -0
  242. package/docs/src/app/(docs)/kb/components/dialog/demos/uncontained/tailwind/index.tsx +43 -0
  243. package/docs/src/app/(docs)/kb/components/dialog/page.mdx +356 -0
  244. package/docs/src/app/(docs)/kb/components/dialog/types.md +512 -0
  245. package/docs/src/app/(docs)/kb/components/dialog/types.ts +7 -0
  246. package/docs/src/app/(docs)/kb/components/drawer/demos/close-confirmation/css-modules/index.module.css +299 -0
  247. package/docs/src/app/(docs)/kb/components/drawer/demos/close-confirmation/css-modules/index.tsx +100 -0
  248. package/docs/src/app/(docs)/kb/components/drawer/demos/close-confirmation/index.ts +8 -0
  249. package/docs/src/app/(docs)/kb/components/drawer/demos/close-confirmation/tailwind/index.tsx +110 -0
  250. package/docs/src/app/(docs)/kb/components/drawer/demos/hero/css-modules/index.module.css +190 -0
  251. package/docs/src/app/(docs)/kb/components/drawer/demos/hero/css-modules/index.tsx +26 -0
  252. package/docs/src/app/(docs)/kb/components/drawer/demos/hero/index.ts +9 -0
  253. package/docs/src/app/(docs)/kb/components/drawer/demos/hero/tailwind/index.tsx +29 -0
  254. package/docs/src/app/(docs)/kb/components/drawer/demos/indent-provider/css-modules/index.module.css +236 -0
  255. package/docs/src/app/(docs)/kb/components/drawer/demos/indent-provider/css-modules/index.tsx +40 -0
  256. package/docs/src/app/(docs)/kb/components/drawer/demos/indent-provider/index.ts +8 -0
  257. package/docs/src/app/(docs)/kb/components/drawer/demos/indent-provider/tailwind/index.tsx +45 -0
  258. package/docs/src/app/(docs)/kb/components/drawer/demos/mobile-nav/css-modules/index.module.css +385 -0
  259. package/docs/src/app/(docs)/kb/components/drawer/demos/mobile-nav/css-modules/index.tsx +132 -0
  260. package/docs/src/app/(docs)/kb/components/drawer/demos/mobile-nav/index.ts +8 -0
  261. package/docs/src/app/(docs)/kb/components/drawer/demos/mobile-nav/tailwind/index.tsx +151 -0
  262. package/docs/src/app/(docs)/kb/components/drawer/demos/nested/css-modules/index.module.css +383 -0
  263. package/docs/src/app/(docs)/kb/components/drawer/demos/nested/css-modules/index.tsx +112 -0
  264. package/docs/src/app/(docs)/kb/components/drawer/demos/nested/index.ts +5 -0
  265. package/docs/src/app/(docs)/kb/components/drawer/demos/nested/tailwind/index.tsx +136 -0
  266. package/docs/src/app/(docs)/kb/components/drawer/demos/non-modal/css-modules/index.module.css +195 -0
  267. package/docs/src/app/(docs)/kb/components/drawer/demos/non-modal/css-modules/index.tsx +26 -0
  268. package/docs/src/app/(docs)/kb/components/drawer/demos/non-modal/index.ts +8 -0
  269. package/docs/src/app/(docs)/kb/components/drawer/demos/non-modal/tailwind/index.tsx +29 -0
  270. package/docs/src/app/(docs)/kb/components/drawer/demos/position/css-modules/index.module.css +181 -0
  271. package/docs/src/app/(docs)/kb/components/drawer/demos/position/css-modules/index.tsx +27 -0
  272. package/docs/src/app/(docs)/kb/components/drawer/demos/position/index.ts +5 -0
  273. package/docs/src/app/(docs)/kb/components/drawer/demos/position/tailwind/index.tsx +32 -0
  274. package/docs/src/app/(docs)/kb/components/drawer/demos/snap-points/css-modules/index.module.css +255 -0
  275. package/docs/src/app/(docs)/kb/components/drawer/demos/snap-points/css-modules/index.tsx +50 -0
  276. package/docs/src/app/(docs)/kb/components/drawer/demos/snap-points/index.ts +8 -0
  277. package/docs/src/app/(docs)/kb/components/drawer/demos/snap-points/tailwind/index.tsx +55 -0
  278. package/docs/src/app/(docs)/kb/components/drawer/demos/swipe-area/css-modules/index.module.css +271 -0
  279. package/docs/src/app/(docs)/kb/components/drawer/demos/swipe-area/css-modules/index.tsx +39 -0
  280. package/docs/src/app/(docs)/kb/components/drawer/demos/swipe-area/index.ts +8 -0
  281. package/docs/src/app/(docs)/kb/components/drawer/demos/swipe-area/tailwind/index.tsx +45 -0
  282. package/docs/src/app/(docs)/kb/components/drawer/demos/uncontained/css-modules/index.module.css +273 -0
  283. package/docs/src/app/(docs)/kb/components/drawer/demos/uncontained/css-modules/index.tsx +53 -0
  284. package/docs/src/app/(docs)/kb/components/drawer/demos/uncontained/index.ts +8 -0
  285. package/docs/src/app/(docs)/kb/components/drawer/demos/uncontained/tailwind/index.tsx +59 -0
  286. package/docs/src/app/(docs)/kb/components/drawer/demos/virtual-keyboard-aware/css-modules/index.module.css +434 -0
  287. package/docs/src/app/(docs)/kb/components/drawer/demos/virtual-keyboard-aware/css-modules/index.tsx +75 -0
  288. package/docs/src/app/(docs)/kb/components/drawer/demos/virtual-keyboard-aware/index.ts +8 -0
  289. package/docs/src/app/(docs)/kb/components/drawer/demos/virtual-keyboard-aware/tailwind/index.tsx +88 -0
  290. package/docs/src/app/(docs)/kb/components/drawer/page.mdx +452 -0
  291. package/docs/src/app/(docs)/kb/components/drawer/types.md +796 -0
  292. package/docs/src/app/(docs)/kb/components/drawer/types.ts +7 -0
  293. package/docs/src/app/(docs)/kb/components/field/demos/hero/css-modules/index.module.css +84 -0
  294. package/docs/src/app/(docs)/kb/components/field/demos/hero/css-modules/index.tsx +17 -0
  295. package/docs/src/app/(docs)/kb/components/field/demos/hero/index.ts +9 -0
  296. package/docs/src/app/(docs)/kb/components/field/demos/hero/tailwind/index.tsx +21 -0
  297. package/docs/src/app/(docs)/kb/components/field/page.mdx +77 -0
  298. package/docs/src/app/(docs)/kb/components/field/types.md +458 -0
  299. package/docs/src/app/(docs)/kb/components/field/types.ts +7 -0
  300. package/docs/src/app/(docs)/kb/components/fieldset/demos/hero/css-modules/index.module.css +106 -0
  301. package/docs/src/app/(docs)/kb/components/fieldset/demos/hero/css-modules/index.tsx +21 -0
  302. package/docs/src/app/(docs)/kb/components/fieldset/demos/hero/index.ts +9 -0
  303. package/docs/src/app/(docs)/kb/components/fieldset/demos/hero/tailwind/index.tsx +32 -0
  304. package/docs/src/app/(docs)/kb/components/fieldset/page.mdx +53 -0
  305. package/docs/src/app/(docs)/kb/components/fieldset/types.md +72 -0
  306. package/docs/src/app/(docs)/kb/components/fieldset/types.ts +7 -0
  307. package/docs/src/app/(docs)/kb/components/form/demos/form-action/css-modules/index.module.css +145 -0
  308. package/docs/src/app/(docs)/kb/components/form/demos/form-action/css-modules/index.tsx +62 -0
  309. package/docs/src/app/(docs)/kb/components/form/demos/form-action/index.ts +8 -0
  310. package/docs/src/app/(docs)/kb/components/form/demos/form-action/tailwind/index.tsx +72 -0
  311. package/docs/src/app/(docs)/kb/components/form/demos/hero/css-modules/index.module.css +145 -0
  312. package/docs/src/app/(docs)/kb/components/form/demos/hero/css-modules/index.tsx +67 -0
  313. package/docs/src/app/(docs)/kb/components/form/demos/hero/index.ts +9 -0
  314. package/docs/src/app/(docs)/kb/components/form/demos/hero/tailwind/index.tsx +73 -0
  315. package/docs/src/app/(docs)/kb/components/form/demos/zod/css-modules/index.module.css +145 -0
  316. package/docs/src/app/(docs)/kb/components/form/demos/zod/css-modules/index.tsx +55 -0
  317. package/docs/src/app/(docs)/kb/components/form/demos/zod/index.ts +5 -0
  318. package/docs/src/app/(docs)/kb/components/form/demos/zod/tailwind/index.tsx +67 -0
  319. package/docs/src/app/(docs)/kb/components/form/page.mdx +91 -0
  320. package/docs/src/app/(docs)/kb/components/form/types.md +88 -0
  321. package/docs/src/app/(docs)/kb/components/form/types.ts +4 -0
  322. package/docs/src/app/(docs)/kb/components/input/demos/hero/css-modules/index.module.css +58 -0
  323. package/docs/src/app/(docs)/kb/components/input/demos/hero/css-modules/index.tsx +11 -0
  324. package/docs/src/app/(docs)/kb/components/input/demos/hero/index.ts +9 -0
  325. package/docs/src/app/(docs)/kb/components/input/demos/hero/tailwind/index.tsx +13 -0
  326. package/docs/src/app/(docs)/kb/components/input/page.mdx +51 -0
  327. package/docs/src/app/(docs)/kb/components/input/types.md +92 -0
  328. package/docs/src/app/(docs)/kb/components/input/types.ts +4 -0
  329. package/docs/src/app/(docs)/kb/components/menu/demos/_index.module.css +250 -0
  330. package/docs/src/app/(docs)/kb/components/menu/demos/arrow/css-modules/index.module.css +199 -0
  331. package/docs/src/app/(docs)/kb/components/menu/demos/arrow/css-modules/index.tsx +47 -0
  332. package/docs/src/app/(docs)/kb/components/menu/demos/arrow/index.ts +8 -0
  333. package/docs/src/app/(docs)/kb/components/menu/demos/arrow/tailwind/index.tsx +49 -0
  334. package/docs/src/app/(docs)/kb/components/menu/demos/checkbox-items/css-modules/index.module.css +172 -0
  335. package/docs/src/app/(docs)/kb/components/menu/demos/checkbox-items/css-modules/index.tsx +85 -0
  336. package/docs/src/app/(docs)/kb/components/menu/demos/checkbox-items/index.ts +8 -0
  337. package/docs/src/app/(docs)/kb/components/menu/demos/checkbox-items/tailwind/index.tsx +87 -0
  338. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-controlled/css-modules/index.tsx +103 -0
  339. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-controlled/index.ts +8 -0
  340. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-controlled/tailwind/index.tsx +112 -0
  341. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-full/css-modules/index.module.css +75 -0
  342. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-full/css-modules/index.tsx +90 -0
  343. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-full/index.ts +8 -0
  344. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-full/tailwind/index.tsx +150 -0
  345. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-simple/css-modules/index.tsx +48 -0
  346. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-simple/index.ts +8 -0
  347. package/docs/src/app/(docs)/kb/components/menu/demos/detached-triggers-simple/tailwind/index.tsx +56 -0
  348. package/docs/src/app/(docs)/kb/components/menu/demos/group-labels/css-modules/index.module.css +190 -0
  349. package/docs/src/app/(docs)/kb/components/menu/demos/group-labels/css-modules/index.tsx +113 -0
  350. package/docs/src/app/(docs)/kb/components/menu/demos/group-labels/index.ts +8 -0
  351. package/docs/src/app/(docs)/kb/components/menu/demos/group-labels/tailwind/index.tsx +119 -0
  352. package/docs/src/app/(docs)/kb/components/menu/demos/hero/css-modules/index.module.css +160 -0
  353. package/docs/src/app/(docs)/kb/components/menu/demos/hero/css-modules/index.tsx +42 -0
  354. package/docs/src/app/(docs)/kb/components/menu/demos/hero/index.ts +9 -0
  355. package/docs/src/app/(docs)/kb/components/menu/demos/hero/tailwind/index.tsx +44 -0
  356. package/docs/src/app/(docs)/kb/components/menu/demos/open-on-hover/css-modules/index.module.css +160 -0
  357. package/docs/src/app/(docs)/kb/components/menu/demos/open-on-hover/css-modules/index.tsx +39 -0
  358. package/docs/src/app/(docs)/kb/components/menu/demos/open-on-hover/index.ts +8 -0
  359. package/docs/src/app/(docs)/kb/components/menu/demos/open-on-hover/tailwind/index.tsx +44 -0
  360. package/docs/src/app/(docs)/kb/components/menu/demos/radio-items/css-modules/index.module.css +171 -0
  361. package/docs/src/app/(docs)/kb/components/menu/demos/radio-items/css-modules/index.tsx +72 -0
  362. package/docs/src/app/(docs)/kb/components/menu/demos/radio-items/index.ts +8 -0
  363. package/docs/src/app/(docs)/kb/components/menu/demos/radio-items/tailwind/index.tsx +74 -0
  364. package/docs/src/app/(docs)/kb/components/menu/demos/submenu/css-modules/index.module.css +193 -0
  365. package/docs/src/app/(docs)/kb/components/menu/demos/submenu/css-modules/index.tsx +84 -0
  366. package/docs/src/app/(docs)/kb/components/menu/demos/submenu/index.ts +5 -0
  367. package/docs/src/app/(docs)/kb/components/menu/demos/submenu/tailwind/index.tsx +93 -0
  368. package/docs/src/app/(docs)/kb/components/menu/page.mdx +450 -0
  369. package/docs/src/app/(docs)/kb/components/menu/types.md +1205 -0
  370. package/docs/src/app/(docs)/kb/components/menu/types.ts +7 -0
  371. package/docs/src/app/(docs)/kb/components/menubar/demos/hero/css-modules/index.module.css +185 -0
  372. package/docs/src/app/(docs)/kb/components/menubar/demos/hero/css-modules/index.tsx +151 -0
  373. package/docs/src/app/(docs)/kb/components/menubar/demos/hero/index.ts +9 -0
  374. package/docs/src/app/(docs)/kb/components/menubar/demos/hero/tailwind/index.tsx +198 -0
  375. package/docs/src/app/(docs)/kb/components/menubar/page.mdx +79 -0
  376. package/docs/src/app/(docs)/kb/components/menubar/types.md +61 -0
  377. package/docs/src/app/(docs)/kb/components/menubar/types.ts +4 -0
  378. package/docs/src/app/(docs)/kb/components/meter/demos/hero/css-modules/index.module.css +49 -0
  379. package/docs/src/app/(docs)/kb/components/meter/demos/hero/css-modules/index.tsx +14 -0
  380. package/docs/src/app/(docs)/kb/components/meter/demos/hero/index.ts +9 -0
  381. package/docs/src/app/(docs)/kb/components/meter/demos/hero/tailwind/index.tsx +15 -0
  382. package/docs/src/app/(docs)/kb/components/meter/page.mdx +70 -0
  383. package/docs/src/app/(docs)/kb/components/meter/types.md +152 -0
  384. package/docs/src/app/(docs)/kb/components/meter/types.ts +7 -0
  385. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/hero/css-modules/index.module.css +348 -0
  386. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/hero/css-modules/index.tsx +146 -0
  387. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/hero/index.ts +9 -0
  388. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/hero/tailwind/index.tsx +170 -0
  389. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested/css-modules/index.module.css +363 -0
  390. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested/css-modules/index.tsx +169 -0
  391. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested/index.ts +8 -0
  392. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested/tailwind/index.tsx +199 -0
  393. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested-inline/css-modules/index.module.css +579 -0
  394. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested-inline/css-modules/index.tsx +145 -0
  395. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested-inline/data.ts +126 -0
  396. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested-inline/index.ts +8 -0
  397. package/docs/src/app/(docs)/kb/components/navigation-menu/demos/nested-inline/tailwind/index.tsx +191 -0
  398. package/docs/src/app/(docs)/kb/components/navigation-menu/page.mdx +185 -0
  399. package/docs/src/app/(docs)/kb/components/navigation-menu/types.md +643 -0
  400. package/docs/src/app/(docs)/kb/components/navigation-menu/types.ts +7 -0
  401. package/docs/src/app/(docs)/kb/components/number-field/demos/hero/css-modules/index.module.css +136 -0
  402. package/docs/src/app/(docs)/kb/components/number-field/demos/hero/css-modules/index.tsx +81 -0
  403. package/docs/src/app/(docs)/kb/components/number-field/demos/hero/index.ts +9 -0
  404. package/docs/src/app/(docs)/kb/components/number-field/demos/hero/tailwind/index.tsx +86 -0
  405. package/docs/src/app/(docs)/kb/components/number-field/page.mdx +86 -0
  406. package/docs/src/app/(docs)/kb/components/number-field/types.md +577 -0
  407. package/docs/src/app/(docs)/kb/components/number-field/types.ts +7 -0
  408. package/docs/src/app/(docs)/kb/components/otp-field/demos/alphanumeric/css-modules/index.module.css +73 -0
  409. package/docs/src/app/(docs)/kb/components/otp-field/demos/alphanumeric/css-modules/index.tsx +37 -0
  410. package/docs/src/app/(docs)/kb/components/otp-field/demos/alphanumeric/index.ts +8 -0
  411. package/docs/src/app/(docs)/kb/components/otp-field/demos/alphanumeric/tailwind/index.tsx +36 -0
  412. package/docs/src/app/(docs)/kb/components/otp-field/demos/custom-sanitize/css-modules/index.module.css +153 -0
  413. package/docs/src/app/(docs)/kb/components/otp-field/demos/custom-sanitize/css-modules/index.tsx +74 -0
  414. package/docs/src/app/(docs)/kb/components/otp-field/demos/custom-sanitize/index.ts +6 -0
  415. package/docs/src/app/(docs)/kb/components/otp-field/demos/custom-sanitize/useInvalidFeedback.ts +61 -0
  416. package/docs/src/app/(docs)/kb/components/otp-field/demos/focused-placeholder/css-modules/index.module.css +81 -0
  417. package/docs/src/app/(docs)/kb/components/otp-field/demos/focused-placeholder/css-modules/index.tsx +36 -0
  418. package/docs/src/app/(docs)/kb/components/otp-field/demos/focused-placeholder/index.ts +8 -0
  419. package/docs/src/app/(docs)/kb/components/otp-field/demos/focused-placeholder/tailwind/index.tsx +35 -0
  420. package/docs/src/app/(docs)/kb/components/otp-field/demos/grouped/css-modules/index.module.css +75 -0
  421. package/docs/src/app/(docs)/kb/components/otp-field/demos/grouped/css-modules/index.tsx +38 -0
  422. package/docs/src/app/(docs)/kb/components/otp-field/demos/grouped/index.ts +8 -0
  423. package/docs/src/app/(docs)/kb/components/otp-field/demos/grouped/tailwind/index.tsx +37 -0
  424. package/docs/src/app/(docs)/kb/components/otp-field/demos/hero/css-modules/index.module.css +69 -0
  425. package/docs/src/app/(docs)/kb/components/otp-field/demos/hero/css-modules/index.tsx +35 -0
  426. package/docs/src/app/(docs)/kb/components/otp-field/demos/hero/index.ts +8 -0
  427. package/docs/src/app/(docs)/kb/components/otp-field/demos/hero/tailwind/index.tsx +34 -0
  428. package/docs/src/app/(docs)/kb/components/otp-field/demos/password/css-modules/index.module.css +74 -0
  429. package/docs/src/app/(docs)/kb/components/otp-field/demos/password/css-modules/index.tsx +36 -0
  430. package/docs/src/app/(docs)/kb/components/otp-field/demos/password/index.ts +8 -0
  431. package/docs/src/app/(docs)/kb/components/otp-field/demos/password/tailwind/index.tsx +35 -0
  432. package/docs/src/app/(docs)/kb/components/otp-field/page.mdx +159 -0
  433. package/docs/src/app/(docs)/kb/components/otp-field/types.md +272 -0
  434. package/docs/src/app/(docs)/kb/components/otp-field/types.ts +7 -0
  435. package/docs/src/app/(docs)/kb/components/page.mdx +2013 -0
  436. package/docs/src/app/(docs)/kb/components/popover/demos/_index.module.css +184 -0
  437. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-controlled/css-modules/index.tsx +64 -0
  438. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-controlled/index.ts +8 -0
  439. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-controlled/tailwind/index.tsx +69 -0
  440. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-full/css-modules/index.module.css +271 -0
  441. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-full/css-modules/index.tsx +89 -0
  442. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-full/index.ts +8 -0
  443. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-full/tailwind/index.tsx +130 -0
  444. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-simple/css-modules/index.tsx +30 -0
  445. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-simple/index.ts +8 -0
  446. package/docs/src/app/(docs)/kb/components/popover/demos/detached-triggers-simple/tailwind/index.tsx +32 -0
  447. package/docs/src/app/(docs)/kb/components/popover/demos/hero/css-modules/index.tsx +22 -0
  448. package/docs/src/app/(docs)/kb/components/popover/demos/hero/index.ts +9 -0
  449. package/docs/src/app/(docs)/kb/components/popover/demos/hero/tailwind/index.tsx +23 -0
  450. package/docs/src/app/(docs)/kb/components/popover/demos/open-on-hover/css-modules/index.tsx +24 -0
  451. package/docs/src/app/(docs)/kb/components/popover/demos/open-on-hover/index.ts +8 -0
  452. package/docs/src/app/(docs)/kb/components/popover/demos/open-on-hover/tailwind/index.tsx +25 -0
  453. package/docs/src/app/(docs)/kb/components/popover/page.mdx +273 -0
  454. package/docs/src/app/(docs)/kb/components/popover/types.md +629 -0
  455. package/docs/src/app/(docs)/kb/components/popover/types.ts +7 -0
  456. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-controlled/css-modules/index.tsx +132 -0
  457. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-controlled/index.ts +8 -0
  458. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-controlled/tailwind/index.tsx +134 -0
  459. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-full/css-modules/index.module.css +204 -0
  460. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-full/css-modules/index.tsx +104 -0
  461. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-full/index.ts +8 -0
  462. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-full/tailwind/index.tsx +109 -0
  463. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-simple/css-modules/index.tsx +46 -0
  464. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-simple/index.ts +8 -0
  465. package/docs/src/app/(docs)/kb/components/preview-card/demos/detached-triggers-simple/tailwind/index.tsx +45 -0
  466. package/docs/src/app/(docs)/kb/components/preview-card/demos/hero/css-modules/index.tsx +40 -0
  467. package/docs/src/app/(docs)/kb/components/preview-card/demos/hero/index.ts +9 -0
  468. package/docs/src/app/(docs)/kb/components/preview-card/demos/hero/tailwind/index.tsx +39 -0
  469. package/docs/src/app/(docs)/kb/components/preview-card/demos/index.module.css +221 -0
  470. package/docs/src/app/(docs)/kb/components/preview-card/page.mdx +250 -0
  471. package/docs/src/app/(docs)/kb/components/preview-card/types.md +525 -0
  472. package/docs/src/app/(docs)/kb/components/preview-card/types.ts +7 -0
  473. package/docs/src/app/(docs)/kb/components/progress/demos/hero/css-modules/index.module.css +49 -0
  474. package/docs/src/app/(docs)/kb/components/progress/demos/hero/css-modules/index.tsx +26 -0
  475. package/docs/src/app/(docs)/kb/components/progress/demos/hero/index.ts +9 -0
  476. package/docs/src/app/(docs)/kb/components/progress/demos/hero/tailwind/index.tsx +27 -0
  477. package/docs/src/app/(docs)/kb/components/progress/page.mdx +70 -0
  478. package/docs/src/app/(docs)/kb/components/progress/types.md +216 -0
  479. package/docs/src/app/(docs)/kb/components/progress/types.ts +7 -0
  480. package/docs/src/app/(docs)/kb/components/radio/demos/hero/css-modules/index.module.css +85 -0
  481. package/docs/src/app/(docs)/kb/components/radio/demos/hero/css-modules/index.tsx +37 -0
  482. package/docs/src/app/(docs)/kb/components/radio/demos/hero/index.ts +9 -0
  483. package/docs/src/app/(docs)/kb/components/radio/demos/hero/tailwind/index.tsx +49 -0
  484. package/docs/src/app/(docs)/kb/components/radio/page.mdx +155 -0
  485. package/docs/src/app/(docs)/kb/components/radio/types.md +147 -0
  486. package/docs/src/app/(docs)/kb/components/radio/types.ts +7 -0
  487. package/docs/src/app/(docs)/kb/components/radio-group/types.md +96 -0
  488. package/docs/src/app/(docs)/kb/components/radio-group/types.ts +4 -0
  489. package/docs/src/app/(docs)/kb/components/scroll-area/demos/both/css-modules/index.module.css +95 -0
  490. package/docs/src/app/(docs)/kb/components/scroll-area/demos/both/css-modules/index.tsx +27 -0
  491. package/docs/src/app/(docs)/kb/components/scroll-area/demos/both/index.ts +8 -0
  492. package/docs/src/app/(docs)/kb/components/scroll-area/demos/both/tailwind/index.tsx +32 -0
  493. package/docs/src/app/(docs)/kb/components/scroll-area/demos/hero/css-modules/index.module.css +84 -0
  494. package/docs/src/app/(docs)/kb/components/scroll-area/demos/hero/css-modules/index.tsx +35 -0
  495. package/docs/src/app/(docs)/kb/components/scroll-area/demos/hero/index.ts +9 -0
  496. package/docs/src/app/(docs)/kb/components/scroll-area/demos/hero/tailwind/index.tsx +34 -0
  497. package/docs/src/app/(docs)/kb/components/scroll-area/demos/scroll-fade/css-modules/index.module.css +92 -0
  498. package/docs/src/app/(docs)/kb/components/scroll-area/demos/scroll-fade/css-modules/index.tsx +35 -0
  499. package/docs/src/app/(docs)/kb/components/scroll-area/demos/scroll-fade/index.ts +8 -0
  500. package/docs/src/app/(docs)/kb/components/scroll-area/demos/scroll-fade/tailwind/index.tsx +34 -0
  501. package/docs/src/app/(docs)/kb/components/scroll-area/page.mdx +142 -0
  502. package/docs/src/app/(docs)/kb/components/scroll-area/types.md +356 -0
  503. package/docs/src/app/(docs)/kb/components/scroll-area/types.ts +7 -0
  504. package/docs/src/app/(docs)/kb/components/select/demos/grouped/css-modules/index.module.css +269 -0
  505. package/docs/src/app/(docs)/kb/components/select/demos/grouped/css-modules/index.tsx +148 -0
  506. package/docs/src/app/(docs)/kb/components/select/demos/grouped/index.ts +8 -0
  507. package/docs/src/app/(docs)/kb/components/select/demos/grouped/tailwind/index.tsx +156 -0
  508. package/docs/src/app/(docs)/kb/components/select/demos/hero/css-modules/index.module.css +232 -0
  509. package/docs/src/app/(docs)/kb/components/select/demos/hero/css-modules/index.tsx +110 -0
  510. package/docs/src/app/(docs)/kb/components/select/demos/hero/index.ts +9 -0
  511. package/docs/src/app/(docs)/kb/components/select/demos/hero/tailwind/index.tsx +118 -0
  512. package/docs/src/app/(docs)/kb/components/select/demos/multiple/css-modules/index.module.css +182 -0
  513. package/docs/src/app/(docs)/kb/components/select/demos/multiple/css-modules/index.tsx +96 -0
  514. package/docs/src/app/(docs)/kb/components/select/demos/multiple/index.ts +5 -0
  515. package/docs/src/app/(docs)/kb/components/select/demos/multiple/tailwind/index.tsx +103 -0
  516. package/docs/src/app/(docs)/kb/components/select/demos/object-values/css-modules/index.module.css +279 -0
  517. package/docs/src/app/(docs)/kb/components/select/demos/object-values/css-modules/index.tsx +145 -0
  518. package/docs/src/app/(docs)/kb/components/select/demos/object-values/index.ts +8 -0
  519. package/docs/src/app/(docs)/kb/components/select/demos/object-values/tailwind/index.tsx +150 -0
  520. package/docs/src/app/(docs)/kb/components/select/page.mdx +330 -0
  521. package/docs/src/app/(docs)/kb/components/select/types.md +907 -0
  522. package/docs/src/app/(docs)/kb/components/select/types.ts +7 -0
  523. package/docs/src/app/(docs)/kb/components/separator/demos/hero/css-modules/index.module.css +45 -0
  524. package/docs/src/app/(docs)/kb/components/separator/demos/hero/css-modules/index.tsx +30 -0
  525. package/docs/src/app/(docs)/kb/components/separator/demos/hero/index.ts +9 -0
  526. package/docs/src/app/(docs)/kb/components/separator/demos/hero/tailwind/index.tsx +47 -0
  527. package/docs/src/app/(docs)/kb/components/separator/page.mdx +46 -0
  528. package/docs/src/app/(docs)/kb/components/separator/types.md +53 -0
  529. package/docs/src/app/(docs)/kb/components/separator/types.ts +4 -0
  530. package/docs/src/app/(docs)/kb/components/slider/demos/edge-alignment/css-modules/index.module.css +56 -0
  531. package/docs/src/app/(docs)/kb/components/slider/demos/edge-alignment/css-modules/index.tsx +15 -0
  532. package/docs/src/app/(docs)/kb/components/slider/demos/edge-alignment/index.ts +8 -0
  533. package/docs/src/app/(docs)/kb/components/slider/demos/edge-alignment/tailwind/index.tsx +17 -0
  534. package/docs/src/app/(docs)/kb/components/slider/demos/hero/css-modules/index.module.css +56 -0
  535. package/docs/src/app/(docs)/kb/components/slider/demos/hero/css-modules/index.tsx +15 -0
  536. package/docs/src/app/(docs)/kb/components/slider/demos/hero/index.ts +9 -0
  537. package/docs/src/app/(docs)/kb/components/slider/demos/hero/tailwind/index.tsx +17 -0
  538. package/docs/src/app/(docs)/kb/components/slider/demos/range-slider/css-modules/index.module.css +56 -0
  539. package/docs/src/app/(docs)/kb/components/slider/demos/range-slider/css-modules/index.tsx +16 -0
  540. package/docs/src/app/(docs)/kb/components/slider/demos/range-slider/index.ts +8 -0
  541. package/docs/src/app/(docs)/kb/components/slider/demos/range-slider/tailwind/index.tsx +23 -0
  542. package/docs/src/app/(docs)/kb/components/slider/demos/vertical/css-modules/index.module.css +61 -0
  543. package/docs/src/app/(docs)/kb/components/slider/demos/vertical/css-modules/index.tsx +15 -0
  544. package/docs/src/app/(docs)/kb/components/slider/demos/vertical/index.ts +8 -0
  545. package/docs/src/app/(docs)/kb/components/slider/demos/vertical/tailwind/index.tsx +17 -0
  546. package/docs/src/app/(docs)/kb/components/slider/page.mdx +207 -0
  547. package/docs/src/app/(docs)/kb/components/slider/types.md +641 -0
  548. package/docs/src/app/(docs)/kb/components/slider/types.ts +7 -0
  549. package/docs/src/app/(docs)/kb/components/switch/demos/hero/css-modules/index.module.css +69 -0
  550. package/docs/src/app/(docs)/kb/components/switch/demos/hero/css-modules/index.tsx +13 -0
  551. package/docs/src/app/(docs)/kb/components/switch/demos/hero/index.ts +9 -0
  552. package/docs/src/app/(docs)/kb/components/switch/demos/hero/tailwind/index.tsx +15 -0
  553. package/docs/src/app/(docs)/kb/components/switch/page.mdx +118 -0
  554. package/docs/src/app/(docs)/kb/components/switch/types.md +178 -0
  555. package/docs/src/app/(docs)/kb/components/switch/types.ts +7 -0
  556. package/docs/src/app/(docs)/kb/components/tabs/demos/hero/css-modules/index.module.css +145 -0
  557. package/docs/src/app/(docs)/kb/components/tabs/demos/hero/css-modules/index.tsx +32 -0
  558. package/docs/src/app/(docs)/kb/components/tabs/demos/hero/index.ts +9 -0
  559. package/docs/src/app/(docs)/kb/components/tabs/demos/hero/tailwind/index.tsx +37 -0
  560. package/docs/src/app/(docs)/kb/components/tabs/page.mdx +97 -0
  561. package/docs/src/app/(docs)/kb/components/tabs/types.md +331 -0
  562. package/docs/src/app/(docs)/kb/components/tabs/types.ts +7 -0
  563. package/docs/src/app/(docs)/kb/components/toast/demos/anchored/css-modules/index.module.css +457 -0
  564. package/docs/src/app/(docs)/kb/components/toast/demos/anchored/css-modules/index.tsx +160 -0
  565. package/docs/src/app/(docs)/kb/components/toast/demos/anchored/index.ts +8 -0
  566. package/docs/src/app/(docs)/kb/components/toast/demos/anchored/tailwind/index.tsx +176 -0
  567. package/docs/src/app/(docs)/kb/components/toast/demos/custom/css-modules/index.module.css +271 -0
  568. package/docs/src/app/(docs)/kb/components/toast/demos/custom/css-modules/index.tsx +69 -0
  569. package/docs/src/app/(docs)/kb/components/toast/demos/custom/index.ts +4 -0
  570. package/docs/src/app/(docs)/kb/components/toast/demos/deduplicate/css-modules/index.module.css +305 -0
  571. package/docs/src/app/(docs)/kb/components/toast/demos/deduplicate/css-modules/index.tsx +62 -0
  572. package/docs/src/app/(docs)/kb/components/toast/demos/deduplicate/index.ts +4 -0
  573. package/docs/src/app/(docs)/kb/components/toast/demos/hero/css-modules/index.module.css +271 -0
  574. package/docs/src/app/(docs)/kb/components/toast/demos/hero/css-modules/index.tsx +51 -0
  575. package/docs/src/app/(docs)/kb/components/toast/demos/hero/index.ts +9 -0
  576. package/docs/src/app/(docs)/kb/components/toast/demos/hero/tailwind/index.tsx +60 -0
  577. package/docs/src/app/(docs)/kb/components/toast/demos/position/css-modules/index.module.css +266 -0
  578. package/docs/src/app/(docs)/kb/components/toast/demos/position/css-modules/index.tsx +51 -0
  579. package/docs/src/app/(docs)/kb/components/toast/demos/position/index.ts +5 -0
  580. package/docs/src/app/(docs)/kb/components/toast/demos/position/tailwind/index.tsx +61 -0
  581. package/docs/src/app/(docs)/kb/components/toast/demos/promise/css-modules/index.module.css +287 -0
  582. package/docs/src/app/(docs)/kb/components/toast/demos/promise/css-modules/index.tsx +63 -0
  583. package/docs/src/app/(docs)/kb/components/toast/demos/promise/index.ts +4 -0
  584. package/docs/src/app/(docs)/kb/components/toast/demos/undo/css-modules/index.module.css +277 -0
  585. package/docs/src/app/(docs)/kb/components/toast/demos/undo/css-modules/index.tsx +62 -0
  586. package/docs/src/app/(docs)/kb/components/toast/demos/undo/index.ts +4 -0
  587. package/docs/src/app/(docs)/kb/components/toast/demos/varying-heights/css-modules/index.module.css +271 -0
  588. package/docs/src/app/(docs)/kb/components/toast/demos/varying-heights/css-modules/index.tsx +59 -0
  589. package/docs/src/app/(docs)/kb/components/toast/demos/varying-heights/index.ts +4 -0
  590. package/docs/src/app/(docs)/kb/components/toast/page.mdx +477 -0
  591. package/docs/src/app/(docs)/kb/components/toast/types.md +947 -0
  592. package/docs/src/app/(docs)/kb/components/toast/types.ts +7 -0
  593. package/docs/src/app/(docs)/kb/components/toggle/demos/hero/css-modules/index.module.css +55 -0
  594. package/docs/src/app/(docs)/kb/components/toggle/demos/hero/css-modules/index.tsx +64 -0
  595. package/docs/src/app/(docs)/kb/components/toggle/demos/hero/index.ts +9 -0
  596. package/docs/src/app/(docs)/kb/components/toggle/demos/hero/tailwind/index.tsx +61 -0
  597. package/docs/src/app/(docs)/kb/components/toggle/page.mdx +43 -0
  598. package/docs/src/app/(docs)/kb/components/toggle/types.md +82 -0
  599. package/docs/src/app/(docs)/kb/components/toggle/types.ts +4 -0
  600. package/docs/src/app/(docs)/kb/components/toggle-group/demos/hero/css-modules/index.module.css +82 -0
  601. package/docs/src/app/(docs)/kb/components/toggle-group/demos/hero/css-modules/index.tsx +66 -0
  602. package/docs/src/app/(docs)/kb/components/toggle-group/demos/hero/index.ts +9 -0
  603. package/docs/src/app/(docs)/kb/components/toggle-group/demos/hero/tailwind/index.tsx +81 -0
  604. package/docs/src/app/(docs)/kb/components/toggle-group/demos/multiple/css-modules/index.module.css +82 -0
  605. package/docs/src/app/(docs)/kb/components/toggle-group/demos/multiple/css-modules/index.tsx +69 -0
  606. package/docs/src/app/(docs)/kb/components/toggle-group/demos/multiple/index.ts +8 -0
  607. package/docs/src/app/(docs)/kb/components/toggle-group/demos/multiple/tailwind/index.tsx +80 -0
  608. package/docs/src/app/(docs)/kb/components/toggle-group/page.mdx +52 -0
  609. package/docs/src/app/(docs)/kb/components/toggle-group/types.md +98 -0
  610. package/docs/src/app/(docs)/kb/components/toggle-group/types.ts +4 -0
  611. package/docs/src/app/(docs)/kb/components/toolbar/demos/hero/css-modules/index.module.css +242 -0
  612. package/docs/src/app/(docs)/kb/components/toolbar/demos/hero/css-modules/index.tsx +102 -0
  613. package/docs/src/app/(docs)/kb/components/toolbar/demos/hero/index.ts +9 -0
  614. package/docs/src/app/(docs)/kb/components/toolbar/demos/hero/tailwind/index.tsx +119 -0
  615. package/docs/src/app/(docs)/kb/components/toolbar/page.mdx +139 -0
  616. package/docs/src/app/(docs)/kb/components/toolbar/types.md +275 -0
  617. package/docs/src/app/(docs)/kb/components/toolbar/types.ts +7 -0
  618. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-controlled/css-modules/index.tsx +138 -0
  619. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-controlled/index.ts +8 -0
  620. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-controlled/tailwind/index.tsx +94 -0
  621. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-full/css-modules/index.module.css +229 -0
  622. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-full/css-modules/index.tsx +115 -0
  623. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-full/index.ts +8 -0
  624. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-full/tailwind/index.tsx +116 -0
  625. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-simple/css-modules/index.tsx +49 -0
  626. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-simple/index.ts +8 -0
  627. package/docs/src/app/(docs)/kb/components/tooltip/demos/detached-triggers-simple/tailwind/index.tsx +34 -0
  628. package/docs/src/app/(docs)/kb/components/tooltip/demos/hero/css-modules/index.module.css +149 -0
  629. package/docs/src/app/(docs)/kb/components/tooltip/demos/hero/css-modules/index.tsx +98 -0
  630. package/docs/src/app/(docs)/kb/components/tooltip/demos/hero/index.ts +9 -0
  631. package/docs/src/app/(docs)/kb/components/tooltip/demos/hero/tailwind/index.tsx +104 -0
  632. package/docs/src/app/(docs)/kb/components/tooltip/demos/icons-tw.tsx +61 -0
  633. package/docs/src/app/(docs)/kb/components/tooltip/demos/index.module.css +233 -0
  634. package/docs/src/app/(docs)/kb/components/tooltip/page.mdx +270 -0
  635. package/docs/src/app/(docs)/kb/components/tooltip/types.md +524 -0
  636. package/docs/src/app/(docs)/kb/components/tooltip/types.ts +7 -0
  637. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-false/css-modules/index.module.css +90 -0
  638. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-false/css-modules/index.tsx +35 -0
  639. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-false/index.ts +6 -0
  640. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-true/css-modules/index.module.css +89 -0
  641. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-true/css-modules/index.tsx +32 -0
  642. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-popover-motion-keep-mounted-true/index.ts +6 -0
  643. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-select-motion/css-modules/index.module.css +238 -0
  644. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-select-motion/css-modules/index.tsx +107 -0
  645. package/docs/src/app/(docs)/kb/handbook/animation/demos/animated-select-motion/index.ts +6 -0
  646. package/docs/src/app/(docs)/kb/handbook/animation/page.mdx +233 -0
  647. package/docs/src/app/(docs)/kb/handbook/composition/page.mdx +113 -0
  648. package/docs/src/app/(docs)/kb/handbook/customization/page.mdx +144 -0
  649. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/autocomplete.tsx +73 -0
  650. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/button.tsx +20 -0
  651. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/checkbox-group.tsx +15 -0
  652. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/checkbox.tsx +21 -0
  653. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/combobox.tsx +161 -0
  654. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/field.tsx +56 -0
  655. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/fieldset.tsx +16 -0
  656. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/form.tsx +12 -0
  657. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/number-field.tsx +53 -0
  658. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/radio-group.tsx +15 -0
  659. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/radio.tsx +27 -0
  660. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/select.tsx +129 -0
  661. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/slider.tsx +55 -0
  662. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/switch.tsx +27 -0
  663. package/docs/src/app/(docs)/kb/handbook/forms/demos/components/toast.tsx +64 -0
  664. package/docs/src/app/(docs)/kb/handbook/forms/demos/hero/index.ts +8 -0
  665. package/docs/src/app/(docs)/kb/handbook/forms/demos/hero/tailwind/index.tsx +357 -0
  666. package/docs/src/app/(docs)/kb/handbook/forms/demos/react-hook-form/index.ts +4 -0
  667. package/docs/src/app/(docs)/kb/handbook/forms/demos/react-hook-form/tailwind/index.tsx +511 -0
  668. package/docs/src/app/(docs)/kb/handbook/forms/demos/tanstack-form/index.ts +4 -0
  669. package/docs/src/app/(docs)/kb/handbook/forms/demos/tanstack-form/tailwind/index.tsx +591 -0
  670. package/docs/src/app/(docs)/kb/handbook/forms/page.mdx +736 -0
  671. package/docs/src/app/(docs)/kb/handbook/page.mdx +167 -0
  672. package/docs/src/app/(docs)/kb/handbook/styling/page.mdx +176 -0
  673. package/docs/src/app/(docs)/kb/handbook/typescript/page.mdx +93 -0
  674. package/docs/src/app/(docs)/kb/overview/accessibility/page.mdx +63 -0
  675. package/docs/src/app/(docs)/kb/overview/page.mdx +128 -0
  676. package/docs/src/app/(docs)/kb/overview/quick-start/page.mdx +95 -0
  677. package/docs/src/app/(docs)/kb/page.mdx +130 -0
  678. package/docs/src/app/(docs)/kb/utils/csp-provider/page.mdx +107 -0
  679. package/docs/src/app/(docs)/kb/utils/csp-provider/types.md +35 -0
  680. package/docs/src/app/(docs)/kb/utils/csp-provider/types.ts +4 -0
  681. package/docs/src/app/(docs)/kb/utils/direction-provider/demos/hero/css-modules/index.module.css +56 -0
  682. package/docs/src/app/(docs)/kb/utils/direction-provider/demos/hero/css-modules/index.tsx +20 -0
  683. package/docs/src/app/(docs)/kb/utils/direction-provider/demos/hero/index.ts +9 -0
  684. package/docs/src/app/(docs)/kb/utils/direction-provider/demos/hero/tailwind/index.tsx +19 -0
  685. package/docs/src/app/(docs)/kb/utils/direction-provider/page.mdx +62 -0
  686. package/docs/src/app/(docs)/kb/utils/direction-provider/types.md +48 -0
  687. package/docs/src/app/(docs)/kb/utils/direction-provider/types.ts +8 -0
  688. package/docs/src/app/(docs)/kb/utils/merge-props/demos/prevent-base-ui-handler/css-modules/index.module.css +123 -0
  689. package/docs/src/app/(docs)/kb/utils/merge-props/demos/prevent-base-ui-handler/css-modules/index.tsx +74 -0
  690. package/docs/src/app/(docs)/kb/utils/merge-props/demos/prevent-base-ui-handler/index.ts +4 -0
  691. package/docs/src/app/(docs)/kb/utils/merge-props/page.mdx +87 -0
  692. package/docs/src/app/(docs)/kb/utils/merge-props/types.md +96 -0
  693. package/docs/src/app/(docs)/kb/utils/merge-props/types.ts +7 -0
  694. package/docs/src/app/(docs)/kb/utils/page.mdx +126 -0
  695. package/docs/src/app/(docs)/kb/utils/use-render/demos/render/css-modules/index.module.css +13 -0
  696. package/docs/src/app/(docs)/kb/utils/use-render/demos/render/css-modules/index.tsx +27 -0
  697. package/docs/src/app/(docs)/kb/utils/use-render/demos/render/index.ts +8 -0
  698. package/docs/src/app/(docs)/kb/utils/use-render/demos/render-callback/css-modules/index.module.css +71 -0
  699. package/docs/src/app/(docs)/kb/utils/use-render/demos/render-callback/css-modules/index.tsx +55 -0
  700. package/docs/src/app/(docs)/kb/utils/use-render/demos/render-callback/index.ts +6 -0
  701. package/docs/src/app/(docs)/kb/utils/use-render/page.mdx +198 -0
  702. package/docs/src/app/(docs)/kb/utils/use-render/types.md +557 -0
  703. package/docs/src/app/(docs)/kb/utils/use-render/types.ts +4 -0
  704. package/docs/src/app/(docs)/layout.css +89 -0
  705. package/docs/src/app/(docs)/layout.tsx +196 -0
  706. package/docs/src/app/(docs)/opengraph-image.png +0 -0
  707. package/docs/src/app/(docs)/production-error/ErrorCode.tsx +23 -0
  708. package/docs/src/app/(docs)/production-error/ErrorDisplay.tsx +36 -0
  709. package/docs/src/app/(docs)/production-error/page.mdx +16 -0
  710. package/docs/src/app/(private)/docs-theme/page.module.css +250 -0
  711. package/docs/src/app/(private)/docs-theme/page.tsx +220 -0
  712. package/docs/src/app/(private)/experiments/[...slug]/page.tsx +74 -0
  713. package/docs/src/app/(private)/experiments/_components/Button.module.css +22 -0
  714. package/docs/src/app/(private)/experiments/_components/Button.tsx +29 -0
  715. package/docs/src/app/(private)/experiments/_components/EditPanel.tsx +132 -0
  716. package/docs/src/app/(private)/experiments/_components/ExperimentRoot.module.css +61 -0
  717. package/docs/src/app/(private)/experiments/_components/ExperimentRoot.tsx +41 -0
  718. package/docs/src/app/(private)/experiments/_components/ExperimentsList.module.css +29 -0
  719. package/docs/src/app/(private)/experiments/_components/ExperimentsList.tsx +93 -0
  720. package/docs/src/app/(private)/experiments/_components/HideSidebar.tsx +20 -0
  721. package/docs/src/app/(private)/experiments/_components/Input.module.css +18 -0
  722. package/docs/src/app/(private)/experiments/_components/Input.tsx +7 -0
  723. package/docs/src/app/(private)/experiments/_components/SandboxLink.tsx +53 -0
  724. package/docs/src/app/(private)/experiments/_components/Select.module.css +174 -0
  725. package/docs/src/app/(private)/experiments/_components/Select.tsx +91 -0
  726. package/docs/src/app/(private)/experiments/_components/SettingsPanel.module.css +111 -0
  727. package/docs/src/app/(private)/experiments/_components/SettingsPanel.tsx +282 -0
  728. package/docs/src/app/(private)/experiments/_components/ShowSidebar.module.css +48 -0
  729. package/docs/src/app/(private)/experiments/_components/ShowSidebar.tsx +21 -0
  730. package/docs/src/app/(private)/experiments/_components/Sidebar.module.css +15 -0
  731. package/docs/src/app/(private)/experiments/_components/Sidebar.tsx +35 -0
  732. package/docs/src/app/(private)/experiments/_components/Switch.module.css +104 -0
  733. package/docs/src/app/(private)/experiments/_components/Switch.tsx +42 -0
  734. package/docs/src/app/(private)/experiments/_components/Tooltip.module.css +76 -0
  735. package/docs/src/app/(private)/experiments/_components/Tooltip.tsx +47 -0
  736. package/docs/src/app/(private)/experiments/_css/index.css +61 -0
  737. package/docs/src/app/(private)/experiments/_css/reset.css +384 -0
  738. package/docs/src/app/(private)/experiments/accordion/_components/Accordion.module.css +69 -0
  739. package/docs/src/app/(private)/experiments/accordion/_components/Accordion.tsx +35 -0
  740. package/docs/src/app/(private)/experiments/accordion/accordion.module.css +21 -0
  741. package/docs/src/app/(private)/experiments/accordion/animations.module.css +37 -0
  742. package/docs/src/app/(private)/experiments/accordion/animations.tsx +223 -0
  743. package/docs/src/app/(private)/experiments/accordion/horizontal.module.css +115 -0
  744. package/docs/src/app/(private)/experiments/accordion/horizontal.tsx +107 -0
  745. package/docs/src/app/(private)/experiments/accordion/transitions.module.css +19 -0
  746. package/docs/src/app/(private)/experiments/accordion/transitions.tsx +302 -0
  747. package/docs/src/app/(private)/experiments/anchor-positioning.module.css +12 -0
  748. package/docs/src/app/(private)/experiments/anchor-positioning.tsx +402 -0
  749. package/docs/src/app/(private)/experiments/anchor-side-animations.module.css +46 -0
  750. package/docs/src/app/(private)/experiments/anchor-side-animations.tsx +32 -0
  751. package/docs/src/app/(private)/experiments/collapsible/_components/Collapsible.module.css +54 -0
  752. package/docs/src/app/(private)/experiments/collapsible/_components/Collapsible.tsx +27 -0
  753. package/docs/src/app/(private)/experiments/collapsible/animate-presence.tsx +57 -0
  754. package/docs/src/app/(private)/experiments/collapsible/animations.module.css +58 -0
  755. package/docs/src/app/(private)/experiments/collapsible/animations.tsx +183 -0
  756. package/docs/src/app/(private)/experiments/collapsible/collapsible.module.css +21 -0
  757. package/docs/src/app/(private)/experiments/collapsible/plain.tsx +56 -0
  758. package/docs/src/app/(private)/experiments/collapsible/transitions.module.css +18 -0
  759. package/docs/src/app/(private)/experiments/collapsible/transitions.tsx +154 -0
  760. package/docs/src/app/(private)/experiments/combobox/creatable-tags.module.css +153 -0
  761. package/docs/src/app/(private)/experiments/combobox/creatable-tags.tsx +307 -0
  762. package/docs/src/app/(private)/experiments/combobox/dialog-combobox-multiple.tsx +112 -0
  763. package/docs/src/app/(private)/experiments/combobox/dialog-combobox.module.css +318 -0
  764. package/docs/src/app/(private)/experiments/combobox/dialog-combobox.tsx +88 -0
  765. package/docs/src/app/(private)/experiments/combobox/limited-chips.module.css +278 -0
  766. package/docs/src/app/(private)/experiments/combobox/limited-chips.tsx +203 -0
  767. package/docs/src/app/(private)/experiments/combobox/priority-combobox.module.css +187 -0
  768. package/docs/src/app/(private)/experiments/combobox/priority-combobox.tsx +171 -0
  769. package/docs/src/app/(private)/experiments/combobox-composition.module.css +154 -0
  770. package/docs/src/app/(private)/experiments/combobox-composition.tsx +114 -0
  771. package/docs/src/app/(private)/experiments/combobox-perf.module.css +166 -0
  772. package/docs/src/app/(private)/experiments/combobox-perf.tsx +158 -0
  773. package/docs/src/app/(private)/experiments/context-menu.module.css +342 -0
  774. package/docs/src/app/(private)/experiments/context-menu.tsx +409 -0
  775. package/docs/src/app/(private)/experiments/dialog/dialog.module.css +83 -0
  776. package/docs/src/app/(private)/experiments/dialog/dialogs.tsx +358 -0
  777. package/docs/src/app/(private)/experiments/dialog/nested.module.css +276 -0
  778. package/docs/src/app/(private)/experiments/dialog/nested.tsx +215 -0
  779. package/docs/src/app/(private)/experiments/drawer/cross-axis-scroll.module.css +136 -0
  780. package/docs/src/app/(private)/experiments/drawer/cross-axis-scroll.tsx +162 -0
  781. package/docs/src/app/(private)/experiments/drawer/drawer-controlled-opening.module.css +174 -0
  782. package/docs/src/app/(private)/experiments/drawer/drawer-controlled-opening.tsx +57 -0
  783. package/docs/src/app/(private)/experiments/drawer/touch-ignore.module.css +338 -0
  784. package/docs/src/app/(private)/experiments/drawer/touch-ignore.tsx +155 -0
  785. package/docs/src/app/(private)/experiments/drawer/virtual-keyboard-aware.module.css +112 -0
  786. package/docs/src/app/(private)/experiments/drawer/virtual-keyboard-aware.tsx +220 -0
  787. package/docs/src/app/(private)/experiments/drawer-slider.module.css +196 -0
  788. package/docs/src/app/(private)/experiments/drawer-slider.tsx +39 -0
  789. package/docs/src/app/(private)/experiments/forms/_icons.tsx +47 -0
  790. package/docs/src/app/(private)/experiments/forms/autofill.module.css +467 -0
  791. package/docs/src/app/(private)/experiments/forms/autofill.tsx +325 -0
  792. package/docs/src/app/(private)/experiments/forms/button-controls.tsx +195 -0
  793. package/docs/src/app/(private)/experiments/forms/form.module.css +693 -0
  794. package/docs/src/app/(private)/experiments/forms/form.tsx +523 -0
  795. package/docs/src/app/(private)/experiments/forms/rhf.tsx +988 -0
  796. package/docs/src/app/(private)/experiments/inline-positioning.module.css +171 -0
  797. package/docs/src/app/(private)/experiments/inline-positioning.tsx +169 -0
  798. package/docs/src/app/(private)/experiments/layout.tsx +5 -0
  799. package/docs/src/app/(private)/experiments/long-select.module.css +241 -0
  800. package/docs/src/app/(private)/experiments/long-select.tsx +375 -0
  801. package/docs/src/app/(private)/experiments/menu/complex-nesting.tsx +136 -0
  802. package/docs/src/app/(private)/experiments/menu/dialog-trigger-item.tsx +130 -0
  803. package/docs/src/app/(private)/experiments/menu/menu-anchor-el.tsx +40 -0
  804. package/docs/src/app/(private)/experiments/menu/menu-anchor-ref.tsx +37 -0
  805. package/docs/src/app/(private)/experiments/menu/menu-disabled-items.tsx +87 -0
  806. package/docs/src/app/(private)/experiments/menu/menu-fully-featured.tsx +312 -0
  807. package/docs/src/app/(private)/experiments/menu/menu-horizontal.module.css +193 -0
  808. package/docs/src/app/(private)/experiments/menu/menu-horizontal.tsx +127 -0
  809. package/docs/src/app/(private)/experiments/menu/menu-nested.module.css +190 -0
  810. package/docs/src/app/(private)/experiments/menu/menu-nested.tsx +133 -0
  811. package/docs/src/app/(private)/experiments/menu/menu-submenus.tsx +182 -0
  812. package/docs/src/app/(private)/experiments/menu/menu.module.css +412 -0
  813. package/docs/src/app/(private)/experiments/menu/nested-detached-triggers.module.css +115 -0
  814. package/docs/src/app/(private)/experiments/menu/nested-detached-triggers.tsx +270 -0
  815. package/docs/src/app/(private)/experiments/menu/perf-contained.tsx +90 -0
  816. package/docs/src/app/(private)/experiments/menu/perf-detached.tsx +99 -0
  817. package/docs/src/app/(private)/experiments/menu/pointer-events-scope.module.css +305 -0
  818. package/docs/src/app/(private)/experiments/menu/pointer-events-scope.tsx +254 -0
  819. package/docs/src/app/(private)/experiments/menu/triggers.module.css +47 -0
  820. package/docs/src/app/(private)/experiments/menu/triggers.tsx +421 -0
  821. package/docs/src/app/(private)/experiments/menubar.module.css +63 -0
  822. package/docs/src/app/(private)/experiments/menubar.tsx +239 -0
  823. package/docs/src/app/(private)/experiments/meter.module.css +52 -0
  824. package/docs/src/app/(private)/experiments/meter.tsx +44 -0
  825. package/docs/src/app/(private)/experiments/mobile-scroll-lock.module.css +100 -0
  826. package/docs/src/app/(private)/experiments/mobile-scroll-lock.tsx +38 -0
  827. package/docs/src/app/(private)/experiments/modality.module.css +239 -0
  828. package/docs/src/app/(private)/experiments/modality.tsx +128 -0
  829. package/docs/src/app/(private)/experiments/motion.tsx +113 -0
  830. package/docs/src/app/(private)/experiments/navigation-menu-popups.tsx +214 -0
  831. package/docs/src/app/(private)/experiments/navigation-menu.module.css +638 -0
  832. package/docs/src/app/(private)/experiments/navigation-menu.tsx +611 -0
  833. package/docs/src/app/(private)/experiments/page.tsx +15 -0
  834. package/docs/src/app/(private)/experiments/perf/contained-triggers.tsx +270 -0
  835. package/docs/src/app/(private)/experiments/perf/detached-triggers.tsx +317 -0
  836. package/docs/src/app/(private)/experiments/perf/menu-open.tsx +167 -0
  837. package/docs/src/app/(private)/experiments/perf/perf.module.css +171 -0
  838. package/docs/src/app/(private)/experiments/perf/radix-triggers.tsx +261 -0
  839. package/docs/src/app/(private)/experiments/perf/utils/benchmark.tsx +208 -0
  840. package/docs/src/app/(private)/experiments/perf/utils/wait.ts +27 -0
  841. package/docs/src/app/(private)/experiments/popover/calendar-shared.ts +15 -0
  842. package/docs/src/app/(private)/experiments/popover/calendar.module.css +187 -0
  843. package/docs/src/app/(private)/experiments/popover/calendar.tsx +175 -0
  844. package/docs/src/app/(private)/experiments/popover/dynamic-size.module.css +11 -0
  845. package/docs/src/app/(private)/experiments/popover/dynamic-size.tsx +87 -0
  846. package/docs/src/app/(private)/experiments/popover/nested-open-on-hover.module.css +179 -0
  847. package/docs/src/app/(private)/experiments/popover/nested-open-on-hover.tsx +64 -0
  848. package/docs/src/app/(private)/experiments/popover/popovers.module.css +91 -0
  849. package/docs/src/app/(private)/experiments/popover/popovers.tsx +335 -0
  850. package/docs/src/app/(private)/experiments/popover/vertical-shared.ts +3 -0
  851. package/docs/src/app/(private)/experiments/popover/vertical.module.css +411 -0
  852. package/docs/src/app/(private)/experiments/popover/vertical.tsx +207 -0
  853. package/docs/src/app/(private)/experiments/popup-tabbing.module.css +399 -0
  854. package/docs/src/app/(private)/experiments/popup-tabbing.tsx +247 -0
  855. package/docs/src/app/(private)/experiments/popups/popups-in-popups.module.css +806 -0
  856. package/docs/src/app/(private)/experiments/popups/popups-in-popups.tsx +510 -0
  857. package/docs/src/app/(private)/experiments/popups/popups-transform-origin.module.css +42 -0
  858. package/docs/src/app/(private)/experiments/popups/popups-transform-origin.tsx +77 -0
  859. package/docs/src/app/(private)/experiments/preview-card/nested.module.css +119 -0
  860. package/docs/src/app/(private)/experiments/preview-card/nested.tsx +61 -0
  861. package/docs/src/app/(private)/experiments/preview-card/triggers.module.css +156 -0
  862. package/docs/src/app/(private)/experiments/preview-card/triggers.tsx +446 -0
  863. package/docs/src/app/(private)/experiments/rtl.module.css +170 -0
  864. package/docs/src/app/(private)/experiments/rtl.tsx +187 -0
  865. package/docs/src/app/(private)/experiments/scroll-area/inside-menu.module.css +207 -0
  866. package/docs/src/app/(private)/experiments/scroll-area/inside-menu.tsx +90 -0
  867. package/docs/src/app/(private)/experiments/scroll-area/inside-select.module.css +204 -0
  868. package/docs/src/app/(private)/experiments/scroll-area/inside-select.tsx +67 -0
  869. package/docs/src/app/(private)/experiments/scroll-area/scroll-area-inset.module.css +41 -0
  870. package/docs/src/app/(private)/experiments/scroll-area/scroll-area-inset.tsx +55 -0
  871. package/docs/src/app/(private)/experiments/scroll-area/scroll-area-slight.module.css +30 -0
  872. package/docs/src/app/(private)/experiments/scroll-area/scroll-area-slight.tsx +23 -0
  873. package/docs/src/app/(private)/experiments/scroll-area/scroll-area.module.css +82 -0
  874. package/docs/src/app/(private)/experiments/scroll-area/scroll-area.tsx +25 -0
  875. package/docs/src/app/(private)/experiments/scroll-area/tabs-scroll-area.tsx +109 -0
  876. package/docs/src/app/(private)/experiments/scroll-lock.tsx +136 -0
  877. package/docs/src/app/(private)/experiments/select-perf.module.css +177 -0
  878. package/docs/src/app/(private)/experiments/select-perf.tsx +80 -0
  879. package/docs/src/app/(private)/experiments/select-rtl-align-item-with-trigger.tsx +313 -0
  880. package/docs/src/app/(private)/experiments/slider/inset.module.css +254 -0
  881. package/docs/src/app/(private)/experiments/slider/inset.tsx +150 -0
  882. package/docs/src/app/(private)/experiments/slider/slider.module.css +67 -0
  883. package/docs/src/app/(private)/experiments/slider/slider.tsx +191 -0
  884. package/docs/src/app/(private)/experiments/slider/small.module.css +83 -0
  885. package/docs/src/app/(private)/experiments/slider/vertical.module.css +64 -0
  886. package/docs/src/app/(private)/experiments/storeWithControlledValues.module.css +23 -0
  887. package/docs/src/app/(private)/experiments/storeWithControlledValues.tsx +125 -0
  888. package/docs/src/app/(private)/experiments/tabs/tabs-animations.module.css +264 -0
  889. package/docs/src/app/(private)/experiments/tabs/tabs-animations.tsx +110 -0
  890. package/docs/src/app/(private)/experiments/tabs/tabs-basic.module.css +162 -0
  891. package/docs/src/app/(private)/experiments/tabs/tabs-basic.tsx +96 -0
  892. package/docs/src/app/(private)/experiments/tabs/tabs-onValueChange.module.css +187 -0
  893. package/docs/src/app/(private)/experiments/tabs/tabs-onValueChange.tsx +260 -0
  894. package/docs/src/app/(private)/experiments/tabs/tabs-overflow.module.css +92 -0
  895. package/docs/src/app/(private)/experiments/tabs/tabs-overflow.tsx +81 -0
  896. package/docs/src/app/(private)/experiments/toast.module.css +91 -0
  897. package/docs/src/app/(private)/experiments/toast.tsx +124 -0
  898. package/docs/src/app/(private)/experiments/toggle-group.tsx +121 -0
  899. package/docs/src/app/(private)/experiments/toggle.module.css +75 -0
  900. package/docs/src/app/(private)/experiments/toolbar/_icons.tsx +223 -0
  901. package/docs/src/app/(private)/experiments/toolbar/basic.tsx +101 -0
  902. package/docs/src/app/(private)/experiments/toolbar/slider.module.css +118 -0
  903. package/docs/src/app/(private)/experiments/toolbar/text-editor.tsx +365 -0
  904. package/docs/src/app/(private)/experiments/toolbar/toolbar.module.css +302 -0
  905. package/docs/src/app/(private)/experiments/toolbar/triggers.module.css +52 -0
  906. package/docs/src/app/(private)/experiments/toolbar/triggers.tsx +371 -0
  907. package/docs/src/app/(private)/experiments/tooltip/disabled.module.css +188 -0
  908. package/docs/src/app/(private)/experiments/tooltip/disabled.tsx +72 -0
  909. package/docs/src/app/(private)/experiments/tooltip/nested.module.css +36 -0
  910. package/docs/src/app/(private)/experiments/tooltip/nested.tsx +112 -0
  911. package/docs/src/app/(private)/experiments/tooltip/prevent-open.module.css +119 -0
  912. package/docs/src/app/(private)/experiments/tooltip/prevent-open.tsx +123 -0
  913. package/docs/src/app/(private)/experiments/tooltip/tooltips.module.css +196 -0
  914. package/docs/src/app/(private)/experiments/tooltip/tooltips.tsx +406 -0
  915. package/docs/src/app/(private)/experiments/tooltip/transitions.module.css +109 -0
  916. package/docs/src/app/(private)/experiments/tooltip/transitions.tsx +217 -0
  917. package/docs/src/app/(private)/experiments/transition-attrs.module.css +296 -0
  918. package/docs/src/app/(private)/experiments/transition-attrs.tsx +253 -0
  919. package/docs/src/app/(private)/hydration-repro/index.css +4 -0
  920. package/docs/src/app/(private)/hydration-repro/page.tsx +42 -0
  921. package/docs/src/app/(private)/layout.tsx +63 -0
  922. package/docs/src/app/(private)/playground/[slug]/page.tsx +54 -0
  923. package/docs/src/app/(private)/playground/index.css +9 -0
  924. package/docs/src/app/(private)/playground/layout.tsx +5 -0
  925. package/docs/src/app/(website)/careers/design-engineer/page.tsx +213 -0
  926. package/docs/src/app/(website)/css/components/Accordion.css +60 -0
  927. package/docs/src/app/(website)/css/components/Body.css +8 -0
  928. package/docs/src/app/(website)/css/components/BulletList.css +11 -0
  929. package/docs/src/app/(website)/css/components/Figure.css +10 -0
  930. package/docs/src/app/(website)/css/components/Icon.css +7 -0
  931. package/docs/src/app/(website)/css/components/List.css +14 -0
  932. package/docs/src/app/(website)/css/components/Separator.css +8 -0
  933. package/docs/src/app/(website)/css/components/Text.css +97 -0
  934. package/docs/src/app/(website)/css/index.css +10 -0
  935. package/docs/src/app/(website)/icons/MinusIcon.tsx +19 -0
  936. package/docs/src/app/(website)/icons/PlusIcon.tsx +19 -0
  937. package/docs/src/app/(website)/layout.tsx +108 -0
  938. package/docs/src/app/(website)/logos/GitHub.tsx +9 -0
  939. package/docs/src/app/(website)/logos/HighlightAI.tsx +20 -0
  940. package/docs/src/app/(website)/logos/Interfere.tsx +22 -0
  941. package/docs/src/app/(website)/logos/Operate.tsx +12 -0
  942. package/docs/src/app/(website)/logos/Paper.tsx +12 -0
  943. package/docs/src/app/(website)/logos/Unsplash.tsx +16 -0
  944. package/docs/src/app/(website)/logos/Zed.tsx +21 -0
  945. package/docs/src/app/(website)/opengraph-image.png +0 -0
  946. package/docs/src/app/(website)/page.tsx +47 -0
  947. package/docs/src/app/global-not-found.tsx +20 -0
  948. package/docs/src/app/robots.txt +9 -0
  949. package/docs/src/app/sitemap/index.ts +12 -0
  950. package/docs/src/blocks/Demo/DemoContext.ts +25 -0
  951. package/docs/src/blocks/Demo/DemoPlayground.tsx +29 -0
  952. package/docs/src/blocks/Demo/DemoRoot.tsx +43 -0
  953. package/docs/src/blocks/Demo/DemoSourceCopy.tsx +48 -0
  954. package/docs/src/blocks/Demo/index.ts +6 -0
  955. package/docs/src/blocks/Demo/types.ts +37 -0
  956. package/docs/src/blocks/GoogleAnalyticsProvider.tsx +158 -0
  957. package/docs/src/blocks/GoogleTagManager.tsx +17 -0
  958. package/docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetCode.tsx +16 -0
  959. package/docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetProvider.tsx +59 -0
  960. package/docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetRoot.tsx +49 -0
  961. package/docs/src/blocks/PackageManagerSnippet/index.ts +2 -0
  962. package/docs/src/blocks/README.txt +1 -0
  963. package/docs/src/blocks/createCodeSandbox/CreateReactApp.ts +62 -0
  964. package/docs/src/blocks/createCodeSandbox/addHiddenInput.ts +7 -0
  965. package/docs/src/blocks/createCodeSandbox/createCodeSandbox.ts +190 -0
  966. package/docs/src/blocks/createCodeSandbox/createStackBlitzProject.ts +162 -0
  967. package/docs/src/blocks/createCodeSandbox/flattenRelativeImports.ts +10 -0
  968. package/docs/src/blocks/createCodeSandbox/packDemo.test.ts +66 -0
  969. package/docs/src/blocks/createCodeSandbox/packDemo.ts +60 -0
  970. package/docs/src/code-components.tsx +22 -0
  971. package/docs/src/components/Accordion.css +183 -0
  972. package/docs/src/components/Accordion.tsx +132 -0
  973. package/docs/src/components/Code.css +40 -0
  974. package/docs/src/components/Code.tsx +6 -0
  975. package/docs/src/components/CodeBlock/CodeBlock.css +139 -0
  976. package/docs/src/components/CodeBlock/CodeBlock.tsx +138 -0
  977. package/docs/src/components/CodeBlock/CodeBlockPreComputed.tsx +44 -0
  978. package/docs/src/components/CodeBlock/CodeBlockPreComputedContent.tsx +24 -0
  979. package/docs/src/components/CodeBlock/index.ts +1 -0
  980. package/docs/src/components/CodeBlock/rehypeEagerCodeBlocks.mjs +20 -0
  981. package/docs/src/components/Demo/Demo.css +475 -0
  982. package/docs/src/components/Demo/Demo.tsx +271 -0
  983. package/docs/src/components/Demo/DemoCodeBlock.tsx +96 -0
  984. package/docs/src/components/Demo/DemoErrorFallback.tsx +15 -0
  985. package/docs/src/components/Demo/DemoFileSelector.tsx +83 -0
  986. package/docs/src/components/Demo/DemoPlayground.tsx +24 -0
  987. package/docs/src/components/Demo/DemoVariantSelector.tsx +52 -0
  988. package/docs/src/components/DescriptionList.css +101 -0
  989. package/docs/src/components/DescriptionList.tsx +34 -0
  990. package/docs/src/components/DocsProviders.tsx +19 -0
  991. package/docs/src/components/GhostButton.css +43 -0
  992. package/docs/src/components/GhostButton.tsx +18 -0
  993. package/docs/src/components/GoogleAnalytics.tsx +32 -0
  994. package/docs/src/components/Header.css +184 -0
  995. package/docs/src/components/Header.tsx +101 -0
  996. package/docs/src/components/HeadingLink.css +34 -0
  997. package/docs/src/components/HeadingLink.tsx +7 -0
  998. package/docs/src/components/InstallationBlock/InstallationBlock.css +105 -0
  999. package/docs/src/components/InstallationBlock/InstallationBlock.tsx +73 -0
  1000. package/docs/src/components/InstallationBlock/index.ts +1 -0
  1001. package/docs/src/components/InstallationBlock/model.ts +12 -0
  1002. package/docs/src/components/Kbd/Kbd.css +47 -0
  1003. package/docs/src/components/Kbd/Kbd.tsx +7 -0
  1004. package/docs/src/components/Kbd/rehypeKbd.mjs +14 -0
  1005. package/docs/src/components/Link.css +63 -0
  1006. package/docs/src/components/Link.tsx +54 -0
  1007. package/docs/src/components/Logo.tsx +10 -0
  1008. package/docs/src/components/Menu.css +87 -0
  1009. package/docs/src/components/Menu.tsx +37 -0
  1010. package/docs/src/components/MobileNav.css +273 -0
  1011. package/docs/src/components/MobileNav.tsx +218 -0
  1012. package/docs/src/components/Popup.css +30 -0
  1013. package/docs/src/components/Popup.tsx +7 -0
  1014. package/docs/src/components/QuickNav/QuickNav.css +134 -0
  1015. package/docs/src/components/QuickNav/QuickNav.tsx +71 -0
  1016. package/docs/src/components/QuickNav/rehypeConcatHeadings.mjs +36 -0
  1017. package/docs/src/components/QuickNav/rehypeQuickNav.mjs +134 -0
  1018. package/docs/src/components/QuickNav/rehypeSlug.mjs +70 -0
  1019. package/docs/src/components/QuickNav/remarkQuickNavExcludeHeading.mjs +31 -0
  1020. package/docs/src/components/ReferenceTable/AdditionalTypes.tsx +77 -0
  1021. package/docs/src/components/ReferenceTable/AttributesReferenceTable.tsx +92 -0
  1022. package/docs/src/components/ReferenceTable/CssVariablesReferenceTable.tsx +93 -0
  1023. package/docs/src/components/ReferenceTable/MethodsReferenceAccordion.tsx +147 -0
  1024. package/docs/src/components/ReferenceTable/ParametersReferenceTable.tsx +35 -0
  1025. package/docs/src/components/ReferenceTable/PropertiesReferenceAccordion.tsx +139 -0
  1026. package/docs/src/components/ReferenceTable/ReferenceAccordion.tsx +168 -0
  1027. package/docs/src/components/ReferenceTable/ReferenceTable.css +391 -0
  1028. package/docs/src/components/ReferenceTable/ReferenceTable.tsx +264 -0
  1029. package/docs/src/components/ReleaseTimeline/ReleaseTimeline.css +219 -0
  1030. package/docs/src/components/ReleaseTimeline/ReleaseTimeline.tsx +54 -0
  1031. package/docs/src/components/ReleaseTimeline/index.tsx +1 -0
  1032. package/docs/src/components/ScrollArea.css +92 -0
  1033. package/docs/src/components/ScrollArea.tsx +21 -0
  1034. package/docs/src/components/Search/Search.css +329 -0
  1035. package/docs/src/components/Search/Search.tsx +73 -0
  1036. package/docs/src/components/Search/SearchBar.tsx +450 -0
  1037. package/docs/src/components/Search/index.ts +1 -0
  1038. package/docs/src/components/SearchTrigger.css +57 -0
  1039. package/docs/src/components/SearchTrigger.tsx +40 -0
  1040. package/docs/src/components/Select.css +91 -0
  1041. package/docs/src/components/Select.tsx +40 -0
  1042. package/docs/src/components/SideNav.css +202 -0
  1043. package/docs/src/components/SideNav.tsx +122 -0
  1044. package/docs/src/components/SkipNav.css +38 -0
  1045. package/docs/src/components/SkipNav.tsx +10 -0
  1046. package/docs/src/components/Subtitle/MarkdownLink.tsx +22 -0
  1047. package/docs/src/components/Subtitle/Subtitle.css +65 -0
  1048. package/docs/src/components/Subtitle/Subtitle.tsx +21 -0
  1049. package/docs/src/components/Subtitle/ViewSourceLink.tsx +51 -0
  1050. package/docs/src/components/Subtitle/rehypeSubtitle.mjs +19 -0
  1051. package/docs/src/components/Table.css +90 -0
  1052. package/docs/src/components/Table.tsx +61 -0
  1053. package/docs/src/components/TableCode.css +6 -0
  1054. package/docs/src/components/TableCode.tsx +10 -0
  1055. package/docs/src/components/TypePropRef/TypePropRef.css +8 -0
  1056. package/docs/src/components/TypePropRef/TypePropRef.tsx +33 -0
  1057. package/docs/src/components/TypePropRef/index.ts +1 -0
  1058. package/docs/src/components/TypeRef/TypeRef.css +87 -0
  1059. package/docs/src/components/TypeRef/TypeRef.tsx +103 -0
  1060. package/docs/src/components/TypeRef/index.ts +1 -0
  1061. package/docs/src/css/README.md +3 -0
  1062. package/docs/src/css/custom-media.css +9 -0
  1063. package/docs/src/css/fonts/index.css +41 -0
  1064. package/docs/src/css/index.css +452 -0
  1065. package/docs/src/css/mdx-components.css +110 -0
  1066. package/docs/src/css/syntax.css +299 -0
  1067. package/docs/src/css/utilities/align-items.css +13 -0
  1068. package/docs/src/css/utilities/box-sizing.css +5 -0
  1069. package/docs/src/css/utilities/display.css +87 -0
  1070. package/docs/src/css/utilities/flex-direction.css +5 -0
  1071. package/docs/src/css/utilities/flex-wrap.css +9 -0
  1072. package/docs/src/css/utilities/font-weight.css +9 -0
  1073. package/docs/src/css/utilities/gap.css +179 -0
  1074. package/docs/src/css/utilities/grid-auto-rows.css +5 -0
  1075. package/docs/src/css/utilities/grid-column-end.css +227 -0
  1076. package/docs/src/css/utilities/grid-column-start.css +247 -0
  1077. package/docs/src/css/utilities/grid-template-columns.css +107 -0
  1078. package/docs/src/css/utilities/height.css +5 -0
  1079. package/docs/src/css/utilities/index.css +25 -0
  1080. package/docs/src/css/utilities/justify-content.css +17 -0
  1081. package/docs/src/css/utilities/left.css +5 -0
  1082. package/docs/src/css/utilities/margin.css +25 -0
  1083. package/docs/src/css/utilities/outline.css +5 -0
  1084. package/docs/src/css/utilities/padding.css +211 -0
  1085. package/docs/src/css/utilities/position.css +5 -0
  1086. package/docs/src/css/utilities/scroll-margin-top.css +5 -0
  1087. package/docs/src/css/utilities/text-align.css +13 -0
  1088. package/docs/src/css/utilities/top.css +5 -0
  1089. package/docs/src/css/utilities/visibility.css +5 -0
  1090. package/docs/src/css/utilities/visually-hidden.css +13 -0
  1091. package/docs/src/css/utilities/white-space.css +5 -0
  1092. package/docs/src/css/utilities/width.css +9 -0
  1093. package/docs/src/data/releases.ts +283 -0
  1094. package/docs/src/demo-data/theme/css-modules/theme.css +33 -0
  1095. package/docs/src/error-codes.json +99 -0
  1096. package/docs/src/icons/ArrowRightIcon.tsx +15 -0
  1097. package/docs/src/icons/CaretSortIcon.tsx +9 -0
  1098. package/docs/src/icons/CheckIcon.tsx +9 -0
  1099. package/docs/src/icons/CopyIcon.tsx +9 -0
  1100. package/docs/src/icons/ExternalLinkIcon.tsx +10 -0
  1101. package/docs/src/icons/GitHubIcon.tsx +9 -0
  1102. package/docs/src/icons/MagnifyingGlassIcon.tsx +19 -0
  1103. package/docs/src/icons/MarkdownIcon.tsx +12 -0
  1104. package/docs/src/icons/MoreVertIcon.tsx +9 -0
  1105. package/docs/src/icons/NpmIcon.tsx +11 -0
  1106. package/docs/src/mdx/createHast.mjs +10 -0
  1107. package/docs/src/mdx/createMdxComponent.ts +14 -0
  1108. package/docs/src/mdx/createMdxElement.mjs +58 -0
  1109. package/docs/src/mdx-components.tsx +89 -0
  1110. package/docs/src/utils/camelToSentenceCase.ts +14 -0
  1111. package/docs/src/utils/createDemo.ts +29 -0
  1112. package/docs/src/utils/createTypes.tsx +55 -0
  1113. package/docs/src/utils/demoExportOptions.test.ts +201 -0
  1114. package/docs/src/utils/demoExportOptions.ts +751 -0
  1115. package/docs/src/utils/getGitHubDemoUrl.test.ts +58 -0
  1116. package/docs/src/utils/getGitHubDemoUrl.ts +43 -0
  1117. package/docs/src/utils/observeScrollableInner.ts +36 -0
  1118. package/docs/src/utils/typeOrder.mjs +209 -0
  1119. package/docs/tsconfig.json +47 -0
  1120. package/docs/types.d.ts +18 -0
  1121. package/docs/vitest.config.mts +19 -0
  1122. package/eslint.config.mjs +201 -0
  1123. package/examples/tanstack-start-tailwind-css/.devcontainer/devcontainer.json +4 -0
  1124. package/examples/tanstack-start-tailwind-css/.prettierignore +4 -0
  1125. package/examples/tanstack-start-tailwind-css/.vscode/settings.json +11 -0
  1126. package/examples/tanstack-start-tailwind-css/README.md +57 -0
  1127. package/examples/tanstack-start-tailwind-css/eslint.config.js +13 -0
  1128. package/examples/tanstack-start-tailwind-css/package.json +40 -0
  1129. package/examples/tanstack-start-tailwind-css/prettier.config.js +14 -0
  1130. package/examples/tanstack-start-tailwind-css/public/favicon.ico +0 -0
  1131. package/examples/tanstack-start-tailwind-css/public/logo192.png +0 -0
  1132. package/examples/tanstack-start-tailwind-css/public/logo512.png +0 -0
  1133. package/examples/tanstack-start-tailwind-css/public/manifest.json +25 -0
  1134. package/examples/tanstack-start-tailwind-css/public/robots.txt +3 -0
  1135. package/examples/tanstack-start-tailwind-css/public/tanstack-circle-logo.png +0 -0
  1136. package/examples/tanstack-start-tailwind-css/src/components/button.tsx +15 -0
  1137. package/examples/tanstack-start-tailwind-css/src/components/combobox.tsx +120 -0
  1138. package/examples/tanstack-start-tailwind-css/src/components/dialog.tsx +67 -0
  1139. package/examples/tanstack-start-tailwind-css/src/components/input.tsx +21 -0
  1140. package/examples/tanstack-start-tailwind-css/src/components/link.tsx +19 -0
  1141. package/examples/tanstack-start-tailwind-css/src/components/menu.tsx +109 -0
  1142. package/examples/tanstack-start-tailwind-css/src/components/navigation-menu.tsx +177 -0
  1143. package/examples/tanstack-start-tailwind-css/src/components/popover.tsx +78 -0
  1144. package/examples/tanstack-start-tailwind-css/src/components/toggle.tsx +21 -0
  1145. package/examples/tanstack-start-tailwind-css/src/routeTree.gen.ts +86 -0
  1146. package/examples/tanstack-start-tailwind-css/src/router.tsx +16 -0
  1147. package/examples/tanstack-start-tailwind-css/src/routes/__root.tsx +59 -0
  1148. package/examples/tanstack-start-tailwind-css/src/routes/combobox-server-fn.tsx +91 -0
  1149. package/examples/tanstack-start-tailwind-css/src/routes/index.tsx +153 -0
  1150. package/examples/tanstack-start-tailwind-css/src/styles.css +17 -0
  1151. package/examples/tanstack-start-tailwind-css/tsconfig.json +29 -0
  1152. package/examples/tanstack-start-tailwind-css/vite.config.ts +14 -0
  1153. package/examples/vite-css/README.md +46 -0
  1154. package/examples/vite-css/eslint.config.js +25 -0
  1155. package/examples/vite-css/index.html +14 -0
  1156. package/examples/vite-css/package.json +30 -0
  1157. package/examples/vite-css/src/App.css +52 -0
  1158. package/examples/vite-css/src/App.tsx +39 -0
  1159. package/examples/vite-css/src/assets/base-ui.svg +5 -0
  1160. package/examples/vite-css/src/assets/react.svg +1 -0
  1161. package/examples/vite-css/src/assets/vite.svg +1 -0
  1162. package/examples/vite-css/src/index.css +105 -0
  1163. package/examples/vite-css/src/main.tsx +10 -0
  1164. package/examples/vite-css/src/vite-env.d.ts +1 -0
  1165. package/examples/vite-css/src/widgets/Switch.module.css +89 -0
  1166. package/examples/vite-css/src/widgets/Switch.tsx +13 -0
  1167. package/examples/vite-css/tsconfig.app.json +27 -0
  1168. package/examples/vite-css/tsconfig.json +4 -0
  1169. package/examples/vite-css/tsconfig.node.json +25 -0
  1170. package/examples/vite-css/vite.config.ts +7 -0
  1171. package/greptile.json +3 -0
  1172. package/lerna.json +5 -0
  1173. package/my_docs/vanilla-extract-setup.md +82 -0
  1174. package/netlify/functions/deploy-succeeded.js +41 -0
  1175. package/netlify.toml +13 -0
  1176. package/nx.json +10 -0
  1177. package/package.json +118 -0
  1178. package/packages/react/README.md +47 -0
  1179. package/packages/react/package.json +173 -0
  1180. package/packages/react/scripts/stagePublishedDocs.mjs +29 -0
  1181. package/packages/react/src/accordion/header/AccordionHeader.test.tsx +16 -0
  1182. package/packages/react/src/accordion/header/AccordionHeader.tsx +40 -0
  1183. package/packages/react/src/accordion/header/AccordionHeaderDataAttributes.ts +15 -0
  1184. package/packages/react/src/accordion/index.parts.ts +5 -0
  1185. package/packages/react/src/accordion/index.ts +7 -0
  1186. package/packages/react/src/accordion/item/AccordionItem.test.tsx +45 -0
  1187. package/packages/react/src/accordion/item/AccordionItem.tsx +199 -0
  1188. package/packages/react/src/accordion/item/AccordionItemContext.ts +24 -0
  1189. package/packages/react/src/accordion/item/AccordionItemDataAttributes.ts +15 -0
  1190. package/packages/react/src/accordion/item/stateAttributesMapping.ts +14 -0
  1191. package/packages/react/src/accordion/panel/AccordionPanel.test.tsx +253 -0
  1192. package/packages/react/src/accordion/panel/AccordionPanel.tsx +158 -0
  1193. package/packages/react/src/accordion/panel/AccordionPanelCssVars.ts +12 -0
  1194. package/packages/react/src/accordion/panel/AccordionPanelDataAttributes.ts +29 -0
  1195. package/packages/react/src/accordion/root/AccordionRoot.spec.tsx +63 -0
  1196. package/packages/react/src/accordion/root/AccordionRoot.test.tsx +865 -0
  1197. package/packages/react/src/accordion/root/AccordionRoot.tsx +251 -0
  1198. package/packages/react/src/accordion/root/AccordionRootContext.ts +30 -0
  1199. package/packages/react/src/accordion/root/AccordionRootDataAttributes.ts +10 -0
  1200. package/packages/react/src/accordion/trigger/AccordionTrigger.test.tsx +38 -0
  1201. package/packages/react/src/accordion/trigger/AccordionTrigger.tsx +79 -0
  1202. package/packages/react/src/accordion/trigger/AccordionTriggerDataAttributes.ts +10 -0
  1203. package/packages/react/src/alert-dialog/handle.ts +32 -0
  1204. package/packages/react/src/alert-dialog/index.parts.ts +10 -0
  1205. package/packages/react/src/alert-dialog/index.ts +33 -0
  1206. package/packages/react/src/alert-dialog/root/AlertDialogRoot.spec.tsx +42 -0
  1207. package/packages/react/src/alert-dialog/root/AlertDialogRoot.test.tsx +1144 -0
  1208. package/packages/react/src/alert-dialog/root/AlertDialogRoot.tsx +59 -0
  1209. package/packages/react/src/alert-dialog/trigger/AlertDialogTrigger.tsx +38 -0
  1210. package/packages/react/src/alert-dialog/trigger/AlertDialogTriggerDataAttributes.ts +12 -0
  1211. package/packages/react/src/autocomplete/clear/AutocompleteClearDataAttributes.ts +1 -0
  1212. package/packages/react/src/autocomplete/index.parts.ts +25 -0
  1213. package/packages/react/src/autocomplete/index.ts +73 -0
  1214. package/packages/react/src/autocomplete/input-group/AutocompleteInputGroup.tsx +53 -0
  1215. package/packages/react/src/autocomplete/input-group/AutocompleteInputGroupDataAttributes.ts +51 -0
  1216. package/packages/react/src/autocomplete/item/AutocompleteItem.test.tsx +101 -0
  1217. package/packages/react/src/autocomplete/item/AutocompleteItem.tsx +56 -0
  1218. package/packages/react/src/autocomplete/item/AutocompleteItemDataAttributes.ts +12 -0
  1219. package/packages/react/src/autocomplete/root/AutocompleteRoot.spec.tsx +117 -0
  1220. package/packages/react/src/autocomplete/root/AutocompleteRoot.test.tsx +2158 -0
  1221. package/packages/react/src/autocomplete/root/AutocompleteRoot.tsx +285 -0
  1222. package/packages/react/src/autocomplete/trigger/AutocompleteTrigger.tsx +53 -0
  1223. package/packages/react/src/autocomplete/trigger/AutocompleteTriggerDataAttributes.ts +57 -0
  1224. package/packages/react/src/autocomplete/value/AutocompleteValue.test.tsx +97 -0
  1225. package/packages/react/src/autocomplete/value/AutocompleteValue.tsx +37 -0
  1226. package/packages/react/src/avatar/Avatar.spec.tsx +31 -0
  1227. package/packages/react/src/avatar/fallback/AvatarFallback.test.tsx +271 -0
  1228. package/packages/react/src/avatar/fallback/AvatarFallback.tsx +64 -0
  1229. package/packages/react/src/avatar/image/AvatarImage.test.tsx +383 -0
  1230. package/packages/react/src/avatar/image/AvatarImage.tsx +108 -0
  1231. package/packages/react/src/avatar/image/AvatarImageDataAttributes.ts +12 -0
  1232. package/packages/react/src/avatar/image/useImageLoadingStatus.ts +65 -0
  1233. package/packages/react/src/avatar/index.parts.ts +3 -0
  1234. package/packages/react/src/avatar/index.ts +5 -0
  1235. package/packages/react/src/avatar/root/AvatarRoot.test.tsx +11 -0
  1236. package/packages/react/src/avatar/root/AvatarRoot.tsx +58 -0
  1237. package/packages/react/src/avatar/root/AvatarRootContext.ts +20 -0
  1238. package/packages/react/src/avatar/root/stateAttributesMapping.ts +3 -0
  1239. package/packages/react/src/button/Button.css.ts +170 -0
  1240. package/packages/react/src/button/Button.spec.tsx +10 -0
  1241. package/packages/react/src/button/Button.test.tsx +198 -0
  1242. package/packages/react/src/button/Button.tsx +140 -0
  1243. package/packages/react/src/button/ButtonDataAttributes.tsx +6 -0
  1244. package/packages/react/src/button/index.ts +3 -0
  1245. package/packages/react/src/checkbox/index.parts.ts +2 -0
  1246. package/packages/react/src/checkbox/index.ts +4 -0
  1247. package/packages/react/src/checkbox/indicator/CheckboxIndicator.test.tsx +293 -0
  1248. package/packages/react/src/checkbox/indicator/CheckboxIndicator.tsx +94 -0
  1249. package/packages/react/src/checkbox/indicator/CheckboxIndicatorDataAttributes.ts +60 -0
  1250. package/packages/react/src/checkbox/root/Checkbox.css.ts +76 -0
  1251. package/packages/react/src/checkbox/root/CheckboxRoot.test.tsx +1512 -0
  1252. package/packages/react/src/checkbox/root/CheckboxRoot.tsx +557 -0
  1253. package/packages/react/src/checkbox/root/CheckboxRootContext.ts +18 -0
  1254. package/packages/react/src/checkbox/root/CheckboxRootDataAttributes.ts +50 -0
  1255. package/packages/react/src/checkbox/utils/useStateAttributesMapping.ts +31 -0
  1256. package/packages/react/src/checkbox-group/CheckboxGroup.test.tsx +1027 -0
  1257. package/packages/react/src/checkbox-group/CheckboxGroup.tsx +207 -0
  1258. package/packages/react/src/checkbox-group/CheckboxGroupContext.ts +37 -0
  1259. package/packages/react/src/checkbox-group/CheckboxGroupDataAttributes.ts +6 -0
  1260. package/packages/react/src/checkbox-group/index.ts +2 -0
  1261. package/packages/react/src/checkbox-group/useCheckboxGroupParent.test.tsx +404 -0
  1262. package/packages/react/src/checkbox-group/useCheckboxGroupParent.ts +151 -0
  1263. package/packages/react/src/collapsible/index.parts.ts +3 -0
  1264. package/packages/react/src/collapsible/index.ts +5 -0
  1265. package/packages/react/src/collapsible/panel/CollapsiblePanel.test.tsx +1190 -0
  1266. package/packages/react/src/collapsible/panel/CollapsiblePanel.tsx +163 -0
  1267. package/packages/react/src/collapsible/panel/CollapsiblePanelCssVars.ts +12 -0
  1268. package/packages/react/src/collapsible/panel/CollapsiblePanelDataAttributes.ts +20 -0
  1269. package/packages/react/src/collapsible/panel/useCollapsiblePanel.ts +555 -0
  1270. package/packages/react/src/collapsible/root/CollapsibleRoot.spec.tsx +45 -0
  1271. package/packages/react/src/collapsible/root/CollapsibleRoot.test.tsx +384 -0
  1272. package/packages/react/src/collapsible/root/CollapsibleRoot.tsx +115 -0
  1273. package/packages/react/src/collapsible/root/CollapsibleRootContext.ts +24 -0
  1274. package/packages/react/src/collapsible/root/stateAttributesMapping.ts +9 -0
  1275. package/packages/react/src/collapsible/root/useCollapsibleRoot.ts +116 -0
  1276. package/packages/react/src/collapsible/trigger/CollapsibleTrigger.test.tsx +32 -0
  1277. package/packages/react/src/collapsible/trigger/CollapsibleTrigger.tsx +76 -0
  1278. package/packages/react/src/collapsible/trigger/CollapsibleTriggerDataAttributes.ts +6 -0
  1279. package/packages/react/src/combobox/arrow/ComboboxArrow.test.tsx +19 -0
  1280. package/packages/react/src/combobox/arrow/ComboboxArrow.tsx +72 -0
  1281. package/packages/react/src/combobox/arrow/ComboboxArrowDataAttributes.ts +26 -0
  1282. package/packages/react/src/combobox/backdrop/ComboboxBackdrop.test.tsx +17 -0
  1283. package/packages/react/src/combobox/backdrop/ComboboxBackdrop.tsx +75 -0
  1284. package/packages/react/src/combobox/backdrop/ComboboxBackdropDataAttributes.ts +20 -0
  1285. package/packages/react/src/combobox/chip/ComboboxChip.test.tsx +447 -0
  1286. package/packages/react/src/combobox/chip/ComboboxChip.tsx +152 -0
  1287. package/packages/react/src/combobox/chip/ComboboxChipContext.ts +18 -0
  1288. package/packages/react/src/combobox/chip-remove/ComboboxChipRemove.test.tsx +305 -0
  1289. package/packages/react/src/combobox/chip-remove/ComboboxChipRemove.tsx +146 -0
  1290. package/packages/react/src/combobox/chips/ComboboxChips.test.tsx +246 -0
  1291. package/packages/react/src/combobox/chips/ComboboxChips.tsx +78 -0
  1292. package/packages/react/src/combobox/chips/ComboboxChipsContext.ts +16 -0
  1293. package/packages/react/src/combobox/clear/ComboboxClear.test.tsx +252 -0
  1294. package/packages/react/src/combobox/clear/ComboboxClear.tsx +183 -0
  1295. package/packages/react/src/combobox/clear/ComboboxClearDataAttributes.ts +27 -0
  1296. package/packages/react/src/combobox/collection/ComboboxCollection.test.tsx +35 -0
  1297. package/packages/react/src/combobox/collection/ComboboxCollection.tsx +38 -0
  1298. package/packages/react/src/combobox/collection/GroupCollectionContext.tsx +31 -0
  1299. package/packages/react/src/combobox/empty/ComboboxEmpty.test.tsx +214 -0
  1300. package/packages/react/src/combobox/empty/ComboboxEmpty.tsx +56 -0
  1301. package/packages/react/src/combobox/group/ComboboxGroup.test.tsx +54 -0
  1302. package/packages/react/src/combobox/group/ComboboxGroup.tsx +66 -0
  1303. package/packages/react/src/combobox/group/ComboboxGroupContext.ts +26 -0
  1304. package/packages/react/src/combobox/group-label/ComboboxGroupLabel.test.tsx +60 -0
  1305. package/packages/react/src/combobox/group-label/ComboboxGroupLabel.tsx +50 -0
  1306. package/packages/react/src/combobox/icon/ComboboxIcon.test.tsx +13 -0
  1307. package/packages/react/src/combobox/icon/ComboboxIcon.tsx +39 -0
  1308. package/packages/react/src/combobox/index.parts.ts +30 -0
  1309. package/packages/react/src/combobox/index.ts +32 -0
  1310. package/packages/react/src/combobox/input/ComboboxInput.test.tsx +682 -0
  1311. package/packages/react/src/combobox/input/ComboboxInput.tsx +552 -0
  1312. package/packages/react/src/combobox/input/ComboboxInputDataAttributes.ts +57 -0
  1313. package/packages/react/src/combobox/input-group/ComboboxInputGroup.test.tsx +206 -0
  1314. package/packages/react/src/combobox/input-group/ComboboxInputGroup.tsx +116 -0
  1315. package/packages/react/src/combobox/input-group/ComboboxInputGroupDataAttributes.ts +55 -0
  1316. package/packages/react/src/combobox/item/ComboboxItem.test.tsx +519 -0
  1317. package/packages/react/src/combobox/item/ComboboxItem.tsx +328 -0
  1318. package/packages/react/src/combobox/item/ComboboxItemContext.ts +19 -0
  1319. package/packages/react/src/combobox/item/ComboboxItemDataAttributes.ts +14 -0
  1320. package/packages/react/src/combobox/item-indicator/ComboboxItemIndicator.test.tsx +17 -0
  1321. package/packages/react/src/combobox/item-indicator/ComboboxItemIndicator.tsx +107 -0
  1322. package/packages/react/src/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.ts +12 -0
  1323. package/packages/react/src/combobox/label/ComboboxLabel.test.tsx +25 -0
  1324. package/packages/react/src/combobox/label/ComboboxLabel.tsx +83 -0
  1325. package/packages/react/src/combobox/list/ComboboxList.test.tsx +34 -0
  1326. package/packages/react/src/combobox/list/ComboboxList.tsx +149 -0
  1327. package/packages/react/src/combobox/popup/ComboboxPopup.test.tsx +74 -0
  1328. package/packages/react/src/combobox/popup/ComboboxPopup.tsx +214 -0
  1329. package/packages/react/src/combobox/popup/ComboboxPopupDataAttributes.ts +39 -0
  1330. package/packages/react/src/combobox/portal/ComboboxPortal.test.tsx +14 -0
  1331. package/packages/react/src/combobox/portal/ComboboxPortal.tsx +52 -0
  1332. package/packages/react/src/combobox/portal/ComboboxPortalContext.tsx +12 -0
  1333. package/packages/react/src/combobox/positioner/ComboboxPositioner.test.tsx +144 -0
  1334. package/packages/react/src/combobox/positioner/ComboboxPositioner.tsx +171 -0
  1335. package/packages/react/src/combobox/positioner/ComboboxPositionerContext.tsx +30 -0
  1336. package/packages/react/src/combobox/positioner/ComboboxPositionerCssVars.ts +27 -0
  1337. package/packages/react/src/combobox/positioner/ComboboxPositionerDataAttributes.ts +30 -0
  1338. package/packages/react/src/combobox/root/AriaCombobox.tsx +1687 -0
  1339. package/packages/react/src/combobox/root/ComboboxRoot.spec.tsx +279 -0
  1340. package/packages/react/src/combobox/root/ComboboxRoot.test.tsx +7788 -0
  1341. package/packages/react/src/combobox/root/ComboboxRoot.tsx +176 -0
  1342. package/packages/react/src/combobox/root/ComboboxRootContext.tsx +62 -0
  1343. package/packages/react/src/combobox/root/utils/constants.ts +5 -0
  1344. package/packages/react/src/combobox/root/utils/index.ts +65 -0
  1345. package/packages/react/src/combobox/root/utils/useFilter.ts +55 -0
  1346. package/packages/react/src/combobox/root/utils/useFilteredItems.ts +9 -0
  1347. package/packages/react/src/combobox/row/ComboboxRow.tsx +35 -0
  1348. package/packages/react/src/combobox/row/ComboboxRowContext.ts +8 -0
  1349. package/packages/react/src/combobox/status/ComboboxStatus.iOS.test.tsx +49 -0
  1350. package/packages/react/src/combobox/status/ComboboxStatus.test.tsx +124 -0
  1351. package/packages/react/src/combobox/status/ComboboxStatus.tsx +47 -0
  1352. package/packages/react/src/combobox/store.ts +180 -0
  1353. package/packages/react/src/combobox/trigger/ComboboxTrigger.test.tsx +785 -0
  1354. package/packages/react/src/combobox/trigger/ComboboxTrigger.tsx +327 -0
  1355. package/packages/react/src/combobox/trigger/ComboboxTriggerDataAttributes.ts +61 -0
  1356. package/packages/react/src/combobox/utils/ComboboxInternalDismissButton.tsx +46 -0
  1357. package/packages/react/src/combobox/utils/handleInputPress.ts +39 -0
  1358. package/packages/react/src/combobox/utils/stateAttributesMapping.ts +17 -0
  1359. package/packages/react/src/combobox/utils/useInitialLiveRegionTextMutation.ts +65 -0
  1360. package/packages/react/src/combobox/value/ComboboxValue.test.tsx +900 -0
  1361. package/packages/react/src/combobox/value/ComboboxValue.tsx +58 -0
  1362. package/packages/react/src/context-menu/index.parts.ts +21 -0
  1363. package/packages/react/src/context-menu/index.ts +69 -0
  1364. package/packages/react/src/context-menu/root/ContextMenuRoot.non-mac.test.tsx +76 -0
  1365. package/packages/react/src/context-menu/root/ContextMenuRoot.test.tsx +283 -0
  1366. package/packages/react/src/context-menu/root/ContextMenuRoot.tsx +80 -0
  1367. package/packages/react/src/context-menu/root/ContextMenuRootContext.ts +33 -0
  1368. package/packages/react/src/context-menu/trigger/ContextMenuTrigger.test.tsx +343 -0
  1369. package/packages/react/src/context-menu/trigger/ContextMenuTrigger.tsx +218 -0
  1370. package/packages/react/src/context-menu/trigger/ContextMenuTriggerDataAttributes.ts +12 -0
  1371. package/packages/react/src/csp-provider/CSPProvider.test.tsx +76 -0
  1372. package/packages/react/src/csp-provider/CSPProvider.tsx +43 -0
  1373. package/packages/react/src/csp-provider/index.parts.ts +1 -0
  1374. package/packages/react/src/csp-provider/index.ts +3 -0
  1375. package/packages/react/src/dialog/backdrop/DialogBackdrop.test.tsx +149 -0
  1376. package/packages/react/src/dialog/backdrop/DialogBackdrop.tsx +81 -0
  1377. package/packages/react/src/dialog/backdrop/DialogBackdropDataAttributes.ts +20 -0
  1378. package/packages/react/src/dialog/close/DialogClose.test.tsx +117 -0
  1379. package/packages/react/src/dialog/close/DialogClose.tsx +65 -0
  1380. package/packages/react/src/dialog/close/DialogCloseDataAttributes.ts +6 -0
  1381. package/packages/react/src/dialog/description/DialogDescription.test.tsx +19 -0
  1382. package/packages/react/src/dialog/description/DialogDescription.tsx +39 -0
  1383. package/packages/react/src/dialog/index.parts.ts +10 -0
  1384. package/packages/react/src/dialog/index.ts +11 -0
  1385. package/packages/react/src/dialog/popup/DialogPopup.test.tsx +987 -0
  1386. package/packages/react/src/dialog/popup/DialogPopup.tsx +181 -0
  1387. package/packages/react/src/dialog/popup/DialogPopupCssVars.ts +7 -0
  1388. package/packages/react/src/dialog/popup/DialogPopupDataAttributes.ts +28 -0
  1389. package/packages/react/src/dialog/portal/DialogPortal.test.tsx +56 -0
  1390. package/packages/react/src/dialog/portal/DialogPortal.tsx +61 -0
  1391. package/packages/react/src/dialog/portal/DialogPortalContext.ts +12 -0
  1392. package/packages/react/src/dialog/root/DialogRoot.detached-triggers.test.tsx +791 -0
  1393. package/packages/react/src/dialog/root/DialogRoot.spec.tsx +28 -0
  1394. package/packages/react/src/dialog/root/DialogRoot.test.tsx +1718 -0
  1395. package/packages/react/src/dialog/root/DialogRoot.tsx +116 -0
  1396. package/packages/react/src/dialog/root/DialogRootContext.ts +25 -0
  1397. package/packages/react/src/dialog/root/useDialogRoot.ts +152 -0
  1398. package/packages/react/src/dialog/root/useRenderDialogRoot.tsx +93 -0
  1399. package/packages/react/src/dialog/store/DialogHandle.ts +83 -0
  1400. package/packages/react/src/dialog/store/DialogStore.ts +145 -0
  1401. package/packages/react/src/dialog/title/DialogTitle.test.tsx +19 -0
  1402. package/packages/react/src/dialog/title/DialogTitle.tsx +39 -0
  1403. package/packages/react/src/dialog/trigger/DialogTrigger.test.tsx +72 -0
  1404. package/packages/react/src/dialog/trigger/DialogTrigger.tsx +140 -0
  1405. package/packages/react/src/dialog/trigger/DialogTriggerDataAttributes.ts +12 -0
  1406. package/packages/react/src/dialog/viewport/DialogViewport.test.tsx +66 -0
  1407. package/packages/react/src/dialog/viewport/DialogViewport.tsx +101 -0
  1408. package/packages/react/src/dialog/viewport/DialogViewportDataAttributes.ts +28 -0
  1409. package/packages/react/src/direction-provider/DirectionProvider.spec.tsx +28 -0
  1410. package/packages/react/src/direction-provider/DirectionProvider.test.tsx +42 -0
  1411. package/packages/react/src/direction-provider/DirectionProvider.tsx +37 -0
  1412. package/packages/react/src/direction-provider/index.parts.ts +5 -0
  1413. package/packages/react/src/direction-provider/index.ts +2 -0
  1414. package/packages/react/src/drawer/backdrop/DrawerBackdrop.tsx +86 -0
  1415. package/packages/react/src/drawer/backdrop/DrawerBackdropCssVars.ts +7 -0
  1416. package/packages/react/src/drawer/backdrop/DrawerBackdropDataAttributes.ts +20 -0
  1417. package/packages/react/src/drawer/close/DrawerClose.tsx +31 -0
  1418. package/packages/react/src/drawer/content/DrawerContent.test.tsx +40 -0
  1419. package/packages/react/src/drawer/content/DrawerContent.tsx +35 -0
  1420. package/packages/react/src/drawer/content/DrawerContentDataAttributes.ts +1 -0
  1421. package/packages/react/src/drawer/description/DrawerDescription.tsx +25 -0
  1422. package/packages/react/src/drawer/indent/DrawerIndent.test.tsx +40 -0
  1423. package/packages/react/src/drawer/indent/DrawerIndent.tsx +102 -0
  1424. package/packages/react/src/drawer/indent-background/DrawerIndentBackground.test.tsx +39 -0
  1425. package/packages/react/src/drawer/indent-background/DrawerIndentBackground.tsx +59 -0
  1426. package/packages/react/src/drawer/index.parts.ts +19 -0
  1427. package/packages/react/src/drawer/index.ts +17 -0
  1428. package/packages/react/src/drawer/popup/DrawerPopup.test.tsx +586 -0
  1429. package/packages/react/src/drawer/popup/DrawerPopup.tsx +481 -0
  1430. package/packages/react/src/drawer/popup/DrawerPopupCssVars.ts +37 -0
  1431. package/packages/react/src/drawer/popup/DrawerPopupDataAttributes.ts +45 -0
  1432. package/packages/react/src/drawer/portal/DrawerPortal.tsx +38 -0
  1433. package/packages/react/src/drawer/provider/DrawerProvider.tsx +129 -0
  1434. package/packages/react/src/drawer/provider/DrawerProviderContext.ts +36 -0
  1435. package/packages/react/src/drawer/root/DrawerRoot.spec.tsx +39 -0
  1436. package/packages/react/src/drawer/root/DrawerRoot.test.tsx +1263 -0
  1437. package/packages/react/src/drawer/root/DrawerRoot.tsx +483 -0
  1438. package/packages/react/src/drawer/root/DrawerRootContext.ts +111 -0
  1439. package/packages/react/src/drawer/root/useDrawerSnapPoints.test.ts +18 -0
  1440. package/packages/react/src/drawer/root/useDrawerSnapPoints.ts +205 -0
  1441. package/packages/react/src/drawer/swipe-area/DrawerSwipeArea.test.tsx +522 -0
  1442. package/packages/react/src/drawer/swipe-area/DrawerSwipeArea.tsx +488 -0
  1443. package/packages/react/src/drawer/swipe-area/DrawerSwipeAreaDataAttributes.ts +25 -0
  1444. package/packages/react/src/drawer/title/DrawerTitle.tsx +25 -0
  1445. package/packages/react/src/drawer/trigger/DrawerTrigger.tsx +53 -0
  1446. package/packages/react/src/drawer/viewport/DrawerViewport.test.tsx +2524 -0
  1447. package/packages/react/src/drawer/viewport/DrawerViewport.tsx +1405 -0
  1448. package/packages/react/src/drawer/viewport/DrawerViewportContext.tsx +25 -0
  1449. package/packages/react/src/drawer/viewport/DrawerViewportCssVars.ts +8 -0
  1450. package/packages/react/src/drawer/viewport/DrawerViewportDataAttributes.ts +24 -0
  1451. package/packages/react/src/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardContext.tsx +19 -0
  1452. package/packages/react/src/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.test.tsx +2053 -0
  1453. package/packages/react/src/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.tsx +644 -0
  1454. package/packages/react/src/field/control/FieldControl.spec.tsx +7 -0
  1455. package/packages/react/src/field/control/FieldControl.test.tsx +104 -0
  1456. package/packages/react/src/field/control/FieldControl.tsx +179 -0
  1457. package/packages/react/src/field/control/FieldControlDataAttributes.ts +30 -0
  1458. package/packages/react/src/field/description/FieldDescription.test.tsx +54 -0
  1459. package/packages/react/src/field/description/FieldDescription.tsx +65 -0
  1460. package/packages/react/src/field/description/FieldDescriptionDataAttributes.ts +30 -0
  1461. package/packages/react/src/field/error/FieldError.test.tsx +393 -0
  1462. package/packages/react/src/field/error/FieldError.tsx +158 -0
  1463. package/packages/react/src/field/error/FieldErrorDataAttributes.ts +40 -0
  1464. package/packages/react/src/field/index.parts.ts +9 -0
  1465. package/packages/react/src/field/index.ts +9 -0
  1466. package/packages/react/src/field/item/FieldItem.test.tsx +84 -0
  1467. package/packages/react/src/field/item/FieldItem.tsx +69 -0
  1468. package/packages/react/src/field/item/FieldItemContext.ts +14 -0
  1469. package/packages/react/src/field/item/FieldItemDataAttributes.ts +30 -0
  1470. package/packages/react/src/field/label/FieldLabel.test.tsx +128 -0
  1471. package/packages/react/src/field/label/FieldLabel.tsx +104 -0
  1472. package/packages/react/src/field/label/FieldLabelDataAttributes.ts +30 -0
  1473. package/packages/react/src/field/root/FieldRoot.test.tsx +1688 -0
  1474. package/packages/react/src/field/root/FieldRoot.tsx +344 -0
  1475. package/packages/react/src/field/root/FieldRootDataAttributes.ts +30 -0
  1476. package/packages/react/src/field/root/useFieldValidation.ts +363 -0
  1477. package/packages/react/src/field/utils/getCombinedFieldValidityData.ts +18 -0
  1478. package/packages/react/src/field/validity/FieldValidity.test.tsx +104 -0
  1479. package/packages/react/src/field/validity/FieldValidity.tsx +66 -0
  1480. package/packages/react/src/fieldset/index.parts.ts +2 -0
  1481. package/packages/react/src/fieldset/index.ts +4 -0
  1482. package/packages/react/src/fieldset/legend/FieldsetLegend.test.tsx +79 -0
  1483. package/packages/react/src/fieldset/legend/FieldsetLegend.tsx +57 -0
  1484. package/packages/react/src/fieldset/root/FieldsetRoot.test.tsx +66 -0
  1485. package/packages/react/src/fieldset/root/FieldsetRoot.tsx +72 -0
  1486. package/packages/react/src/fieldset/root/FieldsetRootContext.ts +22 -0
  1487. package/packages/react/src/floating-ui-react/components/FloatingDelayGroup.test.tsx +344 -0
  1488. package/packages/react/src/floating-ui-react/components/FloatingDelayGroup.tsx +286 -0
  1489. package/packages/react/src/floating-ui-react/components/FloatingFocusManager.test.tsx +2325 -0
  1490. package/packages/react/src/floating-ui-react/components/FloatingFocusManager.tsx +991 -0
  1491. package/packages/react/src/floating-ui-react/components/FloatingPortal.test.tsx +153 -0
  1492. package/packages/react/src/floating-ui-react/components/FloatingPortal.tsx +307 -0
  1493. package/packages/react/src/floating-ui-react/components/FloatingRootStore.ts +140 -0
  1494. package/packages/react/src/floating-ui-react/components/FloatingTree.tsx +95 -0
  1495. package/packages/react/src/floating-ui-react/components/FloatingTreeStore.ts +23 -0
  1496. package/packages/react/src/floating-ui-react/hooks/gridNavigation.ts +50 -0
  1497. package/packages/react/src/floating-ui-react/hooks/useClick.test.tsx +298 -0
  1498. package/packages/react/src/floating-ui-react/hooks/useClick.ts +226 -0
  1499. package/packages/react/src/floating-ui-react/hooks/useClientPoint.test.tsx +505 -0
  1500. package/packages/react/src/floating-ui-react/hooks/useClientPoint.ts +260 -0
  1501. package/packages/react/src/floating-ui-react/hooks/useDismiss.test.tsx +1217 -0
  1502. package/packages/react/src/floating-ui-react/hooks/useDismiss.ts +754 -0
  1503. package/packages/react/src/floating-ui-react/hooks/useFloating.test.tsx +42 -0
  1504. package/packages/react/src/floating-ui-react/hooks/useFloating.ts +184 -0
  1505. package/packages/react/src/floating-ui-react/hooks/useFloatingRootContext.ts +80 -0
  1506. package/packages/react/src/floating-ui-react/hooks/useFocus.ts +250 -0
  1507. package/packages/react/src/floating-ui-react/hooks/useHover.test.tsx +369 -0
  1508. package/packages/react/src/floating-ui-react/hooks/useHover.ts +467 -0
  1509. package/packages/react/src/floating-ui-react/hooks/useHoverFloatingInteraction.ts +273 -0
  1510. package/packages/react/src/floating-ui-react/hooks/useHoverInteractionSharedState.ts +131 -0
  1511. package/packages/react/src/floating-ui-react/hooks/useHoverReferenceInteraction.test.tsx +350 -0
  1512. package/packages/react/src/floating-ui-react/hooks/useHoverReferenceInteraction.ts +481 -0
  1513. package/packages/react/src/floating-ui-react/hooks/useHoverShared.ts +72 -0
  1514. package/packages/react/src/floating-ui-react/hooks/useListNavigation.test.tsx +1528 -0
  1515. package/packages/react/src/floating-ui-react/hooks/useListNavigation.ts +930 -0
  1516. package/packages/react/src/floating-ui-react/hooks/useSyncedFloatingRootContext.ts +101 -0
  1517. package/packages/react/src/floating-ui-react/hooks/useTypeahead.test.tsx +343 -0
  1518. package/packages/react/src/floating-ui-react/hooks/useTypeahead.ts +253 -0
  1519. package/packages/react/src/floating-ui-react/index.ts +41 -0
  1520. package/packages/react/src/floating-ui-react/middleware/arrow.ts +123 -0
  1521. package/packages/react/src/floating-ui-react/safePolygon.test.ts +340 -0
  1522. package/packages/react/src/floating-ui-react/safePolygon.ts +451 -0
  1523. package/packages/react/src/floating-ui-react/types.ts +202 -0
  1524. package/packages/react/src/floating-ui-react/utils/composite.test.ts +45 -0
  1525. package/packages/react/src/floating-ui-react/utils/composite.ts +518 -0
  1526. package/packages/react/src/floating-ui-react/utils/constants.ts +10 -0
  1527. package/packages/react/src/floating-ui-react/utils/createAttribute.ts +3 -0
  1528. package/packages/react/src/floating-ui-react/utils/createEventEmitter.ts +19 -0
  1529. package/packages/react/src/floating-ui-react/utils/element.ts +95 -0
  1530. package/packages/react/src/floating-ui-react/utils/enqueueFocus.ts +37 -0
  1531. package/packages/react/src/floating-ui-react/utils/event.ts +59 -0
  1532. package/packages/react/src/floating-ui-react/utils/getEmptyRootContext.ts +17 -0
  1533. package/packages/react/src/floating-ui-react/utils/markOthers.test.ts +310 -0
  1534. package/packages/react/src/floating-ui-react/utils/markOthers.ts +219 -0
  1535. package/packages/react/src/floating-ui-react/utils/nodes.test.ts +115 -0
  1536. package/packages/react/src/floating-ui-react/utils/nodes.ts +54 -0
  1537. package/packages/react/src/floating-ui-react/utils/tabbable.test.ts +378 -0
  1538. package/packages/react/src/floating-ui-react/utils/tabbable.ts +282 -0
  1539. package/packages/react/src/floating-ui-react/utils.ts +5 -0
  1540. package/packages/react/src/form/Form.spec.tsx +17 -0
  1541. package/packages/react/src/form/Form.test.tsx +752 -0
  1542. package/packages/react/src/form/Form.tsx +229 -0
  1543. package/packages/react/src/form/index.ts +3 -0
  1544. package/packages/react/src/global.d.ts +9 -0
  1545. package/packages/react/src/index.test.ts +60 -0
  1546. package/packages/react/src/index.ts +44 -0
  1547. package/packages/react/src/input/Input.spec.tsx +7 -0
  1548. package/packages/react/src/input/Input.test.tsx +12 -0
  1549. package/packages/react/src/input/Input.tsx +44 -0
  1550. package/packages/react/src/input/InputDataAttributes.ts +30 -0
  1551. package/packages/react/src/input/index.ts +3 -0
  1552. package/packages/react/src/internals/RequestQueue.test.ts +152 -0
  1553. package/packages/react/src/internals/RequestQueue.ts +126 -0
  1554. package/packages/react/src/internals/TimeoutManager.test.ts +76 -0
  1555. package/packages/react/src/internals/TimeoutManager.ts +29 -0
  1556. package/packages/react/src/internals/areArraysEqual.ts +12 -0
  1557. package/packages/react/src/internals/clamp.test.ts +10 -0
  1558. package/packages/react/src/internals/clamp.ts +7 -0
  1559. package/packages/react/src/internals/composite/composite.ts +182 -0
  1560. package/packages/react/src/internals/composite/constants.ts +1 -0
  1561. package/packages/react/src/internals/composite/index.ts +18 -0
  1562. package/packages/react/src/internals/composite/item/CompositeItem.tsx +59 -0
  1563. package/packages/react/src/internals/composite/item/useCompositeItem.ts +49 -0
  1564. package/packages/react/src/internals/composite/list/CompositeList.test.tsx +37 -0
  1565. package/packages/react/src/internals/composite/list/CompositeList.tsx +195 -0
  1566. package/packages/react/src/internals/composite/list/CompositeListContext.ts +25 -0
  1567. package/packages/react/src/internals/composite/list/useCompositeListItem.ts +103 -0
  1568. package/packages/react/src/internals/composite/root/CompositeRoot.test.tsx +1018 -0
  1569. package/packages/react/src/internals/composite/root/CompositeRoot.tsx +141 -0
  1570. package/packages/react/src/internals/composite/root/CompositeRootContext.ts +32 -0
  1571. package/packages/react/src/internals/composite/root/gridNavigation.ts +127 -0
  1572. package/packages/react/src/internals/composite/root/useCompositeRoot.ts +355 -0
  1573. package/packages/react/src/internals/constants.ts +41 -0
  1574. package/packages/react/src/internals/createBaseUIEventDetails.spec.ts +12 -0
  1575. package/packages/react/src/internals/createBaseUIEventDetails.ts +166 -0
  1576. package/packages/react/src/internals/csp-context/CSPContext.tsx +23 -0
  1577. package/packages/react/src/internals/csp-context/index.ts +2 -0
  1578. package/packages/react/src/internals/direction-context/DirectionContext.tsx +19 -0
  1579. package/packages/react/src/internals/direction-context/index.ts +2 -0
  1580. package/packages/react/src/internals/field-constants/constants.ts +48 -0
  1581. package/packages/react/src/internals/field-constants/index.ts +6 -0
  1582. package/packages/react/src/internals/field-register-control/index.ts +6 -0
  1583. package/packages/react/src/internals/field-register-control/useFieldControlRegistration.ts +169 -0
  1584. package/packages/react/src/internals/field-register-control/useRegisterFieldControl.ts +43 -0
  1585. package/packages/react/src/internals/field-root-context/FieldRootContext.ts +94 -0
  1586. package/packages/react/src/internals/field-root-context/index.ts +2 -0
  1587. package/packages/react/src/internals/filter.test.ts +11 -0
  1588. package/packages/react/src/internals/filter.ts +82 -0
  1589. package/packages/react/src/internals/form-context/FormContext.ts +48 -0
  1590. package/packages/react/src/internals/form-context/index.ts +2 -0
  1591. package/packages/react/src/internals/getStateAttributesProps.test.ts +83 -0
  1592. package/packages/react/src/internals/getStateAttributesProps.ts +32 -0
  1593. package/packages/react/src/internals/itemEquality.ts +60 -0
  1594. package/packages/react/src/internals/labelable-provider/LabelableContext.ts +42 -0
  1595. package/packages/react/src/internals/labelable-provider/LabelableProvider.tsx +116 -0
  1596. package/packages/react/src/internals/labelable-provider/index.ts +6 -0
  1597. package/packages/react/src/internals/labelable-provider/useAriaLabelledBy.ts +75 -0
  1598. package/packages/react/src/internals/labelable-provider/useLabel.ts +111 -0
  1599. package/packages/react/src/internals/labelable-provider/useLabelableId.ts +100 -0
  1600. package/packages/react/src/internals/noop.ts +1 -0
  1601. package/packages/react/src/internals/reason-parts.ts +42 -0
  1602. package/packages/react/src/internals/reasons.ts +5 -0
  1603. package/packages/react/src/internals/resolveValueLabel.test.ts +101 -0
  1604. package/packages/react/src/internals/resolveValueLabel.tsx +151 -0
  1605. package/packages/react/src/internals/serializeValue.ts +13 -0
  1606. package/packages/react/src/internals/shadowDom.ts +47 -0
  1607. package/packages/react/src/internals/stateAttributesMapping.ts +28 -0
  1608. package/packages/react/src/internals/temporal/index.ts +2 -0
  1609. package/packages/react/src/internals/temporal/temporal-adapter.ts +382 -0
  1610. package/packages/react/src/internals/temporal/temporal.ts +49 -0
  1611. package/packages/react/src/internals/temporal-adapter-date-fns/TemporalAdapterDateFns.test.ts +63 -0
  1612. package/packages/react/src/internals/temporal-adapter-date-fns/TemporalAdapterDateFns.ts +474 -0
  1613. package/packages/react/src/internals/temporal-adapter-date-fns/index.ts +1 -0
  1614. package/packages/react/src/internals/temporal-adapter-luxon/TemporalAdapterLuxon.test.ts +16 -0
  1615. package/packages/react/src/internals/temporal-adapter-luxon/TemporalAdapterLuxon.ts +380 -0
  1616. package/packages/react/src/internals/temporal-adapter-luxon/index.ts +1 -0
  1617. package/packages/react/src/internals/types.ts +97 -0
  1618. package/packages/react/src/internals/use-button/index.ts +1 -0
  1619. package/packages/react/src/internals/use-button/useButton.test.tsx +820 -0
  1620. package/packages/react/src/internals/use-button/useButton.ts +290 -0
  1621. package/packages/react/src/internals/useAnimationsFinished.ts +121 -0
  1622. package/packages/react/src/internals/useBaseUiId.ts +11 -0
  1623. package/packages/react/src/internals/useOpenChangeComplete.tsx +50 -0
  1624. package/packages/react/src/internals/usePressAndHold.ts +288 -0
  1625. package/packages/react/src/internals/useRenderElement.spec.tsx +38 -0
  1626. package/packages/react/src/internals/useRenderElement.test.tsx +588 -0
  1627. package/packages/react/src/internals/useRenderElement.tsx +287 -0
  1628. package/packages/react/src/internals/useTransitionStatus.ts +89 -0
  1629. package/packages/react/src/internals/useValueChanged.ts +21 -0
  1630. package/packages/react/src/menu/arrow/MenuArrow.test.tsx +21 -0
  1631. package/packages/react/src/menu/arrow/MenuArrow.tsx +69 -0
  1632. package/packages/react/src/menu/arrow/MenuArrowDataAttributes.ts +26 -0
  1633. package/packages/react/src/menu/backdrop/MenuBackdrop.test.tsx +55 -0
  1634. package/packages/react/src/menu/backdrop/MenuBackdrop.tsx +80 -0
  1635. package/packages/react/src/menu/backdrop/MenuBackdropDataAttributes.ts +20 -0
  1636. package/packages/react/src/menu/checkbox-item/MenuCheckboxItem.test.tsx +452 -0
  1637. package/packages/react/src/menu/checkbox-item/MenuCheckboxItem.tsx +180 -0
  1638. package/packages/react/src/menu/checkbox-item/MenuCheckboxItemContext.ts +23 -0
  1639. package/packages/react/src/menu/checkbox-item/MenuCheckboxItemDataAttributes.ts +18 -0
  1640. package/packages/react/src/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.test.tsx +131 -0
  1641. package/packages/react/src/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.tsx +92 -0
  1642. package/packages/react/src/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.ts +24 -0
  1643. package/packages/react/src/menu/group/MenuGroup.test.tsx +18 -0
  1644. package/packages/react/src/menu/group/MenuGroup.tsx +45 -0
  1645. package/packages/react/src/menu/group/MenuGroupContext.ts +17 -0
  1646. package/packages/react/src/menu/group-label/MenuGroupLabel.test.tsx +142 -0
  1647. package/packages/react/src/menu/group-label/MenuGroupLabel.tsx +49 -0
  1648. package/packages/react/src/menu/index.parts.ts +21 -0
  1649. package/packages/react/src/menu/index.ts +21 -0
  1650. package/packages/react/src/menu/item/MenuItem.test.tsx +257 -0
  1651. package/packages/react/src/menu/item/MenuItem.tsx +105 -0
  1652. package/packages/react/src/menu/item/MenuItemDataAttributes.ts +10 -0
  1653. package/packages/react/src/menu/item/useMenuItem.ts +144 -0
  1654. package/packages/react/src/menu/item/useMenuItemCommonProps.ts +136 -0
  1655. package/packages/react/src/menu/link-item/MenuLinkItem.test.tsx +167 -0
  1656. package/packages/react/src/menu/link-item/MenuLinkItem.tsx +100 -0
  1657. package/packages/react/src/menu/link-item/MenuLinkItemDataAttributes.ts +6 -0
  1658. package/packages/react/src/menu/popup/MenuPopup.test.tsx +214 -0
  1659. package/packages/react/src/menu/popup/MenuPopup.tsx +210 -0
  1660. package/packages/react/src/menu/popup/MenuPopupDataAttributes.ts +35 -0
  1661. package/packages/react/src/menu/portal/MenuPortal.test.tsx +14 -0
  1662. package/packages/react/src/menu/portal/MenuPortal.tsx +48 -0
  1663. package/packages/react/src/menu/portal/MenuPortalContext.ts +12 -0
  1664. package/packages/react/src/menu/positioner/MenuPositioner.spec.tsx +4 -0
  1665. package/packages/react/src/menu/positioner/MenuPositioner.test.tsx +662 -0
  1666. package/packages/react/src/menu/positioner/MenuPositioner.tsx +355 -0
  1667. package/packages/react/src/menu/positioner/MenuPositionerContext.ts +24 -0
  1668. package/packages/react/src/menu/positioner/MenuPositionerCssVars.ts +27 -0
  1669. package/packages/react/src/menu/positioner/MenuPositionerDataAttributes.ts +26 -0
  1670. package/packages/react/src/menu/radio-group/MenuRadioGroup.test.tsx +18 -0
  1671. package/packages/react/src/menu/radio-group/MenuRadioGroup.tsx +130 -0
  1672. package/packages/react/src/menu/radio-group/MenuRadioGroupContext.ts +24 -0
  1673. package/packages/react/src/menu/radio-item/MenuRadioItem.test.tsx +528 -0
  1674. package/packages/react/src/menu/radio-item/MenuRadioItem.tsx +152 -0
  1675. package/packages/react/src/menu/radio-item/MenuRadioItemContext.ts +23 -0
  1676. package/packages/react/src/menu/radio-item/MenuRadioItemDataAttributes.ts +18 -0
  1677. package/packages/react/src/menu/radio-item-indicator/MenuRadioItemIndicator.test.tsx +141 -0
  1678. package/packages/react/src/menu/radio-item-indicator/MenuRadioItemIndicator.tsx +92 -0
  1679. package/packages/react/src/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.ts +24 -0
  1680. package/packages/react/src/menu/root/MenuRoot.detached-triggers.test.tsx +1126 -0
  1681. package/packages/react/src/menu/root/MenuRoot.test.tsx +2761 -0
  1682. package/packages/react/src/menu/root/MenuRoot.tsx +684 -0
  1683. package/packages/react/src/menu/root/MenuRootContext.ts +24 -0
  1684. package/packages/react/src/menu/store/MenuHandle.ts +56 -0
  1685. package/packages/react/src/menu/store/MenuStore.ts +216 -0
  1686. package/packages/react/src/menu/submenu-root/MenuSubmenuRoot.tsx +65 -0
  1687. package/packages/react/src/menu/submenu-root/MenuSubmenuRootContext.ts +15 -0
  1688. package/packages/react/src/menu/submenu-trigger/MenuSubmenuTrigger.test.tsx +242 -0
  1689. package/packages/react/src/menu/submenu-trigger/MenuSubmenuTrigger.tsx +245 -0
  1690. package/packages/react/src/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.ts +16 -0
  1691. package/packages/react/src/menu/trigger/MenuTrigger.test.tsx +468 -0
  1692. package/packages/react/src/menu/trigger/MenuTrigger.tsx +417 -0
  1693. package/packages/react/src/menu/trigger/MenuTriggerDataAttributes.ts +12 -0
  1694. package/packages/react/src/menu/utils/findRootOwnerId.ts +13 -0
  1695. package/packages/react/src/menu/utils/stateAttributesMapping.ts +17 -0
  1696. package/packages/react/src/menu/utils/types.ts +8 -0
  1697. package/packages/react/src/menu/viewport/MenuViewport.test.tsx +410 -0
  1698. package/packages/react/src/menu/viewport/MenuViewport.tsx +85 -0
  1699. package/packages/react/src/menu/viewport/MenuViewportCssVars.ts +14 -0
  1700. package/packages/react/src/menu/viewport/MenuViewportDataAttributes.ts +26 -0
  1701. package/packages/react/src/menubar/Menubar.test.tsx +1342 -0
  1702. package/packages/react/src/menubar/Menubar.tsx +169 -0
  1703. package/packages/react/src/menubar/MenubarContext.ts +30 -0
  1704. package/packages/react/src/menubar/MenubarDataAttributes.ts +15 -0
  1705. package/packages/react/src/menubar/index.ts +3 -0
  1706. package/packages/react/src/merge-props/index.ts +1 -0
  1707. package/packages/react/src/merge-props/mergeProps.test.ts +599 -0
  1708. package/packages/react/src/merge-props/mergeProps.ts +296 -0
  1709. package/packages/react/src/meter/index.parts.ts +5 -0
  1710. package/packages/react/src/meter/index.ts +7 -0
  1711. package/packages/react/src/meter/indicator/MeterIndicator.test.tsx +89 -0
  1712. package/packages/react/src/meter/indicator/MeterIndicator.tsx +44 -0
  1713. package/packages/react/src/meter/label/MeterLabel.test.tsx +13 -0
  1714. package/packages/react/src/meter/label/MeterLabel.tsx +44 -0
  1715. package/packages/react/src/meter/root/MeterRoot.test.tsx +262 -0
  1716. package/packages/react/src/meter/root/MeterRoot.tsx +129 -0
  1717. package/packages/react/src/meter/root/MeterRootContext.ts +27 -0
  1718. package/packages/react/src/meter/track/MeterTrack.test.tsx +13 -0
  1719. package/packages/react/src/meter/track/MeterTrack.tsx +32 -0
  1720. package/packages/react/src/meter/value/MeterValue.test.tsx +87 -0
  1721. package/packages/react/src/meter/value/MeterValue.tsx +46 -0
  1722. package/packages/react/src/navigation-menu/arrow/NavigationMenuArrow.test.tsx +19 -0
  1723. package/packages/react/src/navigation-menu/arrow/NavigationMenuArrow.tsx +75 -0
  1724. package/packages/react/src/navigation-menu/arrow/NavigationMenuArrowDataAttributes.ts +26 -0
  1725. package/packages/react/src/navigation-menu/backdrop/NavigationMenuBackdrop.test.tsx +13 -0
  1726. package/packages/react/src/navigation-menu/backdrop/NavigationMenuBackdrop.tsx +74 -0
  1727. package/packages/react/src/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.ts +20 -0
  1728. package/packages/react/src/navigation-menu/content/NavigationMenuContent.test.tsx +221 -0
  1729. package/packages/react/src/navigation-menu/content/NavigationMenuContent.tsx +205 -0
  1730. package/packages/react/src/navigation-menu/content/NavigationMenuContentDataAttributes.ts +25 -0
  1731. package/packages/react/src/navigation-menu/icon/NavigationMenuIcon.test.tsx +17 -0
  1732. package/packages/react/src/navigation-menu/icon/NavigationMenuIcon.tsx +54 -0
  1733. package/packages/react/src/navigation-menu/icon/NavigationMenuIconDataAttributes.ts +8 -0
  1734. package/packages/react/src/navigation-menu/index.parts.ts +13 -0
  1735. package/packages/react/src/navigation-menu/index.ts +15 -0
  1736. package/packages/react/src/navigation-menu/item/NavigationMenuItem.test.tsx +13 -0
  1737. package/packages/react/src/navigation-menu/item/NavigationMenuItem.tsx +57 -0
  1738. package/packages/react/src/navigation-menu/item/NavigationMenuItemContext.ts +20 -0
  1739. package/packages/react/src/navigation-menu/link/NavigationMenuLink.test.tsx +133 -0
  1740. package/packages/react/src/navigation-menu/link/NavigationMenuLink.tsx +105 -0
  1741. package/packages/react/src/navigation-menu/link/NavigationMenuLinkDataAttributes.ts +6 -0
  1742. package/packages/react/src/navigation-menu/list/NavigationMenuDismissContext.ts +11 -0
  1743. package/packages/react/src/navigation-menu/list/NavigationMenuList.test.tsx +13 -0
  1744. package/packages/react/src/navigation-menu/list/NavigationMenuList.tsx +142 -0
  1745. package/packages/react/src/navigation-menu/popup/NavigationMenuPopup.test.tsx +19 -0
  1746. package/packages/react/src/navigation-menu/popup/NavigationMenuPopup.tsx +111 -0
  1747. package/packages/react/src/navigation-menu/popup/NavigationMenuPopupCssVars.ts +12 -0
  1748. package/packages/react/src/navigation-menu/popup/NavigationMenuPopupDataAttributes.ts +34 -0
  1749. package/packages/react/src/navigation-menu/portal/NavigationMenuPortal.test.tsx +14 -0
  1750. package/packages/react/src/navigation-menu/portal/NavigationMenuPortal.tsx +51 -0
  1751. package/packages/react/src/navigation-menu/portal/NavigationMenuPortalContext.ts +12 -0
  1752. package/packages/react/src/navigation-menu/positioner/NavigationMenuPositioner.test.tsx +17 -0
  1753. package/packages/react/src/navigation-menu/positioner/NavigationMenuPositioner.tsx +219 -0
  1754. package/packages/react/src/navigation-menu/positioner/NavigationMenuPositionerContext.ts +25 -0
  1755. package/packages/react/src/navigation-menu/positioner/NavigationMenuPositionerCssVars.ts +37 -0
  1756. package/packages/react/src/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.ts +30 -0
  1757. package/packages/react/src/navigation-menu/root/NavigationMenuRoot.spec.tsx +63 -0
  1758. package/packages/react/src/navigation-menu/root/NavigationMenuRoot.test.tsx +3769 -0
  1759. package/packages/react/src/navigation-menu/root/NavigationMenuRoot.tsx +439 -0
  1760. package/packages/react/src/navigation-menu/root/NavigationMenuRoot.webkit.test.tsx +140 -0
  1761. package/packages/react/src/navigation-menu/root/NavigationMenuRootContext.ts +83 -0
  1762. package/packages/react/src/navigation-menu/trigger/NavigationMenuTrigger.test.tsx +448 -0
  1763. package/packages/react/src/navigation-menu/trigger/NavigationMenuTrigger.tsx +914 -0
  1764. package/packages/react/src/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.ts +12 -0
  1765. package/packages/react/src/navigation-menu/utils/constants.ts +3 -0
  1766. package/packages/react/src/navigation-menu/utils/isOutsideMenuEvent.ts +41 -0
  1767. package/packages/react/src/navigation-menu/utils/setSharedFixedSize.ts +20 -0
  1768. package/packages/react/src/navigation-menu/viewport/NavigationMenuViewport.test.tsx +13 -0
  1769. package/packages/react/src/navigation-menu/viewport/NavigationMenuViewport.tsx +144 -0
  1770. package/packages/react/src/number-field/decrement/NumberFieldDecrement.test.tsx +572 -0
  1771. package/packages/react/src/number-field/decrement/NumberFieldDecrement.tsx +28 -0
  1772. package/packages/react/src/number-field/decrement/NumberFieldDecrementDataAttributes.ts +42 -0
  1773. package/packages/react/src/number-field/group/NumberFieldGroup.test.tsx +24 -0
  1774. package/packages/react/src/number-field/group/NumberFieldGroup.tsx +40 -0
  1775. package/packages/react/src/number-field/group/NumberFieldGroupDataAttributes.ts +42 -0
  1776. package/packages/react/src/number-field/increment/NumberFieldIncrement.test.tsx +829 -0
  1777. package/packages/react/src/number-field/increment/NumberFieldIncrement.tsx +28 -0
  1778. package/packages/react/src/number-field/increment/NumberFieldIncrementDataAttributes.ts +42 -0
  1779. package/packages/react/src/number-field/index.parts.ts +7 -0
  1780. package/packages/react/src/number-field/index.ts +9 -0
  1781. package/packages/react/src/number-field/input/NumberFieldInput.test.tsx +1408 -0
  1782. package/packages/react/src/number-field/input/NumberFieldInput.tsx +485 -0
  1783. package/packages/react/src/number-field/input/NumberFieldInputDataAttributes.ts +42 -0
  1784. package/packages/react/src/number-field/root/NumberFieldRoot.spec.tsx +74 -0
  1785. package/packages/react/src/number-field/root/NumberFieldRoot.test.tsx +2595 -0
  1786. package/packages/react/src/number-field/root/NumberFieldRoot.tsx +718 -0
  1787. package/packages/react/src/number-field/root/NumberFieldRootContext.ts +57 -0
  1788. package/packages/react/src/number-field/root/NumberFieldRootDataAttributes.ts +42 -0
  1789. package/packages/react/src/number-field/root/useNumberFieldButton.ts +175 -0
  1790. package/packages/react/src/number-field/root/useNumberFieldStepperButton.ts +91 -0
  1791. package/packages/react/src/number-field/scrub-area/NumberFieldScrubArea.test.tsx +351 -0
  1792. package/packages/react/src/number-field/scrub-area/NumberFieldScrubArea.tsx +393 -0
  1793. package/packages/react/src/number-field/scrub-area/NumberFieldScrubAreaContext.ts +23 -0
  1794. package/packages/react/src/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.ts +42 -0
  1795. package/packages/react/src/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.test.tsx +203 -0
  1796. package/packages/react/src/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.tsx +71 -0
  1797. package/packages/react/src/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.ts +42 -0
  1798. package/packages/react/src/number-field/utils/constants.ts +3 -0
  1799. package/packages/react/src/number-field/utils/getViewportRect.ts +34 -0
  1800. package/packages/react/src/number-field/utils/parse.test.ts +298 -0
  1801. package/packages/react/src/number-field/utils/parse.ts +252 -0
  1802. package/packages/react/src/number-field/utils/stateAttributesMapping.ts +9 -0
  1803. package/packages/react/src/number-field/utils/subscribeToVisualViewportResize.ts +24 -0
  1804. package/packages/react/src/number-field/utils/types.ts +24 -0
  1805. package/packages/react/src/number-field/utils/validate.test.ts +730 -0
  1806. package/packages/react/src/number-field/utils/validate.ts +151 -0
  1807. package/packages/react/src/otp-field/index.parts.ts +3 -0
  1808. package/packages/react/src/otp-field/index.ts +4 -0
  1809. package/packages/react/src/otp-field/input/OTPFieldInput.spec.tsx +5 -0
  1810. package/packages/react/src/otp-field/input/OTPFieldInput.test.tsx +811 -0
  1811. package/packages/react/src/otp-field/input/OTPFieldInput.tsx +356 -0
  1812. package/packages/react/src/otp-field/input/OTPFieldInputDataAttributes.ts +42 -0
  1813. package/packages/react/src/otp-field/root/OTPFieldRoot.spec.tsx +113 -0
  1814. package/packages/react/src/otp-field/root/OTPFieldRoot.test.tsx +1407 -0
  1815. package/packages/react/src/otp-field/root/OTPFieldRoot.tsx +680 -0
  1816. package/packages/react/src/otp-field/root/OTPFieldRootContext.ts +57 -0
  1817. package/packages/react/src/otp-field/root/OTPFieldRootDataAttributes.ts +42 -0
  1818. package/packages/react/src/otp-field/utils/otp.test.ts +94 -0
  1819. package/packages/react/src/otp-field/utils/otp.ts +118 -0
  1820. package/packages/react/src/otp-field/utils/stateAttributesMapping.ts +16 -0
  1821. package/packages/react/src/popover/arrow/PopoverArrow.test.tsx +22 -0
  1822. package/packages/react/src/popover/arrow/PopoverArrow.tsx +67 -0
  1823. package/packages/react/src/popover/arrow/PopoverArrowDataAttributes.ts +26 -0
  1824. package/packages/react/src/popover/backdrop/PopoverBackdrop.test.tsx +55 -0
  1825. package/packages/react/src/popover/backdrop/PopoverBackdrop.tsx +78 -0
  1826. package/packages/react/src/popover/backdrop/PopoverBackdropDataAttributes.ts +20 -0
  1827. package/packages/react/src/popover/close/PopoverClose.test.tsx +159 -0
  1828. package/packages/react/src/popover/close/PopoverClose.tsx +63 -0
  1829. package/packages/react/src/popover/description/PopoverDescription.test.tsx +42 -0
  1830. package/packages/react/src/popover/description/PopoverDescription.tsx +44 -0
  1831. package/packages/react/src/popover/index.parts.ts +15 -0
  1832. package/packages/react/src/popover/index.ts +13 -0
  1833. package/packages/react/src/popover/popup/PopoverPopup.test.tsx +623 -0
  1834. package/packages/react/src/popover/popup/PopoverPopup.tsx +200 -0
  1835. package/packages/react/src/popover/popup/PopoverPopupCssVars.ts +10 -0
  1836. package/packages/react/src/popover/popup/PopoverPopupDataAttributes.ts +35 -0
  1837. package/packages/react/src/popover/portal/PopoverPortal.test.tsx +14 -0
  1838. package/packages/react/src/popover/portal/PopoverPortal.tsx +48 -0
  1839. package/packages/react/src/popover/portal/PopoverPortalContext.ts +12 -0
  1840. package/packages/react/src/popover/positioner/PopoverPositioner.spec.tsx +4 -0
  1841. package/packages/react/src/popover/positioner/PopoverPositioner.test.tsx +478 -0
  1842. package/packages/react/src/popover/positioner/PopoverPositioner.tsx +200 -0
  1843. package/packages/react/src/popover/positioner/PopoverPositionerContext.ts +27 -0
  1844. package/packages/react/src/popover/positioner/PopoverPositionerCssVars.ts +37 -0
  1845. package/packages/react/src/popover/positioner/PopoverPositionerDataAttributes.ts +26 -0
  1846. package/packages/react/src/popover/root/PopoverRoot.detached-triggers.test.tsx +961 -0
  1847. package/packages/react/src/popover/root/PopoverRoot.spec.tsx +27 -0
  1848. package/packages/react/src/popover/root/PopoverRoot.test.tsx +2347 -0
  1849. package/packages/react/src/popover/root/PopoverRoot.tsx +249 -0
  1850. package/packages/react/src/popover/root/PopoverRootContext.ts +21 -0
  1851. package/packages/react/src/popover/store/PopoverHandle.ts +64 -0
  1852. package/packages/react/src/popover/store/PopoverStore.ts +216 -0
  1853. package/packages/react/src/popover/title/PopoverTitle.test.tsx +42 -0
  1854. package/packages/react/src/popover/title/PopoverTitle.tsx +44 -0
  1855. package/packages/react/src/popover/trigger/PopoverTrigger.test.tsx +411 -0
  1856. package/packages/react/src/popover/trigger/PopoverTrigger.tsx +233 -0
  1857. package/packages/react/src/popover/trigger/PopoverTriggerDataAttributes.ts +12 -0
  1858. package/packages/react/src/popover/utils/constants.ts +1 -0
  1859. package/packages/react/src/popover/viewport/PopoverViewport.test.tsx +494 -0
  1860. package/packages/react/src/popover/viewport/PopoverViewport.tsx +85 -0
  1861. package/packages/react/src/popover/viewport/PopoverViewportCssVars.ts +14 -0
  1862. package/packages/react/src/popover/viewport/PopoverViewportDataAttributes.ts +26 -0
  1863. package/packages/react/src/preview-card/arrow/PreviewCardArrow.test.tsx +21 -0
  1864. package/packages/react/src/preview-card/arrow/PreviewCardArrow.tsx +68 -0
  1865. package/packages/react/src/preview-card/arrow/PreviewCardArrowDataAttributes.ts +26 -0
  1866. package/packages/react/src/preview-card/backdrop/PreviewCardBackdrop.test.tsx +37 -0
  1867. package/packages/react/src/preview-card/backdrop/PreviewCardBackdrop.tsx +78 -0
  1868. package/packages/react/src/preview-card/backdrop/PreviewCardBackdropDataAttributes.ts +20 -0
  1869. package/packages/react/src/preview-card/index.parts.ts +12 -0
  1870. package/packages/react/src/preview-card/index.ts +10 -0
  1871. package/packages/react/src/preview-card/popup/PreviewCardPopup.test.tsx +35 -0
  1872. package/packages/react/src/preview-card/popup/PreviewCardPopup.tsx +105 -0
  1873. package/packages/react/src/preview-card/popup/PreviewCardPopupDataAttributes.ts +30 -0
  1874. package/packages/react/src/preview-card/portal/PreviewCardPortal.test.tsx +14 -0
  1875. package/packages/react/src/preview-card/portal/PreviewCardPortal.tsx +48 -0
  1876. package/packages/react/src/preview-card/portal/PreviewCardPortalContext.ts +12 -0
  1877. package/packages/react/src/preview-card/positioner/PreviewCardPositioner.spec.tsx +4 -0
  1878. package/packages/react/src/preview-card/positioner/PreviewCardPositioner.test.tsx +1103 -0
  1879. package/packages/react/src/preview-card/positioner/PreviewCardPositioner.tsx +144 -0
  1880. package/packages/react/src/preview-card/positioner/PreviewCardPositionerContext.ts +23 -0
  1881. package/packages/react/src/preview-card/positioner/PreviewCardPositionerCssVars.ts +27 -0
  1882. package/packages/react/src/preview-card/positioner/PreviewCardPositionerDataAttributes.ts +26 -0
  1883. package/packages/react/src/preview-card/root/PreviewCardContext.ts +22 -0
  1884. package/packages/react/src/preview-card/root/PreviewCardRoot.detached-triggers.test.tsx +1385 -0
  1885. package/packages/react/src/preview-card/root/PreviewCardRoot.spec.tsx +27 -0
  1886. package/packages/react/src/preview-card/root/PreviewCardRoot.test.tsx +1165 -0
  1887. package/packages/react/src/preview-card/root/PreviewCardRoot.tsx +210 -0
  1888. package/packages/react/src/preview-card/store/PreviewCardHandle.ts +65 -0
  1889. package/packages/react/src/preview-card/store/PreviewCardStore.ts +120 -0
  1890. package/packages/react/src/preview-card/trigger/PreviewCardTrigger.test.tsx +13 -0
  1891. package/packages/react/src/preview-card/trigger/PreviewCardTrigger.tsx +148 -0
  1892. package/packages/react/src/preview-card/trigger/PreviewCardTriggerDataAttributes.ts +8 -0
  1893. package/packages/react/src/preview-card/utils/constants.ts +2 -0
  1894. package/packages/react/src/preview-card/viewport/PreviewCardViewport.test.tsx +424 -0
  1895. package/packages/react/src/preview-card/viewport/PreviewCardViewport.tsx +88 -0
  1896. package/packages/react/src/preview-card/viewport/PreviewCardViewportCssVars.ts +14 -0
  1897. package/packages/react/src/preview-card/viewport/PreviewCardViewportDataAttributes.ts +26 -0
  1898. package/packages/react/src/progress/index.parts.ts +7 -0
  1899. package/packages/react/src/progress/index.ts +7 -0
  1900. package/packages/react/src/progress/indicator/ProgressIndicator.test.tsx +65 -0
  1901. package/packages/react/src/progress/indicator/ProgressIndicator.tsx +61 -0
  1902. package/packages/react/src/progress/indicator/ProgressIndicatorDataAttributes.ts +14 -0
  1903. package/packages/react/src/progress/label/ProgressLabel.test.tsx +13 -0
  1904. package/packages/react/src/progress/label/ProgressLabel.tsx +49 -0
  1905. package/packages/react/src/progress/label/ProgressLabelDataAttributes.ts +14 -0
  1906. package/packages/react/src/progress/root/ProgressRoot.test.tsx +106 -0
  1907. package/packages/react/src/progress/root/ProgressRoot.tsx +145 -0
  1908. package/packages/react/src/progress/root/ProgressRootContext.tsx +41 -0
  1909. package/packages/react/src/progress/root/ProgressRootDataAttributes.ts +14 -0
  1910. package/packages/react/src/progress/root/stateAttributesMapping.ts +18 -0
  1911. package/packages/react/src/progress/track/ProgressTrack.test.tsx +13 -0
  1912. package/packages/react/src/progress/track/ProgressTrack.tsx +40 -0
  1913. package/packages/react/src/progress/track/ProgressTrackDataAttributes.ts +14 -0
  1914. package/packages/react/src/progress/value/ProgressValue.test.tsx +82 -0
  1915. package/packages/react/src/progress/value/ProgressValue.tsx +59 -0
  1916. package/packages/react/src/progress/value/ProgressValueDataAttributes.ts +14 -0
  1917. package/packages/react/src/radio/index.parts.ts +2 -0
  1918. package/packages/react/src/radio/index.ts +4 -0
  1919. package/packages/react/src/radio/indicator/RadioIndicator.test.tsx +237 -0
  1920. package/packages/react/src/radio/indicator/RadioIndicator.tsx +80 -0
  1921. package/packages/react/src/radio/indicator/RadioIndicatorDataAttributes.ts +56 -0
  1922. package/packages/react/src/radio/root/RadioRoot.spec.tsx +12 -0
  1923. package/packages/react/src/radio/root/RadioRoot.test.tsx +135 -0
  1924. package/packages/react/src/radio/root/RadioRoot.tsx +352 -0
  1925. package/packages/react/src/radio/root/RadioRootContext.ts +18 -0
  1926. package/packages/react/src/radio/root/RadioRootDataAttributes.ts +46 -0
  1927. package/packages/react/src/radio/utils/stateAttributesMapping.ts +20 -0
  1928. package/packages/react/src/radio-group/RadioGroup.spec.tsx +57 -0
  1929. package/packages/react/src/radio-group/RadioGroup.test.tsx +1396 -0
  1930. package/packages/react/src/radio-group/RadioGroup.tsx +338 -0
  1931. package/packages/react/src/radio-group/RadioGroupContext.ts +29 -0
  1932. package/packages/react/src/radio-group/RadioGroupDataAttributes.ts +6 -0
  1933. package/packages/react/src/radio-group/index.ts +3 -0
  1934. package/packages/react/src/scroll-area/constants.ts +2 -0
  1935. package/packages/react/src/scroll-area/content/ScrollAreaContent.test.tsx +18 -0
  1936. package/packages/react/src/scroll-area/content/ScrollAreaContent.tsx +88 -0
  1937. package/packages/react/src/scroll-area/content/ScrollAreaContentDataAttributes.ts +30 -0
  1938. package/packages/react/src/scroll-area/corner/ScrollAreaCorner.test.tsx +72 -0
  1939. package/packages/react/src/scroll-area/corner/ScrollAreaCorner.tsx +51 -0
  1940. package/packages/react/src/scroll-area/index.parts.ts +6 -0
  1941. package/packages/react/src/scroll-area/index.ts +8 -0
  1942. package/packages/react/src/scroll-area/root/ScrollAreaRoot.test.tsx +883 -0
  1943. package/packages/react/src/scroll-area/root/ScrollAreaRoot.tsx +404 -0
  1944. package/packages/react/src/scroll-area/root/ScrollAreaRootContext.ts +62 -0
  1945. package/packages/react/src/scroll-area/root/ScrollAreaRootCssVars.ts +12 -0
  1946. package/packages/react/src/scroll-area/root/ScrollAreaRootDataAttributes.ts +30 -0
  1947. package/packages/react/src/scroll-area/root/stateAttributes.ts +13 -0
  1948. package/packages/react/src/scroll-area/scrollbar/ScrollAreaScrollbar.test.tsx +573 -0
  1949. package/packages/react/src/scroll-area/scrollbar/ScrollAreaScrollbar.tsx +288 -0
  1950. package/packages/react/src/scroll-area/scrollbar/ScrollAreaScrollbarContext.ts +20 -0
  1951. package/packages/react/src/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.ts +12 -0
  1952. package/packages/react/src/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.ts +39 -0
  1953. package/packages/react/src/scroll-area/thumb/ScrollAreaThumb.test.tsx +227 -0
  1954. package/packages/react/src/scroll-area/thumb/ScrollAreaThumb.tsx +93 -0
  1955. package/packages/react/src/scroll-area/thumb/ScrollAreaThumbDataAttributes.ts +11 -0
  1956. package/packages/react/src/scroll-area/utils/getOffset.ts +22 -0
  1957. package/packages/react/src/scroll-area/viewport/ScrollAreaViewport.test.tsx +111 -0
  1958. package/packages/react/src/scroll-area/viewport/ScrollAreaViewport.tsx +482 -0
  1959. package/packages/react/src/scroll-area/viewport/ScrollAreaViewportContext.ts +20 -0
  1960. package/packages/react/src/scroll-area/viewport/ScrollAreaViewportCssVars.ts +22 -0
  1961. package/packages/react/src/scroll-area/viewport/ScrollAreaViewportDataAttributes.ts +30 -0
  1962. package/packages/react/src/select/arrow/SelectArrow.test.tsx +17 -0
  1963. package/packages/react/src/select/arrow/SelectArrow.tsx +82 -0
  1964. package/packages/react/src/select/arrow/SelectArrowDataAttributes.ts +26 -0
  1965. package/packages/react/src/select/backdrop/SelectBackdrop.test.tsx +13 -0
  1966. package/packages/react/src/select/backdrop/SelectBackdrop.tsx +77 -0
  1967. package/packages/react/src/select/backdrop/SelectBackdropDataAttributes.ts +20 -0
  1968. package/packages/react/src/select/group/SelectGroup.test.tsx +50 -0
  1969. package/packages/react/src/select/group/SelectGroup.tsx +50 -0
  1970. package/packages/react/src/select/group/SelectGroupContext.ts +19 -0
  1971. package/packages/react/src/select/group-label/SelectGroupLabel.test.tsx +17 -0
  1972. package/packages/react/src/select/group-label/SelectGroupLabel.tsx +44 -0
  1973. package/packages/react/src/select/icon/SelectIcon.test.tsx +13 -0
  1974. package/packages/react/src/select/icon/SelectIcon.tsx +51 -0
  1975. package/packages/react/src/select/icon/SelectIconDataAttributes.ts +8 -0
  1976. package/packages/react/src/select/index.parts.ts +19 -0
  1977. package/packages/react/src/select/index.ts +20 -0
  1978. package/packages/react/src/select/item/SelectItem.test.tsx +778 -0
  1979. package/packages/react/src/select/item/SelectItem.tsx +310 -0
  1980. package/packages/react/src/select/item/SelectItemContext.ts +22 -0
  1981. package/packages/react/src/select/item/SelectItemDataAttributes.ts +14 -0
  1982. package/packages/react/src/select/item-indicator/SelectItemIndicator.test.tsx +22 -0
  1983. package/packages/react/src/select/item-indicator/SelectItemIndicator.tsx +106 -0
  1984. package/packages/react/src/select/item-indicator/SelectItemIndicatorDataAttributes.ts +12 -0
  1985. package/packages/react/src/select/item-text/SelectItemText.test.tsx +19 -0
  1986. package/packages/react/src/select/item-text/SelectItemText.tsx +56 -0
  1987. package/packages/react/src/select/label/SelectLabel.test.tsx +21 -0
  1988. package/packages/react/src/select/label/SelectLabel.tsx +62 -0
  1989. package/packages/react/src/select/list/SelectList.test.tsx +21 -0
  1990. package/packages/react/src/select/list/SelectList.tsx +64 -0
  1991. package/packages/react/src/select/popup/SelectPopup.test.tsx +1189 -0
  1992. package/packages/react/src/select/popup/SelectPopup.tsx +629 -0
  1993. package/packages/react/src/select/popup/SelectPopupDataAttributes.ts +30 -0
  1994. package/packages/react/src/select/popup/utils.ts +12 -0
  1995. package/packages/react/src/select/portal/SelectPortal.test.tsx +14 -0
  1996. package/packages/react/src/select/portal/SelectPortal.tsx +43 -0
  1997. package/packages/react/src/select/portal/SelectPortalContext.ts +12 -0
  1998. package/packages/react/src/select/positioner/SelectPositioner.spec.tsx +4 -0
  1999. package/packages/react/src/select/positioner/SelectPositioner.test.tsx +284 -0
  2000. package/packages/react/src/select/positioner/SelectPositioner.tsx +283 -0
  2001. package/packages/react/src/select/positioner/SelectPositionerContext.ts +25 -0
  2002. package/packages/react/src/select/positioner/SelectPositionerCssVars.ts +27 -0
  2003. package/packages/react/src/select/positioner/SelectPositionerDataAttributes.ts +26 -0
  2004. package/packages/react/src/select/root/SelectRoot.spec.tsx +247 -0
  2005. package/packages/react/src/select/root/SelectRoot.test.tsx +5492 -0
  2006. package/packages/react/src/select/root/SelectRoot.tsx +810 -0
  2007. package/packages/react/src/select/root/SelectRootContext.ts +63 -0
  2008. package/packages/react/src/select/scroll-arrow/SelectScrollArrow.tsx +248 -0
  2009. package/packages/react/src/select/scroll-down-arrow/SelectScrollDownArrow.test.tsx +193 -0
  2010. package/packages/react/src/select/scroll-down-arrow/SelectScrollDownArrow.tsx +35 -0
  2011. package/packages/react/src/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.ts +26 -0
  2012. package/packages/react/src/select/scroll-up-arrow/SelectScrollUpArrow.test.tsx +105 -0
  2013. package/packages/react/src/select/scroll-up-arrow/SelectScrollUpArrow.tsx +35 -0
  2014. package/packages/react/src/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.ts +26 -0
  2015. package/packages/react/src/select/store.ts +120 -0
  2016. package/packages/react/src/select/trigger/SelectTrigger.test.tsx +268 -0
  2017. package/packages/react/src/select/trigger/SelectTrigger.tsx +287 -0
  2018. package/packages/react/src/select/trigger/SelectTriggerDataAttributes.ts +57 -0
  2019. package/packages/react/src/select/value/SelectValue.test.tsx +764 -0
  2020. package/packages/react/src/select/value/SelectValue.tsx +107 -0
  2021. package/packages/react/src/select/value/SelectValueDataAttributes.ts +6 -0
  2022. package/packages/react/src/separator/Separator.test.tsx +28 -0
  2023. package/packages/react/src/separator/Separator.tsx +47 -0
  2024. package/packages/react/src/separator/SeparatorDataAttributes.ts +7 -0
  2025. package/packages/react/src/separator/index.ts +3 -0
  2026. package/packages/react/src/slider/control/SliderControl.test.tsx +27 -0
  2027. package/packages/react/src/slider/control/SliderControl.tsx +563 -0
  2028. package/packages/react/src/slider/control/SliderControlDataAttributes.ts +35 -0
  2029. package/packages/react/src/slider/index.parts.ts +7 -0
  2030. package/packages/react/src/slider/index.ts +9 -0
  2031. package/packages/react/src/slider/indicator/SliderIndicator.test.tsx +13 -0
  2032. package/packages/react/src/slider/indicator/SliderIndicator.tsx +139 -0
  2033. package/packages/react/src/slider/indicator/SliderIndicatorDataAttributes.ts +35 -0
  2034. package/packages/react/src/slider/label/SliderLabel.test.tsx +20 -0
  2035. package/packages/react/src/slider/label/SliderLabel.tsx +69 -0
  2036. package/packages/react/src/slider/root/SliderRoot.spec.tsx +98 -0
  2037. package/packages/react/src/slider/root/SliderRoot.test.tsx +3321 -0
  2038. package/packages/react/src/slider/root/SliderRoot.tsx +630 -0
  2039. package/packages/react/src/slider/root/SliderRootContext.ts +112 -0
  2040. package/packages/react/src/slider/root/SliderRootDataAttributes.ts +35 -0
  2041. package/packages/react/src/slider/root/stateAttributesMapping.ts +13 -0
  2042. package/packages/react/src/slider/thumb/SliderThumb.test.tsx +1054 -0
  2043. package/packages/react/src/slider/thumb/SliderThumb.tsx +598 -0
  2044. package/packages/react/src/slider/thumb/SliderThumbDataAttributes.ts +39 -0
  2045. package/packages/react/src/slider/thumb/prehydrationScript.min.ts +5 -0
  2046. package/packages/react/src/slider/thumb/prehydrationScript.template.js +69 -0
  2047. package/packages/react/src/slider/track/SliderTrack.test.tsx +13 -0
  2048. package/packages/react/src/slider/track/SliderTrack.tsx +47 -0
  2049. package/packages/react/src/slider/track/SliderTrackDataAttributes.ts +35 -0
  2050. package/packages/react/src/slider/utils/asc.ts +3 -0
  2051. package/packages/react/src/slider/utils/getMidpoint.ts +9 -0
  2052. package/packages/react/src/slider/utils/getPushedThumbValues.test.ts +105 -0
  2053. package/packages/react/src/slider/utils/getPushedThumbValues.ts +72 -0
  2054. package/packages/react/src/slider/utils/getSliderValue.test.ts +27 -0
  2055. package/packages/react/src/slider/utils/getSliderValue.ts +26 -0
  2056. package/packages/react/src/slider/utils/replaceArrayItemAtIndex.ts +7 -0
  2057. package/packages/react/src/slider/utils/resolveThumbCollision.test.ts +235 -0
  2058. package/packages/react/src/slider/utils/resolveThumbCollision.ts +175 -0
  2059. package/packages/react/src/slider/utils/roundValueToStep.test.ts +8 -0
  2060. package/packages/react/src/slider/utils/roundValueToStep.ts +21 -0
  2061. package/packages/react/src/slider/utils/test-utils.ts +28 -0
  2062. package/packages/react/src/slider/utils/validateMinimumDistance.ts +21 -0
  2063. package/packages/react/src/slider/utils/valueArrayToPercentages.ts +10 -0
  2064. package/packages/react/src/slider/value/SliderValue.test.tsx +72 -0
  2065. package/packages/react/src/slider/value/SliderValue.tsx +85 -0
  2066. package/packages/react/src/slider/value/SliderValueDataAttributes.ts +35 -0
  2067. package/packages/react/src/switch/index.parts.ts +2 -0
  2068. package/packages/react/src/switch/index.ts +4 -0
  2069. package/packages/react/src/switch/root/SwitchRoot.test.tsx +1116 -0
  2070. package/packages/react/src/switch/root/SwitchRoot.tsx +348 -0
  2071. package/packages/react/src/switch/root/SwitchRootContext.ts +18 -0
  2072. package/packages/react/src/switch/root/SwitchRootDataAttributes.ts +46 -0
  2073. package/packages/react/src/switch/stateAttributesMapping.ts +19 -0
  2074. package/packages/react/src/switch/thumb/SwitchThumb.test.tsx +28 -0
  2075. package/packages/react/src/switch/thumb/SwitchThumb.tsx +38 -0
  2076. package/packages/react/src/switch/thumb/SwitchThumbDataAttributes.ts +46 -0
  2077. package/packages/react/src/tabs/index.parts.ts +5 -0
  2078. package/packages/react/src/tabs/index.ts +7 -0
  2079. package/packages/react/src/tabs/indicator/TabsIndicator.test.tsx +442 -0
  2080. package/packages/react/src/tabs/indicator/TabsIndicator.tsx +185 -0
  2081. package/packages/react/src/tabs/indicator/TabsIndicatorCssVars.ts +32 -0
  2082. package/packages/react/src/tabs/indicator/TabsIndicatorDataAttributes.ts +12 -0
  2083. package/packages/react/src/tabs/indicator/prehydrationScript.min.ts +5 -0
  2084. package/packages/react/src/tabs/indicator/prehydrationScript.template.js +87 -0
  2085. package/packages/react/src/tabs/list/TabsList.test.tsx +135 -0
  2086. package/packages/react/src/tabs/list/TabsList.tsx +167 -0
  2087. package/packages/react/src/tabs/list/TabsListContext.ts +27 -0
  2088. package/packages/react/src/tabs/list/TabsListDataAttributes.ts +12 -0
  2089. package/packages/react/src/tabs/panel/TabsPanel.test.tsx +186 -0
  2090. package/packages/react/src/tabs/panel/TabsPanel.tsx +157 -0
  2091. package/packages/react/src/tabs/panel/TabsPanelDataAttributes.ts +30 -0
  2092. package/packages/react/src/tabs/root/TabsRoot.test.tsx +2325 -0
  2093. package/packages/react/src/tabs/root/TabsRoot.tsx +514 -0
  2094. package/packages/react/src/tabs/root/TabsRootContext.ts +56 -0
  2095. package/packages/react/src/tabs/root/TabsRootDataAttributes.ts +12 -0
  2096. package/packages/react/src/tabs/root/stateAttributesMapping.ts +9 -0
  2097. package/packages/react/src/tabs/tab/TabsTab.test.tsx +90 -0
  2098. package/packages/react/src/tabs/tab/TabsTab.tsx +287 -0
  2099. package/packages/react/src/tabs/tab/TabsTabDataAttributes.ts +20 -0
  2100. package/packages/react/src/toast/action/ToastAction.test.tsx +81 -0
  2101. package/packages/react/src/toast/action/ToastAction.tsx +74 -0
  2102. package/packages/react/src/toast/action/ToastActionDataAttributes.ts +7 -0
  2103. package/packages/react/src/toast/arrow/ToastArrow.test.tsx +22 -0
  2104. package/packages/react/src/toast/arrow/ToastArrow.tsx +57 -0
  2105. package/packages/react/src/toast/arrow/ToastArrowDataAttributes.ts +18 -0
  2106. package/packages/react/src/toast/close/ToastClose.test.tsx +57 -0
  2107. package/packages/react/src/toast/close/ToastClose.tsx +80 -0
  2108. package/packages/react/src/toast/close/ToastCloseDataAttributes.ts +7 -0
  2109. package/packages/react/src/toast/content/ToastContent.test.tsx +87 -0
  2110. package/packages/react/src/toast/content/ToastContent.tsx +80 -0
  2111. package/packages/react/src/toast/content/ToastContentDataAttributes.ts +12 -0
  2112. package/packages/react/src/toast/createToastManager.spec.tsx +84 -0
  2113. package/packages/react/src/toast/createToastManager.test.tsx +795 -0
  2114. package/packages/react/src/toast/createToastManager.ts +98 -0
  2115. package/packages/react/src/toast/description/ToastDescription.test.tsx +92 -0
  2116. package/packages/react/src/toast/description/ToastDescription.tsx +82 -0
  2117. package/packages/react/src/toast/description/ToastDescriptionDataAttributes.ts +7 -0
  2118. package/packages/react/src/toast/index.parts.ts +14 -0
  2119. package/packages/react/src/toast/index.ts +15 -0
  2120. package/packages/react/src/toast/portal/ToastPortal.test.tsx +14 -0
  2121. package/packages/react/src/toast/portal/ToastPortal.tsx +20 -0
  2122. package/packages/react/src/toast/positioner/ToastPositioner.test.tsx +18 -0
  2123. package/packages/react/src/toast/positioner/ToastPositioner.tsx +155 -0
  2124. package/packages/react/src/toast/positioner/ToastPositionerContext.ts +22 -0
  2125. package/packages/react/src/toast/positioner/ToastPositionerCssVars.ts +27 -0
  2126. package/packages/react/src/toast/positioner/ToastPositionerDataAttributes.ts +18 -0
  2127. package/packages/react/src/toast/provider/ToastProvider.tsx +94 -0
  2128. package/packages/react/src/toast/provider/ToastProviderContext.ts +15 -0
  2129. package/packages/react/src/toast/root/ToastRoot.test.tsx +888 -0
  2130. package/packages/react/src/toast/root/ToastRoot.tsx +629 -0
  2131. package/packages/react/src/toast/root/ToastRootContext.ts +30 -0
  2132. package/packages/react/src/toast/root/ToastRootCssVars.ts +27 -0
  2133. package/packages/react/src/toast/root/ToastRootDataAttributes.ts +37 -0
  2134. package/packages/react/src/toast/store.test.ts +178 -0
  2135. package/packages/react/src/toast/store.ts +556 -0
  2136. package/packages/react/src/toast/title/ToastTitle.test.tsx +92 -0
  2137. package/packages/react/src/toast/title/ToastTitle.tsx +81 -0
  2138. package/packages/react/src/toast/title/ToastTitleDataAttributes.ts +7 -0
  2139. package/packages/react/src/toast/useToastManager.spec.tsx +88 -0
  2140. package/packages/react/src/toast/useToastManager.test.tsx +2024 -0
  2141. package/packages/react/src/toast/useToastManager.ts +149 -0
  2142. package/packages/react/src/toast/utils/focusVisible.ts +1 -0
  2143. package/packages/react/src/toast/utils/resolvePromiseOptions.ts +22 -0
  2144. package/packages/react/src/toast/utils/test-utils.tsx +39 -0
  2145. package/packages/react/src/toast/viewport/ToastViewport.test.tsx +720 -0
  2146. package/packages/react/src/toast/viewport/ToastViewport.tsx +338 -0
  2147. package/packages/react/src/toast/viewport/ToastViewportCssVars.ts +7 -0
  2148. package/packages/react/src/toast/viewport/ToastViewportDataAttributes.ts +7 -0
  2149. package/packages/react/src/toggle/Toggle.test.tsx +171 -0
  2150. package/packages/react/src/toggle/Toggle.tsx +201 -0
  2151. package/packages/react/src/toggle/ToggleDataAttributes.ts +10 -0
  2152. package/packages/react/src/toggle/index.ts +3 -0
  2153. package/packages/react/src/toggle-group/ToggleGroup.spec.tsx +27 -0
  2154. package/packages/react/src/toggle-group/ToggleGroup.test.tsx +527 -0
  2155. package/packages/react/src/toggle-group/ToggleGroup.tsx +218 -0
  2156. package/packages/react/src/toggle-group/ToggleGroupContext.ts +36 -0
  2157. package/packages/react/src/toggle-group/ToggleGroupDataAttributes.ts +15 -0
  2158. package/packages/react/src/toggle-group/index.ts +3 -0
  2159. package/packages/react/src/toolbar/button/ToolbarButton.test.tsx +1173 -0
  2160. package/packages/react/src/toolbar/button/ToolbarButton.tsx +106 -0
  2161. package/packages/react/src/toolbar/button/ToolbarButtonDataAttributes.ts +15 -0
  2162. package/packages/react/src/toolbar/group/ToolbarGroup.test.tsx +71 -0
  2163. package/packages/react/src/toolbar/group/ToolbarGroup.tsx +67 -0
  2164. package/packages/react/src/toolbar/group/ToolbarGroupContext.ts +20 -0
  2165. package/packages/react/src/toolbar/group/ToolbarGroupDataAttributes.ts +11 -0
  2166. package/packages/react/src/toolbar/index.parts.ts +8 -0
  2167. package/packages/react/src/toolbar/index.ts +9 -0
  2168. package/packages/react/src/toolbar/input/ToolbarInput.test.tsx +237 -0
  2169. package/packages/react/src/toolbar/input/ToolbarInput.tsx +108 -0
  2170. package/packages/react/src/toolbar/input/ToolbarInputDataAttributes.ts +15 -0
  2171. package/packages/react/src/toolbar/link/ToolbarLink.test.tsx +50 -0
  2172. package/packages/react/src/toolbar/link/ToolbarLink.tsx +58 -0
  2173. package/packages/react/src/toolbar/link/ToolbarLinkDataAttributes.ts +7 -0
  2174. package/packages/react/src/toolbar/root/ToolbarRoot.test.tsx +274 -0
  2175. package/packages/react/src/toolbar/root/ToolbarRoot.tsx +124 -0
  2176. package/packages/react/src/toolbar/root/ToolbarRootContext.ts +28 -0
  2177. package/packages/react/src/toolbar/root/ToolbarRootDataAttributes.ts +11 -0
  2178. package/packages/react/src/toolbar/separator/ToolbarSeparator.tsx +44 -0
  2179. package/packages/react/src/toolbar/separator/ToolbarSeparatorDataAttributes.ts +7 -0
  2180. package/packages/react/src/tooltip/arrow/TooltipArrow.test.tsx +21 -0
  2181. package/packages/react/src/tooltip/arrow/TooltipArrow.tsx +74 -0
  2182. package/packages/react/src/tooltip/arrow/TooltipArrowDataAttributes.ts +31 -0
  2183. package/packages/react/src/tooltip/index.parts.ts +12 -0
  2184. package/packages/react/src/tooltip/index.ts +10 -0
  2185. package/packages/react/src/tooltip/popup/TooltipPopup.test.tsx +35 -0
  2186. package/packages/react/src/tooltip/popup/TooltipPopup.tsx +107 -0
  2187. package/packages/react/src/tooltip/popup/TooltipPopupDataAttributes.ts +35 -0
  2188. package/packages/react/src/tooltip/portal/TooltipPortal.test.tsx +14 -0
  2189. package/packages/react/src/tooltip/portal/TooltipPortal.tsx +48 -0
  2190. package/packages/react/src/tooltip/portal/TooltipPortalContext.ts +12 -0
  2191. package/packages/react/src/tooltip/positioner/TooltipPositioner.spec.tsx +4 -0
  2192. package/packages/react/src/tooltip/positioner/TooltipPositioner.test.tsx +302 -0
  2193. package/packages/react/src/tooltip/positioner/TooltipPositioner.tsx +149 -0
  2194. package/packages/react/src/tooltip/positioner/TooltipPositionerContext.ts +22 -0
  2195. package/packages/react/src/tooltip/positioner/TooltipPositionerCssVars.ts +27 -0
  2196. package/packages/react/src/tooltip/positioner/TooltipPositionerDataAttributes.ts +26 -0
  2197. package/packages/react/src/tooltip/provider/TooltipProvider.test.tsx +183 -0
  2198. package/packages/react/src/tooltip/provider/TooltipProvider.tsx +57 -0
  2199. package/packages/react/src/tooltip/provider/TooltipProviderContext.ts +15 -0
  2200. package/packages/react/src/tooltip/root/TooltipRoot.detached-triggers.test.tsx +1021 -0
  2201. package/packages/react/src/tooltip/root/TooltipRoot.test.tsx +2634 -0
  2202. package/packages/react/src/tooltip/root/TooltipRoot.tsx +281 -0
  2203. package/packages/react/src/tooltip/root/TooltipRootContext.ts +20 -0
  2204. package/packages/react/src/tooltip/store/TooltipHandle.ts +65 -0
  2205. package/packages/react/src/tooltip/store/TooltipStore.ts +121 -0
  2206. package/packages/react/src/tooltip/trigger/TooltipTrigger.spec.tsx +6 -0
  2207. package/packages/react/src/tooltip/trigger/TooltipTrigger.test.tsx +90 -0
  2208. package/packages/react/src/tooltip/trigger/TooltipTrigger.tsx +365 -0
  2209. package/packages/react/src/tooltip/trigger/TooltipTriggerDataAttributes.ts +12 -0
  2210. package/packages/react/src/tooltip/utils/constants.ts +1 -0
  2211. package/packages/react/src/tooltip/viewport/TooltipViewport.test.tsx +421 -0
  2212. package/packages/react/src/tooltip/viewport/TooltipViewport.tsx +85 -0
  2213. package/packages/react/src/tooltip/viewport/TooltipViewportCssVars.ts +14 -0
  2214. package/packages/react/src/tooltip/viewport/TooltipViewportDataAttributes.ts +26 -0
  2215. package/packages/react/src/types/index.ts +26 -0
  2216. package/packages/react/src/unstable-use-media-query/index.ts +90 -0
  2217. package/packages/react/src/use-render/index.ts +2 -0
  2218. package/packages/react/src/use-render/useRender.spec.tsx +59 -0
  2219. package/packages/react/src/use-render/useRender.test.tsx +318 -0
  2220. package/packages/react/src/use-render/useRender.ts +113 -0
  2221. package/packages/react/src/utils/FloatingPortalLite.tsx +43 -0
  2222. package/packages/react/src/utils/FocusGuard.tsx +42 -0
  2223. package/packages/react/src/utils/InternalBackdrop.tsx +50 -0
  2224. package/packages/react/src/utils/adaptiveOriginMiddleware.ts +77 -0
  2225. package/packages/react/src/utils/closePart.tsx +46 -0
  2226. package/packages/react/src/utils/collapsibleOpenStateMapping.ts +35 -0
  2227. package/packages/react/src/utils/formatNumber.test.ts +42 -0
  2228. package/packages/react/src/utils/formatNumber.ts +43 -0
  2229. package/packages/react/src/utils/getCssDimensions.ts +24 -0
  2230. package/packages/react/src/utils/getDisabledMountTransitionStyles.ts +9 -0
  2231. package/packages/react/src/utils/getElementAtPoint.ts +3 -0
  2232. package/packages/react/src/utils/getPseudoElementBounds.test.ts +66 -0
  2233. package/packages/react/src/utils/getPseudoElementBounds.ts +49 -0
  2234. package/packages/react/src/utils/hideMiddleware.ts +17 -0
  2235. package/packages/react/src/utils/popupStateMapping.ts +100 -0
  2236. package/packages/react/src/utils/popups/index.ts +4 -0
  2237. package/packages/react/src/utils/popups/inlineRect.test.ts +470 -0
  2238. package/packages/react/src/utils/popups/inlineRect.ts +292 -0
  2239. package/packages/react/src/utils/popups/popupStoreUtils.test.tsx +630 -0
  2240. package/packages/react/src/utils/popups/popupStoreUtils.ts +512 -0
  2241. package/packages/react/src/utils/popups/popupTriggerMap.test.ts +94 -0
  2242. package/packages/react/src/utils/popups/popupTriggerMap.ts +104 -0
  2243. package/packages/react/src/utils/popups/store.test.ts +68 -0
  2244. package/packages/react/src/utils/popups/store.ts +224 -0
  2245. package/packages/react/src/utils/popups/useTriggerFocusGuards.ts +95 -0
  2246. package/packages/react/src/utils/resolveAriaLabelledBy.ts +12 -0
  2247. package/packages/react/src/utils/resolveClassName.ts +13 -0
  2248. package/packages/react/src/utils/resolveRef.ts +13 -0
  2249. package/packages/react/src/utils/resolveStyle.ts +13 -0
  2250. package/packages/react/src/utils/scrollEdges.test.ts +30 -0
  2251. package/packages/react/src/utils/scrollEdges.ts +33 -0
  2252. package/packages/react/src/utils/scrollable.ts +72 -0
  2253. package/packages/react/src/utils/stringifyLocale.test.ts +11 -0
  2254. package/packages/react/src/utils/stringifyLocale.ts +11 -0
  2255. package/packages/react/src/utils/styles.tsx +12 -0
  2256. package/packages/react/src/utils/useAnchorPositioning.ts +755 -0
  2257. package/packages/react/src/utils/useAnchoredPopupScrollLock.ts +43 -0
  2258. package/packages/react/src/utils/useFocusableWhenDisabled.ts +99 -0
  2259. package/packages/react/src/utils/useIsHydrating.test.tsx +39 -0
  2260. package/packages/react/src/utils/useIsHydrating.ts +22 -0
  2261. package/packages/react/src/utils/useMixedToggleClickHandler.ts +61 -0
  2262. package/packages/react/src/utils/useOpenInteractionType.ts +62 -0
  2263. package/packages/react/src/utils/usePopupAutoResize.ts +238 -0
  2264. package/packages/react/src/utils/usePopupViewport.tsx +375 -0
  2265. package/packages/react/src/utils/usePositioner.tsx +44 -0
  2266. package/packages/react/src/utils/useRegisteredLabelId.ts +20 -0
  2267. package/packages/react/src/utils/useSwipeDismiss.test.tsx +1404 -0
  2268. package/packages/react/src/utils/useSwipeDismiss.ts +1208 -0
  2269. package/packages/react/src/utils/valueToPercent.ts +3 -0
  2270. package/packages/react/test/addVitestMatchers.ts +49 -0
  2271. package/packages/react/test/conformanceTests/className.tsx +25 -0
  2272. package/packages/react/test/conformanceTests/propForwarding.tsx +129 -0
  2273. package/packages/react/test/conformanceTests/refForwarding.tsx +40 -0
  2274. package/packages/react/test/conformanceTests/renderProp.tsx +180 -0
  2275. package/packages/react/test/conformanceTests/utils.ts +6 -0
  2276. package/packages/react/test/createRenderer.ts +49 -0
  2277. package/packages/react/test/describeConformance.tsx +70 -0
  2278. package/packages/react/test/describeGregorianAdapter/describeGregorianAdapter.ts +24 -0
  2279. package/packages/react/test/describeGregorianAdapter/describeGregorianAdapter.types.ts +36 -0
  2280. package/packages/react/test/describeGregorianAdapter/describeGregorianAdapter.utils.ts +3 -0
  2281. package/packages/react/test/describeGregorianAdapter/index.ts +2 -0
  2282. package/packages/react/test/describeGregorianAdapter/testComputations.ts +858 -0
  2283. package/packages/react/test/describeGregorianAdapter/testFormats.ts +32 -0
  2284. package/packages/react/test/describeGregorianAdapter/testLocalization.ts +14 -0
  2285. package/packages/react/test/floating-ui-tests/Button.module.css +18 -0
  2286. package/packages/react/test/floating-ui-tests/Button.tsx +14 -0
  2287. package/packages/react/test/floating-ui-tests/ComplexGrid.module.css +12 -0
  2288. package/packages/react/test/floating-ui-tests/ComplexGrid.tsx +102 -0
  2289. package/packages/react/test/floating-ui-tests/EmojiPicker.module.css +83 -0
  2290. package/packages/react/test/floating-ui-tests/EmojiPicker.tsx +302 -0
  2291. package/packages/react/test/floating-ui-tests/Grid.module.css +12 -0
  2292. package/packages/react/test/floating-ui-tests/Grid.tsx +95 -0
  2293. package/packages/react/test/floating-ui-tests/ListboxFocus.tsx +120 -0
  2294. package/packages/react/test/floating-ui-tests/Menu.module.css +95 -0
  2295. package/packages/react/test/floating-ui-tests/Menu.tsx +420 -0
  2296. package/packages/react/test/floating-ui-tests/MenuOrientation.module.css +100 -0
  2297. package/packages/react/test/floating-ui-tests/MenuOrientation.tsx +505 -0
  2298. package/packages/react/test/floating-ui-tests/Navigation.module.css +56 -0
  2299. package/packages/react/test/floating-ui-tests/Navigation.tsx +143 -0
  2300. package/packages/react/test/floating-ui-tests/Popover.module.css +45 -0
  2301. package/packages/react/test/floating-ui-tests/Popover.tsx +192 -0
  2302. package/packages/react/test/floating-ui-tests/gridNavigationWithColumns.ts +27 -0
  2303. package/packages/react/test/floating-ui-tests/renderGridRows.tsx +17 -0
  2304. package/packages/react/test/index.ts +9 -0
  2305. package/packages/react/test/popupConformanceTests.tsx +281 -0
  2306. package/packages/react/test/types.d.ts +1 -0
  2307. package/packages/react/test/useTestInteractions.test.tsx +154 -0
  2308. package/packages/react/test/useTestInteractions.ts +161 -0
  2309. package/packages/react/test/wait.ts +19 -0
  2310. package/packages/react/tsconfig.build.json +19 -0
  2311. package/packages/react/tsconfig.json +11 -0
  2312. package/packages/react/tsconfig.test.json +25 -0
  2313. package/packages/react/vitest-env.d.ts +6 -0
  2314. package/packages/react/vitest.config.mts +16 -0
  2315. package/packages/utils/CHANGELOG.md +91 -0
  2316. package/packages/utils/MAINTAINERS.md +8 -0
  2317. package/packages/utils/README.md +3 -0
  2318. package/packages/utils/package.json +61 -0
  2319. package/packages/utils/src/addEventListener.spec.ts +41 -0
  2320. package/packages/utils/src/addEventListener.test.ts +21 -0
  2321. package/packages/utils/src/addEventListener.ts +63 -0
  2322. package/packages/utils/src/empty.ts +5 -0
  2323. package/packages/utils/src/error.ts +18 -0
  2324. package/packages/utils/src/fastHooks.ts +70 -0
  2325. package/packages/utils/src/fastObjectShallowCompare.ts +32 -0
  2326. package/packages/utils/src/formatErrorMessage.test.ts +49 -0
  2327. package/packages/utils/src/formatErrorMessage.ts +33 -0
  2328. package/packages/utils/src/generateId.ts +5 -0
  2329. package/packages/utils/src/getDefaultFormSubmitter.test.ts +70 -0
  2330. package/packages/utils/src/getDefaultFormSubmitter.ts +34 -0
  2331. package/packages/utils/src/getReactElementRef.test.tsx +38 -0
  2332. package/packages/utils/src/getReactElementRef.ts +16 -0
  2333. package/packages/utils/src/inertValue.ts +9 -0
  2334. package/packages/utils/src/isElementDisabled.ts +7 -0
  2335. package/packages/utils/src/isMouseWithinBounds.ts +20 -0
  2336. package/packages/utils/src/mergeCleanups.test.ts +15 -0
  2337. package/packages/utils/src/mergeCleanups.ts +15 -0
  2338. package/packages/utils/src/mergeObjects.ts +15 -0
  2339. package/packages/utils/src/owner.ts +5 -0
  2340. package/packages/utils/src/platform/engine.ts +22 -0
  2341. package/packages/utils/src/platform/env.ts +4 -0
  2342. package/packages/utils/src/platform/index.ts +27 -0
  2343. package/packages/utils/src/platform/os.ts +24 -0
  2344. package/packages/utils/src/platform/parts.ts +4 -0
  2345. package/packages/utils/src/platform/screen-reader.ts +12 -0
  2346. package/packages/utils/src/platform/shared.ts +51 -0
  2347. package/packages/utils/src/reactVersion.ts +9 -0
  2348. package/packages/utils/src/safeReact.ts +11 -0
  2349. package/packages/utils/src/store/ReactStore.spec.ts +94 -0
  2350. package/packages/utils/src/store/ReactStore.test.tsx +574 -0
  2351. package/packages/utils/src/store/ReactStore.ts +282 -0
  2352. package/packages/utils/src/store/Store.ts +123 -0
  2353. package/packages/utils/src/store/StoreInspector.tsx +595 -0
  2354. package/packages/utils/src/store/createSelector.ts +137 -0
  2355. package/packages/utils/src/store/createSelectorMemoized.ts +99 -0
  2356. package/packages/utils/src/store/index.ts +6 -0
  2357. package/packages/utils/src/store/useStore.ts +193 -0
  2358. package/packages/utils/src/testUtils.ts +21 -0
  2359. package/packages/utils/src/useAnimationFrame.ts +132 -0
  2360. package/packages/utils/src/useControlled.test.tsx +272 -0
  2361. package/packages/utils/src/useControlled.ts +112 -0
  2362. package/packages/utils/src/useEnhancedClickHandler.ts +50 -0
  2363. package/packages/utils/src/useForcedRerendering.ts +13 -0
  2364. package/packages/utils/src/useId.test.tsx +124 -0
  2365. package/packages/utils/src/useId.ts +42 -0
  2366. package/packages/utils/src/useInterval.ts +42 -0
  2367. package/packages/utils/src/useIsoLayoutEffect.ts +6 -0
  2368. package/packages/utils/src/useMergedRefs.test.tsx +174 -0
  2369. package/packages/utils/src/useMergedRefs.ts +151 -0
  2370. package/packages/utils/src/useOnFirstRender.ts +10 -0
  2371. package/packages/utils/src/useOnMount.ts +14 -0
  2372. package/packages/utils/src/usePreviousValue.test.tsx +185 -0
  2373. package/packages/utils/src/usePreviousValue.ts +20 -0
  2374. package/packages/utils/src/useRefWithInit.ts +23 -0
  2375. package/packages/utils/src/useScrollLock.ts +289 -0
  2376. package/packages/utils/src/useStableCallback.ts +62 -0
  2377. package/packages/utils/src/useTimeout.ts +52 -0
  2378. package/packages/utils/src/useValueAsRef.ts +30 -0
  2379. package/packages/utils/src/visuallyHidden.ts +24 -0
  2380. package/packages/utils/src/warn.ts +14 -0
  2381. package/packages/utils/tsconfig.build.json +19 -0
  2382. package/packages/utils/tsconfig.json +11 -0
  2383. package/packages/utils/tsconfig.test.json +16 -0
  2384. package/packages/utils/vitest.config.mts +12 -0
  2385. package/playground/vite-app/README.md +45 -0
  2386. package/playground/vite-app/index.html +13 -0
  2387. package/playground/vite-app/package.json +34 -0
  2388. package/playground/vite-app/public/base-ui-logo.svg +5 -0
  2389. package/playground/vite-app/public/vite.svg +1 -0
  2390. package/playground/vite-app/src/Home.tsx +41 -0
  2391. package/playground/vite-app/src/experiments/perf/SettingsPanel.tsx +115 -0
  2392. package/playground/vite-app/src/experiments/perf/contained-triggers.tsx +226 -0
  2393. package/playground/vite-app/src/experiments/perf/detached-triggers.tsx +286 -0
  2394. package/playground/vite-app/src/experiments/perf/perf.module.css +99 -0
  2395. package/playground/vite-app/src/experiments/perf/radix-triggers.tsx +224 -0
  2396. package/playground/vite-app/src/experiments/perf/utils/benchmark.tsx +184 -0
  2397. package/playground/vite-app/src/index.css +50 -0
  2398. package/playground/vite-app/src/index.tsx +74 -0
  2399. package/playground/vite-app/src/routes.tsx +50 -0
  2400. package/playground/vite-app/tsconfig.app.json +38 -0
  2401. package/playground/vite-app/tsconfig.json +4 -0
  2402. package/playground/vite-app/tsconfig.node.json +26 -0
  2403. package/playground/vite-app/vite.config.ts +36 -0
  2404. package/pnpm-workspace.yaml +31 -0
  2405. package/prettier.config.mjs +3 -0
  2406. package/renovate.json +31 -0
  2407. package/scripts/README.md +58 -0
  2408. package/scripts/changelog.config.mjs +60 -0
  2409. package/scripts/inlineScripts.mts +56 -0
  2410. package/scripts/stylelint/no-unknown-demo-colors.mjs +447 -0
  2411. package/scripts/tsconfig.json +10 -0
  2412. package/stylelint.config.mjs +59 -0
  2413. package/test/README.md +205 -0
  2414. package/test/assets/fake.png +0 -0
  2415. package/test/assets/fake2.png +0 -0
  2416. package/test/bundle-size/bundle-size-checker.config.mjs +69 -0
  2417. package/test/bundle-size/package.json +16 -0
  2418. package/test/docs-regressions-before.png +0 -0
  2419. package/test/docs-regressions-diff.png +0 -0
  2420. package/test/e2e/README.md +30 -0
  2421. package/test/e2e/TestViewer.tsx +21 -0
  2422. package/test/e2e/fixtures/.gitkeep +0 -0
  2423. package/test/e2e/fixtures/Radio.module.css +56 -0
  2424. package/test/e2e/fixtures/Radio.tsx +35 -0
  2425. package/test/e2e/fixtures/field/validate-on-change/Input.module.css +26 -0
  2426. package/test/e2e/fixtures/field/validate-on-change/Input.tsx +22 -0
  2427. package/test/e2e/fixtures/field/validate-on-change/Select.module.css +162 -0
  2428. package/test/e2e/fixtures/field/validate-on-change/Select.tsx +56 -0
  2429. package/test/e2e/fixtures/menu/LinkItemNavigation.module.css +50 -0
  2430. package/test/e2e/fixtures/menu/LinkItemNavigation.tsx +40 -0
  2431. package/test/e2e/fixtures/menu/PageOne.tsx +3 -0
  2432. package/test/e2e/fixtures/menu/PageTwo.tsx +3 -0
  2433. package/test/e2e/fixtures/menu/ReactRouterLinkItemNavigation.tsx +43 -0
  2434. package/test/e2e/fixtures/navigation-menu/InlineSubmenuHoverHandoff.tsx +293 -0
  2435. package/test/e2e/fixtures/slider/Inset.module.css +23 -0
  2436. package/test/e2e/fixtures/slider/Inset.tsx +13 -0
  2437. package/test/e2e/fixtures/slider/Range.module.css +33 -0
  2438. package/test/e2e/fixtures/slider/Range.tsx +15 -0
  2439. package/test/e2e/fixtures/slider/RangeSliderMax.module.css +33 -0
  2440. package/test/e2e/fixtures/slider/RangeSliderMax.tsx +15 -0
  2441. package/test/e2e/index.html +21 -0
  2442. package/test/e2e/index.test.ts +347 -0
  2443. package/test/e2e/main.tsx +134 -0
  2444. package/test/e2e/postcss.config.js +7 -0
  2445. package/test/e2e/serve.json +4 -0
  2446. package/test/e2e/vite.config.mjs +10 -0
  2447. package/test/e2e/vitest.config.mts +21 -0
  2448. package/test/node-resolution/index.mjs +6 -0
  2449. package/test/node-resolution/package.json +11 -0
  2450. package/test/package.json +25 -0
  2451. package/test/performance/package.json +19 -0
  2452. package/test/performance/tests/checkbox.bench.tsx +20 -0
  2453. package/test/performance/tests/combobox.bench.tsx +87 -0
  2454. package/test/performance/tests/dialog.bench.tsx +28 -0
  2455. package/test/performance/tests/menu.bench.tsx +70 -0
  2456. package/test/performance/tests/mixed.bench.tsx +173 -0
  2457. package/test/performance/tests/popover.bench.tsx +28 -0
  2458. package/test/performance/tests/scroll-area.bench.tsx +34 -0
  2459. package/test/performance/tests/select.bench.tsx +86 -0
  2460. package/test/performance/tests/shared.tsx +26 -0
  2461. package/test/performance/tests/slider.bench.tsx +26 -0
  2462. package/test/performance/tests/tabs.bench.tsx +33 -0
  2463. package/test/performance/tests/tooltip.bench.tsx +27 -0
  2464. package/test/performance/tsconfig.json +11 -0
  2465. package/test/performance/vitest.config.ts +3 -0
  2466. package/test/public-types/autocomplete.tsx +80 -0
  2467. package/test/public-types/checkbox.tsx +6 -0
  2468. package/test/public-types/combobox.tsx +71 -0
  2469. package/test/public-types/index.tsx +129 -0
  2470. package/test/public-types/menu.tsx +11 -0
  2471. package/test/public-types/package.json +10 -0
  2472. package/test/public-types/separator.tsx +6 -0
  2473. package/test/public-types/toast.tsx +27 -0
  2474. package/test/public-types/tsconfig.json +25 -0
  2475. package/test/public-types/use-render.tsx +59 -0
  2476. package/test/regressions/README.md +56 -0
  2477. package/test/regressions/TestViewer.tsx +84 -0
  2478. package/test/regressions/fixtures/.gitkeep +0 -0
  2479. package/test/regressions/fixtures.ts +111 -0
  2480. package/test/regressions/index.html +20 -0
  2481. package/test/regressions/index.test.ts +100 -0
  2482. package/test/regressions/main.tsx +127 -0
  2483. package/test/regressions/manual/README.md +4 -0
  2484. package/test/regressions/postcss.config.js +7 -0
  2485. package/test/regressions/public/fonts/die-grotesk-a-bold.woff2 +0 -0
  2486. package/test/regressions/public/fonts/die-grotesk-a-regular.woff2 +0 -0
  2487. package/test/regressions/public/fonts/die-grotesk-b-bold.woff2 +0 -0
  2488. package/test/regressions/public/fonts/die-grotesk-b-regular.woff2 +0 -0
  2489. package/test/regressions/serve.json +4 -0
  2490. package/test/regressions/vite.config.mjs +10 -0
  2491. package/test/regressions/vitest.config.mts +22 -0
  2492. package/test/setupVitest.ts +37 -0
  2493. package/test/tsconfig.json +10 -0
  2494. package/test/vite.d.ts +1 -0
  2495. package/test/vite.shared.config.mjs +25 -0
  2496. package/tsconfig.base.json +26 -0
  2497. package/tsconfig.json +22 -0
  2498. package/vitest.config.mts +30 -0
  2499. package/vitest.shared.mts +67 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,2648 @@
1
+ # Versions
2
+
3
+ ## v1.6.0
4
+
5
+ _Jun 18, 2026_
6
+
7
+ ### General changes
8
+
9
+ - Correct inaccurate prop JSDoc (#5036) by @atomiks
10
+ - Update the hook value when store/arguments change (#4866) by @chuganzy
11
+ - Restore viewport morphing after reopen for kept-mounted popups (#5010) by @atomiks
12
+ - Fix pseudo-element bounds in dev mode (#5000) by @atomiks
13
+
14
+ ### Accordion
15
+
16
+ - Fix trigger behavior bugs (#4833) by @atomiks
17
+ - Remove region role from `Accordion.Root` (#4961) by @chuganzy
18
+ - Align keyboard navigation with APG (#4965) by @chuganzy
19
+
20
+ ### Alert Dialog
21
+
22
+ - Fix programmatic focus return (#4849) by @atomiks
23
+
24
+ ### Autocomplete
25
+
26
+ - Keep ArrowLeft/ArrowRight on the input caret in grid mode (#4948) by @spokodev
27
+ - Document `open` requirement for the `inline` prop (#5069) by @atomiks
28
+
29
+ ### Avatar
30
+
31
+ - Fix image status edge cases (#4835) by @atomiks
32
+
33
+ ### Checkbox
34
+
35
+ - Fix parent group cancellation and indeterminate state (#4941) by @atomiks
36
+ - Ignore `data-focused` Field attribute when disabled (#4998) by @atomiks
37
+ - Fix extra `validate` fn calls (#4911) by @mj12albert
38
+
39
+ ### Checkbox Group
40
+
41
+ - Fix parent group cancellation and indeterminate state (#4941) by @atomiks
42
+ - Fix parent checkbox with custom `validate` fn (#4912) by @mj12albert
43
+ - Fix validation with multiple required checkboxes (#4958) by @atomiks
44
+ - Forward group ids (#4997) by @atomiks
45
+
46
+ ### Collapsible
47
+
48
+ - Fix trigger and panel state bugs (#4848) by @atomiks
49
+
50
+ ### Combobox
51
+
52
+ - Fix chip context error (#4877) by @lyzno1
53
+ - Keep ArrowLeft/ArrowRight on the input caret in grid mode (#4948) by @spokodev
54
+ - Avoid re-rendering every item on each keystroke (#4964) by @flaviendelangle
55
+ - Fix autofill and selected state edge cases (#4972) by @atomiks
56
+ - Document `open` requirement for the `inline` prop (#5069) by @atomiks
57
+
58
+ ### Dialog
59
+
60
+ - Fix confirmation return focus (#5024) by @atomiks
61
+ - Fix programmatic focus return (#4849) by @atomiks
62
+ - Fix positioning and viewport edge cases (#4925) by @atomiks
63
+ - Fix non-modal focus-out close and tabindex management (#5030) by @atomiks
64
+
65
+ ### Drawer
66
+
67
+ - Fix confirmation return focus (#5024) by @atomiks
68
+ - Improve swipe dismiss drag performance (#4867) by @atomiks
69
+ - Drive swipe gestures natively to stop per-frame re-rasterization (#4980) by @atomiks
70
+ - Add virtual keyboard provider (#4353) by @atomiks
71
+ - Commit swipe on primary-button release (#5057) by @atomiks
72
+
73
+ ### Field
74
+
75
+ - Fix form validation bugs (#4873) by @atomiks
76
+ - Reflect disabled `Field.Item` state in `Field.Label` (#4916) by @chuganzy
77
+ - Reflect disabled `Field.Item` state in `Field.Description` (#4960) by @chuganzy
78
+ - Fix valueMissing revalidation (#4995) by @atomiks
79
+ - Fix validation bugs (#4894) by @atomiks
80
+
81
+ ### Fieldset
82
+
83
+ - Fix disabled fieldset form bugs (#4890) by @atomiks
84
+
85
+ ### Form
86
+
87
+ - Fix form validation bugs (#4873) by @atomiks
88
+
89
+ ### Menu
90
+
91
+ - Fix submenu trigger interactions (#4892) by @atomiks
92
+ - Open submenus on hover after a plain delay (#4990) by @atomiks
93
+ - Fix controlled hover leave close (#4893) by @atomiks
94
+ - Fix positioning and viewport edge cases (#4925) by @atomiks
95
+
96
+ ### Menubar
97
+
98
+ - Fix vertical menu focus behavior (#4922) by @atomiks
99
+
100
+ ### Meter
101
+
102
+ - Sync value text with indicator (#4904) by @atomiks
103
+
104
+ ### Navigation Menu
105
+
106
+ - Preserve exit transition when controlled (#4855) by @mattrothenberg
107
+ - Fix interaction, value, and styling-hook bugs (#4942) by @atomiks
108
+
109
+ ### Number Field
110
+
111
+ - Handle unreadable clipboard paste (#4876) by @lyzno1
112
+ - Fix committed values and keyboard stepping (#4905) by @atomiks
113
+ - Respect Intl rounding options on blur (#4804) by @atomiks
114
+ - Fix formatter locale cache (#4999) by @atomiks
115
+ - Preserve numeric precision while keeping default display formatting (#5040) by @atomiks
116
+ - Fix input and scrub edge cases (#5046) by @atomiks
117
+
118
+ ### OTP Field
119
+
120
+ - 🚨 **Breaking change:** Unmark preview<br />
121
+ the namespace export is renamed `OTPFieldPreview` → `OTPField` and should be imported as: `{ OTPField } from '@lizuzsusil/react/otp-field'` (#5029) by @atomiks
122
+ - Avoid password manager bubbles after first input (#4868) by @atomiks
123
+
124
+ ### Popover
125
+
126
+ - Fix controlled hover leave close (#4893) by @atomiks
127
+ - Fix programmatic focus return (#4849) by @atomiks
128
+ - Fix positioning and viewport edge cases (#4925) by @atomiks
129
+ - Fix non-modal focus-out close and tabindex management (#5030) by @atomiks
130
+
131
+ ### Preview Card
132
+
133
+ - Fix controlled hover leave close (#4893) by @atomiks
134
+ - Fix positioning and viewport edge cases (#4925) by @atomiks
135
+ - Keep inline preview anchored while open (#4836) by @atomiks
136
+ - Close when active trigger unmounts (#4886) by @michaldudak
137
+
138
+ ### Radio Group
139
+
140
+ - Forward group ids (#4997) by @atomiks
141
+ - Fix selection on space key press (#4930) by @chuganzy
142
+ - Fix disabled selected form submission (#4926) by @atomiks
143
+ - Honor canceled value changes (#4996) by @atomiks
144
+
145
+ ### Scroll Area
146
+
147
+ - Fix overflow and scrolling state (#4936) by @atomiks
148
+ - Add scrolling state to Thumb (#4982) by @aarongarciah
149
+
150
+ ### Select
151
+
152
+ - Fix autofill and selected state edge cases (#4934) by @atomiks
153
+ - Fix dirty state not clearing in multiple mode (#4971) by @atomiks
154
+ - Skip disabled items in typeahead and fix multiple-mode serialization (#5025) by @atomiks
155
+
156
+ ### Slider
157
+
158
+ - Fix extra `validate` fn calls (#4911) by @mj12albert
159
+ - Fix interaction edge cases (#4937) by @atomiks
160
+ - Fix touchend listener accumulation leak (#5070) by @atomiks
161
+
162
+ ### Switch
163
+
164
+ - Fix extra `validate` fn calls (#4911) by @mj12albert
165
+
166
+ ### Tabs
167
+
168
+ - Fix state edge cases (#4935) by @atomiks
169
+ - Fix suspended panel activation (#4903) by @atomiks
170
+
171
+ ### Toast
172
+
173
+ - Fix timer and limit edge cases (#4933) by @atomiks
174
+
175
+ ### Toggle
176
+
177
+ - Fix grouped cancelation and JSDoc (#4940) by @atomiks
178
+
179
+ ### Toggle Group
180
+
181
+ - Fix grouped cancelation and JSDoc (#4940) by @atomiks
182
+ - Remove invalid `aria-orientation` from `role="group"` element (#4628) by @sernstberger
183
+ - Fix disabled state and roving focus bugs (#4968) by @atomiks
184
+
185
+ ### Toolbar
186
+
187
+ - Do not forward `disabled` to default toolbar button (#4967) by @mj12albert
188
+ - Fix disabled state and roving focus bugs (#4968) by @atomiks
189
+
190
+ ### Tooltip
191
+
192
+ - Fix positioning and viewport edge cases (#4925) by @atomiks
193
+ - Fix provider delay group lifecycle (#4887) by @michaldudak
194
+ - Reset preventUnmountOnClose on reopen (#4885) by @michaldudak
195
+ - Close when active trigger unmounts (#4886) by @michaldudak
196
+
197
+ All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @chuganzy, @flaviendelangle, @lyzno1, @mattrothenberg, @michaldudak, @mj12albert, @sernstberger, @spokodev
198
+
199
+ ## v1.5.0
200
+
201
+ _May 19, 2026_
202
+
203
+ ### General changes
204
+
205
+ - Improve mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (#4661) by @atomiks
206
+ - Use local document for virtual arrow (#4662) by @lyzno1
207
+ - Fix macOS Safari and Firefox minimizing fullscreen when closing popups with <kbd>Esc</kbd> (#4695) by @arturbien
208
+ - Drop unnecessary memoization (#4693) by @flaviendelangle
209
+ - Do not use `Math.random()` in `useStableCallback()` (#4732) by @michaldudak
210
+ - Fix return focus when reference disconnects (#4655) by @atomiks
211
+ - Don't steal initial focus if focus already moved inside a popup (#4775) by @stefee
212
+
213
+ ### Alert Dialog
214
+
215
+ - Fix handle defaults (#4834) by @atomiks
216
+
217
+ ### Autocomplete
218
+
219
+ - Fix native `FormData` for popup inputs (#4725) by @lunaxislu
220
+
221
+ ### Checkbox
222
+
223
+ - Submit the associated form when pressing <kbd>Enter</kbd> (#4713) by @michaldudak
224
+
225
+ ### Combobox
226
+
227
+ - Expose clear visibility state (#4664) by @atomiks
228
+ - Fix popup input form submit (#4687) by @atomiks
229
+ - Preserve `closeQuery` when closing multiple input-inside-popup combobox (#4715) by @mj12albert
230
+ - Fix RTL component behavior (#4840) by @atomiks
231
+ - Ignore hidden-input changes while readonly or disabled (#4810) by @lunaxislu
232
+
233
+ ### Dialog
234
+
235
+ - Consider the controlled `open` prop for open state detection (#4712) by @michaldudak
236
+
237
+ ### Drawer
238
+
239
+ - Forward `style` prop in `<Drawer.Viewport>` (#4841) by @atomiks
240
+
241
+ ### Field
242
+
243
+ - Avoid `flushSync` during validation (#4685) by @atomiks
244
+
245
+ ### Form
246
+
247
+ - Avoid `flushSync` during validation (#4685) by @atomiks
248
+
249
+ ### Menu
250
+
251
+ - Fix submenu pointer-events scope for `keepMounted` portals (#4723) by @twillhorn
252
+ - Support `<Menu.GroupLabel>` in `<Menu.RadioGroup>` (#4826) by @nami8824
253
+ - Consider the controlled `open` prop for open state detection (#4712) by @michaldudak
254
+
255
+ ### Navigation Menu
256
+
257
+ - Fix RTL component behavior (#4840) by @atomiks
258
+ - Fix `keepMounted` content sizing (#4817) by @atomiks
259
+
260
+ ### Number Field
261
+
262
+ - Allow Persian digits in keyboard input (#4719) by @lunaxislu
263
+ - Sync pasted input during step interactions (#4824) by @lunaxislu
264
+
265
+ ### OTP Field
266
+
267
+ - **Breaking change:** Rename `sanitizeValue()` to `normalizeValue()` and allow composing with validation (#4717) by @atomiks
268
+ - Avoid `flushSync` during validation (#4685) by @atomiks
269
+ - Support <kbd>Ctrl</kbd> and <kbd>Cmd</kbd> shortcuts (#4606) by @atomiks
270
+ - Fire `onValueComplete()` for full paste (#4690) by @atomiks
271
+ - Fix vertical arrow slot navigation (#4844) by @atomiks
272
+ - Ignore hidden input changes while readonly or disabled (#4806) by @lunaxislu
273
+ - Prevent locked hidden autofill validation (#4827) by @lunaxislu
274
+ - Fix RTL arrow navigation (#4847) by @atomiks
275
+
276
+ ### Popover
277
+
278
+ - Fix RTL component behavior (#4840) by @atomiks
279
+ - Preserve active trigger on close press (#4741) by @mj12albert
280
+ - Consider the controlled `open` prop for open state detection (#4712) by @michaldudak
281
+
282
+ ### Preview Card
283
+
284
+ - Consider the controlled `open` prop for open state detection (#4712) by @michaldudak
285
+ - Integrate inline positioning (#2074) by @atomiks
286
+
287
+ ### Scroll Area
288
+
289
+ - Fix RTL component behavior (#4840) by @atomiks
290
+
291
+ ### Select
292
+
293
+ - Clear stale item text ref (#4683) by @atomiks
294
+ - Add `data-popup-side` to trigger (#4671) by @mj12albert
295
+ - Allow mouse selection without highlight (#4699) by @atomiks
296
+ - Ignore hidden-input changes while readonly or disabled (#4810) by @lunaxislu
297
+ - Fix nested Select requiring extra outside clicks to dismiss parent (#4820) by @mattrothenberg
298
+
299
+ ### Tabs
300
+
301
+ - Fire `onValueChange()` for automatic tab selection (#4704) by @michaldudak
302
+
303
+ ### Toast
304
+
305
+ - Re-use `getElementTransform()` and remove local implementation (#4749) by @sai6855
306
+ - Fix stuck drag state on release (#4742) by @aeterno-caspian
307
+ - Remove memoized selector (#4751) by @atomiks
308
+
309
+ ### Tooltip
310
+
311
+ - Consider the controlled `open` prop for open state detection (#4712) by @michaldudak
312
+ - Fix flickering when nesting tooltip inside another tooltip's trigger (#4501) by @michaldudak
313
+
314
+ All contributors of this release in alphabetical order: @aeterno-caspian, @arturbien, @atomiks, @flaviendelangle, @Janpot, @lunaxislu, @lyzno1, @mattrothenberg, @michaldudak, @mj12albert, @nami8824, @sai6855, @stefee, @twillhorn
315
+
316
+ ## v1.4.1
317
+
318
+ _Apr 20, 2026_
319
+
320
+ ### General changes
321
+
322
+ - Clear highlight on pointer leave when item is clipped by scroll container (#4604) by @atomiks
323
+ - Fix `display: contents` tabbability (#4642) by @atomiks
324
+ - Fix multi-argument event handler forwarding in `mergeProps` (#4598) by @atomiks
325
+ - Mark `date-fns` peer dependencies as optional (#4639) by @LukasTy
326
+
327
+ ### Navigation Menu
328
+
329
+ - Fix stale popup size on rapid trigger hover (#4646) by @atomiks
330
+
331
+ All contributors of this release in alphabetical order: @atomiks, @LukasTy
332
+
333
+ ## v1.4.0
334
+
335
+ _Apr 13, 2026_
336
+
337
+ ### General changes
338
+
339
+ - Improve `render` prop warning accuracy (#4324, #4363) by @atomiks
340
+ - Fix `preventBaseUIHandler` runtime wrapping (#4330) by @atomiks
341
+ - Fix Uncaught TypeError: Converting circular structure to JSON (#4452) by @Profesor08
342
+ - Expose `form` prop on hidden inputs (#4352) by @atomiks
343
+ - Add `suppressHydrationWarning` to hidden inputs (#4482) by @devxoul
344
+ - Fix outside-press dismissal in a shared shadow root (#4333) by @atomiks
345
+ - Fix `Positioner` not repositioning to a different trigger when reopened with `keepMounted` (#4407) by @mdm317
346
+ - Lock scroll of full-width anchored `modal` popups with touch input (#3100) by @atomiks
347
+
348
+ ### Alert Dialog
349
+
350
+ - Fix detached trigger HMR with recreated handles (#4472) by @atomiks
351
+
352
+ ### Autocomplete
353
+
354
+ - Fix initial live region announcements (#4286) by @atomiks
355
+
356
+ ### Avatar
357
+
358
+ - Fix flash when image is cached (#4469) by @mj12albert
359
+
360
+ ### Checkbox
361
+
362
+ - Fix uncontrolled default initialization (#4535) by @atomiks
363
+ - Prevent input state changes in `readOnly` mode (#4551) by @tsbehlman
364
+
365
+ ### Collapsible
366
+
367
+ - Fix open state when `keepMounted` has no transitions (#4555) by @mj12albert
368
+
369
+ ### Combobox
370
+
371
+ - Fix clicks in `Chips`/`InputGroup` areas not focusing the input or opening the popup (#4296) by @CiscoFran10
372
+ - Fix iOS viewport settling (#4351) by @atomiks
373
+ - Fix initial live region announcements (#4286) by @atomiks
374
+ - Prevent scroll lock when a controlled value triggers a re-render (#4507) by @ryanrhee
375
+ - Fix browser autofill with object values when autofill uses the label (#4560) by @mattrothenberg
376
+ - Prevent item taps from blurring the input (#4578) by @atomiks
377
+ - Respect rendered chips for keyboard navigation (#4572) by @atomiks
378
+
379
+ ### Dialog
380
+
381
+ - Fix detached trigger HMR with recreated handles (#4472) by @atomiks
382
+
383
+ ### Drawer
384
+
385
+ - Fix touch scroll in portaled popups (#4382) by @atomiks
386
+ - Fix nested swipe cancel state (#4410) by @atomiks
387
+ - Fix interrupted swipe dismiss cleanup (#4467) by @lunaxislu
388
+ - Warn when a popup is missing `Viewport` (#4495) by @atomiks
389
+ - Prevent dialogs from affecting nested drawer stack (#4493) by @atomiks
390
+
391
+ ### Field
392
+
393
+ - Fix form error matching in `<Field.Error>` (#4494) by @atomiks
394
+
395
+ ### Menu
396
+
397
+ - Fix `SubmenuTrigger` not respecting disabled state from `render` (#3858) by @CiscoFran10
398
+ - Preserve dialog focus on pointer leave (#4581) by @atomiks
399
+
400
+ ### Navigation Menu
401
+
402
+ - Remove invalid `aria-orientation` attribute (#4355) by @atomiks
403
+ - Add generic `Value` typing (#4328) by @atomiks
404
+ - Fix initial trigger switch size snap (#4327) by @atomiks
405
+ - Fix top-level trigger pointer events blocking (#4362) by @atomiks
406
+ - Fix reverse <kbd>Shift</kbd>+<kbd>Tab</kbd> submenu re-entry (#4464) by @atomiks
407
+ - Fix nested inline submenu hover handoff (#4413) by @atomiks
408
+ - Fix transition width when reopening (#4587) by @mdm317
409
+
410
+ ### Number Field
411
+
412
+ - Fix format rounding error on blur (#4557) by @atomiks
413
+
414
+ ### OTP Field
415
+
416
+ - Add preview `OTPField` component for one-time password and verification code entry (#4365) by @atomiks
417
+
418
+ ### Popover
419
+
420
+ - Remove stray focus guards around trigger when `modal` (#4350) by @atomiks
421
+ - Sync hover open event state (#4526) by @atomiks
422
+
423
+ ### Preview Card
424
+
425
+ - Fix hover reopen race conditions across close transitions (#4446) by @arturbien
426
+
427
+ ### Select
428
+
429
+ - Fix browser autofill with object values when autofill uses the label (#4560) by @mattrothenberg
430
+ - Preserve touch exit animations (#4325) by @atomiks
431
+ - Fix touch reopen highlight (#4356) by @atomiks
432
+ - Fix scroll arrows stopping short of the edges (#4447) by @atomiks
433
+ - Fix RTL-aligned popup positioning with `alignItemWithTrigger` (#4531) by @atomiks
434
+
435
+ ### Slider
436
+
437
+ - Fix edge thumb alignment after reveal (#4354) by @atomiks
438
+ - Remove extra TalkBack focus targets (#4242) by @atomiks
439
+ - Fix keyboard floating-point rounding (#4548) by @atomiks
440
+ - Skip client-only prehydration scripts (#4530) by @atomiks
441
+
442
+ ### Switch
443
+
444
+ - Prevent input state changes in `readOnly` mode (#4551) by @tsbehlman
445
+
446
+ ### Tabs
447
+
448
+ - Fix `activationDirection` not updating on programmatic value changes (#4347) by @LukasTy
449
+ - Fix activation direction on first render (#4532) by @atomiks
450
+ - Skip client-only prehydration scripts (#4530) by @atomiks
451
+
452
+ ### Toast
453
+
454
+ - Keep viewport expanded while touch swiping (#4411) by @atomiks
455
+ - Add upsert support to `add` method (#4440) by @atomiks
456
+ - Fix timers not resuming after window regains focus (#4438) by @kyrregjerstad
457
+
458
+ ### Toggle Group
459
+
460
+ - Fix incorrect keyboard nav on cross axis (#4488) by @mj12albert
461
+
462
+ All contributors of this release in alphabetical order: @arturbien, @atomiks, @CiscoFran10, @devxoul, @flaviendelangle, @kyrregjerstad, @LukasTy, @lunaxislu, @mattrothenberg, @mdm317, @michaldudak, @mj12albert, @Profesor08, @ryanrhee, @sai6855, @tsbehlman
463
+
464
+ ## v1.3.0
465
+
466
+ _Mar 12, 2026_
467
+
468
+ ### General changes
469
+
470
+ - Warn when a component function is rendered directly (#4077) by @atomiks
471
+ - Reset `openMethod` after close transition (#4128) by @atomiks
472
+ - Fire <kbd>Space</kbd> activation on `keydown` in composite widgets (#4053) by @atomiks
473
+ - Skip CSS-hidden items during keyboard navigation in composite widgets (#4195) by @atomiks
474
+ - Optimize hot paths in `useHover` hooks and `safePolygon` (#4199) by @atomiks
475
+ - Snap `--anchor-width` and `--anchor-height` to device pixel grid (#4082) by @flaviendelangle
476
+ - Fix outside press dismissal when a component is portaled into a shadow DOM (#4230) by @dmitri-gb
477
+ - Fix nested hoverable popups (#4206) by @dmitri-gb
478
+ - Apply `data-base-ui-inert` to highest-level node (#3955) by @atomiks
479
+ - Fix portable types (#4058) by @cgatian
480
+
481
+ ### Accordion
482
+
483
+ - Add generic `Value` typing (#4138) by @atomiks
484
+
485
+ ### Autocomplete
486
+
487
+ - Respect a `null` `filter` prop (#4117) by @atomiks
488
+ - Add `InputGroup` part (#3745) by @atomiks
489
+
490
+ ### Avatar
491
+
492
+ - Remove fallback transition logic and prevent premature image display (#4110) by @atomiks
493
+
494
+ ### Button
495
+
496
+ - Avoid checking `disabled` twice in `onKeyDown` and `onKeyUp` (#4132) by @flaviendelangle
497
+
498
+ ### Checkbox
499
+
500
+ - Add automatic `aria-labelledby` support (#4142) by @atomiks
501
+
502
+ ### Combobox
503
+
504
+ - Avoid applying field attributes to input when it is inside popup (#4154) by @atomiks
505
+ - Preserve inline input on `Enter` when nothing is highlighted (#4235) by @atomiks
506
+ - Fix ARIA attributes during SSR (#4179) by @atomiks
507
+ - Fix wrapping in virtualized grid arrow-key navigation (#4164) by @atomiks
508
+ - Add `InputGroup` part (#3745) by @atomiks
509
+ - Add support for a visually hidden close button and improve modal focus trapping (#4084) by @atomiks
510
+ - Add `Label` part (#4167) by @atomiks
511
+
512
+ ### Context Menu
513
+
514
+ - Ignore `mouseup` on non-Mac platforms (#3944) by @atomiks
515
+
516
+ ### Drawer
517
+
518
+ - **Breaking change:** `Drawer` is no longer marked as preview<br />
519
+ `Drawer` is now stable and should be imported as `{ Drawer } from '@lizuzsusil/react/drawer'` (#4293) by @atomiks
520
+ - Fix React 17 support (#4178) by @atomiks
521
+ - Include border in frontmost height variable (#4202) by @atomiks
522
+ - Improve touch selection (#4104) by @atomiks
523
+ - Preserve cross-axis scrolling during touch gestures (#4187) by @atomiks
524
+ - Prevent swipe dismissal when component is controlled (#4133) by @flaviendelangle
525
+ - Add `SwipeArea` part (#4102) by @atomiks
526
+ - Make `data-base-ui-swipe-ignore` explicit for touch interactions (#4295) by @atomiks
527
+ - Disable inheritance for swipe CSS variables (#4099) by @atomiks
528
+
529
+ ### Field
530
+
531
+ - Fix field validation when `Form` errors or `invalid` prop are present at same time (#4112) by @mj12albert
532
+
533
+ ### Menu
534
+
535
+ - Prevent `pointerleave` from stealing focus from dialogs (#4125) by @atomiks
536
+ - Optimize `pointer-events` for submenu hover interactions (#4231) by @atomiks
537
+ - Fix `closeDelay` not being applied to `Menu.SubmenuTrigger` (#4134) by @flaviendelangle
538
+ - Implement content transitions with `Viewport` (#4060) by @michaldudak
539
+
540
+ ### Meter
541
+
542
+ - Fix label announcements in NVDA (#4200) by @mj12albert
543
+
544
+ ### Navigation Menu
545
+
546
+ - Fix support for nested inline menus (#4198) by @atomiks
547
+ - Fix close propagation in nested hover menus (#4285) by @atomiks
548
+ - Close parent menus when nested link with `closeOnClick` is clicked (#4276) by @CiscoFran10
549
+ - Fix duplicate `aria-orientation` (#4309) by @atomiks
550
+ - Fix delayed trigger switches in Safari (#4310) by @atomiks
551
+
552
+ ### Number Field
553
+
554
+ - Fix increment/decrement press `reason` values in `onValueCommitted` (#4259) by @jijiseong
555
+
556
+ ### Popover
557
+
558
+ - Trap focus when `<Popover.Close>` is rendered inside and `modal` is `true`, and add support for a visually hidden close button (#4084) by @atomiks
559
+ - Fix nested hoverable popups (#3798) by @flaviendelangle
560
+
561
+ ### Preview Card
562
+
563
+ - Fix nested hoverable popups (#3798) by @flaviendelangle
564
+
565
+ ### Progress
566
+
567
+ - Fix label announcements in NVDA (#4200) by @mj12albert
568
+
569
+ ### Radio Group
570
+
571
+ - Add automatic `aria-labelledby` support (#4142) by @atomiks
572
+
573
+ ### Scroll Area
574
+
575
+ - Fix focus trapping with a non-scrollable viewport (#4220) by @atomiks
576
+ - Fix thumb size after remounting (#4107) by @atomiks
577
+
578
+ ### Select
579
+
580
+ - Fix hidden input `id` fallback (#4135) by @atomiks
581
+ - Fix `Value` placeholder not rendering with `Record` items (#4137) by @vcode-sh
582
+ - Fire `onClick` during drag-to-select (#3969) by @obeattie
583
+ - Fix `items` type definition for groups (#3884) by @aarongarciah
584
+ - Fix `alignItemWithTrigger` fallback with browser zoom (#4292) by @atomiks
585
+ - Add `Label` part (#4167) by @atomiks
586
+
587
+ ### Slider
588
+
589
+ - Add `Label` part (#4167) by @atomiks
590
+ - Stop committing validation on `touchend` (#4091) by @jijiseong
591
+
592
+ ### Switch
593
+
594
+ - Add automatic `aria-labelledby` support (#4142) by @atomiks
595
+
596
+ ### Tabs
597
+
598
+ - Re-render indicator position on tab resize (#4165) by @atomiks
599
+
600
+ ### Toast
601
+
602
+ - Enable closing all toasts (#3979) by @chuganzy
603
+ - Prevent duplicate `onClose` calls for ending toasts (#4280) by @chuganzy
604
+
605
+ ### Tooltip
606
+
607
+ - Add `closeOnClick` prop (#4140) by @atomiks
608
+
609
+ All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @cgatian, @chuganzy, @CiscoFran10, @dmitri-gb, @flaviendelangle, @jijiseong, @michaldudak, @mj12albert, @obeattie, @vcode-sh
610
+
611
+ ## v1.2.0
612
+
613
+ _Feb 12, 2026_
614
+
615
+ ### General changes
616
+
617
+ - Do not memoize `state` when not needed (#3812) by @flaviendelangle
618
+ - Support lazy element in `render` prop (#3856) by @oliviertassinari
619
+ - Replace Firefox deprecated mozInputSource check for virtual click detection (#3942) by @CiscoFran10
620
+ - Use `WeakRef` for previously focused elements (#3916) by @atomiks
621
+ - Fix page scroll jump when input has focus on unmount in Safari (#3925) by @atomiks
622
+ - Fix flash at origin before positioning completes in Preact (#3975) by @OliverSpeir
623
+ - Reduce style recalculation with classic scrollbars (#3854) by @mdm317
624
+ - Fix event handling in useEnhancedClickHandler (#3981) by @sai6855
625
+
626
+ ### Autocomplete
627
+
628
+ - Fix filter method's `useMemo` dependency (#3862) by @ZeeshanTamboli
629
+ - Fix Autocomplete not using its internal filter method when `mode` is `list` (#3936) by @ZeeshanTamboli
630
+ - Remove unnecessary double stringification of item in filtering logic (#3945) by @ZeeshanTamboli
631
+ - Add `useFilteredItems` hook (#3732) by @guisehn
632
+ - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
633
+ - Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024
634
+
635
+ ### Avatar
636
+
637
+ - Add transition attributes (#3939) by @atomiks
638
+
639
+ ### Button
640
+
641
+ - Capture component stack for `nativeButton` error message (#3861) by @atomiks
642
+
643
+ ### Checkbox
644
+
645
+ - Cleanup disabled state tracking (#3913) by @atomiks
646
+ - Preserve modifier key properties in the change event (#3935) by @mj12albert
647
+ - Allow exit animations on `<Checkbox.Indicator>` when `keepMounted={false}` (#3939) by @atomiks
648
+
649
+ ### Combobox
650
+
651
+ - Fix the type of the ref of the `Icon` part (#3796) by @flaviendelangle
652
+ - Avoid clearing selected value if item is not present in items array (#3824) by @atomiks
653
+ - Fix highlight change reason in `ChipRemove` (#3980) by @sai6855
654
+ - Keep highlight on last deselect (#3923) by @atomiks
655
+ - Fix inline filtering after selection in single mode (#3978) by @atomiks
656
+ - Clear highlight on inline blur when inline (#3973) by @atomiks
657
+ - Prevent opening popup on autofill change (#3924) by @atomiks
658
+ - Distinguish `input-press` from `trigger-press` in `onOpenChange` reason (#4015) by @jijiseong
659
+ - Fix async items while popup is open (#4034) by @atomiks
660
+ - Prevent `Chip` from receiving focus when `disabled` (#4044) by @jijiseong
661
+ - Add `useFilteredItems` hook (#3732) by @guisehn
662
+ - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
663
+ - Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024
664
+ - Fix `onClick` `Item` type (#3964) by @atomiks
665
+ - Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
666
+ - Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
667
+ - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
668
+
669
+ ### Context Menu
670
+
671
+ - Fix `disabled` prop not working (#3806) by @arturbien
672
+ - Fix explicit `collisionAvoidance` with `side: 'flip'` not working (#3877) by @obeattie
673
+
674
+ ### Drawer
675
+
676
+ - Create new Drawer / Sheet component (#3680) by @atomiks
677
+
678
+ ### Field
679
+
680
+ - Prevent re-renders when `Field.Control` is uncontrolled (#3820) by @atomiks
681
+ - Fix autofocus in SSR environments (#3871) by @mj12albert
682
+ - Fix max update depth loop when using `<React.Activity>` (#3931) by @atomiks
683
+ - Add transition attributes (#3939) by @atomiks
684
+
685
+ ### Input
686
+
687
+ - Fix autofocus in SSR environments (#3871) by @mj12albert
688
+ - Update ref type to `HTMLElement` (#3866) by @mj12albert
689
+
690
+ ### Menu
691
+
692
+ - Fix `onClick` `Item` type (#3964) by @atomiks
693
+ - Fix submenu stuck glitch (#3783) by @atomiks
694
+ - Fix race conditions (#3821) by @atomiks
695
+ - Add `<Menu.LinkItem>` part (#3400) by @mj12albert
696
+
697
+ ### Navigation Menu
698
+
699
+ - Fix forwarded ref types (#3775) by @CrawlerCode
700
+ - Add `keepMounted` prop to `Content` part (#3794) by @atomiks
701
+
702
+ ### Number Field
703
+
704
+ - Fix click handlers on ScrubArea (#3827) by @mj12albert
705
+ - Remove `event.isTrusted` (#3920) by @atomiks
706
+ - Stop repeat change at bounds (#3915) by @atomiks
707
+ - Add `allowOutOfRange` prop (#3919) by @atomiks
708
+ - Fix pen pointer handling (#3917) by @atomiks
709
+ - Fix missing field state data attributes (#3909) by @mj12albert
710
+
711
+ ### Popover
712
+
713
+ - Fix missing `aria-owns` element (#3959) by @atomiks
714
+ - Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
715
+ - Fix broken scale transition with detached triggers (#3810) by @michaldudak
716
+
717
+ ### Preview Card
718
+
719
+ - Fix broken scale transition with detached triggers (#3810) by @michaldudak
720
+
721
+ ### Progress
722
+
723
+ - De-duplicate `formatValue` function (#3805) by @sai6855
724
+
725
+ ### Radio Group
726
+
727
+ - Preserve modifier key properties in the change event (#3935) by @mj12albert
728
+ - Allow exit animations on `<Radio.Indicator>` when `keepMounted={false}` (#3939) by @atomiks
729
+ - Rely on individual radio hidden inputs (#3826) by @atomiks
730
+ - Add generic `Value` typing to `Radio` (#4033) by @atomiks
731
+
732
+ ### Scroll Area
733
+
734
+ - Add `data-scrolling` state attribute to `Root` and `Viewport` parts (#3823) by @arturbien
735
+ - Fix overflow edge rounding (#3888) by @atomiks
736
+
737
+ ### Select
738
+
739
+ - Add `finalFocus` prop (#3785) by @markocupic024
740
+ - Fix `alignItemWithTrigger` transform with CSS animations (#3831) by @atomiks
741
+ - Fix `highlightItemOnHover` not being respected (#3868) by @sarthakmalik0810
742
+ - Reset typeahead on external blur (#2618) by @antonfrolovsky
743
+ - Fix scroll height loop (#3795) by @atomiks
744
+ - Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
745
+ - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
746
+
747
+ ### Slider
748
+
749
+ - Fix missing field state data attributes (#3909) by @mj12albert
750
+ - Fix change event cloning (#3960) by @atomiks
751
+
752
+ ### Switch
753
+
754
+ - Preserve modifier key properties in the change event (#3935) by @mj12albert
755
+
756
+ ### Tabs
757
+
758
+ - Add transition attributes to `<Tabs.Panel>` part (#3880) by @atomiks
759
+
760
+ ### Toast
761
+
762
+ - Make `useToastManager` and `createToastManager` generic functions (#3882) by @solastley
763
+ - Prevent dismissed promise toast from reopening on updates (#4040) by @atomiks
764
+ - Introduce a store (#3464) by @flaviendelangle
765
+
766
+ ### Toggle
767
+
768
+ - Improve type safety and inference (#3173) by @michaelhazan
769
+
770
+ ### Toggle Group
771
+
772
+ - Type value as string to match Toggle (#3770) by @markocupic024
773
+ - Enable `Home`/`End` key navigation (#3971) by @jijiseong
774
+ - Improve type safety and inference (#3173) by @michaelhazan
775
+
776
+ ### Tooltip
777
+
778
+ - Prevent opening when focusing a disabled Trigger (#3902) by @michaldudak
779
+ - Fix broken scale transition with detached triggers (#3810) by @michaldudak
780
+ - Fix disabled prop on Triggers (#4049) by @michaldudak
781
+
782
+ All contributors of this release in alphabetical order: @antonfrolovsky, @arturbien, @atomiks, @CiscoFran10, @CrawlerCode, @flaviendelangle, @guisehn, @jijiseong, @LukasTy, @markocupic024, @mattrothenberg, @mdm317, @michaelhazan, @michaldudak, @mj12albert, @obeattie, @OliverSpeir, @oliviertassinari, @sai6855, @sarthakmalik0810, @solastley, @ZeeshanTamboli
783
+
784
+ ## v1.1.0
785
+
786
+ _Jan 15, 2026_
787
+
788
+ ### General changes
789
+
790
+ - Fix `onOpenChangeComplete(true)` timing (#3558) by @atomiks
791
+ - Fix touch `openMethod` when tapping outside element bounds on Safari (#3541) by @atomiks
792
+ - Fix visually hidden input styles across form components (#3606) by @atomiks
793
+ - Fix click and drags outside a nested popup component from closing its parents (#3571) by @atomiks
794
+ - Fix forwarded ref types (#3638) by @atomiks
795
+ - Fix detached trigger remounting (#3724) by @atomiks
796
+ - Include `ref` in `BaseUIComponentProps` (#2813) by @atomiks
797
+ - Remove duplicated `disabled` prop (#3650) by @seongminn
798
+ - Allow `actionsRef` to be `null` (#3682) by @mj12albert
799
+
800
+ ### Accordion
801
+
802
+ - Fix keyboard navigation with non-interactive trigger elements (#3684) by @ZeeshanTamboli
803
+
804
+ ### Autocomplete
805
+
806
+ - Add `data-popup-side` and `data-list-empty` state attributes to `<Autocomplete.Trigger>` (#3491) by @atomiks
807
+ - Add `loopFocus` prop (#3592) by @atomiks
808
+ - Fix hidden input `id` and `required` props (#3640) by @atomiks
809
+
810
+ ### Button
811
+
812
+ - Remove discriminated props union (#3643) by @atomiks
813
+
814
+ ### Checkbox
815
+
816
+ - Fix hidden input `id` and `required` props (#3640) by @atomiks
817
+
818
+ ### Combobox
819
+
820
+ - Add `data-popup-side` and `data-list-empty` state attributes to `<Combobox.Trigger>` (#3491) by @atomiks
821
+ - Add `loopFocus` prop (#3592) by @atomiks
822
+ - Add `toolbar` role to `<Combobox.Chips>` to prevent NVDA from entering browse mode (#3647) by @atomiks
823
+ - Add `placeholder` prop to `<Combobox.Value>` (#3604) by @atomiks
824
+ - Fix controlled `value` prop when `items` change (#3607) by @atomiks
825
+ - Fix `multiple` values label resolution in `<Combobox.Value>` (#3314) by @atomiks
826
+ - Forward root `id` to visible form element (#3722) by @atomiks
827
+ - Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks
828
+
829
+ ### Context Menu
830
+
831
+ - Avoid creating sibling elements next to trigger (#3645) by @atomiks
832
+
833
+ ### CSP Provider
834
+
835
+ - Add `CSPProvider` (#3553) by @atomiks
836
+
837
+ ### Dialog
838
+
839
+ - Fix `Maximum update depth exceeded` error with Suspense (#3700) by @michaldudak
840
+ - Fix `<Dialog.Title>` forwardedRef type (#3736) by @ZeeshanTamboli
841
+
842
+ ### Field
843
+
844
+ - Add `actionsRef` prop (#3395) by @mj12albert
845
+ - Add `nativeLabel` prop to `<Field.Label>` (#3723) by @atomiks
846
+ - Add missing type export (#3702) by @DiegoAndai
847
+
848
+ ### Form
849
+
850
+ - Add `actionsRef` prop (#3395) by @mj12albert
851
+
852
+ ### Menu
853
+
854
+ - Fix focus guard handling (#3654) by @atomiks
855
+ - Avoid disabling modality on click after hover-open (#3455) by @atomiks
856
+
857
+ ### Menubar
858
+
859
+ - Fix submenu outside-press dismiss on touch (#3556) by @atomiks
860
+
861
+ ### Number Field
862
+
863
+ - Fix Field `data-focused` state (#3563) by @atomiks
864
+ - Fix hidden input focus on submit (#3581) by @atomiks
865
+
866
+ ### Popover
867
+
868
+ - Fix popup auto resize glitches (#3591) by @atomiks
869
+ - Fix focus guard handling (#3654) by @atomiks
870
+ - Prevent disabling focus management when clicking trigger before hover delay completes (#3572) by @atomiks
871
+ - Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Popover.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks
872
+
873
+ ### Preview Card
874
+
875
+ - Support detached triggers (#3566) by @michaldudak and @atomiks
876
+
877
+ ### Radio Group
878
+
879
+ - Fix `value` type (#3582) by @atomiks
880
+ - Fix hidden input `id` and `required` props (#3640) by @atomiks
881
+
882
+ ### Scroll Area
883
+
884
+ - Perf improvements (#3536) by @atomiks
885
+
886
+ ### Select
887
+
888
+ - Add `placeholder` prop to `<Select.Value>` (#3604) by @atomiks
889
+ - Fix support for transform animations when `alignItemWithTrigger` is active (#3532) by @atomiks
890
+ - Fix support for `max-height` popup style when `alignItemWithTrigger` is active (#3573) by @atomiks
891
+ - Fix `data-filled` state in `multiple` mode (#3608) by @atomiks
892
+ - Fix highlight being removed on popup mouseout when `highlightItemOnHover` is disabled (#3492) by @atomiks
893
+ - Fix support for individual transform animations when `alignItemWithTrigger` is active (#3637) by @atomiks
894
+ - Fix `multiple` values label resolution in `<Select.Value>` (#3314) by @atomiks
895
+ - Forward root `id` to visible form element (#3722) by @atomiks
896
+ - Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks
897
+
898
+ ### Slider
899
+
900
+ - Fix `onValueCommitted` not called for range sliders (#3600) by @mj12albert
901
+
902
+ ### Switch
903
+
904
+ - Add `value` prop (#3676) by @Grafikart
905
+ - Fix hidden input `id` and `required` props (#3640) by @atomiks
906
+
907
+ ### Toast
908
+
909
+ - Fix timers not being rescheduled when updated (#3564) by @atomiks
910
+
911
+ ### Tooltip
912
+
913
+ - Fix popup auto resize glitches (#3591) by @atomiks
914
+ - Fix `trackCursorAxis` handling (#3679) by @atomiks
915
+ - Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Tooltip.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks
916
+
917
+ ### mergeProps
918
+
919
+ - Make `mergeProps` public (#3642) by @michaldudak and @LukasTy
920
+
921
+ ### useRender
922
+
923
+ - Export missing types (#3565) by @michaldudak
924
+
925
+ All contributors of this release in alphabetical order: @albertdugba, @atomiks, @brijeshb42, @chuganzy, @colmtuite, @dav-is, @DiegoAndai, @Grafikart, @Janpot, @LukasTy, @michaldudak, @mj12albert, @oliviertassinari, @seongminn, @updbqn, @ZeeshanTamboli
926
+
927
+ ## v1.0.0
928
+
929
+ _Dec 11, 2025_
930
+
931
+ ### General changes
932
+
933
+ - **Breaking change:** Rename packages to use the `@lizuzsusil` org.<br />
934
+ The package name has changed from `@lizuzsusil-components/react` to `@lizuzsusil/react`.
935
+ (#3462) by @mnajdova
936
+
937
+ ### Combobox
938
+
939
+ - Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
940
+ - Add `null` as an option for the value prop (#3488) by @mnajdova
941
+
942
+ ### Menu
943
+
944
+ - Fix submenu opens with 0 delay (#3459) by @atomiks
945
+ - Fix focus not returning to trigger on <kbd>Esc</kbd> while pointer rests on popup (#3482) by @atomiks
946
+ - Fix always `null` open method (#3486) by @atomiks
947
+ - Allow side axis fallback for submenus by default (#3470) by @atomiks
948
+
949
+ ### Navigation Menu
950
+
951
+ - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
952
+
953
+ ### Number Field
954
+
955
+ - Fix multiple scrub area support (#3471) by @atomiks
956
+
957
+ ### Popover
958
+
959
+ - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
960
+ - Fix skipped viewport transitions (#3453) by @atomiks
961
+
962
+ ### Select
963
+
964
+ - Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
965
+ - Add `null` as an option for the value prop (#3488) by @mnajdova
966
+
967
+ ### Tabs
968
+
969
+ - Fix indicator positioning in transformed containers (#3439) by @atomiks
970
+ - Do not initially select a disabled tab (#3475) by @michaldudak
971
+
972
+ ### Toast
973
+
974
+ - Fix `flushSync` dev error when toast is added (#3443) by @atomiks
975
+ - Fix `<Toast.Close>;` emitting `aria-hidden` warning on click (#3469) by @atomiks
976
+
977
+ ### Toggle Group
978
+
979
+ - More permissive towards falsy toggle values (#3477) by @mj12albert
980
+
981
+ ### Tooltip
982
+
983
+ - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
984
+ - Fix ignored "modal" setting in Popovers experiment (#3474) by @michaldudak
985
+ - Fix shared tooltip closing with trigger gaps (#3452) by @atomiks
986
+ - Fix skipped viewport transitions (#3453) by @atomiks
987
+
988
+ All contributors of this release in alphabetical order: @atomiks, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @pondorasti, @romgrk, @ZeeshanTamboli
989
+
990
+ ## v1.0.0-rc.2
991
+
992
+ _Dec 11, 2025_
993
+
994
+ This release contains the same code as v1.0.0.
995
+ Please refer to that version to see the changes.
996
+
997
+ ## v1.0.0-rc.1
998
+
999
+ _Dec 11, 2025_
1000
+
1001
+ This release contains the same code as v1.0.0.
1002
+ Please refer to that version to see the changes.
1003
+
1004
+ ## v1.0.0-rc.0
1005
+
1006
+ _Dec 4, 2025_
1007
+
1008
+ ### General changes
1009
+
1010
+ - Fix missing `'use client'` directives (#3408) by @atomiks
1011
+
1012
+ ### Autocomplete
1013
+
1014
+ - Fix `keepHighlight` focus sync (#3399) by @atomiks
1015
+
1016
+ ### Checkbox
1017
+
1018
+ - **Breaking change:** Match native unchecked state in form submission.<br />
1019
+ The Checkbox will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
1020
+ (#3406) by @atomiks
1021
+
1022
+ ### Collapsible
1023
+
1024
+ - Remove `render={null}` (#3407) by @mj12albert
1025
+
1026
+ ### Combobox
1027
+
1028
+ - **Breaking change:** Removed the `keepHighlight` prop (#3377) by @atomiks
1029
+
1030
+ ### Dialog
1031
+
1032
+ - Close when pressing focusable element outside (#3380) by @atomiks
1033
+ - Fix closing after pointer lock exit in Firefox (#3379) by @atomiks
1034
+
1035
+ ### Menu
1036
+
1037
+ - Add `highlightItemOnHover` prop (#3377) by @atomiks
1038
+ - Do not import client components from MenuStore (#3409) by @michaldudak
1039
+
1040
+ ### Number Field
1041
+
1042
+ - Ensure hidden input participates in form validation (#3374) by @atomiks
1043
+ - Improve symbol replacement logic (#3376) by @atomiks
1044
+ - Fix fractional step snapping (#3375) by @atomiks
1045
+ - Fix parsing numbers with Swiss locale (#3361) by @michaldudak
1046
+ - Fix pointer lock release when soft clicking in Firefox (#3378) by @atomiks
1047
+
1048
+ ### Popover
1049
+
1050
+ - Close when pressing focusable element outside (#3380) by @atomiks
1051
+ - Fix modal backdrop on touch (#3383) by @atomiks
1052
+ - Fix popover glitching when flipped (#3364) by @michaldudak
1053
+
1054
+ ### Select
1055
+
1056
+ - Add `highlightItemOnHover` prop (#3377) by @atomiks
1057
+
1058
+ ### Switch
1059
+
1060
+ - **Breaking change:** Match native off state in form submission.<br />
1061
+ The Switch will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
1062
+ (#3406) by @atomiks
1063
+
1064
+ ### Tabs
1065
+
1066
+ - **Breaking change:** Fix Panel `keepMounted` behavior.<br />
1067
+ The `value` prop is now required on `<Tabs.Tab>` and `<Tabs.Panel>` parts.
1068
+ (#3372) by @atomiks
1069
+
1070
+ ### Toast
1071
+
1072
+ - Recalculate content height when layout size is fixed (#3359) by @atomiks
1073
+ - Fix multiple swipe directions on same axis (#3392) by @mj12albert
1074
+
1075
+ ### Tooltip
1076
+
1077
+ - Improve contained triggers performance (#3385) by @michaldudak
1078
+
1079
+ All contributors of this release in alphabetical order: @atomiks, @michaldudak, @mj12albert, @oliviertassinari, @pondorasti, @romgrk
1080
+
1081
+ ## v1.0.0-beta.7
1082
+
1083
+ _Nov 27, 2025_
1084
+
1085
+ ### General changes
1086
+
1087
+ - Fix error about `props.ref` access in React &lt;=18 (#3257) by @atomiks
1088
+ - Prefer non-adaptive anchoring position in `<Positioner>` components and fix `autoFocus` scroll jumps (#3250) by @atomiks
1089
+ - Make popups' `data-anchor-hidden` state attribute check for anchor presence in layout (#3267) by @atomiks
1090
+ - Prevent popups from sticking after hover when pressing `&lt;a&gt;` tags inside them (#3318) by @atomiks
1091
+ - Improve performance when detached triggers are used (#3277)
1092
+ - Fix iOS VoiceOver voice control accessibility in non-modal popups (#3340)
1093
+
1094
+ ### Alert Dialog
1095
+
1096
+ - Fix trigger registration loop (#3249) by @atomiks
1097
+ - Fix focus restoration when focused element is hidden with CSS (#3313)
1098
+
1099
+ ### Checkbox Group
1100
+
1101
+ - Fix `aria-describedby` on checkbox group (#3269) by @mj12albert
1102
+
1103
+ ### Combobox
1104
+
1105
+ - Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
1106
+ - Fix ignored `filteredItems` instances (#3272) by @atomiks
1107
+ - Fix loop when passing `undefined` to `items` prop (#3348)
1108
+
1109
+ ### Context Menu
1110
+
1111
+ - Block mouseup at initial cursor point (#3274) by @atomiks
1112
+
1113
+ ### Dialog
1114
+
1115
+ - Fix trigger registration loop (#3249) by @atomiks
1116
+ - Fix focus restoration when focused element is hidden with CSS (#3313)
1117
+
1118
+ ### Form
1119
+
1120
+ - Fix cast `ref` type (#3324) by @mj12albert
1121
+
1122
+ ### Menu
1123
+
1124
+ - Fix trigger registration loop (#3249) by @atomiks
1125
+ - Do not pass `key` to the rendered element (#3255) by @michaldudak
1126
+ - Fix nested dialog from closing on <kbd>Shift+Tab</kbd> (#3346)
1127
+
1128
+ ### Navigation Menu
1129
+
1130
+ - Fix Safari 18 issue where `<Positioner>` width may be set to 0 on hover (#3309) by @EmilNordling
1131
+ - Ensure submenu triggers participate in composite list (#3344) by @atomiks
1132
+
1133
+ ### Number Field
1134
+
1135
+ - Fix literal space handling with symbols (#3334) by @atomiks
1136
+
1137
+ ### Popover
1138
+
1139
+ - Fix trigger registration loop (#3249) by @atomiks
1140
+ - Do not pass `key` to the rendered element (#3255) by @michaldudak
1141
+ - Fix focus restoration when focused element is hidden with CSS (#3313)
1142
+
1143
+ ### Select
1144
+
1145
+ - Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
1146
+
1147
+ ### Slider
1148
+
1149
+ - Fix extra `onValueCommitted` calls (#3312) by @mj12albert
1150
+ - Fix cast `ref` type (#3324) by @mj12albert
1151
+
1152
+ ### Tooltip
1153
+
1154
+ - Fix trigger registration loop (#3249) by @atomiks
1155
+
1156
+ All contributors of this release in alphabetical order: @atomiks, @brijeshb42, @Copilot, @EmilNordling, @michaldudak, @mj12albert, @oliviertassinari, @ZeeshanTamboli
1157
+
1158
+ ## v1.0.0-beta.6
1159
+
1160
+ _Nov 17, 2025_
1161
+
1162
+ This is a hotfix release with the following changes:
1163
+
1164
+ - Fix for rendering of Alert Dialog, Dialog, Menu, Popover, and Tooltip in React Server Components (#3241) by @michaldudak
1165
+ - Fix of the types of the refs in the Checkbox, Switch and Radio components (#3246) by @mnajdova
1166
+ - Fix of the value type error with mergeProps (#3247) by @atomiks
1167
+
1168
+ ## v1.0.0-beta.5
1169
+
1170
+ _Nov 17, 2025_
1171
+
1172
+ ### General changes
1173
+
1174
+ - **Breaking change:** Replace `trackAnchor` with `disableAnchorTracking`.<br />
1175
+ If you were using `trackAnchor={false}`, be sure to update your usage to `disableAnchorTracking` instead.
1176
+ (#3188) by @mnajdova
1177
+ - **Breaking change:** Rename `loop` to `loopFocus` (#3186) by @mnajdova
1178
+ - Fix type portability (#2912) by @atomiks
1179
+ - Accept a function for the `style` prop (#3038) by @mnajdova
1180
+ - Create portal elements inside React (#2889) by @atomiks
1181
+ - Avoid applying `hidden` attribute to indicator elements when they specify `keepMounted` and are invisible (#3228) by @atomiks
1182
+ - Fix crash in Next.js 16 when accessing `render.props.ref` (#3231) by @atomiks
1183
+
1184
+ ### Accordion
1185
+
1186
+ - **Breaking change:** Change `multiple` prop to be false by default and add a demo (#3141) by @mnajdova
1187
+ - Fix flaky exit transition (#3101) by @atomiks
1188
+
1189
+ ### Alert Dialog
1190
+
1191
+ - Fix `initialFocus` as function being called on close (#2949) by @atomiks
1192
+ - Support detached triggers (#2974) by @michaldudak
1193
+ - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
1194
+ - Add `<AlertDialog.Viewport>` part (#2808) by @atomiks
1195
+
1196
+ ### Autocomplete
1197
+
1198
+ - **Breaking change:** Refactor `alwaysSubmitOnEnter` to `submitOnItemClick` prop.<br />
1199
+ If you were using `alwaysSubmitOnEnter`, be sure to update your usage to `submitOnItemClick` instead.
1200
+ (#3018) by @atomiks
1201
+ - Prevent blocking filtering while composing text on Android (#2944) by @atomiks
1202
+ - Add empty state to `List.State` (#2934) by @atomiks
1203
+ - Fix `initialFocus` as function being called on close (#2949) by @atomiks
1204
+ - Add `role="combobox"` to `<Autocomplete.Trigger>` if `<Autocomplete.Input>` is inside Popup (#2973) by @atomiks
1205
+ - Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
1206
+ - Add empty and side styling attributes on `<Autocomplete.Input>` (#2926) by @atomiks
1207
+ - Fix `<Autocomplete.Value>` component return type for React 17 (#3050) by @atomiks
1208
+ - Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
1209
+ - Keep focus on input when pressing list element (#3092) by @atomiks
1210
+ - Allow <kbd>Esc</kbd> to bubble if `<Autocomplete.Empty>` is not used (#2935) by @atomiks
1211
+ - Add `dialog` role to popup when input is inside (#3213) by @atomiks
1212
+
1213
+ ### Button
1214
+
1215
+ - New `<Button>` component (#2363) by @atomiks
1216
+
1217
+ ### Checkbox
1218
+
1219
+ - **Breaking change:** Render root as `<span>` instead of `<button>`
1220
+ (#3205) by @mj12albert
1221
+
1222
+ ### Collapsible
1223
+
1224
+ - Fix `starting-style` state (#2985) by @atomiks
1225
+
1226
+ ### Combobox
1227
+
1228
+ - Take into account `isItemEqualToValue` when selecting an option in multiple mode (#2893) by @epr3
1229
+ - Move `CompositeList` to `List` component to make `Input` work with composites (#2883) by @chuganzy
1230
+ - Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
1231
+ - Fix `required` form submission with multiple values (#2925) by @atomiks
1232
+ - Fix <kbd>Home</kbd>/<kbd>End</kbd> Input scroll in Chrome/Safari (#2928) by @atomiks
1233
+ - Prevent blocking filtering while composing text on Android (#2944) by @atomiks
1234
+ - Add empty state to `List.State` (#2934) by @atomiks
1235
+ - Fix `initialFocus` as function being called on close (#2949) by @atomiks
1236
+ - Add `role="combobox"` to `<Combobox.Trigger>` if `<Combobox.Input>` is inside Popup (#2973) by @atomiks
1237
+ - Fix `Field` control ref when input is inside popup (#2971) by @atomiks
1238
+ - Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
1239
+ - Add empty and side styling attributes on `<Combobox.Input>` (#2926) by @atomiks
1240
+ - Fix `<Combobox.Value>` component return type for React 17 (#3050) by @atomiks
1241
+ - Fix input value derivation on `value` and `items` prop updates (#3067) by @atomiks
1242
+ - Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
1243
+ - Keep focus on input when pressing list element (#3092) by @atomiks
1244
+ - Fix support of dialog + combobox pattern (#3049) by @atomiks
1245
+ - Support drag-to-select (#3167) by @atomiks
1246
+ - Allow <kbd>Esc</kbd> to bubble if `<Combobox.Empty>` is not used (#2935) by @atomiks
1247
+ - Fix stuck filtering with differing stringifiers (#3201) by @atomiks
1248
+ - Add `dialog` role to popup when input is inside (#3213) by @atomiks
1249
+
1250
+ ### Context Menu
1251
+
1252
+ - Add `open` state to `<ContextMenu.Trigger>` (#3195) by @atomiks
1253
+ - Fix ignored `anchor` prop on `<ContextMenu.Positioner>` (#3202) by @atomiks
1254
+
1255
+ ### Dialog
1256
+
1257
+ - **Breaking change:** Replace `dismissible` with `disablePointerDismissal`.<br />
1258
+ If you were using `dismissible={false}`, replace it with `disablePointerDismissal`.
1259
+ (#3190) by @mnajdova
1260
+ - Fix `initialFocus` as function being called on close (#2949) by @atomiks
1261
+ - Support detached triggers (#2974) by @michaldudak
1262
+ - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
1263
+ - Add `<Dialog.Viewport>` part and scrollable demos on docs (#2808) by @atomiks
1264
+
1265
+ ### Field
1266
+
1267
+ - **Breaking change:** Add `onSubmit` validation mode and make it the default over `onBlur`.<br />
1268
+ Fields that use non-`required` attribute validation no longer validate the control on blur. Instead, validation first occurs `onSubmit`, and afterwards revalidation occurs `onChange`.
1269
+ (#3013) by @mj12albert
1270
+ - Add `dirty` and `touched` props (#2950) by @mj12albert
1271
+ - New `<Field.Item>` part (#2810) by @mj12albert
1272
+ - Fix `validationMode="onChange"` not clearing custom error state (#3048) by @mj12albert
1273
+ - Fix external `onChange` validation mode errors (#3137) by @atomiks
1274
+
1275
+ ### Form
1276
+
1277
+ - **Breaking change:** The `onClearErrors` prop has been removed.<br />
1278
+ Errors from the `errors` prop are always cleared when the value changes.
1279
+ (#3136) by @mj12albert
1280
+ - Add `onSubmit` validation mode.<br />
1281
+ Additionally, `validationMode` can be set on `<Form>`.
1282
+ (#3013) by @mj12albert
1283
+ - Add `onFormSubmit` callback (#3131) by @mj12albert
1284
+
1285
+ ### Menu
1286
+
1287
+ - **Breaking change:** Support detached triggers.<br />
1288
+ `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Menu.Root>` to `<Menu.Trigger>`.<br />
1289
+ Additionally, menus now must have at least one `<Menu.Trigger>` element.
1290
+ (#3170) by @michaldudak
1291
+ - Ignore disabled item on initial focusing (#2604) by @mnajdova
1292
+ - Fix stealing focus from dialogs on close (#2920) by @atomiks
1293
+ - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
1294
+
1295
+ ### Navigation Menu
1296
+
1297
+ - Fix nested popup dismiss actions (#2978) by @atomiks
1298
+ - Fix error on React 17 (#3204) by @atomiks
1299
+
1300
+ ### Number Field
1301
+
1302
+ - Granular change reasons (#3132) by @atomiks
1303
+
1304
+ ### Popover
1305
+
1306
+ - **Breaking change:** Support detached triggers and multiple triggers per popover.<br />
1307
+ `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Popover.Root>` to `<Popover.Trigger>`.
1308
+ (#2336) by @michaldudak
1309
+ - Fix `initialFocus` as function being called on close (#2949) by @atomiks
1310
+ - Fix swiping or scrolling on nested popup dismissing popover on touch (#3011) by @atomiks
1311
+ - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
1312
+
1313
+ ### Preview Card
1314
+
1315
+ - **Breaking change:** Move delay props to trigger.<br />
1316
+ If you were using `delay` or `closeDelay` props, be sure to move them to from `<PreviewCard.Root>` to the `<PreviewCard.Trigger>` component.
1317
+ (#3182) by @atomiks
1318
+
1319
+ ### Radio Group
1320
+
1321
+ - **Breaking change:** Render root as `<span>` instead of `<button>`
1322
+ (#3205) by @mj12albert
1323
+
1324
+ ### Scroll Area
1325
+
1326
+ - **Breaking change:** Improve CSS vars performance.<br />
1327
+ The CSS variables are now on the `<ScrollArea.Viewport>` part, not `<ScrollArea.Root>`, and inheritance is disabled for all child elements (or pseudo-elements). Children must manually opt in using `--scroll-area-[variable-name]: inherit`.
1328
+ (#3156) by @atomiks
1329
+
1330
+ ### Select
1331
+
1332
+ - **Breaking change:** Make the trigger native button by default.<br />
1333
+ The trigger now renders a `<button>` element, be sure to adjust your code if necessary.
1334
+ (#3177) by @mnajdova
1335
+ - Add `open` state type on `Select.Icon` interface (#2919) by @komkanit
1336
+ - Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
1337
+ - Fix `required` form submission with multiple values (#2925) by @atomiks
1338
+ - Avoid re-rendering on popup height expansion (#2972) by @atomiks
1339
+ - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
1340
+ - Add `data-placeholder` attribute (#2737) by @seongminn
1341
+
1342
+ ### Slider
1343
+
1344
+ - **Breaking change:** Add `thumbCollisionBehavior` prop.<br />
1345
+ In range sliders, moving a thumb with a pointer will now push other thumbs it collides with to avoid blocking drag movements by default (the default value is `push`).<br />
1346
+ The value `swap` was also added, which allows thumbs to be dragged past each other when they collide.<br />
1347
+ Lastly, the value `none` is the same as the previous behavior, where thumbs can't be dragged past one another.<br />
1348
+ Keyboard interactions always use `none` behavior.
1349
+ (#2856) by @atomiks
1350
+ - Granular change reasons (#3132) by @atomiks
1351
+
1352
+ ### Switch
1353
+
1354
+ - **Breaking change:** Render root as `<span>` instead of `<button>`
1355
+ (#3205) by @mj12albert
1356
+
1357
+ ### Tabs
1358
+
1359
+ - **Breaking change:** Fix selected/active state naming consistency.<br />
1360
+ - Renamed `[data-selected]` to `[data-active]` in `<Tabs.Tab>`
1361
+ - Removed `[data-highlighted]` (`:focus-visible` was already the recommendation in styles)
1362
+ - `selectedTabPosition`/`selectedTabSize` are now `activeTabPosition`/`activeTabSize` in `Tabs.Indicator.State`
1363
+ (#3024) by @atomiks
1364
+ - **Breaking change:** Change `activateOnFocus` to false.<br />
1365
+ If you need your Tabs to activate on focus, be sure to add `activateOnFocus` prop.
1366
+ (#3176) by @mnajdova
1367
+ - Fix Next.js 16 error from `Math.random` id generation (#3051) by @atomiks
1368
+ - Fix indicator sizing and offsets (#3214) by @atomiks
1369
+
1370
+ ### Toast
1371
+
1372
+ - Allow `React.ReactNode` for `title`/`description` properties (#2929) by @atomiks
1373
+ - Add ability to anchor to an element (#3096) by @atomiks
1374
+
1375
+ ### Toolbar
1376
+
1377
+ - **Breaking change:** The `cols` prop has been removed.<br />
1378
+ This prop was not supposed to be exposed.
1379
+ (#3133) by @mj12albert
1380
+
1381
+ ### Tooltip
1382
+
1383
+ - **Breaking change:** Support detached triggers.<br />
1384
+ `delay` and `closeDelay` props have been moved from `<Tooltip.Root>` to `<Tooltip.Trigger>`.
1385
+ (#3071) by @michaldudak
1386
+ - **Breaking change:** Change `hoverable` to `disableHoverablePopup`.<br />
1387
+ In case you need to disable the hoverable popup behavior, be sure to add the `disableHoverablePopup` prop.
1388
+ (#3178) by @mnajdova
1389
+ - Fix `data-instant` ending transition of same tooltip (#2962) by @atomiks
1390
+
1391
+ All contributors of this release in alphabetical order: @atomiks, @brianle1301, @brijeshb42, @chuganzy, @dav-is, @epr3, @fredericoo, @Janpot, @komkanit, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @romgrk, @seongminn, @sukvvon, @ZeeshanTamboli
1392
+
1393
+ ## v1.0.0-beta.4
1394
+
1395
+ _Oct 1, 2025_
1396
+
1397
+ ### General changes
1398
+
1399
+ - **Breaking change:** Generic event details.
1400
+ The main exported type is now `BaseUIChangeEventDetails` (with a paired `BaseUIGenericEventDetails`), not `BaseUIEventDetails`.
1401
+ (#2796) by @atomiks
1402
+ - Update `disabled` prop of buttons when ref changes (#2756) by @chuganzy
1403
+ - Refine event details (#2698) by @atomiks
1404
+
1405
+ ### Accordion
1406
+
1407
+ - **Breaking change:** Use `useId` instead of composite index as fallback value.
1408
+ Accordion items must have an explicit `value` set in order to be initially open. Inferring the value by their DOM index is no longer supported.
1409
+ (#2664) by @mj12albert
1410
+ - **Breaking change:** Rename `openMultiple` prop to `multiple`
1411
+ (#2764) by @LukasTy
1412
+
1413
+ ### Autocomplete
1414
+
1415
+ - **Breaking change:** Rename `cols` to `grid` prop.
1416
+ Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Autocomplete.Row`
1417
+ (#2683) by @atomiks
1418
+ - Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
1419
+ (#2682) by @atomiks
1420
+ - Fix controlled input value updates (#2707) by @atomiks
1421
+ - Fix input focus on close when clicking trigger (#2723) by @atomiks
1422
+ - Add `alwaysSubmitOnEnter` prop and allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
1423
+ - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
1424
+
1425
+ ### Collapsible
1426
+
1427
+ - Fix CollapsiblePanel type to use its own state (#2697) by @chuganzy
1428
+ - Respect user's CSS `display` property on panel (#2772) by @mj12albert
1429
+
1430
+ ### Combobox
1431
+
1432
+ - **Breaking change**: `onItemHighlighted` now has a `reason` property instead of `type` to be consistent with the `eventDetails` API. (#2796) by @atomiks
1433
+ - **Breaking change:** Rename `cols` to `grid` prop.
1434
+ Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Combobox.Row`
1435
+ (#2683) by @atomiks
1436
+ - Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
1437
+ (#2682) by @atomiks
1438
+ - Fix initial closed typeahead (#2665) by @atomiks
1439
+ - Support `autoHighlight` prop (#2668) by @atomiks
1440
+ - Set default input value based on `value` prop (#2680) by @atomiks
1441
+ - Fix controlled input value updates (#2707) by @atomiks
1442
+ - Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723) by @atomiks
1443
+ - Fix unexpected close with multiple selection and input inside popup (#2771) by @atomiks
1444
+ - Allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
1445
+ - Avoid refiltering with ending transition in multiple selection mode (#2681) by @atomiks
1446
+ - Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
1447
+ - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
1448
+ - Fix misleading `item-press` reason in `onInputValueChange` (#2830) by @atomiks
1449
+ - Clear single-select value on input clear (#2860) by @atomiks
1450
+ - Fix `focusout` of input not closing popup under certain conditions (#2864)
1451
+
1452
+ ### Context Menu
1453
+
1454
+ - Ensure submenus close when parents close (#2768) by @atomiks
1455
+ - Fix `onClick` firing twice on first click of item (#2849) by @atomiks
1456
+
1457
+ ### Menu
1458
+
1459
+ - Ensure submenus close when parents close (#2768) by @atomiks
1460
+ - Allow non-nested portals across differing popup trees (#2818) by @atomiks
1461
+
1462
+ ### Menubar
1463
+
1464
+ - Fix Menubar not disabling child Menus (#2736) by @aarongarciah
1465
+ - Ensure submenus close when parents close (#2768) by @atomiks
1466
+ - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
1467
+
1468
+ ### Navigation Menu
1469
+
1470
+ - Make link close on click configurable (#2740) by @atomiks
1471
+ - Fix focus returning to trigger without animations (#2779) by @atomiks
1472
+ - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
1473
+
1474
+ ### Number Field
1475
+
1476
+ - Fix stuck virtual cursor after mouse tap (#2720) by @atomiks
1477
+ - Improve parsing logic (#2725) by @atomiks
1478
+ - Align value changes with `Slider`. An `onValueCommitted` callback has been added. (#2726) by @atomiks
1479
+
1480
+ ### Popover
1481
+
1482
+ - Allow non-nested portals across differing popup trees (#2818) by @atomiks
1483
+
1484
+ ### Scroll Area
1485
+
1486
+ - Add overflow presence state attributes and CSS variables (#2478) by @atomiks
1487
+ - Fix RTL horizontal scrollbar on Safari (#2776) by @atomiks
1488
+ - Fix thumb size flicker (#2778) by @atomiks
1489
+
1490
+ ### Select
1491
+
1492
+ - **Breaking change:** Add `Select.List` component. It is now possible for `Select.ScrollArrow` to show when in fallback (`alignItemWithTrigger` deactivated). As a result, if you want the scroll arrows to be hidden in this mode like before, change the styles to default to `display: none` on `.ScrollArrow`, and `display: block` when `[data-side="none"]`. (#2596) by @atomiks
1493
+ - Block opening the popup when provided `readOnly` (#2717) by @seongminn
1494
+ - Add `open` state for `Select.Icon` and fix `ref` type (#2714) by @seongminn
1495
+ - Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
1496
+ - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
1497
+
1498
+ ### Slider
1499
+
1500
+ - **Breaking change:** `onValueChange` has `activeThumbIndex` as part of the `eventDetails` object as a second parameter, not third. (#2796) by @atomiks
1501
+ - **Breaking change:** Remove redundant hidden inputs.
1502
+ The `inputRef` prop is moved from `Root` to `Thumb`.
1503
+ (#2631) by @mj12albert
1504
+ - Fix pointer tracking bugs (#2688) by @mj12albert
1505
+ - Fix input attributes (#2728) by @mj12albert
1506
+ - Add `thumbAlignment` prop (#2540) by @mj12albert
1507
+
1508
+ ### Switch
1509
+
1510
+ - Fix duplicate `name` attribute (#2763) by @mj12albert
1511
+
1512
+ ### Toast
1513
+
1514
+ - **Breaking change:** Support variable height stacking.
1515
+ Toasts that have varying heights no longer force a `data-expanded` expanded state on the viewport. CSS should be amended to ensure larger toasts don't overflow a small toast stacked at the front. See this [diff](https://github.com/mui/base-ui/pull/2742/files#diff-e378460dafb74fe0c90ef960ad0ef1c38d68d74b63815520bb437f9041361917) for new styles, along with general improvements to stacking styles.
1516
+ (#2742) by @atomiks
1517
+ - Reduce stickiness of expanded state (#2770) by @atomiks
1518
+ - Ensure toast is frozen at its current visual transform while swiping (#2769) by @atomiks
1519
+
1520
+ ### Toggle Group
1521
+
1522
+ - **Breaking change:** Rename `toggleMultiple` prop to `multiple`.
1523
+ (#2764) by @LukasTy
1524
+
1525
+ ### Toolbar
1526
+
1527
+ - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
1528
+
1529
+ ### useRender
1530
+
1531
+ - Add div as a `defaultTagName` (#2692) by @mnajdova
1532
+
1533
+ All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @chuganzy, @Copilot, @Janpot, @LukasTy, @martenbjork, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @seongminn, @sukvvon, @vladmoroz
1534
+
1535
+ ## v1.0.0-beta.3
1536
+
1537
+ _Sep 3, 2025_
1538
+
1539
+ ### General changes
1540
+
1541
+ - **Breaking change:** GovLK UI event details.
1542
+ Custom event callbacks provide BaseUIEventDetails object as their second parameter.
1543
+ This object contains the source event, reason and methods to customize the behavior (where applicable).
1544
+ For example, `onOpenChange(open, event, reason)` becomes `onOpenChange(open, eventDetails)`, where `eventDetails` contains `event` and `reason` properties.
1545
+
1546
+ ```diff
1547
+ -onOpenChange: (open, event, reason) => {
1548
+ +onOpenChange: (open, eventDetails) => {
1549
+ - if (reason === 'escape-key') {
1550
+ + if (eventDetails.reason === 'escape-key') {
1551
+ // ...
1552
+ }
1553
+ }
1554
+ ```
1555
+
1556
+ (#2382) by @atomiks
1557
+
1558
+ ### Alert Dialog
1559
+
1560
+ - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
1561
+ The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
1562
+ This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
1563
+ (#2536) by @atomiks
1564
+
1565
+ ### Autocomplete
1566
+
1567
+ - New Autocomplete component (#2105) by @atomiks
1568
+
1569
+ ### Checkbox
1570
+
1571
+ - Fix missing validity attributes when wrapped in `Field` (#2572) by @Copilot
1572
+
1573
+ ### Combobox
1574
+
1575
+ - New Combobox component (#2105) by @atomiks
1576
+
1577
+ ### Context Menu
1578
+
1579
+ - Fix default offsets when `align="center"` or `side` differs (#2601) by @atomiks
1580
+
1581
+ ### Dialog
1582
+
1583
+ - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
1584
+ The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
1585
+ This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
1586
+ (#2536) by @atomiks
1587
+ - Restore focus to popup when focused element is removed (#2479) by @atomiks
1588
+
1589
+ ### Field
1590
+
1591
+ - Prevent defaultValue reset on focus for uncontrolled inputs (#2543) by @ingokpp
1592
+ - Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
1593
+
1594
+ ### Input
1595
+
1596
+ - Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
1597
+
1598
+ ### Menu
1599
+
1600
+ - **Breaking change:** Fix `closeParentOnEsc` default value.
1601
+ The default value of `closeParentOnEsc` in Menu.SubmenuRoot is now false.
1602
+ When the <kbd>Esc</kbd> key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger.
1603
+ (#2493) by @seongminn
1604
+ - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
1605
+ The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
1606
+ This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
1607
+ (#2536) by @atomiks
1608
+ - Fix menu not opening when inside context menu trigger (#2506) by @baptisteArno
1609
+ - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1610
+ - Fix submenu events (#2483) by @atomiks
1611
+ - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1612
+
1613
+ ### Navigation Menu
1614
+
1615
+ - **Breaking change:** Semantic element structure and `active` page prop.
1616
+ `NavigationMenu.List` renders `<ul>` and `NavigationMenu.Item` renders `<li>` by default.
1617
+ (#2526) by @atomiks
1618
+ - Unshare `AbortController` instance (#2441) by @tomokinat
1619
+ - Close on link click by default (#2535) by @atomiks
1620
+
1621
+ ### Number Field
1622
+
1623
+ - Fix duplicate `onValueChange` calls (#2591) by @atomiks
1624
+
1625
+ ### Popover
1626
+
1627
+ - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
1628
+ The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
1629
+ This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
1630
+ (#2536) by @atomiks
1631
+ - Fix outside click after right clicking in popup (#2508) by @baptisteArno
1632
+ - Fix unexpected close when nested inside two popovers (#2481) by @atomiks
1633
+ - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1634
+ - Restore focus to popup when focused element is removed (#2479) by @atomiks
1635
+ - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1636
+
1637
+ ### Preview Card
1638
+
1639
+ - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1640
+ - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1641
+
1642
+ ### Radio Group
1643
+
1644
+ - Return null in form data when no option selected (#2473) by @ingokpp
1645
+
1646
+ ### Scroll Area
1647
+
1648
+ - Prevent pointer events from sibling portals triggering hover (#2542) by @KenanYusuf
1649
+
1650
+ ### Select
1651
+
1652
+ - Fix stale `items` prop (#2397) by @atomiks
1653
+ - Fix unexpected close when nested inside two popovers (#2481) by @atomiks
1654
+ - Fix `onValueChange` type inference (#2372) by @atomiks
1655
+ - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1656
+ - Reset state when selected item is removed (#2577) by @atomiks
1657
+ - Fix `data-highlighted` and DOM focus item desync (#2569) by @atomiks
1658
+ - Fix item click with `defaultOpen` prop (#2570) by @atomiks
1659
+ - Fix scroll arrows not propagating scroll fully to start/end of list (#2523) by @atomiks
1660
+ - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1661
+
1662
+ ### Slider
1663
+
1664
+ - **Breaking change:** Instead of the thumb div, the `input type="range"` element receives focus. Focus styles that were targeting the thumb, should be updated.
1665
+ For example `.Thumb:focus-visible` should be replaced with `.Thumb:has(:focus-visible)`.
1666
+ The `tabIndex` prop is moved from Root to Thumb where it gets forwarded to the input.
1667
+ The thumb's `render` prop no longer contains the third `inputProps` argument; the input element is instead merged with children.
1668
+ (#2578) by @mj12albert
1669
+ - Reduce bundle size (#2551) by @oliviertassinari
1670
+ - Fix thumb `:focus-visible` with mixed keyboard and pointer modality (#2584) by @mj12albert
1671
+ - Add `index` prop to `Slider.Thumb` (#2593) by @mj12albert
1672
+
1673
+ ### Tabs
1674
+
1675
+ - Fix tab size rounding (#2488) by @atomiks
1676
+ - Fix highlight sync when focus is inside list (#2487) by @atomiks
1677
+
1678
+ ### Tooltip
1679
+
1680
+ - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1681
+ - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1682
+
1683
+ ### useRender
1684
+
1685
+ - Add support for data-\* attributes (#2524) by @Raghuboi
1686
+ - Add `defaultTagName` parameter (#2527) by @atomiks
1687
+
1688
+ All contributors of this release in alphabetical order: @atomiks, @baptisteArno, @brijeshb42, @Copilot, @ingokpp, @Janpot, @KenanYusuf, @LukasTy, @michaldudak, @mirka, @mj12albert, @mnajdova, @oliviertassinari, @Powerplex, @Raghuboi, @seongminn, @tomokinat
1689
+
1690
+ ## v1.0.0-beta.2
1691
+
1692
+ _Jul 30, 2025_
1693
+
1694
+ ### General changes
1695
+
1696
+ - Fix navigator checks and ensure safe platform retrieval (#2273) by @mo36924
1697
+ - Prevent `Space` key default on keydown (#2295) by @atomiks
1698
+ - Check for `performance` existence on server (#2316) by @atomiks
1699
+
1700
+ ### Accordion
1701
+
1702
+ - Destructure `render` prop (#2280) by @atomiks
1703
+ - Fix keyboard interactions with elements in the panel (#2321) by @mj12albert
1704
+ - Fix open transitions in Safari/Firefox (#2327) by @atomiks
1705
+
1706
+ ### Alert Dialog
1707
+
1708
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1709
+ - Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
1710
+ - Improve outside press behavior with touch input (#2334) by @atomiks
1711
+
1712
+ ### Checkbox
1713
+
1714
+ - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1715
+
1716
+ ### Collapsible
1717
+
1718
+ - Destructure render prop (#2323) by @atomiks
1719
+ - Fix open transitions in Safari/Firefox (#2327) by @atomiks
1720
+
1721
+ ### Dialog
1722
+
1723
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1724
+ - Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
1725
+ - Improve outside press behavior with touch input (#2334) by @atomiks
1726
+ - Use `click` event for outside press dismissal (#2275) by @atomiks
1727
+
1728
+ ### Field
1729
+
1730
+ - Deregister fields from `Form` when unmounting (#2231) by @mj12albert
1731
+
1732
+ ### Form
1733
+
1734
+ - Deregister fields from `Form` when unmounting (#2231) by @mj12albert
1735
+
1736
+ ### Menu
1737
+
1738
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1739
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1740
+ - Improve outside press behavior with touch input (#2334) by @atomiks
1741
+ - Close submenus when focus is lost by shift-tabbing (#2290) by @michaldudak
1742
+
1743
+ ### Menubar
1744
+
1745
+ - Fix triggers role (#2317) by @atomiks
1746
+
1747
+ ### Meter
1748
+
1749
+ - Fix ARIA attributes and update docs (#2267) by @mj12albert
1750
+
1751
+ ### Navigation Menu
1752
+
1753
+ - **Breaking change:** Support inlined nesting.
1754
+ Ensure the popup's `width` is set to `var(--popup-width)` unconditionally (without the media query) on the `.Popup` class.
1755
+ (#2269) by @atomiks
1756
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1757
+ - Add `useButton` integration to `Trigger` (#2296) by @atomiks
1758
+ - Fix popup size transitions on iOS (#2387) by @atomiks
1759
+
1760
+ ### Number Field
1761
+
1762
+ - Remove `invalid` prop (#2315) by @atomiks
1763
+ - Fix button disabled state only including root disabled state (#2268) by @mj12albert
1764
+
1765
+ ### Popover
1766
+
1767
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1768
+ - Remove ancestor nodes from inside elements for outside press detection (#2339) by @atomiks
1769
+ - Improve outside press behavior with touch input (#2334) by @atomiks
1770
+ - Use `click` event for outside press dismissal (#2275) by @atomiks
1771
+
1772
+ ### Preview Card
1773
+
1774
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1775
+
1776
+ ### Progress
1777
+
1778
+ - Fix ARIA attributes and update docs (#2267) by @mj12albert
1779
+
1780
+ ### Radio Group
1781
+
1782
+ - Add aria-required attribute (#2227) by @cgatian
1783
+ - Extend state with `FieldRoot.State` (#2251) by @mj12albert
1784
+ - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1785
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1786
+
1787
+ ### Scroll Area
1788
+
1789
+ - Disable `user-select` on scrollbar and non-main button interactions (#2338) by @atomiks
1790
+
1791
+ ### Select
1792
+
1793
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1794
+ - Add `value` and `readOnly` to `Select.Trigger` state (#2237) by @atomiks
1795
+ - Add `multiple` prop (#2173) by @atomiks
1796
+ - Allow typeahead while open for `multiple` mode (#2274) by @atomiks
1797
+ - Ensure positionerElement is available in document mouseup (#2276) by @atomiks
1798
+ - Fix `alignItemWithTrigger` fallback scroll jump (#2241) by @atomiks
1799
+ - Support conditional `multiple` prop in types (#2369) by @atomiks
1800
+ - Fix multiple ARIA behavior on touch (#2333) by @atomiks
1801
+ - Improve outside press behavior with touch input (#2334) by @atomiks
1802
+
1803
+ ### Slider
1804
+
1805
+ - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1806
+
1807
+ ### Toast
1808
+
1809
+ - Fix `promise` method timeout option handling (#2294) by @atomiks
1810
+ - Make `Toast.Viewport` an announce container (#2246) by @atomiks
1811
+
1812
+ ### Toggle
1813
+
1814
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1815
+
1816
+ ### Toggle Group
1817
+
1818
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1819
+
1820
+ ### Toolbar
1821
+
1822
+ - Avoid double `useRenderElement` passes (#2256) by @atomiks
1823
+
1824
+ ### Tooltip
1825
+
1826
+ - Support `ShadowRoot` containers (#2236) by @atomiks
1827
+ - Memoize leftover object in tooltip (#2250) by @sai6855
1828
+ - Fix error when combining `defaultOpen` and `disabled` (#2374) by @atomiks
1829
+
1830
+ All contributors of this release in alphabetical order: @aelfannir, @atomiks, @brijeshb42, @cgatian, @Janpot, @michaldudak, @mj12albert, @mo36924, @romgrk, @sai6855
1831
+
1832
+ ## v1.0.0-beta.1
1833
+
1834
+ _Jul 1, 2025_
1835
+
1836
+ ### General changes
1837
+
1838
+ - Make error messages consistent (#2049) by @michaldudak
1839
+ - Do not overwrite event handler when `undefined` is passed explicitly (#2151) by @michaldudak
1840
+
1841
+ ### Accordion
1842
+
1843
+ - Allow content to resize naturally (#2043) by @atomiks
1844
+ - Fix transition status mapping (#2169) by @atomiks
1845
+ - Fix `aria-controls` reference (#2170) by @atomiks
1846
+ - Fix test warning about mixed animation types (#2180) by @atomiks
1847
+
1848
+ ### Checkbox
1849
+
1850
+ - **Breaking change:** Support implicit `Field.Label`.
1851
+ If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1852
+ (#2036) by @mj12albert
1853
+ - Refactor to `useRenderElement` (#2053) by @mj12albert
1854
+ - Always set `id` on the `<input>` element (#2115) by @mj12albert
1855
+
1856
+ ### Checkbox Group
1857
+
1858
+ - Fix `onCheckedChange` not running when parent checkbox is present (#2155) by @mj12albert
1859
+
1860
+ ### Collapsible
1861
+
1862
+ - Allow content to resize naturally (#2043) by @atomiks
1863
+ - Fix `aria-controls` reference (#2170) by @atomiks
1864
+ - Fix test warning about mixed animation types (#2180) by @atomiks
1865
+
1866
+ ### Context Menu
1867
+
1868
+ - **Breaking change:** Add `SubmenuRoot` part.
1869
+ Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
1870
+ (#2042) by @atomiks
1871
+ - Fix CheckboxItemIndicator export (#2009) by @aarongarciah
1872
+
1873
+ ### Dialog
1874
+
1875
+ - Fix popup prop merging (#2119) by @atomiks
1876
+
1877
+ ### Field
1878
+
1879
+ - **Breaking change:** Support implicit `Field.Label`.
1880
+ If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1881
+ (#2036) by @mj12albert
1882
+ - Enable custom validation based on other form values (#1941) by @mj12albert
1883
+ - Fix `onValueChange` `value` type (#2112) by @atomiks
1884
+ - Fix `Field.Label` focusing trigger (#2118) by @atomiks
1885
+ - Fix slider field label (#2154) by @mj12albert
1886
+
1887
+ ### Fieldset
1888
+
1889
+ - Refactor to `useRenderElement` (#2053) by @mj12albert
1890
+
1891
+ ### Form
1892
+
1893
+ - Enable custom validation based on other form values (#1941) by @mj12albert
1894
+
1895
+ ### Input
1896
+
1897
+ - Fix `onValueChange` `value` type (#2112) by @atomiks
1898
+
1899
+ ### Menu
1900
+
1901
+ - **Breaking change:** Add `SubmenuRoot` part.
1902
+ Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
1903
+ (#2042) by @atomiks
1904
+ - Unset `role` from Trigger (#2047) by @atomiks
1905
+ - Emit `close` event on `cancel-open` (#2067) by @atomiks
1906
+ - Fix close toggle when rendering non-native button (#2071) by @atomiks
1907
+ - Add `highlighted` to item `State` (#2079) by @atomiks
1908
+ - Remove highlighted effect (#2162) by @atomiks
1909
+ - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1910
+ - Fix active index sync on hover (#2163) by @atomiks
1911
+ - Fix focus returning to root when submenus have exit transitions (#2163) by @atomiks
1912
+
1913
+ ### Menubar
1914
+
1915
+ - Fix `closeOnClick: false` not working in nested menus (#2094) by @michaldudak
1916
+
1917
+ ### Navigation Menu
1918
+
1919
+ - Handle layout resize while open (#2070) by @atomiks
1920
+ - Fix positioner height when opening menu using the keyboard arrows (#2060) by @juliomerisio
1921
+
1922
+ ### Number Field
1923
+
1924
+ - Ensure `onValueChange` is called with already-formatted parsed value (#1905) by @atomiks
1925
+ - Fix revalidation on change (#2174) by @atomiks
1926
+
1927
+ ### Popover
1928
+
1929
+ - Fix close toggle when rendering non-native button (#2071) by @atomiks
1930
+ - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1931
+
1932
+ ### Radio Group
1933
+
1934
+ - **Breaking change:** Support implicit `Field.Label`.
1935
+ If `Field.Label` encloses Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1936
+ (#2036) by @mj12albert
1937
+ - Refactor to `useRenderElement` (#2053) by @mj12albert
1938
+
1939
+ ### Scroll Area
1940
+
1941
+ - Ignore `data-scrolling` during programmatic scroll (#1908) by @atomiks
1942
+
1943
+ ### Select
1944
+
1945
+ - **Breaking change:** Print raw value in `Select.Value`.
1946
+ `<Select.Value>` now prints the raw value by default unless an `items` prop is specified on `Select.Root`.
1947
+ See https://base-ui.com/react/components/select#formatting-the-value for more information.
1948
+ (#2087) by @atomiks
1949
+ - Performance: avoid re-renders (#1961) by @romgrk
1950
+ - Fix close toggle when rendering non-native button (#2071) by @atomiks
1951
+ - Fix `Field.Label` focusing trigger (#2118) by @atomiks
1952
+ - Fix programmatic value changes and autofill handling (#2084) by @atomiks
1953
+ - Add `highlighted` to item `State` (#2079) by @atomiks
1954
+ - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1955
+ - Pass `value` as state (#2153) by @atomiks
1956
+ - Extend `FieldRoot.State` type (#2192) by @atomiks
1957
+
1958
+ ### Slider
1959
+
1960
+ - Use pointer capture when dragging (#2059) by @mj12albert
1961
+ - Fix slider field label (#2154) by @mj12albert
1962
+
1963
+ ### Switch
1964
+
1965
+ - **Breaking change:** Support implicit `Field.Label`.
1966
+ If `Field.Label` encloses Switch, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1967
+ (#2036) by @mj12albert
1968
+
1969
+ ### Tabs
1970
+
1971
+ - Fix indicator positioning when TabsList overflows (#2093) by @mj12albert
1972
+ - Fix focus going out of sync when selected value is changed externally (#2107) by @atomiks
1973
+ - Remove highlighted state (#2164) by @atomiks
1974
+
1975
+ ### Toolbar
1976
+
1977
+ - Set `disabled` attr on toolbar button when `focusableWhenDisabled={false}` (#2176) by @mj12albert
1978
+
1979
+ ### useRender
1980
+
1981
+ - Make useRender RSC-friendly (#2134) by @michaldudak
1982
+
1983
+ All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @bernardobelchior, @brijeshb42, @Janpot, @juliomerisio, @lesha1201, @michaldudak, @mj12albert, @oliviertassinari, @romgrk
1984
+
1985
+ ## v1.0.0-beta.0
1986
+
1987
+ _May 29, 2025_
1988
+
1989
+ ### General changes
1990
+
1991
+ - Remove proptypes (#1760) by @michaldudak
1992
+ - Unify component export patterns (#1478) by @michaldudak
1993
+ - Default `tabIndex` to `0` on `<button>` parts (#1939) by @atomiks
1994
+
1995
+ ### Accordion
1996
+
1997
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1998
+
1999
+ ### Alert Dialog
2000
+
2001
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2002
+ (#1782) by @atomiks
2003
+ - Use basic scroll lock on iOS
2004
+ (#1890) by @atomiks
2005
+
2006
+ ### Checkbox
2007
+
2008
+ - Set `aria-required`, use `useButton` (#1777) by @mj12albert
2009
+
2010
+ ### Checkbox Group
2011
+
2012
+ - **Breaking change:** Enable submitting checkbox group value as one field.
2013
+ For parent checkboxes, use `value` instead of `name` on each `Checkbox.Root` part to link as the values.
2014
+ (#1948) by @mj12albert
2015
+ - Fix `validate` fn incorrectly running twice (#1959) by @mj12albert
2016
+
2017
+ ### Context Menu
2018
+
2019
+ - New `ContextMenu` component (#1665) by @atomiks
2020
+
2021
+ ### Dialog
2022
+
2023
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2024
+ (#1782) by @atomiks
2025
+ - Use basic scroll lock on iOS
2026
+ (#1890) by @atomiks
2027
+
2028
+ ### Field
2029
+
2030
+ - **Breaking change:** Consolidate `Field.Error` `forceShow` into `match` prop.
2031
+ Use `match={true}` (or implicit boolean) instead of `forceShow`.
2032
+ (#1919) by @atomiks
2033
+ - Improve `Label` logic that prevents text selection on double click (#1784) by @atomiks
2034
+ - Fix validation inconsistency (#1779) by @atomiks
2035
+ - Fix integration of GovLK UI components (#1755) by @atomiks
2036
+ - Set `valueMissing` to false if only error and not dirtied (#1810) by @atomiks
2037
+ - `validate` with latest value on blur (#1850) by @atomiks
2038
+ - Revalidate only `required` on change (#1840) by @atomiks
2039
+ - Run validate function after native validations (#1926) by @mj12albert
2040
+ - Fix `validate` fn incorrectly running twice (#1959) by @mj12albert
2041
+ - Integrate range sliders with Form and Field (#1929) by @mj12albert
2042
+
2043
+ ### Form
2044
+
2045
+ - Fix integration of GovLK UI components (#1755) by @atomiks
2046
+ - Select inputs on focus (#1858) by @atomiks
2047
+ - Exclude number formatting from form value (#1957) by @mj12albert
2048
+ - Integrate range sliders with Form and Field (#1929) by @mj12albert
2049
+
2050
+ ### Input
2051
+
2052
+ - Fix `Input.Props` type (#1915) by @mj12albert
2053
+ - Extend `Field.Control.State` (#1954) by @atomiks
2054
+
2055
+ ### Menu
2056
+
2057
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2058
+ (#1782) by @atomiks
2059
+ - Fix function dependency handling (#1787) by @atomiks
2060
+ - Add missing `'use client'` to `RadioGroup` part (#1851) by @atomiks
2061
+ - Ensure `null` items are removed from composite lists (#1847) by @atomiks
2062
+ - Avoid `:focus-visible` style appearing (#1846) by @atomiks
2063
+ - Better handle dynamic and non-string items (#1861) by @atomiks
2064
+ - Add `collisionAvoidance` prop (#1849) by @atomiks
2065
+ - Add `finalFocus` and `closeDelay` props (#1918) by @atomiks
2066
+ - Use basic scroll lock on iOS
2067
+ (#1890) by @atomiks
2068
+
2069
+ ### Menubar
2070
+
2071
+ - New `Menubar` component (#1684) by @michaldudak
2072
+
2073
+ ### Navigation Menu
2074
+
2075
+ - New `NavigationMenu` component (#1741) by @atomiks
2076
+
2077
+ ### Number Field
2078
+
2079
+ - `validate` with latest value on blur (#1850) by @atomiks
2080
+ - Move scrubbing logic to `ScrubArea` component (#1859) by @atomiks
2081
+ - Remove floating point errors when `snapOnStep` is disabled (#1857) by @atomiks
2082
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
2083
+ - Exclude number formatting from form value (#1957) by @mj12albert
2084
+
2085
+ ### Popover
2086
+
2087
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2088
+ (#1782) by @atomiks
2089
+ - Fix function dependency handling (#1787) by @atomiks
2090
+ - Avoid prop getters when merging props (#1852) by @atomiks
2091
+ - Add `collisionAvoidance` prop (#1849) by @atomiks
2092
+ - Fix nested `openOnHover` (#1938) by @atomiks
2093
+ - Use basic scroll lock on iOS
2094
+ (#1890) by @atomiks
2095
+
2096
+ ### Preview Card
2097
+
2098
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2099
+ (#1782) by @atomiks
2100
+ - Fix function dependency handling (#1787) by @atomiks
2101
+ - Add `collisionAvoidance` prop (#1849) by @atomiks
2102
+
2103
+ ### Radio Group
2104
+
2105
+ - Fix composite focus of initially selected radio item (#1753) by @atomiks
2106
+ - Add `inputRef` props (#1683) by @atomiks
2107
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
2108
+
2109
+ ### Select
2110
+
2111
+ - **Breaking change:** Move item anchoring prop to `Positioner`.
2112
+ Use `<Select.Positioner alignItemWithTrigger={false}>` instead of `<Select.Root alignItemToTrigger={false}>` (note the `With` instead of `To`).
2113
+ (#1713) by @atomiks
2114
+ - **Breaking change:** Defer mounting until typeahead is needed.
2115
+ The `placeholder` prop is now required. Previously, only SSR needed it to prevent a hydration flash, but client-side rendering now also requires it.
2116
+ (#1906) by @atomiks
2117
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2118
+ (#1782) by @atomiks
2119
+ - Fix function dependency handling (#1787) by @atomiks
2120
+ - Add `inputRef` props (#1683) by @atomiks
2121
+ - Refactor to `useRenderElement` (#1797) by @atomiks
2122
+ - Ensure `null` items are removed from composite lists (#1847) by @atomiks
2123
+ - Fix `id` prop forwarding to hidden input (#1862) by @atomiks
2124
+ - Avoid `:focus-visible` style appearing (#1846) by @atomiks
2125
+ - Fix `transitionStatus` mapping on `ItemIndicator` (#1925) by @atomiks
2126
+ - Better handle dynamic and non-string items (#1861) by @atomiks
2127
+ - Use `Select.ItemText` ref to grab default text content (#1943) by @atomiks
2128
+ - Add `collisionAvoidance` prop (#1849) by @atomiks
2129
+ - Use basic scroll lock on iOS
2130
+ (#1890) by @atomiks
2131
+
2132
+ ### Slider
2133
+
2134
+ - **Breaking change:** Drop `inputId` prop from Thumb.
2135
+ (#1914) by @mj12albert
2136
+ - Position thumb based on value instead of pointer location when dragging (#1750) by @DarthSim
2137
+ - Use `useRenderElement` (#1772) by @mj12albert
2138
+ - Add `inputRef` props (#1683) by @atomiks
2139
+ - Add `locale` prop (#1796) by @mj12albert
2140
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
2141
+ - set `data-dragging` on touchstart and pointerdown (#1874) by @mj12albert
2142
+ - Integrate range sliders with Form and Field (#1929) by @mj12albert
2143
+
2144
+ ### Toast
2145
+
2146
+ - **Breaking change:** Add `Portal` part.
2147
+ Place `<Toast.Viewport>` inside of `<Toast.Portal>`.
2148
+ (#1962) by @atomiks
2149
+ - **Breaking change:** Avoid removing limited toasts from the DOM.
2150
+ The `[data-limited]` styles in the demos were updated to handle limited toasts remaining in the DOM. They should now be a standalone style as `&[data-limited] { opacity: 0 }`.
2151
+ (#1953) by @atomiks
2152
+ - Fix swipe jump on iOS (#1785) by @atomiks
2153
+
2154
+ ### Toggle
2155
+
2156
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
2157
+
2158
+ ### Toolbar
2159
+
2160
+ - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
2161
+
2162
+ ### Tooltip
2163
+
2164
+ - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
2165
+ (#1782) by @atomiks
2166
+ - Fix function dependency handling (#1787) by @atomiks
2167
+ - Avoid prop getters when merging props (#1852) by @atomiks
2168
+ - Remove `trackCursorAxis` type from `Positioner` (#1895) by @atomiks
2169
+ - Apply `pointer-events: none` to `Positioner` when not hoverable (#1917) by @atomiks
2170
+ - Add `collisionAvoidance` prop (#1849) by @atomiks
2171
+
2172
+ ### useRender
2173
+
2174
+ - **Breaking change:** Performance/refactor: `useRender`. An object with a `renderElement` property is no longer returned; instead, the hook returns the element directly (`const element = useRender(...)`). The `refs` option was also renamed to `ref`.
2175
+ (#1934) by @romgrk
2176
+ - Skip most of useRenderElement logic when unnecessary (#1967) by @michaldudak
2177
+
2178
+ All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @DarthSim, @flaviendelangle, @Janpot, @JCQuintas, @michaldudak, @mj12albert, @oliviertassinari, @romgrk, @Yonava, @ZeeshanTamboli
2179
+
2180
+ ## v1.0.0-alpha.8
2181
+
2182
+ _Apr 17, 2025_
2183
+
2184
+ ### Accordion
2185
+
2186
+ - Recalculate panel dimensions on layout resize (#1704) @atomiks
2187
+ - Rework animations and transitions (#1601) @mj12albert
2188
+
2189
+ ### AlertDialog
2190
+
2191
+ - **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
2192
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2193
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2194
+ - Fix text selection & right-clicks (#1702) @mj12albert
2195
+
2196
+ ### CheckboxGroup
2197
+
2198
+ - Parent checkbox/nested demos (#1610) @atomiks
2199
+
2200
+ ### Collapsible
2201
+
2202
+ - Fix ForwardedRef type of CollapsiblePanel (#1595) @megos
2203
+ - Recalculate panel dimensions on layout resize (#1704) @atomiks
2204
+ - Rework animations and transitions (#1601) @mj12albert
2205
+
2206
+ ### Dialog
2207
+
2208
+ - **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
2209
+ - **Breaking change:** Add new `trap-focus` value to `modal` prop.
2210
+ Dialogs with `modal=false` no longer trap focus.
2211
+ (#1571) @atomiks
2212
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2213
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2214
+ - Fix text selection & right-clicks (#1702) @mj12albert
2215
+ - Allow document to slide input into view on iOS when keyboard opens (#1735) @atomiks
2216
+
2217
+ ### Field
2218
+
2219
+ - Fix forwarding of `name` and `disabled` props (#1616) @atomiks
2220
+
2221
+ ### Menu
2222
+
2223
+ - Add missing item data attributes docs (#1691) @atomiks
2224
+ - Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
2225
+ - Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698) @atomiks
2226
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2227
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2228
+ - Fix text selection & right-clicks (#1702) @mj12albert
2229
+
2230
+ ### Meter
2231
+
2232
+ - New Meter component (#1435) @mj12albert
2233
+
2234
+ ### NumberField
2235
+
2236
+ - Correct percentage parse handling (#1676) @atomiks
2237
+ - New `snapOnStep` prop (#1560) @atomiks
2238
+
2239
+ ### Popover
2240
+
2241
+ - **Breaking change:** Add new `trap-focus` value to `modal` prop (#1571) @atomiks
2242
+ - Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
2243
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2244
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2245
+ - Fix text selection & right-clicks (#1702) @mj12albert
2246
+
2247
+ ### Progress
2248
+
2249
+ - **Breaking change:** Add `Progress.Label` and `locale` prop.
2250
+ The `getAriaLabel` prop was removed as `Progress.Label` should be used to provide an accessible name.
2251
+ (#1666) @mj12albert
2252
+
2253
+ ### Radio
2254
+
2255
+ - Fix value forwarding and null handling (#1697) @atomiks
2256
+
2257
+ ### ScrollArea
2258
+
2259
+ - **Breaking change:** Add `Content` part.
2260
+ It is now required to include the `ScrollArea.Content` within `ScrollArea.Viewport` part when the content is horizontally scrollable.
2261
+ (#1607) @atomiks
2262
+ - Handle visibility change and nesting (#1598) @atomiks
2263
+ - Correct thumb sizing with scrollbar margins (#1606) @atomiks
2264
+
2265
+ ### Select
2266
+
2267
+ - **Breaking change:** Improve item highlight performance.
2268
+ The highlighted state is now removed. It's not possible to customize the `data-highlighted` attribute anymore.
2269
+ (#1570) @atomiks
2270
+ - Avoid double commit on value change (#1597) @atomiks
2271
+ - Reset `selectedIndex` when set to `null` (#1596) @atomiks
2272
+ - Add missing item data attributes docs (#1691) @atomiks
2273
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2274
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2275
+ - Fix text selection & right-clicks (#1702) @mj12albert
2276
+
2277
+ ### Slider
2278
+
2279
+ - Correct thumb positioning when control has padding (#1661) @mj12albert
2280
+ - Prevent range slider thumbs from being dragged past each other (#1612) @mj12albert
2281
+ - Fix incorrect CSS position on vertical slider indicator (#1599) @ZeeshanTamboli
2282
+ - Fix overlapping slider thumbs stuck at min or max (#1732) @mj12albert
2283
+
2284
+ ### Toast
2285
+
2286
+ - New Toast component (#1467) @atomiks
2287
+
2288
+ ### Tooltip
2289
+
2290
+ - Avoid re-rendering unrelated consumers (#1677) @atomiks
2291
+ - Add `disabled` prop (#1682) @atomiks
2292
+ - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
2293
+ - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
2294
+ - Fix text selection & right-clicks (#1702) @mj12albert
2295
+
2296
+ All contributors of this release in alphabetical order: @atomiks, @megos, @michaldudak, @mj12albert, @oliviertassinari, @sebinsua, @ZeeshanTamboli
2297
+
2298
+ ## v1.0.0-alpha.7
2299
+
2300
+ _Mar 20, 2025_
2301
+
2302
+ ### Accordion
2303
+
2304
+ - Fix `aria-labelledby` on accordion panel (#1544) @mj12albert
2305
+
2306
+ ### AlertDialog
2307
+
2308
+ - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
2309
+ - Fix non-interactive button disabled state (#1473) @mj12albert
2310
+ - `actionsRef` prop (#1236) @atomiks
2311
+
2312
+ ### Avatar
2313
+
2314
+ - Support cross origin in useImageLoadingStatus (#1433) @ISnackable
2315
+ - Add missing Avatar export (#1428) @Gomah
2316
+
2317
+ ### Collapsible
2318
+
2319
+ - Update props destructuring to fix Trigger disabled state (#1469) @huijiewei
2320
+
2321
+ ### Dialog
2322
+
2323
+ - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
2324
+ - Fix non-interactive button disabled state (#1473) @mj12albert
2325
+ - `actionsRef` prop (#1236) @atomiks
2326
+
2327
+ ### Field
2328
+
2329
+ - Fix `FieldControl` [data-filled] not reacting to external value changes (#1565) @atomiks
2330
+
2331
+ ### Menu
2332
+
2333
+ - Ensure submenu triggers respond to clicks when `openOnHover=false` (#1583) @atomiks
2334
+ - Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
2335
+ - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
2336
+ - Reset `hoverEnabled` state on close (#1461) @atomiks
2337
+ - Fix prop merging issues (#1445) @michaldudak
2338
+ - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
2339
+ - `actionsRef` prop (#1236) @atomiks
2340
+
2341
+ ### NumberField
2342
+
2343
+ - Fix ScrubArea on Safari (#1584) @atomiks
2344
+ - Fix `large/smallStep` getting stuck (#1578) @atomiks
2345
+ - Fix parse of numbers with spaces as thousands separators (#1577) @michaldudak
2346
+ - Prevent virtual cursor overlapping native one (#1491) @atomiks
2347
+ - Fix disabled state on increment/decrement buttons (#1462) @mj12albert
2348
+ - Correct virtual cursor rendering (#1484) @atomiks
2349
+ - Add `locale` prop (#1488) @atomiks
2350
+ - Improve virtual cursor perf (#1485) @atomiks
2351
+
2352
+ ### Popover
2353
+
2354
+ - Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
2355
+ - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
2356
+ - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
2357
+ - Fix non-interactive button disabled state (#1473) @mj12albert
2358
+ - `modal` prop (#1459) @atomiks
2359
+ - `actionsRef` prop (#1236) @atomiks
2360
+
2361
+ ### PreviewCard
2362
+
2363
+ - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
2364
+ - `actionsRef` prop (#1236) @atomiks
2365
+
2366
+ ### RadioGroup
2367
+
2368
+ - Fix `Form`/`Field` validation integration (#1448) @atomiks
2369
+ - Handle modifier keys (#1529) @mj12albert
2370
+
2371
+ ### Select
2372
+
2373
+ - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
2374
+ - Improve `ScrollArrow` behavior (#1564) @atomiks
2375
+ - Ensure switching controlled value to `null` updates `Select.Value` label (#1561) @atomiks
2376
+ - Pass `value` as second argument to function children `Select.Value` (#1562) @atomiks
2377
+ - Fix focus jump while hovering while navigating with keyboard (#1563) @atomiks
2378
+ - Fix disabled state changing (#1526) @mj12albert
2379
+ - `actionsRef` prop (#1236) @atomiks
2380
+
2381
+ ### Slider
2382
+
2383
+ - Fix thumb positioning when controlled value violates min/max/step (#1541) @mj12albert
2384
+ - Warn when `min` is not less than `max` (#1475) @mj12albert
2385
+ - Narrow the type of `value` in callbacks (#1241) @seloner
2386
+
2387
+ ### Tabs
2388
+
2389
+ - Fix keyboard navigation involving disabled Tabs (#1449) @mj12albert
2390
+ - Handle modifier keys (#1529) @mj12albert
2391
+
2392
+ ### Toolbar
2393
+
2394
+ - Add Toolbar components (#1349) @mj12albert
2395
+
2396
+ ### Tooltip
2397
+
2398
+ - `actionsRef` prop (#1236) @atomiks
2399
+ - Fix `Provider` `delay=0` not being respected (#1416) @atomiks
2400
+
2401
+ ### useRender
2402
+
2403
+ - Add public hook (#1418) @mnajdova
2404
+ - Refine docs and APIs (#1551) @atomiks
2405
+
2406
+ ### Docs
2407
+
2408
+ - Fix CSS issues (#1585) @atomiks
2409
+ - Clean up old experiments (#1572) @mj12albert
2410
+ - Fix SEO site name description (#1520) @oliviertassinari
2411
+ - Fix `actionsRef` propTypes (#1460) @atomiks
2412
+ - Tooltip guidelines (#1356) @atomiks
2413
+ - Update the release instructions (#1444) @michaldudak
2414
+ - Mention Progress.Value in API reference (#1429) @aarongarciah
2415
+ - Update release instructions (#1417) @michaldudak
2416
+
2417
+ ### Internal
2418
+
2419
+ - [code-infra] Polish VS Code DX (#1238) @oliviertassinari
2420
+ - [code-infra] Fix build:types not copying on some setups (#1482) @Janpot
2421
+ - [Composite] Derive sorted map state (#1489) @atomiks
2422
+ - Update release docs and scripts (#1245) @oliviertassinari
2423
+ - Export namespaces consistently (#1472) @michaldudak
2424
+ - Make `mergeReactProps` work with non-native event handlers (#1440) @michaldudak
2425
+ - Remove babel-plugin-istanbul (#1409) @michaldudak
2426
+ - Fix stylelint violations (#1422) @michaldudak
2427
+ - Misc cleaning (#1579) @atomiks
2428
+ - [mergeProps] Convert as a top level import and export publicly (#1535) @mnajdova
2429
+ - [test] Fix wrong env skip (#1490) @atomiks
2430
+ - [test] Fix PreviewCard test flake (#1487) @atomiks
2431
+ - [test] Extract common popup tests (#1358) @michaldudak
2432
+ - [test] Verify root exports (#1431) @michaldudak
2433
+ - [test] Fix flaky browser tests (#1371) @atomiks
2434
+ - [test] Update vitest to ^3 (#1453) @michaldudak
2435
+ - [test] Skip flaky FieldRoot tests in real browsers (#1446) @michaldudak
2436
+ - [useMergedRefs] Support ref cleanup functions (#1553) @atomiks
2437
+ - [utils] Change order of args in `mergeReactProps` (#1533) @mnajdova
2438
+
2439
+ ## v1.0.0-alpha.6
2440
+
2441
+ _Feb 6, 2025_
2442
+
2443
+ ### AlertDialog
2444
+
2445
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2446
+ - Fix jump with `scroll-behavior` style (#1343) @atomiks
2447
+
2448
+ ### Avatar
2449
+
2450
+ - Add Avatar component (#1210) @acomanescu
2451
+
2452
+ ### Checkbox
2453
+
2454
+ - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
2455
+
2456
+ ### Dialog
2457
+
2458
+ - Remove `modal={open}` state (#1352) @atomiks
2459
+ - Support multiple non-nested modal backdrops (#1327) @atomiks
2460
+ - Fix missing `id`s on Title and Description (#1326) @mj12albert
2461
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2462
+ - Fix jump with `scroll-behavior` style (#1343) @atomiks
2463
+
2464
+ ### Field
2465
+
2466
+ - Respect `validationMode` (#1053) @atomiks
2467
+ - Add `filled` and `focused` style hooks (#1341) @atomiks
2468
+
2469
+ ### Form
2470
+
2471
+ - Fix focusing of invalid field controls on errors prop change (#1364) @atomiks
2472
+
2473
+ ### Menu
2474
+
2475
+ - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
2476
+ - Support submenus with `openOnHover` prop (#1338) @atomiks
2477
+ - Fix iPad detection when applying scroll lock (#1342) @mj12albert
2478
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2479
+ - Fix jump with `scroll-behavior` style (#1343) @atomiks
2480
+ - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
2481
+ - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
2482
+
2483
+ ### Popover
2484
+
2485
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2486
+ - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
2487
+ - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
2488
+
2489
+ ### PreviewCard
2490
+
2491
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2492
+ - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
2493
+ - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
2494
+
2495
+ ### Progress
2496
+
2497
+ - Add `format` prop and `Value` component (#1355) @mj12albert
2498
+
2499
+ ### Radio
2500
+
2501
+ - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
2502
+
2503
+ ### Select
2504
+
2505
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2506
+ - Fix jump with `scroll-behavior` style (#1343) @atomiks
2507
+ - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
2508
+ - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
2509
+
2510
+ ### Slider
2511
+
2512
+ - Fix thumb positioning (#1411) @mj12albert
2513
+
2514
+ ### Tabs
2515
+
2516
+ - Fix being able to activate a disabled tab (#1359) @michaldudak
2517
+ - Fix tabs activating incorrectly on non-primary button clicks (#1318) @mj12albert
2518
+
2519
+ ### Tooltip
2520
+
2521
+ - `onOpenChangeComplete` prop (#1305) @atomiks
2522
+ - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
2523
+ - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
2524
+
2525
+ ## v1.0.0-alpha.5
2526
+
2527
+ _Jan 10, 2025_
2528
+
2529
+ ### AlertDialog
2530
+
2531
+ - **Breaking change:** Require `Portal` part.
2532
+ The AlertDialog must explicitly include the Portal part wrapping the Popup.
2533
+ The `keepMounted` prop was removed from the Popup.
2534
+ It's only present on the Portal part.
2535
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2536
+ - Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
2537
+ - Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
2538
+ - Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
2539
+ - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
2540
+ - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
2541
+
2542
+ ### Dialog
2543
+
2544
+ - **Breaking change:** Require `Portal` part.
2545
+ The Dialog must explicitly include the Portal part wrapping the Popup.
2546
+ The `keepMounted` prop was removed from the Popup.
2547
+ It's only present on the Portal part.
2548
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2549
+ - Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
2550
+ - Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
2551
+ - Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
2552
+ - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
2553
+ - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
2554
+
2555
+ ### Menu
2556
+
2557
+ - **Breaking change:** Require `Portal` part.
2558
+ The Menu must explicitly include the Portal part wrapping the Positioner.
2559
+ The `keepMounted` prop was removed from the Positioner.
2560
+ It's only present on the Portal part.
2561
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2562
+ - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
2563
+ - Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
2564
+ - Fix `openOnHover` issues [#1191](https://github.com/mui/base-ui/pull/1191) @atomiks
2565
+ - Fix closing the menu when clicking on checkboxitem/radioitem [#1301](https://github.com/mui/base-ui/pull/1301) @michaldudak
2566
+ - Fix Enter key preventDefault when rendering links [#1251](https://github.com/mui/base-ui/pull/1251) @mj12albert
2567
+ - Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
2568
+ - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
2569
+ - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
2570
+
2571
+ ### NumberField
2572
+
2573
+ - Correctly handle quick touches [#1294](https://github.com/mui/base-ui/pull/1294) @atomiks
2574
+
2575
+ ### Popover
2576
+
2577
+ - **Breaking change:** Require `Portal` part.
2578
+ The Popover must explicitly include the Portal part wrapping the Positioner.
2579
+ The `keepMounted` prop was removed from the Positioner.
2580
+ It's only present on the Portal part.
2581
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2582
+ - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
2583
+ - Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova
2584
+
2585
+ ### PreviewCard
2586
+
2587
+ - **Breaking change:** Require `Portal` part.
2588
+ The PreviewCard must explicitly include the Portal part wrapping the Positioner.
2589
+ The `keepMounted` prop was removed from the Positioner.
2590
+ It's only present on the Portal part.
2591
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2592
+ - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
2593
+ - Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks
2594
+
2595
+ ### Progress
2596
+
2597
+ - Set zero width when value is zero [#1204](https://github.com/mui/base-ui/pull/1204) @mj12albert
2598
+
2599
+ ### ScrollArea
2600
+
2601
+ - Differentiate `x`/`y` orientation `data-scrolling` [#1188](https://github.com/mui/base-ui/pull/1188) @atomiks
2602
+ - Read `DirectionProvider` and use logical positioning CSS props [#1194](https://github.com/mui/base-ui/pull/1194) @mj12albert
2603
+
2604
+ ### Select
2605
+
2606
+ - **Breaking change:** Require `Portal` part.
2607
+ The Select must explicitly include the Portal part wrapping the Positioner.
2608
+ The `keepMounted` prop was removed from the Positioner.
2609
+ It's only present on the Portal part.
2610
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2611
+ - Allow `id` to be passed to trigger [#1174](https://github.com/mui/base-ui/pull/1174) @atomiks
2612
+ - Fallback to standard positioning when pinch-zoomed in Safari [#1139](https://github.com/mui/base-ui/pull/1139) @atomiks
2613
+ - Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
2614
+ - Fix highlight flash on Safari [#1233](https://github.com/mui/base-ui/pull/1233) @atomiks
2615
+ - Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
2616
+ - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
2617
+
2618
+ ### Separator
2619
+
2620
+ - Support vertical orientation [#1304](https://github.com/mui/base-ui/pull/1304) @mj12albert
2621
+
2622
+ ### Slider
2623
+
2624
+ - Ensure `onValueCommitted` is called with the same value as latest `onValueChange` [#1296](https://github.com/mui/base-ui/pull/1296) @mj12albert
2625
+ - Replace internal map with `Composite` metadata [#1082](https://github.com/mui/base-ui/pull/1082) @mj12albert
2626
+ - Set `position: relative` on range slider indicator [#1175](https://github.com/mui/base-ui/pull/1175) @mj12albert
2627
+ - Use un-rounded values to position thumbs [#1219](https://github.com/mui/base-ui/pull/1219) @mj12albert
2628
+
2629
+ ### Tabs
2630
+
2631
+ - Expose width/height state in tabs indicator [#1288](https://github.com/mui/base-ui/pull/1288) @aarongarciah
2632
+
2633
+ ### Tooltip
2634
+
2635
+ - **Breaking change:** Require `Portal` part.
2636
+ The Tooltip must explicitly include the Portal part wrapping the Positioner.
2637
+ The `keepMounted` prop was removed from the Positioner.
2638
+ It's only present on the Portal part.
2639
+ [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2640
+ - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
2641
+ - Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova
2642
+ - Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks
2643
+
2644
+ ## v1.0.0-alpha.4
2645
+
2646
+ _Dec 17, 2024_
2647
+
2648
+ Public alpha launch 🐣 Merry Xmas! 🎁